欢迎来到天天文库
浏览记录
ID:32423268
大小:292.00 KB
页数:8页
时间:2019-02-04
《嵌入式linux下can控制器的驱动程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第27卷第21期计算机工程与设计2006年11月Vol.27No.21ComputerEngineeringandDesignNov.2006嵌入式Linux下CAN控制器的驱动程序设计陈祖爵,周明(江苏大学计算机与通信工程学院,江苏镇江212013)摘要:嵌入式操作系统uClinux下扩展各类CAN总线设备,需设计相应的驱动程序。MCP2510为常用的CAN总线控制器,以它为例,详细研究分析了嵌入式操作系统中设备管理和驱动程序的特点,以及uClinux下CAN设备驱动程序的开发流程和技巧,并结合CAN总线技术的特点,设计了相关的重要数据结构和操作代码。最后介绍了把驱动程序编译
2、添加进uClinux内核的方法,实现了CAN设备的驱动。关键词:嵌入式系统;CAN总线;uClinux;设备驱动;MCP2510中图法分类号:TP368.1文献标识码:A文章编号:1000-7024(2006)21-4097-04DriverdesignofCANcontrollerinembeddedLinuxCHENZu-jue,ZHOUMing(InstituteofComputerandCommunicationEngineering,JiangsuUniversity,Zhenjiang212013,China)Abstract:ToexpandallkindsofCANd
3、evicesintheembeddedoperationsystemofuClinuxshoulddesignthecorrespondingdriver.MCP2510iscommonlyusedCANcontroller,takingitforexample,themanagementofthedeviceandcharacteristicofthedriverintheembeddedoperationsystemareresearchedandanalyzedindetail,includingthedevelopmentprocedureandskillofCANdevic
4、edriverintheuClinux.TherelevantimportantdatastructureandoperatingcodeiswrittenwhichiscombinedthetechnologicalcharacteristicofCANbus.Finally,themethodofcompilingandaddingthedriverintouClinuxkernelisintroduced,thenormalworkofCANdevicesisrealized.Keywords:embeddedsystem;CANbus;uClinux;devicedriver
5、;MCP25100引言CAN总线技术是现今流行的一种先进的现场总线技术,可以有效的支持分布式控制和实时控制的串行通信网络。由于CAN总线具有通信速率高,可靠性高,连接方便和性能价格比高等诸多优点,因此在嵌入式系统开发中有普遍的应用。目前,CAN总线通信控制芯片众多,要在uClinux平台下开发基于CAN总线的应用系统,就需要自己开发uClinux下的驱动程序。本文将基于一个CAN总线在汽车电子中的应用详细介绍在uClinux下CAN总线控制器驱动程序的设计过程。1系统硬件结构本嵌入式系统主要的硬件组成为:处理器采用三星公司的S3C44B0X,CAN总线控制器和收发器分别采用Micro
6、Chip公司的MCP2510和MCP2551。开发一个uClinux的驱动,在熟悉uClinux内核结构之外,大量的工作在于阅读相应的控制芯片手册。硬件信息决定驱动的主要结构。S3C44B0X采用的是ARM公司的16/32位ARM7TDMI内核,它是三星公司为一般应用提供的高性价比和高性能的微控制器解决方案,特别适合对成本和功耗敏感的应用场合。MCP2510是一款带有符合工业标准的SPI接口的CAN总线控制芯片,它支持CAN技术规范V2.0A/B,并能够发送和接收标准的和扩展的信息帧,同时具有接收滤波和信息管理的功能。MCP2510在目前市场上是体积最小、最易于使用也是最节约成本的
7、独立CAN控制器。MCP2551是与MCP2510相配的高速CAN总线收发器,它担负着节点和总线之间接收和发送电平转换的任务。MCP2510通过SPI接口与S3C44B0X进行数据传输,最高数据传输数率可达5Mb/s。MCP2510再通过CAN收发器连接到CAN总线上,CAN总线上可以挂接多个节点,S3C44B0X通过MCP2510与CAN总线上的其它微处理器进行通信。MCP2510内含3个发送缓冲区和两个接收缓冲区,同时具有灵活的中断管理能力,帧屏蔽和过
此文档下载收益归作者所有