基于CAN总线模块的网络测控系统的实现

2011-06-08 17:49:01来源: 互联网
1 引言
   CAN总线控制网络和因特网采用统一的协议标准是 CAN总线控制网络和因特网集成的方式之一,目前,它还是一个探索性的工作。虽然嵌入式控制的应用已经十分广泛,但是 CAN总线控制网络和因特网采用统一的协议标准还是一个崭新的课题。这种方式将成为控制网络和因特网络完全集成的最终解决方案。由于分布式控制网络采用了面向不同应用的协议标准,因此二者集成时需要某种数据格式的转换机制,这将使系统复杂化,而且也不能确保数据的完整性。本文给出了基于 CAN总线模块的网络测控系统的各个硬件模块,以及 CAN通信的软件编程思想。
2 硬件系统的逻辑结构模块
2.1 分布式测控系统结构
 
图 1 基于 CAN总线的分布式测控系统结构网络测控系统扩展 CAN总线模块,要担负至少两个方面的任务:一是支持现场操作,包括数据采集、人机对话等;二是与上级节点进行数据交互,作为网络测控系统的底层设备。本文针对实验室的过程控制设备模拟工业现场设计了基于现场总线 CAN的分布式数字测控卡,系统结构框图如图 1所示。


基于 CAN总线的分布式测控卡主要由单片机 C8051F060,输入/输出电路、电源电路、人机接口和通信接口几部分组成。测控卡的工作原理如下:C8051F060单片机是完全集成的混合信号片上系统型 MCU,是数据采集与实施控制的理想微型控制器。它集成了两个 16位、1Msps的模拟/数字转换器,且带有 DMA控制器 ;集成有两个 12位数字/模拟转换器,具有可编程数据更新方式;集成有控制器局域网(CAN2.0B)控制器,具有 32个消息对象,每个消息对象有自己的标识掩码。工业现场设备的状态参数通过 I/V转换成电压信号, C8051F060单片机采集此信号后,通过 CAN总线发送给上级网络节点,同时上级网络节点下传的命令和参数经 DAC和 V/I转换电路转换成 0-20mA的电流信号,控制现场设备。人机界面提供系统状态与操作人员的友好交流平台,且备用了一路 RS-232异步串行通信总线。
本测控卡的微处理器是新华龙公司生产的单片机 C8051F060,该系列芯片是集成在一块芯片上的混合信号系统级单片机,其内核是与 MCS-51指令集完全兼容的 CIP-51微控制器内核,可以使用标准 803x/805x的汇编器和编译器进行软件开发。
在设计该测控卡时,为了增加系统的灵活性,将测控卡设计成了两块 PCB插接在一起的方式。C8051F060,JTAG接口及其晶振独立出来,设计在一块板子上称为核心板,系统的其他应用设计在另一块板子上称为应用板。核心板已构成了最简单片机系统,可以在不需要外围电路的基础进行程序的下载和调试;而应用板则可根据系统的需要灵活设计外围电路,这样,对于不同系统的应用需要只需修改应用板就可以了。
2.2 JTAG调试接口与晶振电路
在 C8051F系列单片机片内都有一个 JTAG接口和逻辑,在上位机软件的支持下,PC机通过 JTAG接口直接对控制系统进行在系统仿真调试。它不仅支持 FLASH ROM的读/写操作以及非侵入式在系统调试,而且还为 JTAG逻辑在系统测试提供了边界扫描功能。 C8051F系列单片机上的四个引脚 TDI, TDO, TMS, TCK与调试工具串口适配器(RS232到 JTAG的接口模块)直接相连,进行程序的下载和调试。图 2 (a)是 JTAG调试接口。
C8051F060单片机包括一个可编程内部振荡器和外部振荡器驱动电路,系统可以由外部振荡器电路或内部振荡器分频提供。系统复位后可编程内部振荡器被默认为系统时钟,且对应 24.5MHz的基频。而外部振荡器电路可以驱动外部晶体、陶瓷谐振器、电容或 RC网络,也可以使用一个外部 CMOS时钟提供系统时钟。为了使串行通信接口的波特率精确更高,本测控卡使用了外部 11.0592MHz的晶振,并可用 l0MΩ电阻并联到晶振的两端,使系统更容易起振,如图 3(b)所示。


2.4 电源电路
C8051F060单片机的工作电压为+3.3V,测控系统中还使用了 5V器件,本文设计了如图 3所示的电源电路。首先 220V交流电经滤波器进行共模滤波和差模滤波,为了降低电源工作时的电磁辐射,将交流电整流成高压直流电,然后进入电源模块 HAT15-05H12-WFCI得到输出+5V和一个+12V的两路直流电压。+12V供 ADC电路和 DAC电路单元使用,另一路 5V电源供 MAX202等 5V器件使用。3.3V电源部分采用了 LDO芯片 SPX1117M3-3.3,其特点是输出电流大,输出电压精度高,稳定性高。


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转换器等,最后介绍了软件的编程思想。

关键字:模块  网络  系统  实现

编辑:eeleader 引用地址:http://www.eeworld.com.cn/gykz/2011/0608/article_6371.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
模块
网络
系统
实现

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved