CH32V307使用480Mbps高速USB作为设备,开启EP1OUT端点的ISO同步接收模式,现在每个微帧传输数据量大于1024字节,需要每个微帧发包2次,需要用到双缓冲保证有足够的的时间取回数据。手册里面ISO传输双缓冲区没有看明白,希望给予更详细的解释。最好给一下使用方法。
热门产品 :
CH390:以太网控制器芯片
CH32V307使用480Mbps高速USB作为设备,开启EP1OUT端点的ISO同步接收模式,现在每个微帧传输数据量大于1024字节,需要每个微帧发包2次,需要用到双缓冲保证有足够的的时间取回数据。手册里面ISO传输双缓冲区没有看明白,希望给予更详细的解释。最好给一下使用方法。
双缓冲的可以通过两种方式实现:
一种是通过硬件的双缓冲即收发数据均通过两个独立的缓冲区实现,配置方式如下所示(摘自CH32FV2x_V3xRM.PDF):
第二种方式是通过DMA半偏中断实现,当产生半偏中断时切换收发缓冲区,从而实现双缓冲。
你说的这个是12M的全速USB的配置。我用的是480M的高速USB,不过还是谢谢你的回答。项目暂且搁置了,后面有时间在研究这个双缓冲。