<listing id="qofg7"></listing>

      <tt id="qofg7"></tt>

      <label id="qofg7"></label>

        首页 > 应用 > 智能硬件
        [导读]最近出现了一些兼备数?#20013;?#21495;处理器(DSP)和微控制器(MCU)能力的处理器从而为那些既要求典型的MCU功能又要求高性能信号处理功能的应用大开了方便之门这类MCU的优势之一就是起到系统控制器的作用通过以太网?#28044;ڡ?

        最近出现了一些兼备数?#20013;?#21495;处理器(DSP)和微控制器(MCU)能力的处理器从而为那些既要求典型的MCU功能又要求高性能信号处理功能的应用大开了方便之门

        本文引用地址: http://www.99155459.com/app/computer/201204/117618.htm

        这类MCU的优势之一就是起到系统控制器的作用通过以太网?#28044;ڡUSB?#28044;?#21644;PCI等标准?#28044;?#26469;协调各子系统的活动因为许多信号处理器都包含了这样一些相同的?#28044;ڣ?#25152;以考虑一下系统的体?#21040;?#26500;正在如何演进是很有意义的本文将讨论一种DSP在一个基于PCI的单板计算机应用中起到系统控制器作用的实现方法

         

        原理图
        原理图

        PCI总线的开发是为了提供一种能轻松连接外围设备和台式计算机的高性能方法这些外围设备包括图形子系统磁盘控制器和I/O设备PCI总线与CPU总线是分开的但是仍然需要访?#25163;?#23384;储器该?#28044;?#21487;以通过一个电桥连?#21448;?#31995;统总线该电桥?#24066;?#23427;以独立于CPU时钟频率的固定频率运行总而言之PCI为关键的系统元件提供了一个高带宽的通道以便在彼此之间传送数据

        随着嵌入式计算的出现人?#23884;?#24076;望以最低的成本设计出带?#22411;?#29992;外围设备的不以PC为中心的计算平台由于PCI的性能可扩缩性和普遍性使其成为一种自然的“通用标准”用于连接大量已经使用的外围设备

        ?#36865;?#36890;过标准?#28044;?#23558;嵌入式处理器连接到?#20154;?#20204;功能更强大的台式机处理器是很有利的其驱动力是嵌入式应用的发展例如用户手持设备销售点终端以及连接PC的工业自动化系统PCI促进了模块嵌入式系统设计从而?#24066;?#22810;种外围设备能无缝地连接到一种通用总线最后这种方法降低了产品总材料成本并?#20197;?#21152;了设计的重用从而降低了开发带?#26143;?#20837;式PCI?#28044;?#30340;处理器的总风险

        系统结构原理图
        系统结构原理图

        系统体?#21040;?#26500;的演进

        在MCU控制的系统中DSP一般是充当协处理器如图1(a)所示这种配置中的MCU和DSP通常是通过高速的串行链路或者存储?#28044;?#36827;?#22411;?#20449;MCU先把数据传递给DSP然后DSP把处理过的数据传回给MCU很可能还是通过同样的?#28044;ڡ?#23545;诸如音频处理这样的中低带宽应用来说这种方式效果很好但是在处理高带宽数据流时这种方式就就无法胜任了例如原始视频流很可能就要求超过25MB/s的数据传送速率?#23545;?#36229;过了传统的高速串行?#28044;?#25152;能支持的815MB/s的速率另外如果MCU和DSP之间没有可用的专用存储?#28044;ڣ?#20849;享的存储器会降低总体性能因为DSP在访?#20351;?#20139;空间的同时也占用了MCU的外?#30475;?#20648;器总线

        上述不利因素的结?#31995;?#33268;了如图1(b)所示的排?#23567;?#36890;过在DSP中集成PCI功能该DSP可以简单地看作另一种置于由MCU主控的PCI总线另一端的“外围设备”在这里DSP起到“PCI设备”的作用该PCI连接利用?#38556;?#30340;带宽来支持视频流速率而且这种配置甚至?#24066;?#35813;DSP作为一种“总线主控器”以便直接访问该PCI总线上的其他设备(例如网络和存储?#28044;?

        随着系统成本压力进一步推动了设计的集成如图1c所示的解决方案就更加理想图中的处理器不是一个简单的DSP而是一种结合了强大的DSP和MCU功能的信号处理器因此它可以作为系统控制器能主控PCI总线并且减少了一个处理器从而大大节省了总系统成?#23613;ADSP-BF533 Blackfin媒体处理器正是具备这种功能的器件

        PCI?#28044;?#30340;特点

        为了便于下一步的讨论?#35753;?#30830;几个与PCI有关的关键术语

        主机与设备主控器与受控器

        PCI的主要特点之一就是对?#38887;?#20449;考虑到大多数的设备都支持一种“主控器”操作随后设备就可以在彼此之间或者与系统主机(例如图1(a)所示的MCU或PC)之间通信在这种拓扑结构中所有的设备包括主机都能作为一个特定PCI事务的主控器或者受控器主机与设备的区别就在于主机可以在总线上配置各PCI代理并且提供总线仲裁通过配置各PCI代理(可以主控总线的设备)将彼此看成是一种存储?#35802;?#35774;备的集合可以通过在它们各自的存储器区域中发起数据传送来访问这些设备每个PCI代理都可以?#38405;?#26631;机(“受控器”)发起一次数据传送从而成为该特定事务的总线主控器

        总线仲裁

        在一些嵌入式应用中当前的总线主控器可以不止一个这时就需要一个PCI总线?#33455;?#22120;在嵌入式应用中利用一个小型的可编程逻辑电路(PLD)很容易实现这种功能(以前都由PC提供)每个可能的总线主控器都有两条线(一条用于请求一条用于授权)进入总线?#33455;?#22120;当一个总线主控器要求使用PCI总线时必须在其设备请求线上申请?#33455;?#22120;来决定?#35009;?#26102;候授予其总线使用权并在?#23454;?#30340;时候通知其授权线虽然PCI标准中没有规定具体的仲裁算法但是要求有“一种公平的算法以?#20048;顾浪?rdquo;通常可以采用一种简单的轮循方法来确保不会?#24515;?#19968;个总线主控器独占总线

        性能

        如果数据吞吐量性能很重要那么突发传送是很关键的PCI总线上的突发传送主要是由同一地址段接连发生至少两次数据传送而引起的和其他的传送类型一样一旦总线主控器接收到PCI总线的使用权就要传?#25512;?#36215;始地址和事务类型在实际的PCI系统中总线主控器和目标机必须都支持突发事务例如如果目标机只支持单一事务性能就会极大降低因为?#31859;?#32447;主控器必须反复申请总线使用权并传送每个事务的地址当总线主控器和目标机都支持突发事务时该PCI上的带宽就能达到132MB/s4B×33MHz的最高吞吐量

        硬件结构图
        硬件结构图

        直接存储器存取(DMA)是提高?#28044;?#20013;数据传送带宽的关键因为它在传送数据时所需内核处理器的干预最小这种采集或传送数据的设备可以利用其?#28304;?#30340;DMA控制器自动地从处理器来回传送数据DMA通过利用PCI的突发能力来存取?#28044;?#20013;的大块数据从而极大地提高了性能这种能力推动了诸如实时视频处理等应用的发展

        对多处理器系统的内在支持

        通过用PCI总线连接多个嵌入式处理器就能实现一个多处理器系统采用这种直接的连接方式很容易就能使计算能力成?#23545;w印?#26377;了附加的数据总线以及每个处理器访问存储器的能力就能处理数据流采用这种方法无须增加算法的编?#35848;?#26434;度就可以在每个处理器之间对数据进行?#26234;?#21478;外即使是在视频吞吐速率仍然有足够的可用空间用于与控制有关的传送开销

        从系统控制器的?#23884;?#30475;PCI

        PCI存储器模式

        PCI协议使用基地址寄存器(BAR)为各设备分配存储器和I/O范围在配置期间主机会询问各个设备以便决定每个设备所需资源如果主机可以提供所有这些资源需求它就会在每个设备的存储器BAR和I/O BAR中写入相应的起始地址然后通过对其存储器或者I/O范围内发起一次传送就可以访问每个设备了?#36865;?#27599;个PCI代理都可以访?#39318;?#32447;上的所有其他代理

        ADSP-BF533是一个PCI设备它有BAR0(存储器BAR)和BAR2(I/O BAR)两个寄存器以及相应的屏蔽寄存器这些屏蔽寄存器可用于指定每个区域所需要的存储数量

        因为主机是在其PCI存储器空间内为设备分配一个地?#32602;?#25152;以该设备(在这里就是指BF533)需要将?#35828;?#22336;?#25104;?#21040;它的内部或者外?#30475;?#20648;器空间中对BF533来说存储器空间包括芯片内的L2存储器以及外部的SDRAM和(或)异步存储器并且I/O空间会?#25104;?#21040;处理器的存储器?#25104;?#23492;存器(MMR)区域在这些定义的引导下一个内部事务就会被控制在?#23454;?#30340;区域

        当ADSP-BF533作为给定事务的目标机(受控器)时可以应用上述讨论的方法当它发起传送时会在其PCI外?#30475;?#20648;器BAR或者I/O BAR中写入它希望访问的代理地址无论是对PCI存储器还是I/O空间的一次读或写都会发起一?#25105;?#35813;PCI代理的存储器或者I/O区域为目标的事务

        在主机模式中外发事务的发生方式与上面的描述类似?#38405;?#36865;事务(ADSP-BF533作为受控器)的方案稍微有些区别在主机模式中BF533不使用BAR寄存器而是使用主机存储控制寄存器将其资源开放给外?#30475;?#29702;它可以接受或者不接受对其存储器和I/O空间的访问在有些情况下它还能指示那些开放资源还有多少可?#21592;?#22806;部PCI代理访问这就为保护关键的代码或者数据段免遭其他PCI代理的更改提供了一种机制

        在PCI存储空间中开窗口

        一旦初始化完成后每个PCI设备都有对主机或总线上其他PCI设备“开放”的存储资源这些存储资源可以包括内?#30475;?#20648;器和外?#30475;?#20648;器例如在BF533中内部或者外部L2存储器中的“窗口”可?#21592;PCI总线上的任何其他设备共享然后每个总线主控器就可以直接访问这些开放的存储器空间就像是在访问它自己的内?#30475;?#20648;器一样一旦主机完成了初始化进程各设备之间的所有存储器地址都能被PCI?#28044;?#32763;译出来

        术语“窗口”用于表示该设备可能还有不?#24066;?#21035;的总线主控器共享的其他受保护资源这种开放的窗口清楚地表示了可以直接进行传送的存储资源这种方法是很重要的因为对任何给定设备都不需要内核处理器参与每一件事务

        图2的简单实例示出了主机中的窗口指向设备资源以及设备中的窗口指向主机资源这就是?#24066;?#21333;个的内核处理器能将外部资源当做简单的存储器地址来访问的机制

        主机中的窗口指向设备资源以及设备中的窗口指向主机资源原理图
        主机中的窗口指向设备资源以及设备中的窗口指向主机资源原理图

        通常采用邮箱中断方式来协调总线主控器与PCI设备之间的数据传送这就使接收设备知道数据?#35009;?#26102;候可用以及?#35009;?#26102;候准备用于处理

        数据传送路径

        BF533有一组专用的外部主控器总线?#24066;?#22806;部的总线主控器直接从(或对)内部的L2存储器或者芯片外的SDRAM传送数据而无需内核处理器的介入另外可以建立PCI?#25104;?#20197;便?#24066;?#35775;问某些系统资源例如,共享的外围设备上述每种数据传送方法都只需要不多的初始化代码内核处理器只需要管理信号量以便指示?#35009;?#26102;候可以?#25442;?#25968;据以及?#35009;?#26102;候可以将数据从该系统中传?#32479;?#21435;

        除了上述传送路径外还有一种内部的存储器DMA控制器可以用于发起任一方向的数据传送这种数据传送路径能支持外围设备间的突发传送

        在支持PCI的嵌入式媒体处理器上实现视频捕获

        下面将给出一种能执行主机控制器和信号处理器任务的嵌入式媒体处理器的具体实例目的是要说明一种带有集成PCI?#28044;?#30340;嵌入式处理器是如何用在具有各种不同?#28044;?#35201;求的系统中的这里的重点是数据搬移以及接入许多基于PCI的主流外围设备的能力因为安装PCI?#28044;?#23601;跟安装存储器一样所以通过把这些外围设备?#25104;?#21040;一些存储器的位置?#22270;?#22823;地简化了编程模式初始化完成后每个外围设备都会对主机处理器开放一个窗口用于双向的数据?#25442;?/p>

        在本例中采用Momentum Data Systems (MDS)公司的Eagle-35主板来迅速实现一个系统该PCB的原理示意图参见图3和图4Eagle-35是一个单板计算机(SBC)的主处理器该SBC有4个内部PCI插槽板内还包含了一个以太网控制器并且连接到PCI总线采用一个廉价的PLD实现5设备的PCI?#33455;?#22120;它还包括了一个可连接SDRAM内存模块的插座可以提供128MB的外?#30475;?#20648;器

        首先可以把一个视频画面捕获卡安装到其中一个PCI插槽中利用照相机数据源或者视频源的多路复用流可以一次把一帧的视频数据直接送入SDRAM另外每一路数据都可以直接进入外?#30475;?#20648;器用于处理为了说明清楚假定有一个安全应用它有一路输入的CIF视频流从10MB/s数量级的数据压缩至KB/s数量级范围(具体取决于期望的压缩图像质量等级)该视频画面捕获卡上的一个DMA控制器直接将数据传送到SDRAM中因为BF533有一个双MAC/ALU的内核处理器所以可以实时地完成每一输入帧的数据压缩可以处理的压缩类型有好几种包括MJPEGMPEG-2以及MPEG-4采用这些算法进行CIF格式的压缩仅消耗内核处理器资源的很小一部分

        PCI?#28044;?#26377;多种方法可以将压缩后的数据从处理器传?#32479;?#21435;一种方法是利用以太网控制器把压缩数据流送到远程网络地点另一种方法是利用一个IDE驱动器来保存视频这两种方法都接受PCI数据流这样?#22270;?#21270;了需要的编程模式因为BF533的DSP处理能力既支持编码也支持解码所以压缩图像可以重新传回给同样的系统

        在SDRAM中可提供多个输入和输出帧的缓冲器这些缓冲器采用一种反复的方式轮流保存数据当一个输入缓冲器充满了来自视频捕获设备的数据时另外一个缓冲器的数据正在被压缩两个输出缓冲器?#24066;?#36755;出方向的并行操作当一个输出缓冲器充满了压缩数据时另一个缓冲器中的数据可?#21592;?#20256;送到IDE驱动器或者以太网?#28044;?#20013;

        Eagle-35主板是一种ATX型的设备所以适合于做一个PC机箱中的主板为了方便访问音频编解码?#28044;ԑ人?#26377;的附加?#28044;?#37117;放到了电路板的外部有了板内的编解码器就可以完成音频的压缩以便匹配视频流

        我 要 评 论

        网友评论

        技术子站

        更多

        项?#23458;?#21253;

        更多

        推荐博客

        С㼼

            <listing id="qofg7"></listing>

            <tt id="qofg7"></tt>

            <label id="qofg7"></label>

                  <listing id="qofg7"></listing>

                  <tt id="qofg7"></tt>

                  <label id="qofg7"></label>