新闻中心

联系我们

上海本安仪表系统有限公司

网址:www.isinstruments.com

地址:上海市浦东新区金桥出口加工区金沪路1099号

电话:021-60897558

基于ARM处理器的CAN节点可靠性设计

您的当前位置: 首 页 >> 公司事迹 >> 行业新闻

基于ARM处理器的CAN节点可靠性设计

发布日期:2018-02-05 00:00 来源:http://www.isinstruments.com 点击:

 随着信息技术的飞速发展,根据ARM在嵌入式体系方面的优势和CAN总线的广泛运用,现在越来越多的ARM处理器内部自带了CAN操控器,极大的方便了开发人员对CAN总线的开发。本课题是根据ARM2104的微处理器CAN总线体系节点开发,选用CAN总线能够将节点操控器直接安装在现场,数据经处理后发送到总线上,完结了信息的全数字办法传输,进步了传输的抗干扰才能,增加了信息的传输量。
   CAN总线体系运用要求:CAN总线接口的扩展、点对点通讯。
    CAN节点的规划首要是CAN通讯操控器与微处理器之间、CAN总线收发器与物理总线之间的电路的规划。微操控器首要担任CAN操控器的初始化,进行与CAN操控器的数据传递,并依照预订的程序进行处理;CAN的通讯协议首要由CAN操控器完结,CAN操控器首要担任将数据以CAN报文的办法传递,并进行体系的确诊、测验以及处理CAN总线上的过错等;而CAN总线收发器是CAN操控器和CAN总线之间的接口,完结物理电平的转换,功用是增大通讯间隔,进步体系的瞬间抗干扰才能,保护总线,下降射频干扰(RFI)。
    一般一个完好的CAN节点应该包含三个部分:微操控器、CAN操控器、CAN收发器。现在广泛盛行的CAN总线器材有两大类:一类是独立的CAN控器,另一类是带有在片CAN的微操控器。
    CAN节点硬件电路规划
    关于CAN节点硬件电路的的各接口电路的规划有:CAN接口电路、CPU模块、外围电路(复位电路和JATG接口电路)。
   LPC2104要运用两组电源,I/O供电电源为3.3V运用体系。首要,电源DW1将电源整流,经过C1、C3滤波,然后经过78M05将电源稳压至5V,再运用LDO芯片(低差压电源芯片)稳压输出3.3V及1.8V电压。LD0芯片选用S-1131B33UC和S-1131B18UC,其特色为输出电流大、精度高、稳定性高、功耗低。
   CAN节点的软件规划
    CAN节点的软件规划首要包含ARM处理器的编程和SJA1000驱动程序的规划。在硬件电路断定今后,体系操控的首要功用将依赖于软件来完结。体系能否正常牢靠的作业,除了硬件的合理规划以外,与功用完善的软件规划是分不开的。
   装备软件包运用的GPIO必须在文件config.h中进行,其程序清单如列表1所示,其间程序清单(1)设置地址总线的宽度,只能为8、16、和24三个值之一。清单(2)设置信号AD0对应GPIO,其间0对应P0.0,1对应P0.1,以此类推。地址/数据总线的其它信号以这个信号为基准,次序界说。清单(3)信号ALE对应GPIO,其间0对应P0.0,1对应P0.1,以此类推。清单(4)信号WR对应GPIO,其间0对应P0.0,1对应P0.1,以此类推。
    程序清单列表1 装备总线运用的GPIO
    #define ADDR_N_BIT 16 (1)
    #define AD0_PIN_NUM 8 (2)
    #define ALE_PIN_NUM 0 (3)
    #define WR_PIN_NUM 1 (4)
    #define RD_PIN_NUM 4 (5)
    #include“exbus.h” (6)
    本体系CAN操控器选用SJA1000,SJA1000操控器在微操控器正常通讯前,都必须先在相应地址寄存器中加载,断定接纳标识码、总线接纳波特率以及输出操控等,这就是CAN操控器的初始化。体系所用的CAN总线操控器SJA1000和CAN2.0A以及CAN2.0B两个版别的协议一起兼容。本体系规划以CAN2.0A的BasIC CAN为协议规范进行规划。
    测验之前编写的程序前首要要断定SJA1000的片选地址,断定与其他外部存储器无抵触。其次,微处理器对SJA1000的操控拜访是以外部存储器的办法,来拜访SJA1000的内部寄存器,所以应该正确界说微处理器拜访SJA1000时,SJA1000内部寄存器的拜访地址。
    整个流程进行测验之后,SJA1000有8个不同的中止,这些中止可使主操控器立即作用在CAN操控器的某些状况上。一旦CAN发生中止,SJA1000就将中止输出(管脚16)设为低电平,直到主操控器经过读SJA1000的中止寄存器对中止采纳相应措施,在主操控器呼应后中止,或接纳INFO里有更多有用数据,SJA1000马上将中止输出再次设为低电平。选用中止接纳的办法来接纳数据,LPC2104的P0.16设置为外部中止INT,整个数据接纳模块由数据接纳函数void ReceivEDAta(uint8 *Rt)、中止处理函数CANException(void)构成。当SJA1000接纳到CAN总线数据,经过接纳中止使得LPC2104发生外部中止INT而使其进入中止处理函数,进而对接纳到的数据进行处理。

    可想,在CAN节点的软件规划的整个流程中,当硬件电路断定今后,体系操控的首要功用将依赖于软件来完结,而且能够正常牢靠的作业。
    定论
    以ARM芯片作为主操控器,CAN总线作为数据传输办法来进行通讯的嵌入式体系得到了越来越广泛的运用。一起CAN通讯的牢靠性也成为影响体系功能的要害部分之一。

    本文以LPC2104为例,给出了一类微处理器与CAN操控器SJA1000之间的较为通用的硬件衔接办法,对CAN总线节点进行了牢靠性规划,选用CAN总线能够将节点操控器直接安装在现场,数据经处理后发送到总线上,完结了信息的全数字办法传输,进步了传输的抗干扰才能,增加了信息的传输量。
    该规划现已在工厂车间中的车身控制系统中得到了运用,且运转牢靠。

相关标签:工业防爆安全系统

在线客服
二维码

扫描二维码

分享
欢迎给我们留言
请在此输入留言内容,我们会尽快与您联系。
姓名
联系人
电话
座机/手机号码