您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术基于USB2.0的高速无线数传接收设备的数据接收存储方法 正文
基于USB2.0的高速无线数传接收设备的数据接收存储方法

基于USB2.0的高速无线数传接收设备的数据接收存储方法

点击数:7384 次   录入时间:03-04 11:54:21   整理:http://www.55dianzi.com   DSP/FPGA技术

数据转存过程中的队列结构


       当以帧同步字打头的一帧数据以串行位流的形式到来时,FPGA产生的帧同步脉冲可以直接启动DSP同步串行口接收数据,该同步脉冲同时以中断方式通知DSP为一帧数据的接收做好准备。DSP接到通知后,首先检查外部SRAM中是否有足够的空间容纳一帧数据。如果没有空间,则丢弃当前数据帧(根据设计,这种情况是很少见的);如果有空间,则为当前数据帧保留足够的空间。接着在帧起始位置填写帧同步字,读取授时时钟的当前值并填写在帧同步字后。这样,一个新的数据帧(图4中数据帧F_N)就建立了,但是并没有加入到队列中,而是要等待来自同步串行口的后继数据嵌入该帧中后再加入到队列中。   

   &nbs p;   同步串行口的接收缓冲区在接收到若干字(由初始化时的设置决定)后,会向DSP提出中断请求。在中断服务程序中,DSP读取接收缓冲区中的内容,并将其填入上述新开辟的帧F_N中。在一帧数据接收完毕后,就将该帧添加到队列的尾部,表示该帧数据已经准备好(图4中数据帧F_R),可以通过ISP1581送给主机硬盘保存。   

       DSP在查询到队列中有已经准备好的数据帧存在时,就设置ISP1581的端点索引寄存器(Endpoint Index Register)使其指向初始化时配置的批传输输入端点,然后将队列首帧数据通过ISP1581的数据端口寄存器(Data Port Register)填写在端点缓冲区中。在端点缓冲区被填满后,它就自动生效。在不能填满端点缓冲区的情况下,可以通过设置控制功能寄存器(Control Function Register)的VENDP位[2]强制该端点缓冲区生效。端点缓冲区生效后,在 USB 总线上下一IN令牌到来时,该端点缓冲区中的数据就通过USB总线传输到主机中。主机成功接收到数据后,会给ISP1581以ACK应答。ISP1581在得到ACK应答后,能够通过INT引脚报告给DSP,DSP就可以继续往端点中填写该帧其余数据。   

       在队列首帧数据被成功转移到主机后,DSP就丢弃首帧数据。如果队列中还有数据帧,则将次首帧作为首帧,继续前述传输过程;如果没有要传输的数据帧,则为队列首帧指针Head_Ptr赋空值(NULL),等待新的数据帧的到来。   

       USB2.0是计算机外设接口技术发展的最新成果,具有广阔的应用前景。本文介绍了PHILIPS公司USB2.0接口芯片ISP1581在 无线 数传接收设备中的应用。ISP1581芯片与FPGA芯片、DSP芯片相互配合,实现了高性能、便携化的无线数传接收设备。其在靶场实弹试验中受到了用户的好评。


参考文献
1 Compaq, HP, Philips etc. Universal Serial Bus SpecifICation Revision 2.0. 2000
2 ISP1581 Hi-Speed USB Interface Device Data Sheet(Rev.5).Philips SEMIconductors, 2003 3 ISP1581 Programming Guide (Rev.3).Philips Semiconductors,2003
4 TMS320C20x User’s guide.TI Inc, 1999
5 张慧娟, 周利华,翟鸿鸣.Windows环境下的设备驱动程序设计.西安:西安电子科技大学出版社,2002
6 陈启美,丁传锁.计算机USB接口技术.南京:南京大学出版社, 2003

上一页  [1] [2] 


本文关键字:无线  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术