文档详情

硬件接口必读

博****1
实名认证
店铺
DOC
2.12MB
约50页
文档ID:547014696
硬件接口必读_第1页
1/50

硬件接口汇总资料1 SPI 32 I²C 43 UART 84 USART 10主要特点: 10结构组成 115 RS-485 126 RS-232 131 SPISPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等  SPI总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为广泛的是SPI0和SPI3方式SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。

 SPI主模块和与之通信的外设音时钟相位和极性应该一致SPI时序详解---SPI接口在模式0下输出第一位数据的时刻SPI接口有四种不同的数据传输时序,取决于CPOL和CPHL这两位的组合图1中表现了这四种时序,时序与CPOL、CPHL的关系也可以从图中看出图1     CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样由于我使用的器件工作在模式0这种时序(CPOL=0,CPHA=0),所以将图1简化为图2,只关注模式0的时序图2   我们来关注SCK的第一个时钟周期,在时钟的前沿采样数据(上升沿,第一个时钟沿),在时钟的后沿输出数据(下降沿,第二个时钟沿)首先来看主器件,主器件的输出口(MOSI)输出的数据bit1,在时钟的前沿被从器件采样,那主器件是在何时刻输出bit1的呢?bit1的输出时刻实际上在SCK信号有效以前,比SCK的上升沿还要早半个时钟周期bit1的输出时刻与SSEL信号没有关系再来看从器件,主器件的输入口MISO同样是在时钟的前沿采样从器件输出的bit1的,那从器件又是在何时刻输出bit1的呢。

从器件是在SSEL信号有效后,立即输出bit1,尽管此时SCK信号还没有起效从这张图就可以很清楚的看出主从器件的bit1是怎样输出的2 I²C图11-1给出一个由MCU作为主机,通过IIC总线带3个从机的单主机IIC总线系统这是最常用、最典型的IIC总线连接方式物理结构上,IIC系统由一条串行数据线SDA和一条串行时钟线SCL组成主机按一定的通信协议向从机寻址和进行信息 传输在数据传输时,由主机初始化一次数据传输,主机使数据在SDA线上传输的同时还通过SCL线传输时钟信息传输的对象和方向以及信息传输的开始和终 止均由主机决定每个器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD驱动器)或者可以接收也可以发送的器件(例如:存储器)发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址1.总线上数据的有效性 IIC总线是以串行方式传输数据,从数据字节的最高位开始传送,每一个数据位在SCL上都有一个时钟脉冲相对应在时钟线高电平期间数据线上必须保持稳定 的逻辑电平状态,高电平为数据1,低电平为数据0只有在时钟线为低电平时,才允许数据线上的电平状态变化,如图11-2所示。

2.总线上的信号IIC总线在传送数据过程中共有四种类型信号,它们分别是:开始信号、停止信号、重新开始信号和应答信号开始信号(START):如图11-3所示,当SCL为高电平时,SDA由高电平向低电平跳变,产生开始信号当总线空闲的时候,例如,没有主动设备在使用总线(SDA和SCL都处于高电平),主机通过发送开始(START)信号建立通信停止信号(STOP):如图11-3所示,当SCL为高电平时,SDA由低电平向高电平跳变,产生停止信号主机通过发送停止信号,结束数据通信重新开始信号(Repeated START):在IIC总线上,由主机发送一个开始信号启动一次通信后,在首次发送停止信号之前,主机通过发送重新开始信号,可以转换与当前从机的通信模 式,或是切换到与另一个从机通信如图11-3所示,当SCL为高电平时,SDA由高电平向低电平跳变,产生重新开始信号,它的本质就是一个开始信号应答信号(A):接收数据的IC在接收到8位数据后,向发送数据的IC发出的特定的低电平脉冲每一个数据字节后面都要 跟一位应答信号,表示已收到数据应答信号在第9个时钟周期出现,这时发送器必须在这一时钟位上释放数据线,由接收设备拉低SDA电平来产生应答信号,由 接收设备保持SDA的高电平来产生非应答信号(A(—)),如图11-4所示。

所以,一个完整的字节数据传输需要9个时钟脉冲如果从机作为接收方向主机 发送非应答信号,这样,主机方就认为此次数据传输失败;如果是主机作为接收方,在从机发送器发送完一个字节数据后,发送了非应答信号,从机就认为数据传输 结束,并释放SDA线不论是以上哪种情况都会终止数据传输,这时,主机或是产生停止信号释放总线,或是产生重新开始信号,开始一次新的通信开始信号、 重新开始信号和停止信号都是由主控制器产生,应答信号由接收器产生,总线上带有IIC总线接口的器件很容易检测到这些信号3.总线上数据传输格式一般情况下,一个标准的IIC通信由四部分组成:开始信号、从机地址传输、数据传输、停止信号由主机发送一个开始信号,启动一次IIC通信;在主机对从机寻址后,再在总线上传输数据IIC总线上传送的每一个字节均为8位,首先发送的数据位为最高 位,每传送一个字节后都必须跟随一个应答位,每次通信的数据字节数是没有限制的;在全部数据传送结束后,由主机发送停止信号,结束通信图11-5所示,时钟线为低电平时数据传送将停止进行这种情况可以用于当接收器接收到一个字节数据后要进行一些其它工 作而无法立即接收下一个数据时,迫使总线进入等待状态,直到接收器准备好接收新数据时,接收器再释放时钟线使数据传送得以继续正常进行。

例如,当接收器接 收完主控制器的一个字节数据后,产生中断信号并进行中断处理,中断处理完毕才能接收下一个字节数据,这时接收器在中断处理时将钳住SCL为低电平,直到中 断处理完毕才释放SCL4.IIC总线寻址约定为了消除IIC总线系统中主控器与被控器的地址选择线,最大限度地简化总线连接线,IIC总线采用了独特的寻址约定,规定了开始信号后的第一个字节为寻址字节,用来寻址被控器件,并规定数据传送方向在IIC总线系统中,寻址字节由被控器的七位地址位(它占据了D7-D1位)和一位方向位(为D0位)组成方向位为0时表示主控器将数据写入被控器,为 1时表示主控器从被控器读取数据主控器发送开始信号后,立即发送寻址字节,这时,总线上的所有器件都将寻址字节中的7位地址与自己器件地址比较如果两 者相同,则该器件认为被主控器寻址,并发送应答信号,被控器根据读,写位确定自身是作为发送器还是接收器主器件作为被控器时,其7位从地址在IIC总线地址寄存器中给定,为纯软件地址而非单片机类型的外围器件地址完全由器件类型与引脚电平给定IIC总线系统中,没有两个从机的地址是相同的主控器不应该传输一个和它本身的从地址相同的地址5.主机向从机读写1个字节数据的过程如图11-6所示,主机要向从机写1个字节数据时,主机首先产生START信号,然后紧跟着发送一个从机地址,这个地址共有7位,紧接着的第8位是数据方 向位(R/W),0表示主机发送数据(写),1表示主机接收数据(读),这时候主机等待从机的应答信号(A),当主机收到应答信号时,发送要访问的地址, 继续等待从机的应答信号,当主机收到应答信号时,发送1个字节的数据,继续等待从机的应答信号,当主机收到应答信号时,产生停止信号,结束传送过程。

如图11-7所示,主机要从从机读1个字节数据时,主机首先产生START信号,然后紧跟着发送一个从机地址,注意此时该地址的第8位为0,表明是向从机 写命令,这时候主机等待从机的应答信号(A),当主机收到应答信号时,发送要访问的地址,继续等待从机的应答信号,当主机收到应答信号后,主机要改变通信 模式(主机将由发送变为接收,从机将由接收变为发送)所以主机发送重新开始信号,然后紧跟着发送一个从机地址,注意此时该地址的第8位为1,表明将主机设 置成接收模式开始读取数据,这时候主机等待从机的应答信号,当主机收到应答信号时,就可以接收1个字节的数据,当接收完成后,主机发送非应答信号,表示不 在接收数据,主机进而产生停止信号,结束传送过程3 UART1、UART原理说明发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出;接收数据时,UART检测另一根电线上的信号,串行收集然后放在缓冲区中,CPU即可读取UART获得这些数据UART之间以全双工方式传输数据,最精确的连线方法只有3根电线:TxD用于发送数据,RxD用于接收数据,Gnd用于给双发提供参考电平,连线如下: UART使用标准的TTL/CMOS逻辑电平(0~5v、0~3.3v、0~2.5v或0~1.8v)来表示数据,高电平表示1,低电平表示0。

为了增强数据的抗干扰能力、提高传输长度,通常将TTL/CMOD逻辑电平转换为RS-232逻辑电平,3~12v表示0,-3~-12v表示1,TxD、RxD数据线以位为最小单位传输数据,而帧由具有完整意义的、不可分割的若干位组成,它包含开始位、数据位、校验位(需要的话)和停止位发送数据之前,UART之间要约定好数据的传输速率(即每位所占据的时间,其倒数称为波特率)、数据的传输格式(即有多少个数据位、是否使用校验位、是奇校验还是偶校验、有多少个停止位)数据传输流程如下:(1)平时数据线处于空闲状态(1状态)(2)当要发送数据时,UART改变TxD数据线的状态(变为0状态)并维持1位的时间,这样接收方检测到开始位后,在等待1.5位的时间就开始一位一位地检测数据线的状态得到所传输的数据3)UART一帧中可以有5、6、7或8位的数据,发送方一位一位地改变数据线的状态将他们发送出去,首先发送最低位4)如果使用校验功能,UART在发送完数据后,还要发送1位校验位有两种校验方法:奇校验、偶校验——数据位连同校验位中,1的数据等于奇数或偶数5)最后,发送停止位,数据线恢复到空闲状态(1状态)停止位的长度有3种:1位、1.5位、2位。

下图演示了UART使用7个数据位、偶校验、2个停止位的格式传输字符‘A’(二进制值为0b1000001)时,TTL/COM逻辑电平和RS-232逻辑电平对应的波形TTL/COM逻辑电平 RS-232逻辑电平 2、s3c2440 UART特性(1)工作模式s3c2440中,UART有三个独立的通道,UART0、UART1、UART2,每个通道都可以工作于中断模式和DMA模式关于这两种模式我们有必要说一下<1>中断模式:这就是说,当要收发数据时会向CPU发出中断请求,由CPU完成收。

下载提示
相似文档
正为您匹配相似的精品文档