CH569端点模式配置

我目前有以下问题:

  1. 文档中所说的单缓冲和双缓冲是什么意思?我用端点1进行数据的发送和接收,是使用单缓冲吗?


  2. CH569中的端点模式寄存器是如何配置成同步传输模式的?是将RB_UEP1_BUF_MOD字段设置为0,发送使能和接收使能同时设置为1,这样子就能实现端点1单缓冲的同步传输吗?


  3. 如果我用端点1进行同步传输,端点控制寄存器中的字段该如何设置?以端点1发送控制寄存器为例,RB_UEP_T_AUTOTOG字段在同步传输设置为0,RB_UEP_TRES_NO设置为1,剩下的RB_UEP_T_TOG_MASK和RB_UEP_TRES_MASK该如何配置?最好能解释下原因!


????以上都是关于USB2.0的





还有就是USB设备的发送事务函数有示例吗?我目前在CH569的EVT中未找到,有的话,麻烦指明一下;没有的话,请给出相关开发资料以供参考



捕获.PNG我在USB30那个例程中看到这个,请问按照16个字节对齐是什么原因?



您好。您留个邮箱,我们这边发个同步传输的例程给您。


这是我的邮箱:个人信息保护,已隐藏


已发送相关代码。


回复3#问题,单纯硬件设计DMA地址对齐要求,没什么特殊原因,遵守就好了


null


2.PNG

请问第一个部分中的地址是固定的是吗?所有的标准请求包从主机发送到设备都是到这个地址上是吧?

第二个部分中对端点0的控制寄存器部分设置是怎么依据的?这里为何也对接收控制寄存器也设置了


3.PNG

这里第一个是发送0字节的DATA1的IN事务包,第二个是发送0字节的OUT事务包。

以上我的理解有问题吗?

没问题的话,那请问配置描述如果正好发送完毕,即get_config_status=0时,按照USB2.0协议,不是应该再发送一个0字节的IN数据包暗示配置描述符传输完成,那这个数据包传输是在哪里?没看懂







学习芯片通用控制传输、IN事务、OUT事务传输实现,请参考CH569EVT中CH372DEVICE示例程序。

前述关于“同步传输”相关内容以及邮件中发送工程,仅关注其对同步端点的配置即可。请勿过多纠结其其余功能实现。


请问能解释下这个代码吗?没太看明白这些设置



5.PNG


我想问一下这里对端点1控制相关寄存器的复位为何是0xffff0000

我直接用0复位不行是吗?image.png


6.PNG请问这里与0xffff0000做与运算是为何?这里的操作端点1控制模块复位吗?


对了,还有个问题就是:除了端点0,端点接收最大长度包寄存器不能设置成1024吗?我看都是设置成512


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