基于ARM的平板电脑的底层硬件驱动设计.docx
《基于ARM的平板电脑的底层硬件驱动设计.docx》由会员分享,可在线阅读,更多相关《基于ARM的平板电脑的底层硬件驱动设计.docx(59页珍藏版)》请在三一办公上搜索。
1、摘 要推出平板的目的是为了弥补手机和笔记本电脑之间的这块空白区域,就是为人们提供一款和手机一样携带方便、操作简单,但比手机视觉效果更好,并能像笔记本电脑一样可以快速流畅的上网、观看视频和玩游戏的产品。软件方面,除苹果自己有自己的IOS外,不管是国内还是国外厂商,由于google的开源,基本都选择了 andriod操作系统作为开发平台。Android是一个基于linux内核的操作系统,在一款产品的开发过程中,硬件驱动程序的开发和调试是一项艰巨的任务,驱动程序的质量直接影响产品的性能和稳定性,所以对平板上驱动程序的研究和设计具有实际工程意义。此次设计针对平板电脑中常用的几个硬件驱动进行了研究和设计
2、,如LCD驱动,PWM背光驱动,按键驱动等。旨在熟悉驱动设计流程,掌握驱动设计的一般方法。关键字:平板电脑,Android,linux,硬件驱动ABSTRACTThe purpose of the launch of the tablet is in order to make up the piece of blank area between mobile phones and laptop computers for people to offer a device as easy as mobile phone to carry, simple to operate, but bett
3、er than the mobile phone visual effects, and the same as the laptop can quickly access to the Internet, watching videos and playing games. On the software side, in addition to Apples own IOS, whether domestic or foreign manufacturers, because of google opened the android source code, basically choos
4、e the andriod operating system as the development platform. Android is a Linux kernel-based operating system, in the process of a product development, developing and debugging hardware drivers is an arduous task, the quality of the driver directly impact on product performance and stability, So the
5、research and design of the driver on the Tablet PC has a practical engineering significance. This paper will research and design a few hardware drivers that commonly used in the Tablet PC, such as LCD drivers, PWM backlight driver, key drivers and so on. The purpose of this design is to familiar to
6、the driver design process and grasp the general approach to driver design.Keywords: tablet pc, android, linux, hardware drivers目 录第一章 引言51.1 ARM处理器介绍51.2 android 操作系统介绍61.3 平板电脑驱动开发概述7第二章软硬件平台介绍和启动过程分析92.1 硬件平台介绍92.2 软件平台介绍92.3 启动过程分析10第三章 LCD驱动设计及实现133.1 显示控制器及显示器硬件配置133.1.1 S5PV210 显示控制器133.1.2 三星
7、9.7寸IPS屏LTN097XL02133.1.3 显示模块硬件连接方式143.2 android下的LCD驱动153.2.1 LCD 硬件时序参数设置153.2.2 LCD硬件设备注册163.2.3 frambuffer驱动注册18第四章 PWM背光驱动设计及实现194.1 PWM背光控制器硬件连接194.2 linux内核PWM驱动194.2.1 PWM背光设备注册194.2.2 PWM背光驱动注册204.3 PWM 背光在android HAL 层移植224.3.1 什么是硬件抽象层224.3.2 HAL的实现机制234.3.3 pwm背光的HAL层实现24第五章 接键驱动设计及实现27
8、5.1 接键硬件链接以及功能要求275.2内核空间按键驱动设计和实现275.2 android对按键的重映射32第六章 振动电机驱动设计及实现356.1功能要求以及硬件连接356.2内核空间振动电机驱动设计及实现356.2.1 什么是timed GPIO356.2.2 振动电机的Timed GPIO驱动实现366.3振动电机驱动HAL层的实现40第七章 WM8976声道自动切换设计及实现437.1功能要求以及硬件链接437.2内核空间声道自动切换设计及实现447.2.1什么是switch IO447.2.1 switch IO 耳机插拔检测驱动设计及实现447.2.2 wm8976声道切换控制
9、实现48总结51参考文献52致谢53外文资料原文54译文57第一章 引言2010年1月份苹果公司发布了iPad平板电脑,从此为IT行业带来了一个全新的产业。iPad定位是介于智能手机和笔记本电脑之间的产品,提供浏览互联网、收发电子邮件、观看电子书、播放音频或视频等功能。从产品定位我们可以看出,苹果公司推出iPad的目的是为了弥补手机和笔记本电脑之间的这块空白区域,就是为人们提供一款和手机一样携带方便、操作简单,但比手机视觉效果更好,并能像笔记本电脑一样可以快速流畅的上网、观看视频和玩游戏的产品。iPad的推出,可以说开启了后PC时代,其火爆的销量让以前其他众多处于观望的厂商也迅速杀入的这块市场
10、。得益于集成电路的高速发展,以前需要很多电路才可以完成的功能现在都被高度整合到了SOC之中(片上系统)。所以和PC相比,平板电脑可以把体积做得更小。功耗做得更底。从硬件和软件的角度来讲,最关键的分别是SOC和操作系统。在SOC这一块,国外主要被高通、三星、TI、NVIDIA这些厂商所占据。这些厂商做出来的SOC集成度高,功能强劲,CPU主频现一般在1G-1.5G左右。基本已经过渡到双核时代。终端制造厂商做出来的平板终端主要面向高端消费市场。在国内,几家面向移动多媒体终端的IC设计公司也推出了性能优异的SOC芯片。如:珠海全志,福州瑞芯微,北京君正,晶晨半导体等。这些厂商的推出的SOC集成度也较
11、高。主频从800MHZ-1.2GHZ,均为单核处理器。整体上比国外大厂要低一个档次。但是,用这些厂商做出来的平板方案成本很低,更复合中国消费者的消费习惯。所以市场也非常的广阔。在软件方面。除苹果自己有自己的IOS外,不管是国内还是国外厂商,由于google的开源,基本都选择了 andriod操作系统作为开发平台。所以在这个平台上的软件资源非常丰富。对于方案设计商和终端制造商,只要具备一定的开发实力,都可以以这个平台做出差异化地方案。1.1 ARM处理器介绍ARM是Advanced RISC Machines的缩写,即可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是种技术
12、的名字。目前,ARM公司专门从事基于RISC技术芯片的设计开发,作为知识产权供应商,ARM 的商业模式主要涉及 IP 的设计和许可,而非生产和销售实际的半导体芯片。他们向合作伙伴(包括世界领先的半导体公司和系统公司)授予 IP 许可证。这些合作伙伴可利用 ARM 的 IP 设计创造和生产片上系统设计,但需要向 ARM 支付原始 IP 的许可费用并为每块生产的芯片或晶片交纳版税。除了处理器 IP 外,他们还提供了一系列工具、物理和系统 IP 来优化片上系统设计.图1-1 ARM 产品线:提供领先的设计、实现和应用正因为 ARM 的 IP 多种多样以及支持基于 ARM 的解决方案的芯片和软件体系十
13、分庞大,全球领先的原始设备制造商 (OEM) 都在广泛使用 ARM 技术,应用领域涉及手机、数字机顶盒以及汽车制动系统和网络路由器。当今,全球 95% 以上的手机以及超过四分之一的电子设备都在使用 ARM 技术。在平板领域,国外厂商基本青一色的使用了ARM的内核或者具有ARM ISA的处理器。在国内,除北京群正自主研发基于MIPS ISA的xburst架构CPU以外。其他厂商都采用了ARM cortex A8或cortex A9内核,在此基础上再加入厂商自己的外设如USB,LCDC,HDMI,audio codec,video codec等,形成具有自主特色的SOC。1.2 android 操
14、作系统介绍Android最早是由google在2007年发布的一款操作系统,Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。自2007年发布以来,Android已经经历了数个版本的更新,市面上采用该系统的移动设备数量也在飞速增长。目前市面上实用的比较多的版本为android2.3, 代号为姜饼。Google最新的版本为4.0,代号为冰欺凌三明治。根据google的官方统计,就目前的市场占有率来看,2
15、.3版本为市场占有市场份额最多的anroid版本。约占了整个android 的63.9%。在该平台上软件资源也是最丰富的。图1-2 Anroid设备中各版本占有率 1.3 平板电脑驱动开发概述驱动程序是一种实现硬件具体功能的软件。做驱动程序开发不仅仅要明白操作系统为我们提供的驱动模型,常用的数据结构。而且要理解我们所操作的硬件。明白硬件的工作原理。所以驱动程序的开发工作非常具有挑战性。在现在市长上销售的平板中,大多数在硬件平台上,选用ARM处理器,软件平台上选用 android(苹果有自家的IOS),所以,平板电脑上的驱动开发可以说是在ARM平台上的android驱动开发,由于android是
16、linux内核,所以android下有很多为标准的linux 驱动,如串口驱动, framebuffer驱动,touch panel驱动等。但android 也有自己的专有驱动。具体如下:1.Android Binder: 基于OpenBinder框架的一个驱动,用于提供Android平台的进程间通信功能。2.Android电源管理(PM): 一个基于标准liunx电源管理系统的轻量级Android电源管理驱动,针对嵌入式设备做了很多优化。3.低内存管理器(Low Memory Killer): 根据系统运行的需要杀死进程以释放需要的内存。4.匿名共享内存(Asheme): 为进程间提供大量共
17、享内存,同时为内核提供回收和管理这个内存的机制。5.Android PMEM(physical): PMEME用于向用户空间提供连续的物理内存区域。6.Android Logger: 一个轻量级的日志设备,用于抓取Android系统的各种日志。7.Android Alarm: 提供了一个定时器,用于把设备从睡眠状态唤醒,同时它还提供了一个即使在设备睡眠时也会运行的时钟基准。8.USB Gadget: 驱动 一个基于标准liunx usb gadget 驱动框架的设备驱动,Android的USB驱动是基于gadget框架。9.Android ram Console: 为了提供调试功能,Andro
18、id允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer.10.Android timed deivce: 提供了对设备进行定时控制功能,目前支持vibrator 和LED设备.11.Yaffs2文件系统: Android采用Yaffs2作为MTD nand flash文件系统。同时,同标准的linux相比,android驱动开发中,为我们提出了一个新的概念HAL(Hardware Abstract Layer硬件抽象层). 是Google因应厂商希望不公开源码的要求下,所推出的新观念。HAL运行在用户空间,这样,驱动程序就可以不受GPL的限制,不用
19、公开源代码。他们的硬件规格和驱动代码就可以很好的保护驱动。这对很多设备制造商来说,是一种良好的自我保护。在android移植中,HAL也是需要驱动人员去开发的一部分。针对我们的自己搭建的硬件平台,在本文中将重点阐述如下驱动的移植和开发:1.三星9.7英寸IPS显示面板显示驱动设计。2.显示面板PWM背光驱动程序设计。3.平板电脑上按键驱动设计。4.振动电机驱动设计。5.WM8976 codec研究,配合硬件实现耳机插入检测,着重解决外放喇叭和耳机声道自动切换问题。第二章软硬件平台介绍和启动过程分析2.1 硬件平台介绍在硬件平台上选用三星蜂鸟ARM处理器s5pv210.其具有如下特性:l Cor
20、texTM-A8架构 l 32KB I/D缓存,512KB二级缓存 l 64位多总线架构 l 支持MPEG4,H.263,H.264 1080P30fps编解码以及MPEG4 l 1080P30fps解码 l JPEG解码高达80Mpixels/s l 2D,3D高性能加速 l HDMI,TV OUT 根据应用需求,我们板载如下硬件:1. 三星K4T1G084QE 512MB DDR2.2. 9.7寸IPS显示屏,分辨率为1024*768.3. 9.7寸10点电容触摸屏。采用深圳goodix GT8105芯片组.4. HDMI高清输出接口.5. OV2655 200W像素前置摄像头.6. WM
21、8976 audio codec,自带AB类功放.7. Kionix KXTF9-2050 加速度传感器.8. Atheros AR6102 WIFI.9. 7400MA 锂电池,并设计了充电电路.10. 振动电机.2.2 软件平台介绍在软件开发上选用 xboot作为启动引导bootloader。xboot是由深圳九鼎展创科技有限公司自主开发的开源bootloader。具有如下特性: 支持多操作系统选择启动,默认系统可自定义; 支持开机LOGO; 支持shell命令行脚本解析; 源码架构清晰易懂,无需繁琐的宏定义; 添加程序简单,类似linux驱动加载; 完全免费开源工程,无须license;
22、 支持打包内核,调试更加出色; 支持打包文件系统,boot,kernel,ramdisk只需一个文件; Android采用目前兼容性最好的android2.3。 内核采用linux2.6.37.整个开发过程在ubuntu10.10下完成.2.3 启动过程分析系统启动过程是一个代码从闪存到内存,初始化必须的硬件并为操作系统的运行做好前期准备的过程。本系统中启动代码由三部分组成:IROM,一级bootloader,二级bootloader。其中IROM由CPU自身硬件实现,一级和二级bootloader由xboot实现.每一个阶段的特点为:l iROM代码:包含小而简单的代码,是独立于平台和存储在
23、内部存储器l 一级引导装载程序:包含小而简单的代码,这是独立于平台和存储在外部存储设备。l 二级引导装载程序:包含复杂的代码,这是特定于平台和存储在外部存储设备。S5PV210内带64K ROM 和96K SRAM。内部的64KB ROM和内部96KB SRAM的地区都可以用于引导。可通过外部引脚设置选择从不同的设备启动. 图2-1 启动引导过程具体启动过程如下:IROM代码被放置在内部的64KB ROM。它初始化基本系统功能,如时钟,堆栈和堆。该IROM从一个特定的外部引导设备复制一级bootloader到内部96KB的SRAM。引导设备的选择由工作模式(OM)引脚确定。在一级bootloa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 平板 电脑 底层 硬件 驱动 设计
链接地址:https://www.31ppt.com/p-1667628.html