基于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)所示。