您的位置 首页 新品

根据C8051F040的CAN总线与RS-232通讯规划

摘要:为了实现对CAN总线和RS-232串口双向通信需求,提出了一种基于C8051F040单片机的数据通信方案,并完成系统设计。分析了CAN总线和RS-232串口的通信

摘要:为了完结对CAN总线RS-232串口双向通讯需求,提出了一种根据C8051F040单片机的数据通讯计划,并完结体系规划。剖析了CAN总线RS-232串口的通讯特色,介绍了单片机硬件,并对软件的规划思路与流程做了翔实描绘,完结功用检测。试验成果表明,该规划达到了要求。

现在工业设备之间的通讯许多选用RS-232接口,但由于RS-232通讯间隔短、接口易损,而且只能进行点到点通讯,不能直接组成多点通讯网络。而CAN通讯速率高、简略完结、且性价比高级许多特色,本文介绍一种能够完结RS-232与CAN总线通讯的办法,以更好地习惯现代工业开展的需求。

操控器局域网CAN(Controller Area Network)是德国Bosch公司为处理现代轿车中很多的操控与测验仪器之间的数据交换而运用开发的一种通讯协议。在国外,尤其是欧洲,CAN网络已被广泛地运用在轿车上,如BENZ、BMW、PORSCHE、ROLLS、ROYCE、JAGUAR等车。

它是一种串行通讯网络,支撑分布式实时操控,最大传输速度可达1 Mbids,最大传输间隔为10 km。CAN标准已被ISO国际标准安排制订为国际标准,即CAN标准,现在最常用的是2.0标准,分为2.0A和2.0B。其差异仅在通讯数据位数,前者是11位的标准帧,后者是29位的扩展帧。CAN协议建立在国际标准安排的开放体系互连参阅模型基础上的,首要作业在数据链路层和物理层,用户可在其基础上开发合适体系实践需求的运用层通讯协议。而串口RS-232作为标准计算机串行接口,与CAN网的结构、通讯协议、传输特性等方面都不相同,所以不同设备间无法进行直接通讯。因而完结二者之间的信息数据交互成为问题的要害。

本规划完结了CAN总线与RS-232软件规划。本规划的立异点是:CAN总线与RS-232接口数据通讯速率以及通讯帧格局都不同,处理了这两点不同,然后完结了数据在CAN总线与RS-232接口之间的交互传输。本文完结了根据C8051F040单片机操控的CAN与RS-232转化的研讨与规划,规划了C8051F040单片机对RS-232串口和CAN总线的操控,处理了CAN总线与RS-232接口数据通讯速率以及通讯帧格局不同的技术问题,完结了RS-232接口数据与CAN总线数据的彼此传输。

1 概述

1. 1 CAN总线

Silicon Labs CAN的作业位速率可达1M位/秒,实践速率或许受CAN总线上所挑选的传输数据的物理层的约束。CAN处理器有32个音讯目标,能够被装备为发送或接纳数据。输入数据、音讯目标及其标识掩码存储在CAN音讯RAM中。

标准CAN的标志符长度是11位,而扩展格局CAN的标志符长度可达29位。CAN协议2.0A版别规则CAN操控器必须有一个11位的标识符。而2.0B版别中规则,CAN操控器的标志符长度能够是11位或许29位。遵从CAN2.0B协议的CAN操控器能够发送和接纳11位标识符的标准格局报

文或29位标识符的标准格局报文。假如制止CAN2.0B,则CAN操控器只能发送和接纳11位标识符的标准格局报文,而疏忽扩展格局的报文结构,但不会呈现过错。C8051F040所集成的CAN操控器为2.0B。

数据帧是带着数据由发送器至接纳器的帧,是CAN的4种帧格局之一,这4种帧格局分别是数据帧、长途帧、犯错帧和超载帧,其间数据帧结构如图1所示。

CAN总线数据帧由7个不同的位场组成:帧开端(stsrt of frame)、裁定场(arbitration frame)、操控场(control frame)、数据场(data frame)、CRC场(CRC frame)、应对场(ACK frame)和帧结束(end of frame)。数据场的长度能够为0。

1)帧开端:标志数据帧的开端,仅由一个“显性”位组成,只在总线空闲时才答应节点开端发送信号;2)裁定场:标准格局帧与扩展格局帧的裁定场格局不同。标准格局里,裁定场由11位辨认符和长途发送恳求位组成,辨认符位为ID-28~ID-18。扩展格局里,裁定场包括29位辨认符、代替长途恳求位、辨认符扩展位和长途发送恳求位。其辨认符为ID-28~ID-0;3)操控场:由6个位构成,前2位为保存位,为显性,后4位为数据长度码,表明数据场中数据的字节数,必须在0~8范围内改变;4)数据场:由被发送数据组成,数目为操控场中决议的0~8个字节,第一个字节的最高位首要被发送;5)CRC场:包括CRC序列和CRC界定符;6)ACK场:长度为2位,包括应对空隙和应对界定符;7)帧结束:由7个位“隐形”位组成,此期间无位填充。

1. 2 RS-232

RS-232是PC机与通讯工业中运用最广泛的一种串行接口,具有连线简略、通讯间隔长等长处。相同也有一些缺陷,接口的信号电平值较高,易损坏接口电路的芯片,传输速率较低,传输间隔有限等。RS-232被界说为在低速率串行通讯中添加通讯间隔的单端标准。RS-232采纳不平衡传输方法,即所谓单端通讯。UART通讯可用查询TI和RI或经过中止来操控通讯。UART有两种中止源:数据发送结束时,TI置1;数据完好承受届时,RI置1。TI和RI中任何一个标志方位1,均能引发UART中止。TI和RI中止标志位需软件清0。

2 体系硬件描绘

Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号体系级单片机,在一个芯片内集成了构成一个单片机数据收集或操控的智能节点所需求的简直一切模仿和数字外设以及其他功用部件,代表了现在8位单片机操控体系的开展方向。芯片上有1个12位多通道ADC,2个12位DAC,2个电压比较器,1个电压基准,1个32kB的FLASH存储器,与MCS-51指令集彻底兼容的高速CIP-51内核,峰值速度可达25 MIPS,而且还有硬件完结的UART串行接口和彻底支撑CAN2.0A和CAN2.0B的CAN操控器。

操控器局域网(CAN2.0B)操控器,具有32个音讯目标,每个音讯目标有其自己的标识全速、非侵入式的在体系调试接口 (片内)。C8051 F040器材内部有一个操控器局域网(CAN)操控器,运用CAN协议完结串行通讯。该CAN操控器契合Bosch标准2.0A(根本CAN)和2.0B(全功用CAN),方便了CAN网络通讯规划。CAN操控器包括一个CAN核、音讯RAM(独立于C8051的RAM)、一个音讯处理状态机以及操控寄存器。CAN操控器能够作业在高达1M位/秒的位速率。Silicon Labs的CAN有32个音讯目标,每个音讯目标有其自己的标识掩码,该标识掩码用于对接纳到的音讯进行过滤。输入数据、音讯目标和标识掩码存储在CAN音讯RAM中。与数据发送和接纳过滤有关的一切协议处理均由CAN操控器完结,不需C8051 MCU干涉。这就使得用于CAN通讯的CPU带宽最小。C8051经过特别功用操控器(SFR)装备CAN操控器,读取接纳的数据,写入要发送的数据。

C8051F040的MCU内部有两个增强型全双工UART、一个增强型SPI总线和SMBus/I2C。每种串行总线都彻底用硬件完结,都能向CIP-51发生中止,因而需求很少的CPU干涉。这些串行总线不“同享”定时器、中止或端口I/O等资源,所以能够运用任何一个或一起运用多个。

CAN总线数据和RS-232串口数据的速率、数据格局都不同,为完结彼此传输的功用需求,就需求RAM缓存。硬件结构图如图2所示。

3 软件规划

体系选用Keil uVision4软件编程,Keil uVision4是ARM公司推出软件开发渠道,其编译器、调试东西完结与ARM器材的完美匹配。程序由初始化和死循环两部分构成。初始化完结对器材数据设置,循环完结数据在RS-232和CAN总线之间的双向通讯

3. 1 初始化

初始化便是经过单片机向其片内的各个寄存器写入操控字的进程。void RS232_INI()函数设置UART为形式1,8位可变波特率通讯。void CAN_INI()函数用来初始化CAN,总线接纳、发送信道,并设置波特率。

3.2 RS-232转CAN总线

RS-232传输1字节,而CAN总线传输的是8字节,这要求在通讯进程中完结数据匹陪、格局匹配。该模块选用,在串口接纳中止中,直接把接纳到的串口数据存到8字节的缓存中,计数满八位。则标志方位1,主函数中调用函数send_can1(),将数据发送到CAN总线。然后完结将数据从RS-232传输到CAN总线的功用。流程图如图3所示。

3.3 CAN总线转RS-232

CAN总线数据发送到串口,原理相同,进程相反。CAN总线的数据接纳也是在中止中完结,这样实时性好。CAN总线的接纳缓存中有数据,则这8个字节的数据顺次调用RS-232功用函数void RS232_PUTCHAR(),发送到串口。然后完结将数据从CAN总线传输到RS-232串口的功用。流程图如图4所示。

4 试验检测

为了验证规划的正确性,文中运用Kvaser CanKing和SecureCRT软件来测验。Kvaser CanKing用来接纳、发送CAN总线数据,SecureCRT用来接纳、发送串口数据,二者都有显现功用。试验成果如图5所示,其证明了规划的正确性。

5 结束语

数据通讯在嵌入式体系的功用中占有重要位置,串口通讯与CAN总线彼此通讯都具有各自的重要作用,而两者的交互通讯也越来越重要,本文的规划功用清晰、结构简略、具有很强的通用性和实用性,并经过了测验验证。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/136443.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部