基于单片机的CAN总线分布式测控系统的研制
本文介绍了一种基于单片机AT89C52的CAN总线分布式测控系统,主要阐述了系统的总体设计方案,以及控制模块和采集模块的软硬件设计,重点是系统中以单片机为核心的带有CAN总线接口的设计,解决现场各传感器得到的测量信号利用单片机进行存储和处理,然后通过与CAN控制器的通讯将信息发送到CAN总线上。
1 CAN总线网络的技术特点[1][2]
用通讯数据块编码,可实现多主工作方式,数据收发方式灵活,可实现点对点、一点对多点及全局广播等多种传输方式;可将DCS结构中主机的常规测试与控制功能分散到各个智能节点,节点控制器把采集到的数据通过CAN适配器发送到总线,或者向总线申请数据,主机便从原来繁重的底层设备监控任务中解放出来,进行更高层次的控制和管理功能,比如故障诊断、优化协调等;
采用非破坏性基于优先权的总线仲裁技术,具有暂时错误和永久性故障节点的判别及故障节点的自动脱离功能,使系统其它节点的通信不受影响;同时,CAN具有出错帧自动重发功能,可靠性高;
信号传输用短帧结构(8字节),实时性好;
不关闭总线即可任意挂接或拆除节点,增强了系统的灵活性和可扩展性;
采用统一的标准和规范,使各设备之间具有较好的互操作性和互换性,系统的通用性好;
通讯介质可采用双绞线,无特殊要求;现场布线和安装简单,易于维护,经济性好。
总之,CAN总线具有实时性强、可靠性高、结构简单、互操作性好、价格低廉等优点,克服了传统的工业总线的缺陷,是构建分布式测控系统的一种有效的解决方案。
2系统总体硬件设计方案
首先,定义各节点的功能,确定各节点检测或控制量的数目、类型、信号特征。这是进行微机测控系统网络化的第一步。原则是尽量避免重复测试。智能节点模块绝大部分是输入输出模块,调节回路可以跨模块构成回路。但考虑到调节回路的安全性,为了保证在上位机或整个通信线路出现重大故障时回路调节不受到影响,设计了隔离型、自整定PID、隔离型温度调节器等带有调节功能的模块。它们的输入输出通道都在同一模块中,其底层软件的功能很强,所有的输入处理、输出增量的计算(多种调节算法可通过组态选择,包括串级调节)、输出,包括自整定模块的过程参数的自动识别都在本模块实现,保证了调节回路的安全性、可靠性。
其次,选择各节点控制器和相应的CAN适配元件。由于各测控节点功能相对单一,数据量少,因此对CPU的要求大大降低,采用8051系列单片机即可满足要求。CAN 总线适配器件主要有:控制器接口、总线收发器和I/O器件。采用Philips公司生产的82C200CAN控制器和与其配套的82C250CAN收发器。82C200具有完成高性能通信协议所要求的全部必要特性。具有简单总线连接的82C200可完成物理层和数据链路层的所有功能。
最后,按照CAN总线物理层协议选择总线介质,设计布线方案,连接成CAN总线分布式测控网络。如图1所示。
3系统的硬件组成[3][4][5]
(1)CAN总线接口模块
① 微处理器
目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如82C200,SJA1000及Intel 82526/82527等;另一类是带有芯片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。根据当前市场、开发工具和课题的实际需要,系统的智能节点均选用ATMEL 8位单片机AT89C52为微处理器。
② CAN控制器
CAN控制器选用SJA1000作为控制器。SJA1000是高集成度CAN控制器。具有多主结构、总线访问优先权、成组与广播报文功能及硬件滤波功能。输入时钟频率为16MHh时钟,输出可编程控制。由以下几部分构成:接口管理逻辑、发送缓存器、接收缓存器、位流处理器、位定时逻辑、收发逻辑、错误管理逻辑、控制器接口逻辑等。
SJA1000有很多新功能 :标准结构和扩展结构报文的接受和发送;64字节的接收FIFO;标准和扩展帧格式都具有单/双接收滤波器;可进行读/写访问的错误计数器;可编织的错误报警限制:最近一次的错误代码寄存器;每一个CAN总线错误都可以产生错误中断;具有丢失仲裁定位功能的丢失仲裁中断;单发方式(当发主错误或丢失仲裁时不重发);只听方式(监听CAN总线,无应答,无错误标志);支持热插拔(无干扰软件驱动位速率监测)。因此,系统的智能节点均选用SJA1000作为CAN控制器。
③ CAN总线收发器
CAN总线收发器选用PCA82C250作为总线收发器。 PCA82C250是CAN 协议控制器和物理总线之间的接口。82C250 可以为总线提供不同的发送性能,为CAN 控制器提供不同的接收性能。而且它与“ISO 11898”标准完全兼容。PCA82C250的目的是为了增大通信距离,提高系统的瞬间抗干
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)