首页 接线图文章正文

嵌入式CAN总线系统电路设计详解 —电路图设计爱好者

接线图 2024年04月16日 22:02 94 admin

  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总线系统电路设计详解 —电路图设计爱好者  第1张

  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总线系统电路设计详解 —电路图设计爱好者  第2张

  控制CAN总线时首先初始化各寄存器,以设定通信参数(如:模式、位速率、验收码、屏蔽码、字段长、总线定时、输出模式等),BASIC CAN方式控制段共10个字节。发送数据时首先置位命令寄存器,然后将被发送的报文写入发送缓冲区,最后置位请求发送,由 SJAl000完成发送。接收通过查询状态寄存器,读取接收缓冲区获得信息,然后释放接收缓冲器。

  目前主流的CAN协议控制器一般采用I/O总线(SJA1000等)或SPI接口(MCP2515等)与MCU进行通信。由于本设计采用PC /104总线扩展卡的方式来扩展多个RS232和RS485接口,没有多余的I/O片选线可用,因此最终选用9200的SPI接口与MCP2515进行多 路CAN总线接口的扩展。MCP2515是Microchip公司推出的具有SPI接口的独立CAN控制器。它完全支持CAN V2.0B技术规范,通信速率最高可达1 Mbps,内含3个发送缓冲器、2个接收缓冲器、6个29位验收滤波寄存器和2个29位验收屏蔽寄存器;它的SPI接口时钟频率最高可达10 MHz,可满足一个SPI主机接口扩展多路CAN总线接口的需要。

  嵌入式CAN总线系统电路设计详解 —电路图设计爱好者  第3张

  图是MCP2515的外围CAN总线接口框图,图中省略了MCP2515和9200的接口部分。由于设备需要安装在铁路沿线,必须具有防雷击的能 力。因此MCP2515与CAN总线收发器之间采用高速光耦进行完全的电气隔离,并且光耦两端电路的电源也必须用电源隔离模块隔离开, 这样才能真正起到隔离的作用。在TJA1050的CANH和CANL引脚与地之间连接2个30 pF的电容,可以过滤CAN总线上的高频干扰;2个二极管可以在总线电压发生瞬变干扰时起保护作用。光耦正常工作时输入电流为10 mA左右,内部发光二极管的正向电压降为1.7 V左右,因此要特别注意输入端串联电阻的阻值选择。

版权与免责声明

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

发表评论

接线图网Copyright Your WebSite.Some Rights Reserved. 备案号:桂ICP备2022002688号-2 接线图网版权所有 联系作者QQ:360888349