温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ARM cortex a 的串口通信

发布时间:2020-07-17 05:27:44 来源:网络 阅读:654 作者:飞寞 栏目:开发技术

这次来深入学习一下ARM串口通信的相关知识。

以三星公司的S5PV210系列为原型,通用异步接收机和发射机(UART)S5PV210提供四个独立异步接口:串行输入/输出(I / O)端口。

所有的端口操作在一个基于中断或DMA的模式。UART通过生成一个中断或DMA请求在CPU和UART之间传输数据。

UART支持比特率3 mbps,每个UART通道包含两个fif来接收和传输数据:

在通道0的FIFO里可以存256字节,通道1的FIFO里可以存64字节,通道2和通道3的FIFO里可以存16字节。


UART包括可编程的波特率;红外(IR)发射器/接收器;一个或两个停止位插入;6位,7位或8位数据宽度和奇偶校验。

每个UART包含波特率发生器、发射机、接收机和一个控制单元,波特率的来源是PCLK或SCLK_UART。

发射机和接收机包含fifo和数据转换器(uart shifter)。

要传输的数据被写入Tx FIFO,并复制到数据转换器(uart shifter)。然后,数据被通过Tx发送走。接收到的数据从接收数据处(RxDn)被复制到Rx FIFO。


uart异步收发装置的特点:

RxD0、TxD0 RxD1、TxD1 RxD2,TxD2,RxD3和TxD3 是基于DMA或基于中断操作的。

在通道0的FIFO里可以存256字节,通道1的FIFO里可以存64字节,通道2和通道3的FIFO里可以存16字节。(上面提到了)

至于流控啥的我们就不需要了解了,现在流控基本上也不需要了。

并且S5PV210芯片的串口装置支持握手发射接收。


传输的数据帧是可编程的。它由一个起始位,五到八个数据位,一个可选则的奇偶校验位,一到两个停止位,这些东西由行控制位(ULCONn)来控制。

发送器也可以在一帧传输时间后产生一个中断迫使串口输出逻辑0状态。这个模块会在当前发送的数据完全发送完以后产生一个中断信号。

中断信号发送完之后,表示一帧数据已经成功发送了,发送器继续发送数据到Tx FIFO(Tx保持寄存器,以防Non-FIFO模式)


类似于数据发送,接收的数据帧也可编程。它由一个起始位,五到八个数据位,一个可选的校验位,一个两个停止位,由行控制寄存器(ULCONn)来控制。

接收方检测到溢出错误,奇偶校验错误,误帧和休息状态,这些错误每一个都设置一个错误标志。

->溢出错误表明,新数据覆盖旧数据之前旧的数据被读取。

->奇偶校验误差表明,接收机已经探测到一个不期望的奇偶校验结果。

->帧错误表明接收的数据没有一个有效的停止位。

->休息状态表明破坏条件表明RxDn处于逻辑0状态超过了一帧的传输时间。

如果数据没有在三个word接收的时间内被接收,则会产生收发超时。

在FIFO模式下,Rx FIFO不是空的。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI