当前位置:首页 > 单片机 > 单片机
[导读]CAN(Controller Area Network)总线是德国BOSCH公司为解决现代汽车中众多控制与测试之间的数据交换开发的一种串行数据通信协议,是一种多主方式的串行通信总线。CAN总线是一种开放式、数字化、多点通信的控制系统局域

CAN(Controller Area Network)总线是德国BOSCH公司为解决现代汽车中众多控制与测试之间的数据交换开发的一种串行数据通信协议,是一种多主方式的串行通信总线。CAN总线是一种开放式、数字化、多点通信的控制系统局域网,具有通信速率高、传输时间短、传输距离远、纠错能力强、控制简单、扩展能力强以及性价比高等特点,是目前国际上应用最广泛的现场总线之一。但是目前PC机普遍配置RS232串行通信接口,没有CAN总线接口。实际中很多设备带有RS-232接口没有CAN总线接口,为了方便具有RS-232接口的设备与CAN总线的数据通信,本文完成了基于单片机ATMega16控制的CAN总线与RS-232转换器电路设计和软件设计,实现了CAN总线数据与RS-232接口设备的数据传输。

一、简述CAN总线与RS232协议

CAN作为一种多主方式的串行通讯总线,其基本设计规范要求高位速率和较高的抗电磁干扰性能,而且要能够检测出通讯总线上产生的任何错误。当信号传输距离达10km时,CAN仍可提供高达5kbit/s的数据传输速率。表1为CAN总线上任意两个节点之间最大传输距离

与其位速率之间的对应关系。

由此可见,无论从实时性、适应性、灵活性,还是可靠性上来看,CAN总线都是一种比较优秀的串行总线。当两台串口设备的相距较远,不能直接用RS-232把它们连接起来时,就可以把RS-232转换为CAN,通过CAN总线来实现串口设备的网络互连。

 

 

表1 CAN总线系统任意两节鼎足之势之间的最大距离

RS-232和CAN在电平和帧格式上都是很大的不同。具体表现如下:RS-232标准电平±(3V~15V)之间。而CAN信号则使用差分电压传送,两条信号线称为“CAN_H”和“CAM_L”,静态时均为2.5V左右;RS-232串口的帧格式为:一位起始位,八位数据位,一位可编程的第九位,一位停止位。而CAN的数据帧格式为:帧信息+ID+数据。

二、CAN总线转RS232总体设计

CAN总线转2 3 2 的接口硬件电路, 主要选用MAX232、ATMega16、SJAl000和MCP2551设计实现。

其原理框图如图1所示。

 

 

三、转换器硬件设计

3.1 主控制器设计

主控制器选择ATMEL公司的ATMega16作为主处理器,该芯片是一个低电压,高性能单片机,片内含可反复擦写的EEPROM和随机存取数据存储器(RAM),兼容标准MCS-51指令系统。

ATMega16有44个引脚,32个外部双向I/0端口,同时内含3个外中断口,2个8位和1个16位可编程定时计数器,1个全双工串行通信口,ATMega16可按常规方法进行编程,也可在线编程。ATMega16的4脚接复位电路,低电平有效;9,10脚接MAX232的数据接收/发送端;PD口脚接SJAl000的控制端端;7,8脚接晶振电路;PB口接SJAl000的复用地址/数据总线。

3.2 MAx232电路设计

选择MAX232芯片作为RS232与CAN总线的电平转换器。MAX232是一种电平转换驱动器,提供TTL与RS232电平的转换。其13、14脚接到232接口的2、3针;11、12脚接到单片机的接收、发送端。

3.3 CAN控制器电路设计

选用Phi l ip公司的SJAl000芯片实现CAN控制器和CAN总线驱动器。SJAl000控制器与单片机硬件连接电路设计,如图2、3所示。

 

 

为使SJAl000正确复位,CAN控制器必须连接一个稳定的振荡器时钟,这里选择16MHz的晶振。

3.4收发器电路设计

收发器是协议控制器和物理传输线路之间的接口,这里由MCP2551实现。协议控制器通过串行数据输出线(Tx)和串行数据输入线(RX)连接到收发器,收发器通过有差动发送和接收功能的两个总线终端CANH和CANI。连接到总线电缆,实现CAN总线的数据通信。如图4所示。

 

 

四、主程序设计

在微处理控制下,RS-232和CAN进行数据交换时,采用CAN查询方式和串口发送可提高工作效率。其主程序流程图如图5所示。SJA1000的初始化在复位模式下才可以进行,主要包括工作方式的设置、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。数据能否准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。

 

 

串口波特率采用9600 bit/s,系统上电初始化后CAN控制器查询发送标志位,一旦发送缓冲区空就发送数据。同时也检测状态寄存器的接收标志位,当有数据接收时读取接收缓冲区,然后判断接收数据帧,当接收帧为错误帧就丢掉数据并将CAN控制器复位,如果数据帧是正确帧就将该帧打包成符合RS232协议的帧结构,通过串口发送出去。

五、结束语

本文采用ATMega16、SJAl000、MCP2551和MAX232,设计开发了CAN总线转232的接口,完成了两种协议的转换,实现了CAN总线RS232通信接口设备之间的通信。测试和实际使用表明该接口运行稳定、可靠,达到了设计要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭