首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于CAN总线模块的网络测控系统的实现
来源:本站整理  作者:佚名  2009-10-13 09:48:00




C8051F060器件具有控制局域网(CAN)控制器,用 CAN协议进行串行通信。Silicon Labs CAN控制器符合 Bosch规范 2.0A(基本 CAN)和 2.0B(全功能 CAN)。CAN控制器包含一个 CAN核、消息 RAM、消息处理状态机和控制寄存器。C8051F060内部的 CAN只是一个协议控制器,不提供物理层驱动器。它的工作位速率可以达 1M位/秒,实际速率可能受 CAN总线上所选择传输数据的物理层的限制。CAN处理器有 32个消息对象,可以被配置为发送或接受数据。输入数据、消息对象及其标识掩码存储器在 CAN消息 RAM中。所有数据发送和接收过滤的协议处理全部由 CAN控制器配置 CAN控制器,读取接收到的数据和写入待发送的数据。CAN控制器的时钟等于 CIP-51 MCU的时钟(SYSCLK)。由于考虑到系统在不同场合的适用性,采用了两路 CAN驱动器。一路采用 TI公司生产的 SN65HVD230,工作电压 3.3V,适应恶劣工作环境的 CAN总线收发器,其最大传输能力可达 1Mbps。具有失地保护、过压保护、过热保护等功能。第 8脚的不同设置可以使芯片工作于高速、斜坡控制和低功耗 3种工作模式。本测控卡中,第 8脚接地使芯片工作于高速模式。并联在总线上的 30pF的电容 C24, C25可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。
另一路采用的是 82C250CAN收发器,芯片 82C250是 CAN控制器与物理总线之间的接口,它最初是为汽车中的高速应用(达 1 Mbps)而设计的。器件可以提供对总线的差动发送和接收功能。
82C250采用双向差分驱动,有助于抑制汽车等恶劣电气环境下的瞬变干扰。利用 82C250还可方便地在 CAN控制器与驱动器之间建立电气隔离,以实现总线上各节点间的电气隔离。本系统中 82C250的通信电路如图 4。

 

3 软件实现
本节中将对系统软件进行详细阐述。由于被测控的几个量都是缓慢变化的,对测控系统的实时性要求不高。单片机大部分时间在进行参数测量,每次测量结束后使用查询方式将测量结果保存到数据缓冲池中。由于单片机的 RAM容量有限(C8051F060具有 4K的 RAM ),笔者使用了数据缓冲池,以保存一定数量的测量结果。缓冲池使用先进先出策略,在保存时先判断缓冲池是否填满,没满时缓冲指针加 1,数据保存进下一个单元,填满时使指针指向缓冲池的顶部,数据保存进缓冲池,以前的数据丢掉。本系统的设计重点是 CAN通信,因此,在 CAN通信时采用了中断方式。整个测控系统部分的软件流程图如图 5。
 

本文作者创新点:本文详细介绍了基于 CAN总线模块的网络测控系统的实现方法。该测控系统是采用 C8051F060作为微控制器,充分利用了该单片机丰富的片上资源,如 CAN控制器、AD转换器、DA转换器等,最后介绍了软件的编程思想。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:310,453.10000 毫秒