S5PV210串口通信接口-2

1、本来串口功能就是上节讲的部分,但是后来的技术发展给串口叠加了一些高级功能,在像210这类高级SOC的串口控制器中,都有这类高级功能。
2、FIFO模式及其作用
(1)、典型的串口设计,发送 / 接收缓冲区只有1个字节,每次发送 / 接收只有处理一帧数据。这样在单片机中设计没什么问题,但是到复杂SOC中(一般有操作系统)就会有问题,会导致效率低下,因为缓冲区太小CPU需要不断切换上下文。
(2)、解决方案就是想办法扩展串口控制器的发送 / 接收缓冲区,譬如将发送 / 接收缓冲区设置为64字节,CPU一次过来直接给发送缓冲区64字节的待发数据(后CPU可以空出时间去处理别的事),然后transmitter慢慢发,发完再找CPU再要64字节。但是串口控制器本来的发送 / 接收缓冲区是固定的1字节长度的,所以做了个变相的扩展,就是FIFO (就是一块内存地址可以拿来用)。
(3)、FIFO就是first in first out, 其实是一种数据结构,这里这个大的缓冲区叫FIFO是因为这个缓冲区的工作方式类似于FIFO这种(先进先出)数据结构。(FIFO是自动的,也就是只要CPU把数据放到FIFO中就可以了,接下来FIFO会自动把数据一字节一字节的转给串口控制器)
3、DMA模式及其作用
(1)、DMA direct memory access,直接内存访问。DMA本来是DSP(解决大量数据的加工,运算,处理)中的一种技术,DMA技术的核心就是在交换数据时不需要CPU参与,模块可以自己完成。
(2)、DMA(根本级解决问题方式)模式要解决的问题和上面FIFO(轻量级解决模式)模式是同一个问题,就是串口发送 / 接收要频繁的折腾CPU造成CPU反复切换上下文导致系统效率低下。
(3)、传统的串口工作方式(无FIFO无DMA)效率是最低的,适合低端单片机;高端单片机上CPU事物繁忙所以都需要串口能够自己完成大量数据发送 / 接收。这时候就需要FIFO或者DMA模式。FIFO模式是一轻量级的解决方案(因为只有几十个字节只是缓解作用),DMA模式适合大量数据迸发式的发送 / 接收时。DMA技术在别的地方也是解决大量数据问题的。
4、IrDA模式及其用法:
IrDA其实就是红外,红外就是红外线通信。
(2)、红外通信的原理是发送方固定间隔时间向接收方发送红外信号(表示1,或0)或者不发送红外信号表示(0或者1),接收方每隔固定时间去判断有无红外线信号来接收1和0(判断是1还是0)
(3)、分析可知,红外通信和串口通信非常像,都是每隔固定时间发送1或者0(判断1或者0的物理方式不同)给接收方来通信。因此210就利用串口通信来实现了红外发送和接收。
(4)、210的某个串口支持IrDA模式,开启红外模式后,我们只需要向串口写数据,这些数据就会以红外光的方式向外发送出去(当然需要外部硬件支持的也就是要在210外部引脚上接上相应的红外发射管),然后接收方接收这些红外数据即可解码得到我们的发送信息。通过串口实现红外模式。接收也一样。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值