- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2007 江苏省自动化学会学术年会论文集
基于 S3C2410 嵌入式 Linux 系统驱动程序的设计
赵雨生 , 高美凤
(江南大学 通信与控制工程学院,江苏 无锡 214122)
摘要:嵌入式系统是软件和硬件的结合体,而驱动程序是协调软件与硬件的交点,其质量直接
关系到嵌入式系统的使用效率。文中以脉宽调制器 (PWM)控制直流电机转速为例,通过分析三
星 S3C2410 微处理器 PWM 的硬件配置,阐述由 Linux 操作系统所构建的嵌入式系统的驱动程序
的设计方法。
关键词:嵌入式系统; S3C2410; Linux; 驱动程序; PWM
0 引言
随着嵌入式系统在各个领域的广泛应用,能在嵌入式设备上运行的操作系统也多种多
样。而Linux操作系统以其可应用于多种硬件平台、内核高效稳定、源码开放、软件丰富、
网络通信和文件管理机制完善等优良特性,已成为嵌入式系统领域中的一个研究热点。
操作系统是通过各种驱动程序来驾驭硬件设备的,它为用户屏蔽了各种各样的外部设
备。然而嵌入式 Linux 操作系统驱动程序的编写却是相当复杂的,因为它不仅涉及到了软件
与硬件两部分还和 Linux 系统的内核有关。
文中以脉宽调制器(PWM)控制直流电机转速为例,通过分析三星S3C2410微处理器PWM
的硬件配置,阐述了由Linux操作系统所构建的嵌入式系统的驱动程序的设计方法。
1.S3C2410 脉宽调制器(PWM)的配置[2]
S3C2410 为三星公司所生产。其 CPU 核心是由 Advanced RISC Machines(ARM)有限公
司设计的 16/32位 ARM920T RISC 处理器。它包含了丰富的内部设备。在此主要介绍 PWM 定
时器的配置及使用。
1.1 B端口控制寄存器(GPBCON)
该寄存器通过配置可使 GPB0 口,GPB1 口,GPB2 口,GPB3 口为定时器 0,1,2,3 的输出
端口。表 1 列出了有关端口配置。
表 1 B 端口控制寄存器 bit0~7
GPBCON GPB0 (bit1:0) GPB1 (bit2:3) GPB2(bit4:5) GPB3 (bit6:7)
功能配置 00=输入,01=输出 00=输入,01=输出 00=输入,01=输出 00=输入,01=输出
10=定时器 0 输出 10=定时器 1 输出 10=定时器 2 输出 10=定时器 3 输出
11=保留 11=保留 11=保留 11=保留
本例利用 GPB0,GPB1 作为输出端口对直流电机进行控制。代码为 GPBCON |=0x5
1.2 定时器计数缓冲区寄存器 (TCNTBn)定时器比较缓冲区寄存器
(TCMPBn)
定时器 n 使能时,TCNTBn 寄存器中的初始计数值将会装入递减计数器。TCMPBn 寄存器
的作用是控制脉冲宽度。当递减计数器的值减少到和比较寄存器的值相等时,定时器的输出
逻辑电平将会取反。图 1 为利用两个寄存器改变脉冲宽度的示意图。
作者简介:赵雨生 (1983-),男,汉族,河南开封市人,硕士研究生,从事嵌入式系统研究;高美凤 (1963-),
女,蒙古族,江苏镇江人,副教授,硕士生导师,主要从事计算机控制系统和信号处理的研究。
222
2007 江苏省自动化学会学术年会论文集
T1 T2
TOUTn
40 40 50 100
文档评论(0)