基于ARM和DSP架构的多处理器高速通信协议设计

发布者:耿高良最新更新时间:2011-10-24 来源: 中华电子网关键字:ARM和DSP 手机看文章 扫描二维码
随时随地手机看文章
     目前,建立在宽带网络的多媒体应用日渐增多,高性能的DSP也不断推陈出新,由于DSP具备非常灵活的编程运算能力,针对不同的编码标准,采用不同的编码软件,加上合适的芯片价位,在视频会议终端、视频监控服务器、IP数字机顶盒等产品中已被普遍采用。
  虽然DSP具备众多的优点, 但却不适合作系统控制,因为DSP通常没有强大的操作系统,没有完备的网络协议栈和可靠的文件系统,DSP架构在作控制指令时无法并行处理,分支判断和高速缓存没命中(cache miss)都会使运行效率极大降低。而这些正好是嵌入式RISC处理器的强项,比如ARM和MIPS系列,所以现在很多国际知名的半导体公司如PHILIPS和TI都推出了整合了RISC处理器和DSP的SOC芯片,如PNX8550、PNX8525、OMAP等。
  高性能的DSP在进行媒体处理时会产生和消费大量的音视频数据,这些数据需要在RISC 和DSP两个处理器之间高速、稳定地交换数据,另外,RISC处理器也要经常给DSP发送指令,并且还要支持来自DSP的RPC调用。下面本文将要介绍一种基于多处理器之间的高速通讯机制,并且已在实践中得到商业化的应用。
  本方案采用了SAMSUNG的S3C2510(ARM940T内核)和PHILIPS的Trimedia1300(TM1300) 数字信号处理器,ARM940T内置了PCI2.1规范的总线接口,Trimedia1300可以作为PCI的MASTER和SLAVE,基本架构如图-1。

 

图-1

  基于上述的硬件架构,在ARM和Trimedia1300处理器上分别采用了WindRiver的实时嵌入式操作系统(RTOS)vxWorks和pSos2.5,本通讯协议的基本思路为,在ARM的内存空间上开辟一块共享内存,并能使TRIMEDIA能够访问,数据通讯的握手协议通过两个处理器的中断来实现,配合信号量的使用,可以达到高速、高效通讯的目的,其软件架构如图-2。

图-2

  该通讯协议采用分层分布,两个处理器基本处于对称状态,因此,主要软件模块是公用的,有区别的是硬件抽象层和操作系统抽象层,与硬件和操作系统相关的模块比如中断驱动、信号量同步处理都分别提炼出来,单独放在这些模块文件中,减少软件开发和维护的工作量。
下面对图-2中的软件模块进行说明:
 1. 硬件抽象层:该层主要完成对不同处理器的硬件的抽象,比如地址映射、中断处理、 PCI配置空间的访问,IO寄存器的访问等功能。将两个处理器之间的硬件差异隐藏起来,以便上一层统一管理接口。
 2. 操作系统抽象层:该层主要完成对不同操作系统之间的抽象,提供vxWorks和pSos两个操作系统的统一接口,主要是同步、信号量、关键代码的互斥保护机制等功能。
 3. 通道及同步事件管理层:为了建立多处理器之间的多通道通讯和同步机制,该层支持多个通道独立通讯能力,每个通道都有唯一的句柄用于访问,通道的打开、使用、关闭相互独立。该层同时也支持命名的同步事件,可用于处理器之间的同步等待功能。
 4. 消息处理管理层:该层完成多通道的指定长度分组包通讯功能,支持小数据量的通讯数据,并支持同步机制,DSP的控制指令可以采用这种方式进行通讯。
 5. 共享缓存:支持多通道命名共享缓存,其中的数据可以同时被两个处理器访问,配合同步事件机制,流式数据可以采用这种方式进行高速、高效通讯。
 6. 同步事件:支持多通道可命名的处理器之间的同步事件功能,ARM或DSP可以让对方等待同步事件,用于精确控制同步处理共享资源。
 7. RPC(远程过程调用)层:在消息处理管理层和同步事件的基础上,当DSP处理器有时需要打印调试信息,或者读取HOST的资源时,比如调用printf、fopen、fread等标准c输入输出函数,通过该层处理后,ARM会调用相关函数完成指定的任务,并将结果返回给Trimedia1300。
  在这里我们还要专门的描述的是位于硬件抽象层里的共享内存,它只在HOST的一方存在,所有需要两个处理器共享的数据都存储在该区域里,包括高层的共享缓存、消息、同步事件、通道信息等数据,因此需要主机维护物理连续的、一定大小的内存,并且是处理器非cacheable的区域。
下面本文将描述典型的控制指令传输方式,具体的过程见图-3

 
图-3

  过程说明:本端处理器作初始化,创建同步事件,打开消息通讯句柄, 同步事件用于读取数据时任务阻塞,然后创建通讯数据包并且发送,发送例程将数据存储在共享缓冲区内,最后触发对方中断。
  对端处理器进入中断响应,首先中断例程分析共享数据区的通讯数据状态,发现某通道有新的未处理数据后,将其拷贝至自己的私有内存空间,并清理自己的共享数据区状态,然后释放在等待中的通讯任务的信号量,使读通讯数据包的任务解除阻塞状态,从私有数据区读取通讯数据包并作相应处理。
  数据流通讯与数据包通讯类似,不过方法更简单,在创建共享缓存和同步事件后,一方写入数据后,出发同步事件,另一方等到同步事件解除后读取数据,效率很高而处理器开销节省至最低。
  处理器之间的同步事件功能可以有效地对共享资源进行保护,防止多处理器同时对某一个共享资源访问,导致数据不完整。RPC(远程过程调用)功能能方便的用于系统调试和利用主处理器资源,能方便产品的调试和功能开发。
  以上是简化的多处理器通讯模型,方法适用于大多数RISC+DSP的架构,另外为了实现该通讯机制,还必须先完成三个前提,下面将简单对此进行描述。
 1. 位于HOST的共享内存必须是物理连续、非缓冲(none-cacheable)的一段内存,否则,两个处理器因为本身都带有数据高速缓存,会使数据的完整性无法保障,因此需要对两个处理器进行配置,对这段内存的访问关闭cache操作,具体操作过程不再赘述。
 2. 在编译Trimedia1300程序的时候,将指向共享内存的指针设置为下载时解析,并且要将Trimedia1300的下载程序移植到vxWorks操作系统,再下载解析该指针时将其指向ARM已分配给好的物理连续内存,Trimedia1300程序开始运行后就可以立即对共享内存初始化并进行通讯。
 3. 该通讯协议以vxWorks的BSP(板级支持包)的方式提供接口,并创建标准的vxWorks设备,便于安装、使用。
  该通讯规范已经在实用化的商业多媒体机顶盒中运行,该产品的数据流量较大,对时延要求很高,控制命令非常密集,从总体评价来看,采用该通讯协议后,无论是其效率、延时、处理器占用时间、灵活性、稳定性、可拓展性均获得很好的表现,希望本文也能对正在开发类似产品的人员起一定的提示作用,能加快相关产品的研发。
2004-7-8
参考文献:
Tornado Online Manuals by Windriver
Trimedia SDE Documents by Philips Semiconductor
pSOS Manuals by Integrated Systems, Inc.
S3c2510A User’s manuals by Samsung Electronics
PCI Local Bus Specification by PCI Special Interest Group

关键字:ARM和DSP 引用地址:基于ARM和DSP架构的多处理器高速通信协议设计

上一篇:基于嵌入式ARM9痕量毒气检测系统的研究
下一篇:面向中小型设备的嵌入式系统解决方案

推荐阅读最新更新时间:2024-03-30 21:50

ARM、FPGADSP的特点区别是什么?
DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是
[单片机]
ARMDSP、FPGA的技术特点区别
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。这里有一篇介绍ARM结构体系发展介绍。 DSP(digital singnal processor)是一种独特的微处理器,
[单片机]
采用ARM Cortex-M3单片机DSP的逆变电源设计
  引 言   在电气智能化发展无处不在的今天, 无数用电场合离不开逆变电源系统( Inverted Pow er Supply System,IPS) 为现场设备提供稳定的高质量电源, 特别在如通信机房、服务器工作站、交通枢纽调度中心、医院、电力、工矿企业等对电源保障有苛刻要求的场合。许多IPS产品因遵循传统设计而不符合或落后于现代电源理念,突出表现为控制模块的单一复杂化, 控制器芯片落后且控制任务繁重, 模拟闭环控制而得不到理想的监控和反馈调节效果,并由此带来单个控制设备软硬件设计上的隐患, 这对IPS 电源输出造成不利影响, 甚至对用电设备因为供电故障而导致灾难性后果。数字化控制技术日趋成熟,而且在某些领先理念的电源设备控
[嵌入式]
采用<font color='red'>ARM</font> Cortex-M3单片机<font color='red'>和</font><font color='red'>DSP</font>的逆变电源设计
基于ARMDSP的嵌入式智能仪器系统设计
   1 引言   随着智能仪器及控制系统对实时性信号处理的要求不断提高和大规模集成电路技术的迅速发展。越来越迫切的要求有一种高性能的设计方案与之相适应,将DSP技术和ARM技术结合起来应用于嵌入式系统中,将会充分发挥两者优势以达到智能控制系统中对数据的实时性、高效性的通信要求。该嵌入式系统要求实时响应,具有严格的时序性。其工作环境可能非常恶劣,如高温、低温、潮湿等,所以系统还要求非常高的稳定性。    2 嵌入式系统的总体设计   2.1 核心器件的主要功能   ARM和DSP分别选用Cirrus Logic公司的EP7312、TI公司的TMS320VC5402。充分利用ARM丰富的片上资源和DSP强大的信号处理功能,
[测试测量]
基于<font color='red'>ARM</font><font color='red'>和</font><font color='red'>DSP</font>的嵌入式智能仪器系统设计
一款基于ARM11DSP的3G视频安全帽设计
为提高在高危工作场所现场作业的可控性,本文采用仿生学原理和高集成度设计实现了与人眼同视角的3G视频安全帽。本设计由视频安全帽和腰跨式数据处理终端两部分组成,采用高可靠性航空插头连接。其中图像处理采用三星公司的S3C6410 ARM11 处理器和TMS320DM642 DSP 处理器组成。本设计结合 DSP 处理器在视频压缩方面的优势和运行于ARM之上的Linux操作系统在数据管理与任务调度机制方面的出色表现,由 DSP 完成图像处理功能,并通过高速接口把视频数据传输给嵌入式微处理系统,完成视频数据的传输、存储功能。 2.系统构成 本设计由视频安全帽和腰跨式视频终端两部分组成。视频安全帽中包含1路视频输入、1路音频输入和1路音频输
[嵌入式]
一款基于<font color='red'>ARM</font>11<font color='red'>和</font><font color='red'>DSP</font>的3G视频安全帽设计
基于ARM11DSP协作视频流处理技术的3G视频安全帽
1.引言 为提高在高危工作场所现场作业的可控性,本文采用仿生学原理和高集成度设计实现了与人眼同视角的3G视频安全帽。本设计由视频安全帽和腰跨式数据处理终端两部分组成,采用高可靠性航空插头连接。其中图像处理采用三星公司的S3C6410ARM11处理器和 TMS320DM642 DSP处理器组成。本设计结合DSP处理器在视频压缩方面的优势和运行于ARM之上的Linux操作系统在数据管理与任务调度机制方面的出色表现,由DSP完成图像处理功能,并通过高速接口把视频数据传输给嵌入式微处理系统,完成视频数据的传输、存储功能。 2.系统构成 本设计由视频安全帽和腰跨式视频终端两部分组成。视频安全帽中包含1路视频输入、1路音频输入和1路音
[嵌入式]
基于<font color='red'>ARM</font>11<font color='red'>和</font><font color='red'>DSP</font>协作视频流处理技术的3G视频安全帽
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved