S5PV210串行通信接口详解2

FIFO模式及其作用:

(1)典型的串口设计,发送/接收缓冲区只有1个字节,每次发送/接收只能是处理1帧数据。这样在单片机中没啥问题,但是到复杂的soc中(一般有操作系统的)就会有问题,会导致效率低下,因为CPU需要不断的切换shan上下文。

(2)解决方案就是扩大发送和接收的缓冲区,譬如把发送和接收缓冲器设置为64字节。CPU一次给发送缓冲区64字节的待发送数据,然后transmitter慢慢发,发完再找CPU再要64字节。但是串口控制器本来的发送/接收缓冲区里面只有1个字节,变相加一个拓展,就是FIFO。

FIFO是frist in frist out,是一种数据结构,这里这个大的缓冲区叫FIFO是因为这个缓冲区的工作方式类似于FIFO这种数据结构。

DMA模式及其作用:

(1)DMA direct memory access,直接访问。DMA本来是DSP中的一种技术,DMA技术的核心就是在交换数据时不需要CPU参与,模块自己完成。

(2)DMA模式要解决的问题和上面的FIFO模式是同样的,就是串口发送/接收要频繁的需要CPU处理,造成CPU反复切换上下文导致系统效率低下。

(3)传统的串口工作方式(无FIFO无DMA)效率是最低的,适合低端单片机;高端单片机上CPU事务繁忙所以都需要串口能够完成大量数据收发。这时候需要FIFO或者DMA模式。FIFO模式是一种轻量级的解决方案,DMA模式适合大量数据迸发方式的发送/接收

IrDA模式及其用法

(1)IrDA其实就是红外,红外就是红外线通信(电视机、空调遥控器就是红外通信的)

(2)红外通信的原理是发送方固定间隔时间向接收方发送红外信号(表示1或者0)或者不发送红外信号(表示1或者0),接收方每隔固定的时间去判断有无红外信号来接收1和0

(3)分析可知,红外通信和串口通信非常像,都是每隔固定的时间发送1或者0(判断1或0的物理方式不同)给接收方来通信。因此210就利用串口通信来实现红外收发

(4)210某个串口才支持红外模式,我们只需要向串口写数据,这些数据就会以红外光的方式向外发射出去,然后接收方接收这些红外数据可解码得到我们得发送信息。

猜你喜欢

转载自blog.csdn.net/weixin_40405692/article/details/81325289