当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]CAN(Controller Area Network)总线即控制器局域网络,是现场总线之一,由德国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总线时首先初始化各寄存器,以设定通信参数(如:模式、位速率、验收码、屏蔽码、字段长、总线定时、输出模式等),BASIC CAN方式控制段共10个字节。发送数据时首先置位命令寄存器,然后将被发送的报文写入发送缓冲区,最后置位请求发送,由 SJAl000完成发送。接收通过查询状态寄存器,读取接收缓冲区获得信息,然后释放接收缓冲器。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭