(信号与信息处理专业论文)嵌入式linux音频播放器的设计与实现.pdf_第1页
(信号与信息处理专业论文)嵌入式linux音频播放器的设计与实现.pdf_第2页
(信号与信息处理专业论文)嵌入式linux音频播放器的设计与实现.pdf_第3页
(信号与信息处理专业论文)嵌入式linux音频播放器的设计与实现.pdf_第4页
(信号与信息处理专业论文)嵌入式linux音频播放器的设计与实现.pdf_第5页
已阅读5页,还剩76页未读, 继续免费阅读

(信号与信息处理专业论文)嵌入式linux音频播放器的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 本论文主要研究设计和实现了一种基于嵌入式技术的专业音频播放器系统及 其软硬件开发。该系统采用基于a r m 9 2 0 t 内核的1 6 3 2 位r i s c 嵌入式微处理 器$ 3 c 2 4 4 0 a 作为系统的核心处理器来构建硬件平台,采用嵌入式l i n u x 作为操作 系统软件平台,m i n i g u i 图形引擎作为应用软件开发平台。该专业音频播放器主 要应用于体育场馆的音频播放控制系统、广播播放系统和公众场合的音频播放系 统中。 论文根据播放器的具体功能要求,制定了系统的总体设计方案,详细探讨了 嵌入式l i n u x 音频播放器的硬件系统和软件系统的开发实现过程。系统硬件设计包 括a r m 9 芯片$ 3 c 2 4 4 0 a 核心板的电路设计和底板外围接口电路设计,其中外围 接口电路又包括:串口、u s b 、s d 卡、1 0 0 m 网络、i d e 硬盘、t f t 液晶、i i s 、 i i c 等。系统软件设计包括b o o t l o a d e rv i 的修改与移植、系统l i n u x 内核的剪裁 与移植和系统l i n u x 根文件系统的制作等,本论文还完成了主要功能模块的设备 驱动程序的编写与调试以及基于m i n i g u i 的图形用户界面的设计与实现。论文最 后,对整个系统的软硬件做了功能性和稳定性测试以及系统性能指标的测试,并 对系统的研究和存在的问题做了一个详细的分析总结。 该嵌入式l i n u x 音频播放器在硬件上具有特殊的两路立体声音频输出、专业音 频接口、大容量存储、多种存储方式可选、网络传输控制、彩色液晶显示和键盘 输入等功能,软件上具有友好的用户图形界面,能支持多种音频格式的播放,能 快速编辑播放列表,具有快捷键播放功能,支持对歌曲的多种播放效果的设定、 本地存储器间文件互拷功能等功能。本系统可作为“点即播 实现快速播放, 因而在音频播放场合中具有较强的适用性,拥有良好的实用价值和市场前景。 关键词:嵌入式l i n u x ,s 3 c 2 4 4 0 a ,设备驱动,m i n i g u i ,音频播放器 a b s t r a c t a b s t r a c t t h ed e s i g na n dr e a l i z a t i o no fap r o f e s s i o n a la u d i op l a y e rs y s t e mw h i c hb a s e do n e m b e d d e dt e c h n o l o g yh a v eb e e ne x 呻d e di nd e t a i li nt h i sp a p e r i t sh a r d w a r ea n d s o f t w a r es y s t e m sh a v e b e e na c c o m p l i s h e d , u s i n gt h e16 3 2 - b i te m b e d d e dr i s c m i c r o p r o c e s s o r $ 3 c 2 4 4 0 ab a s e do na r m 9 2 0 tc o r ea s c 0 r ep r o c e s s o rt ob u i l d h a r d w a r ep l a t f o r m , l i n u xa st h eo p e r a t m gs y s t e mp l a t f o r m ,m i n i g u ia st h ea p p l i c a t i o n s o f t w a r ep l a t f o r m t h i sa u d i op l a y e rs y s t e mi sm a i n l yu s e df o rp u b l i ca u d i op l a y i n g s u c ha sg y m n a s i u ma u d i o ,a l s oc a nb eu s e df o rr a d i ob r o a d c a s ts t a t i o n sf o r l e i r p r o g r a ma u d i o a f t e rt h eo v e r a l ld e s i g ns c h e m eo ft h i s p r o f e s s i o n a la u d i op l a y e rh a sb e e n f o r m u l a t e db a s e do ni t sm a i nr u c t i o nr e q 咖e n t s ,t h eh a r d w a r ea n ds o f t w a r eh a v e b e e nd e s i g n e da n dt h ed e v e l o p m e n tp r o c e s sh a sb e e nd i s c u s s e di nd e t a i l t h eh a r d w a r e i sd e s i g n e db yt h ec i r c u i to f $ 3 c 2 4 4 0 ac o r eb o a r da n dp e r i p h e r a li n t e r f a c e st h a ti n c l u d e l c d ,u s b ,s dc a r d , 10 0 mn e t w o r k ,i d eh a r d , s e r i a l ,i i s ,h ca n ds oo i lt h e s o f t w a r e d e s i g no ft h es y s t e mi n c l u d e sn o to n l yt h et r a n s p l a n t a t i o nb o o f l o a d e rv ia n dl i n u x k e r n e l ,p r o d u c i n gt h e r o o tf i l es y s t e m , b u ta l s ot h ed e s i g na n dd e b u go fd e v i c ed r i v e r s a n dg r a p h i c a lu s e ri n t e r f a c eb a s e do i lm n i g u i a tt h ee n d ,t h ef u n c t i o n a l i t y , s t a b i l i t y a n dp e r f o r m a n c eo ft h ee n t i r es y s t e mh a v eb e e nt e s t e di nd e t a i l t h ew h o l ed e s i g nh a v e b e e ns u m m a r i z e d ,a n ds o m ed e f e c t sw h i c hs h o u l db ei m p r o v e dh a v e b e e np u tf o r w a r d t h i se m b e d d e dl i n u xa u d i op l a y e ro nt h eh a r d w a r eh a ss p e c i a lt w os t e r e oa u d i o c h a n n e l s ,p r o f e s s i o n a la u d i oi n t e r f a c e ,m a s ss t o r a g e ,av a r i e t yo fs t o r a g eo p t i o n s , n e t w o r kt r a n s m i s s i o nc o n t r o l ,c o l o rl c dd i s p l a ya n dk e y b o a r di n p u to nt h eo t h e rh a n d , t h e r ea r em a n yf e a t u r e si nt h es e l l w a r e , s u c ha sb e a u t i f u la n df r i e n d l yg r a p h i c a lu s e r i n t e r f a c e , m u l t i p l ea u d i of i l ef o r m a t , p l a y l i s te d i t i n gr a p i d l y , p l a y i n gw i t hh o tk e y s , a v a r i e t yo fa u d i op l a y b a c ke f f e c ts e t t i n g sa n df i l ec o p yb e t w e e nm e m e r i e sa n ds oo n t h i sp r o f e s s i o n a la u d i op l a y e ri sp r a t i c a la n dh a sg o o dm a r k 吐c a nb eu s e di na n y o c c a s i o n sw h e r ep u s hb u t t o na n d p l a y k e y w o r d :e m b e d e dl i n u x ,s 3 c 2 4 4 0 a , d e v i c ed r i v e r , m i n i g u i ,a u d i op l a y e r 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 唧年明玎日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:j 怔 导师签名: 日期: 泗7 年r 月7 r 日 第一章绪论 第一章绪论 1 1课题提出的目的和意义 本论文来源于北京英夫美迪公司的一个奥运项目,主要任务是设计和实现应 用于奥运场馆的嵌入式便携式专业音频播放器。 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的, 适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。随 着芯片技术、网络技术、计算机技术和通信技术不断创新和发展,人们的生活正 发生着深刻的变化,嵌入式系统最典型的特点是与人们的日常生活紧密相关,任 何一个普通人都可能拥有各类形形色色运用了嵌入式技术的电子产品,嵌入式系 统【1 j 成为当今最热门的概念之一,各种各样的嵌入式系统设备在应用数量上己经大 大超过了通用计算机,使用嵌入式技术的数控设备或仪表、智能工具、工业机器 人、汽车电子、航天航空设备等日益增多。 同时数字音频编码【2 】技术,如m p e g - 1 、m p e g - 2 、m p e g - 3 、p a c 和w m a 等相继出现。目前,从国际数字音频应用的发展来看,数字音频编码技术已经在 互联网、广播、个人消费电子产品和数字影视等领域获得了广泛的应用,结合数 字音频技术的嵌入式系统研究有着良好的实用价值,如m p 3 、m p 4 等嵌入式音频 产品在市场上很受欢迎。但是在公共广播、体育场馆以及会议等场合,都需要拥 有专业音频接口,操作便捷,便携式的嵌入式实时音频播放设备,因此根据市场 发展需要,研制出嵌入式“一点即播 便携式专业音频播放设备,有着广阔的市 场前景。 1 2 课题研究现状 嵌入式系统( e m b e d d e ds y s t e m ) 从广义上讲,凡是不用于通用目的的可编程 计算机设备,就可以算是嵌入式计算机系统,最典型的嵌入式系统如手机、可视 电话等;狭义上讲,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬 件可裁剪,对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。嵌 入式系统应该具备以下4 个特性:执行特定的功能:以微处理器与外围设备构成 电子科技大学硕士学位论文 核心;需要严格的时序与稳定性;全自动操作。 后p c 时代,嵌入式系统将拥有最大的市场。目前在世界范围内嵌入式系统带 来的工业年产已超过1 万亿美元。近年来微电子技术迅猛发展,处理器增长速度 也随之加快,嵌入式系统领域发生了翻天覆地的变化。特别是网络的普及,嵌入 式与互联网成为最热门的技术。 现在嵌入式系统正处于高速发展阶段,未来几年,这种发展和竞争将愈演愈 烈。将嵌入式系统的应用按照市场领域划分,可以分为:消费类电子产品;控制 系统和工业自动化;机器人领域;数据无线通信。目前一些先进的p d a 在显示屏 幕上已实现汉字写入、短消息语音发布,应用范围也将日益广阔。对于企业专用 解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统 将发挥巨大的作用。在自动控制领域,不仅可以用于a t m 机、自动售货机、工业 控制等专用设备,和移动通信设备、g p s 、娱乐相结合,嵌入式系统同样可以发挥 巨大的作用。 嵌入式操作系统并不是简单嵌入的操作系统,它与通常意义上的操作系统有 一定的区别。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度 工作,控制协调并发活动,它体现所有系统的特征,能够通过装卸某些模块来达 到系统所要求的功能。l i n u x 是现代操作系统的典型代表,具有灵活性高、移植性 强、可靠性好,支持多种硬件体系结构、源代码开放等特点,所以在l i n u x 的基础 上,借鉴它的思想、结构,对其进行改造来构建嵌入式操作系统是一个明智之举。 嵌入式数字音频播放设备主要应用于体育场馆、大型超市、大型演唱会等公 众场合,而用于专业领域的便携式实时专业音频播放设备国内外产品还很少,其 中有一款典型的产品是美国3 6 0 s y s t e m 公司的i n s t a n tr e p l a y e r ,它以其音效好、体 积小携带方便、支持多种音频播放格式、有专业音频接口( 数字模拟) 、能即时编 辑任务单、热键播放等功能受到市场的欢迎。但是由于它没有操作系统支持,存 在一些缺点,如:存储容量不大、没有友好的图形操作界面、没有监听功能等。 基于这些缺点和市场的需要,本课题设计和实现了一款基于嵌入式技术的l i n u x 便携式实时专业音频播放系统。 1 3 论文的整体结构 本论文主要阐述了基于s 3 c 2 4 4 0 a 处理器的嵌入式l i n u x 音频播放器系统的整 体开发流程,对系统的整体架构设计、器件的选型、硬件电路设计、操作系统的 2 第章绪论 移植、驱动编程及应用程序的编写等方面都进行了论述。论文的具体章节安排如 下: 第一章( 本章) 是绪论部分,对论文的背景、课题来源、以及作者所做的工作进 行简述。 第二章对系统的总体设计方案进行了分析设计,在划分功能模块的基础上, 设计了系统框图,并依此进行后续的系统开发和编程。 第三章详细描述了播放器系统核心板和底板功能模块的硬件设计,包括:1 r i 丌 l c d 、u s bh o s t 、i i s 、i i c 、1 0 0 m 网络、串口接口、s p i 、s dc a r d 、i d e 硬盘 等接口电路的设计。在对硬件系统中用到的各个主要芯片的电气特性进行了详细 分析的基础上,完成了$ 3 c 2 4 4 0 a 处理器与这些芯片的接口原理图和底板p c b 的 设计。 第四章包括三个方面的实现,b o o t l o a d e rv i 的剪裁和移植,播放器l i n u x 操作系统的修改、剪裁和移植和满足系统要求的根文件系统。 第五章在嵌入式l i n u x 操作系统的驱动模型的基础上,完成了系统主要功能模 块驱动的设计和调试。 第六章用m i n i g u i 资源建立界面和菜单,以及各菜单下对应的执行任务,实 现了系统人机对话的功能。考虑到本系统应用程序相对庞大,这里仅对应用软件 的设计过程做了简述。 第七章详细描述了系统的硬件调试、各模块功能测试和系统性能测试,并给 出了测试结果。 第八章结论和展望,总结了取得的成果,以及系统需要改进的地方。 3 电子科技大学硕士学位论文 2 1 系统功能要求 第二章系统总体设计方案 本课题是针对北京英夫美迪公司的奥运项目,研发和生产应用于奥运场馆的 具有“一点即播”功能的专业音频播放器来实施的。在嵌入式l i n u x 音频播放器 设计前期,我们主要是根据客户的需求来制定的系统总体设计方案。客户提出了 嵌入式l i n u x 音频播放器主要功能和要求包括如下两部分。 硬件方面要求: ( 1 ) 2 路立体声音频通道,一路用于音频播放和录音,一路用于对歌曲的即时 监听。 ( 2 ) 支持多种音频接口:模拟输入输出接口和数字a e s 输出接口; ( 3 ) 高亮彩色液晶显示。 ( 4 ) 支持本地大容量存储和多种存储方式; ( 5 ) 支持网络传输功能; ( 6 ) 键盘输入:包括常规播放按键,以及多个功能键。 应用软件方面要求: ( 1 ) 友好的用户图形界面; ( 2 ) 支持多种音频播放格式,如m p 3 、w a v 等音频格式; ( 3 ) 快速编辑播放列表,播放列表的编辑直接通过设备上的按键和l c d 显示 来完成,可以预置2 6 0 0 个播放任务单,以满足用户的需要; ( 4 ) 支持对歌曲的多种播放效果的设定; ( 5 ) 快捷键播放功能,利用键盘上的快捷键与特定的播放任务单相关联,能 很快定位想要播放的播放任务单,即“一点即播 功能。 ( 6 ) 支持本地存储器间文件互拷功能,主要实现s d 卡、硬盘和u 盘间文件 的互相拷贝,以最快的速度满足现场需要。 ( 7 ) 支持p c 机和设备间的文件相互传输。 根据以上提出的功能需求,考虑到项目的目的、用途和资金投入等主要因素, 得出了嵌入式l i n u x 系统的总体设计方案。整个系统主要划分为两部分:硬件系统 和软件系统。硬件部分主要由嵌入式处理器、储存器、i o 端口和外围设备构成: 4 第二章系统总体设计方案 软件部分主要由操作系统、系统各功能模块设备驱动和应用软件构成。系统体系 结构如图2 1 所示。 i 功能操作软件 i l 嵌入式g 叭图形支持库( m i n i g u i ) l 应用软件 设备驱动 l i n u xk e r n e l b o o t l o a d e r l i n u x 操作系统 i 存储器l 嵌( 入$ 3 式c 2 微4 4 处0 a 理) 器卜黜l 系统硬件平台 2 2 硬件方案设计 图2 1 音频播放器系统的体系结构图 根据2 1 节嵌入式l i n u x 音频播放器系统的硬件功能需求,选择了$ 3 c 2 4 4 0 a 作为系统的微处理器,在设计硬件的时候采用了核心板加底板分开的设计方法, 这样方便了硬件调试和系统的扩展。核心板是$ 3 c 2 4 4 0 a 的最小系统板,包括了 s 3 c 2 4 4 0 a 、时钟电路、s 3 c 2 4 4 0 a 电源部分、存储器( s d r a m ,n a n d f l a s h ) 。 底板主要是外围接口电路,包括n 可l c d 、u s bh o s t 、i i s 、i i c ,1 0 0 m 网络、 串口接口、s p i 、s d c a r d 、i d e 硬盘接口电路。硬件系统结构图如图2 2 所示。 电子科技大学硕士学位论文 2 3 软件方案设计 图2 - 2 硬件系统结构图 根据2 1 节系统的软件功能需求,结合嵌入式l i n u x 的开源、可移植性强,强 大的网络功能、应用软件丰富的特点,本系统采用了l i n u x 作为操作系统。整个软 件部分包括播放器系统嵌入式l i n u x 操作系统的构建、设备驱动程序编写、应用软 件的简述。具体内容如下: ( 1 ) 系统嵌入式l i n u x 内核移植,包括:引导加载程序( b o o f l o a d e r ) v i 的移植、l i n u x 内核的移植和根文件系统制作。 ( 2 ) 系统设备驱动程序编写,包括:l c d 、i i s 、i i c ,1 0 m 1 0 0 m 网络、串口 接口、s p i 等设备驱动编写与测试。 ( 3 ) 基于m n i n i g u i 应用软件的设计,由于应用软件系统的庞大,本文仅对应 用程序的设计做一个简述。 6 第三章系统的硬件平台设计 第三章系统的硬件平台设计 基于系统的总体设计方案,首先进行处理器的选型,完成各功能模块的具体 电路设计,为软件系统的设计提供可靠的硬件平台。 3 1 嵌入式微处理器 3 1 1 处理器选型 各种类型的嵌入式处理器是嵌入式系统的核心部件。据不完全统计,全世界 嵌入式处理器已经超过了1 0 0 0 种,流行的体系结构有3 0 多个系列。现在流行的 观点一般将嵌入式处理器分为以下几类: ( 1 ) 嵌入式微处理器 嵌入式微处理器( m i c r op r o c e s s o ru , u t , m p u ) 是由通用计算机中的c p u 演变 而来的。在应用中,通常将微处理器装配在专门设计的电路板上,只保留与嵌入 式有关的功能,这样可以大幅度减小系统的体积与功耗。主流芯片有a r m 、 p o w e r p c 、a n a l8 6 8 8 、6 8 0 0 0 、m i p s 系列等。 ( 2 ) 嵌入式微控制器 嵌入式微控制器( m i c r oc o n t r o lu n i t , m c u ) 的典型代表是单片机。微控制器 的片上资源一般比较丰富,适合于控制,是目前工业嵌入式系统的主流处理器。 ( 3 ) 嵌入式数字信号处理器 嵌入式数字处理器( d i g i t a ls i g n a lp r o c e s s o r , d s p ) 是专门用于信号处理方面的 处理器,其在系统结构和指令算法方面进行了特殊设计,适合执行d s p 算法,编 译效率较高,指令执行速度也很快。其代表产品是t i 公司的t m s 3 2 0 系列和 m o t o r o l a 公司的d s p 5 6 0 0 0 系列。 ( 4 ) 嵌入式片上系统 随着v l s i 设计的普及化在一块硅片上实现一个更为复杂的系统,这就是片上 系统( s y s t e mo nc h i p ,s o c ) 。片上系统对减小体积和功耗,提高可靠性非常有利。 根据2 1 节的系统功能要求,设计中需要用到i i s 这种专业音频总线接口、u s b 接口、s d 卡接口、硬盘接口、网络接口和液晶接口等多种外围接口,基于可获取 7 电子科技大学硕士学位论文 资源和成本的考虑,最终选择了a r m 9 系列的a r m 9 2 0 t 作为本系统的嵌入式微 处理器。 3 1 2a r m 处理器 a r m ( a d v a n e e dr i s cm a c h i n e s ) t 3 1 ,既可以认为是一个公司的名字,也可以认 为是对一类微处理器的通称,还可以认为是一种技术的名字。a r m 公司是专门从 事基于r i s c l 4 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事 芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生 产商从a r m 公司购买其设计的a r m 微处理器核,根据各自不同的应用领域,加 入适当的外围电路,从而形成自己的a r m 微处理器芯片进入市场。采用r i s c 架 构的a r m 微处理器一般具有如下特点: ( 1 ) 体积小、低功耗、低成本、高性能; ( 2 ) 支持t h u m b ( 1 6 位) a r m ( 3 2 位) 双指令集,能很好的兼容8 位1 6 位器件; ( 3 ) 大量使用寄存器,指令执行速度更快; 3 1 3s 3 c 2 4 4 0 a s 3 c 2 4 4 0 a 5 1 是韩国三星公司的一款基于a r m 9 2 0 t f 6 】内核的1 6 3 2 位r i s c 嵌 入式微处理器,主要面向手持设备以及高性价比,低功耗的应用。运行的频率可 以达到4 0 0 m h z 。s 3 c 2 4 4 0 a 的资源包括: 1 个l c d 控制器( 支持s t n 和1 1 吓带有触摸屏的液晶显示屏) ; s d r a m 控制器; n a n df l a s h 控制器; 3 路u a r t 通道; 4 路d m a 通道; 4 个具有p w m t t l 功能的计时器和一个内部时钟; 8 通道的1 0 位a d c ; 8 通道1 0 位a d 控制器; i i s b u s 接口: i i c - b u s 接口; 2 个s p i 接口: 2 个u s b 主机接口,1 个u s b 设备接口: 第三章系统的硬件平台设计 s d 接口和m m c 卡接口; 看门狗计数器; 1 1 7 位通用f o 口和2 4 位外部中断源; 摄像头接口。 触摸屏接口: 3 2 系统各功能模块的硬件设计 硬件设计时,为了方便调试和系统的扩展,我们采用了核心板加底板分开的 设计方法。 3 2 1 核心板设计 核心板是整个音频播放器主控制系统的核心部件,其本身也可看作是 a r m 9 2 0 t 的一个最小系统。核心板的主要器件包括:嵌入式微处理器a r m 9 2 0 t 、 存储器【8 l ( n o r f l a s h 及s d r a m ) 、晶振以及核心板电源等。 由于系统需要存放操作系统及其根文件系统、应用程序以及其它在系统运行 时和系统掉电后需要保存的数据,另外,当系统启动后,操作系统和应用程序的 运行还需要更大的空间,虽然a r m 9 2 0 t 内部集成有容量为1 2 8 k b 的r o m 和1 6 k b 的内部s d r a m ,但这远不能够满足系统的需要,因此外扩了外存储单元来扩展系 统的存储空间。在这里使用了一片6 4 m b 的n a n df l a s h 和一片6 4 m b 的s d r a m 组成系统的外存储系统。 系统核心板采用6 层电路板的叠层设计,p c b 板具体截图将在3 3 节中给出。 3 2 2 串行接口模块 在本系统中,为了满足内核驱动程序调试,映像文件的下载和文件网络传输 的要求,我们设计了串口模块。因为r s 2 3 2 1 9 1 是p c 机与通信工业中应用最广泛的 一种串行接口。r s 2 3 2 被定义为一种在低速率串行通信中增加通信距离的单端标 准,因此具体设计中我们采用r s 2 3 2 芯片来完成串口的设计。$ 3 c 2 4 4 0 a 支持3 通道的u a r t 串口,为了满足多任务的需求,我们设计了两个通道的串口。 要完成最基本的串行通信功能,实际上只需要3 个引脚r x d 、t x d 和g n d 即可,但由于r s 2 3 2 c 标准所定义的高低电平信号与$ 3 c 2 4 4 0 a 系统的i :v 1 f l r l 电 路所定义的高、低电平信号完全不同,这里我们使用了m a x i m 公司的m a x 3 2 3 2 9 电子科技大学硕士学位论文 r s 2 3 2 驱动器来完成t r l 电平到r s 2 3 2 接口的转换。电路如图3 1 。 r s 2 3 2 r x d i 3 2 3 以太网接口模块 j 四l 坠卜 _ 十三墼坠 j 四l 生卜一 p r i v a t ed a t a 中分配的内存;如果使用计算为0 ,则关闭设备。 ( 3 ) 设备的读写操作 字符设备的读写操作相对比较简单,直接使用函数r e a d ( ) 和w r i t e ( ) 就可以了。 但如果是块设备的话,则需要调用函数b l o c kr e a d ( ) 和b l o c kw r i t e ( ) 来进行数据读 写,这两个函数将在设备请求表中增加读写请求,以便l i n u x 内核可以对请求顺序 进行优化。 ( 4 ) 设备的控制操作 除了读写操作外,应用程序有时还需要对设备进行控制,这可以通过设备驱 动程序中的函数i o c t l ( ) 来完成。i o c t l ( ) 的用法与具体设备密切关联,因此需要根据 设备的实际情况进行具体分析。 ( 5 ) 设备的中断和轮询处理【3 l j 对于不支持中断的硬件设备,读写时需要轮流查询设备状态,以便决定是否 继续进行数据传输。如果设备支持中断,则可以按中断方式进行操作。 在5 2 5 4 节中将具体阐述系统涉及到的主要模块的驱动程序设计过程。 5 2 系统键盘模块驱动设计 s 3 c 2 4 4 0 a 通过i i c 总线和z l g 7 2 9 0 的通信完成了键盘模块的实现,其中 s 3 c 2 4 4 0 a 作为h c 总线的主机,z l g 7 2 9 0 作为从机。该驱动程序属于字符设备驱 第五章系统接口驱动的设计 动程序,分为两部分:i i c 总线读写接1 2 1 驱动设计和z l g 7 2 9 0 驱动设计。 5 2 ii i c 总线读写接口驱动编程 5 2 1 1i i c 总线概述 i i c 总线是p h i l i p s 公司推出的芯片间串行传输总线,它由两根信号线组成: 串行数据线s d a 和串行时钟线s c l 。根据数据传输时的功能不同,把器件分为主 机和从机,主机是初始化总线的数据传输的器件,任何被寻址的器件都被认为是 从机,显然在这里主机便是s 3 c 2 4 4 0 a 处理器,从机便是z l g 7 2 9 0 键盘扫描芯片。 i i c 总线协议规定,各主机进行通信时都要有起始、结束、发送数据和应答信 号。起始信号就是在s c l 线为高时s d a 线从高变化到低;停止信号就是在s c l 线为高时s d a 线从低变为高;应答信号是在s c l 为高时s d a 为低;非应答信号 相反,是在s c l 为高时s d a 为高。总线传送的每1 帧数据均是1 个字节。下图为 h c 总线基本的数据帧传输格式。 图5 i 主机向从机发送数据 图5 2 主机从从机接收数据 图中各种符号的意义为: s :起始位( s t a r t ) ; p :停止位( s t o p ) ; s a :从机地址( s l a v ea d d r e s s ) ,7 位从机地址; w :写标志位( w h t c ) ,1 位写标志; r :读标志位( r e a d ) ,l 位读标志; a :应答位( a c k n o w l e d g e ) ,l 位应答位; a :非应答位( n o ta c k n o w l e d g e ) ; d :数据( d a t a ) ,每个数据必须是8 位; 阴影:主机产生的信号; 非阴影:从机产生的信号。 3 7 电子科技大学硕士学位论文 5 2 1 2 处理器$ 3 c 2 4 4 0 a 的i i c 总线接口 $ 3 c 2 4 4 0 a 的i i c 总线控制器的结构如图5 3 所示。 s c l 一 p c l k d a t a b u s s d a 图5 - 3i i c 总线控制器结构图 其中,p c l k 是系统的外设时钟,s c l 、s d a 对应i i c 总线的信号。控制器包 括如下4 个寄存器: i i c c o n :i i c 总线控制寄存器,可设置总线控制器的开启、关闭、中断以及 总线的分频器。 i i c s t a t :可控制总线的状态,包括发送、接收、主从应答状态。 i i c a d d :i i c 总线地址寄存器,当控制器作为从设备时用到。 i i c d s :i i c 数据接收、发送寄存器。此寄存器可控制双向的i i c 数据流。一 方面,从i i c 总线接收的数据通过移位寄存器保存在i i c d s 中;另一方面,写入 此寄存器中的数据通过移位寄存器发送到i i c 总线上。 上述4 个寄存器都可以通过系统总线和处理器连接。处理器控制4 个寄存器 实现i i c 通信。 5 2 1 3i i c 总线读写接口编程 $ 3 c 2 4 4 0 a 的i i c 总线接口有4 种模式:主设备发送模式、主设备接受模式、 从设备发送模式、从设备接收模式。在这里我们采用前面两种模式,相应的操作 流程图如图5 _ 4 和图5 5 所示。 第五章系统接口驱动的设计 图5 4 主设备发送模式 电子科技大学硕士学位论文 图5 5 主设备接受模式 i i c 总线读写接口驱动函数,主要包括如下几个模块: ( 1 ) i 2 ci n i t :初始化i i c 总线控制器和i i c 中断的申请等; ( 2 ) r e a d:通过 总线读取一个字节;b y t e i i c ( 3 ) w r i t e:通过 总线写入一个字节;b y t e i i c ( 4 ) r e a d:通过 总线读取多个字节;b y t e s i i c ( 5 ) w r i t e:通过 总线写入多个字节;b y t e s i i c ( 6 ) i 2 eh a n d l e r :c 中断处理函数。 然后通过下面函数导出读写操作模块,以便键盘z l g 7 2 9 0 主驱动模块的调用。 e x p o r t _ s y m b o l ( r e a d _ b y t e s ) e x p o r ts v m b o t ,( w r i t cb y t e s ) ; 第五章系统接口驱动的设计 5 2 2z l g 7 2 9 0 驱动编程 z l g 7 2 9 0 支持i i c 总线数据格式,提供i i c 串行接口和键盘中断信号,方便与 处理器接口,可驱动6 4 只独立l e d 和6 4 个按键。当系统有键被按下时z l g 7 2 9 0 的键盘中断请求信号便触发处理器发生外部中断,此时处理器便通过i i c 总线读取 z l g 7 2 9 0 的键值寄存器k e y 和功能寄存器f t m c t i o n k e y 的值来获取所需的键值, 并通过i i c 总线向命令缓冲区c m d b u f 0 和c m d b u f l 写入相关的控制命令实现对 u d 灯的控制。 5 2 2 1 键盘初始化 键盘设备的初始化工作在入口函数m k e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论