开放式多媒体应用平台OMAP5910双核通讯技术
 
发布日期:2005-09-30 

摘要:本文以开放式多媒体应用平台OMAP5910在便携式仪器中的应用为背景,在对OMAP5910的双核结构进行介绍的基础上,描述了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访问OMAP5910的系统存储空间时,就需要进行大小端模式之间的转换。在ARM程序中对寄存器ENDIANISM进行适当设置就可以灵活地控制DSP访问OMAP5910存储空间时的数据格式。
3.4 DSP DMA
对于通过DSP的MMU和EMIF实现双核通讯来讲,当双核间通讯的数据量比较大而DSP又比较忙的时候,利用DSP DMA来实现数据的传输可以减轻DSP CPU的负担,提高整个DSP子系统运行的效率,而不会打断DSP CPU的工作。

4 实现双核通讯的一种方案

在关于OMAP5910的工程实际中较为典型的应用,通常是由ARM控制外围器件获取一组数据后,先交给DSP进行处理,处理后的数据再返回给ARM进行存储、显示、输出等。为了实现双核之间的数据通讯的可靠性,使用邮箱寄存器来传递双核间的握手协议,当一方需要联系另一方时只需向相应的邮箱命令寄存器写入数据即可中断对方,不同的数据代表不同的信号,使得握手及时可靠。当数据量比较大而DSP或ARM任务又比较多时,相应地使用DMA来进行数据传输可以减轻处理器负担,提高程序运行的效率。实现此方案的程序示意图如下:


5 结束语

虽然TI公司推出OMAP5910的初衷是为了适合第三代移动通信的发展要求,但是由于OMAP5910芯片具有高性能、低功耗、优化的双核结构、丰富的外围设备接口等显著优点,所以在便携式仪器领域中它的应用前景也将十分广阔,它的研究与开发对于仪器的多功能智能化以及实现友好的人机交互都有十分重要的意义。而OMAP5910中双核间通讯技术的研究对于进一步开发OMAP5910,实现复杂的操作任务,协调双核工作具有非常重要的作用,为其在便携式仪器中发挥双核优势奠定了坚实的基础。

参考文献:
[1] 申敏,邓矣兵,郑建宏,刘栋.DSP原理及其在移动通信中的应用.人民邮电出版社,2001
[2] 马忠梅,马广云,徐英慧,田泽.ARM嵌入式处理器结构与应用基础.北京航空航天大学出版社,2002
[3] 杜春雷.ARM体系结构与编程.北京:清华大学出版社,2003
[4] Texas Instruments, Inc. OMAP5910 Dual-Core Processor Technical Reference Manual, January 2003
[5] Texas Instruments, Inc. OMAP5910 Dual-Core Processor Data Manual, April 2003

开放式多媒体应用平台OMAP5910双核通讯技术相关推荐

  1. 开放式多媒体应用平台OMAP综述

    开放式多媒体应用平台OMAP综述 时间:2009-01-13 09:15:09 来源:今日电子/21IC 作者:刘春河 德州仪器公司的开放式多媒体应用平台OMAP(Open Multimedia Ap ...

  2. 近距离P2P通讯技术平台 Alljoyn

    AllJoyn:无需服务器的设备间近距离P2P通讯技术平台 AllJoyn 使用蓝牙或者Wi-Fi而不是GPS和3G来进行定位和文件传输,这将使得文件共享和对其他设备的发现过程变得更快.更准确. Al ...

  3. 【往届四个月检索,EI会议】第二届通讯技术与信息科技国际学术会议(ICCTIT 2022)

    2022 2nd International Conference on Communication Technology and Information Technology 第二届通讯技术与信息科 ...

  4. 联发科加入开放式神经网络交换平台,以推动AI创新

    文章来源:ATYUN AI平台 与Facebook.微软.亚马逊等公司一样,联发科支持开放和主流框架来推动AI创新. 联发科22日宣布,它已经加入了开放式神经网络交换(ONNX,全称Open Neur ...

  5. 移动通讯技术与三G和三G手机

    第一,本人是非曲直通讯领域人士,只是居于个人急需收拾停对通讯技术的初始懂得以及三G有关技术. 搬动通讯技术/三G 第一代模拟制式手机(一G): 第二代GSM.TDMA等数字手机(二G): 第三代三G通 ...

  6. 01初识鸿蒙_移动通讯技术的发展

    初识鸿蒙 一.移动通讯技术的发展 1G:大哥大-能打电话( 1980年摩托罗拉开发出了第一部手机) 2G:摩托罗拉诺基亚-能打电话, 能发短信----操作系统:塞班(Symbian) 下载速度:9KB ...

  7. IoT -- (九) IoT通讯技术选型与模型设计

    IoT时代的无线通讯技术 "世界上最遥远的距离就是没有网络",网络通讯是IoT的基础,常见的无线网络通讯技术有:WiFi.NFC.ZigBee.Bluetooth.WWAN(Wir ...

  8. lora终端连接云服务器_物联网通讯技术三足鼎立形成:NB-IoT、eMTC、LoRa各有千秋...

    物联网通讯技术三足鼎立形成:NB-IoT.eMTC.LoRa各有千秋 如今,即便是不懂技术的人都知道IoT具有非常可观的前景,而物联网产业的发展并非一帆风顺,其中制约行业发展的一大关键技术就是通讯技术 ...

  9. 【原创】轻量级移动端即时通讯技术 MobileIMSDK 发布了

    申明:MobileIMSDK目前为个人原创开源工程,投入了大量的时间和精力,希望对需要的人有所帮助.如需与作者交流,见文章底部个人签名处,互相学习.Q群:215891622,欢迎共同志趣者学习和交流. ...

最新文章

  1. 医学图像语义分割最佳方法的全面比较:UNet和UNet++
  2. Ethereum 君士坦丁堡安全漏洞对 FOD 的影响
  3. Python数组合并
  4. Spring框架学习day_02:组件扫描 / 注解内部读解 / 组件扫描中配置作用域和生命周期 / 解耦 / 自动装配(两种方式) / 读取文件
  5. JavaScript修改css中style,classname,cssText实例
  6. HDU - 5371 Hotaru's problem(马拉车+暴力)
  7. 友益文书类似软件_团队成员分享 | 港中文翻译学姐:硬件不够,软件来凑;心之所愿,无所不能...
  8. java并发编程面试
  9. java中singleton_Singleton是什么,在Java中如何实现
  10. 【LeetCode 剑指offer刷题】查找与排序题11:Sort Colors
  11. 【优化求解】基于matlab遗传算法求解红绿灯管理优化问题【含Matlab源码 262期】
  12. js正则表达式匹配多个条件
  13. 抖音多闪背后的AI和社交
  14. 前端必备知识之 Nginx 复盘总结
  15. linux用户motd,linux修改motd,提供个性化login信息
  16. 十进制、八进制和十六进制,各种进制存在的意义,为什么要设计出来?
  17. _stdcall是什么?
  18. 大学英语六级考试大纲 A
  19. windows 配置永久路由
  20. matlab的仿真实验报告答案,模糊控制MALTAB系统仿真实验报告

热门文章

  1. bzoj4521(数位dp
  2. “股神”巴菲特的六大投资良策
  3. adxl345取出值怎么算角度_ADXL345直接输出角度值C51程序
  4. maven项目如何生成war文件并部署到tomcat
  5. ASEMI整流桥MB10F参数,MB10F特征,MB10F机械数据
  6. 现在忘掉Sklearn吧,来自己手写一个人工智能线性回归,人工智能学习实验----01
  7. windows下python+django+pycharm+mysql从配置到实战
  8. 【Y忍冬草】QT更改构建目录
  9. 图像变换——向前映射和向后映射
  10. 国内首款集成Lighthouse定位的数据手套 亮相Unite Beijing 2018开发者大会