最近做课题,要把AD采集的数据存储在SRAM中。采集完成以后,SRAM芯片存满,再通过USB把数据传到上位机。
USB芯片采用南京沁恒的CH372。
sram的容量是256K*16BIT,USB上传一次是1024byte。所有要传4048次。。。。
现在纠结的问题是:CH372是设置成直接上传呢,还是缓冲上传?
直接上传的话,还需要单独用端口1写一个中断信号通知上位机读取端点2的数据。有点麻烦。。
缓冲上传的话可以自动接收,貌似方便一些,但是我不大看得懂关于缓冲上传的定义:(来自芯片手册)
如果启用内部缓冲上传模式,那么CH375驱动程序创建线程自动接收USB上传数据到内部缓冲区,同
时清除缓冲区中的已有数据,当应用程序调用CH375ReadData 后将立即返回缓冲区中的已有数据。
这样是不是说如果不及时取走缓冲区中的数据,之前的数据就会被后面的覆盖呢?
补充问一下:SRAM的地址线是18位,可以存256*1024个数据,跟芯片资料上的256K是一样的吗?地址计数是采用不同256K还是256*1024呢? |