论坛» 嵌入式开发» FPGA

如何清除接受FIFO中的数据?

菜鸟
2013-09-18 16:48 1楼

最近在F28035最小系统板子上开发一个DA卡系统,一块板子发送数据,另一块板子接收数据,需要通过发送和接收FIFO收发数据,接受和发送FIFO都能存放4个字节的数据,所以我的设计的是接收FIFO每接收到4个字节数据就产生一个接收中断读取FIFO中的数据。

但是这样的话会有缺陷,如果发送数据和接收数据都在不间断进行,数据收发都不会产生错误,如果中断,比如信号传输线断开又连接上,这时候数据接收就会错误,我的解决方法是每当发送一个数据块(4个字节)时,就对接收FIFO进行清空,这样就不会因数据接收错位而错误接收数据了,问题出来了,如何有效的清空FIFO??有大侠懂不,望不吝赐教

高工
2013-09-21 22:40 2楼
这个需要看一份SCI的文档 TMS320x2802x, 2803x Piccolo Serial Communications Interface (SCI) RG,里面有接收发送寄存器,fifo缓冲清空的设置位,看看就清楚了
助工
2013-09-24 06:44 3楼
队头和队尾指针重合
助工
2013-09-25 06:36 4楼
一语中的
助工
2013-09-26 07:03 5楼
哈哈
助工
2013-09-27 06:48 6楼
FIFO是一个寄存器,没有什么指针啊
菜鸟
2013-09-30 07:04 7楼
不管内容,只动指针
菜鸟
2013-10-08 07:18 8楼
对接收FIFO清空”,手册上明确说明使用读的办法。

占了几个FIFO也可以知道。
菜鸟
2013-10-15 06:57 9楼
楼主应该使用全双工功能,我觉得这样更好,

不管你指的是SCI还是SPI,都可以这样使用。
菜鸟
2013-10-16 06:49 10楼
全双工功能
共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]