FIFO是什么? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
FIFO的软件机制实现,根据RAM的容量大小及FIFO所需的空间,在RAM中开设一片缓冲空间. 设定一个FI地址指针,和一个FO的地址指针,再设定一个数据量的计数存储器.如果需要FI时,只需要将数据存入设定的地址单元,然后将计数存储器和FI地址指针加1即可.当需要FO时,只要检测到计数存储器的内容不为0,说明缓冲器内有数据需要送出.则将缓冲器的内容取出,再将FO的地址指针加一,并将计数寄存器的内容减一即可.
FIFO有什么作用呢, 利用FIFO有时可以实现快速处理.提高控制的速度.比如,我们SPI,IIC或者UART将采集的一组数据送出去,但是这些数据传送都是需要一定时间的,有时为了不耽误数据采集的时间,就可以采集的数据直接先连续的存放在缓冲区内.数据的发送交给另外一个任务去处理.这样就不会耽误数据采集任务的时间来等待每个字节的发送完毕了.
下...
>> 阅读全文