新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CAN总线的数字式传感器群管理系统

基于CAN总线的数字式传感器群管理系统

作者: 时间:2013-04-13 来源:网络 收藏

  CAN控制器与物理总线之间的接口由收发器82C250完成,它最初是为汽车高速通信的应用而设计的,该器件提供对总线的差动发送和接收的功能,它可以增强总线的驱动能力,同时起到保护总线的作用。
  由于作为下位机的节点比较多,单片机的选择主要从成本考虑,如果选择带CAN和I2C总线(需要用I2C总线驱动)接口功能的高级单片机,则系统成本太高,故选择AT89C51单片机,它片内含有4 K字节闪电存储器,数据可保存10年,且编程速度快(全4 K字节编程只要3 s),还可以实现在线编程,也可以借助电话线进行远距离编程。虽然AT89C51没有I2C总线接口功能,但在系统中,AT89C51和是属于单主机结构,在单主机结构中I2C总线数据传送状态非常简单,没有总线竞争与同步,只有单片机对I2C总线器件的读写操作,这就使通过I/O口用软件来模拟I2C总线成为了可能。

5 系统软件设计  
  上位机软件采用基于Windows2000平台的VC6.0编写,具有系统参数设置、监控状态设置、数据发送和接收、本机状态查询、节点状态查询、中断接收数据管理等功能。上位机首先对适配卡及其自身初始化,然后发送命令通知特定的节点向上发送数据,通过CAN总线适配卡转换后,再由上位机处理。上位机采用定时轮循方式向各个节点发命令,采用中断方式接收数据。
  下位机部分采用汇编语言,主程序流程如图3所示。程序首先初始化AT89C51和CAN控制器,然 后通过用I/O口软件模拟I2C总线,初始化各个传感器,设置它们的地址代码(器件标识)、报警上下限、传感器状态等参数,接着程序进入等待上位机命令,同时也在监听I2C总线,以中断的方式响应I2C总线上的请求,对特定传感器进行读写、启动转换、设置报警阈值等操作,接收各个传感器发送的数据并进行处理,解决总线冲突,进行总线仲裁。

  在下位机软件设计中,用普通I/O线模拟I2C总线数据传送时,必须遵守I2C总线的时序,否则将造成混乱导致系统工作不正常。

6 结束语  
  系统采用分层管理的方法实现了对多的集中管理,在控制现场底层,由于采用了数字化传感器并且挂接在I2C总线上,传感器数目变化后,系统软件只要稍加改动就能适应,所以添加和更换传感器非常方便。同时在上层管理中,系统使用CAN总线技术,它以其独特的设计思想、优良的性能和极高的可靠性提高了系统内部的通信速率、实时性,降低了误码传送率。上位机使用PC,以图形的方式方便直观的对各个节点进行监控,保证了系统的可靠运行。该系统已经在汽车行驶发电恒速驱动检测系统中投入运行,实际应用证明该系统具有控制效果好、可靠性高、控制灵活等优点。

参考文献

[1]张友德.飞利浦80C51系列单片机原理与应用技术手册[M].北京:北京航空航天大学出版社,1991.
[2]刘 辉,姚胜兴,宋树祥.CAN总线在智能建筑温湿度自控系统中的应用[J].现代电子技术,2001(11).
[3]阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1999.
[4]林继建,吴明光.PC机和单片机串行通信程序设计[J].计算机应用研究,2001(5).
[5]王广志,吴 颖,黄志光.数字式温度传感器与分布式温度测量系统[J].传感技术学报,2001(3).
[6]王朝阳,管保安,刘涤尘,等.基于CAN总线的变电站综合操作系统[J].现代电子技术,2001(12).

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭