基于DSP的信号采集处理系统
时间:07-21
来源:作者:丁锋,董 晖
点击:
从图中可以看出,信号采集处理系统的核心部分是TMS320C6205的DSP处理器,该DSP除了担负信号处理任务外,还担负着接收数据和输出处理结果两项任务。信号采集处理系统中的FPGA主要担负数据采集和控制信号生成两项任务。该系统的设计针对的是接收机解调后输出的TCL电平的数字信号,因此数据采集部分比较简单,就是将数据的时钟作为触发信号,根据触发时刻的数据电平值来确定输入数据是"0"还是"1",采集后的数据在FPGA内按照McBSP的数据规格成帧,然后通过McBSP写入SDRAM中。该系统可以同时采集两路数字信号,在采集电路与DSP之间通过DMA方式交换数据,由于DSP中有专门的DMA控制器,因此在数据交换时无需DSP干预,具有较高的处理效率。DSP所需的摔制信号也由FPGA产生,由于数据采集部分比较简单,控制信号产生和数据采集可以共用同一片FPCA。DSP通过PC接口模块与主机之间进行数据交换,由于PCI接口模块具有完整的PCI接口功能,无需额外添加外部电路,因此接口部分的电路设计相对来说比较简单。DSP与工控机进行数据交换时采用主从方式,DSP为主设备,工控机为从设备,两者之间利用中断响应进行数据通信,当DSP内部的输出数据缓冲区被写满后,会发送一个中断请求到主机的PCI总线上,PCI总线驱动程序响应该中断并通过Windows的事件(Event)通知主机软件读出数据。为了扩充DSP的存储空间,使DSP能满足大速率信号的处理要求,信号采集处弹系统上集成了一片大容量存储器,即SDRAM,具有较高的数据存取速度。信号采集处理系统上的Flash存储器主要用来存储DSP软件,可通过PCI总线在主机端动态加载,这样该信号采集处理系统就可根据不同的输人数据进行不同处理,大大增加了系统使用时的灵活性。该系统还包括时钟电路和电源电路,这些电路可以参照技术手册的要求进行设计,电源电路可选用现成的电源模块,这样就可进一步降低电路设计难度。从总体上看,采用TMS320C6205构成的信号采集处理系统由于省去了额外的PCI接口电路,整个系统设计较简洁,开发难度低,开发周期短,是一种较理想的硬件设计方法。
3 基于DSP/BIOSⅡ的实时信号处理技术
信号采集处理系统中的DSP不但要实现高速信号处理,还需要处理数据的输入输出和中断请求,这都要用到基本的任务调度和输入输出服务,DSP/BIOS实时基础软件提供了一个小的具有基小运行服务的固件核,开发者可以把这个核嵌入目标DSP中。DSP/BIOSⅡ是性能得到提升的第2代实时基础软件,利用该软件可以缩短实时信号处理软件的开发时间,并且可以显著提高代码的可重用性。
基于DSP/BIOSⅡ使信号处理技术实现起来比较简单,整个配置过程都可以利用一个图形化的界面来实现。首先,新建一个DSP/BIOS的配置文件,然后在"Syetem"文件夹下选择"MEM",也就是存储区管理模块,在该模块增加两个新的MEM项,分别对应信号采集处理系统的SDRAM和Flash存储器,设置好SDRAM和Flash存储器的基地址和长度,至此片外存储区的设置就全部完成了。由于DSP和数据采集部分通过McBSP交换数据,因此还需要对McBSP行设置。找到"CSL"也就是芯片支持库文件夹,在McBSP选项下的McBSP配置管理(MsBSP ConfigurationManager)增加两个新的McBSP的配置控制项,这两个控制项分别对应McBSP0和McBSP1,然后设定这两个配置项的参数,最关键的是接收模式和输出模式的设置,接收和输出均采用无压扩的LSB方式,对于有压扩的话音数据,可以根据需要选择μ律或A律压扩,这样在数据读写的同时,利用DSP硬件也就完成了μ律或A律压扩。McBSP可以实现数据的双向传输,在本系统中只是从数据采集部分读人数据,没有用到其双向数据传输功能。实际上,利用其双向数据传输功能,结合μ律或A律可以很方便地实现话音的实时处理。所有配置都设置完后,将配置文件存盘加入当前工程,整个基于DSP/BIOS的配置便完成,在中断响应函数配合下,就可实现整个实时处理软件的开发。
实时处理软件的数据流如图2所示。从图中可以看出,数据从McBSP通过DMA方式写入SDRAM输入缓冲区,整个输入缓冲区划分成若干片,数据处理部分按片进行处理,由于McBSP写入的数据片与DSP处理的数据片不是同一个数据片,数据处理和数据写入就可以同时进行,这是保证数据实时处理的一个关键。显然,所分数据片数越多,可以有越长的处理时间,越适合进行一些复杂的算法,这样要付出的代价就是输出延时比较长,同时需要大的DSP片外存储空间。数据处理后的结果存放在输出缓冲区,输出缓冲区的大小与输入相同,当输出缓冲区写满后,触发PCI总线中断处理函数,把处理后的结果通过PCI总线写到主机缓冲区,主机程序从该缓冲区将数据读出,存储到计算机硬盘上的制定文件中。
3 基于DSP/BIOSⅡ的实时信号处理技术
信号采集处理系统中的DSP不但要实现高速信号处理,还需要处理数据的输入输出和中断请求,这都要用到基本的任务调度和输入输出服务,DSP/BIOS实时基础软件提供了一个小的具有基小运行服务的固件核,开发者可以把这个核嵌入目标DSP中。DSP/BIOSⅡ是性能得到提升的第2代实时基础软件,利用该软件可以缩短实时信号处理软件的开发时间,并且可以显著提高代码的可重用性。
基于DSP/BIOSⅡ使信号处理技术实现起来比较简单,整个配置过程都可以利用一个图形化的界面来实现。首先,新建一个DSP/BIOS的配置文件,然后在"Syetem"文件夹下选择"MEM",也就是存储区管理模块,在该模块增加两个新的MEM项,分别对应信号采集处理系统的SDRAM和Flash存储器,设置好SDRAM和Flash存储器的基地址和长度,至此片外存储区的设置就全部完成了。由于DSP和数据采集部分通过McBSP交换数据,因此还需要对McBSP行设置。找到"CSL"也就是芯片支持库文件夹,在McBSP选项下的McBSP配置管理(MsBSP ConfigurationManager)增加两个新的McBSP的配置控制项,这两个控制项分别对应McBSP0和McBSP1,然后设定这两个配置项的参数,最关键的是接收模式和输出模式的设置,接收和输出均采用无压扩的LSB方式,对于有压扩的话音数据,可以根据需要选择μ律或A律压扩,这样在数据读写的同时,利用DSP硬件也就完成了μ律或A律压扩。McBSP可以实现数据的双向传输,在本系统中只是从数据采集部分读人数据,没有用到其双向数据传输功能。实际上,利用其双向数据传输功能,结合μ律或A律可以很方便地实现话音的实时处理。所有配置都设置完后,将配置文件存盘加入当前工程,整个基于DSP/BIOS的配置便完成,在中断响应函数配合下,就可实现整个实时处理软件的开发。
实时处理软件的数据流如图2所示。从图中可以看出,数据从McBSP通过DMA方式写入SDRAM输入缓冲区,整个输入缓冲区划分成若干片,数据处理部分按片进行处理,由于McBSP写入的数据片与DSP处理的数据片不是同一个数据片,数据处理和数据写入就可以同时进行,这是保证数据实时处理的一个关键。显然,所分数据片数越多,可以有越长的处理时间,越适合进行一些复杂的算法,这样要付出的代价就是输出延时比较长,同时需要大的DSP片外存储空间。数据处理后的结果存放在输出缓冲区,输出缓冲区的大小与输入相同,当输出缓冲区写满后,触发PCI总线中断处理函数,把处理后的结果通过PCI总线写到主机缓冲区,主机程序从该缓冲区将数据读出,存储到计算机硬盘上的制定文件中。
DSP TMS320C6205 FPGA 信号采集 处理器 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)