基于三星 ARM Cortex-A9 Exynos4412处理器的底层实验(uart串口、adc)

【3】uart串口实验

【基本知识】

1.串口和并口
串口:一次只能传输1个bit,每个bit之间按顺序传输
并口:一次传输多个bit

2.单工、半双工、全双工
单工:数据只能固定向一个方向发送,不能双向传输
半双工:数据能够双向传输,但是在同一时刻内,只能有一个方向(收发不能同时进行)
全双工:数据在同一时刻能够同时双向传输

3.同步和异步
同步:接收方和发送方参考时钟是同一时钟
异步:接收方和发送方使用各自的参考时钟,各不相同

4.通讯协议
起始信号:用来区分空闲状态和数据发送状态(从空闲状态切换到工作状态)
数据位:发送实际有效数据(默认低位在前高位在后)
校验位:一般采用奇偶校验,用来保证传输数据的准确性
停止信号:结束数据传输,恢复到空闲状态.

5.底层接口类型
uart:有3根物理连线:
Tx:发送线
Rx:接收线
GND:地线
接线方法:接收方的Rx和发送方的Tx相连,接收方的Tx和发送方的Rx相连

SPI:由4根线组成
SCL:参考时钟线(同步通讯)
CS:片选线,用来从多个从设备中选择要通讯的从设备
MOSI:主设备输出,从设备输入(主发送从接收)
MISO:主设备输入,从设备输出(主接收从发送)

IIC:由2根线组成
SCL:参考时钟线(同步)
SDA:数据传输线,用来发送和接收数据(同一时刻数据传输只能有一个方向)

6.串口通讯协议
1)uart串口协议
起始位:Rx和Tx空闲状态为高电平,在Tx线上发送一个bit地电平表示起始信号
数据位:uart串口发送数据位数是可选的(5、6、7、8),最多一次传输数据位数不能超过8bit
校验位:针对传输数据使用奇偶校验,以确保数据传输过程中的有效性(可选)
结束位:在Tx上发送1-2个bit表示数据发送结束恢复到空闲状态中止数据

2)IIC串口协议
起始信号:SCL和SDA都处在高电平属于总线空闲状态,SCL处在高电平期间,SDA拉低
数据位:IIC发送器每次发送一个byte,然后在第9个周期释放总线(恢复高电平),等待接受方发送1位的ACK信号
ACK应答信号:IIC发送器发送完1个byte之后,在SCL的第9个周期到来之前(第8个周期的低电平期间)拉低SDA,在第9个周期到来的时候确保SDA稳定在低电平,此时才算是应答信号,如果是高电平则表示非应答,如果从设备发送非ACK则结束传输
数据发送:发送方在SCL处在低电平期间往SDA上放数据,当SCL处在高电平时候,接收方读取SDA上的数据(确保在SCL高电平期间SDA数据值处在稳定状态,方便接收方读取)
结束信号:SCL处在高电平,SDA拉高
数据位发送:SCL低电平的时候,向SDA上放置数据,接收方在SCL为高电平时去取数据
IIC协议采用的是1-N模式:一个主设备对应多个从设备,主设备通过发送从设备地址来选中要通讯的从设备
主从角色划分:根据设备硬件条件区分
同步时钟:SCL的时钟周期是由程序控制,也就是周期并不确定,在编写程序时,控制SCL时钟线,来发送数据
一般是写程序控制硬件电路实现数据实际传输

3)SPI串口协议
时钟极性(CPOL):SCL的空闲状态,为0表示空闲时候是低电平
时钟相位(CPHA):为0表示接收方在SCL第一次边沿变化的时候采集数据,在第二个边沿发送数据为1表示接收方在SCL第二次边沿变化的时候采集数据,在第一个边沿发送数据起始信号:通过CS片选线选中从设备结束信号:拉高CS,并且SCL处在空闲状态(和CPOL空闲设置一致)SCL上升沿发送数据

【uart串口通讯实验】
1.实验目的:通过编写实际代码实现uart串口通讯,进而掌握uart串口通讯协议
2.实验内容:查找原理图&#

你可能感兴趣的:(ARM,uart,adc,三星EXYnos4412,arm)