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

出处:wulilian 发布于:2009-10-13 14:03:41

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


  

参考文献:

[1]. C8051F060 datasheet https://www.dzsc.com/datasheet/C8051F060_1095791.html.
[2]. RS-232 datasheet https://www.dzsc.com/datasheet/RS-232_584855.html.
[3]. MCS-51 datasheet https://www.dzsc.com/datasheet/MCS-51_477840.html.
[4]. PCB datasheet https://www.dzsc.com/datasheet/PCB_1201640.html.
[5]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[6]. MAX202 datasheet https://www.dzsc.com/datasheet/MAX202_1089634.html.
[7]. SPX1117M3-3.3 datasheet https://www.dzsc.com/datasheet/SPX1117M3-3.3_718670.html.
[8]. SN65HVD230 datasheet https://www.dzsc.com/datasheet/SN65HVD230_690485.html.


关键词:CAN  CAN总线总线

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!