基于RealView MDK的CAN总线仿真研究

发布者:CrystalBreeze最新更新时间:2010-07-20 来源: 现代电子技术关键字:RealViewMDK  CAN总线  仿真  LPC2378 手机看文章 扫描二维码
随时随地手机看文章

0 引言

    RealView MDK是ARM公司的产品,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括μVision3集成开发环境与RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟、性能分析等功能。

    当前多数基于ARM的开发工具都有仿真功能,但是仅仅局限于对内核指令集的仿真。而RealView MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和I/O仿真、中断过程仿真、片内外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。

    CAN总线即控制器局域网(Controller Area Net)是一种现场总线,主要用于各种过程检测及控制。CAN最初是由德国BOSCH公司为汽车监测和控制而设计的,目前CAN已逐步应用到其它工业控制中,现已成为ISO-11898国际标准。

1 LPC2378的CAN总线控制器说明

    LPC2378是NXP公司推出的ARM7微控制器,它包含有2路独立的CAN模块,其CAN控制器的特点是:兼容CAN规范2.0B,多主机结构,带有无破坏性的位仲裁,由报文标识符(1l位或29位)确定总线访问优先级,可编程的传输速率(高达1Mb/s),多播和广播报文功能,数据长度从0到8字节,强大的错误处理能力,非归零(NRZ)编码/译码,带有位填充。

    每个CAN总线控制器包括:APB总线接口、验收滤波器接口、向量中断控制器接口、通用状态寄存器接口,这些接口连接芯片内部;还包括接口管理单元、3个发送缓冲区、2个接收缓冲器、错误管理逻辑单元、位时序逻辑、位流处理。芯片外部外接CAN总线收发器。CAN总线控制器控制着数据的发送和接收。


    CAN总线发送数据的过程为:CPU通过内部总线向CAN控制器的发送寄存器里填写需要发的数据,然后启动CAN控制器的发送使能,发送的数据分别经过位流管理器(变成在总线上发送的二进制码)、错误管理逻辑(负责检测总线状态及发送是否出现错误)及位时序逻辑(管理数据在总线上的发送时序)、CAN收发器(负责把位流数据转换成CAN总线够传输的差分电平),这样就完成了一帧CAN数据的发送。

    CAN总线的接收与CAN数据的发送是一个相反的过程,当CAN收发器检测到CAN总线上有数据时,CAN收发器把CAN总线上的差分信号转换成位流数据,经过错误管理器及位时序逻辑单元对位数据流和时序进行检查,再经过位流管理器把位流数据转换成字节数据并存放到接收缓冲器中,当一帧数据接收完了之后则由接收缓冲器产生数据接收中断(通知CPU已经接收到一帧新数据),并将产生的各种状态通过状态寄存器的值来表示。

2 系统软件设计

    本文所述系统实现的功能为:LPC2378的两个CAN控制模块各作为独立的CAN总线节点,实现它们之间的通信。为构建一个完整的CAN总线仿真环境,软件设计所实现的功能为:仿真一A/D转换通道,A/D转换后的数值传给CAN模块2,CAN模块l接收来自CAN模块2的数据。数据传送通道为A/D转换→CAN2→CANl。

2.1 定义一帧CAN数据的格式

   

2.2 初始化CAN控制器

2.3 中断服务程序

    每当发送完一帧数据,或接收到一帧数据时都触发中断。

2.4 主程序流程图

3 仿真结果

    编译并运行程序,打开CAN总线的Communication菜单项,可以看到图3所示的仿真结果。其中Number表示CAN消息的序号;States表示CAN消息的时间戳,它们是使用CPU状态标记的;#表示是哪一个CAN模块;ID表示CAN消息的标识,在发送或接收时使用;Dir表示CAN消息的传送方向;Xmit表示CAN控制器发送消息;Rec表示CAN控制器接受消息;Len表示一帧中数据场长度;data表示所传送的具体数据场。

    从仿真结果中可以看出,CAN模块2发送数据(Xmit),CAN模块1接收数据(Rec),数据场长度3个字节,达到了预期的仿真效果。

4 结束语

    RealView MDK具有强大的仿真功能,不仅能仿真CAN总线,还能仿真GPIO、I2C、SPI、A/D、D/A转换等。在嵌入式系统的前期开发中,我们可以利用其仿真功能,不受硬件和地点的限制,使硬件和软件的开发同步进行,有效缩短产品的设计开发周期。

关键字:RealViewMDK  CAN总线  仿真  LPC2378 引用地址:基于RealView MDK的CAN总线仿真研究

上一篇:微机联控在多电机随动控制系统中的应用
下一篇:基于IEEE 1588的同步以太网实现方式

推荐阅读最新更新时间:2024-03-30 21:31

振动系统的虚拟样机模型及其模态仿真
ADAMS 是美国MDI公司(Mechanical Dynamics Inc.)开发的机械系统动力学仿真分析软件。利用ADAMS软件,用户可以快速方便地创建完全参数化的虚拟样机模型,并可以进一步了解各种设计方案的样机的运动学和动力学情况。该系列ADAMS讲堂将以ADAMS的实际操作过程为核心,以ADAMS在工程中的实际应用为主线,从ADAMS的基本模块开始,由浅入深,逐步展开对ADAMS/View、ADAMS/PostProcessor、ADAMS/Vibration和ADAMS/Controls等模块的介绍。每种功能的介绍都将结合工程实例进行,力图使读者在读完文章之后,就可以进行ADAMS此功能的实际操作。   ADMAS
[模拟电子]
振动系统的虚拟样机模型及其模态<font color='red'>仿真</font>
安捷伦科技更新先进设计系统EDA软件
北京,2007年12月14日 安捷伦科技今日宣布推出先进设计系统(ADS)高频电子设计自动化(EDA)软件的第3个更新版本(Update 3)。其新增特性包括串行器/解串器(SERDES)/Verilog模拟混合信号(AMS)协同仿真以及其他信号完整性能力,可为设计人员提供一个更完整的串行链路信号完整性设计流程,使他们能够确定模拟元器件和数字元器件将会协同工作。 Agilent ADS Update 3支持设计人员使用基于Verilog-AMS的SERDES模型(提供完整的串行链路分析)进行协同仿真,在高速数字电路板上进行真正的混合信号仿真。设计人员还能使用ADS,通过NCSim和ModelSim及高频SPICE仿真器来检查设计
[半导体设计/制造]
基于S3C44B0和μCOS-II的CAN节点的设计
引言 在系统越来越复杂,功能越来越强大的今天,嵌入式系统的设计中采用实时多任务操作系统已经成为嵌入式应用设计的主流。μCOS-II是一个开源嵌入式实时操作系统(Real Time Operating System, RTOS),它已经被成功移植到各种CPU上。但是基于μCOS-II的应用软件需要在移植操作系统后自行完成。模块化的应用程序设计可以使得嵌入式设计变得更加方便,产品的开发更加迅速。S3C44B0是三星公司生产的一种ARM7芯片,性能强大,在通用嵌入式设计中运用广泛。CAN总线(Control Area Network)是一种有效支持分布式控制和实时控制的现场总线,由于其高性能和高可靠性,CAN总线的应用范围广布过程工业
[单片机]
基于S3C44B0和μCOS-II的CAN节点的设计
keil-protues仿真(简单易用)
记得在上学的时候,在实验室里面经常用keil与protues进行对c51单片机的学习;现在已经告别51将近1年半的时间了,这几天自己在学习ucosII,想把ucos给移植到51单片机中,所以就需要了以前的keil、protues,可是都给忘了。。。那好吧接下来简单的复习一下: 1:从网上下载keil 4 从网上下载protues 2:安装以上2个软件,可能需要破解(这个大家应该都知道) 3:在keil 4中编写一个最简单的led闪烁的程序 #include AT89X51.H void sleep(int num) { while(num) { num--; } } void main()
[单片机]
keil-protues<font color='red'>仿真</font>(简单易用)
基于ARM7和CAN总线的电子送经卷取系统设计
  本文利用性价比高的主控器ARM7-LPC2194、CAN接收器PCA82C250和TLP2631,设计了一种基于ARM7的纺织机送经和卷取系统,实现了送经卷取系统总线的网络节点设计,较好地解决了纺织机的电子送经和卷曲系统的数据传输问题。另外,本文系统的通信方案,对于其它工业测控领域也是可取的。   针对纺织机电子送经和卷取系统的数据传输效率低等问题,设计了一套基于CAN总线的送经和卷取的系统,该系统以CAN总线为通信方式,利用ARM主控制器,设计了电子送经和卷取系统的CAN总线通信硬件电路和相关软件,实现了主控结点与卷取驱动器和送经驱动器的高效通信,结果表明了该方法的有效性和可靠性。   电子送经卷取系统是纺织工艺流程的一
[电源管理]
基于ARM7和<font color='red'>CAN总线</font>的电子送经卷取系统设计
13步搞定USBDM全功能通用的仿真
1. JB16第9脚接地; 2. 接USB,第一次会自动安装驱动,ICPDLL.DLL; 3. 看设备管理器USB中出现MOTO JB16/JP16 ICP DECIDE,如果不出,继续插拔。 4. 如果反复拔插仍然无法出现MOTO JB16/JP16 ICP DECIDE,则双击setboot.exe,输入“yes”并回车,暂时不要关闭DOS窗口,直到FLASH操作完毕再关闭窗口。 5. 拔掉USB线,然后再插上USB线,看设备管理器USB中出现MOTO JB16/JP16 ICP DECIDE,如果出现则执行下第7步, 6. 如果以上步骤仍然无法看设备管理器USB中出现MOTO JB16/JP16 ICP DECIDE,则把P
[电源管理]
珞石RokaeStudio机器人离线编程与仿真软件重磅发布
广告摘要声明广告 近日,珞石机器人重磅推出机器人离线编程与仿真软件——RokaeStudio。RokaeStudio融合了多项核心技术,可满足不同用户不同项目的多重需求,包括方案设计、设备选型、轨迹生成、轨迹优化、仿真调试和代码生成等,覆盖机器人应用的完整生命周期,一站式解决机器人应用时的各种难题。 RokaeStudio 核心功能与特点 #01 更简单的操作界面 RokaeStudio操作界面简洁易用,功能布局清晰流畅,用户可轻松上手使用,使得工作效率倍增。 图|软件操作界面 #02 更开放的场景搭建 ■ RokaeStudio提供机器人库、设备库、工具库等丰富的云端资源库,涵盖珞石工业机器人、协作机器人所
[机器人]
珞石RokaeStudio机器人离线编程与<font color='red'>仿真</font>软件重磅发布
汽车应用中磁阻传感器系统的建模和仿真
  磁阻效应支持汽车内的多种传感器应用。磁阻传感器主要用来测量机械系统的速度和角度。这样,磁阻传感器就成为电气元件、磁性元件和机械元件所组成的复杂系统的一部分。因为所有元件都会影响系统的反应,所以在规划系统及其操作时要非常重视对整个系统的仿真。下面重点讨论这种系统的建模和仿真。   电子技术的应用日益广泛,对汽车的发展具有决定性的促进作用。未来的进一步发展也会在很大程度上由不断创新的电子元件驱动。传感器技术可检测车辆及其周围环境条件,因此具有特殊意义。有多种传感器系统可用于此类目的,例如加速度传感器、温度传感器或转矩传感器等。磁场测量传感器在汽车内尤其常见,主要用于机械变量的非接触式检测。通常这种传感器通过霍尔元件,或者基于各
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved