它包括输入/输出接口、并行的C6201芯片组、SDRAM、PCI总线控制和主机等五部分,每一片C6201可看作一个多通道处理子系统。输入/输出接口负责"> 它包括输入/输出接口、并行的C6201芯片组、SDRAM、PCI总线控制和主机等五部分,每一片C6201可看作一个多通道处理子系统。输入/输出接口负责" />
欢迎来到天天文库
浏览记录
ID:23854816
大小:50.50 KB
页数:6页
时间:2018-11-11
《基于tms320c6201的多通道信号处理平台》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于TMS320C6201的多通道信号处理平台
2、第1...lunouseg(this)">它包括输入/输出接口、并行的C6201芯片组、SDRAM、PCI总线控制和主机等五部分,每一片C6201可看作一个多通道处理子系统。输入/输出接口负责多路数据的A/D和D/A,并且有一定的复用和解复用能力;C6201用于信号处理和数据的接收/发送(至输入/输出接口);SDRAM存放接收/输出的数据和通道上下文相关数据;PCI总线控制主机与C6201芯片组的通信;主机负责获取处理后的数据以及发送其本身采集的数据。当处理程序目标代码小时,可选用Boot方式
3、将程序全部装入片内;而当代码太长时,可选用cache模式,将片内程序空间设为cache,程序放在片外的SDRAM或其它外设中。运行时程序根据CPU需要部分装入。在使用cache工作方式时,CPU的工作效率约为90%。输入的数据先经解复用,然后分别发给C6201。C6201通过DMA通道自动接收数据,并且将数据存放在SDRAM中。在接收的同时DMA也将数据输出到输入/输出接口。当一帧数据接收完毕,外部缓存DMA产生一个中断信号,通知C6201、C6201在接收到中断信号后,更新其设置,即切换输入数据的目标地址和输出数据的源地址。与此同时,C6
4、201也启动信号处理模块,对接收的数据通道逐个地进行处理。当然,在处理前需将该通道上下文相关数据从片外SDRAM搬移进片内,处理完后再将其搬移出去。在处理当前通道时,DMA还将同时将下一通道的上下文相关数据搬移进来。如此循环,直至所有通道都处理完毕。SDRAM存放接收和发送数据至少需要分配两个段,一个段用于当前外部缓存DMA使用,一个段用于内部搬移DMA使用。主机通过PCI总线对C6201芯片组的HPI进行访问,其访问方式设为DMA方式。之所以采用PCI总线是为了保证高速的数据传输。作为PCI总线和HPI桥梁的总线控制器可以有很多选择,以S
5、5933为例,由于S5933与串行EEPROM可无缝连接,所以其初始化可在上电时由EEPROM自动载入。它有五个基址寄存器,它们可分别服务于PCI控制器的寄存器、JTAG测试总线控制器、平台的控制和状态寄存器以及C6201的HPI。PCI总线上的数据可通过S5933的mailbox寄存器、FIFO或直通数据通道等多种方式灵活地与平台实现数据的交换,为基于主机的调试提供了良好的硬件基础。通过对整个系统的工作原理的描述中可以看出,在信号处理算法的运算速度得到保证后,整个系统的瓶颈将是C6201的DMA资源。在硬件开销允许的情况下,使用快速的外设
6、会提高系统的性能。3平台的软件设计根据上面介绍的硬件结构,可以根据不同的需要设计相应的系统软件,以下仅介绍一种可靠性较高的软件结构。鉴于TMS320C6201的高速运算能力,所以在每块芯片内部均采用线性结构,依照某种顺序依次处理各通道的信号。芯片内部的数据RAM分割出两块空间当作处理信号缓存,即用作ping-pong缓存,一块用作当前处理,一块用于后台数据搬移。处理后的数据可视占用RAM的大小,适当地安排在片内或片外,便于HPI访问。整个软件采用中断同步式控制,利用输入信号所产生的中断来触发信号处理模块的运行,中断信号可以是一帧信号的结束(
7、或开始)。其结构如图2,500)this.style.ouseg(this)">系统在进行完初始化后,立即进入同步信号等待。当检测到中断信号后,表明一帧信号接收的结束,首先关闭中断,随后进行外部存储的DMA通道设置的更新,切换输入信号的缓存。然后,检测控制内部数据搬进的DMA状态,如果搬移完成,更新DMA设置,即切换处理信号的ping-pong缓存,通知存储器接口控制单元开始搬移下一路信号的数据。如果当前处理的是最后一个通道,则内部数据搬进DMA设置为下一帧第一通道。接着进行信号处理模块,在当前通道信号处理完成后,首先设置内部数据搬出DMA
8、,将当前通道的上下文相关数据搬移到外部存储器中保存,然后再检测是否所有通道处理结束。若没有,则跳回内部数据DMA状态检测;若结束,则进行系统状态的更新。系统状态更新完成后,打开中断,进入中断信号等待。这样的结构看来不够灵活,而且仅用到了一个中断资源,似乎是大材小用了,为什么不增加DSP对外界的响应且一直打开中断呢?实际上这是有一定道理的。之所以将HPI的访问方式设置为DMA方式,而只使用一个外部中断。完全是为了让DSP将主要时间花在信号处理上,且尽可能地减少DSP被频繁的数据输入输出打断。其原因有四点:第一,为加快信号处理算法的速度,尽可能
9、地对循环进行流水线规划,CPU运行至下次时,由于跳转指令的频繁出现,根本无法相应中断;当循环次数较大时,无法保证中断的及时响应。第二,如果将循环改为可中断式的,势必造成寄存器资源
此文档下载收益归作者所有