两种采用CAN总线进行通信的系统比较

发布者:SparklingDreams最新更新时间:2011-09-19 关键字:控制器  CAN总线  实时性 手机看文章 扫描二维码
随时随地手机看文章

    CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,它可实现全分布式多机系统,且无主、从之分;具有传输速度快、自动解决总线竞争、实时性好、可靠性高、纠错能力强等特点,目前已成为一种国际总线标准。由于can总线具有诸多优点,它的应用范围遍及从高速网络到低成本的多线路网络。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统、工业自动化、建筑物环境控制、机床、电梯控制、医疗设备等领域得到了较为广泛的应用。

  sja1000是一种独立的can控制器,主要用于移动目标和一般工业环境中的区域网络控制。它是philips半导体公司pca82c200can控制器(basiccan)的替代产品,而且它增加了一种新的操作模式——pelican,这种模式支持具有很多新特性的can2.0b协议。sja1000的基本特性以及电气参数均与pca82c200独立can控制器兼容,具有pca82c200模式(即默认的basiccan模式),有扩展的接收缓冲器64字节,先进先出(fifo),支持can2.0a和can2.0b协议,支持11位和29位标识码,通信位速率可达1mbps。

  独立的can控制器芯片需要外接一个处理器,接受外部cpu的控制才能运行。如果处理器内带有can控制器,那么无疑会大大简化应用系统的硬件设计,系统的可靠性也会有很大的提高。所以出现了很多带有can控制器的处理器,philips公司的p8xc591单片机就是其中的一种,它完全履行can2.0b规范,并提供一个直接从sja1000独立can控制器的软件移植路径。

  2两种通信方式介绍

  2.1独立的can控制器sja1000通信方式

  sja1000是一种独立的can控制器,主要用于移动目标和一般工业环境中的区域网络控制。它是philips公司pca82c200can控制器(basiccan)的替代产品,它在完全兼容pca82c200的基础上,增加了一种新的工作模式pelican,sja1000完全支持具有很多新特性的can2.0b协议。sja1000的工作模式通过其内部的时钟分频寄存器(cdr)中的can模式位来选择,硬件复位时默认模式是basiccan工作模式[1]。

  sja1000可以支持多种微处理器的时序特性,如intel模式或motorola模式。sja1000与微处理器的接口非常简单,微处理器以访问外部存储器的方式来访问sja1000,在设计接口电路时,sja1000的片选地址应与其他外部存储器的片选地址在逻辑上无冲突。

  sja1000有2种模式可以供微处理器访问其内部寄存器,2种模式下的访问是有区别的,这2种模式分别是复位模式和工作模式,当硬件复位、控制器掉线、置位请求位时,sja1000进入复位模式。当清楚其内部控制寄存器(cr)中的复位请求位时,sja1000进入工作模式,有些内部的寄存器只能在复位模式下访问,有些寄存器只能在工作模式下访问,而有些寄存器在这2种模式下都可以访问。

  2.2philips单片机p8xc591的通信方式

  philips半导体公司的p8xc591是一个用先进的coms工艺制造的高性能8位单片机,具有片内can控制器。它从mcs-51微控制器家族派生而来,采用了强大的80c51指令集,并成功的包括了philips半导体sja1000,can控制器的pelican功能,提供了专用的硬件,其方框图如图1所示。全静态内核提供了扩展的节电方式。振荡器可停止和恢复而不会丢失数据。改进的1:1内部时钟分频器在12mhz外部时钟速率时实现500ns指令周期[1]。

 

图1p8xc591的方框图

  p8xc591是一个高性能的微控制器,其专注的硬件结构及增强型的philips“rx+内核”使得其可以广泛用于工业控制和汽车领域。片上自带的can控制器为can的应用提供许多专用的硬件功能。p8xc591完全履行can2.0b规范并提供一个直接从sja1000独立can控制器的软件移植路径。p8xc591具有can的扩充特性,其中包括增强型接收滤波器、支持系统维护、诊断、系统优化以及接收fifo特性等,使得p8xc591具有非常广泛的应用领域。

   p8xc591包含的嵌入式can控制器具有下列功能模块:can内核模块,根据can2.0b规范控制can帧的发送和接收;can接口模块,包含了5个实现cpu与can控制器连接的特殊功能寄存器,对重要can寄存器的访问通过快速自动增加的寻址特性和对特殊功能寄存器的位寻址来实现;can控制器的发送缓冲区模块,能够保存一个完整的can信息扩展或标准帧格式,只要通过cpu启动发送信息,字节就从发送缓冲区传输到can内核模块,当接收一个信息时,can内核模块将串行位流转换成并行数据输入到接收滤波器,通过该可编程滤波器,p8xc591确定实际接收到的信息,所有由接收滤波器接收的数据都保存在接收fifo(64字节)中,取决于操作模式和数据长度的不同该接收缓冲区最多可保存21个can信息。这使用户在指定系统的中断服务和中断优先级时有更多的灵活性,因为数据溢出的可能性大大降低。


  除了普通的can特性以外,p8xc-591还提供增强型pelican。pelican具有4个独立可配置的接收滤波器组,每个组都有4个可选的接收滤波器配置;每个接收滤波器都有32位区分符、32位代码和32位屏蔽;所有滤波器配置都可在运行中改变;支持更高层协议的接收滤波器;接收fifo特性;只听模式及自检测模式;只有达到fifo接收中断级才能产生接收中断;在接收到高优先级数据帧时立即产生接收中断;支持系统维护、诊断和优化等特性[2]。

  3两种通信方式比较

  当独立的can控制器进行数据的接收和发送时,在设计微处理器与sja1000的接口电路时,首先要选择微处理器和sja1000的接口模式,其次要注意sja1000的片选地址应与其他的外部存储器无冲突,还应注意sja1000的复位电路应为低电平有效等一些问题,其硬件电路的设计相对来说是非常复杂的。如果有一点问题没有注意到,就有可能造成数据无法发送和接收。

  sja1000内部寄存器分布于0~31连续的地址空间中,包括控制段和信息缓冲区。控制段在初始化载入时可被编程来配置通讯参数(例如:波特率、位时序等)。微控制器也是通过这个段来控制CAN总线上的通讯状态。信息缓冲区分为发送缓冲区和接收缓冲区。微处理器将要发送的信息写入发送缓冲区,然后启动发送命令后,可进行报文的发送。符合接收条件的接收到的信息放入接收缓冲区,微处理器可以读出这些信息,并进行处理。

  硬件电路的设计如果采用了philips公司的自带can控制器的单片机p8xc591,就不会存在以上的问题。由于p8xc591含有片上的can控制器,透过txdc、rxdc两个管脚,p8xc591就可以直接和外部的can节点交换数据。p8xc591自带的can控制器在软件上是向上兼容sja1000的。p8xc591所连接的can节点电路所需要的外部元件仅仅是一个晶振加两个电容驱动片内振荡器、一个连接到复位脚的电阻、电容。使用片内上电复位电路以及一个收发器pca82c250用于将p8xc591连接到can总线。所以我们能够很方便的使用,而且不必考虑很多外部电路的连接,使我们能够避免很多容易出现的错误。

  p8xc591通过对can的特殊功能寄存器如地址寄存器(canadr)、数据寄存器(candat)、模式寄存器(canmod)、控制寄存器(cancon)、状态寄存器(cansta)、总线定时寄存器(btr0,btr1)等的设置以及对收发缓冲区的读写,从而完成和其它can节点的数据交换。

  4结束语

  通过本文的介绍,我们对独立can控制器sja1000和philips公司的p8xc591单片机有了进一步的了解,通过后者,我们可以把硬件电路连接两个处理器所完成的任务,简化为只用一个微控制器就可以完成。这样大大简化了电路的硬件连接,而且也提高了系统的可靠性。

 

关键字:控制器  CAN总线  实时性 引用地址:两种采用CAN总线进行通信的系统比较

上一篇:汽车网关成为车载网络集成的先锋
下一篇:汽车电动空调的数据采集系统的研究设计

推荐阅读最新更新时间:2024-05-02 21:35

新趋势!智能电表解决方案出炉!
智能电表是智能电网的智能终端,它已经不是传统意义上的电能表,除了具备传统电能表基本用电量的计量功能以外,为了适应智能电网和新能源的使用,它还具有双向多费率计量功能、用户端控制功能、多种数据传输模式的双向数据通信功能、防窃电功能等智能化的功能,智能电表代表着未来节能型智能电网最终用户智能化终端的发展方向。 下图1为智能电表应用框图,该方案基于瑞萨的MCU R5F100PJ,符合Q/GDW 1354—2013智能电能表功能规范、Q/GDW 1356—2013三相智能电能表型式规范、Q/GDW 1827-2013 三相智能电能表技术规范、Q/GDW 1365—2013智能电能表信息交换安全认证技术规范,硬件设计为:模块可选、CPU卡
[工业控制]
新趋势!智能电表解决方案出炉!
MSP430使用指南5 -> ICC中断控制器
ICC,即Interrupt Compare Controller,中断比较控制器,作用便是设定中断优先级,同时通过比较中断优先级等实现中断的硬件嵌套。 首先普及一下MSP430的中断系统,大部分的MSP430 MCU中断优先级是不能设置的,也就是说对于每一个中断源的优先级是体现设定好的,不支持后期用户自动设置,因此可以说如果正在执行低优先级的程序,突然来了一个高的优先级中断,是可以打断低优先级的服务程序的,但是前提是进入低优先级中断服务程序时开启了全局中断即GIE。但是如果高优先级中断正在执行服务程序,来了一个低优先级的中断,那么只能等待高优先级中断服务程序执行完之后,才可以去执行低优先级的中断服务程序,这样也就是说不能灵活
[单片机]
MSP430使用指南5 -> ICC中断<font color='red'>控制器</font>
STEC2000控制器在LonWorks总线中应用
引 言   在现今的自动化工程中,可编程控制器(PLC)与上位机的结合仍然占据主流,随着总线技术和通信技术的飞速发展,各种计量仪器都具备了智能通信功能,控制器与智能仪表的通信也逐渐成为工程中不可缺少的一部分,所以各个控制器厂家也相应地扩展了自己产品的接口,使得控制器具有了更广泛的应用性。当前流行的现场总线主要有Modbus,Profibus,CAN,LonWorks等。由于各个总线的接口技术以及通信协议的差异,使得其传输介质也不同,例如常见的Modbus接口采用了RS 485,所以通过分极性的双绞线传输数据。上世纪80年代后期,美国埃施朗公司(Echelon)开始开发LonWorks技术平台,确信他将成为控制网的通用标准。 2 L
[嵌入式]
采用C8051单片机的金卤灯控制器的设计
1 概论 目前,大部分照明设备仍以传统能源来照明,充分利用太阳能作为照明设备的能源供给,在节约能源、保护环境等方面具有重要意义。 2 控制器整体结构   太阳能光伏板接入光伏信号处理电路,光伏电压经PWM充电控制电路送到12 V蓄电池内。正常工作时,12 V蓄电池输出电压经高频平面变压器次级感应升压、整流后到全桥电路。同时12 V输出电压与电压变换电路相连接,向控制器其他电路供电。 2.1 太阳能充电系统   光伏信号处理电路包括防信号反接电路、光伏电压取样电路和雷击保护电路。其中,防信号反接电路可以阻止光伏信号反接输入对控制器电路造成损坏。电压取样电路提供给C8051F920采样后的光伏电
[单片机]
采用C8051单片机的金卤灯<font color='red'>控制器</font>的设计
MCX314As型四轴运动控制器工作原理及应用
   MCX系列运动控制器是日本NOVA公司设计的专用电路,其中MCX314As是NOVA公司最新的推出的4轴运动控制器,是对MCX314功能的改进和增强。   MCX314As以单个电路同时控制4个伺服系统或步进电机系统,可进行各轴独立的定位控制、速度控制,亦可在任意2轴或3轴中进行圆弧、直线、位模式插补。MCX314As能与8/16位数据总线接口,通过命令、数据和状态等寄存器实现4轴3联动的位置、速度、加速度等的运动控制和实时监控、实现圆弧、直线、位模式3种模式的轨迹插补,输出脉冲频率达到4MHz,每轴都有伺服反馈输入端、4个输入点和8个输出点,能独立地设置为恒速、线性、非对称S曲线加/减控制、非对称梯形加/减速控制方式
[嵌入式]
Spansion 推出全新汽车微控制器产品家族
基于ARM® Cortex® R5 内核的 Traveo™ MCU 家族可为汽车应用提供先进的 HMI、安全和网络功能。 2014年5月21日,中国北京 –——全球行业领先的嵌入式市场闪存解决方案创新厂商 Spansion 公司(NYSE:CODE)今日宣布推出一个针对汽车应用市场全新微控制器家族。Spansion® Traveo™ 微控制器家族基于ARM Cortex®-R5 内核,能够针对电气化、车身电子、电池管理、汽车仪表盘、供热通风与空调(HVAC)、先进驾驶辅助系统 (ADAS) 等一系列广泛的汽车应用提供高性能、先进的人机交互界面、高安全性以及先进的网络系统协议。 新的产品家族结合了Spansion
[汽车电子]
Spansion 推出全新汽车微<font color='red'>控制器</font>产品家族
电流型PWM集成控制器UC3842/UC3843的隔离单端反
开关电源以其高效率、小体积等优点获得了广泛应用。传统的开关电源普遍采用电压型脉宽调制(PWM)技术,而近年电流型PWM技术得到了飞速发展。相比电压型PWM,电流型PWM具有更好的电压调整率和负载调整率,系统的稳定性和动态特性也得以明显改善,特别是其内在的限流能力和并联均流能力使控制电路变得简单可靠。   电流型PWM集成控制器已经产品化,极大推动了小功率开关电源的发展和应用,电流型PWM控制小功率电源已经取代电压型PWM控制小功率电源。Unitrode公司推出的 UC3842 系列控制芯片是电流型PWM控制器的典型代表。    DC/DC转换器 转换器是开关电源中最重要的组成部分之一,其有5种基本类型:单端正激式、
[电源管理]
电流型PWM集成<font color='red'>控制器</font>UC3842/UC3843的隔离单端反
Atmega16微控制器连接ESP8266 NodeMCU实现发送电子邮件
Atmega16是一款低成本的8位微控制器,与之前版本的微控制器相比,其GPIO数量更多。它具有所有常用的通信协议,如UART、USART、SPI和I2C。由于其广泛的社区支持和简单性,它在机器人、汽车和自动化行业中具有广泛的应用。 Atmega16不支持任何无线通信协议,如Wi-Fi和蓝牙,这限制了其在某些领域内的应用领域,如物联网。为了克服这种限制,可以连接支持无线协议的其他控制器。有许多控制器支持无线协议,如被广泛使用的ESP8266等。 在本篇文章中,我们将Atmega16微控制器与ESP8266 NodeMCU进行连接,使其通过互联网进行无线通信。 ESP8266 NodeMCU是广泛使用的WiFi模块,具
[单片机]
Atmega16微<font color='red'>控制器</font>连接ESP8266 NodeMCU实现发送电子邮件
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved