网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 发展战略论文
  • 国际经济论文
  • 行业经济论文
  • 新经济学论文
  • 中国经济论文
  • 国际贸易论文
  • 地方战略论文
  • 您的位置:写论文网 > 经济学论文 > 国际贸易论文 > 分布式总线 [C8051F040在基... 正文 2019-12-25 07:25:19

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

    相关热词搜索:

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

    C8051F040在基于CAN总线的分布式测控系统中的应用 关键词:C8051F040;
    CAN总线;
    分布式;
    测控节点 1 概述 分布式在线测控系统是由多个面向设备的、以MCU为核心的智能处理单 元和多个并行运行且具有不同监测和故障诊断功能的微机构成的。该系统采取 “分治”的设计思想  它将数据采集以及部分数据处理任务交给设备层的智能处 理单元去完成  而监测诊断层主要负责监视和故障诊断。分布式测控系统设计均 应考虑各个节点之间的通信问题  因为通信网络的选取对系统性能有很大影响。

    国内已开展了基于现场总线的在线测控系统的研究  并利用CAN总线实现设 备层的检测处理、单元间的通信以及与上层监测主机的通信。CAN总线就是一 种支持分布式实时控制系统的串行通信局域网络总线。它的主要特点如下: ●任一个节点均可在任一时刻主动向网络上的其它节点发送数据,而从不 分主从,因此,通信比较灵活;
    ●节点可分为不同的优先级,可以满足不同的实时要求;
    ●采用非破坏性总线仲裁,当两节点同时向总线发送信息时,优先级低的节 点主动停止数据发送  而优先级高的节点可不受影响地继续发送数据;

    ●通信距离最远可达10km,通信最高速率可达1Mbps  ●每帧数据的有效字节数为8,因此,可保证很短的传输时间,而且实时 性强,受干扰的概率低;

    ●每帧数据都含有CRC(循环冗余)校验及其它校验措施,因而数据出错 率很低;

    ●CAN总线节点在严重错误的情况下,可自动切断与总线的联系,以使 总线上的其它操作不受影响。

    目前,CAN总线协议以其可靠性高、实时性好以及独特的设计已经成为 总线通信网络的首选  国内目前使用较广的是PHILIPS 生产的SJA1 000 、82C200等独立的CAN控制器,由于这种独立的控制器限制了测控节点的集成度,因此,很多微处理器生产厂家已经开始生产内部集成有CA N控制器的MCU。美国CYGNAL公司生产C8051F040就是内部集 成有BOSCH CAN控制器的混合信号系统级芯片(SOC)。本文将分析 C8051F040 的CAN总线结构、与CPU 的接口及初始化配置,同时 将给出基于C8051F040的分布式测控节点的设计及系统的实现框架。

    2 C8051F040及其内部BOTSH CAN Cygnal公司的单片机C8051F040具有与8051指令集 完全兼容的CIP-51内核。它的最高频率可达25MHz  内置64kB FLASH RAM和4kB的数据存储器。C8051F040在一个芯片内 集成了构成单片机数据采集或控制系统所需要的几乎所有模拟和数字外设及其 它功能部件,包括ADC、可编程增益放大器、DAC、电压比较器、温度传感 器、SMBus/I2C、UART、SPI、定时器、内部振荡器、看门狗电 路以及CAN 控制器等,这种高度集成为设计小体积、低功耗、高可靠和高性 能的测控系统提供了方便,同时也使测控设备整体成本能够降低。

    C8051F040内部集成有BOTSH CAN,它兼容CAN技术 规范2.0A和2.0B,主要由CAN内核、消息RAM(独立于CIP-5 1的RAM)、消息处理单元和控制寄存器组成,图1所示是C8051F04 0内部的CAN总线结构图。

    图1中,CAN内核由CAN协议控制器和负责消息收发的串行/并行转换 RX/TX移位寄存器组成。消息RAM用于存储消息目标和每个目标的仲裁掩 码。这种CAN处理器有32个随意配置为发送和接受的消息目标  并且每一个 消息目标都有它自己的识别掩码,所有的数据传输和接收滤波都是由CAN控制 器完成的,而不是由CIP-51来完成。

    CAN内部寄存器中存储了所有CAN的控制和配置信息,其中包括控制 寄存器、状态寄存器、设置波特率的位定时寄存器 、测试寄存器、错误计数器 和消息接口寄存器。通常CAN内核不能直接访问消息RAM,而必须通过接口 寄存器IF1或IF2来访问。另外,CIP-51的SFR并不能直接访问C AN内部寄存器的所有单元,其配置CAN、消息目标、读取CAN状态以及获 取接收数据、传递发送数据都由SFR中的6个特殊寄存器来完成,其中CAN 0CN、CAN0TST和CAN0STA 3个寄存器可直接获取或修改CAN 控制器中对应的寄存器,而CAN0DATH、CAN0DATL、CAN 0ADR 3个寄存器主要用来访问修改其它不能直接访问的CAN 内部寄存 器,其中CAN0ADR用来指出要访问寄存器的地址,CAN0DATH、C AN0DATL这时就相当于要访问的16位寄存器的高、低字节的映射寄存器, 而对它们的读写则相当于对所指向寄存器的读写。图2给出了CIP-51如何 访问CAN中控制寄存器和每个消息的路径图。

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

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

    图4是一个以C8051F040为核心的智能节点设计原理图。

    图中,C8051F040的6、7脚分别为CANRX和CANTX引 脚,CAN的输出输入必须加总线收发器才能与CAN物理总线相连。本系统采 用了TJA1050高速CAN收发器来替代传统的PCA82C250收发 器,TJA1050芯片具有电磁辐射低、防短路、不上电时对总线无影响等特 点,它的8脚S可以选择高速或静音两种模式,并可由C8051F040的P 4.0控制。为了增加CAN 节点的抗干扰能力,将CAN引脚通过高速光耦 6N137与总线收发器相连,可实现各节点之间的电气隔离。电源的隔离可以 采用小功率电源隔离模块,也可以用带多个5V隔离输出的开关电源模块。这样 能大大提高节点的稳定性和可靠性,但可能会增加节点的硬件复杂性。3.2 节点软件设计 对于一个实际的测控系统,其节点软件是比较复杂的,但由于C8051 F040具有与8051指令完全兼容的CIP-51内核,所以,对于有使用 51系列单片机经验的人来说,这并没有太大的难度,下面主要介绍C8051 F040内置CAN的软件设计。

    如果需要某一节点将A/D采样值通过CAN总线送到主控站(地址01 H),且配置系统时设定的工作频率为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;

    MOV CAN0ADR,#09H ;

    指向IF1的命令掩码寄存器 MOV CAN0DATL,#0A0H  ;

    方向为写,改变仲裁位 MOV R1,#20H MOV CAN0ADR, #08H ;
    指向IF1的命令寄存器ENABLE_MESSAGE_OBJECTS:
    MOV CAN0DATL,R1 ;
    写R1指向的消息目标 MOV CAN0ADR, #08H ;
    指向IF1的命令寄存器 WAIT_TRANSFER_OVER  MOV A,CAN0DATH  ;
    读命令寄存器 JB ACC.7,WAIT_TRANSFER_OVER DEC R1 CJNE R1,#02H,ENABLE_MESSAGE_BJECT S ;
    配置消息目标2为接收 MOV CAN0ADR,#21H MOV CAN0DATL,#11111000B  ;

    写IF2命令掩 码 MOV CAN0DATH,#00H MOV CAN0DATL,#00H  ;
    写IF2掩码1 MOV CAN0DATH,#00H MOV CAN0DATL,#00H  ;

    写IF2掩码2 MOV CAN0DATL,#00H  ;

    写IF2仲裁寄存器1 MOV CAN0DATH,#80H  ;

    写IF2仲裁寄存器2高8 位 消息目标有效,标准仲裁帧,方向为接收MOV CAN0DATL,#00H  ;

    写IF2仲裁寄存器2低8 位 MOV CAN0DATH,#00010100B  ;

    写IF2控制寄 存器高位 MOV CAN0DATL,#80H  ;

    写IF2控制寄存器低位 MOV CAN0ADR, #20H MOV CAN0DATL, #02H  ;

    通过IF2写2号消息目标 WAIT_TRANSFER_OVER1;

    MOV A,CAN0DATH ;

    读命令寄存器 JB ACC.7,WAIT_TRANSFER_OVER1 ;
    等待写结束 ;CAN进入操作模式 MOV CAN0CN,#00000010B ;

    CAN进入正常操作模 式状态中断使能, RET 发送过程是将存储在从BUF0起始地址中的2个字节的A/D采样数 据,通过IF1传送到消息目标1的过程。其启动发送程序代码如下:
    SEND_AD_DATA:
    MOV SFRPAGE, #01H MOV CAN0ADR, #09H MOV CAN0DATL,#10110111B ;

    写IF1命令掩码寄存器MOV CAN0ADR, #0DH MOV CAN0DATH,#10100000B ;
    使用11位标准仲 帧 MOV CAN0DATL,#04H ;
    写IF1仲裁寄存器2,发送对象 的地址01因标准帧使用高11位,所以地址要左移2位指向控制寄存器 MOV CAN0DATH,#00001001B ;

    写IF1控制寄 存器高8位,传输中断使能,置传输请求位 MOV CAN0DATL,#0BH  ;

    写IF1控制寄存器低8 位, EOB=1 DLC=0指向BUF0 MOV DPTR,BUF0 MOVX A,@DPTR MOV CAN0DATL,A  ;

    写IF1数据0 INC DPTR MOVX A,@DPTR MOV CAN0ADR,#0FH MOV CAN0DATH,A  ;

    写IF1数据1 MOV CAN0ADR, #08H MOV CAN0DATL,#01H  ;
    传递到目标1及启动发送 RET 4 结束语 Cygnal公司的单片机C8051F040是一种完全集成的混合 信号系统级芯片(SOC),它具有与8051指令集完全兼容的CIP-51内 核  代表了8位单片机的发展方向。它不仅集成有构成监控系统常用的外设,而且集成了逐渐成为控制领域首选的高可靠性、高性能C8051F040 CA N总线;本文使用该芯片设计的测控系统智能节点具有集成度高、性能稳定等特 点。由于C8051F040可达到25MHz工作频率,因而可提高系统实时 性。此外,由于BOTSCH CAN内有32个自带掩码消息目标的特殊设计, 因此,用其进行分布式在线测控系统节点之间的相互数据传递设计将更为简单。

    • 范文大全
    • 教案
    • 优秀作文
    • 教师范文
    • 综合阅读
    • 读后感
    • 说说
    分布式总线 [C8051F040在基于CAN总线的分布式测控系统中的应用] 》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.