资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计算机测控技术,第一章 计算机串行通信接口技术,串行通信的基本概念,计算机系统与外设或者计算机系统与计算机系统,之间的信息传递通常采用,串行通信,串行通信按同步方式来分,可分为,异步串行通信,和,同步串行通信,(概念,1-1,)异步串行通信,:,是指不使用,同步时钟信号,进行通信的方案。只要通信的收发双方使用,相同的位速率,(,即波特率:每秒传送的数据位数,),,并使用适当的方法对数据校验,异步串行通信是可以可靠传送数据包的,.,以,字符,为传送单位,用起始位和停止位标识每个字符的 开始和结束,字符间隔不固定,只需字符传送时同步。,D0 D1 D2 D3 D4 D5 D6 D7 0/1,起始位,空闲位,停止位,起始位,奇偶,校验,(A),异步通信常用格式:一个字符帧,异步通信,字符格式规定,(,一帧,),:,起始位,数据位,奇偶校验位和停止位。,(概念,1-2,),波特率,(,位,/,秒,),每秒传送的位数,常用的波特率有,38400,,,19200,,,9600,,,4800,2400,,,1200,,,600,,,300,等多种,(B),异步通讯双方的两项约定,串行通信的基本概念,工作方式,发送器,接收器,发送器,/,接收器,发送器,/,接收器,发送器,/,接收器,发送器,/,接收器,单工方式:,半双工方式:,全双工方式:,1.1.1,异步串行通信硬件,1,)计算机内部的数据是并行传送,要进行串行通信,必须通过,接口电路,,实现并串、串并转换,(,1,)单片机一般内部集成,UART,(通用异步收发机),(,2,)也可以使用芯片进行扩展如,8251,并行接口,MAX3100SPI,(,8FIFO,),TL16C550A,1,路异步串行口,并行(,16FIFO,),TL16C554,内含,4,路,TL16C550B,串行通信,硬件实现,一般采用,UART,芯片实现,如下页图。,工作原理:发送时,由硬件将并行送来的数据串行由,TXD,发出,并自动添加辅助位。接收时,自动监视,RXD,线,测到起始位时转入串行接收,并自动去掉辅助位后并行送出。,串行通信的硬件结构,51,单片机的串行接口,硬件结构,SBUF,(,发),SBUF,(,收),发送控制器,TI,接收控制器,RI,移位寄存器,波特率发生器,T1,1,A,累加器,(,门,),移位寄存器,RxDP3.0,TxD,P3.1,去申请中断,引脚,引脚,CPU,内部,串行通信,TXD,RXD,GND,RXD,TXD,GND,串行通信,51,单片机内部有一个功能很强的,全双工,串行口,可同时,发送和接收,数据。它有,四种,工作方式,可供不同场合使用。波特率由软件设置,通过片内的定时,/,计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵活。,51,单片机串行通信的实现,发送和接收电路,SBUF,是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址,99H,可通过指令对,SBUF,的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。,MOV SBUF,A,;CPU,写,SBUF,就是修改发送缓冲器,;,MOV A,SBUF,;CPU,读,SBUF,就是读接收缓冲器。,串行口对外也有两条独立的收发信号线,RXD(P3.0),和,TXD(P3.1),因此可以同时发送、接收数据,实现全双工传送,串行通信,发送和接收过程都是在发送和接收,时钟,控制下进行的,必须与设定的,波特率,保持一致。,串行通信,串行口控制寄存器,SCON,(,98H,),1.SM0,、,SM1,控制串行口方式,如,mov scon,#00 xxxxxxb,则该串口工作在方式,0,串口的工作方式,SM0 SM1,工作方式,说 明,波特率,0 0,方式,0,(,扩展,I/O,口,),移位输入,/,输出,(,用于扩展,I/O,引脚,),方式,为,f,osc,(,振荡频率,),的,1/12,。,0 1,方式,1,(,常用,),波特率可变的,8,位异步串行通信方式,0,方式,2,(,不常用,),波特率固定的,9,位异步串行通信方式,1,方式,3,(,常用,),波特率可变的,9,位异步串行通信方式,串行通信,2.SM2,允许方式,2,、,3,的多机通讯特征位,(2,3,主机,0,,分机,1),3,、,REN,允许串行接收位,由软件置,/,复位,1,:允许接收,0,:不允许接收;发送数据时设为,0,4,、,TB8,在方式,2,、,3,中要发送的第九位数据,,由软件置,/,复位,串行通信,5,、,RB8,在方式,2,、,3,中是接收的第九位数据,在方式,0,中不用,RB8,。,6,、,RI,接收中断标志(必须由软件清除),在方式,0,中串行接收到第,8,位结束时自动置位。,在方式,1,、,2,、,3,中串行接收到停止位的中间时置位,串行通信,7,、,TI,发送中断标志(必须由软件清除),在方式,0,中串行发送第,8,位结束时自动置位。,在方式,1,、,2,、,3,中串行发送停止位的开始时置位。,串行通信,串行口的编程,串行口需初始化后,才能完成数据的输入、输出,。其初始化过程如下,:,按选定串行口的操作方式设定,SCON,的,SM0,、,SM1,两位二进制编码。,对于操作方式,2,或,3,应根据需要在,TB8,中写入待发送的第,9,位数据。,若选定的操作方式不是方式,0,还需设定接收,/,发送的波特率。设定,SMOD,的状态,以控制波特率是否加倍。若选定操作方式,1,或,3,则应对定时器,T1,进行初始化以设定其溢出率。,串行通信,9.3.2,串行口在其他方式下的应用,在方式,1,、,2,、,3,下,串口用于异步通信,不同之处在帧格式和波特率的差异。,方式,1,为,8,位数据位,方式,3,为,9,位数据位,两种方式的波特率都是受定时器,T1,的溢出率控制。,在用,方式,1,或方式,3,实现串行异步通信时,初始化程序要设定串行口的工作方式,并对定时器,T1,进行初始化,即设定定时器方式和定时器初值。此外,还要编写发送子程序和接收子程序,串行通信,方式,1,的发送过程如下:,在,TI,为,0,的情况下,(,表示当前不处于发送状态,串行口发送控制电路处于空闲状态,),,任何写串行数据输出缓冲器,SBUF,指令,(,如,MOV SBUF,A),均会触发串行发送过程:,51,串行口自动在,8,个串行数据位的前、后分别插入一个起始位,(0),和一个停止位,(1),,构成,10,位信息帧,然后按设定的波特率依次输出起始位,(0),、,8,个数据位,(,顺序为,b0,b7),和停止位,(1),。当,8,位数据,(,即,b7,位,),发送结束后,(,即开始发送停止位,),,串行口自动将发送中断标志,TI,置,1,。,这样执行了写,SBUF,寄存器操作后,可通过查询,TI,标志来确定发送过程是否已完成。若中断处于开放状态下,,TI,有效时,将产生串行中断请求。,串行通信,方式,1,的接收过程如下:,在接收中断标志,RI,为,0(,即串行数据输入缓冲器,SBUF,处于空闲状态,),情况下,当,REN,位为,1,时,串行口即处于接收状态。,在接收状态下,存在两个定时信号:一个是移位脉冲信号,(,即发送波特率,),;另一个是,RXD,引脚电平状态检测信号,(,也称为数据检测脉冲,),,它的频率是移位脉冲的,16,倍。进入接收状态后,串行口便按数据检测脉冲速率不断检测,RXD,引脚的电平状态,,当发现,RXD,引脚由高电平变为低电平后,表明发送端开始发送起始位,(0),,启动接收过程,并复位接收波特率发生器,使数据检测脉冲与接收移位脉冲保持同步,然后按设定波特率顺序读出数据位和停止位。,串行通信,当接收完一帧信息,(,即接收到停止位,),后,如果,RI,位为,0,,便将“接收移位寄存器”中的内容装入串行数据输入缓冲寄存器,SBUF,中,停止位装入,SCON,寄存器的,RB8,位中,并将串行接收中断标志,RI,置,1,。,这样通过查询,RI,标志即可确定接收过程是否已完成。若中断处于开放状态下,,RI,有效时,也产生串行中断请求。不过值得注意是,CPU,响应串行中断后,不会自动清除,RI,,需要用“,CLR RI”,指令清除,RI,,以便接收下一帧信息。,串行通信,例:设甲乙机以串行方式,1,进行数据传送,,fosc=11.0592MHz,,波特率为,1200b/s,。甲机发送的,1,个数据存在内,RAM 40H,单元中,乙机接收后存在内,RAM 50H,地址区域中,串行通信,T1,初值,=256-,=232=,E8H,串行方式,1,波特率取决于,T1,溢出率,(,设,SMOD=0),计算,T1,定时初值:,32,12,1200,11059200,2,0,发送过程,发送过程:,1.,给定时器设定初值并开启,为串口工作准备,2.,串口禁止接收状态;,3.,发送数据,4.,一个字节结束判断,5,结束清标志位,发下一个字节,甲机发送子程序:,TXDA:,MOV TMOD,#20H,;,置,T1,定时器工作方式,2,MOV TL1,#0E8H,;,置,T1,计数初值,MOV TH1,#0E8H,;,置,T1,计数重装值,CLR ET1,;,禁止,T1,中断,SETB TR1,;T1,启动,MOV SCON,#40H,;,置串行方式,1,禁止接收,MOV PCON,#00H,;,置,SMOD=0(SMOD,不能位操作,),CLR ES,;,禁止串行中断,TRSA:,MOV R0,#40H,;,置发送数据区首地址,MOVA,R0,;,读一个数据,MOVSBUF,A,;,发送,JNBTI,$,;,等待一帧数据发送完毕,CLRTI,;,清发送中断标志,INCR0,;,指向下一字节单元,RET,乙机接收子程序,RXDB:,MOV TMOD,#20H;,置,T1,定时器工作方式,2,MOV TL1,#0E8H,;,置,T1,计数初值,MOV TH1,#0E8H;,置,T1,计数重装值,CLR ET1;,禁止,T1,中断,SETB TR1;T1,启动,MOV SCON,#40H;,置串行方式,1,禁止接收,MOV PCON,#00H;,置,SMOD=0(SMOD,不能位操作,),CLR ES;,禁止串行中断,MOV R0,#50H;,置接收数据区首地址,SETB REN;,启动接收,RDSB:,JNB RI,$,;,等待一帧数据接收完毕,CLR RI;,清接收中断标志,MOV A,SBUF,;,读接收数据,MOV R0,A;,存接收数据,INC R0;,指向下一数据存储单元,RET,异步串行通信,异步串行通信接口通常指以下三类:,RS-232(A,、,B,、,C),、,20mA,电流环,RS-422/RS485,。,工业控制中,用于调制解调器的信号不使用,RTS,:请求发送,询问数据装置是否做好了接受数据的准备,CTS,:清除发送,数据装置通知数据终端已做好了接受数据的准备,DTR,:,数据终端就绪,数据终端做好了接受数据的准备,DSR,:,数据装置就绪,数据装置做好了发送数据的准备,CD,:,载波信号检出,RI:,振铃信号,数据终端:如计算机,数据装置:如,MODEM,或另一台计算机,2,)串行通信,连接方式,直接连接,1,米以内,RS-232C15,米以内,20mA,电流环,500,米,RS-422/4851200,米,需,TTL,电平信号进行转换,1.1.2,异步串行通信的直接连接,将,TTL/CMOS,信号直接连接,1,米,以内,最长不超过,5,米,TXD,RXD,GND,RXD,TXD,GND,RXD,TXD,GND,RXD,TXD,GND,从机,1,从机,2,从机,3,主机,图,1.5,直接连接,图,1.5,多机接连接,主机可以是计算机或单片机系统,从机多为单片机系统。,51,系列常采用总线方式。,从机较多时,,主机,TXD,应使用总线驱动器,(,如,74HC244,),驱动,从机,TXD,应使用,OC,门(如,7407,驱动)输出,并在主机端接上拉电阻(,2.2k,左右),TXD,RXD,GND,RXD,TXD,GND,RXD,TXD,GND,RXD,TXD,GND,从机,1,从机,2,从机,3,主机,TXD,RXD,GND,RXD,TXD,GND,1,)电气特性,采用,负逻辑,1.1.3 RS-232C,-3v -15v,表示逻辑,“,1”,+3v +15v,表示逻辑,“,0”,传输距离一般在,15,米,以内,最远不超过,30,米。最远传输距离与波特率有关,.,传输速率越快,可靠传输的距离越短,2,)电平转换,常用芯片,MAX232,C1,C1,C3,C5,C4,TTL/COMS,输入,TTL/COMS,输出,RS-232,输出,RS-232,输入,5V,图,1.7 MAX32,功能框图,(,电平转换,),图,1.7 MAX232,功能框图,RS-232C,将,TTL,的异步通信逻辑转换为,RS-232C,逻辑电平,使用最方便的器件即是使用,MAX232A,(,或功能类似的器件,),。上图即是其内部逻辑框图,可以看到,片内包含了能产生,10V,电源的电荷泵电路,(,电压加倍器和电压反相器,),,仅需外接,四个,0.1f,电容,(MAX232A),或,1f,电容,(MAX232),即可。每个器件含有两路,TTL/CMOS,到,RS-232C,的转换输出电路,同时含有两路,RS-232C,到,TTL/CMOS,逻辑的输入电路。所以,当不需要其它控制信号时,一片,MAX232,即可支持,两路,RS-232C,作全双工通信,而且不需要,12V,供电电源。,与,MAX232A,功能相当的器件有很多,仅,Maxim,公司就有许多型号,如,MAX202,、,MAX220249,等,有些器件甚至不必外加电容。,3,)连接器,TXD,:,发送数据,,2,号引脚,RXD,:,接受数据,,3,号引脚,GND,:信号地,,5,号引脚,常用,9,针,D,形连接器,DB9,计算机端使用,DB9,针,连线使用,DB9,孔,1,2,3,4,5,6,7,8,9,PC,机,JARA1104 4,串口卡,RS232C,设备,RS232C,设备,RS232C,设备,4,)连接方法,上位机与多个串口设备通信时,每个串口必须使用,1,个独立的,RS232C,串口,可使用,多串口卡,,或,多路串口接口芯片扩展,RXD,TXD,GND,RXD,TXD,GND,2,3,5,2,3,5,图,1.8,两个,RS-232C,串行口的连接,图,1.8,使用多串口卡多个,RS-232C,串行口,1.1.4 RS-422,和,RS-485,实现较长距离传送,传输距离,1200,米,以内,,最远传输距离与波特率有关,RS-422,与,RS-232C,异步通信逻辑,相同,,不同的是,驱动及接收逻辑,。,RS-485,与,RS-422,RS-485,网络只能工作于,半双工方式,RS-422,可工作于,全双工方式,1,)接口电路,RS232,电压驱动,RS422,差动电流驱动,-3v -15v “1”,+3v +15v “0”,U,AB,200mV “1”,U,BA,200mV,“0”,A,B,RS-422,协议,RS-422,协议。,电流驱动时,抗干扰性能本身远高于电平驱动,,加上差动方式可以用双绞线进一步提高抗干扰,因而传输性能大幅度提高,(,正常情况下,,波特率,9600,b/s,时能可靠传输,1200,m,以上,),,而传输介质仅需价格低廉的双绞线。,RS-422,与,RS-232C,的异步通信逻辑完全相同,不同的仅是驱动及接收逻辑,DI,连接,UART,的,TXD,脚,,RO,连接,UART,的,RXD,脚,图,1.10 MAX488/490,封装图与,RS-422,通信连线图,注:图中引脚编号为,DIP,封装,2,)接口连接方法,DI,RO,DI,RO,MAX488/490,终端电阻,100,120,欧姆,位于接收端,将差动电流转换成电压,图,1.10 MAX488/490,与,RS422,连线,差动电流驱动,RS=422,连线图,RS-485,连线图,DI,RO,DI,RO,MAX488/490,DI,RO,DI,RO,MAX481/483,DE,RE,RE,DE,总线方式的,RS,485,网络,:,使用一对双绞线,RXD,TXD,RXD,TXD,RXD,TXD,RE,DE,TXD,RXD,DE,RE,RE,DE,RE,DE,A,B,A,B,只能采用,主从控制方式,(1),终端电阻的位置,(2),控制端的使用;,不允许,DE,RE,同时有效,图,1.12,用,RS-485,组建的网络,总线方式的,RS,422,网络,(,1,)一般采用主从控制方式,(,2,)从机发送的数据只有主机可以接收,TXD,RXD,RXD,TXD,DE,RXD,TXD,DE,RXD,TXD,DE,主机,从机,1,从机,3,从机,2,Y,Z,A,B,A,B,Y,Z,图,1.14,总线方式的,RS,422,网络,点对点方式的,RS,422,网络,TXD,RXD,RXD,TXD,DE,主机,从机,1,TXD,RXD,RXD,TXD,DE,从机,2,Y,Z,A,B,A,B,Z,Y,Y,Z,B,A,A,B,Z,Y,单片机,可使用,MAX3100,或,TL16C554,扩展串行口,PC,机,可使用,RS422,多串口卡,可采用,主动发送,方式,图,1.13,点对点方式的,RS,422,网络,3,)连接器,建议使用,8,脚的,RJ45,连接器,传输线用双绞线即可,自制,1.1.6,数据包组成及数据包的同步,起始字节,设备地址,数据包长度,数据块,校验字节,可靠的通信方式应使用数据包,其格式如下,使用,ASCII,码的控制区字符构成起始字节时,常使用,起始字节,常使用,SOH,(,01H,)或,STX,(,02H,),发送较大数据包时,常使用字符串,如“,AA55”,设备地址,1B,或,2B,,通常,最高位置为,1,,以区分同步字节,数据块通常使用,ASCII,码如发送,01H,实际发送,30,H,、,31,H,两个字节,数据包长度,1B,或,2B,,通常最高位置为,1,校验字节,常用和校验,,2B,,通常最高为置为,1,1.1.6,数据包组成及数据包的同步,单字节(不需要地址码的单字节命令),3B,校验法,ABB,(,B,为的补码,,A,为字节命令),需要区分地址信息时,4BDABC,(,D,为地址,,,,A,为字节命令,B,为的补码,,A,限制在,127,之内。,C,为,DAB,的校验和),对校验结果的响应方法,发送确认字节,ACK,(,06H,),发送不确认字节,NAK,(,15H,),D-,最高为设为,1,,,ABC,最高为均设为,0,1.2 SP I,总线,用于,芯片间的接口,,连线长度,不能超过,1,米,,仅用,3,根,线(,SCK,MISO,MOSI),,速率可达,200KB/S,不同的,SPI(Serial Peripheral Interface),串行外设接口器件,有不同的规定,何时锁存数据:上升沿,下降沿,高位在前还是低位在前,数据串的长度:,8b,16b,SPI,接口器件与处理器连接的方法,无,SPI,接口,则可接到任意三根,I/O,线(仿,SPI,),有,SPI,接口,不可随意安排,SPI-,串行外设接口,1,),SPI,接口器件实例,SPI,仅使用三根线进行数据通信,对于接口设备,分别为:,输入线,(MPU,为输出线,标示为,MOSI),、,输出线,(MPU,为输入线,标示为,MISO),、,时钟,线,(SCLK),(,1,),MAX110/1112,通道,A/D,转换芯片,上升沿锁存,,,16b,,高位在前,(,2,),X5045,电源监视、看门狗、,512B EEPROM,输入数据,上升,锁存、输出数据,下降,沿锁存,,16b,,,高位在前,(,1,),MAX110/111,A/D,转换芯片,与计算机通信时使用使用,SPI,三线接口。控制字输入、转换结果输出(上次转换)同时进行,图,1.19 MAX110/MAX111,的,SPI,接口时序,(,2,),X5045,读状态寄存器时序,0,7,15,/CS,SCK,SI,SOUT,7,0,三合一的多功能芯片(电源监视,/,复位、看门狗、,512EEPROM),图,1.20 X5045,的,SPI,接口时序,(,2,),X5045,写状态寄存器时序,(,2,),X5045,读存储器内容时序,2,)软件,SPI,接口的实例,P1.0,P1.1,P1.2,P1.3,CS,SCLK,SI,SOUT,8051,X5045,微处理器无,SPI,接口或接口不支持,SPI,器件时序时,可用,I/0,口线与器件,3,线连接,软件开销大,传输速度较低。,可用,C,语言或汇编语言实现,图,1.2151,系列单片机与,MAX110/MAX111,的,SPI,接口,3,)硬件,SPI,接口的实例,带,SPI,接口的微处理器(如,AT89S53),,与,SPI,器件连接位置固定,不可随意安排,软件开销小,传输速度快。,注意:带,SPI,接口的微处理器,,SPI,参数需根据不同外围器件进行设置,时序要与器件保持一致,MISO,M0S1,SCLK,MISO,MOSI,SCLK,/CS,MISO,MOSI,SCLK,/CS,MISO,MOSI,SCLK,/CS,2,1,0,主机,从机,0,从机,1,从机,2,4,)多,SPI,接口的连接,开发公司:,Philips,多主机总线,提供总线仲裁逻辑,同名端对应相连,SCL,(时钟),SDA,(数据),上拉电阻,漏极开路,阻值:,5,10K,传送数据形式:字节,1.3 I,2,C,总线,SCL,高电平时,SDA,下降沿为起始条件,,SCL,高电平时,SDA,上升沿为终止条件;数据位跳变时,时钟信号必须处于低电平,首先传送数据的最高位;如果从机要完成其他功能再接收数据,则使,SCL,保持低电平,迫使主机进入等待状态。,图,1.26 I,2,C,总线的起始条件和终止条件时序,I,2,C,总线,图,1.28 I,2,C,总线硬件连接,MAX518,时序,010,01011,01011,SDA,SCL,S,1,2,7,8,9,高位,ACK,1,2,9,ACK,P,应答,应答,从机请求延时,(,1,),SCL,为高电平时,,SDA,应保持不变,否则视为起始或终止条件,(,2,)每个字节,8,位,高位在前,,首先传输的是数据的最高位,MSB,,,每次传输字节数没有限制,(,3,)每传送完一字节之后,,接受器件给出应答信号,(低电平),(,4,)若接受器件不能接收下一个字节,则应使,SCL,保持低电平;准备好后,释放,SCL,,使数据传送继续进行,1,),I,2,C,明确规定了软硬件协议,2,)符合,I,2,C,总线硬件规范的两线接口芯片举例,AT24C02A/04A/08A,(,1010,),EEPROM,容量分别为,256/512/1024B,标准,I,2,C,总线数据传送格式,S,从机地址,R/W,A,数据,A,数据,A,P,(,1,)器件地址由固定位和可编程位组成,(,2,),改变数据传送方向时,,应重新发送起始条件和从机地址,S,从机地址,R/W,A,数据,A,数据,A,P,S,从机地址,R/W,A,字节写时序,AT24C02A/04A/08A,3,)不符合,I,2,C,总线硬件规范的两线接口芯片举例,SPI,总线的变形,工作移位寄存器方式,举例,:,DS1302,时钟芯片,单字节读时序,单字节写时序,4,),I,2,C,器件的连接方法,(,1,)带,I,2,C,接口的微处理器(如,P8X552),,,2,线对应相连,(,2,)微处理器无,I,2,C,接口,用,I/O,线与,I,2,C,器件相连,软件模拟时序,对于不符合,I,2,C,硬件规范的器件,也只能用软件模拟,与,SPI,接口器件类似,1.4 USB,总线,USB2.0,规范将接口设备按通信速率分为三类:,低速设备,(,最高,1.5Mb/s),、全速设备,(12Mb/s),、高速设备,(480Mb/s),。为方便接口设备的工作,,USB,接口还允许接口设备从,USB,总线取得,+5V,电源,但,总电流不得大于,500mA,。,USB,通过,4,线电缆接入主机,分别为:,VBus(,总线电源,),、,GND(,地线,),、,D+,和,D(,数据线,),。其中,D+,和,D,是一对,差模,信号线,使用,3.3V,的电平,而,VBus,和,GND,则提供,+5V,的电源。,USB,总线可以自动探测出新设备的插入或已接入设备的断开。,带,USB,接口的单片机:,EZ-USB,USB,接口芯片:,CH372/375,1.4 USB,总线,1.4 USB,总线,PDIUSBD12,符合,USB1.1,版的规范。具有以下特性:集成了串行接口引擎,(SIE),、,320,字节先进先出,(FIFO),存储器、收发器以及电压调整器;可与任何外部微控制器,/,微处理实现高速并行接口,(2M,字节,/,秒,),;支持直接存贮器存取,(DMA),操作;在批量模式和同步模式下均可实现,1M,字节,/,秒的数据传输速率;可编程的时钟频率输出;符合,ACPI,、,OnNOW,和,USB,电源管理的要求;内部上电复位和低电压复位电路;高于,8kV,的片上静电防护电路等。图,1.35,为,PDIUSBD12,的引脚图和内部功能框图。表,1.3,为,PDIUSBD12,的引脚功能描述。,1.4 USB,总线,PDIUSBD12,采用,GoodLink,技术的连接指示器,,在通信时使,LED,闪烁,为通信状态提供了用户友好的指示,方便用户调试。,SoftConnectTM,技术允许系统微控制器控制,USB,总线重新连接和重新初始化而不需要拔出电缆。,DMACK_N,接高电平本例不使用,DMA,方式;,EOT_N,引脚,借此检测,USB,设备是否已经连接到,USB,口,,SoftConnect,功能只有在检测到此信号时才会进行连接,换言之,如果不接此信号,则,PDIUSBD12,总认为没有,USB,设备接入没有,USB,设备接入,,SoftConnect,不会启动,图,1.36,由,PDIUSBD12,构成的,USB,接口原理图,图中,VDD,接正电源,(3.3V,或,5V),,如果芯片工作在,3.3V,,则,Vout3.3,与,VDD,都接,3.3V,;如果芯片工作在,5V,,则此时,Vout3.3,会输出,3.3V,电压,用于提供给,D+,作参考电压。,参考电压必须为,3.3V,。数据线,D7:D0,为,8,位数据线。如果连接,16,位系统或,32,位系统,则数据线接低,8,位。当,CS_N,或,DMACK_N,信号任一为低时,均可,选中,PDIUSBD12,。因此,如果不使用,DMA,方式,则应将,DMACK_N,接高电平,使用,CS_N,作为片选。本例不使用,DMA,方式,使用,CS_N,引脚作为片选信号。,使用,ALE,可以简化与地址,/,数据线复用的,MCU,的连接。将,ALE,接至,MCU,的,ALE,,,A0,接高电平,则,PDIUSBD12,会在,ALE,的下降沿锁存地址信号,直接将数据写入对应的地址中。非地址,/,数据线复用的系统,则,ALE,总接低,,A0,为高时表示数据线上收到的是命令字节,,A0,为低时表明收到的是数据字节。通过将地址线的高位接至,A0,,,PDIUSBD12,就可以有独立的命令和数据端口。,USB,电源线,VBus,经过,10K,和,1M,电阻串联接地,再从其分压处引至,EOT_N,引脚,借此检测,USB,设备是否已经连接到,USB,口,,SoftConnect,功能只有在检测到此信号时才会进行连接,换言之,如果不接此信号,则,PDIUSBD12,总认为没有,USB,设备接入,,SoftConnect,不会启动设备枚举过程。,长距离通信问题,几十米以上,的通信,通常即视为长距离通信,这时即可能遇到一些意想不到的通信问题,因此必须采取一些措施解决。,具体说来主要为,两类问题:,一类是,通信距离问题,,通信距离超过限值时,通信不正常;,另一类是,可靠性问题,,通信过程时好时坏,严重时损坏设备。,解决方法也分为,两种,:,选择合适的通信方式,(,硬件,),、必要时进行,光电隔离,。,1.6,长距离通信问题,各种通信协议,各有长处。,RS-232C,使用最简单,但通信速率不高,且不适宜远距离通信。但,RS-232C,历史悠久,尽管有这样那样的缺陷,仍是应用最多的。,RS-232C,通常用于,530m,间的设备之间的通信,最远通信距离不大于,100m,。小于,5m,的通信不使用,RS-232C,而直接使用,TTL,电平传输即可。电流环接口是解决,RS-232C,通信距离问题的方案之一。早期的电流环接口规定:,有信号时为,20mA,,无信号时无电流,。电流环接口很适于做光电隔离,通信距离可,大于,500m,(,波特率为,19200),甚至更远。,1.6,长距离通信问题,用电流环实现隔离的长线通信,V,CC,TXD,双绞线,LED+,LED-,NC,B,C,E,7406,V,xx,RXD,74HC14,4N35,R1,R2,R1,R2,取值,550,时,可在,19200,下传送,500,米,使用,RS-422/485,的长线通信,通信距离可达,1200,米,,更长的距离可通过中继器实现。长距离通信应采用,带光电隔离的,485,驱动器,采用总线式结构,最多允许挂接,32,个接收设备,采用星形结构,每条支线上都应接终端电阻,并将终端电阻阻值提高,一般支线总数控制在,4,条以下,使用,光纤,传输,RS-422/485,信号,通信距离可达,20,千米,1.5 CAN,总线,控制器,局域网,(CAN),是一种用于连接电子控制模块、汽车和工业设施中的传感器和作动器的,异步串行多主通信协议,。,最初由,博世,(Bosch),采用的,CAN,通信协议,能够以很高的安全性高效地支持分布式实时控制。,CAN,总线网络的典型应用为汽车和工业控制。,CAN,总线,ISO11898,定义了,CAN,总线规范,是,用于汽车高速通信的,CAN,总线协议的国际标准,。,标准主要指定了,数据链路层和通信连接的物理层,。图,1.37,为,CAN,总线开放式系统互联参考模型,(OSI),的结构分层。,物理层可分为图示的三个子层。分别为物理信号子层,(,位编码、定时、同步,),,物理介质配置子层,(,驱动器和接收器的特性,),,介质相关的接口子层,(,总线联接器,),。,CAN,总线,位编码,:,CAN,传输的数据包称为,报文,(,信息,),帧,。,CAN,报文帧的最初规范含有一个,11,位的标识符,(IDENTIFIER),。,1991,年,博世发布了第二版的,CAN,协议,称为扩展的,CAN,报文帧格式,将标识符的位数扩展到了,29,位,主要用于增加可识别的对象数目,因此新格式只是可选的,而含有,11,位的标识符的报文仍是“标准帧”。含有,11,位标识符的标准报文帧格式和含有,29,位标识符的扩展报文帧格式见图,1.38,。两种格式的,数据块部分都是最多,8,字节,,并使用,15,位,CRC,校验。,CAN,报文帧格式,图,1.38 CAN,信息帧,标准数据格式,扩展数据格式,CAN,报文格式,数据帧,数据帧由,7,个位场组成,即,帧起始、仲裁场、控制场、数据场、,CRC,场、应答场和帧结束,(,参见图,1.38),。其中,数据场长度可为,0,。,帧起始,标志数据帧和远程帧的起始,它仅由,一个显性位,构成。只有在总线处于,空闲状态,才允许节点开始发送,帧起始位,。所有节点都必须,同步,于首先开始发送的那一个节点的帧起始位,前沿,。,仲裁场,由,标识符和远程发送请求位,(RTR),组成。标识符的长度为,11,位,按从高到低的顺序发送,最低位为,ID.0,,其中最高,7,位,(ID.10ID.4),不能全为,隐,性位。,标识符的作用就是信息的名字,用于接收方的信息过滤,同时还用于总线仲裁时的优先级判定。,数值小的标识符具有更高的优先级,。,标识符后为,RTR,位,即远程发送请求位。该位置位时,表示发送,RTR,信息,无数据场信息一。如果,该位复位,,则,发送数据帧,。数据字节的长度由,DLC,控制。,CAN,报文格式,控制场,控制场包括,6,位,包括两个保留位和,4,位数据长度码,(DLC),。标准帧的两个保留位必须发送显性位,,4,位数据长度码指出数据场的字节数目。,数据场,数据场由数据帧中被传送的数据组成,,08,个字节,每个字节,8,位,最高有效位在前。,CRC,校验场,采用,15,位的,CRC(,循环冗余码,),校验,其生成多项式为,CRC,校验场信息由,CAN,控制器硬件产生。,应答场,(ACK),应答场为两位,包括应答间隙和应答界定符。在应答场中,发送器送出两个,隐性,位。接收节点收到正确的报文后,在应答间隙,将发送,一个显性,位报告给发送器。,帧结束,每个数据帧和远程帧均由,7,个隐性位,组成的标志序列界定,表示总线回到空闲状态。,除标识符、,RTR,位、,DLC,场和数据字节外,其它位场信息均由,CAN,控制器硬件生成或操纵,1.7,开机握手与波特率自动同步,1,、数据包同步字符约定方式,2,、反复发生固定字符串,让接收端通过试收发同步,波特率同步方式,停止位,D,0,D,0,D,0,D,0,D,7,D,7,起始位,起始位,起始位,起始位,停止位,01H,接收端的波特率与发送端波特率相同,即同步,06H,接收端的,波特率,是发送端,波特率,的,2,倍,78H,接收端的波特率是发送端波特率,的,4,倍,80H,接收端的波特率是发送端波特率,的,8,倍,握手的方式,:接收端以最高波特率接收,发送端发送文件头,SOH,(,ASCII,码,01H),时,若接收到的信号为,01H,06H,78H,80H,2400b/s,4800b/s,9600b/s,19200b/s,图,1.38,波特率同步原理,停止位,D,0,D,0,D,0,D,0,D,7,D,7,起始位,起始位,起始位,起始位,停止位,01H,接收端的波特率与发送端波特率相同,即同步,06H,接收端的,波特率,是发送端,波特率,的,2,倍,78H,接收端的波特率是发送端波特率,的,4,倍,80H,接收端的波特率是发送端波特率,的,8,倍,什么是开机握手?,:确定波特率后,接收端应发送约定的字符串通知发送端已取得同步,且仪器准备好。,01H,06H,78H,80H,2400b/s,4800b/s,9600b/s,19200b/s,图,1.38,波特率同步原理,1.8,实例:数字温度计电路设计,系统设计要求:远距离传输的简易常温数字温度计。,带两位,LCD,数码显示,,RS-485,通信接口,电源为,+,12V,+14V,(使用汽车电源供电),.,数字测温电路,DS1626/DS1726,测温范围:,-55C,+125,C,精度:,DS1626,在,-0C,+70C,为,0.5C,DS1726,在,-10C,+85C,为,1C,电路图见,p22,电路设计,图,1.61,数字温度计电路的电源部分,稳压电源,由于使用汽车电源供电,供电电压较高,使用,MC7805T,稳压到,5V,。将电源稳压做在板上可方便使用。使用常规的三端稳压块,MC7805T,即可。图,1.61,中,汽车电源供电时,电压波动范围较大,故,C3,的耐压应达,25V,,,C4C6,为器件的,退耦电容,。,数字温度计电路,图,1.62,数字温度计电路,电路设计,1.,电源部分设计,电路图见,P23,图,1.41,2.,系统电路设计,单片机,80C2051,,,测温电路,DS1620,或,DS1626/DS1726,显示
展开阅读全文