DSP课设——tcpip传输_第1页
DSP课设——tcpip传输_第2页
DSP课设——tcpip传输_第3页
DSP课设——tcpip传输_第4页
DSP课设——tcpip传输_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP课 设 报 告实验名称:TCP/IP数据传输实验日期:20130628姓 名: 2013年DSP实验报告一、实验目的本课程设计是在学完DSP技术和数字信号处理之后,综合利用所学DSP知识完成一个DSP应用系统设计并在实验室实现。该课程设计的主要任务是通过解决一个实际问题,巩固和加深所学的理论知识和实验能力,为以后从事生产和科研工作打下一定的基础。主要目的如下:1、 巩固所学理论知识,了解DSP的开发方法;2、 通过试验培养我们查阅资料的能力、阅读英文资料的能力、编程能力;3、 巩固所学数字信号处理理论;4、 培养我们学生的团队合作能力。 本课程设计要求如下:1、将一段歌曲利用TCP/IP

2、传输到开发板;2、利用开发板的音频DA播放该音乐;3、利用开发板的资源,拓展功能。二、实验背景:网络传输是数据采集的一种重要形式,具有很多其它传输方式没有的特点,例如接线简单,数据快。TCP/IP网络传输数据的优势如下:(1)不受操作系统,上位机软件限制;(2)不需要专用的驱动,使用简单;(3)编程使用方便;(4)可以远距离传输,可以外置,可以无限扩展。整个系统以一片高性能的DSP芯片TMS320F2812为核心,通过RTL8019AS与以太网互连的接口方法,管理系统的运行并完成数字信号处理功能。将要转换的歌曲转换成wav格式音频源文件植入程序中,将每个数据进行TCP/IP封装成数据包后通过网

3、口传送,存入缓存中,再将芯片收到并转换后的数据存入SRAM中。通过McBPS将数据传输至TLV320AIC23中,产生中断后进行D/A转换,实现音乐的播放。1、 RTL8019AS芯片介绍RTL8019AS是台湾REALTEK公司设计开发的一种高集成度的全双工以太网控制芯片,其主要性能有:(l)适应于Ethernet和IEEE802.3,支持10Bases、10BaseZ、1OBase; (2)支持8位或16位数据总线,与NEZOOO标准相兼容;(3)内置SRAM,用于收发缓冲,可降低对主处理器的速度要求;(4)可连接同轴电缆和双绞线,并能自动检测所连接的介质;(5)100脚TQFP封装,缩小

4、PCB尺寸;具有睡眠模式,以降低功耗;(6)全双工,收发可同时达10MbPs,极大地避免了由于CSMA/CD协议本身可能造成的信道内容冲突。RTL8019AS的内部有一块双端口的16K字节RAM,共两套总线连结到该RAM,一套是网卡控制器读/写网卡上的RAM,又叫本地DMA;另一套是DSP读/写网卡上的RAM,又叫远程DMA。本地DMA完成控制器与网线的本地DMA完成控制器与网线的数据交换,远程DMA完成DSP和RAM间的数据传输,主处理器收发数据只需对远程DMA操作。当主处理器要向网上发送数据时,先将一帧数据通过远程DMA通道送到8019AS中的发送缓存区,然后发出传送命令。RTL8019A

5、S在完成上一帧的发送后,再完成此帧的发送RTL8019AS接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区,收满一帧后,以中断或寄存器标志的方式通知主处理器。2、 TLV320AIC23芯片介绍 TLV320AIC23是TI公司推出的一款高性能立体声音频编解码器,内置耳机输出放大器,支持mic和line in二选一的输入方式。输入和输出都具有可编程的增益调节功能。TLV320AIC23的模数转换器(ADC)和数,模转换器(DAC)集成在芯片内部采用先进的一过采样技术可以在8kHz至96kHz的采样率下提供16bit、20bit、24bit和32bit的采样数据。ADC和DAC

6、的输出信噪比分别可达90dB和100dB。同时。TLV320AIC23还具有很低的功耗(回放模式为23mW。节电模式为15w)。上述优点使得TLV320AIC23成为一款非常理想的音频编解码器,与TI的DSP系列相配合更是相得益彰。三、实验内容和步骤实验步骤如下:1.基于TCP/IP协议的数据传输,测试RTL8019AS的传输功能。通过testtcp软件发送数据,检查是否准确接收。2.使用matlab软件进行音乐解码,生成十六进制音频源文件3.将音频数据导入程序,通过DSP实现网卡芯片和PC的TCP/IP数据传输,数据暂存至SRAM中4.设置传输速率,使用DSP实时读取数据,逐次传入TLV32

7、0AIC23,采用中断方式接收,并直接进行DA转换,播放音乐流程图如下所示: 初始化系统 初始化8019 初始化PIE 关中断接收数据复位8019开 始 初始化:CPU频率,AIC23 TCP/IP数据保存于缓存区调用解码函数生成声音数 中断开始 声音数据输出至McBSP0等待McBSP通道0传送结束McBSP产生中断?NY1、数据传输部分图表 1数据传输的系统框图1.初始化RTL8019AS初始化页0与页1的相关寄存器,页2的寄存器是只读的,不可以设置,页3的寄存器不是NE2000兼容的,不用设置。(1)CR=0x21,选择页0的寄存器;(2)TPSR=0x45,发送页的起始页地址,初始化为

8、指向第一个发送缓冲区的页即0x40;(3)PSTART=0x4c,PSTOP=0x80,构造缓冲环:0x4c0x80;(4)BNRY=0x4c,设置指针;(5)RCR=0xcc,设置接收配置寄存器,使用接收缓冲区,仅接收自己地址的数据包(以及广播地址数据包)和多点播送地址包,小于64字节的包丢弃,校验错的数据包不接收;(6)TCR=0xe0,设置发送配置寄存器,启用CRC自动生成和自动校验,工作在正常模式;(7)DCR=0xc8,设置数据配置寄存器,使用FIFO缓存,普通模式,8位数据DMA;(8)IMR=0x00,设置中断屏蔽寄存器,屏蔽所有中断;(9)CR=0x61,选择页1的寄存器;(1

9、0)CURR=0x4d,CURR是RTL8019AS写内存的指针,指向当前正在写的页的下一页,初始化时指和0x4c+1=0x4d;(11)设置多址寄存器MAR0MAR5,均设置为0x00;(12)设置网卡地址寄存器PAR0PAR5;(13)CR=0x22,选择页1的寄存器,进入正常工作状态。2.发送帧将待发送的数据按帧格式封装,通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令,完成帧的发送。需要设置以太网目的地址、以太网源地址、协议类型,再按所设置的协议类型来设置数据段。之后启动远程DMA,数据写入RTL8019AS的RAM,再启动本地DMA,将数据发送网上。3.接收帧

10、8019AS接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区,收满一帧后,以中断或寄存器标志的方式通知主处理器。2、音乐播放部分1.初始化芯片TLV320AIC232. 利用DSP的一个McBSP用SPI模式跟芯片连接。将传输速率设置成为采样速率,将数据传输给芯片后,采用中断方式触发DA转换。从而播放音乐。本部分涉及DA转换和放大音频输出。本开发板芯片为 TLV320AIC23,是3.3V供电的芯片,是 TI 公司推出的一款高性能立体声音频编解码器,内置耳机输出放大器 ,支持MIC和LINE IN两种输入方式,且对输入和输出都具有可编程增益调节。AIC23的模数转换(A/D)

11、和 数模转换(D/A)部件高度集成在芯片内部,采用了先进的多比特sigma-delta工艺,集成了高采样率的数字内插滤波器,可以在 8kHz 至 96kHz 的采样率下提供 16bit、20bit、24bit 和 32bit 的采样数据。ADC 和 DAC 的输出信噪比分别可达 90dB 和 100dB。同时还具有很低的能耗(回放模式为 23mW,节电模式为 15w)。AIC23通过外围器件对其内部寄存器进行编程配置,其配置接口支持SPI总线接口和I2C总线接口,本实验控制接口采用SPI方式。数据传输格式支持右判断模式、左判断模式、I2S模式和DSP模式4种方式,其中DSP模式专门针对TI D

12、SP设计。上述优点使得TLV320AIC23 成为一款非常理想的音频编解码器,与 TI 的 DSP 系列相配合更是相得益彰。AIC23 的管脚和内部结构框图如下。从下图可以看出,AIC23 主要的外围接口分为以下几个部分:1数字音频接口:主要管脚为BCLK数字音频接口时钟信号(bit 时钟),当 AIC23 为从模式时(通常情况),该时钟由 DSP 产生;AIC23 为主模式时,该时钟由 AIC23 产生;LRCIN数字音频接口 DAC 方向的帧信号(I2S 模式下 word 时钟)LRCOUT数字音频接口 ADC 方向的帧信号DIN数字音频接口 DAC 方向的数据输入DOUT数字音频接口 A

13、DC 方向的数据输出这部分可以和 DSP 的 McBSP(Multi-channel buffered serial port,多通道缓存串口)无缝连接,唯一要注意的地方是 McBSP 的接收时钟和 AIC23 的 BCLK 都由McBSP 的发送时钟提供。2麦克风输入接口:主要管脚为MICBIAS提供麦克风偏压,通常是 3/4 AVDDMICIN麦克风输入,由 AIC 结构框图可以看出放大器默认是 5 倍增益3LINE IN 输入接口:主要管脚为LLINEIN左声道 LINE IN 输入RLINEIN右声道 LINE IN 输入4耳机输出接口:主要管脚为LHPOUT左声道耳机放大输出RHPO

14、UT右声道耳机放大输出LOUT左声道输出ROUT右声道输出5配置接口:主要管脚为SDIN配置数据输入SCLK配置时钟DSP 通过该部分配置 AIC23 的内部寄存器,每个 word 的前 7bit 为寄存器地址,后 9bit 为寄存器内容。6其他:主要管脚为MCLK芯片时钟输入(12.288M、11.2896M、18.432M、16.9344M)VMID半压输入,通常由一个 10U 和一个 0.1U 电容并联接地MODE芯片工作模式选择,Master 或者 SlaveCS片选信号(配置时有效)CLKOUT时钟输出,可以为 MCLK 或者 MCLK/2总结的来说,在我们实际使用中,采样频率为 4

15、4.1KHz,每次采样提供 16bit 的采样数据.接口硬件电路:F2812的多通道缓冲串口McBSP通过6个引脚使其数据通路、控制通路与外部设备相连。数据通过McBSP的DR和DX引脚传输,同步信号则由CLKX,CLKR,FSX,FSR4个引脚实现。McBSP的数据线DR和DX带有缓存寄存器,帧同步信号FSX,FSR以及位同步CLKX,CLKR具有可编程性。McBSP可以配置为SPI总线接口,其串行数据传输格式与AIC23的DSP模式兼容,在F2812与AIC23的接口设计中,McBSP以SPI接口方式与AIC23的控制接口相连,负责对其内部寄存器进行配置。DRR1,2RBR1,2RSR1,

16、2McBSP数据传输过程如图所示:DR到CPU/DMA控制器XSR1,2DXR1,2DX 源于CPU/DMA控制器其中:RSR:接收寄存器 RBR:接收缓冲寄存器 DRR:数据接收寄存器 DXR:数据发送寄存器 XSR:发送移位寄存器四系统软件设计与实现3.3.1 wav音频文件转换利用MATLAB将wav音频文件转换成可以传输的10进制数字,便于传输。3.3.2 以太网数据传输以太网控制器RTL8019AS的驱动程序主要包括复位、内部寄存器配置及发送接收数据实现等部分。 RTL8019AS初始化RTL8019AS的初始化包括对其内部寄存器进行配置, 初始化发送和接收缓冲区等。操

17、作步骤依次是: (1) 使芯片处于停止模式; (2) 选中PAGE0, 清RBCR0和RBCR1, 设置RCR寄存器将芯片置于监视模式,合理设置TCR、PSTART、PSTOP、BNRY、TPSR寄存器, 然后清中断标志、中断状态寄存器,并禁止中断, 将数据配置寄存器配置位16位DMA方式;(3)选中PAGE1, 设置组播和MAC地址;(4)选中PAGE0,将芯片置成正常模式与外部网络连接,最后启动芯片开始工作并清除所有中断标志。 发送接收数据包实现RTL8019AS发送数据包遵循IEEE802.3协议, 且作为一款集成的以太网芯片, 数据包校验及碰撞检测和避免均自动完成, 而待

18、发送数据则需按以太网帧格式封装,设置以太网目的地址、以太网源地址、协议类型等, 然后通过远程DMA将帧发送到RTL8019AS发送缓冲区, 完成后再给出发送指令。RTL8019AS接收数据帧比较简单, 当其从外部接收完一帧后, 如果将其置成中断方式, 则会产生一个下降沿的中断信号, 这样DSP接收中断, 在中断服务子程序中我们查询相关RTL8019AS寄存器即可知道接收数据长度、存放地址等信息, 然后通过远程DMA将数据从RTL8019AS内部RAM搬移到DSP内部RAM, 这样就完成了数据接收。五、程序设计、调试与结果分析(1)程序清单:见附录一(2)实验中我们将一段歌曲用MATLAB转换成

19、10进制数,利用TCP/IP传输到开发板;并利用开发板的音频DA播放该音乐;验证了TCPIP传输的准确性与可靠性。六、设计(安装)与调试的体会在实验的过程中,我在网上查找了很多资料,并在图书馆查阅了很多TCPIP数据传输、语音DA播放等相关的书籍,通过和同学以及老师的讨论,我们理解了TCPIP传输数据的基本过程,以及相关过程的算法。在网上找到了不少例子,进行了阅读、分析,并结合我们的硬件设备和所学的知识,决定选择与我们利用TCPIP传输音乐相符的两个主要例子,即数据传输与音乐播放,我们需要做的是将两者很好地组合在一起。对TCPIP数据传输、语音DA播放的流程和技术有所了解后,就上机调试,将理论

20、运用在实践中,又在调试中加强对理论的理解。实验中,与同学互相讨论,互相补充,互相教正,密切配合,共同进步,这样实验的进展才能顺利,才有可能达到理想的效果。七、参考文献1.兰吉昌 TMS320F 2812 DSP应用实例精讲 化学工业出版社 2012.22.戴明帧 周建江TMS320C54x DSP结构、原理及应用 北京航空航天大学出版社 2007附录一:#include"DSP28_Device.h"#define SPI_SEL_REG *(Uint16 *) 0x3400#define LED_SPI 0x00Uint16 FrameLenth;Uint16 RxSuc

21、cessFlag;extern Uint16 TCPTimeout;const Uint16 LedCode=0xFF3F,0xF49F,0xF61F,0xF33F,0xF25F,0xF05F,0xFF1F,0xF01F,0xF21F;unsigned int count;/-Uint16TxEthnetFrameBuffer1518/2;Uint16RxEthnetFrameBuffer1518/2;Uint16 Transfer1518/2;Uint16 y;int ADbuf500;int DA_wptr,DA_rptr;int play_mode;/-interrupt void IS

22、RTimer0(void);interrupt void ISRMcbspX(void);voidSendData(Uint16data);void delay(unsigned int);void ldelay(unsigned int);void WriteLED(unsigned int);voidmain(void) Uint16 Temp,i,j;Uint16 ii,length; Uint16 TCPTxDataLenth; Temp=1; RxSuccessFlag=0;/*初始化系统*/InitSysCtrl(); EALLOW; / Allow access to EALLO

23、W protected registers GpioMuxRegs.GPFMUX.all=0x3fff; / Select GPIOs to be McBSP pins / Port F MUX - x111 1110 0000 0000 EDIS;/*关中断*/DINT;IER = 0x0000;IFR = 0x0000; InitSpi(); /初始化SPI /temp = 0; /count=0; SPI_SEL_REG=LED_SPI;/使能LED SPI for (i=0;i<9;i+) WriteLED(i); ldelay(50); InitSpi1(); InitAic2

24、3();/初始化AIC23 chip ldelay(10); InitMcbsp(); ldelay(10);/*初始化PIE*/InitPieCtrl();/*初始化PIE矢量表*/InitPieVectTable();InitPeripherals();InitGpio(); Init8019(); TCP_Init();EALLOW; PieVectTable.MXINTA = &ISRMcbspX; EDIS; EALLOW;PieVectTable.TINT0 = &ISRTimer0;EDIS; /*设置CPU*/ConfigCpuTimer(&CpuTim

25、er0, 100, 1000000); StartCpuTimer0(); /*开中断*/IER |= M_TLV;PieCtrl.PIEACK.all = 0xFFFF; PieCtrl.PIEIER6.bit.INTx6 =1;PieCtrl.PIEIER1.bit.INTx7=1; / Enable global Interrupts and higher priority real-time debug events:EINT; / Enable Global interrupt INTMERTM;/ Enable Global realtime interrupt DBGMStart

26、CpuTimer0();GpioDataRegs.GPASET.all|=0x8000; play_mode = 0; McbspRegs.DXR1.all = 20000;while(1) if(TCPTimeout) Process_TCP_Timeout(); RTL8019ActiveOpen(); do Temp=RecFrame(); while(Temp); for(ii=2;ii<length+2;ii+) Transferj+=RxEthnetFrameBufferii; if(RxSuccessFlag) RxSuccessFlag=0; DoNetworkStuff(); for(j=0;j<TCPTxDataLenth;j+) y=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论