您好,欢迎访问三七文档
1通信接口UARTRS232CRS422RS485I2CSPII2SUSBCAN2UART•UART:UniversalAsynchronousReceiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。•一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信。UART传输结构4UART帧结构起始位数据位奇偶校验位停止位1位5~8位1位(可选)1,1.5,2位•空闲位一般是高电位。传送数据,出现了低电位,就是起始位。数据传送结束后,奇偶校验位后面往往以停止位结束。是高电位。一帧以低电位开始,以高电位结束。•波特率发生模块:接收器模块和发送器模块接收器状态机7RS232C•1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。•全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。•该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。9针串口25针串口中文串口针脚定义:9芯信号方向来自缩写描述1调制解调器CD载波检测2调制解调器RXD接收数据3PCTXD发送数据4PCDTR数据终端准备好5GND信号地6调制解调器DSR通讯设备准备好7PCRTS请求发送8调制解调器CTS允许发送9调制解调器RI响铃指示器9针串口针脚定义11三线连接方式TRGND共模传输12RS232C的电气特性最远距离是50英尺=15m双向传输,全双工通讯,最高传输速率20kbps传送的数字量采用负逻辑,且与地对称逻辑1:-3~-15V逻辑0:+3~+15V所以与单片机连接时常常需要加入电平转换芯片。采用普通电话交换线采用专用电话线通信18串口通信参数•波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。•数据位:标准的值是5、7和8位。•奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。19串口通信参数•停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。•由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。20串口通信的传输格式•线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一位一位的传输。示波器读数时,左边是数据的高位。•例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它的帧结构如下:55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为0101010101,aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为0010101011。22串口通信的接收过程:异步•1)开始通信时,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数。•2)当计到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”,而不是干扰信号。•3)接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据。若为逻辑1,作为数据位1;若为逻辑0,作为数据位0。•4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据。….,直到全部数据位都输入。23串口通信的接收过程:异步•5)检测校验位P(如果有的话)。•6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位S(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。•7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。•8)当信号再次变为低时,开始进入下一幀的检测。25单片机常用11.0592M的的晶振•波特率为9600BPS每位位宽t1=1/9600s晶振周期t2=1/11.0592/1000000S单片机机器周期t3=12*t2t1/t3=96即对于9600BPS的串口,单片机对其以96倍的速率进行采样。如果单片机晶振用的不正确,会对串口接受产生误码。26波特率的计算公式•工作与不同的模式下,计算公式不同,现以自动加载功能模式为例,公式如下:27常用数据传输率设置方法数据传输率/HzfOSC/MHzSMOD定时器1C/T方式重新装入值方式0最大:1M方式2最大:375k方式1、3:62.5k19.2k9.6k4.8k2.4k1.2k11012121211.059211.059211.059211.059211.059212X11100000XX0000000XX2222221XXFFHFDHFDHFAHF4HE8H0FEEH28RS232接口的缺点•(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。•(2)传输速率较低,在异步传输时,波特率为20Kbps;•(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。•(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。29RS422•全称是“平衡电压数字接口电路的电气特性”;•接收器采用高输入阻抗和发送驱动器具有比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。•RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。计算机侧RS-422串行接口的插口是25针设备侧RS-422串行接口插头是25孔31四线连接方式T+T-R+R-差动传输(平衡传输)实际上还有一根信号地线,共5根线32RS422电气特性•最大传输距离为4000英尺(约1219米)•最大传输速率为10Mb/s。•其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。•一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。35•通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2~6V,是另一个逻辑状态。•当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。RS422电气特性Max422芯片40RS485•RS232无法实现联网,而RS422的驱动能力有限,因此推出方便联网的RS485;•其基本特征与RS422接近,支持半双工操作;•DB9。41RS-485的电气特性•逻辑“1”以两线间的电压差为+(2—6)V表示;•逻辑“0”以两线间的电压差为-(2—6)V表示。•接口信号电平比RS-232-C低,不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。42RS485的连线方式T+(D+)R+R-差动传输(平衡传输)4线或2线方式,4线只能点对点,故很少使用T-(D-)43RS485的电缆连接要求•低速、短距离、无干扰的场合:普通双绞线;•高速、长线传输:采用阻抗匹配(一般为120Ω)的RS485专用电缆(STP-120Ω(forRS485&CAN)onepair18AWG);•干扰恶劣的环境:采用铠装型双绞屏蔽电缆(ASTP-120Ω(forRS485&CAN)onepair18AWG)。44RS485性能参数•最高数据传输速率为10Mbps。•RS-485最大的通信距离约为1219M;•100Kb/S的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。•一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。Max485芯片51I2C•I2C(Inter-IntegratedCircuit)总线是由PHILIPS公司1992年开发的两线式串行总线,用于连接微控制器及其外围设备。•微电子通信控制领域广泛采用的一种总线标准。•主要用于电压、温度监控,EEPROM数据的读写,光模块的管理等。53上拉电阻的取值•与I2C总线上所挂器件数量及I2C总线速率有关:–一般是标准模式下R选择10kohm;–快速模式下R选取1kohm;–I2C总线上挂的I2C器件越多,就要求I2C的驱动能力越强,R的取值就要越小,实际设计中,一般是先选取4.7kohm上拉电阻,然后在调试的时候根据实测的I2C波形再调整R的值。55I2C总线上最多能挂多少个I2C器件?•I2C总线上允许挂接I2C器件的数量由两个条件决定:–I2C从设备的地址位数。I2C标准中有7位地址和10位地址两种。如果是7位地址,允许挂接的I2C器件数量为:27=128,如果是10位地址,允许挂接的I2C器件数量为:210=1024,一般I2C总线上挂接的I2C器件不会太多,所以现在几乎所有的I2C器件都使用7位地址。–挂在I2C总线上所有I2C器件的管脚寄生电容之和。I2C总线规范要求,I2C总线容性负载最大不能超过470pF。56I2C总线特征•连线少:串行数据线SDA,串行时钟线SCL;•支持主从模式;•一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;•串行的8位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s;•连接到相同总线的IC数量只受到总线的最大电容400pF限制。57I2C起始条件•起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态,在停止条件的某段时间后总线被认为再次处于空闲状态。•SCL线是高电平时,SDA线从高电平向低电平切换,这个情况表示起始条件;59•SCL线是高电平时,SDA线由低电平向高电平切换。I2C停止条件61数据的有效性•逻辑0(低)和逻辑1(高)的电平不是固定的,它由电源VDD的相关电平决定,每传输一个数据位就产生一个时钟脉冲。•在SCL处于高电平期间,SDA保持状态稳定的数据才是有效数据,只有在SCL处于低电平状态时,SDA才允许状态切换。62数据的有效性63•发送到SDA线上的每个字节必须为8位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。•首先传输的是数据的最高位(MSB),如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL后数据传输继续。I2C总线数据传输格式:字节格式64应答响应•数据传输必须带响应,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间发送器释放SDA线(高)。•在响应的时钟脉冲期间,接收器必须将SDA线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。I2C总线数据传输和应答66I2C总
本文标题:通信接口
链接地址:https://www.777doc.com/doc-5570942 .html