专利名称:多处理器共享外设电路实现方法及其电路的制作方法
技术领域:
本发明涉及TD-SCDMA手机数字基带处理芯片的技术,具体涉及一种多处理器共享外设电路实现方法及其电路;属于通信电子技术领域。
背景技术:
TD-SCDMA手机的实现关键在于数字基带处理芯片,它是完成TD-SCDMA基带数字信号处理功能以及物理层软件、通信协议栈、应用层MMI软件运行的核心。这种芯片通常是采用多处理器结构,用双DSP配合硬件加速器完成物理层信号处理,用ARM完成应用层和协议层的处理,因此设计一种简洁、高效的系统架构成为TD-SCDMA手机基带芯片的一个关键问题。在现有的多核芯片设计技术中,各个模块间的通信通过一条AMBA总线实现。由于存在多处理器和共享外设模块,因此需要专门的总线仲裁器来决定某一时刻允许哪个处理器使用总线,会造成通信效率的下降。如何改善多处理器和共享外设的通信效率下降的问题,是所属领域技术人员有待解决的问题。
发明内容
针对现有多处理器共享外设技术存在通信效率不高之不足,本发明的目的是提供一种有效改善通信效率的多处理器共享外设电路实现方法。
本发明的另一个目的是提供一种设计合理、结构简洁的多处理器共享外设电路。
本发明的目的是这样实现的多处理器共享外设电路实现方法,每个硬件加速器外设均接有一个总线开关对来自不同处理器的总线进行切换,处理器在使用硬件加速器时先发出总线申请,总线开关根据该模块的工作状态决定是否允许该处理器的访问;当硬件加速器的一次数据处理并搬运完成后,处理器发出总线释放命令以允许该加速器的下一次使用;对于访问频繁的控制寄存器外设,多处理器的总线采用同步电路进行合并,这样在实现了共享外设的同时还简化了系统设计。
同时,根据优先级先后顺序合并成为一条总线对外设进行访问。
按本发明方法实现的多处理器共享外设电路,包含由一个ARM9处理器和DSP1、DSP2存储器构成的多处理器,由FIR模块、JD运算、Viterbi译码、Turbo译码器以及系统定时和控制电路构成的硬件加速器的DSP子系统;ARM及其外设构成ARM子系统;ARM子系统内部采用AMBA总线连接,通过内部存储器接口模块IMIF实现ARM子系统和DSP子系统的之间的双口RAM通信;采用总线开关电路对来自不同处理器的总线进行切换;或者采用总线同步电路对来自不同处理器的总线进行合并,实现多处理器共享外设。
所述DSP1通过写控制寄存器向Viterbi译码器总线开关模块发出总线使用申请,如果Viterbi模块处于空闲状态,则总线申请成功,DSP1能进行正常访问读写数据;如果该模块处于使用中,即正在进行数据处理或由DSP2占用,则拒绝DSP1的访问;当本次Viterbi译码运算结束,DSP1读取Viterbi译码器的结果数据,并发出命令释放总线。
相比现有技术,本发明具有如下优点1、采用加速器模块与多处理器之间设计独特的总线开关和总线同步电路的方法,实现了多处理器之间共享外设,具有较高的通信效率;2、可以确保硬件加速器正在进行一次数据处理过程中不会被另一个处理器中断,一旦总线被一个处理器占用,直到总线释放之前都不会有新的总线仲裁和切换动作。而现在常见的总线技术如单层AMBA总线,任何时刻只允许有一个主机占用总线,多处理器共享外设的时候有频繁的总线仲裁和切换动作,严重降低了通信效率。虽然多层AMBA总线解决了这个问题,但是总线结构复杂,验证工作量大,而且不能保证处理器对硬件加速器的独占性。
3、本发明电路用于TD-SCDMA手机的数字基带处理芯片,采用一颗ARM处理器和两颗DSP处理器以及TD-SCDMA专用电路和硬件加速器构成,结构简洁,设计合理。
图1是本发明系统方框图;图2存储扩展总线方框图;图3是总线开关的结构原理图;图4是总线同步的处理接线原理图。
具体实施例方式
多处理器共享外设电路实现方法,每个硬件加速器外设均接有一个总线开关对来自不同处理器的总线进行切换,处理器在使用硬件加速器时先发出总线申请,总线开关根据该模块的工作状态决定是否允许该处理器的访问;当硬件加速器的一次数据处理并搬运完成后,处理器发出总线释放命令以允许该加速器的下一次使用;对于访问频繁的控制寄存器外设,多处理器的总线采用同步电路进行合并。
同时,根据优先级先后顺序合并成为一条总线对外设进行访问。
如图1所示,按本发明方法实现的多处理器共享外设电路,芯片包含一个ARM9处理器,两个DSP处理器;硬件加速器有FIR滤波器、JD运算、Viterbi译码、Turbo译码器以及系统定时和控制电路以及必要的外设电路。
根据处理器的任务分工,确定系统架构如下JD、Viterbi、Turbo、FIR模块与DSP1、DSP2的存储器扩展总线相连,构成DSP子系统;ARM及其外设构成ARM子系统,ARM子系统内部采用AMBA总线连接,通过内部存储器接口模块(IMIF)实现ARM子系统和DSP子系统的之间的双口RAM通信,采用总线开关电路对来自不同处理器的总线进行切换;加速器模块与多处理器之间设计独特的总线开关和总线同步电路的方法,实现了多处理器之间共享外设,具有较高的通信效率。
所述DSP1通过写控制寄存器向Viterbi译码器总线开关模块发出总线使用申请,如果Viterbi模块处于空闲状态,则总线申请成功,DSP1能进行正常访问读写数据;如果该模块处于使用中,即正在进行数据处理或由DSP2占用,则拒绝DSP1的访问;当本次Viterbi译码运算结束,DSP1读取Viterbi译码器的结果数据,并发出命令释放总线。
采用总线同步电路对来自不同处理器的总线进行合并,实现多处理器共享外设。
参见图2,存储器扩展总线由32位数据线、24位地址线、读信号、写信号构成。用高位地址线进行地址译码得到所有外设模块的片选信号,这样可以通过不同的地址空间进行相应模块的读写和控制。
总线的切换由于存在多处理器共同访问同一外设,因此设计了总线开关电路和总线同步电路。根据外设电路的工作模式不同可以分为两种情况1.对于硬件加速器,先由处理器写入一块数据,启动后等到运算结束再读取结果,整个过程只能由某一个处理器控制。
2.对于控制电路,任何时候都可能由某个处理器进行读写操作。
见图3,对于第一种情况,每个加速器设计了总线开关进行切换。处理器的操作过程如下(以DSP1访问Viterbi译码器为例)首先,DSP1通过写控制寄存器向Viterbi译码器总线开关电路发出总线使用申请,如果Viterbi模块处于空闲状态,则总线申请成功,DSP1能进行正常访问读写数据,如果该模块处于使用中,(正在进行数据处理或由DSP2占用),则拒绝DSP1的访问。当本次Viterbi译码运算结束,DSP1读取Viterbi译码器的结果数据,并发出命令释放总线。通过这种方式可以确保硬件加速器正在进行一次数据处理过程中不会被另一个处理器中断,一旦总线被一个处理器占用,直到总线释放之前都不会有新的总线仲裁和切换动作,提高了通信效率。
参见图4,对于第二种情况,由于每个处理器的时钟不同,需要进行总线同步的处理,将每个处理器的总线同步到同一个时钟域,根据优先级先后顺序合并成为一条总线对外设进行访问。同时软件上需要确保处理器不会在同一时刻访问同一外设,因此这种方式适合读写少量的寄存器数据,如TD-SCDMA控制模块。
权利要求
1.多处理器共享外设电路实现方法,特征在于每个硬件加速器外设均接有一个总线开关对来自不同处理器的总线进行切换,处理器在使用硬件加速器时先发出总线申请,总线开关根据该模块的工作状态决定是否允许该处理器的访问;当硬件加速器的一次数据处理并搬运完成后,处理器发出总线释放命令以允许该加速器的下一次使用;对于访问频繁的控制寄存器外设,多处理器的总线采用同步电路进行合并。
2.根据权利要求1所述的多处理器共享外设电路实现方法,其特征在于根据优先级先后顺序合并成为一条总线对外设进行访问。
3.根据权利要求1或2所述方法实现的多处理器共享外设电路,其特征在于包含由一个ARM9处理器和DSP1、DSP2存储器构成的多处理器,由FIR模块、JD运算、Viterbi译码、Turbo译码器以及系统定时和控制电路构成的硬件加速器的DSP子系统;ARM及其外设构成ARM子系统;ARM子系统内部采用AMBA总线连接,通过内部存储器接口模块IMIF实现ARM子系统和DSP子系统的之间的双口RAM通信;采用总线开关电路对来自不同处理器的总线进行切换;所述DSP1通过写控制寄存器向Viterbi译码器总线开关模块发出总线使用申请,如果Viterbi模块处于空闲状态,则总线申请成功,DSP1能进行正常访问读写数据;如果该模块处于使用中,即正在进行数据处理或由DSP2占用,则拒绝DSP1的访问;当本次Viterbi译码运算结束,DSP1读取Viterbi译码器的结果数据,并发出命令释放总线。
4.根据权利要求3所述的多处理器共享外设电路,其特征在于采用总线同步电路对来自不同处理器的总线进行合并,实现多处理器共享外设。
全文摘要
本发明公开一种多处理器共享外设电路实现方法及电路,每个硬件加速器外设均接有一个总线开关对来自不同处理器的总线进行切换,处理器在使用硬件加速器时先发出总线申请,总线开关根据该模块的工作状态决定是否允许该处理器的访问;当硬件加速器的一次数据处理并搬运完成后,处理器发出总线释放命令以允许该加速器的下一次使用;对于访问频繁的控制寄存器外设,多处理器的总线采用同步电路进行合并,实现共享外设的同时还简化了系统设计,具有较高的通信效率;还可以确保硬件加速器正在进行一次数据处理过程中不会被另一个处理器中断,一旦总线被一个处理器占用,直到总线释放之前都不会有新的总线仲裁和切换动作。而且电路结构简单,设计合理。
文档编号H04Q7/32GK1811740SQ20061005410
公开日2006年8月2日 申请日期2006年2月28日 优先权日2006年2月28日
发明者林毅, 郑建宏, 杨小勇 申请人:重庆重邮信科股份有限公司