关于CH32V307中的以太网收发器(ETH)发送缓冲区的疑问

搜狗截图22年10月10日1705_1.jpg

 针对图片中红框中的内容,特提出以下问题:

  1、请问当TCH标志位未置位时,如何理解“TDes3 用以表示用于第二个发送缓冲区的地址”? 

  2、难道是在同一个发送描述符内可以允许发送分别位于两个不同地址的数据块内的数据?

  3、如果是可以发送两个数据块内的数据,那么这两个数据块的发送顺序是什么呢?

  4、两个数据块的发送间隔时间又该如何确定呢?

您好,TCH位为下一描述符地址有效指示位:

该位置位时TDes3表示的是下一个描述符的地址;

emobile_2022-10-11_14-40-34.png

该位未置位时TDes3表示的是缓冲区2的地址。

emobile_2022-10-11_14-40-59.png


图片中的红框中的文字已经明确指明了2楼图片中的意思了。我想问的是缓冲区2中的数据是如何被发送出去的,同一个发送描述符内可以允许发送分别位于两个不同地址的数据块内的数据?请继续解答一下我的问题2至问题4中所提到的疑问。谢谢!


继续等待此问题的答案。厂家的技术人员可否给出关于此问题的更详尽的解答呢?


您好,针对您的问题:

image.png

您可以先看这个图,根据寄存器的说明,image.png

会先检测这个TCH,如果TCH是0,那么就是环结构,针对那种数据大于1K的内容,此时数据就会在缓冲区1无法塞下的情况下放入缓冲区2。发送顺序就是缓冲区1-2,时间间隔可以忽略不计。


多谢5楼的回答,解开了不少的疑惑!

请继续看下图,其中每个缓冲区的长度可以达到13位,也即单个发送缓冲区的最大长度可达8192字节,则两个发送缓冲区的长度加在一起,最大可发送16384字节的数据,不知这样的理解是否正确呢?

微信截图_20221014153419.png


只有登录才能回复,可以选择微信账号登录