基于C8051的CAN多点实时数据通信系统

来源:ofweek 作者:—— 时间:2012-03-12 15:06

数据链路层的LLC和MAC子层的服务和功能被描述为“目标层”和“传送层”.LLC子层的主要功能是:为数据转送和远程数据请求提供服务,确认由LLC子层接收的报文是否已被接收,并为恢复管理和通知超载提供信息。MAC子层的功能主要是传送规则,亦即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层也要确定何时开始一次新的发送,总线是否开放或者是否马上开始接收。定位时特性也是MAC子层的一部分。

  物理层定义了信号怎样进行发送,因而涉及位定时、位编码和同步的描述。详细层的功能参阅文献。

  1.3 CAN多点实时通信

  CAN是有效支持分布式(多点)实时控制的串行通信网络,在实际的系统设计中,用户可以根据振荡器时钟频率、总线波特率以及总线的最大传输距离等因素,对CAN控制器的位定时参数进行优化设置,协调影响位定时设置的两个主要因素:振荡器容差和最大总线长度,合理安排位周期中采样点的位置和采样次数,保证总线上位流的有效同步的同时,优化系统的通信性能,进一步推进CAN总线的应用。

  2 C8051 F040单片机

  Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟、数字外设以及其他功能部件,代表了目前8位单片机控制系统的发展方向。芯片上有1个12位多通道ADC,2个12位DAC,2个电压比较器,1个电压基准,1个32 kB的Flash存储器,与MCS-51指令集完全兼容的高速CIP-51内核,峰值速度可达25 MI·s-1,并且还有硬件实现的UART串行接口、完全支持CAN2.0A和CAN2.0B的CAN控制器。

  3 CAN多点实时数据通信系统设计

  3.1 CAN多点实时数据通信系统硬件结构

  设计的CAN多点实时数据通信系统由一台电脑,两块基于C8051F040单片机开发板组成。结构框图如图2所示。

 

图2 CAN通信结构框图

  在这个系统中,电脑作为主机,通过USB/CAN转换器与CAN总线相连,使用软件工具CANTools-V6.2进行数据地发送、接收以及显示。系统中两个CAN节点分别为开发板1和开发板2,通过编译相应的程序,使得CAN节点能实时把数据发送到主机,主机可根据接收到的数据向CAN节点发出控制信号来改变CAN节点回发的数据,以此达到实时通信控制的目的。同时两个CAN节点之间也能互相进行数据通信,并把所接收到的数据显示在开发板的LCD屏上。

  3.2 软件设计

  软件设计分为两大部分:(1)主程序的设计。(2)CAN通信库函数程序的编写。

  主程序主要涉及的是程序流程,包括调用初始化函数,打开中断,根据与主机通信还是与其他节点通信调用CAN通信库函数编写出相应的通信流程,流程图如图3所示。

 

图3 主程序流程图

相关文章

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子