SoC系统中实时总线模块的设计理念与应用

发布者:MagicalSerenade最新更新时间:2012-03-31 来源: 61ic关键字:SoC系统  实时总线  设计理念 手机看文章 扫描二维码
随时随地手机看文章

    SoC中CPU总线一般采用应答机制,是非实时的,数据的处理采用中断响应机制以发挥效率。处理特定实时数据并没有固定的延时与稳定的吞吐率,因此需要设计一个模块来处理实时数据到非实时总线之间的平滑过度问题。作者以此模块设计为例,阐述非实时总线中实时数据切换的设计理念与几个实用技术。

    在芯片设计中,芯片内部总线的设计往往决定了芯片的性能、功耗与各模块设计的复杂度。我们设计总线往往会依据两方面的原则:一是芯片设计流程其内在的需求,二是所针对的应用对交换宽带、延时、效率、灵活性的需求。

    针对芯片总线设计流程内在的需求,高效总线结构设计通常遵循的基本原则包括:同步设计、可综合、无三态信号、低延时、单触发延、支持多主控及总线仲裁(支持DMA及多CPU核)、高时钟频率独立性、支持突发(高效率)和低门数。遵循这些基本原则可以帮助我们规避很多设计上的风险,提高总线效率与IP复用度。当然,实际上述有些原则如“三态总线”,可以而且应当在某些应用中使用,只是不建议芯片及设计工程师轻易地突破这些规范,增加风险。南山之桥微电子公司在高端芯片设计中使用了三态总线技术来解决超宽总线的布线聚集与时序匹配问题。

    应用的需求往往会决定总线的形式,如SoC芯片中往往会采用嵌入式CPU的总线结构。反过来说,我们选用哪一款CPU,除了成本、性能、功耗、快速精确的时序仿真模型、编译环境和可用IP外,还有重要的一点就是其总线设计是否简单、高效与有利于发挥其它设计模块的效率。 


图1:帧结构TDM形式时序图。

    以现在较流行的ARM处理器来说,采用AMBA总线标准,其中高速芯片通常采用的AHB总线有以下几个特质:流水线式、非三态总线、支持多主控、总线仲裁与集中地址译码、应答响应机制(非实时)、支持突发。 [page]

    总之,AHB总线适宜于发挥CPU的效率,符合高效总线设计的原则,但是其本身也有总线位宽限制(主要是指令集位宽)与SPLIT(切分)选项支持的复杂度。在笔者参与的设计中有一半以上不支持SPLIT选项以降低设计与验证开销,限于篇幅在此不展开阐述。最主要的问题是SoC中CPU总线一般采用应答机制,也就是非实时的,数据的处理采用中断响应机制以发挥效率。处理特定实时数据并没有固定的延时与稳定的吞吐率,那么就需要设计一个模块来处理实时数据到非实时总线之间的平滑过度问题。笔者以此模块设计为例,阐述非实时总线中实时数据切换的设计理念与几个实用技术。例子中实时数据传递采用TDM总线形式(Time Division Multiplexed,时分复用),我们称此模式为TDM模块。

    TDM模块设计

    TDM模块一端的界面是多路音频信号的输入与输出,另一端是AHB总线,音频数据的输入/输出,通常采用帧结构TDM形式(见图1)。其中,sp_io_xclk代表音频数据采样时钟,sp_io_xfs代表帧同步头,下面两行分别是输出与输入数据。可见,这是一个含帧格式的多通道时分实时数据传输格式。关于AMBA总线,有大量介绍资料,此处不赘述。

    在这个模块的设计中,我们考虑了以下几个原则:平滑匹配数据传输速度、低延时与低资源占用(逻辑与存储资源)、高效使用AHB总线宽带、提高CPU处理效率、可靠性与错误处理、可控性与可观性。最基本的思路是:采用FIFO(先入先出)技术暨队列来缓冲数据传输,同时要尽量少缓存数据在队列中,以满足低延时与低资源的占用;同时采用AHB burst模式提高总线利用带宽;最后,还要提供寄存器读写来控制传输参数与状态存储,采用AHB从控模式(Slave)。初步的设计结构如图2。

    DMA技术的使用时机

    在这个初步设计中,缓存队列的长度计算主要取决于AHB burst的速度与频率。要少缓存数据,就要频繁进行AHB传递,也就是频繁中断CPU,这降低了CPU的处理效率。 


图2:TDM模块的初步设计结构。
 

    这看起来是无解的矛盾,我们可以采用DMA(Direct Memory Access,直接存储读写)技术解决。一般SoC芯片都有外接DDR/SDRAM作为最终的数据与程序缓存,TDM模块可以直接向DRAM传输实时数据,而不用频繁地中断CPU,实质上是把片内缓存的需求转移到了片外(假设总线带宽足够),既降低了队列长度又降低了中断CPU的频率,从而解决了这一对矛盾。

    DMA技术实质上也是模块主动掌握总线主动权,要求采用AHB总线主控模式,最终框架结构会变成图3所示。 [page]

    延时与DMA应用的矛盾

    细心的读者会发现DMA的采用增加了处理延时,这不是与我们的原则矛盾吗?这里牵涉到对嵌入式CPU中音频处理算法的理解,大多数是音频压缩算法,一般都要求有一定的音频片断长度以保障压缩率与减少CPU中RTOS的调度开销。另外一些音频处理程序如回响消减DSP算法,经常采用64拍有限滤波器处理大于16ms的回响拖尾。另一些高度压缩算法(如以有限激励参数模型为基础的算法)要求对更长的音频片断做处理。所以从算法的角度,SoC系统的音频处理延时理论下限为多算法处理单元的最大值。我们只要保证DMA的传输数据延时小于这个下限就可以了,这样就充分利用了SoC系统的最小延时,进而计算DMA片断的长度也有了依据。

    回到队列长度的计算上,我们现在只需要考虑TDM模块得到AHB总线使用权之间的间隙与TDM数据输入的速度差的最坏值就可以了。 

 
图3:最终框架结构图。[page]
 

    队列深度=最长AHB总线获得间隔×TDM输入速率

    AHB总线轮询(poll)间隙取决于总线上有几个主控模式模块与仲裁的优先级策略。一般建议实时模块享有较高优先级,当然随之而来的要求是总线申请的频度不能太高。平衡这一对矛盾的解决办法超越本文论述的范畴,读者可以从“固定权重加优先级竞争”的仲裁机制入手来设计AHB总线仲裁器。

    动态切换时机与影子寄存器的使用

    在实际应用中,我们常常发现帧格式中很多时分信道并没有音频数据,这时就要采用时分掩码来屏蔽这些信道以阻止无效数据占用带宽。问题是时分信通中是否有数据是动态变化的,动态变化的数据要求时分掩码参数也要动态分配。但是怎么切换呢?这里采用“影子寄存器”技术,原理是两套寄存器,一套参数应用于当前帧,另一套应用于下一帧。利用帧同步头的一个时钟周期实时切换。而SoC中的CPU只看到一套寄存器地址,同时配置行为本身放宽了实时要求的限制,实时切换由TDM模块完成,具体图形见图4。

    错误的处理--最后一根救命稻草

    如大家深知,芯片设计是没有下一次机会的,那么错误的处理就成为了“救命的稻草”。假设TDM模块很久没有得到总线的控制,出现underrun(速率过低)与overrun(速率过高)情况。要采用队列中“high-watermark(高水线)”与“low-watermark(低水线)”技术,在队列接近满与空状态发生前提前预警。预警通常反映了芯片系统中的一些设计问题与当时电压波动、干扰、局部高温等瞬间问题,这时预警信号通常用最高/次高优先级中断发生。ARM CPU本身支持高优先级中断,而我们的队列长度计算现在要重新计算,加上高优先级处理这一段时间,具体的响应时钟周期,读者请查阅相应CPU手册,这也是评价嵌入式CPU与实时操作系统(RTOS)的一项指标。 


图4:由TDM模块实现两套寄存器的动态切换时序图。
 

    队列深度=最长AHB总线获得间隔×TDM输入速率+ARM最长中断响应时间×TDM输入速率

    本文小结

    我们在TDM模块简要设计中,阐述了结合各种基本技术,如从缓存队列到DMA到影子寄存器到动态分配到watermark与利用DSP算法特性,AHB总线特性、帧同步特性以及RTOS特性解决非实时与实时交换、CPU效率与资源占用、延时与DMA配置与动态切换的矛盾,追求最优解决方案的过程与设计思路。

    本文并没有给出最初方案的队列计算公式,是因为要考虑的因素过多,从另一个侧面反映了它不是最优方案。好的设计应该是把复杂的需求简单化、模块化,当然实际设计中比这种简化设计要复杂,例如还要解决实时数据传输中双方时钟不同步等问题。但读者只要掌握了基本思路与技术,理解应用特性、CPU特性及RTOS特性与算法,就可举一反三,做出最优的设计。

关键字:SoC系统  实时总线  设计理念 引用地址:SoC系统中实时总线模块的设计理念与应用

上一篇:基于USB接口的数据通信演示板的软硬件实现方案
下一篇:基于au6802n1的旋转变压器信号接口电路设计

推荐阅读最新更新时间:2024-05-02 21:59

ADI:以先进的设计理念 促高校人才
近日,全球领先的高性能信号处理解决方案供应商和数据转换器市场份额领先者ADI 公司(Analog Device, Inc.)联合华中科技大学举办的 ADI 2012冬令营圆满落幕。来自全国多所高校的40位电子爱好者参加了此次冬令营活动,接受了 ADI 公司工程师带来的国际先进技术和设计理念。ADI 公司的冬令营活动是企业向高校传递先进的工程技术和经验,为填补中国高校教学与企业实际生产之间的空白贡献一份力量。 ADI 公司冬令营活动始于2011年,今年是第二届。为期三日的冬令营活动吸引了来自华中科技大学、西安电子科技大学、哈尔滨工业大学、中国科学技术大学、西安交通大学、北京航空航天大学等名校的40名优秀学子。本着紧跟前沿科技,贴近
[半导体设计/制造]
Cyclone V SoC FPGA硬核处理器系统简介
    SoC FPGA使用宽带互联干线链接,在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括处理器、外设和存储器接口。Cyclone V SoC FPGA在一个基于ARM的用户可定制芯片系统(SoC)中集成了分立处理器、FPGA和数字信号处理(DSP)功能,帮助您降低了系统功耗、系统成本,减小了电路板面积,提高了系统性能。SoC FPGA同时实现了硬核知识产权(IP)的性能和低功耗特性以及可编程逻辑的灵活性。 结构图 HPS 特性 (1)800-MHz,双核ARM® Cortex™-A9 MPCore™处理器 (2)每个处理器内核包括: 32 KB的L1指令高速缓存,32 KB的L1数据高
[嵌入式]
SoC系统实时总线模块的设计理念与应用
    SoC中CPU总线一般采用应答机制,是非实时的,数据的处理采用中断响应机制以发挥效率。处理特定实时数据并没有固定的延时与稳定的吞吐率,因此需要设计一个模块来处理实时数据到非实时总线之间的平滑过度问题。作者以此模块设计为例,阐述非实时总线中实时数据切换的设计理念与几个实用技术。     在芯片设计中,芯片内部总线的设计往往决定了芯片的性能、功耗与各模块设计的复杂度。我们设计总线往往会依据两方面的原则:一是芯片设计流程其内在的需求,二是所针对的应用对交换宽带、延时、效率、灵活性的需求。     针对芯片总线设计流程内在的需求,高效总线结构设计通常遵循的基本原则包括:同步设计、可综合、无三态信号、低延时、单触发延、支持多
[嵌入式]
基于AMBA架构的SoC系统事务级建模
   1.引言   随着集成电路制造技术的发展,VLSI 已经进入了SoC(System-on-Chip )片上系统时代。对于复杂的片上系统而言,系统验证占整个设计时间的60%-70%,其中涉及到软件与硬件的协同工作等等。传统的系统验证在RTL 级进行,RTL 提供更精确接近实现的同时,也加长了验证时间以及此时发现问题再修改带来的成本增加,所以非常有必要地在尽可能早地进行有效的系统验证。   SystemC 作为一种系统描述语言应运而生,它支持从系统级到门级的描述,解决了传统片上系统设计方法中不同级别使用不同描述语言带来的过渡问题,而其事务级(Transaction-Level,TL)建模仿真方法可以在早期有效地进行系统验证,
[嵌入式]
基于AMBA架构的<font color='red'>SoC</font><font color='red'>系统</font>事务级建模
基于CPCI总线架构设计实时图像信号处理平台
DSP+FPGA混用设计 为了提高算法效率,实时处理图像信息,本处理系统是基于DSP+FPGA混用结构设计的。业务板以FPGA为处理核心,实现数字视频信号的实时图像处理,DSP实现了部分的图像处理算法和FPGA的控制逻辑,并响应中断,实现数据通信和存储实时信号。 首先,本系统要求DSP可以满足算法控制结构复杂、运算速度高、寻址灵活、通信能力强大的要求。所以,我们选择指令周期短、数据吞吐率高、通信能力强、指令集功能完备的DSP。同时也考虑了DSP功耗和开发支持环境等要素。 由于从探测仪传来的低层A/D信号,其差值预处理算法的数据量大,对处理速度的要求高,但运算结构简单,选用百万门级FPGA进行硬件实现。采用DSP+FPGA混用
[嵌入式]
全高级驾驶员感知系统和All Programmable SoC
道路安全从摩尔定律中受益良多,处理能力的提升以及  CMOS  图像 传感器  (CIS) 和其他传感器技术的发展,让车辆制造商得以推出高级驾驶员感知系统 (ADAS)。ADAS 能增强驾驶员对周边环境的感知,减少发生碰撞的概率。部分系统还能够监控驾驶员并向驾驶员发出告警,例如在驾驶员打盹时。   ADAS 还越来越多地接手控制(或为无人驾驶系统提供信息),从而为驾驶员提供泊车辅助、车道辅助和自适应巡航控制等功能方面的协助。    显示导航和状态感知信息的 ADAS 抬头应用 因此,不出意料,到 2021 年预计 ADAS 市场的规模将达到 420 亿美元,目前的年复合增长率(GAGR)达到 10%。 ADAS 通常使用嵌入式视觉
[嵌入式]
别克全新一代君威于今日上市-全新的设计理念
2017年7月21日,上汽通用别克全新一代君威车型将于今日正式上市。新车在外观的设计上采用了全新的设计理念,具有更强的视觉效果,新车还搭载了3.6L的V6发动机。 别克全新一代君威:外观设计 新款君威在前两的造型设计上采用了全新的别克家族式设计风格,直瀑式的进气格栅改变为带有GS标识的蜂窝状造型,前保险杠雾灯设计了大尺寸的镀硌导风口,整体视觉效果还是十分不错的,年轻时尚的的设计风格,十分符合现在年轻人的审美标准,相信在上市后一定可以吸引更多的人气,并占据更好的销售市场。 汽车的侧面设计的也是比较时尚,流畅的车身流线设计十分完美,与多辐式的大尺寸铝合金轮圈搭配,显示出更为年轻时尚的风格。 在汽车尾部设计上也同样也能显
[汽车电子]
系统级芯片SoC真的能取代传统CPU?
    在经历了50多年的绝对统治之后,CPU终于迎来了新的挑战,挑战者正是SoC。在过去几十年间,你可要随便走进一家电脑店,根据CPU的性能来挑选一台全新的电脑。现在,你在四处瞅瞅,无算是智能手机还是平板电脑,设置笔记本电脑都开始使用SoC了。不要恐慌。其实,CPU和SoC两者之间十分相似。你知道关于CPU的所有知识同样也适用于SoC。     什么是CPU?     尽管人们一直着重强调CPU技术和性能,但论实质其实CPU只不过是一台超级快速的计算器。CPU从内存中获取数据,然后进行一系列数学运算(加,乘)或者逻辑运算(和,或,不是)来处理这些数据。CPU越昂贵/复杂,它的运算能力就更强,电脑运行速度就更快。     但是CPU
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved