基于麦克风阵列的信号采集处理系统设计
CY7C68001除了存储器接口外,还有1个中断信号和4个状态信号。中断信号采用TMS320C6713的外部中断EXT_INT6。
TMS320C6713使用CY7C68001作为从设备。在这种模式下,DSP可以像读/写普通FIFO一样对CY7C68001内部的FIFO进行读/写。PC主机发出命令的同时也由CY7C68001 的引脚提供中断触发信号给DSP的EXT_INT6。其上升沿被检测到后,DSP就进入相应中断服务程序,开始处理USB的传输。DSP通过EA[4:2]连接FIFOA[2:0]对CY7C68001内部FIFO或命令口进行选择。读/写数据通过ED[15:0]与FIFO[15:0]连接进行。FIFO和命令口的选择和地址分配如表1所示。
经实验验证,USB异步传输速率可达3 Mbit·s-1,满足系统需求。
1.6 PC机平台
DSP数据处理模块通过USB接口与PC机相连,通过CY7C68001芯片,将前端采集的数据传输到PC机,方便对数据的进一步处理。
2 程序设计
2.1 McASP接口程序设计
定义了4个寄存器组:全局寄存器组globalRegs、发送寄存器组xmtRegs、接收寄存器组mvRegs和串行化器控制寄存器组srctlRegs。通过这4个寄存器组,对McASP1的PFUNC,PDIR,SRCTL,RFMT,AFSRCTL,ACLKRCTL及AHCLKRCTL等寄存器进行设置。各寄存器组所包含的主要寄存器情况如表2所示。
依据PCM4204的I2S数据格式,将接收帧同步信号的宽度定为32 bit,接收延迟设置为1个delay;AXR[0]~AXR[7]设置为接收模式。
通过以下函数,完成对McASP1接口的配置
2.2 EDMA传输程序设计
为保证数据的完整性,选用Ping-Pong模式对EDMA传输进行配置,Ping缓存存放如表3所示,Pong缓存与Ping缓存结构相同。
依据Ping、Pong缓存数据格式,对EDMA接收进行配置,即对:EDMA的opt,src,cnt,dst,idx,及rld寄存器分别进行设置。通过opt寄存器设置数据长度为32 bit,源数据和目的数据为一维方式,源地址固定,目的地址采用索引,启用帧同步等。源地址和目的地址分别写入src,dst寄存器。cnt寄存器主要用于配置帧计数和单元计数。由于采用I2S的数据格式,所以1帧数据只包含2个单元数据。通过配置idex及rld寄存器,目的数据可以按照设定的索引方式存储。
2.3 DSP端OSB接口程序设计
首先,通过调用用户的初始化函数,使能外部中断并初始化USB寄存器。之后,程序通过数据传输函数,完成DSP与PC机的数据传输。
USB初始化程序配置如下:
(1)使能外部中断6(EXT_INT6)。
(2)加载USB描述表,并进行自举检测,如自举不成功,则重新自举,直到端点0收到设置包为止。
(3)配置USB为异步从FIFO(Asynchronous SlaveFIFO)模式,采用内部48 MHz时钟源。
(4)读取FNADDR寄存器,判断USB工作状态。
(5)依据USB工作状态,配置EP2、EP4、EP6、EP8,并设置一次传送的Byte长度。设置EP2、EP4为BULK OUT,EP6、EP8为BULK IN,其缓冲大小分别为2×512 Byte。
在数据传输过程中,PC端通过EP2向DSP发送读数据命令,DSP通过外部中断收到读命令后,使用EP6发送已采集好的数据。在声音数据采集系统中,每路麦克风以96 kHz进行24位采样,按照ping-pong方式进行存储。在传输过程中还需进行判断,当采集数据存储在ping缓存时,发送pong缓存中的数据,当采集数据存储在pong缓存时,发送ping缓存的数据。
由于TMS320C6713通过EMIF的CE3存储空间可以外扩USB2.0接口,需对EMIF接口的CE3寄存器进行配置,将USB接口设为16位异步存储接口,设定读/写的建立时间(Setup)、促发时间(Strobe)、保持时间,使其满足CY7C68001的读/写时序要求。
2.4 PC机平台应用程序设计
PC端接口程序采用VC++6.0编写,首先调用OpenDriver()打开USB接口设备,获得设备的句柄hDevice,之后调用Sx2SendVendorReq()函数向外设发出命令,读取USB配置,最后调用Sx2BulkdataTrans()进行数据传输,通过调用CFile类将接收到的数据存放在文本文件中。程序使用多线程技术,使得应用程序将USB数据传输在后台进行处理,应用程序前台还可进行其他操作。
3 结束语
设计了16通道麦克风阵列采集处理平台,并通过外扩USB芯片与PC主机端进行数据传输,可使用户方便地在PC端进行数据处理。该系统采样数据量大、同步性强、精确度高、传输速率快、可靠性好,方便为各种麦克风阵列算法提供原始数据。
- 更快进行原型开发的八个技术考虑(07-28)
- 基于虚拟仪器LabVIEW的网络虚拟实验室系统设计(10-04)
- 基于射频技术的无线识别系统设计 (10-04)
- 基于单片机PIC18F1320的信号采集系统设计方案(06-01)
- 精轧机轴瓦温度在线监测系统的设计改造(02-06)
- 谈将示波器用于高速数字系统设计与调试(01-06)