UART(Universal Asynchronous Receiver/Transmitter)即通用异步收发传送器,工作于数据链路层,包含了RS-232、RS-422、RS-485串口通信。它具有传输线少、成本低和可靠性高等优点。广泛应用于通信领域、医疗及消费电子领域、汽车电子领域和工业及数据处理领域等。
Actel公司免费提供两种形式的UART IP核:CoreUART和CoreUARTapb。CoreUART使用普通的总线形式,用户可以很方便的将它和其它模块进行连接;CoreUARTapb是基于APB总线形式的,它的好处是可以连接到Core8051或者是CortexM1处理器上,方便用户进行SOC设计,本文将主要介绍基于Actel FPGA的 IP─CoreUARTapb,其内部的设计原理与CoreUART是一样的,区别仅在于接口部分。
CoreUARTapb介绍
(1) UART协议简介
UART协议的工作原理是将传输数据的每个字符按比特位进行传输,之所以称它为异步的,是因为在传输数据时,不需要同时传送时钟。图1给出了它的工作模式。
此主题相关图片如下02.jpg:
图1 UART串行数据传输的格式
其中各位的意义如下:
● 起始位:发出低电平“0”的信号,表示传输字符的开始。
● 数据位:紧接着起始位之后是数据位,数据的个数可以是5、6、7、8等,构成一个字符,通常采用ASCII码,从最低位开始传送。
● 奇偶校验位:根据数据位“1”的个数确定为偶数(偶校验)或奇数(奇校验),以此位来校验数据的正确性。
● 停止位:它是1位的字符数据结束标志,可以是1位、1.5位、2位的高电平。
● 空闲位:处于逻辑“1”状态,表示当前线路上没有数据传输。
● 波特率:衡量数据传送的速率,表示每秒钟传送二进制的位数。
|