[嵌入式]S5PV210通信接口

S5PV210通信接口

一.UART接口

1. UART接口概念

数据通信的基本方式可分为并行通信与串行通信两种。

并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求通讯速率较高的应用场合。

串行通信:是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。

异步串行通信概念

异步通信以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,然而在同一个字符中的两个相邻位代码间的时间间隔是固定的。

通信协议(通信规程):是指通信双方约定的一些规则。在使用异步串口传送一个字符的信息时,对资料格式有如下约定:规定有空闲位、起始位、资料位、奇偶校验位、停止位。

异步通信的时序


1)起始位:先发出一个逻辑”0”信号,表示传输字符的开始。

2)资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。

3)奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。

4)停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。

5)空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。

波特率

波特率是衡量资料传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200位/秒=1200波特。

注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的)。

2. RS-232C串行接口标准

根据资料传送方向的不同有以下三种方式:单工方式半双工方式和全双工方式


RS-232接口标准

串行接口标准:指的是计算机或终端(资料终端设备DTE)的串行接口电路与调制解调器MODEM等(数据通信设备DCE)之间的连接标准。

目前常用的串行通信接口标准是RS-232C标准。(P193)

3. S5PV210芯片的异步串行通信

S5PV210中的异步串行通信模块提供4独立的异步串行输入/输出端口。

    每一个UART包含一个波特率发生器、一个发射机、一个接收机和一个控制单元。波特率发生器使用PCLK或SCLK_UART,发射机和接收机包含FIFOs和数据移位寄存器,要发送的数据被写进Tx FIFO,然后被复制到发送移位寄存器中,最后数据通过发送管脚(TxDn)被移位出去。接收数据时,数据通过RxDn管脚移位进入接收移位寄存器,然后将接收移位寄存器中的数据复制到Rx FIFO中。

    UART操作包括数据发送、数据接收、中断产生等。S5PV210芯片的UART机制支持波特率发生器、循环往复模式,红外模式和自动流控制等。

4. S5PV210芯片的UART寄存器

S5PV210进行UART通信涉及的寄存器有:引脚配置寄存器、UART线控寄存器、UART控制寄存器、FIFO寄存器等。(P197)

UART实例(P203)。实验指导书(P86)

二.SPI接口

三.I2C接口

1. I2C总线工作原理

1)        I2C总线硬件结构

I2C总线允许若干兼容器件(如存储器、A/D和D/A转换器、串行IO扩展以及LED和LCD驱动器等)共享总线。I2C串行总线有两根信号线:一根双向的数据线SDA;另一根是时钟线SCL。所有接到I2C总线上的设备的串行数据都接到总线的SDA线,各设备的时钟线SCL接到总线的SCL。I2C总线可以达到100kb/s的数据速率。

2)        设备与总线的接口电路


为了避免总线信号的混乱,要求各设备连接到总线的输出端必须是开漏输出或集电极开路输出的结构。

3)        数据线SDA与时钟线SCL

设备上的串行数据线SDA接口电路是双向的,输出电路用于向总线上发数据,输入电路用于接收总线上的数据。串行时钟线也是双向的,

作为控制总线数据传送的主机要通过SCL输出电路发送时钟信号,同时要检测总线上SCL上的电平以决定什么时候发下一个时钟脉冲电平;

作为接受主机命令的从机,要按总线上的SCL的信号发出或接收SDA上的信号,也可以向SCL线发出低电平信号以延长总线时钟信号周期

总线空闲时,因各设备都是开漏输出,上拉电阻RP使SDA和SCL线都保持高电平。任一设备输出的低电平都使相应的总线信号线变低,也就是说各设备的SDA是“与”关系,SCL也是“与”关系。

4)        I2C总线数据传输

总线的运行(数据传输)由主机控制。所谓主机即启动数据的传送(发出启动信号),发出时钟信号,传送结束时发出停止信号的设备,通常主机是微处理器。被主机寻访的设备都称为从机。为了进行通讯,每个接到I2C总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以是从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。

5)        同步化

I2C总线上允许连接多个微处理器及各种外围设备,如存储器、LED及LCD驱动器、A/D及D/A转换器等。为了保证数据可靠地传送,任一时刻总线只能有一台主机,在总线空闲时发启动数据。I2C总线允许连接不同传送速率的设备,多台设备之间时钟信号的同步过程称为同步化。

6)        开始和停止条件


在I2C总线传输过程中,将两种特定的况定义为开始和停止条件。

当SCL保持“高”,SDA由“高”变为“低”时为开始条件;

SCL保持“高”,SDA由“低”变为“高”是为停止条件。

开始和停止条件由主控器产生。使用硬件接口可以很容易地检测开始和停止条件,没有这种接口的微机必须以每时钟周期至少两次对SDA取样以使检测这种变化。

7)        数据状态改变

    SDA数据线上的数据在时钟SCL为“高”期间必须是稳定的,只有当SCL线上的时钟信号为低时,数据线上的“高”或“低”状态才可以改变。输出到SDA线上的每个字节必须是8位,每次传输的字节不受限制,每个字节必须有一个应答位ACK。

8)        应答信号


数据传送具有应答是必须的。与应答对应的时钟脉冲由主控器产生,发送器在应答期间必须下拉SDA线。当寻址的被控器件不能应答时,数据保持为高,接着主控器产生停止条件终止传输。

9)        传送时序

当SCL保持高电平时,若SDA信号线上有从高电平到低电平的变化,那么I2C总线数据传输就开始了。之后SCL线上出现的是时钟信号,SDA上出现数据。SDA上首先传输器件地址,在地址传输完毕后,接收方传送一个应答位到发送方。如果接收器件在完成其他功能(如一内部中断)前不能接收另一数据的完整字节时,它可以保持时钟线SCL为低,以促使发送器进入等待状态,当接收器准备好接受数据的其它字节并释放时钟SCL后,数据传输进行。最后以终止信号结束一次数据通信过程。

10)     数据传送格式

起始位

被控接收器地址

R/W

应答位

数据

应答位

、、、、

停止位

I2C总线在开始条件后的首字节决定哪个被控器将被主控器选择,例外的是“通用访问”地址,它可以寻址所有器件。当主控器输出一地址时,系统中的每一器件都将开始条件后的前七位地址和自己地址比较。如果相同,该器件认为自己被主控器寻址,而作为被控接收器或被控发送器则取决于R/W位。

2. S5PV210芯片的I2C总线接口

1)        S5PV210芯片支持4个多主机I2C总线串行接口。在多主机I2C总线模式下,多个S5PV210微处理器可与从属设备之间进行串行数据的接收和发送。S5PV210中的I2C总线使用标准的总线仲裁程序。

2)        S5PV210 I2C总线接口有四种操作模式,即:主机发送模式、主机接收模式、从机发送模式和从机接收模式

3)        任何I2C Tx/Rx操作之前都应先进行以下的步骤:

a)      如果需要,在I2CADD寄存器中写自己的从机地址。

b)      设置I2CCON寄存器,使能中断,定义SCL周期。

主机发送模式流程:                                                                        主机接收模式流程:

              

                   

I2C接口寄存器

多主机I2C总线控制寄存器——I2CCON

多主机I2C总线控制/状态寄存器——I2CSTAT

多主机I2C总线接收/发送(Rx/Tx)数据移位寄存器——I2CDS

多主机I2C总线地址寄存器——I2CADD

I2C总线编程实例(P229)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值