• 基于C8051F040的CAN总线与RS-232通信设计
  • 基于C8051F040的CAN总线与RS-232通信设计

      基于C8051F040的CAN总线与RS-232通信设计
     
     
      目前工业设备之间的通信很多采用RS-232接口,但由于RS-232通信距离短、接口易损,而且只能进行点到点通信,不能直接组成多点通信网络。而CAN通信速率高、容易实现、且性价比高等诸多特点,本文介绍一种可以实现RS-232与CAN总线通信的方法,以更好地适应现代工业发展的需要。
     
      它是一种串行通信网络,支持分布式实时控制,最大传输速度可达1Mbids,最大传输距离为10km。CAN规范已被ISO国际标准组织制订为国际标准,即CAN标准,现在最常用的是2.0标准,分为2.0A和2.0B。其区别仅在通信数据位数,前者是11位的标准帧,后者是29位的扩展帧。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)帧起始:标志数据帧的起始,仅由一个“显性”位组成,只在总线空闲时才允许节点开始发送信号;2)仲裁场:标准格式帧与扩展格式帧的仲裁场格式不同。标准格式里,仲裁场由11位识别符和远程发送请求位组成,识别符位为ID-28~ID-18。扩展格式里,仲裁场包括29位识别符、替代远程请求位、识别符扩展位和远程发送请求位。其识别符为ID-28~ID-0;3)控制场:由6个位构成,前2位为保留位,为显性,后4位为数据长度码,表示数据场中数据的字节数,必须在0~8范围内变化;4)数据场:由被发送数据组成,数目为控制场中决定的0~8个字节,第一个字节的最高位首先被发送;5)CRC场:包括CRC序列和CRC界定符;
     
      RS-232是PC机与通信工业中应用最广泛的一种串行接口,具有连线简单、通讯距离长等优点。同样也有一些缺点,接口的信号电平值较高,易损坏接口电路的芯片,传输速率较低,传输距离有限等。RS-232被定义为在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。UART通信可用查询TI和RI或通过中断来控制通信。
     
      Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功能部件,代表了目前8位单片机控制系统的发展方向。芯片上有1个12位多通道ADC,2个12位DAC,2个电压比较器,1个电压基准,1个32kB的FLASH存储器,与MCS-51指令集完全兼容的高速CIP-51内核,峰值速度可达25MIPS,并且还有硬件实现的UART串行接口和完全支持CAN2.0A和CAN2.0B的CAN控制器。
     
      控制器局域网控制器,具有32个消息对象,每个消息对象有其自己的标识全速、非侵入式的在系统调试接口。C8051F040器件内部有一个控制器局域网(CAN)控制器,使用CAN协议实现串行通信。该CAN控制器符合Bosch规范2.0A和2.0B,方便了CAN网络通信设计。CAN控制器包含一个CAN核、消息RAM、一个消息处理状态机以及控制寄存器。CAN控制器可以工作在高达1M位/秒的位速率。SiliconLabs的CAN有32个消息对象,每个消息对象有其自己的标识掩码,该标识掩码用于对接收到的消息进行过滤。输入数据、消息对象和标识掩码存储在CAN消息RAM中。
     
      数据通信在嵌入式系统的功能中占据重要地位,串口通信与CAN总线相互通信都具有各自的重要作用,而两者的交互通信也越来越重要,本文的设计功能明确、结构简单、具有很强的通用性和实用性,并通过了测试验证。

    更多型号芯片解密可致电北京致芯科技24小时服务热线:13466687255 010-57436217

    点击这里给我发消息 点击这里给我发消息

      Copyright © 2004-2012 致芯科技 版权所有