您的位置 首页 设计

C8051F040在根据CAN总线的分布式测控体系中的使用

摘要:CYGNAL生产的单片机C8051F040是代表8位单片机发展方向的高速(25M)混合信号系统级芯片(SOC)它不仅集成了一般测控系统需要的外设,而且集成了很有发展前景的现场总线—C

摘要:CYGNAL出产的单片机C8051F040是代表8位单片机发展方向的高速(25M)混合信号体系级芯片(SOC)它不只集成了一般测控体系需求的外设,并且集成了很有发展前景的现场总线—CAN总线操控器,文中对该芯片中的CAN操控器结构作了剖析,并给出了在散布式测控体系中运用该芯片的智能节点的硬件、软件规划方案。 关键词:C8051F040;CAN总线;散布式;测控节点 1 概述 散布式在线测控体系是由多个面向设备的、以MCU为中心的智能处理单元和多个并行运转且具有不同监测和故障诊断功用的微机构成的。该体系采纳“分治”的规划思维它将数据收集以及部分数据处理使命交给设备层的智能处理单元去完结而监测诊断层首要担任监督和故障诊断。散布式测控体系规划均应考虑各个节点之间的通讯问题因为通讯网络的选取对体系功能有很大影响。 国内已展开了依据现场总线的在线测控体系的研讨并运用CAN总线完结设备层的检测处理、单元间的通讯以及与上层监测主机的通讯。CAN总线便是一种支撑散布式实时操控体系的串行通讯局域网络总线。它的首要特色如下: ●任一个节点均可在任一时刻主意向网络上的其它节点发送数据,而从不分主从,因而,通讯比较灵敏; ●节点可分为不同的优先级,能够满意不同的实时要求; ●选用非破坏性总线裁定,当两节点一起向总线发送信息时,优先级低的节点主动中止数据发送而优先级高的节点可不受影响地持续发送数据; ●通讯间隔最远可达10km,通讯最高速率可达1Mbps ●每帧数据的有用字节数为8,因而,可确保很短的传输时刻,并且实时性强,受搅扰的概率低;

1.jpg

●每帧数据都含有CRC(循环冗余)校验及其它校验办法,因而数据出错率很低; ●CAN总线节点在严重过错的情况下,可主动堵截与总线的联络,以使总线上的其它操作不受影响。 现在,CAN总线协议以其牢靠性高、实时性好以及共同的规划现已成为总线通讯网络的首选国内现在运用较广的是PHILIPS 出产的SJA1000 、82C200等独立的CAN操控器,因为这种独立的操控器约束了测控节点的集成度,因而,许多微处理器出产厂家现已开端出产内部集成有CAN操控器的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-51的RAM)、音讯处理单元和操控寄存器组成,图1所示是C8051F040内部的CAN总线结构图。

2.jpg

图1中,CAN内核由CAN协议操控器和担任音讯收发的串行/并行转化RX/TX移位寄存器组成。音讯RAM用于存储音讯方针和每个方针的裁定掩码。这种CAN处理器有32个随意装备为发送和承受的音讯方针并且每一个音讯方针都有它自己的辨认掩码,一切的数据传输和接纳滤波都是由CAN操控器完结的,而不是由CIP-51来完结。 CAN内部寄存器中存储了一切CAN的操控和装备信息,其间包含操控寄存器、状况寄存器、设置波特率的位守时寄存器 、测验寄存器、过错计数器和音讯接口寄存器。一般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总线的散布式测控体系框图。该体系选用现场总线式集散体系FDCSField Distributed Control System结构,它由主控站(注:CAN总线各节点并不分主从 这里是针对特定的体系而言)、C8051F040为MCU的智能节点并配以CAN现场总线操控网络构成。主控站首要完结对各节点的在线监控以及对各节点回来信息的剖析处理,并对节点宣布操控指令以操控节点作业形式。智能节点则依据主控站指令来完结数据收集、运转显现以及对履行部件的操控,以及各节点与主站、节点与节点之间的实时数据交换和信息操控。 图4是一个以C8051F040为中心的智能节点规划原理图。

3.jpg

图中,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),且装备体系时设定的作业频率为25MHzCANTX引脚设为推挽方法,那么在初始化进程中,波特率应装备为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_BJECTS ;装备音讯方针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位规范仲帧

4.jpg

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 CAN总线;本文运用该芯片规划的测控体系智能节点具有集成度高、功能安稳等特色。因为C8051F040可到达25MHz作业频率,因而可进步体系实时性。此外,因为BOTSCH CAN内有32个自带掩码音讯方针的特别规划,因而,用其进行散布式在线测控体系节点之间的彼此数据传递规划将更为简略。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/291994.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部