Linux下S3C2440微控制器的CAN驱动设计与实现.pdf

Linux下S3C2440微控制器的CAN驱动设计与实现.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下S3C2440微控制器的CAN驱动设计与实现

第8期 陈在平等.Linux下$3C2440微控制器的CAN驱动设计与实现985 Linux下S3C2440微控制器的CAN 驱动设计与实现 陈在平啦许东辉1’2 (1.天津市复杂系统控制理论及应用重点实验室,天津300384;2.天津理工大学自动化学院,天津300384) 述了从驱动程序的结构、SPI和CAN控制器的初始化过程及驱动程序的调用流程。通过在CAN网络上 的试验验证了所提出的驱动设计方案和实现技术是可行与有效的。 关键词 嵌入式Linux2.6.30$3C2440微控制器CAN驱动程序 中图分类号TP391文献标识码 A 文章编号 1000-3932(2011)08-0985-04 GNU/Linux操作系统由于其开源、内核易裁 剪等特性,使其适合被改造成为运行于嵌入式平 制器,带有SPI接口(传输速率可达5Mb/s,但受限 台上的操作系统。而在Linux内核版本发展到 2.6以后,为了加强在嵌入式系统领域的优势,不 于CAN的通信速率1Mb/s),完全支持CAN总线 仅在内核中加入了提高中断性能和调度响应时间 的改进,包括采用可抢占内核、更高效率的调度算 的CAN收发器模块,将所有必需的CAN隔离及 法等,而且加入了对包括$3C2440在内的多款微CAN收、发器件集成在不到3cm2的模块上。 控制器的支持。 控制器局域网CAN为串行通信协议,能有效 支持具有很高安全等级的分布实时控制。CAN 报文分为11位标识符的标准帧和29位标识符的 数据输入输出引脚分别与CAN控制器的SO和SI 扩展帧,分别在CAN2.0A和2.0B中定义。传统 的嵌入式Linux系统的CAN驱动是基于Linux2.4制器的SCK连接,EINTll作为外部中断信号连 接到CAN控制器的中断输出引脚INT。CAN控 或2.6内核的早期版本。随着Linux内核版本的 不断更新,有必要开发一个适用于较新版本内核 的驱动程序。笔者主要设计并实现了基于嵌入式 Linux 2.6.30.4内核和S3C2440微处理器的CAN 驱动系统。遵循Linux下字符型设备驱动的一般人CAN网络。 结构,在模块初始化过程中完成SPI和CAN控制 $3C2440M(:P2510 CTMl050T EINTll TXDCAN—H 器的初始化,实现硬件寄存器设置、系统注册与数 l^rl’TX(:AN- CAN总线 CPC6CSRXCA^。RXDCAN_L SPICI.K0 据结构声明。最终通过CAN网络上的试验验证 SCK SPIMlS0SO 了系统的功能。本驱动模块为动态加载,程序可 SPIMOSlSI 读性与可移植性较好,对进一步开发嵌入式Linux 系统下的CAN总线设备及其它设备驱动的开发 图1 系统硬件结构 具有重要的理论与实践意义。 1 系统硬件设计 收稿日期:2011-03·14 系统硬件主要由$3C2440微处理器、独立基金项目:天津市科技支撑莺点项目(10zCKFGx03000);天 CAN控制器MCP2510和高速CAN隔离收发器模 块CTMl050T等组成。$3C2440是三星公司生产 万方数据 化工自动化及仪表 第38卷 2系统软件设计 行SPI

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档