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转换等。在嵌入式系统的前期开发中,我们可以利用其仿真功能,不受硬件和地点的限制,使硬件和软件的开发同步进行,有效缩短产品的设计开发周期。
上一篇:微机联控在多电机随动控制系统中的应用
下一篇:基于IEEE 1588的同步以太网实现方式
推荐阅读最新更新时间:2024-03-30 21:31
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 不可错过的一次邂逅,TTI携TE传感器样片与你相见!免费样片申请活动开始啦~
- 智能云锁哪家强?TI市场和技术大咖邀你1月16日10:00直播间畅聊
- 有奖直播|使用 ModusToolbox® 构建系统,灵活应对物联网设计挑战
- 【EEWORLD第十七届社区明星人物】伙拼七月明星人物胜出!
- 《带您了解ADI数字健康生物传感器系列》有奖直播
- 有奖活动|下载资料、预约视频 泰克 HDMI 2.1 测试方案
- 有奖直播:万物互联 -世健公司携手Microchip专家,共同探讨IoT解决方案
- 免费申请TI 样片, 晒订单赢好礼!
- 春暖花开,我为TI C2000 LaunchPad“画”外围!
- 【TI.com线上采购专场——智能楼宇篇】畅聊火爆的智能电子锁、可视化门铃、智能传感器和网络摄像头方案