1、一、课题研究的目的和意义: 在信号与信息解决中,提取有用信息需要对信号进行滤波。借助DSP数字信号解决器的高速运算能力,可以实时地对信号进行数字滤波。本设计规定运用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。 掌握运用DSP 实现信号实时FIR 滤波设计可使学生更加透彻的理解信号的采集方法和滤波方法。学会运用Matlab 对信号进行FIR 滤波,掌握Matlab 的信号仿真。同时通过对DSP 信号解决器及A/D、D/A 转换器以及DMA 的编程,可以培养学生C 语言编程能力以及使用DSP 硬件平台实现数字信号解决算法的能力。二、课题研究重要内容:1.基本部分:(
2、1) 掌握运用滤波器设计FIR滤波器的方法,并提取滤波器参数。(2) 掌握运用Matlab的信号解决工具箱的使用,以及运用Matlab对信号进行滤波。(3) 设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的滤波。(4) 运用C语言对A/D、D/A进行初始化。(5) 运用C语言对DMA进行初始化。(6) 编写DMA中断服务程序,实现信号的实时滤波。(7) 运用CCS信号分析工具分析信号的频谱成分,拟定滤波器的参数2.发挥部分:(1)比较加不同窗和阶数时滤波器的滤波效果。(2)测试所设计滤波器的幅频特性和相频特性,并与MATLIB下的设计结果进行比较。(3)在实验板的Line in输
3、入端接入正弦信号,分左右声道分别采集,并分别滤波。三、规定完毕的任务:(1)运用Matlab设计FIR滤波器,并对信号进行滤波。(2)掌握CCS的安装、设立,工程的建立、工程设立、编译运营和调试方法。(3)编写C语言程序实现设计规定,并在CCS集成开发环境下调试通过,实现设计所规定。的各项功能。(4)运用信号发生器产生输入信号,经DSP运算后对的地在示波器上显示。(5)按规定撰写课程设计报告。四、研究方法及技术途径:运用DSP实现对模拟信号滤波的框图 外部模拟信号先进行A/D转换,运用MCBSP的接受寄存器接受数据。运用CCS的频谱分析工具对输入信号进行频谱分析;根据频谱成分拟定滤波器参数,然
4、后运用Matlab设计FIR滤波器,将参数提取出来,存放到DSP存储区中。调用DSPLIB中的FIR滤波函数,对信号进行滤波。滤波后的数据运用DMA方式送到D/A转换器转换为模拟信号。 本设计可以分为两部分:(1) 信号仿真(a)一方面运用Matlab的fdatool工具箱设计滤波器,在sptool工具箱进行信号分析与滤波。(b)运用CCS进行信号滤波算法的仿真,即运用simulator进行仿真。调用DSPLIB库中的fir()滤波函数实现信号FIR滤波,或自行编写FIR滤波程序实现信号FIR滤波。(2) 运用Emulator,即DSP硬件板、采用DMA方式实现信号采集与传输,结合FIR滤波算
5、法,实现实时FIR滤波。五、实验背景:1.课题研究的现状: 凡是有能力进行信号解决的装置都可以称为滤波器。在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。滤波器的优劣直接决定产品的优劣,器的研究和生产历来为各国所重视。 192023美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。20世纪50年代无源滤波器日趋成熟。自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代
6、以后的主攻方向。导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90年代至现在重要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器自身的研究仍在不断进行。 我国广泛使用滤波器是50年代后期的事,当时重要用于话路滤波和报路滤波。通过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。我国现有滤波器
7、的种类和所覆盖的频率己基本上满足现有各种电信设备。从整体而言,我国有源滤波器发展比无源滤波器缓慢,尚未大量生产和应用。从下面的生产应用比例可以看出我国各类滤波器的应用情况:LC滤波器占50%;晶体滤波器占20%:机械滤波器占15%;陶瓷和声表面滤波器各占1%;其余各类滤波器共占13%。从这些应用比例来看,我国电子产品要想实现大规模集成,滤波器集成化仍然是个重要课题。 在上一个世纪中,电滤波器的发展经历了从无源到有源和从模拟到数字两个过程。高精度无源滤波器从设计到制造都是难度非常高的技术。有源滤波器虽然很大地改善了滤波器的性能,也减少了一些制造工艺的难度,但从其性能的大幅度改善,与其它信号解决技
8、术的结合,实现的手段之便捷,还是要数数字滤波器后来居上。随着电子工业的发展,对滤波器的性能规定越来越高,功能也越来越多,并且规定它们向集成方向发展。我国滤波器研制和生产与上述规定相差甚远,为缩短这个差距,电子工程和科技人员负有重大的历史责任阴。所以,对滤波器的研究和生产历来为各国所重视。2.国内外相关领域的研究:20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号解决技术应运而生,并得到了迅猛的发展。当时还没有DSP,数字信号解决只能依靠MPU来完毕。但MPU(微解决器)的速度无法满足高速实时的规定。因此数字信号解决技术多是停留在理论上,得不到广泛的应用,但这为DSP的诞生打下了基础
9、。70年代至80年代初是DSP发展的第二阶段。70年代初,有人提出了DSP的理论和算法基础。但是直到1978,世界上第一个世界上第一枚DSP才诞生,它是由1978AMI公司发布的S2811。1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个重要里程碑;1980年NEC公司推出的PD7720是第一个具有乘法器的商用DSP芯片。美国德州仪器公司Texas Instruments也于1982年推出了其第一代DSP芯片TMS32023及其系列产品,它们都是基于NMOS工艺。此时的DSP运营速度较以前的MPU有了较大的提高,但由于制造工艺所限,体积和功耗都比较大,内部资源较少,且
10、价格昂贵。80年代中期直到现在是DSP得到了蓬勃发展并广泛应用的时期。80年代中期,随着大规模集成电路技术特别是CMOS技术的发展,基于CMOS工艺的DSP应运而生,体积功耗都大大减少,而存储容量和运算速度都得到成倍提高,成为语音解决、图像硬件解决技术的基础;80年代后期,DSP运算速度进一步提高,应用范围逐步扩大到通信、计算机领域。90年代直到现在,DSP发展最快,此时的DSP集成度极高,体积、功耗进一步减少,内部资源更是成倍增长,而价格却进一步下降。此时,DSP芯片不仅在通信、计算机领域大显身手,并且已扩大到人们的学习、工作和生活的各个方面。生产DSP 器件的公司也不断壮大,目前,市场占有
11、率前四名依次为:Texas Instruments、 Lucent 、Analog Device、Motorola。在所有生产DSP的公司中,TI可谓一枝独秀,它是世界上最大的DSP供应商,TI系列的DSP也是公认的最成功的DSP。其DSP市场份额占全世界份额近50%。其产品覆盖了高、中、低端几乎所以市场,广泛应用于各种领域。自从在1982年成功推出了其第一代DSP TMS32023及其系列产品TMS32023、TMS320C10/C14/C15等,TI相继推出了第二代DSP TMS32023、TMS320C25/C26/C28,第三代DSP TMS320C30/C31/C32,第四代DSP
12、TMS320C40/C44,第五代DSP TMS3205X/C54X/C55X及目前速度最快的第六代DSP TMS320C62X/C67X等等。DSP器件应用面从起初的局限于军工,航空航天等军事领域,扩展到今天的诸多电子行业及消费类电子产品中。在TI公司的 DSP 产品中C1X、C2X、C2XX、C5XX、C54X、C62X等系列是定点运算指令系统的DSP;C3X、C4X、C67X等系列是浮点运算指令系统的DSP;AV7100、AV7110等系列是用于视频、音频领域的专用数字压缩产品。六、实验原理:1.DSP:一个典型的 DSP 系统如下图所示:该图是一个用DSP做信号解决的典型框图。由于DS
13、P是用来对数字信号进行解决的,所以一方面必须将输入的模拟信号变换为数字信号。于是先对输入模拟信号进行调整,输出的模拟信号通过A/D变换后变成DSP可以解决的数字信号,DSP根据实际需要对其进行相应的解决,如FFT、卷积等;解决得到的结果仍然是数字信号,可以直接通过相应通信接口将它传输出去,或者对它进行D/A变换将其转换为模拟采样值,最后再通过内插和平滑滤波就得到了连续的模拟波形模拟信号。当然,图中的有些环节并不是必需的。如A/D转换,假如输入的是数字信号,就可以直接交给DSP进行运算。由于数字信号解决系统是以数字信号解决理论为基础,所以具有数字信号解决的所有优点:(1)接口方便 DSP 系统与
14、其它以数字技术为基础的系统或设备都是互相兼容的,比模拟系统与这些系统接口要容易的多。(2)编程方便 DSP 系统中的可编程DSP芯片可以使设计人员在开发过程中灵活方便的进行修改和升级,可以将C语言与汇编语言结合使用。(3)具有高速性 DSP系统的运营较高,最新的DSP芯片运营速度高达10GMIPS以上。(4)稳定性好DSP 系统以数字解决为基础, 受周边环境,如噪声、温度等的影响小、可靠性高;(5)精度高 例如16位数字系统可以达成10-5的精度;(6)可反复性好 模拟系统的性能受元件参数性能变化影响大,而数字系统基本不受影响,更便于测试、调试和大规模生产。(7)集成方便 DSP系统中的数字部
15、件有高度的规范性,便于大规模生产。当然DSP也存在一定的缺陷。例如,对于一些简朴的信号解决任务,如与模拟互换线的电话接口,若采用DSP则使成本增长。此外,DSP 系统中的高速时钟通常在几十兆赫,也许带来高频干扰和电磁泄漏等问题, 并且DSP 的功率消耗在系统中也是较大的。此外,DSP技术发展得不久,数学知识规定多,开发和调试工具还很不完善。虽然DSP系统还存在一些缺陷,但是随着近两年来 DSP 技术突飞猛进的发展,成本的下降,很多问题都得到了缓解。其突出的优点已经使其在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。2.DMA技术: 直接存储器访问(Dire
16、ct Memory Access,简称DMA)是C55x DSP非常重要的片上外设,DMA控制器可以在不影响CPU的情况下完毕数据的传输,因此数据传输速度快,在规定信号实时采集和解决的系统中常采用DMA方式进行信号采集与传输。TMS320C5502有6个可独立编程的DMA通道,每个DMA通道受各自的5个16位寄存器控制:源地址寄存器DMSRC、目的地址寄存器DMDST、单元计数寄存器DMCTR、同步事件和帧计数寄存器DMSFC、发送模式控制寄存器DMMCR。此外,DMA的6个通道还受通道优先级和使能控制寄存器DMPREC控制。 DMA是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读
17、写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为“DMA控制器”的控制下进行。CPU除了在数据传输开始和结束时做一点解决外,在传输过程中还可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处在并行操作,因此使整个计算机系统的效率大大提高。DMA是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量中断负载,否则,CPU 需要历来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方,在这个时间中,CPU对于其他的工作来说就无法使用。DMA传输将数据从一个地址空间复制到此外一个地址空间,当CPU初始化这个传输动作,传输动作自身
18、是由DMA控制器来实行和完毕。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让解决器工作迟延,反而可以被重新排程去解决其他的工作。DMA 传输对于高效能嵌入式系统算法和网络是很重要的。一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据), 它会先向CPU发送DMA请求信号。外设通过DMA的一种专门接口电路DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控
19、制器的管理下,外设和存储器直接进行数据互换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。实现DMA传送的基本操作如下:1、外设可通过DMA控制器向CPU发出DMA请求;2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;3、由DMA控制器发送存储器地址,并决定传送数据块的长度;4、执行DMA传送;5、DMA操作结束,并把总线控制权交还CPU。DMA方式重要合用于一些高速的I/O设备。这些设备传输字节或字的速度非常快。对于这类高速I/O设备,假如用输入输出指令或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也
20、容易导致数据的丢失。而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。3.FIR低通滤波器:假设数字滤波器的频率响应函数H用下式表达:幅频特性表达信号通过该滤波器后各频率成分振幅衰减情况,而相频特性反映各频率成分通过滤波器后在时间上的延时情况。一般选频滤波器的技术规定由幅频特性给出,其相频特性是拟定的,所以在设计过程中,对相频特性一般不作规定。在低通滤波器的幅频特性中,Wp和Ws分别称为通带边界频率和阻带截止频率。从Wp到Ws称为过渡带,过渡带上的频响一半是单调下降的。当冲击响应满足下列条件时,FIR滤波器具有对称结构,为线性相位滤波器:这种对称性,可使得乘法器数量减半:对n价滤波
21、器,当n为偶数时,乘法器的个数为n/2个;当n为奇数时,乘法器的个数为(n+1)/2个。在电路实现中,乘法器占用的逻辑单元数较多。乘法器的增长,意味着电路成本增长,此外对电路的工作速度也有影响。在DSP的应用中,可以应用Matlab的滤波器设计工具箱fdatool工具箱生成需要的FIR滤波器,在生成C文献,提取出相应的滤波数据,应用CCS来调用这些数据,从而应用DSP产生信号的滤波效果,这样就实现了FIR的低通滤波效果。在信号解决中,滤波占有十分重要的地位。数字滤波是数字信号解决的基本方法。数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足
22、滤波器对幅度和相位的严格规定。低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,由于FIR系统只有零点,因此,系统总是稳定的,并且容易实现线性相位和允许实现多通道滤波器。DSP(数字信号解决器)与一般的微解决器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号解决问题提供了便利,本文选用TMS320C54X作为DSP解决芯片,通过对其编程来实现FIR滤波器。对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。但是FIR系统有自己突出的优
23、点:系统总是稳定的;易实现线性相位;允许设计多通带(阻带)滤波器。其中后两项是IIR系统不易实现的。设a i(i=0,1,2,N-1)为滤波器的冲激响应,输入信号为x(n),则FIR滤波器的输入输出关系为:FIR滤波器的结构如下图所示:4. 乒乓操作: 输入数据流通过“输入数据选择单元”将数据流等时分派到两个数据缓冲区,数据缓冲模块可认为任何存储模块,比较常用的存储单元为双口 RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。在第一个缓冲周期,将输入的数据流缓存到“数据缓冲模块1”;在第2个缓冲周期,通过“输入数据选择单元”的切换,将输入的数据流缓存到“数据缓冲模块2”,同时将“数据
24、缓冲模块1”缓存的第1个周期数据通过“输出数据选择单元”的选择,送到 “数据流运算解决模块”进行运算解决;在第3个缓冲周期通过“输入数据选择单元”的再次切换,将输入的数据流缓存到“数据缓冲模块1”,同时将“数据缓冲模块2”缓存的第2个周期的数据通过“输出数据选择单元”切换,送到“数据流运算解决模块”进行运算解决。如此循环。 通过“输入数据选择单元”和“输出数据选择单元”按节拍、互相配合的切换,将通过缓冲的数据流没有停顿地送到“数据流运算解决模块”进行运算与解决。把乒乓操作模块当做一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水
25、线式处 理。所以乒乓操作经常应用于流水线式算法,完毕数据的无缝缓冲与解决。 通过乒乓操作实现低速模块解决高速数据的实质是:通过DPRAM这种缓存单元实现了数据流的串并转换,并行用“数据预解决模块1”和“数据预解决模块2”解决分流的数据,是面积与速度互换原则的体现。七、 实验流程:1.一方面运用Matlab的fdatool工具箱设计滤波器,在sptool工具箱进行信号分析与滤波:Matlab编程,产生题所规定的数字信号k=0:255;%取256点数据a=sin(2*pi*k*2023/32023);b=sin(2*pi*k*2023/32023)+ sin(2*pi*k*12023/32023)
26、;2.运用CCS进行工程打开、编译链接、装载、运营:3. 运用信号发生器产生输入信号,经DSP运算后对的地在示波器上显示:4. 变量观测、图形观测:输入时域、频域:输出时域、频域:噪声时域、频域:5. 比较加不同窗和阶数时滤波器的滤波效果:HammingHannBlackman七、实验程序:/* 运用DSP实现实时信号FIR滤波 */ /*main_dma4.c*/#include #include #include #include #include #include #include #include #include #include #include 5502_FLASH.h#incl
27、ude E2PROM_Function.h#include CODEC.h#include #include #include #include fir.h/-Global data definition-/* Constants for the buffered ping-pong transfer */#define BUFFSIZE 96#define PING 0#define PONG 1/* * Data buffer declarations - the program uses four logical buffers of size * BUFFSIZE, one ping
28、and one pong buffer on both receive and transmit sides. */#pragma DATA_SECTION (gBufferXmtPing, buffer_sect);Int16 gBufferXmtPingBUFFSIZE; / Transmit PING buffer#pragma DATA_SECTION (gBufferXmtPong, buffer_sect);Int16 gBufferXmtPongBUFFSIZE; / Transmit PONG buffer#pragma DATA_SECTION (gBufferRcvPing
29、, buffer_sect);Int16 gBufferRcvPingBUFFSIZE; / Receive PING buffer#pragma DATA_SECTION (gBufferRcvPong, buffer_sect);Int16 gBufferRcvPongBUFFSIZE; / Receive PONG bufferDATA *dbptr = &db0;DATA *dbptrx = &dbx0;/*-*/ Config McBSP: Use McBSP to send and receive the data between DSP and AIC23B/*-*/MCBSP_
30、Config Mcbsp1Config = MCBSP_SPCR1_RMK( MCBSP_SPCR1_DLB_OFF, / DLB = 0 MCBSP_SPCR1_RJUST_LZF, / RJUST = 0,right justify the data and zero fill the MSBs MCBSP_SPCR1_CLKSTP_DISABLE, / CLKSTP = 0 MCBSP_SPCR1_DXENA_ON, / DXENA = 1,DX delay enabler on 0, / Reserved = 0 MCBSP_SPCR1_RINTM_RRDY, / RINTM = 0
31、MCBSP_SPCR1_RSYNCERR_NO, / RSYNCER = 0 / MCBSP_SPCR1_RFULL_NO, / RFULL = 0 / MCBSP_SPCR1_RRDY_NO, / RRDY = 0 MCBSP_SPCR1_RRST_DISABLE / RRST = 0; Disable receiver ), MCBSP_SPCR2_RMK( MCBSP_SPCR2_FREE_NO, / FREE = 0 MCBSP_SPCR2_SOFT_NO, / SOFT = 0 MCBSP_SPCR2_FRST_FSG, / FRST = 1 ; Enable the frame-s
32、ync logic MCBSP_SPCR2_GRST_CLKG, / GRST = 1 ; The sample rate generator is take out of its reset state MCBSP_SPCR2_XINTM_XRDY, / XINTM = 0 MCBSP_SPCR2_XSYNCERR_NO, / XSYNCER =0 / MCBSP_SPCR2_XEMPTY_NO, / XEMPTY = 0 / MCBSP_SPCR2_XRDY_NO, / XRDY = 0 MCBSP_SPCR2_XRST_DISABLE / XRST = 0 Disable transim
33、itter ), / 单数据相,接受数据长度为16位,每相2个数据 MCBSP_RCR1_RMK( MCBSP_RCR1_RFRLEN1_OF(1), / RFRLEN1 = 1 MCBSP_RCR1_RWDLEN1_16BIT / RWDLEN1 = 2 ), MCBSP_RCR2_RMK( MCBSP_RCR2_RPHASE_SINGLE, / RPHASE = 0 MCBSP_RCR2_RFRLEN2_OF(0), / RFRLEN2 = 0 MCBSP_RCR2_RWDLEN2_8BIT, / RWDLEN2 = 0 MCBSP_RCR2_RCOMPAND_MSB, / RCOMPAN
34、D = 0 No companding,any size data, MSB received first MCBSP_RCR2_RFIG_YES, / RFIG = 1 Frame-sync ignore MCBSP_RCR2_RDATDLY_1BIT / RDATDLY = 1 1-bit data delay ), MCBSP_XCR1_RMK( MCBSP_XCR1_XFRLEN1_OF(1), / XFRLEN1 = 1 MCBSP_XCR1_XWDLEN1_16BIT / XWDLEN1 = 2 ), MCBSP_XCR2_RMK( MCBSP_XCR2_XPHASE_SINGLE
35、, / XPHASE = 0 MCBSP_XCR2_XFRLEN2_OF(0), / XFRLEN2 = 0 MCBSP_XCR2_XWDLEN2_8BIT, / XWDLEN2 = 0 MCBSP_XCR2_XCOMPAND_MSB, / XCOMPAND = 0 MCBSP_XCR2_XFIG_YES, / XFIG = 1 Unexpected Frame-sync ignore MCBSP_XCR2_XDATDLY_1BIT / XDATDLY = 1 1-bit data delay ), MCBSP_SRGR1_DEFAULT, MCBSP_SRGR2_DEFAULT, MCBSP
36、_MCR1_DEFAULT, MCBSP_MCR2_DEFAULT, MCBSP_PCR_RMK( / MCBSP_PCR_IDLEEN_RESET, / IDLEEN = 0 MCBSP_PCR_XIOEN_SP, / XIOEN = 0 MCBSP_PCR_RIOEN_SP, / RIOEN = 0 MCBSP_PCR_FSXM_EXTERNAL, / FSXM = 0 Tranmit frame-syn is provided by AIC23B MCBSP_PCR_FSRM_EXTERNAL, / FSRM = 0 Receive frame-syn is provided by AI
37、C23B MCBSP_PCR_CLKXM_INPUT, / CLKR is input MCBSP_PCR_CLKRM_INPUT, / CLKX is input MCBSP_PCR_SCLKME_NO, / SCLKME=0 CLKG is taken from the McBSP internal input clock / MCBSP_PCR_CLKSSTAT_0, / The signal on the CLKS pin is low MCBSP_PCR_DXSTAT_0, / Drive the signal on the DX pin low / MCBSP_PCR_DRSTAT
38、_0, / The signal on the DR pin is low MCBSP_PCR_FSXP_ACTIVEHIGH, / FSXP = 1 Because a falling edge on LRCIN or LRCOUT starts data transfer MCBSP_PCR_FSRP_ACTIVELOW, / FSRP = 1 MCBSP_PCR_CLKXP_FALLING, / CLKXP = 1 The falling edge of BCLK starts data transfer MCBSP_PCR_CLKRP_RISING / CLKRP = 1 ), MCB
39、SP_RCERA_DEFAULT, MCBSP_RCERB_DEFAULT, MCBSP_RCERC_DEFAULT, MCBSP_RCERD_DEFAULT, MCBSP_RCERE_DEFAULT, MCBSP_RCERF_DEFAULT, MCBSP_RCERG_DEFAULT, MCBSP_RCERH_DEFAULT, MCBSP_XCERA_DEFAULT, MCBSP_XCERB_DEFAULT, MCBSP_XCERC_DEFAULT, MCBSP_XCERD_DEFAULT, MCBSP_XCERE_DEFAULT, MCBSP_XCERF_DEFAULT, MCBSP_XCE
40、RG_DEFAULT, MCBSP_XCERH_DEFAULT ; DMA_Config dmaRcvConfig = DMA_DMACSDP_RMK( DMA_DMACSDP_DSTBEN_NOBURST, DMA_DMACSDP_DSTPACK_OFF, DMA_DMACSDP_DST_DARAMPORT1, DMA_DMACSDP_SRCBEN_NOBURST, DMA_DMACSDP_SRCPACK_OFF, DMA_DMACSDP_SRC_PERIPH, DMA_DMACSDP_DATATYPE_16BIT ), /* DMACSDP */ DMA_DMACCR_RMK( DMA_D
41、MACCR_DSTAMODE_POSTINC, DMA_DMACCR_SRCAMODE_CONST, DMA_DMACCR_ENDPROG_OFF,/* ENDPROG OFF */ DMA_DMACCR_WP_DEFAULT, DMA_DMACCR_REPEAT_OFF, DMA_DMACCR_AUTOINIT_ON,/* AUTOINIT ON */ DMA_DMACCR_EN_STOP, DMA_DMACCR_PRIO_LOW, DMA_DMACCR_FS_DISABLE, DMA_DMACCR_SYNC_REVT1 ), /* DMACCR */ DMA_DMACICR_RMK( DM
42、A_DMACICR_AERRIE_ON, DMA_DMACICR_BLOCKIE_OFF, DMA_DMACICR_LASTIE_OFF, DMA_DMACICR_FRAMEIE_ON, DMA_DMACICR_FIRSTHALFIE_OFF, DMA_DMACICR_DROPIE_OFF, DMA_DMACICR_TIMEOUTIE_OFF ), /* DMACICR */ (DMA_AdrPtr)(MCBSP_ADDR(DRR11), /* DMACSSAL */ 0, /* DMACSSAU */NULL, /* DMACDSAL, to be loaded by submit */ 0, /* DMACDSAU */ BUFFSIZE, /* DMACEN */ 1, /* DMACFN */ 0,