UART(异步串口通信)裸板编程

一、先弄懂几个概念:

1、通信协议(通信规程)是指通信双方约定的一些规则。

比如UART,在使用异步通信传送一个字符的信息时,对资料格式有如下规定:有空闲位、起始位、数据位、奇偶校验位、停止位。

2、数据帧:所谓数据帧(Data frame),就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;

比如UART中,起始位就是帧头,帧尾就是奇偶校验位和停止位。

3、cmos门和TTL门的区别

TTL电平标准 
输出 L: <0.8V ; H>2.4V。 
输入 L: <1.2V ; H>2.0V 
TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1

CMOS电平: 
输出 L: <0.1*Vcc ; H>0.9*Vcc。 
输入 L: <0.3*Vcc ; H>0.7*Vcc.

 

 

二、UART的传输格式

异步通信是以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,但在同一个字符中的两个相邻位代码间的时间间隔是固定的。数据格式如下图1.

 

1

数据传输格式一般为一位起始位、数据位长可以是5678位这里一般用8位数据位,一位奇偶校验位(可以不需要检验)、停止位长可以是11.52位。

数据帧传输是可编程的。

UART包括数据接收、数据发送、中断发生器、波特率发生器、回还模式、红外模式、自动控制模式组成。

 

三、硬件电路设计

由于RS232-C标准电路定义的高低电平信号与S3C6410系统的LVTTL电路定义的高低电平信号完全不同。RS232-C标准采用的是负逻辑方式,即标准逻辑“1”对应 -5 ~ -15V电平,标准逻辑“0”对应 5 ~ 15VLVTTL的标准逻辑“1”对应 2 ~ -3.3V电平,标准逻辑“0”对应 0 ~ 0.4V,所以这里要采用电平转换芯片进行电平转换。

硬件电路如图2,这里是用了一个电压泵(SP232E)进行转换,对电压进行了升压操作,电容在这里起充放电的作用。对于试验使用UART只需要选用三根线分别是RXDTXDGND

 

2

 

四、软件部分

软件部分就是对相应的控制器进行操作。查看原理图和sheetdata得到的信息,如下图

 

 

 

 

 

 

每一帧都是可编程的,

你可能感兴趣的:(UART(异步串口通信)裸板编程)