多媒体应用平台OMAP5910双核通讯技
1 引言
开放式多媒体应用平台OMAP5910为一种独特的双核结构,它将高性能低功耗的TMS320C55xDSP核与控制性能很强的ARM925微处理器结合起来,适合便携式手持设备综合处理能力的需求。ARM长于控制,DSP长于算法,但要想使二者协调配合起来产生最大的整体效能,双核之间的通讯技术研究就必不可少。
2 OMAP5910的双核结构简介
如图一所示,OMAP5910的双核结构主要包括增强型ARM925核、TMS320C55xDSP核、交换控制器、系统DMA控制器、时钟复位管理模块、内部SRAM和外部设备应用接口等模块。
增强型ARM925核是一种先进的32位精简指令集计算机处理器,工作在150Mhz的主频上,它可以执行32位或16位指令,处理32位、16位、8位数据。作为OMAP5910的主机ARM925可以访问多达4G的空间。
TMS320C55xDSP核工作主频为150Mhz,内部有32K字的DASRAM、48K字的SARAM、16K字的ROM和12K字的高速指令缓存存储器。还有用于地址变换的存储器管理单元、两级中断管理器等模块。功能非常强大,而功耗却相当低,在目前TMS320 DSP家族中最为省电。
交换控制器主要用于提供ARM、DSP、系统DMA等对OMAP5910系统存储资源(包括192K字节的内部SRAM、64M字节的外部SDRAM和128M字节的外部FLASH)进行的异步操作。系统DMA控制器经过低功耗设计,支持外部存储器、ARM925、外围之间的8位、16位、32位数据传输,有突发传送和数据打包等功能。
时钟复位管理模块可以灵活地设置和管理ARM部分、DSP部分、交换控制器的时钟,使各单元能够工作在不同的省电模式下,从而最大限度地降低整个系统的功耗。
内部192K字节32位数据宽度的SRAM为液晶显示等应用提供了较大的数据和代码存储空间。外围设备应用接口为OMAP5910在片外连接液晶、摄像头、空中接口、USB等提供了方便。
3 OMAP5910的双核通讯机制
OMAP5910通过三种方式来支持内部双核间的通讯。第一种方式是通过双核共享邮箱寄存器Mailbox来实现,双核间可以互相中断并通过邮箱寄存器传递少量数据。第二种方式是ARM通过主机接口获得对DSP存储空间和I/O空间的访问权,然后由ARM来完成数据在双核间的搬移。第三种方式就是通过ARM对DSP存储器管理单元的设置将DSP的外部存储空间映射到OMAP5910系统存储资源中,由DSP来完成双核间数据的搬移。
三种通讯方式各有千秋。第一种方式传输的数据量较小,但是传递信息可靠及时,非常适合在双核通讯中完成握手联络。后两中方式都适合在双核之间传输大量数据,但数据传输的控制者不同,第二种方式由ARM控制完成,第三种方式由DSP控制完成。在一些相对复杂的应用中ARM常常忙于对许多外围设备的控制,没有更多的时间来完成双核间的数据传输,这时利用第三种方式来完成数据搬移必然是最理想的选择。基于这种考虑,下面对第三种方式进行一个介绍。
3.1 原理框图
双核间通过DSP的存储器管理单元MMU和外部存储器接口EMIF实现通讯的实质是利用DSP MMU将DSP的外部存储器映射在OMAP5910的内部SARAM、外部SDRAM和FLASH上,使ARM,DSP及DSP DMA都能访问这三个存储区域从而实现数据共享。框图如下:
3.2 DSP MMU
DSP MMU可以将DSP外部存储空间(字节地址0x050000--0XFF7FFF或0x050000--0XFFFFFF)的任意块映射到OMAP5910的三个存储区上,块大小(1KB、4KB、64KB、1MB)可软件设置。
DSP MMU的核心结构就是32个CAM和32个RAM以及相关的几个控制、状态寄存器,其中CAM用来存放DSP的外部存储器虚拟地址及有关控制位信息;RAM用于存放OMAP5910的实际物理地址和访问允许控制位。DSP MMU使能后,当DSP访问外部存储器时,相应虚拟地址就会被送到DSP MMU处,如果虚拟地址的有效高位(当页大小为1KB、4KB、64KB、1MB时,对应的地址有效高位数分别为14、12、8、4)命中CAM,并且相应RAM中的访问允许控制位有效,那么相应RAM中的物理地址高位就和虚拟地址偏移一块儿被送到OMAP TC处,从而实现虚拟地址到物理地址的映射,然后就可以进行相关读写操作。如果虚拟地址的有效高位没有命中CAM或者相应RAM中的访问允许控制位无效,系统就会产生页错误或访问权限错误,并向ARM发起中断,在中断程序中ARM可通过查看DSP MMU有关状态寄存器来进一步了解错误原因。
DSP MMU的设置过程如下:
a. 释放 DSP MMU 的复位
b. 写 CAM_REG_H 和 CAM_REG_L 寄存器
c. 写 RAM_REG_H 和 RAM_REG_L 寄存器
d. 写 Lock Counter 寄存器
e. 将 LD_TLB_REG 寄存器写1,装载DSP MMU参数
f.使能 DSP MMU
3.3 存储模式转换
由于在OMAP5910中对于存储系统的操作,ARM处理器采用小端模式,而DSP则采用大端模式,因此当DSP访问OMAP59
双核 通讯 OMAP5910 平台 应用 多媒体 相关文章:
- UCOS-II 操作系统在数码相框中的应用(03-02)
- 基于DSP/ARM双核系统的通信接口设计(01-28)
- 基于DSP/ARM的双核系统的通信接口设计(04-03)
- 基于双核多接口的智能汽车控制系统设计方案(04-07)
- 双核DSP片TMS320VC5421并行引导方案(10-14)
- 双核实时系统的架构方法(02-26)