文件名称:发送有效/无效的状态机-史上最直白的ica教程
文件大小:5.26MB
文件格式:PDF
更新时间:2024-06-23 16:19:29
LPC23XX 中文资料
广州周立功单片机发展有限公司 第11章 以太网控制器 LPC23xx 用户手册 ©2008 Guangzhou ZLGMCU Development CO., LTD 166 ACTIVE TxStatus = 1 INACTIVE TxStatus = 0 TxEnable = 1 并且 TxProduceIndex <> TxConsumeIndex TxEnable = 0 并且没有忙于发送 或 TxProduceIndex = TxConsumeIndex 复位 xxxxxxxxxxxxxxxxxxxxxx 图 11.10 发送有效/无效的状态机 复位之后,状态机进入 INACTIVE 状态。一旦命令寄存器中的 TxEnable 位置位并且 Produce 和 Consume 索引不相等,状态机就立即转换到 ACTIVE 状态。当 TxEnable 位清零 并且发送通道完成了所有挂起的发送操作包括将发送状态提交给存储器,状态机立即返回 INACTIVE 状态。如果 Produce 和 Consume 索引再次相等,即发送完所有帧,状态机也将返 回 INACTIVE 状态。 对于如图 11.10 所示的状态机来说,软复位与硬复位一样有效,即一次软复位之后,发 送通道将进入 INACTIVE 状态直到重新使能。 11.16.14 发送填充和CRC 在一帧信息小于 60 字节(对于 LVAN 帧来说是小于 64 字节)的情况下,以太网模块 可以将该帧填充到 64 或 68 字节,包括 4 字节 CRC 帧校验序列(FCS)。填充功能受到 MAC2 配置寄存器中的“AUTO DETECT PAD ENABLE”(ADPEN)、“VLAN PAD ENABLE”(VLPEN) 和“PAD/CRC ENABLE”(PADEN)位以及发送描述符控制字中的 Override 和 Pad 位的影响。 CRC 的产生受到 MAC2 配置寄存器中的“CRC ENABLE”和“DELAYED CRC”(DCRC) 位以及发送描述符控制字中的 Override 和 CRC 位的影响。 如果描述符中的 Override 位为 0,则有效的填充使能(EPADEN)与 MAC2 配置寄存器 中的“PAD/CRC ENABLE”位是等同的。如果 Override 位为 1,则 EPADEN 将从描述符的 Pad 位获得。同样,如果 Override 位为 0,则有效的 CRC 使能(ECRCE)与 CRCE 是等同 的。否则它等同于描述符的 CRC 位。 如果必须使用填充功能并且它也是使能的,则被填充的帧信息上将始终添加 CRC。而 对于没有填充的帧,只有当 ECRCE 置位时才添加 CRC。 如果 EPADEN 为 0,则不对短帧进行填充,此时也不添加 CRC,除非 ECRCE 置位。 如果 EPADEN 为 1,则要对短帧进行填充并始终在被填充的帧信息上添加 CRC。如果 ADPEN 和 VLPEN 均为 0,则将短帧填充到 60 字节,并添加一个 CRC 得到 64 字节的帧。 如果 VLPEN 为 1,则将短帧填充到 64 字节,并添加一个 CRC 得到 68 字节的帧。如果ADPEN 为 1,而 VLPEN 为 0,则将 VLEN 帧填充到 64 字节,非 VLEN 帧填充到 60 字节,并在被 填充的帧上添加 CRC,分别产生 64 和 68 字节的填充帧。 如果“生成 CRC”使能,则为了跳过特定的帧头信息,CRC 的生成可通过置位 MAC2