第九章串行通信补充232485CAN
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无站接收。CAN协议也可通过位检查的方法探测错误。
位填充
为保证同步,同步沿用位填充产生。在五个连续相等位后,发送站自动插入一
1993年11月,ISO正式颁布CAN为国际标
准ISO11898。
支持CAN协议的公司有Intel、Motorola、
Philips、Siemens、NEC、Honeywell等公
司。
CAN总线的主要技术指标
传输速率: 可达到1Mbps(40米以内) 传输距离: 10千米(5kbps以下) 支持的介质:铜线,光纤 媒体访问控制方式:CSMA/冲突按优先权
MAX232引脚图
MAX232应用电路
略
RS-485总线扩展
RS-485标准接口是单片机系统种常用的 一种串行总线之一。与RS-232C比较, 其性能有许多改进。
实际的单片机通信系统中,是不能真接用两 条传输线将串行口连接起来的,这样做传输 的距离很近,无法有效进行数据通信。
RS-485收发器采用平衡发送和差分接收, 因此具有抑制共模干扰的能力,加上接收器 具有高的灵敏度,能检测低达200mV的电 压,故传输信号能在千米以外得到恢复。
CAN的数据错误检测
循环冗余检查(CRC)
在一帧报文中加入冗余检查位可保证报文正确。接收站通过CRC可判断报文
是否有错。
帧检查
这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式
上的错误。
应答错误
如前所述,被接收到的帧由接收站通过明确的应答来确认。如果发送站未收
到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文
⑤ GND:地。 ⑥A:接收器同相输入和驱动器同相输出。 ⑦B:接收器反相输入和驱动器反相输出。 ⑧VCC:5V电源。
连接电路时各驱动器分时使用传输线(不发送 数据的驱动器应被禁止)。网络上可挂32个 站。传输线通常采用双绞线,可以较大程度 抑制共模干扰。在传输线的末端接120欧姆 的电阻进行阻抗匹配,消除由于不匹配在线 路上产生的信号反射。
单片机具有控制能力强的优点,但不适于作大 量的数据处理、查询等。实际应用中常将单 片机作为下位机使用,主要实现数据采集与 控制功能。微机通常作为上位机接收下位机 采集的各种数据,并进行数据运算、处理等, 同时向下位机发出各种指令。因此,实现微 机与单片机间数据通信是十分重要的。
RS-232C总线标准与应用
CAN概述
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上 应用最广泛的现场总线之一。最初,CAN 被设计作为汽车环境中的微控制器网络。
起源
CAN总线是德国BOSCH公司为解决现代汽车中 众多的控制与测试仪器之间的数据交换而开发的一 种串行数据通讯协议,是交通运载工具电气系统中 应用较广的总线。现在向过程工业,机械工业,机 器人,数控机床,传感器等方面发展。
CAN总线的数据通信
CAN属于总线式串行通信网络 可实现点对点、一点对多点及全网广播几种方式发送接收数据 为多主方式工作,通信方式灵活 CAN网络按节点类型分成不同的优先级 CAN采用非破坏性总线优先级仲裁技术 每帧信息都有循环冗余校验CRC及其它检错措施 CAN节点在错误严重的情况下,具有自动关闭输出功能 CAN总线以报文为单位进行数据传递 每个标准报文起始部分有一个11位的标志符ID 数据域为0-8个字节,每个字节8位。
数据载波检测信号DCD:这是DCE向DTE发出的状态信息。当 DCD=1时,表示本地DCE接收到远程DCE发送。
振铃指示信号RI:这是DCE向DTE发出的状态信息。RI=1时, 表示本地DCE接收到远程DCE的振铃信号。
RS-232C与单片机的连接
RS-232C接口与单片机联接时需要进行电平转 换,常用的电平转换芯片有MC1488、 MC1489、MAX232,其中MAX232采用 单5V电源供电,使用非常方便。 MAX232 系列芯片由MAXIM公司生产,内含两路接 收器和驱动器。其内部的电源电压变换器可 以把输入的+5V电源电压变换成RS-232C 输出所需的±10V电压。采用该芯片硬件接 口简单、价格适中,所以被广泛使用。
CAN的报文格式
CAN协议定义了四种不同的帧。 1、数据帧,这个帧被用于当一个节点把信息传送给系统的任何其它
节点。数据帧由7个不同的位域组成,即帧起始、仲裁域、控制域、 数据域、CRC域、应答域、帧结束。 2、远程帧,此帧是基于数据帧格式,只要把RTR位设置成远程发送 请求(Remote Transmit Request),并且没有数据场。总线上发 送此帧后,表示请求接收与该帧ID相符的数据帧。远程帧由6个不同 的位场组成,即帧起始、仲裁域、控制域、CRC域、应答域、帧结束。 3、错误帧,任何单元监测到错误时就发送错误帧。错误帧由两个不 同的域组成。第一个域是错误标志,用做为不同站提供错误标志的叠 加;第二个域是错误界定符。 4、超载帧,节点需要增加时间来处理接收到的数据时便发送过载帧。 超载帧包括两个位域:超载标志和超载界定符。
信号方向 对DTE × 出 入 出 入 入 × 入
对DCE 入 出 入 出 出 × 出
入
出
信号分类
RS-232C信号分为两类: 一类是DTE与DCE交换的信息:TxD和RxD; 另一类是为了正确无误地传输上述信息而设计
的联络信号。
数据发送与接收线
发送数据TxD:通过TxD线,终端将串行数 据由发送端(DTE)向接收端(DCE)发送。按 串行数据格式,先低位后高位的顺序发出。
数据准备就绪信号DSR: 这是DCE向DTE发出的联络信号。 DSR将指出本地DCE的工作状态。当DSR=l时,表示DCE没 有处于测试通话状态,这时DCE可以与远程DCE建立通道。
数据终端就绪信号DTR: 这是DTE向DCE发送的联络信号。 DTR=l时,表示DTE处于就绪状态,本地DCE和远程DCE之间 建立通信通道;而DTR=0时,将迫使DCE终止通信工作。
组网时通常采用终端匹配的总线型结构,采用一条总
线将各个节点串接起来,表中为一些常见芯片可 联接的节点数。
节点数
型号
32
SN75176,SN75276,SN75179,SN75180,MAX485,MAX488,AX490
64
SN75LBC184
128
MAX487,MAX1487
256
MAX1482,MAX1483,MAX3080~MAX3089
载波侦听多路访问/冲突检测
利用CSMA/CD(Carrier Sense Multiple Access with Collision Detect)访问总线,可对总线上信号进行检测, 只有当总线处于空闲状态时,才允许发送。利用这种方法,可 以允许多个节点挂接到同一网络上。当检测到一个冲突位时, 所有节点重新回到‘监听’总线状态,直到该冲突时间过后, 才开始发送。在总线超载的情况下,这种技术可能会造成发送 信号经过许多延迟。为了避免发送时延,可利用CSMA/CD方 式访问总线。当总线上有两个节点同时进行发送时,必须通过 “无损的逐位仲裁”方法来使有最高优先权的的报文优先发送。 在CAN总线上发送的每一条报文都具有唯一的一个11位或29 位数字的ID。CAN总线状态取决于二进制数‘0’而不是‘1’, 所以ID号越小,则该报文拥有越高的优先权。因此一个为全 ‘0’标志符的报文具有总线上的最高级优先权。可用另外的方 法来解释:在消息冲突的位置,第一个节点发送0而另外的节 点发送1,那么发送0的节点将取得总线的控制权,并且能够 成功的发送出它的信息。
② :接收器输出使能。 =“0”时,允许接收器输出; =“1” 时,禁止接收器输出,RO为高阻。
③DE:驱动器输出使能。DE=“1”时,允许驱动器工作;DE=“0” 时,驱动器被禁止,输出端A、B为高阻。
④DI:驱动器输入。DI=“1”时,A输出高电平,B输出低电平; DI=“0”时,A输出低电平,B输出高电平。
解决 可挂接的最大节点数:110
CAN总线的信号传送
信号使用差分电压传送,两条信号线被称为 “CAN_H”和“CAN_L”,静态时均是 2.5V左右,此时状态表示为逻辑“1”,也 可以叫做“隐性”。用CAN_H比CAN_L 高表示逻辑“0”,称为“显形”,此时, 通常电压值为:CAN_H = 3.5V 和 CAN_L = 1.5V。
接收数据RxD:通过RxD线,终端接收从发 送端DTE (或调制解调器)输出的数据。
联络信号
这类信号共有6个:
请求传送信号RTS:用来表示DTE请求DCE发送数据,即当终 端要发送数据时,该信号RTS=1。
清除发送信号CTS: 用来表示DCE准备好接收DTE发来的数据, 是对请求发送信号RTS的响应信号。
MAX485
MAX485的封装有DIP、SO和uMAX三种,其中DIP封装的管脚如图所示。 管脚的功能如下:
RO:接收器输出端。若A比B大200mV,RO为高;反之为低电平。 RE:接收器输出使能端。RE为低时,RO有效;为高时,RO呈高 阻状态。 DE:驱动器输出使能端。若DE=1,驱动器输 出A和B有效;若DE=0,则它们呈高阻态。若 驱动器输出有效,器件作为线驱动器用,反之 作为线接收器用。 DI:驱动器输入端。DI=0,有A=0,B=1; 当DI=1,则A=1,B=0。 GND:接地。 A:同相接收器输入和同相驱动器输出。 B:反相接收器输入和反相驱动器输出。 VCC:电源端,一般接+5V。
RS-232C是使用得最早、最多的一种异步串行通信总 线标准。它由美国电子工业协会 (Electronic Industries Association)于1962年公布,1969 年最后一次修订而成。其中RS是 Recommended Sandard的缩写,232是该标准 的标识,C表示此标准已修改了三次。 RS-232C 主要用来定义计算机系统的一些数据终端设备 (DTE)和数据通信设备(DCE) 之间接口的电气特 性,目前已广泛用于计算机与终端或外设之间的近 端连接,适合于短距离或带调制解调器的通信场合。
RS-232C引脚功能
插针
1* 2* 3* 4* 5* 6* 7* 8* 9,10 11 12 13 14 15* 16 17* 18 19 20* 21* 22* 23* 24* 25
信号名 GND TXD RXD RES CTS DSR SGND DCD
DTR
功能说明
保护地 发送数据 接收数据 请求发送 允许发送 数据设备(DCE)准备就绪 信号地(公共回线) 接收线路信号检测 未用,为测试保留 空 辅信道接受线路信号检测 辅信道允许发送 辅信道发送数据 发送信号码元定时(DCE为源) 辅信道接收数据 发送信号码元定时 空 辅信道请求发送 数据终端贮备就绪 信号质量检测 振铃指示 数据信号速率选择 发送信号码元定时(DCE为源) 空
RS-485接口可连接成半双工和全双工两种 通信方式。常见的半双工通信芯片有 SN75176、SN75276、 SN75LBC184 MAX481、MAX483、 MAX485、MAX487等,全双工通信芯片 有SN75179、SN75180 、MAX488、 MAX489、MAX490、MAX491等。通 常采用半双工方式组网应用
RS-232C的电气特性。
RS-232C标准早于TTL电路的产生,与TTL、 MOS逻辑电平规定不同。该标准采用负逻 辑:低电平表示逻辑1,电平值为-3V~- l5V;高电平表示逻辑0,电平值为+3V一 +l5V。因此,RS-232C不能直接与TTL电 路连接,使用时必须加上适当的电平转换电 路,否则将使TTL电路烧毁。
MAX485典型的工作电路
其中平衡电阻Rp通常取100~300欧姆。
MAX485的收发功能
89C51与MAX485的接口电路
P1.7用来控制MAX485的接收或发送,其余操作同串口 。
SN75176芯片
①RO:接收器输出。A-B≥+0.2V时,RO=“1”;A-B≤-0.2V, RO=“0”