资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
嵌入式系统设计 第九章基于OMAP5912的开发应用 主要内容 9 1OMAP5912的结构和特点9 2基于OMAP5912的硬件平台设计9 3基于OMAP5912的软件系统设计 9 1OMAP5912的结构和特点 OMAP5912处理器是由TI应用最为广泛的TMS320C55xDSP内核与低功耗 高性能的ARM926EJ S微处理器组成的双核应用处理器 C55x系列可提供对低功耗应用的实时多媒体处理的支持 ARM926可满足控制和接口方面的处理需要 9 1OMAP5912的结构和特点 9 1 1ARM926EJ S内核ARM926EJ S内核是采用32位RISC处理器 并采用ARM9作内核 同时配备Thumb扩展 它能够处理32位或者16位的指令 处理8位 16位和32位数据 9 1 1ARM926EJ S内核 这款新型高性能 低功耗的微构架采用协处理器CP15使体系结构得到增强 系统中的控制寄存器可通过对协处理器CP15的读写来对MMU Cache和读写缓存控制器进行存取操作 这种微构架在ARM核的周围提供了 指令与数据存储器管理单元 指令 数据和写缓冲器 性能监控 调试和JTAG单元以及协处理器接口 MAC协处理器和内核存储总线 9 1OMAP5912的结构和特点 9 1 2TMS320C55x内核TMS320C55x内核的主要特点是 有1个64位 8位的缓存队列 2个17位 17位的乘法累加单元 1个40位的算术逻辑单元 1个16位的算术逻辑单元 1个40位的桶形移位器和4个40位的加法器 另外还有12条独立的总线 即 3条数据读总线 2条数据写总线 5条数据地址总线 1条程序读取总线和1条程序地址总线 此外 还有用户可以配置的IDLE域 9 1 2TMS320C55x内核 内核主要由4个单元组成 指令缓冲单元 I单元 程序流单元 P单元 地址数据流单元 A单元 数据运算单元 D单元 9 1OMAP5912的结构和特点 9 1 3存储器管理存储器通信控制器 TrafficController 以下简称TC 管理着MPU DSP DMA以及局部总线对OMAP5912系统存储资源 如SRAM SDRAM FLASH ROM等 的访问 它的主要功能是确保处理器能够高效访问外部存储区 并避免产生瓶颈现象而降低片上处理速度 9 1 3存储器管理 MPU子系统用于控制存储器管理单元 MMUs 系统直接存储器访问 DMA 控制器 MPUTI外设总线 TIPB 桥和一些外设 图9 1MPU存储器映射 9 1OMAP5912的结构和特点 9 1 4直接存储器访问控制器 DMA 直接存储器访问控制器 DirectMemoryAccess DMA 可以在没有MPU干预的情况下实现存储空间中不同位置间的数据传递 这种数据传递的数据源和数据目的地可以是片内存储器 片外存储器以及各种系统外设 它们都伴随在MPU的操作中 通过使用DMA 可以减小系统进行大量数据传递时对MPU处理器所造成的工作负荷 9 1 4直接存储器访问控制器 DMA DMA通道是基于硬件实现的 因此也称为物理通道 其中 每一条通道都受一组配置寄存器控制 可以用软件来设置传输参数 诸如数据长度 数据源地址和目的地址等 这些物理通道配置寄存器位于MPU的存储空间里 所有的物理通道都是并行操作的 可以并行进行多组数据的传递 每一组数据占据一个通道 如果几个通道都使用相同的DMA端口 它们就会时分复用这个端口 9 1 4直接存储器访问控制器 DMA 图9 3DMA传输基本流程 9 1OMAP5912的结构和特点 9 1 5时钟和电源管理OMAP5912微处理器提供了2个振荡器以辅助管理电源耗损 设计系统时 在待机模式下可以直接关闭12MHz的振荡输入 只留下32kHz振荡器来维持系统运作 这样 不但可以保证系统运行 让需要维持运行的周边正常操作 例如用户可以通过Keypad等输入装置来唤醒整个系统 而且可以很容易地关闭大部分接口设备 达到控制电源耗损的目的 9 1OMAP5912的结构和特点 9 1 6外围控制模块1 MPU专用外设器包括定时器 看门狗定时器和中断处理器 这3种标准外设只能通过ARM926专用总线 TIPB 的访问来提供所需的操作系统和应用的管理功能 9 1OMAP5912的结构和特点 2 MPU公共外设主要有照相机接口 MPUI O Microwire接口 USB接口等 这些设备只能被MPU和MPU配置的系统DMA控制器访问 因为该总线可以被系统DMA控制器访问 所以称为公共总线 DSP不能访问该总线上的外设 9 1 6外围控制模块 3 DSP专用外设包括定时器 看门狗定时器和中断处理器 4 DSP公共外设包括2个多通道缓冲串口和2个多通道串口 可以被DSP以及DSPDMA直接访问 这些外设也可以被MPU和系统DMA通过MPUI接口访问 但MPUI接口必须进行相应的配置 9 1 6外围控制模块 5 共享外设系统的共享外设有 邮箱模块 可以实现DSP和MPU之间基于中断的信号交换 串口 8个通用计时器 3个UART I2C总线的主从接口 多通道缓冲串口 McBSP 多媒体卡 MMC 和SD接口 64个通用功能的输入输出 GPIO 32KHz的同步时钟 主要内容 9 1OMAP5912的结构和特点9 2基于OMAP5912的硬件平台设计9 3基于OMAP5912的软件系统设计 9 2基于OMAP5912的硬件平台设计 OMAP5912中的ARM926内核主要负责提供操作系统 用户界面和高级应用 进行实时多任务调度管理 以及对DSPCSSx进行控制和通信 DSP核适合语音应用所需要的实时信号处理功能 主要负责实现复杂的多媒体信号处理 将经过解码处理的信号进行D A转换和功率放大 进一步输出到耳机等输出设备 9 2基于OMAP5912的硬件平台设计 9 2 1电源管理模块针对OMAP平台低功耗的特点 对电源管理模块提出了更高要求 OSK开发板采用TI推出的手持式高整合度电源IC芯片TPS65010 该产品具有高性能级别 并且功率转换效率高达97 与其他分立解决方案相比 采用TPS65010可大大减小所占电路板空间 9 2基于OMAP5912的硬件平台设计 9 2 2存储模块因为系统最后要脱机运行 所有的程序都要固化到FLASH里面 包括中断矢量表 初始化代码 引导代码 系统的应用程序 还有显示菜单用到的字模 在硬件开发阶段 可以在FLASH的存储空间位置上通过跳线器再并接一个RAM 这样就可以通过CCS直接向其中加载程序 避免了在调试中断和引导过程中反复修改烧写FLASH的操作 9 2 2存储模块 1 FlashMemoryOMAP5912可支持两块NORFLASH芯片 OSK开发板采用2块Micron公司的MT28F128J3芯片 其单片容量为16MB OMAP5912有24根地址线A1 A24可使用 9 2 2存储模块 DDRSDRAM在一个时钟周期中DDR可以完成SDRAM两个周期才能完成的任务 所以理论上同速率的DDR内存与SDRAM相比 性能要超出一倍 可选用一块工作电压为1 8V的低功耗DDRSDRAM芯片 在OSK开发板中选用的是Samsung公司的K4X56163PE L F G 该芯片容量为32MB 工作频率100MHZ DDR200 9 2基于OMAP5912的硬件平台设计 9 2 3音频处理模块音频处理模块在硬件上使用了基于IIS总线的音频系统体系结构 IIS Inter ICSoundbus 又称I2S 是菲利浦公司提出的串行数字音频总线协议 音频电路包含了两路音频输入 linein和micin 和一路音频输出 headphoneout 9 2 3音频处理模块 TLV320AIC23 以下简称AIC23 是TI推出的一款高性能 集成有模拟功能的立体声音频CODEC 内置耳机输出放大器 支持MIC和LINEIN两种输入方式 二选一 而且对输入和输出都具有可编程增益调节 AIC23的模数转换 ADC 和数模转换 DAC 部件高度集成在芯片内部 采用了先进的Sigma delta过采样技术 可以在8K到96K的频率范围内提供16 20 24和32位的采样 ADC和DAC的输出信噪比分别可以达到90dB和100dB 9 2基于OMAP5912的硬件平台设计 9 2 4外围接口1 CF卡接口CF卡有两种规格 TypeI和TypeII 前者厚度为3mm 后者厚度加倍 但容量也随之提升 9 2 4外围接口 2 以太网接口 图9 7LAN91C96内部结构 9 2 4外围接口 3 以太网接口JTAG Multi ICE仿真调试接口 OMAP提供JTAG信号 并通过SN74LVC244AGQN缓冲 连接到外部接口 USB接口 OMAP5912的USB主机控制器提供了低速 1 5Mbps 和全速 12Mbps 的传输速率 主要内容 9 1OMAP5912的结构和特点9 2基于OMAP5912的硬件平台设计9 3基于OMAP5912的软件系统设计 9 3 1OMAP5912系统的软件架构 图9 8OMAP5912系统软件架构框图 9 3 1OMAP5912系统的软件架构 为了实现跨平台的要求 系统在驱动程序之上再建立一层硬件抽象层 HAL 通过对硬件的抽象描述 可降低和底层硬件的耦合度 即使底层的硬件变化 只要有适当的驱动程序 整个系统的架构不需改变就可以运作 这主要是为以后的系统扩展和移植做准备 9 3 1OMAP5912系统的软件架构 系统服务指的是位于语言层次 提供应用程序语言呼叫的一组接口及其操作 其作用类似于DOS下的INT21H指令 即提供中断服务程序 只要应用程序向操作系统请求协助 系统服务就会被调用 这一层还包含了对系统语言库的支持 9 3基于OMAP5912的软件系统设计 9 3 2嵌入式Linux系统的启动流程Linux操作系统在嵌入式系统中越来越受欢迎 基于Linux的嵌入式PDA和手机产品也层出不穷 一般来说 一个嵌入式Linux系统的启动可以分为四个层次 引导加载程序Linux内核文件系统用户应用程序 9 3 2嵌入式Linux系统的启动流程 在嵌入式系统中 通常并没有像BIOS那样的固件程序 有的嵌入式CPU可能会有一段短小的启动程序 如TIMSC1210等 因此整个系统的加载启动任务就完全由Bootloader来完成 比如在基于XScalecore的嵌入式系统中 系统在上电或复位时通常都从地址0 x00000000处开始执行 而在这个地址处安排的通常就是系统的Bootloader程序 9 3基于OMAP5912的软件系统设计 9 3 3Bootloader及其移植简单地说 Bootloader就是在操作系统内核运行之前运行的一段小程序 相当于PC机主板上的BIOS 是最底层的引导软件 通过这段小程序 我们可以初始化硬件设备 建立内存空间的映射图 从而将系统的软硬件环境带到一个合适的状态 以便为最终调用操作系统内核准备好正确的环境 9 3 3Bootloader及其移植 1 Bootloader在嵌入式系统的重要性一般情况下 计算机操作系统的启动都需要一个引导加载程序 其主要的原因在于现在计算机系统多采用 易失性 的半导体存储器作为内存 如PC系统中采用的EDODRAM SDRAM DDRSDRAM等 一旦断电 内存中的操作系统映像就消失了 因此只能将操作系统存储在非易失性的存储介质上 在系统加电的时候才能将其中的操作系统映像装入内存中运行 9 3 3Bootloader及其移植 实际上大多数嵌入式系统还是采用了引导加载程序 而不让可执行映像在EEPROM或FLASH中就地执行 一般而言 这样做是出于几个方面的考虑 效率方面的考虑操作系统的多样性存储地与执行地分离调试 排错方面的考虑嵌入式系统独特的开发模式 9 3 3Bootloader及其移植 2 Bootloader的相关概念通常 Bootloader是严重地依赖于硬件而实
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号