您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

C8051F040在基于CAN总线的分布式测控系统中的应用

时间:2007-1-20栏目:电子通信论文

置信息,其中包括控制寄存器、状态寄存器、设置波特率的位定时寄存器 、测试寄存器、错误计数器和消息接口寄存器。通常CAN内核不能直接访问消息RAM,而必须通过接口寄存器IF1或IF2来访问。另外,CIP-51的SFR并不能直接访问CAN内部寄存器的所有单元,其配置CAN、消息目标、读取CAN状态以及获取接收数据、传递发送数据都由SFR中的6个特殊寄存器来完成,其中CAN0CN、CAN0TST和CAN0STA 3个寄存器可直接获取或修改CAN 控制器中对应的寄存器,而CAN0DATH、CAN0DATL、CAN0ADR

3个寄存器主要用来访问修改其它不能直接访问的CAN 内部寄存器,其中CAN0ADR用来指出要访问寄存器的地址,CAN0DATH、CAN0DATL这时就相当于要访问的16位寄存器的高、低字节的映射寄存器,而对它们的读写则相当于对所指向寄存器的读写。图2给出了CIP-51如何访问CAN中控制寄存器和每个消息的路径图。

消息处理单元用于根据寄存器中的信息来控制CAN内核中移位寄存器和消息RAM 之间的数据传递,同时,它还可用来管理中断的产生。

3 基于C8051F040的智能系统设计

3.1 硬件设计

工业测控现场通常存在着大量的传感器、执行机构和电子控制单元,它们一般分布较广,而且对实时性要求也很高,图3是基于CAN总线的分布式测控系统框图。该系统采用现场总线式集散系统FDCSField Distributed Control System结构,它由主控站(注:CAN总线各节点并不分主从 这里是针对特定的系统而言)、C8051F040为MCU的智能节点并配以CAN现场总线控制网络构成。主控站主要完成对各节点的在线监控以及对各节点返回信息的分析处理,并对节点发出控制命令以控制节点工作模式。智能节点则根据主控站命令来完成数据采集、运行显示以及对执行部件的控制,以及各节点与主站、节点与节点之间的实时数据交换和信息控制。

图4是一个以C8051F040为核心的智能节点设计原理图。C8051F040在基于CAN总线的分布式测控系统中的应用

图中,C8051F040的6、7脚分别为CANRX和CANTX引脚,CAN的输出输入必须加总线收发器才能与CAN物理总线相连。本系统采用了TJA1050高速CAN收发器来替代传统的PCA82C250收发器,TJA1050芯片具有电磁辐射低、防短路、不上电时对总线无影响等特点,它的8脚S可以选择高速或静音两种模式,并可由C8051F040的P4.0控制。为了增加CAN 节点的抗干扰能力,将CAN引脚通过高速光耦6N137与总线收发器相连,可实现各节点之间的电气隔离。电源的隔离可以采用小功率电源隔离模块,也可以用带多个5V隔离输出的开关电源模块。这样能大大提高节点的稳定性和可靠性,但可能会增加节点的硬件复杂性。

3.2 节点软件设计

对于一个实际的测控系统,其节点软件是比较复杂的,但由于C8051F040具有与8051指令完全兼容的CIP-51内核,所以,对于有使用51系列单片机经验的人来说,这并没有太大的难度,下面主要介绍C8051F040内置CAN的软件设计。

如果需要某一节点将A/D采样值通过CAN总线送到主控站(地址01H),且配置系统时设定的工作频率为25MHzCANTX引脚设为推挽方式,那么在初始化过程中,波特率应配置为160kbps,消息目标禁止不用,配置消息目标2为接收时的程序代码如下:

CAN_INIT:

MOV SFRPAGE,#01H

ORL CAN0CN,#41H ;设INIT位为1, CCE为1

; 配置波特率

MOV CAN0ADR,#03H

MOV CAN0DATH,#7FH

MOV CAN0DATL,#05H

;禁止不用的消息目标(3-32)

MOV CAN0ADR, #0DH ; 指向IF1的仲裁控制寄存器2

MOV CAN0DATH,#00H ; MAGVAL=0;

上一页  [1] [2] [3] [4] 下一页

下页更精彩:1 2 3 4 下一页