您的当前位置:首页正文

实验四

2024-05-09 来源:步旅网


深 圳 大 学 实 验 报 告

课程名称: DSP系统设计

实验项目名称:SPORT音频采集播放与SPI总线与液晶显示

学院: 信息工程学院

专业: 电子信息工程

指导教师: 蒙 山

报告人: 余海波 学号: 2009130006 班级: 电 1

实验时间: 2012 年 05 月 13 日

实验报告提交时间: 2012 年 06 月 02 日

教务处制

(1) 一、实验目的与要求: 1、了解DSP SPORT的工作原理; 2、 熟悉SPORT各个寄存器的作用; 二、实验内容: 通过SPORT端口采集TLCAIC23B的数据,将收到的数据再通过SPORT端口传送给TLCAIC23B回放。使用PC的音频输出作为TLCAIC23B的音频输入源,经过目标板的数据传递,从目标板的音频输出口得到重建的音频。 三、预备知识 1、VisualDSP++集成开发环境的使用,程序的编写和调试。 2、SPORT的工作原理。 3、SPI总线的工作原理。 4、阅读《EBF-LAB533数字多媒体开发系统用户手册》中音频设备的配置使用。 四、实验设备及工具 1、硬件:EBF-LAB533实验平台、仿真器、PC机,音频输入线,音频输出设备(耳机)。 2、软件:PC机操作系统Win2000或Win XP、VisualDSP++集成开发环境。 五、实验原理 1. 实验框图 图 实验示意图 2. 同步串行口(SPORT)介绍 ADSP-BF533提供2个双通道同步串行端口(SPORT0和SPORT1)来完成串行和多处理器的通信工作。SPORT口有以下特点:  支持I2S规范。  双向操作:每个SPORT都有2套独立的发送和接收引脚,支持I2S立体声8通道。  带缓冲的发送和接收端口:每个端口都有一个数据寄存器,用以同其它DSP接口间进行双向数据传输;多个移位寄存器用于数据寄存器内数据的移入和移出。  时钟:SPORT口的每个发送或接收端口既可以使用外部的串行时钟,也可以使用内 部产生的频率范围为 (fSCLK/131,070) Hz到(fSCLK/2) Hz的时钟。

字长:每个SPORT都支持3到32位长度的串行数据字,可以选择最高有效位在前或最低有效位在前的格式进行传送。  帧:SPORT口的每个发送和接收端口都既可以在有帧同步信号模式和无帧同步信号模式下工作。帧同步信号可以选择从内部产生或从外部接收,可以选择高有效或低有效,可以选择前帧或后帧同步。  硬件压扩:每个SPORT都能根据ITU推荐的G.711标准完成A律和µ律压扩。对SPORT的发送和/或接收通道都能进行压扩,而且没有额外的延迟。  单时钟周期开销的DMA操作:SPORT口可以配置为DMA模式,每个SPORT都可以自动发送和接收多个缓冲区的数据信息。  中断:SPORT完成数据传输后,相应的发送接收端口能够产生中断。  多通道能力:每个SPORT 可以同时支持1024个通道窗中的128个通道,并兼容H.100、H.110、MVIP-90和HMVIP标准。 3. SPORT寄存器基本配置说明: (1) SPORT口发送配置寄存器(Sport Transmit Configuration registers) SPORT口的发送配置寄存器主要包括两个寄存器:SPORTx_TCR1 和 SPORTx_TCR2,下面分别说明:  图 SPORT口发送配置寄存器1 主要配置位说明: TCKFE:0:使用TSCLK时钟的上升沿驱动内部数据和帧同步信号,使用TSCLK时钟 的下降沿采样外部帧同步信号; 1:使用TSCLK时钟的下降沿驱动内部数据和帧同步信号,使用TSCLK时钟 的上升沿采样外部帧同步信号; LATFS:0:采用(Early)帧同步信号; 1:采用(Late)帧同步信号; LTFS: 0:使用Active high的帧同步信号; 1:使用Active low的帧同步信号; DITFS: 0:数据和帧同步信号同步; 1:数据独立于帧同步信号; TFSR: 0:发送数据时,不需要帧同步信号; 1:发送数据时,需要有帧同步信号; ITFS: 0:发送数据时采用外部输入的帧同步信号; 1:发送数据时采用内部产生的帧同步信号;

TLSBIT:0:发送数据时从数据的最高位依次发送; 1:发送数据时从数据的最低位依次发送; TDTYPE[1:0]:配置采用普通模式传送数据,或在SPORT口对数据进行A-law和u-law的压缩操作; ITCLK: 0:发送数据使用外部输入的时钟; 1:发送数据使用内部产生的时钟; TSPEN:0:禁用SPORT口; 1:SPORT口使能; 图 SPORT口发送配置寄存器2 主要配置位说明: TRFST:0:左立体声通道数据先发送; 1:右立体声通道数据先发送; TSFSE:配置立体声帧同步模式; TXSE:配置SPORT口的第二端口是否打开; SLEN[4:0]:配置SPORT口发送数据的字长(3~32); (2) SPORT口接收配置寄存器(Sport Receive Configuration Registers) SPORT口的接收配置寄存器主要包括两个寄存器:SPORTx_RCR1和 SPORTx_RCR2,下面分别说明: 图 SPORT口接收配置寄存器1 主要配置位说明: RCKFE:0:使用RSCLK时钟的上升沿驱动内部帧同步信号,使用RSCLK时钟的下 降沿采样外部帧同步信号和数据; 1:使用RSCLK时钟的下降沿驱动内部帧同步信号,使用RSCLK时钟的上升 沿采样外部帧同步信号和数据;

LARFS:0:采用(Early)帧同步信号; 1:采用(Late)帧同步信号; LRFS: 0:使用Active high的帧同步信号; 1:使用Active low的帧同步信号; RFSR: 0:接收数据时,不需要帧同步信号; 1:接收数据时,需要有帧同步信号; IRFS: 0:接受数据时,使用外部接收的帧同步信号; 1:接受数据时,使用内部产生的帧同步信号; RLSBIT:0:接收数据时从数据的最高位开始接收; 1:接收数据时从数据的最低为开始接收; RDTYPE[1:0]:配置对接收的数据进行的操作,可选模式为:0填充模式,符号扩展模 式,a-law或u-law压缩模式; IRCLK:0:接收数据使用外部输入的时钟; 1:接收数据使用内部产生的时钟; RSPEN:0:SPORT口停止,数据不接收; 1:SPORT使能,开始接收数据; 图 SPORT口接收配置寄存器2 主要配置位说明: RRFST:0:左立体声通道数据先发送; 1:右立体声通道数据先发送; RSFSE:配置立体声帧同步模式; RXSE:配置SPORT口的辅助端口是否打开; SLEN[4:0]:配置SPORT口接收数据的字长(3~32); (3) 除了以上介绍的寄存器外,SPORT口还包括了以下寄存器:  SPORT口接收和发送时钟波特率寄存器:(SPORTx_TCLKDIV) 和(SPORTx_RCLKDIV),这两个寄存器主要用来配置SPORT端口的时钟,当选择由内部产生SPORT口的接收和发送时钟时,需要按照需要的时钟频率来配置这两个寄存器;  SPORT口状态寄存器:SPORTx_STAT,这个寄存器主要用来显示SPORT口操作过程中的状态,是否产生错误,传送或接收是否完成等;  SPORT口接收和发送寄存器:SPORTx_TX和SPORTx_RX,用来接收和发送数据;都是32位字长的寄存器; 4. SPORT口的中断 SPORT口在每次数据传送或接收完成后都可以产生相应的中断,在中断处理程序中可以对数据进行相应的处理。使用SPORT口的中断需要配置相应的中断寄存器。 5. SPORT口的DMA模式 SPORT口还可以配置为DMA模式,这时可以采用DMA来完成SPORT口数据的发

送和接收,可以一次完成多组数据的收发操作。采用SPORT口的DMA模式需要配置相应的DMA配置结存器。 6. 目标板原理 图 原理图 通过上面的原理图可知系统通过SPI对TLCAIC23B进行配置,通过SPORT0和AIC23B进行音频数据交互。TLCAIC23B的数据输入和输出使用一个时钟BCLK,分别与SPORT的输出时钟TSCLK0和输入时钟RSCLK0连接;TLCAIC23B的桢同步信号LRCIN/LRCOUT和SPORT的收发桢同步TFS0/RFS0连接;TLCAIC23B的数据信号DIN/DOUT和SPORT的DT0PRI和DR0PRI连接。 程序的功能是将外部音频源输入的音频数据,经过AIC23B采样量化,通过DSP的SPORT接收端口接收到DSP中,然后再通过DSP的SPORT发送端口输出,经过AIC23B的数模转换,最后输出到外部的播放设备。 编程时,只需要对AIC23B芯片及DSP的SPORT口进行相应的配置,正确地使用硬件通道,在DSP内部不对输入的数据进行任何处理,直接将接收到的数据输出到TLCAIC23B。

六、 实验设计、步骤 试验程序的流程图如下: 主程序 中断程序 开始 配置AIC23B音频芯片 接收数据,进入中断 配置SPORT口 数据输出 配置中断 播放设备 使能SPORT口 系统通过SPI总线对AIC23B进行配置,所以在初始化时,不仅要进行对SPORT口进行初始化,还要对SPI总线进行初始化,初始化SPI的相关寄存器和详细配置方法参见:《ADSP-BF533 Blackfin Processor Hardware Reference》的SPI部分的详细说明。本实验主要验证的是SPORT的相关功能,对SPORT进行如下配置: *pSPORT0_TCR2 = 0x001F; /* 32bit */ 主程序等待 *pSPORT0_TCR1 = 0x4000|0x0400|0x2000; *pSPORT0_RCR2 = 0x001F; /* 32bit */ *pSPORT0_RCR1 = 0x4000|0x0400|0x2000; 以上寄存器详细说明参见《ADSP-BF533 Blackfin Processor Hardware Reference》中关于Serial Port Controllers的章节 SPORT 和TLCAIC23B间使用下图时序。 配置SPORT 的接收控制寄存器,使用外部时钟,外部桢同步,先接受MSB数据,每组采样点都需要桢同步信号,提前桢同步,桢同步信号高有效。 7. 搭建实验环境。 将ADSP仿真器与EBF-LAB533实验平台连接,将音频源(例如麦克风,或者pc声

卡输出))接入目标板的MIC_IN端口;将音频输出(比如耳机)接到目标板的HEADER_PHONE端口;然后先后分别给仿真器和目标板上电,如下图所示; MIC 耳机 8. 打开VisualDSP++集成开发环境,加载SPORT目录下的EFLAG_EXP.dpj工程; 打开File菜单,选择Open->Project选中“EFLAG_EXP.dpj” 9. 编译并加载工程(F7); 打开Project菜单,选择Build Project。 10. 运行程序(F5); 从PC机中播放音频,从音频输出端(耳机)体验回放的声音效果。 七、 实验结果 程序全速运行后,带上耳机,在PC上播放音频,可以从耳机里听见PC机当前播放的音频。耳机中存在少量的杂音,应该是噪音造成的。 (2) 一、实验目的 1、 熟悉SPI总线的工作原理。 2、 掌握Blackfin处理器的SPI串行接口的使用。 3、 掌握SG12864点阵液晶的控制方法。 二、实验内容 学习SPI总线的工作原理;编程使用ADSP-BF533的SPI接口控制SG12864点阵液晶显示图形和字符。 三、 预备知识

1、VisualDSP++集成开发环境的使用,程序的编写和调试。 2、SPI总线的工作原理。 四、实验设备及工具 1、硬件:EBF-LAB533实验平台、仿真器、PC机。 2、软件:操作系统Win2000或Win XP、VisualDSP++集成开发环境。 五、实验原理 1、实验框图 LCD 图 实验示意图 2、SPI接口 (1) SPI接口介绍 SPI接口的全称是\"Serial Peripheral Interface\",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器、还有数字信号处理器和数字信号解码器之间。 (2) SPI的特点 SPI接口能够在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。 (3) SPI的工作原理 SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:  MOSI – 主器件数据输出,从器件数据输入  MISO – 主器件数据输入,从器件数据输出  SCLK – 时钟信号,由主器件产生  /SS – 从器件使能信号,由主器件控制 图 SPI单主机-单从机接线方式 在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要独立的使能信号。

图 SPI单主机-多从机接线方式 SPI接口在内部硬件实际上是两个简单的移位寄存器,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。 图 SPI总线协议 SPI接口内部硬件图示: 图 SPI内部硬件接口 3、ADSP-BF533的SPI接口 ADSP-BF533有一个串行外设接口(SPI),可完成处理器与各种SPI兼容外设之间的通信。可与ADSP-BF533 SPI端口相连接的典型SPI外设包括以下几种:其他CPU或微处理器、编解码器、A/D转换器、D/A转换器、采样率转换器、SP/DIF或AES/EBU数字音频发射机和接收机、LCD显示器、移位寄存器、仿真SPI的FPGA。ADSP-BF533的SPI接口是标准的同步串行链接,可支持多SPI兼容设备的通信。SPI是同步的四线接口,其中有两条数据线(MOSI 和MISO),一个片选信号(SPISS\\)和一个时钟信号(SCK)。支持以下功能:在SPI的数据传送过程中,一个SPI设备作为SPI链的主机,它通过产生SPI串行时钟和使能片选信号(SPISS\\)来控制数据流。而其他的SPI设备作为从机,接收主机发来的数据到移位寄存器中,同时把需要传送的数据通过SPI数据发送信号线送出移位寄存器。多个处理器可以轮流成为主机。一个主机还可同时把数据移位到多个从机中(即广播模式)。但是在任何时候只有一个从机可以输出数据到主机。 可以通过配置寄存器,控制SPI总线数据传输的时机,有4种方式可供选择,分别是当DSP内核读/写SPI的数据寄存器时,和DMA单元读/写SPI的数据寄存器时。 SPI接口相关寄存器如下表所示:

寄存器名称 SPI_CTL SPI_FLG SPI_STAT SPI_TDBR SPI_RDBR SPI_BAUD SPI_SHADOW 功能 SPI端口控制 SPI端口标志 SPI端口状态 SPI端口发送数据缓冲器 SPI端口接收数据缓冲器 SPI端口波特率控制 SPI端口数据 表 ADSP-BF533 SPI寄存器 4、SG12864液晶模块介绍 SG12864点阵图形液晶模块的点像素为128*64点,黑色字/白色底。液晶模块使用ST7920 控制器,并配合使用ST7921 驱动器来控制液晶的显示,ST7920 可以提供三种方式来连接微处理器:  8 位并行方式  4 位并行方式  串行方式 液晶模块采用SPI串行方式与控制器连接,内部集成了负压DC-DC电路(LCD驱动电压),使用时只需提供单5V电源即可。 液晶模块上装有LED背光,使用5V供电,显示字符或图形时LED背光可点亮或熄灭。液晶模块的主要显示原理:显示位置的行、列、页地址信息以及显示数据转化成液晶显示板驱动电路信号,驱动液晶面板进行显示。其原理图如下: 在液晶模块内部带有显示的数据存储器DDRAM(DataDRAM),DDRAM产生驱动液晶显示的信号,DDRAM中的数据比特位与液晶像素点阵成一一对应关系,每位的数

据可以直接体现到液晶对应的点的亮灭上。 5、EBF-LAB533系统中LCD的实现 在EBF-LAB533系统中BF533与液晶的连接方式比较简单,有三根SPI信号线与液晶连接,SPI通道用于传输控制液晶显示的所有命令和数据。  BF533_SCK为SPI时钟线  BF533_MOSI为SPI数据线  BWLCD_SPI_SS#为 SPI选择线,它由PF2和控制寄存器5(CONTROL REGISTER 5)的BWLCD_SPI_SS_EN位(D5)配合使用。 当向CTRL5_C寄存器(0x203FC000)写0x20,液晶功能打开,PF2与BWLCD_SPI_SS#信号连接。当向CTRL5_S寄存器(0x203F8000)写0x20,液晶功能关闭,PF2与BWLCD_SPI_SS#信号断开。 控制寄存器5定义如下: CONTROL REGISTER 5 SET和CONTROL REGISTER 5 CLEAR 位 D0 D1 D2 D3 D4 D5 D6 D7 名称 TFTLCD_SPI_SS_EN AUDIO_SPI_SS_EN CAN_SPI_SS_EN EXP_SPI_SS_EN MMC_SPI_SS_EN BWLCD_SPI_SS_EN RES RES 说明 低有效 低有效 低有效 低有效 低有效 低有效 保留 保留 说明:往SET寄存器写1使引脚置高;往CLEAR寄存器写1使引脚置低;写0全无效。 六、 实验设计 1. 设计思路 系统打开SPI通道和液晶使能位,通过SPI通道向液晶发送命令和数据,进行图片、

汉字和滚动效果显示。 2. 核心代码分析 (1) 系统初始化SPI static void Init_SPI(void)//complete { *pSPI_BAUD = 100; *pSPI_CTL = 0x5411;//0x5D25; *pSPI_FLG =SPI_CS_PF; *pCtrl5_S = (1<<6)-1; *pCtrl5_C = (1<<5); } (2) 液晶写命令函数 void w_cd(unsigned char dat, unsigned char cd_type) /* type=0(instruction), type=1(data) */ { unsigned char hang[3] = {0x00, 0x00, 0x00}; unsigned char temp; unsigned char i = 0; temp = dat; Delay(300000); if(cd_type < 1) { hang[0] = 0xf8; } else { hang[0] = 0xfa; } hang[1] = temp & 0xf0; hang[2] = temp & 0x0f; hang[2] = hang[2] << 4; for (i = 0; i < 3; i++) { while((*pSPI_STAT&0x0001)!=1){;} *pSPI_TDBR = hang[i]; Delay(2000); } //*pFIO_FLAG_C = 0x0002; (3) 图片显示函数

void BWLCD_DisplayBMP(void) { unsigned char m,n; w_cd(0x3c, 0); w_cd(0x03, 0); w_cd(0x36, 0); for(m=0;m<32;m++) { w_cd(0x80+m,0);w_cd(0x80,0); for(n=0;n<16;n++) { w_cd(chDispRam[n+16*m],1); } for(n=0;n<16;n++) { w_cd(chDispRam[n+16*m+512],1); } } } 七、 实验步骤 1. 搭建实验环境。 将ADSP仿真器与EBF-LAB533实验平台连接,然后先后分别给仿真器和目标板上电;确认网线连接正常。 2. 打开VisualDSP++集成开发环境,加载BW_LCD目录下的工程BW_LCD.dpj。 3. 编译并运行程序。 八、实验结果

九、实验结论: 通过实验,了解到SPORT音频采集播放的原理和SPI总线与液晶显示的原理。对这两个系统有了更深入的理解。 指导教师批阅意见: 成绩评定: 预习 (20分) 操作及记录 (40分) 数据处理及思考题(40分) 数据处理 20分 结果与讨论10分 思考题 10分 报告整体 印 象 总分 指导教师签字: 年 月 日 备注: 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

因篇幅问题不能全部显示,请点此查看更多更全内容