《串行通信补充232、485、CAN.ppt》由会员分享,可在线阅读,更多相关《串行通信补充232、485、CAN.ppt(37页珍藏版)》请在三一办公上搜索。
1、,串口扩展-232、485和CAN总线,单片机具有控制能力强的优点,但不适于作大量的数据处理、查询等。实际应用中常将单片机作为下位机使用,主要实现数据采集与控制功能。微机通常作为上位机接收下位机采集的各种数据,并进行数据运算、处理等,同时向下位机发出各种指令。因此,实现微机与单片机间数据通信是十分重要的。,RS-232C总线标准与应用,RS-232C是使用得最早、最多的一种异步串行通信总线标准。它由美国电子工业协会(Electronic Industries Association)于1962年公布,1969年最后一次修订而成。其中RS是 Recommended Sandard的缩写,232是
2、该标准的标识,C表示此标准已修改了三次。RS-232C主要用来定义计算机系统的一些数据终端设备(DTE)和数据通信设备(DCE)之间接口的电气特性,目前已广泛用于计算机与终端或外设之间的近端连接,适合于短距离或带调制解调器的通信场合。,RS-232C的电气特性。,RS-232C标准早于TTL电路的产生,与TTL、MOS逻辑电平规定不同。该标准采用负逻辑:低电平表示逻辑1,电平值为3Vl5V;高电平表示逻辑0,电平值为+3V一+l5V。因此,RS-232C不能直接与TTL电路连接,使用时必须加上适当的电平转换电路,否则将使TTL电路烧毁。,RS-232C引脚功能,信号分类,RS-232C信号分为
3、两类:一类是DTE与DCE交换的信息:TxD和RxD;另一类是为了正确无误地传输上述信息而设计的联络信号。,数据发送与接收线,发送数据TxD:通过TxD线,终端将串行数据由发送端(DTE)向接收端(DCE)发送。按串行数据格式,先低位后高位的顺序发出。接收数据RxD:通过RxD线,终端接收从发送端DTE(或调制解调器)输出的数据。,联络信号,这类信号共有6个:请求传送信号RTS:用来表示DTE请求DCE发送数据,即当终端要发送数据时,该信号RTS=1。清除发送信号CTS:用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。数据准备就绪信号DSR:这是DCE向DTE发出的
4、联络信号。DSR将指出本地DCE的工作状态。当DSR=l时,表示DCE没有处于测试通话状态,这时DCE可以与远程DCE建立通道。数据终端就绪信号DTR:这是DTE向DCE发送的联络信号。DTR=l时,表示DTE处于就绪状态,本地DCE和远程DCE之间建立通信通道;而DTR=0时,将迫使DCE终止通信工作。数据载波检测信号DCD:这是DCE向DTE发出的状态信息。当DCD=1时,表示本地DCE接收到远程DCE发送。振铃指示信号RI:这是DCE向DTE发出的状态信息。RI=1时,表示本地DCE接收到远程DCE的振铃信号。,RS-232C与单片机的连接,RS-232C接口与单片机联接时需要进行电平转
5、换,常用的电平转换芯片有MC1488、MC1489、MAX232,其中MAX232采用单5V电源供电,使用非常方便。MAX232系列芯片由MAXIM公司生产,内含两路接收器和驱动器。其内部的电源电压变换器可以把输入的+5V电源电压变换成RS-232C输出所需的10V电压。采用该芯片硬件接口简单、价格适中,所以被广泛使用。,MAX232引脚图,MAX232应用电路,略,RS485总线扩展,RS485标准接口是单片机系统种常用的一种串行总线之一。与RS232C比较,其性能有许多改进。,实际的单片机通信系统中,是不能真接用两条传输线将串行口连接起来的,这样做传输的距离很近,无法有效进行数据通信。RS
6、-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,故传输信号能在千米以外得到恢复。,RS485接口可连接成半双工和全双工两种通信方式。常见的半双工通信芯片有SN75176、SN75276、SN75LBC184 MAX481、MAX483、MAX485、MAX487等,全双工通信芯片有SN75179、SN75180、MAX488、MAX489、MAX490、MAX491等。通常采用半双工方式组网应用,组网时通常采用终端匹配的总线型结构,采用一条总线将各个节点串接起来,表中为一些常见芯片可联接的节点数。,MAX485,MAX48
7、5的封装有DIP、SO和uMAX三种,其中DIP封装的管脚如图所示。管脚的功能如下:RO:接收器输出端。若A比B大200mV,RO为高;反之为低电平。RE:接收器输出使能端。RE为低时,RO有效;为高时,RO呈高阻状态。DE:驱动器输出使能端。若DE1,驱动器输出A和B有效;若DE0,则它们呈高阻态。若驱动器输出有效,器件作为线驱动器用,反之作为线接收器用。DI:驱动器输入端。DI0,有A0,B1;当DI1,则A1,B0。GND:接地。A:同相接收器输入和同相驱动器输出。B:反相接收器输入和反相驱动器输出。VCC:电源端,一般接+5V。,MAX485典型的工作电路,其中平衡电阻Rp通常取100
8、300欧姆。,MAX485的收发功能,89C51与MAX485的接口电路,P1.7用来控制MAX485的接收或发送,其余操作同串口。,SN75176芯片,RO:接收器输出。AB+0.2V时,RO=“1”;AB0.2V,RO=“0”:接收器输出使能。=“0”时,允许接收器输出;=“1”时,禁止接收器输出,RO为高阻。DE:驱动器输出使能。DE=“1”时,允许驱动器工作;DE=“0”时,驱动器被禁止,输出端A、B为高阻。DI:驱动器输入。DI=“1”时,A输出高电平,B输出低电平;DI=“0”时,A输出低电平,B输出高电平。GND:地。A:接收器同相输入和驱动器同相输出。B:接收器反相输入和驱动器
9、反相输出。VCC:5V电源。,连接电路时各驱动器分时使用传输线(不发送数据的驱动器应被禁止)。网络上可挂32个站。传输线通常采用双绞线,可以较大程度抑制共模干扰。在传输线的末端接120欧姆的电阻进行阻抗匹配,消除由于不匹配在线路上产生的信号反射。,CAN概述,CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。,起源,CAN总线是德国BOSCH公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯协
10、议,是交通运载工具电气系统中应用较广的总线。现在向过程工业,机械工业,机器人,数控机床,传感器等方面发展。1993年11月,ISO正式颁布CAN为国际标准ISO11898。支持CAN协议的公司有Intel、Motorola、Philips、Siemens、NEC、Honeywell等公司。,CAN总线的主要技术指标,传输速率:可达到1Mbps(40米以内)传输距离:10千米(5kbps以下)支持的介质:铜线,光纤媒体访问控制方式:CSMA/冲突按优先权解决可挂接的最大节点数:110,CAN总线的信号传送,信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是2.5V左
11、右,此时状态表示为逻辑“1”,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H=3.5V 和CAN_L=1.5V。,CAN总线的数据通信,CAN属于总线式串行通信网络可实现点对点、一点对多点及全网广播几种方式发送接收数据为多主方式工作,通信方式灵活CAN网络按节点类型分成不同的优先级CAN采用非破坏性总线优先级仲裁技术每帧信息都有循环冗余校验CRC及其它检错措施CAN节点在错误严重的情况下,具有自动关闭输出功能 CAN总线以报文为单位进行数据传递 每个标准报文起始部分有一个11位的标志符ID 数据域为0-8个字节,每个字节8位。,载波侦
12、听多路访问/冲突检测,利用CSMA/CD(Carrier Sense Multiple Access with Collision Detect)访问总线,可对总线上信号进行检测,只有当总线处于空闲状态时,才允许发送。利用这种方法,可以允许多个节点挂接到同一网络上。当检测到一个冲突位时,所有节点重新回到监听总线状态,直到该冲突时间过后,才开始发送。在总线超载的情况下,这种技术可能会造成发送信号经过许多延迟。为了避免发送时延,可利用CSMA/CD方式访问总线。当总线上有两个节点同时进行发送时,必须通过“无损的逐位仲裁”方法来使有最高优先权的的报文优先发送。在CAN总线上发送的每一条报文都具有唯一
13、的一个11位或29位数字的ID。CAN总线状态取决于二进制数0而不是1,所以ID号越小,则该报文拥有越高的优先权。因此一个为全0标志符的报文具有总线上的最高级优先权。可用另外的方法来解释:在消息冲突的位置,第一个节点发送0而另外的节点发送1,那么发送0的节点将取得总线的控制权,并且能够成功的发送出它的信息。,CAN的报文格式,CAN协议定义了四种不同的帧。1、数据帧,这个帧被用于当一个节点把信息传送给系统的任何其它节点。数据帧由7个不同的位域组成,即帧起始、仲裁域、控制域、数据域、CRC域、应答域、帧结束。2、远程帧,此帧是基于数据帧格式,只要把RTR位设置成远程发送请求(Remote Tra
14、nsmit Request),并且没有数据场。总线上发送此帧后,表示请求接收与该帧ID相符的数据帧。远程帧由6个不同的位场组成,即帧起始、仲裁域、控制域、CRC域、应答域、帧结束。3、错误帧,任何单元监测到错误时就发送错误帧。错误帧由两个不同的域组成。第一个域是错误标志,用做为不同站提供错误标志的叠加;第二个域是错误界定符。4、超载帧,节点需要增加时间来处理接收到的数据时便发送过载帧。超载帧包括两个位域:超载标志和超载界定符。,CAN的数据错误检测,循环冗余检查(CRC)在一帧报文中加入冗余检查位可保证报文正确。接收站通过CRC可判断报文是否有错。帧检查 这种方法通过位场检查帧的格式和大小来确
15、定报文的正确性,用于检查格式上的错误。应答错误 如前所述,被接收到的帧由接收站通过明确的应答来确认。如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收。CAN协议也可通过位检查的方法探测错误。位填充 为保证同步,同步沿用位填充产生。在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。例如,五个连续的低电平位后,CAN自动插入一个高电平位。CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。,CAN和485的比较,CAN总线连接图,CAN总线系统,汽车CAN,汽车电子系统,一辆采用
16、传统布线方法(点对点方式)的高档汽车中,其导线长度可达2000米,电气节点达1500个,且大约每十年增长1倍典型的控制单元有电控燃油喷射系统、电控传动系统、防抱死制动系统(ABS)、防滑控制系统(ASR)、废气再循环控制、巡航系统和空调系统。,汽车总线要求,传输信息的安全;信号的逻辑“1”明显区别于逻辑“0”;异步总线随机地传送数据;根据预先确定的优先权进行总线访问,竞争解决后获胜站点能够访问总线且继续传输信息;具有根据信息内容解决总线访问竞争的能力;总线的功能寻址和点到点寻址能力;节点在尽量小的时间内成功访问总线;最优化的传输速率(波特率);节点的故障诊断能力;具有一定的可扩充性。,数字信号
17、的编码,为了保证信息传输的可靠性,对数字信号正确编码非常重要。汽车局域网数据信号多采用脉宽调制和不归零制(NRZ)。采用PWM作为编码方案时,波特率上界为3105kb/s,用于传输速率较低的场合。采用NRZ进行信息传输时,可以达到1Mb/s,用于传输速率较高的场合。,总线访问协议,汽车总线的访问协议一般为争用协议,每个节点都能独立决定信息帧的发送。如果同时有两个或两个以上的节点发送信息,就会出错,这就要求每个节点有能力判断冲突是否发生,发生冲突时按某个规律等待随机时间间隔后重发,以避免再发生冲突。网络协议所使用的防冲突监听措施多为载波监听多路访问,如CAN、SAEJ1850、ADVANCED、PALMNET等都采用的是:载波监听多路访问/冲突检测+无损仲裁(CSMA/CD+NDA),