新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 采用ARM+Linux架构的基于CAN总线和MiniGUI的虚拟仪表设计

采用ARM+Linux架构的基于CAN总线和MiniGUI的虚拟仪表设计

作者:时间:2010-05-04来源:网络收藏

本文选用Microchip公司生产的MCP2515作为控制器。MCP2515是一款独立的协议控制器,完全支持 2.0B技术规范。MCP2515与主控制器的连接是通过标准串行外设接口SPI(Searial Peripheral Interface)实现的。主控制器选择了Microchip公司的PIC16F913,该单片机为高性能的RISC CPU,内部具有4 KB的可编程可擦除的Flash存储器、256 B的RAM、256 B的EEPROM,带有标准的SPI接口,也能够方便地和CAN控制器MCP2515进行连接。CAN驱动器选择Microchip公司的MCP2551,是一个可容错的高速CAN器件[4,10]。数据采集用的CAN总线接口电路如图3所示。

本文引用地址:http://www.eepw.com.cn/article/151884.htm

4 CAN总线驱动程序的方案与实现
设备驱动程序是介于硬件和内核之间的软件接口,是一种低级的、专用于某一硬件的软件组件。设备驱动也可以理解为操作系统的一部分,对于一个特定的硬件设备来说,其对应的设备驱动程序是不同的,比如网卡、键盘、鼠标、显卡、电位器、电机等。操作系统本身没有对各种硬件设备提供持久不变的“驱动设备”,没有驱动,操作系统就控制不了底层的设备,对于操作系统来说,挂接的设备越多,需要的设备驱动程序也越多。
操作系统中,把所有外设都当成文件看待,使用操作文件的方法来操作设备,通过驱动程序,操作系统才能以文件夹的方式来管理设备。因此驱动程序的编写开发具有十分重要的地位。Linux设备驱动程序运行在Linux内核空间,是Linux内核中联系硬件设备和应用程序的桥梁。Linux系统硬件、设备驱动和应用程序的关系如图4所示[7]。

Magic270实验箱采用SJA1000 CAN控制器扩展了1路CAN接口,SJA1000是PHILIPS公司经典的CAN控制器,支持CAN 2.0 A、B协议。结合应用程序、驱动程序、内核程序,CAN驱动流程图如图5所示。


5 测试结果与验证
选取广州致远电子有限公司生产的Magic 270实验箱进行仿真[2]。通过
CAN总线实现汽车上各种信息的采集和测量,并将采集的结果送到进行处理,最后通过TFT显示出来,设置CAN总线传输速度波特率为125 KB/s,图6所示为捕捉的一个界面。

随着信息技术的快速发展,现场总线技术在汽车上得到了越来越多的应用。本文在测试系统下采用CAN总线接口提取车速、发动机转速、机油压力、油量、水温、传动箱压力及其他车况等信息。实验表明采用技术完全能够满足车辆运行参数和状态显示的要求,可扩充性好,配置方便。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭