RS232通信网络与CAN总线通信网络互联设计

发布者:灵感驿站最新更新时间:2010-11-17 来源: 电子技术应用关键字:CAN  ATmega128  SJA1000  RS232 手机看文章 扫描二维码
随时随地手机看文章

    目前工业设备之间的通信很多采用RS232接口,但由于RS232通信距离短(根据EAT/TAI-232标准,仅为15 m)、接口易损,而且只能进行点到点通信,不能直接组成多点通信网络。为了延长RS232的通信距离,并将RS232节点组成通信网络,目前广泛使用RS232/RS485信号转换器。但是,由于RS485通信本身的局限性,在实际应用中存在许多不足:总线效率低、系统的实时性差、通信的可靠性低、网络工程调试复杂、传输距离不理想、单总线可挂接的节点少、应用不灵活等。

    基于CAN通信的优越性,本文介绍一种可以将RS232通信网络转换成CAN通信网络的方法,以更好地解决用户建立远程通信网络的问题。

1 CAN总线简介

1.1 CAN总线概述

    控制器局域网络CAN(Controller Area Network),属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络, 最初由德国Bosch公司于20 世纪80 年代用于汽车内部测试和控制仪器之间的数据通信[1]。其总线规范已被ISO国际标准组织定为国际标准,CAN 协议经ISO 标准化后有ISO11898 标准和ISO11519标准两种,这两种标准对于数据链路层定义是相同的,但物理层不同。ISO11898是通信速度为125 kb/s-1 Mb/s的CAN高速通信标准; ISO11519是通信速度为125 kb/s以下的CAN低速通信标准。CAN协议建立在国际标准组织的开放系统互联模型基础上,但其模型结构只有三层:ISO底层的物理层、数据链路层和应用层;其信号传输介质可采用双绞线、同轴电缆和光纤等;通信最大距离可达10 km;最大通信波特率可达1 Mb/s,可挂设备最多达110个。CAN总线具有的特点,越来越广泛地被应用于各种工业现场,并被公认为是最有前途的现场总线之一。

1.2 CAN总线工作机制

1.2.1 CAN的报文类型

    CAN系统中节点之间以报文的形式进行通信,其报文有五种类型:数据帧、远程帧、错误帧、过载帧和帧空间[2]。每种帧都有相应固定的格式,其中数据帧和远程帧与应用密切相关,其他类型帧由CAN控制器根据具体的情况自动传输。帧种类及用途如表1所示。

1.2.2  CAN节点的仲裁机制

    只要总线空闲,任何单元都可以开始发送报文(多主控制)。最先访问总线的节点可获得总线控制权。若多个节点同时开始传送报文,就会有总线访问冲突,可使用识别符的位形式仲裁解决这个冲突。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个节点继续发送。若发送的是隐性电平而监控到的是显性电平,则这个节点失去了仲裁,必须退出发送状态。ID越小优先权越高,发送高优先级 ID 消息的节点可获得发送权。

1.2.3  CAN节点的报文滤波机制

    CAN 控制器监听接收总线上的所有报文,只有通过CAN控制器的报文筛选器筛选的报文才能进入CAN 的报文接收缓冲区,为该节点所接收并传送给应用程序。

1.2.4  CAN节点状态

    CAN总线上每个节点都处于“错误主动”、“错误被动”和“总线关闭”三种状态之一。区分这几种状态的主要依据是发送错误计数器和接收错误计数器的值,并且这三种状态可以在一定条件下相互转化。

 处于错误主动状态的节点,当发现总线上有错误传输时,将向总线上发“主动出错帧”;处于错误被动状态的节点,当发现总线上有错误传输时,将向总线上发“被动出错帧”;当节点进入总线脱离状态时,将完全退出总线操作。

2 硬件电路设计

2.1 硬件设计原理

   RS232串口通信与CAN通信是两种不同的传输方式,无论是数据的传输方式还是逻辑电平的电压表示都是不同的,本设计主要完成RS232接口与CAN总线协议之间的转换,以及数据的双向传输。设计原理如图1所示。

    RS232接口端信号经过RS232电平转换成TTL电平,直接输入到微控制器的通用同步/异步串行接口(USART),微控制器控制CAN控制器读出有效的数据经光电隔离的CAN收发器发送到CAN总线上。

    本设计采用的RS232电平转换器为MAX232,微控制器为ATmega128,CAN总线控制器采用SJA1000,CAN总线收发器采用高速的具有收发和隔离功能的CTM1050控制器。ATmega128是整个模块的控制中心,控制着RS232接口和CAN总线的通信。器件连接示意图如图2所示。

    RS232接口的发送数据端和接收数据端经MAX232电平转换分别与Atmega128串口、接收数据端PE0/RXD0、发送数据端PE1/TXD0相连;SJA1000的AD0~AD7连接到Atmega128的PA口,INT与Atmega128的INT0相连,ALE与Atmega128的PG2/ALE相连,读写端RD、WR分别连接Atmega128的PG1/RD、PG0/WR,CS连接到Atmega128的PC6,Atmega128的时钟取自SJA1000的振荡器,即SJA1000的CLKOUT连接到Atmega128的XTAL1;收发器CTM1050的RX0、TX0分别连接SJA1000T的RX0、TX0, CANH、CANL连接到CAN总线上。

2.2 主要芯片

   RS232用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在RS232接口与TTL电路之间进行电平和逻辑关系的变换。MAX232芯片可完成TTL⇔RS232电平的双向转换。

   ATmega128单片机是基于AVR RISC结构的8位低功耗CMOS微处理器,为AVR单片机系列中的高性能单片机。ATmega128单片机内部带有128 KB的系统内可编程Flash程序存储器,具有同时读写能力;4 KB的E2PROM;4 KB的SRAM;53个通用I/O端口线;32个通用工作寄存器;4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C);2个USART;串行外围设备接口(SPI);与IEEE1149.1规范兼容的JTAG测试接口,可以用于片上调试;6种省电模式;53个可编程I/O端13线;由于其先进的指令集以及单周期指令执行时间,数据吞吐率高达1 MIPS/MHz等。

   SJA1000是一种独立的CAN控制器,主要用于移动目标和一般工业环境中的区域网络控制,具有新的PeliCAN操作模式,这种模式兼容CAN2.0A 和CAN2.0B 两种技术规范[3]。SJA1000可完成CAN总线的物理层和数据链路层的所有功能,由CAN核心模块、发送缓冲区、接收FIFO、验收滤波器和接口管理逻辑组成[4]。

   CTM1050是一款带隔离的高速CAN收发器芯片,该芯片内部集成了所有必需的CAN隔离及CAN收、发器件,其主要功能是将CAN 控制器的逻辑电平转换为CAN总线的差分电平并且具有直流2 500 V的隔离功能及ESD 保护作用。该芯片符合ISO 11898标准,可与其他遵从ISO 11898标准的CAN 收发器互连。

3 软件设计

    本设计程序主要包括:串口初始化程序、SJA1000初始化程序、单片机接收串口中断服务子程序、单片机发送数据到串口中断服务子程序、单片机接收CAN数据子程序、单片机发送CAN数据程序以及一些异常错误处理子程序等等。程序流程图如图3所示。

    本设计可以将RS232通信网络转换成CAN通信网络,能够很方便地实现RS232多点组网、远程通信,且不需要更改原有RS232通信软件,用户可直接嵌入原有的应用领域,使系统设计达到更先进的水平。

关键字:CAN  ATmega128  SJA1000  RS232 引用地址:RS232通信网络与CAN总线通信网络互联设计

上一篇:基于ARM的扩散/氧化控制系统的设计
下一篇:基于连续波多普勒的超声成像系统设计

推荐阅读最新更新时间:2024-05-02 21:11

MT4523T-CAN总线型触摸屏在电动大巴行业的应用
一、概述 汽车是现代社会的重要交通工具,为人们提供了便捷、舒适的出行服务,然而传统燃油车辆在使用过程中产生了大量的有害废气,并加剧了对不可再生资源石油的依赖。作为能源消费大国,我国形势更为严峻,能源大量进口危及到国民经济正常运行和国家能源安全。在环境方面,交通能源消耗也是造成局部环境污染和全球温室气体排放的主要原因之一。 为了应对全球能源危机和气候变化,近年来世界各国纷纷加速推进汽车产业的转型升级,电动汽车作为传统燃油汽车的替代方案逐渐成为研究热点。但是电池及电池管理却是制约电动汽车发展的瓶颈,在电池自身容量已经确定的情况下,对电池组有效地监控、管理,成为延长电池组使用寿命,从而提升电动汽车续行里程的重要手段。 本文结合汽车电
[嵌入式]
基于CAN总线的电流、电压变送器的设计与实现
0.引言   现场总线技术和智能化仪表技术是目前自动与控制行业发展最快的两大技术。在现场总线技术中,CAN总线是发展较为迅速的一种协议标准,已经被广泛应用于自动化领域。本文介绍的是一种基于CAN总线的智能变送系统。控制器局域网(ControllerAreaNetwork,CAN)是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种数据通信协议。CAN总线能有效地支持分布式控制或实时控制的串行通信网络。通信介质可以是双绞线、同轴电缆和光导纤维。   1 系统网络构成   为满足该控制系统既要集中管理又要分散控制的要求,基于CAN总线的电流、电压变送系统采用总线式网络拓扑结构,
[单片机]
基于<font color='red'>CAN</font>总线的电流、电压变送器的设计与实现
锂供应商Vulcan和雷诺签署锂供应协议
据路透社报道,德澳合资企业Vulcan Energy Resources周一表示,已与雷诺签署锂供应协议。 双方表示,从2026年开始,Vulcan将利用其在德国的地热卤水矿床,每年向这家法国汽车制造商供应6000至1.7万吨锂。如果双方同意,这份为期五年的协议可以续签。 拥有Alpine和Dacia等品牌的雷诺表示,希望到2030年,雷诺90%的车型都是全电动的。该公司表示,Vulcan的地热锂生产工艺没有碳排放,是其主要吸引力。 Vulcan计划投资17亿欧元(20亿美元)建设地热发电站和提取锂的设施,目标是在2024年开始生产锂。 地热项目通常包括从地下储层中提取超热的富含锂的卤水,利用热能发电,然后从卤水中提取锂。 然后
[手机便携]
加速基础芯片国产替代:从CANLIN收发器开始
如今车上出现越来越多的车载电子设备,而电子设备和中控系统之间的数据收集与传递都需通过车载网络来实现。CAN收发器是车载与工业底层通讯关键元器件,国内市场此前长期被国外芯片厂商所占据。 有人筑墙,就有人破壁。芯力特基于自主核心知识产权,通过单芯片集成TVS器件、共模辐射抑制电路、低功耗设计等关键技术,率先推出自主研发高品质CAN系列芯片,打破欧美等发达国家的技术垄断。 在2022年9月15日的2022第五届自动驾驶与人机共驾论坛中,湖南芯力特电子科技有限公司汽车电子业务总监王闰星坦言,“在自动驾驶和车联网领域的大算力高端芯片上,我们跟国外的品牌相比目前仍需进一步努力;但在CAN/LIN收发器基础芯片上,我们有信心把它做好。”
[汽车电子]
加速基础芯片国产替代:从<font color='red'>CAN</font>LIN收发器开始
TDK将以全新身份助力2023年iCAN全国大学生创新创业大赛
2023年, TDK将以全新的元器件合作伙伴身份助力iCAN全国大学生创新创业大赛(以下简称iCAN) ,并为参赛团队免费提供电子元器件产品,以期能为推动中国大学生的创新与创业做出贡献。 iCAN大赛是一个无固定限制、鼓励原始创新的赛事。 大赛秉承“自信、坚持、梦想”的精神,发现和培养高校一批有作为、有潜力的创新创业优秀青年人才,激发勇于创新的活力。倡导科技创新创业,服务社会、改善人类生活,推动高科技产业的发展。这一精神和理念与TDK“理想、勇气、信赖”的经营理念以及“以丰富的创造力,回馈文化与产业”的企业宗旨有着异曲同工之处。因此,我们坚信, 通过持续加强与大赛的战略合作伙伴关系,将能够进一步提升年轻一代对于TDK的认
[物联网]
TDK将以全新身份助力2023年i<font color='red'>CAN</font>全国大学生创新创业大赛
一个关于CAN出错中断重复出现的话题
某日,有一客户反映他们在做STM32F407的CAN通信的出错测试时,发现出现类似死机的现象。后来跟踪调试发现是开启了出错中断,因其不停中断导致的貌似死机现象。纳闷的是,经过进一步测试,发现即使清除了 中断请求标志 后也无效。大致情形如下: 在CAN通讯时候让某节点做插拔、断电等测试,人为的产生一些CAN总线错误,看看能否让总线恢复正常。 结果测试发现,如果总线出现错误,并且打开了CAN错误中断处理的话,通过仿真器调试发现CPU一直在处理CAN错误中断,其他程序得不到处理而呈死机状态。 先是怀疑CAN控制器因为各类错误条件而进入错误中断后,虽在错误中断里清除了相关中断状态标志,但由于计数器值没有清零的原因,马上又产生新的错误中断,
[单片机]
一个关于<font color='red'>CAN</font>出错中断重复出现的话题
STM32 CAN总线说明
简介: CAN是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。由德国电气商博世公司在1986年率先提出。此后,CAN通过ISO11898及ISO11519进行了标准化。现在在欧洲已是汽车网络的标准协议。 CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准。其中ISO11898是针对通信速率为125Kbps~1Mbps的高速通信标准,而ISO11519-2是针对通信速率为125Kbps以下的低速通信标准。 CAN具有很高的可靠性,广泛应用于:汽车电子、工业自动化、船舶、医疗设备、工业设备等方面。 特点: 多主控制。总线空闲时
[单片机]
CAN总线在智能建筑温湿度自控系统中的应用
智能大厦是在传统建筑的基础上增加了楼宇、办公、通信等3个自动化系统的高科技大厦。楼宇自动化系统(BAS)是智能大厦的重要组成部分,它采用传感技术、计算机技术和现代通信技术,实现对大厦内的空调、电力、电梯、供排水、防火、防盗和视频监控等设备实行综合自动管理,具有各种安全保护、运行监控等管理功能。给用户提供舒适、安全的内部环境。因此,智能大厦的各个场所、各个房间,温湿度必须常年控制在某一特定的范围内,实现温湿度控制智能化。   本文介绍的温湿度自动控制系统,基于CAN总线,采用Intel 80C196KC16位单片机作为智能节点控制器,系统通信可靠、快捷,硬件电路设计和软件编程简单,能较好地满足智能大厦对环境的智能化要求,达到节能的目的
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved