您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于CAN驱动器的UART扩展应用
《现代电子技术》2007年第24期总第263期嵌入式技术1基于CAN驱动器的UART扩展应用第一作者1其他作者2(1.作者单位,单位所在城市邮编;2.作者单位,单位所在城市邮编)摘要:提出了一种利用控制器局域网(CAN)驱动器PCA82C250扩展通用异步收发器(UART)的方法,与原有RS232、RS422和RS485标准相比,在保持全双工通信模式的同时,具有传输距离远、通信速率高和组网节点多的优点,而且,无需CAN控制器即可使用,可以简化电路,降低成本。关键词:通用异步收发器控制器局域网PCA82C250RS232RS422RS485中图分类号:文献标识码:文章编号:TheapplicationofUARTbasedCANdriverThefirstauthor1Correspondingauthor1※Theotherauthor2(居中,小四,TimesNewRoman)(1.theauthor’sunit,CityCodenumber,country;2.theauthor’sunit,CityCodenumber,country)(居中,斜体,小五,TimesNewRoman,邮编非斜体)中国作者姓名的汉语拼音采用姓前名后,中间为空格,姓氏的首字母大写,名字首字母大写,双名连写,姓、名均不能缩写。作者工作单位的英译文还应在邮编之后加“,China”。Abstract:AmethodofUARTapplicationbasedCANdriverispresented,throughwhichthelongdistancecommunicationwithhighdatarateisrealizedinfullduplexmode.Andalso,comparedwithRS232,RS422andRS485standards,thismethodcanintroducemorenodesandgeneratehigherspeed.KeyWords:UARTCANPCA82C250RS232RS422RS4850引言在基于微处理器(MCU)的嵌入式设计,尤其是在下位机与PC机通信中,UART是一种广泛应用的接口模式。目前,绝大部分微处理器都集成了1个或多个片上UART口,此外,可编程串行异步通信控制器芯片如8250、16550、16554等也广为使用。UART口应用灵活,操作简单,但是由于TTL/CMOS电平传输距离有限,因此人们往往需要对其进行总线模式扩展以实现较远距离的通信应用,最常见的如RS232、RS422、RS485等,但是这些接口标准也都有其固有的缺点。针对这些不足,本文提出了一种利用CAN总线驱动器PCA82C250的UART口扩展方法,采用两线连接,最多可以带110个节点,全双工工作,通信距离最远可达10公里以上。1现有扩展标准分析[1][2][3]1.1RS232接口标准RS232是目前最常用的串行通信总线接口,所有PC机上带有的串行口基本都为此标准。其逻辑电平对地对称,逻辑0电平为+5V~+15V,逻辑1电平为-5V~-15V,TTL/CMOS电平可以经过232电平转换芯片(如MAX232等)变为RS232电平。其主要缺点有以下两点:收稿日期:2007-02-01基金项目:例:基金项目:国家自然科学基金资助项目(60234030);24论文名称2007年1)传输距离短,一般来说小于15米。这主要是由于收发之间有公共地,为单端传输,共模噪声会耦合到信号系统中。2)只能进行点到点通信,不能直接组网。1.2RS422接口标准RS422采用了双端电气接口形式,通过传输线驱动器将逻辑电平变换为差分电位。与RS232相比,RS422的传输距离长、速度快,传输速率最大可达10Mb/s,在此速率时,传输距离为120米,如果降低速率,在90Kb/s时,可达1200米。但是,RS422在电路中规定只能有1个发送器,可有多个接收器,因此通常也是用在点对点通信方式,并非真正的组网应用。1.3RS485接口标准RS485是RS422的变型,RS422为全双工,可同时发送和接收,而RS485为半双工,在某一时刻,只能1个发送1个接收。RS485是一种多发送器的电路标准,它扩展了RS422的性能,允许双导线上有32个驱动器和32个接收器。许多智能仪器设备都带有RS485接口,便于联网应用。由于RS485具有结构简单、抗干扰能力强、传输距离远、网络节点多、成本低和使用对布线要求不严格的双绞线等特点,而被广泛应用于各种工业现场。但在实际应用中,它仍存在一些不足。1)中继问题:为了实现更远距离(1200米)通信,或者连接更多数量(32)的节点,则必需使用中继器来增加网络的节点数或延长各节点之间的距离。由于RS485是二线制半双工通信,其数据传输是双向的,且同一时刻只允许一个节点发送数据。中继器必需随时接收并判断网络中的数据流向,然后根据其数据流向决定向中继器两端中的哪一端发送数据,要实现上述功能,中继器结构必然复杂,特别是在野外,中继器的供电往往是很麻烦的问题,其结果是既降低了系统的可靠性,又增加了系统成本。2)控制电路复杂:由于RS485为半双工,在节点发送前必须先发送使能信号,而在大多数嵌入式应用中,往往采用简化的UART口,仅有RXD、TXD两根线,这就需要MCU再提供一根通用I/O口线来实现RS485驱动器的收发控制,较为复杂。3)收发转换时间消耗:虽然RS485的通信可以达到10Mb/s的高速率,但是由于其为半双工模式,每次发送数据前,都要先使能发送,这个时间相对来说是比较长的。尤其当双方为交互通信时,收发转换时间的消耗是相当可观的,无形中大大降低了通信速率。2CAN总线与PCA82C250CAN(ControllerAreaNetwork,控制器局域网)总线[5][6]属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。CAN协议目前已纳入ISO国际标准(ISO11898),它分为物理层、数据链路层和应用层,其中物理层和数据链路层协议已经集成在芯片中,可通过硬件自动完成数据的成帧与发送和接收,从而大大减少软件的工作量,因此,特别适用于工业自动化领域,尤其是那些强调低层监测与控制且要求可靠性高、实时性好的恶劣条件下的工业现场使用。表1PCA82C250管脚定义图1管脚图管脚符号功能描述1TXD发送数据输入端2GND地3Vcc电源电压:4.5VVcc5.5V4RXD接收数据输出端5VREF基准电压输出端6CANL低电平输入/输出端7CANH高电平输入/输出端8Rs斜率控制电阻输入端待刊第一作者等:论文题名3本文仅利用CAN总线的物理层,而不涉及其链路层协议。这样,一方面不需要CAN控制器,降低了成本;另一方面,可以仍然采用原有的通信协议,无需增加编程任务。PCA82C250[4]是PHILIPS公司设计生产的一款CAN总线物理接口芯片,其封装有DIP8和SO8两种,其外形及管脚定义分别见图1和表1。PCA82C250的主要特点有:完全符合ISO11898标准;高速率(最高达1Mbps);具有抗汽车环境中的瞬间干扰,保护总线能力;斜率控制,降低射频干扰(RFI);差分接收器,抗宽范围的共模干扰、抗电磁干扰(EMI);具有过热保护和短路保护;网络中的节点掉电或未上电不会影响整个网络的工作;可连接110个节点。PCA82C250提供与总线的差动发送和接收,其真值表见表2。表2PCA82C250真值表电源(V)TXDCANHCANL总线状态RXD4.5—5.50高电平低电平支配04.5—5.51或悬空悬空悬空退让12X悬空悬空退让X2—4.50.75Vcc悬空悬空退让X2—4.5X悬空悬空退让X3PCA82C250与MCU的接口在应用中,PCA82C250可与MCU直接接口,且接口电路非常简单,所需外围元件很少,如图2所示。1234ABCD4321DCBATXD1GND2VCC3RXD4VREF5CANL6CANH7RS8U2PCA82C250R247kR31kR41kGNDVCCGNDZ1Z2GNDCANHCANLTXDRXD图2PCA82C250电路连接图图中TXD和RXD为数据输入,直接接MCU的UART对应端口即可,CANH和CANL为差分输出,接入总线即可。4应用模式基于PCA82C250的UART扩展应用主要有两种模式:点对点通信和多机联网通信。4.1点对点通信如图3所示,两个节点之间利用双绞线线连,通信距离最远可达10km。24论文名称2007年TXDRXDPCA82C250CANHCANL120120CANHCANLPCA82C250TXDRXD图3点对点通信模式4.2组网通信组网通信模式如图4所示,各节点公用一对差分的总线,所有82250输出的CANH、CANL连接在一起,可接入节点数最大为110个。120120CANHCANLPCA82C250TXDRXDTXDRXDPCA82C250CANHCANLTXDRXDPCA82C250CANHCANLTXDRXDPCA82C250CANHCANL图4组网通信模式5结束语基于CAN驱动器PCA82C250的UART口扩展方法,充分利用了CAN总线物理层的优越性,克服了RS232只能点对点通信无法组网应用、传输距离短,RS485只能半双工通信,以及RS422只能1主10从节点有限等缺点,真正的实现了网络内所有节点对等的组网模式,且节点数增加到了110个,传输距离大大增加。而且,由于没有引入CAN控制器,完全可以不改变原有通信协议。更由于其电路简单、成本低,在产品卡开发应用中,将是一种有意义的尝试。[参考文献][1]王福瑞.单片微机测控系统设计大全[M].北京,北京航空航天大学出版社,2001.p132~136.[2]石东海,扈啸,周旭升.单片机数据通信技术从入门到精通[M].西安,西安电子科技大学出版社,2002.p99~109.[3]李朝青.PC机及单片机数据通信技术[M].北京,北京航空航天大学出版社,2002.p95~107.[4]Philipssemiconductorscorporation.PCA82C250datasheet[DB].2000.[5]路小俊,曹海欧,郑建勇.基于CAN总线的通信研究[J].低压电器.2002年06期.[6]沈德耀,金敏.网络通讯与控制——现场总线纵横谈[J].仪器仪表标准化与计量.2003年01期.[7]王桂荣,钱剑敏.CAN总线和基于CAN总线的高层协议[J].计算机测量与控制.2003年05期[8]区锐相,李克天,魏胜.现场总线技术及其应用[J].精密制造与自动化.2002年03期.[9]李伟,谢丁龙.CAN总线实验设计与实现[J].科技资讯.2007年05期.文章作者可按下列顺序刊出其简介:姓名(出生年—),性别(民族—汉族可省略),籍贯,职称,学位,简历及研究方向(任选);在简介前加“第一作者简介:”作为标识。本刊要刊登第一作者至第三作者简介。文章标题作者单位待刊第一作者等:论文题名5作者姓名研究方向E-mail联系电话邮编手机通信地址投稿栏目本刊特别声明:不接受一稿多投及雷同稿,要求论文反映的信息及学术成果必须是作者原创、未公开发表过的论文。稿件一经被本刊录用,将随本刊在相关网络媒体传播,不同意的作者请改投他刊。
本文标题:基于CAN驱动器的UART扩展应用
链接地址:https://www.777doc.com/doc-2533564 .html