您的位置 首页 汽车

嵌入式CAN总线体系电路设计详解 —电路图天天读(115)

嵌入式CAN总线系统电路设计详解 —电路图天天读(115)-CAN总线即控制器局域网络,是现场总线之一,由德国Bosch公司为汽车的监测、控制系统而设计的总线式串行通讯网络,适合于工业过程控制设备和监

  CAN(Controller Area Network)总线即操控器局域网络,是现场总线之一,由德国Bosch公司为轿车的监测、操控体系而规划的总线式串行通讯网络,适合于工业进程操控设备和监控设备之间的互联。是一种多主方法的串行通讯总线,根本规划规范要求有高的位速率,高抗电磁搅扰性,并且可以检测出发生的任何过错。首要运用于轿车电操控体系、电梯操控体系、安全监控体系、医疗仪器、纺织机械、船只运送等方面。CAN具有下下列首要特性:①低成本;②远距离传输(长达lOKm);③高速的数据传输速率(高达 1Mbit/s);④可根据报文的ID决议接纳或屏蔽该报文;⑤牢靠的过错处理和检错机制;⑥发送的信息遭到损坏后,可主动重发;⑦节点在过错严峻的情况下具有主动退出总线的功用。

  嵌入式体系的CAN接口电路

  根据arm7架构嵌入式体系的CAN接口硬件模块包含Samsung公司的嵌入式微处理器S3C44BOX和Philips公司的CAN操控器芯片SJAl000和CAN总线收发器PCA82C250。8KB Cache、 Samsung S3C44BOX微处理器是三星公司专为手持设备和一般运用供给的高性价比和高性能的微操控器解决方案,它运用arm7TDMI CPU核,作业在66MHZ。为了下降体系总成本和削减外围器材,这款芯片中还集成了下列部件:外部存储器操控器、LCD操控器、4个DMA通道、2通道异步UART单元、1个同步串行口(SIO)、1个多主12C总线操控器、1个I Is总线操控器,5通道PWM守时器及一个内部守时器、71个通用I/O口、8个外部中止源、实时时钟、8通道10位ADC等。

  CAN总线操控器

  CAN总线操控器选用Philips公司的SJAl000。 SJAl000是一款独立的操控器,用于轿车和一般工业环境中的操控器局域网络(CAN)。它是PHILIPS半导体PCA82C200 CAN操控器(BasicCAN)的代替产品。并且,它增加了一种新的作业形式(PeliCAN),这种形式支撑具有许多新特性的CAN2.0B协议。SJA1000是新一代CAN操控器,有如下特色:①和PCA82C200独立CAN操控器引脚兼容及电气兼容;②SJA1000有两种作业形式:根本CAN形式(BASIC CAN)和增强CAN形式(PELI CAN),支撑CAN2.0A/B协议;③一起支撑11位和29位ID,位速率可达1M,具有总线裁定功用;④扩展的接纳缓冲器(64字节、先进先出FIFO),增强的环境温度规模(-40-+125℃);⑤检错和纠错才能加强;⑥支撑带电插拔。

  SJA1000方框图如图1所示。其间接口办理逻辑IML担任衔接外部主操控器,该操控器可所以微型操控器或其它任何操控器。接口办理逻辑IML接纳来自微操控器的指令,分配操控信息缓存器发送缓存器TBF、接纳缓存器RBF0和RBF1,并为微操控器供给中止和状况信息。发送缓存器TBF由10个字节存贮单元组成,存贮由微操控器写,将被发送至CAN总线网络的报文。接纳缓存器0和1(RBF0、 RBF1)均由10个字节组成,替换存贮从总线接纳的报文,当一个缓存器分配给CPU,位流处理器可以对另一个进行写操作。位流处理器是一个操控发送缓存器和接纳缓存器(并行数据)与CAN总线(串行数据)之间数据流的序列发生器。位守时逻辑将SJA1000同步于CAN总线上的位流。检验滤波器支撑11 位和29位标识符的滤波,一切收到的报文由检验滤波器检验并存储在接纳FIFO。过错办理逻辑依照CAN协议完结过错界定。

  

  CAN总线收发器

  CAN总线收发器选用Philips公司PCA82C250产品。CAN总线收发器是CAN协议操控器和物理总线之间的接口,该器材对总线供给差动发送才能并对CAN操控器供给差动接纳才能,有很强的抗电磁搅扰(EMI)的才能,至少可挂110个节点。

  嵌入式体系的CAN接口电路

  图2是嵌入式微处理器S3C44BOX的CAN接口电路图。如图所示,ARM和SJA1000以总线方法衔接,因为ARM信号为3.3伏,而CAN总线操控器电平为5伏,所以一切信号之间均需求电平转化,本例中运用了QS34X245作为电平转化芯片。 QS34X245为80引脚的双例直插芯片,它既有电平转化功用(5V变到3.3V),又是一个总线开关和阻隔器材。QS34X245内供给一组32位高速CMOS兼容的总线开关,当输出使能端OEn(n为1~4)为低电平时,开关通,连能总线A和总线B;当输出使能端OEn为高电平时,则开关断开,总线 A和总线B阻隔。OE1操控总线A和总线B的低8位(即A7~A0和B7~B0),OE2操控A15~A8和B15~B8,OE3操控A23~A16和 B23~B16,OE4操控A31~A24和B31~B24。因为ARM总线非复用,而SJA1000总线复用,所以有必要经过逻辑发生地址锁存信号 ALE,在本例中该信号由芯片GAL22V10发生。SJA1000的片选、读写信号均选用arm总线信号,ALE信号由读写信号和地址信号经过GAL发生。在写SJA1000寄存器时,首要往总线的一个地址写数据,作为地址,读写信号无效,ALE改变发生锁存信号;然后写别的一个地址,读写信号有用,作为数据。上述逻辑彻底经过GAL发生。此外,CAN总线需求在两线问加一个120欧电阻。

  

  操控CAN总线时首要初始化各寄存器,以设定通讯参数(如:形式、位速率、检验码、屏蔽码、字段长、总线守时、输出形式等),BAS%&&&&&% CAN方法操控段共10个字节。发送数据时首要置位指令寄存器,然后将被发送的报文写入发送缓冲区,最后置位恳求发送,由 SJAl000完结发送。接纳经过查询状况寄存器,读取接纳缓冲区取得信息,然后开释接纳缓冲器。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部