版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章 简易音频播放与处理系统的硬件设计实例,11.1 系统硬件结构概述 11.2 TMS320VC5501与C8051F340的连接及通信协议11.3 音频编解码器TLV320AIC32,11.1.1 系统硬件结构概述该系统的硬件结构可分为以下部分:(1) TI公司的TMS320VC5501 16位定点数字信号处理器(DSP),最高处理速度为300 MIPS(在CPU主频为300 MHz情况下),芯片采用LQFP-176封装。,11.1 系统硬件结构概述,(2) Silicon Laboratories C8051F340高性能增强型MCS-51系列单片机,与TMS320VC5501通过8
2、 bit HPI(Host Port Interface)接口连接,作为DSP的主机(Host),芯片采用TQFP-48封装。(3) 点阵液晶显示模块(Dot-Matrix LCD Module),其内部控制芯片为韩国Samsung公司S6B1713,屏幕分辨率为12864,由C8051F340单片机控制,通过16针插座与单片机连接,传输方式为8位并行(8-bit Paralleled)。,(4) 模拟键盘,作为输入设备,其内部由电阻串并联网络构成,通过C8051F340的集成A/D转换器进行电平采样及按键识别,用以完成对图形界面的操作,因此它与主机的连接只有2根线。(5) SD/MMC卡座,
3、可插入SD/MMC卡,作为该系统的海量存储载体,通过SPI四线接口与C8051F340单片机连接。(6) USB 2.0接口,与PC机连接,可供上传下载文件到SD/MMC卡。,(7) RS-232接口,与PC机通过超级终端通信,可供在线调试单片机系统的程序。(8) Hynix(韩国现代公司)HY57V281620同步动态随机存储器(SDRAM),与DSP的 16-bit EMIF接口连接,作为DSP的外部扩展存储器,其容量为128 Mbit (16 Mbytes)。(9) TLV320AIC32可编程低功耗立体声音频编/解码器(CODEC,Coder&Decoder),可提供16/20/24/
4、32 bit A/D D/A采样精度,采样频率范围为896 kHz,通过McBSP及I2C接口与DSP连接。,该系统的硬件结构框图如图11-1所示,系统的固件可分两部分,即单片机固件和DSP固件。,图11-1 系统硬件结构框图,1. 单片机固件单片机固件的开发环境为KEIL Vision2,用C语言编写。该固件基于KEIL提供的RTX-51 Tiny实时操作系统(Real-time Operating System,RTOS),以及Silicon Laboratories提供的USB海量存储设备参考设计(USB Mass Storage Device Reference Design,USB-
5、MSD-RD AN282)。该固件要完成的主要任务有:(1) 控制LCD显示。提供图形界面支持,如文字、窗口、滚动菜单的显示等。,(2) 监视识别模拟键盘的输入。由A/D采样值判断是哪个键按下,以执行相应的操作(滚动菜单、选择菜单和退出等)。(3) 驱动SD/MMC存储卡的存取操作,并在SD/MMC上提供FAT文件系统支持。(4) 驱动RS-232程序调试接口。通过该接口向PC输出显示系统状态,支持简单的命令行操作。(5) 作为DSP的主机,该固件还要负责复位DSP和启动DSP,通过HPI向DSP的引导区写入程序代码,启动后还要给DSP提供音频数据及一些简单的命令。,2. DSP固件DSP固件
6、的开发环境为CCS v3.1,固件基于TI公司提供的DSP/BIOS实时操作系统及芯片支持库CSL(Chip Support Library)。该固件要完成的主要任务有:(1) 与TLV320AIC32通信来实现音频的采样与播放。其连接通过两个总线来完成,即I2C作为控制总线,McBSP作为数据总线。,(2) 接收来自MCU的音频数据及指令,实现音频文件的播放。(3) 向MCU反馈信息。如程序运行状态,以及要在LCD上显示的数据等(例如想要在LCD上以图形方式显示的FFT结果)。(4) 控制SDRAM时序。其实这主要是由EMIF硬件来完成的,但是软件需要对EMIF进行初始化工作,设定SDRAM
7、的时序参数,比如CAS to RAS latency等。(5) 对音频数据按照一定的算法进行处理(如FIR和FFT等)。,同时,为了提高开发效率,还使用了TI公司专门为TLV320AIC32设计的一个开发工具AIC32 Configuration Tool,基于JAVA语言,该工具提供了TLV320AIC32的所有内部寄存器的图形化设置,从而大大简化了程序的开发。,11.1.2 SD/MMC存储卡SD/MMC卡是专门为满足消费类电子产品的数据存储需求而产生的,近年来得到众多厂商与消费者的广泛支持。它具有高容量、高速度、体积小巧、价格低和数据安全性高等诸多优点,是便携式数字产品的理想数据载体,特
8、别适合用于存放大容量音频/视频数据。由于SD卡与MMC卡在一般应用场合下都是兼容的(下文将阐述一些特例),因此为简明起见,以下称SD/MMC卡为SD卡。除非特殊说明,SD卡的特性同样适用于MMC卡。,1. SD卡系统特性整体来说,通常SD卡具有以下特性:(1) 最大支持1 GB容量(本系统目前不支持更高容量的SD卡);(2) 兼容SD卡协议;(3) 支持SPI接口传输模式;(4) 电源电压范围为2.73.6 V;,(5) SPI时钟频率范围为025 MHz;(6) 具有写保护开关(仅通过机械开关支持,系统必须根据开关的位置来决定是否对其进行写保护);(7) 卡状态检测(插入/拔除,仅通过机械开
9、关支持);(8) 最多可重写约10 000次。,2. SD卡物理特性SD卡的物理特性主要包括:(1) 重量小于2.0 g;(2) 长度:32 mm 0.1 mm;(3) 宽度:24 mm 0.1 mm;(4) 厚度:2.1 mm 0.15 mm。,3. SD卡总线拓扑结构SD卡有两种总线模式,即为SD模式和SPI模式,本系统采用SPI模式。在SPI模式下,SD卡的SPI接口与市场上的大多数主机(单片机)的SPI接口兼容,其中包括以下四根线:,(1) CS:主机到卡线选信号(Host to card Chip Select signal)。(2) CLK:主机到卡时钟信号(Host to car
10、d Clock signal)。(3) DataIn:主机到卡数据信号(Host to card Data signal)。(4) DataOut:卡到主机数据信号(Card to host Data signal)。,可见,在SPI模式下数据是串行传输的,而且是全双工的(收/发线独立)。而在SD模式下,则有4根数据线(DAT0.3)构成4 bit并行接口,收/发线复用。这种传输模式理论上可以达到4倍于SPI模式的传输率(12 MB/s),但是它违背了“串行化”的大方向,是一种颇有争议的接口,更由于MMC卡不支持SD模式,因此这种模式如今已很少有人使用,本书将不再叙述。,4. SPI模式下的S
11、D卡引脚定义SD卡上共有9个引脚,这与MMC卡的引脚(7个)有所不同,但是在SPI模式下,SD卡比MMC卡多的两个引脚(Pin-8, Pin-9)是保留的,没有定义。因此SD卡与MMC卡只有在SPI模式下才互相兼容,这也是为什么大多数SD卡读卡器(或其他设备)都选用SPI模式而不用SD模式的原因。SPI模式下的SD卡引脚定义如表11-1所示。,表11-1 SPI模式下的SD卡引脚定义,5. SD卡座SD卡座就是用于承载SD卡的一个插座,需要将它焊到电路板上。由于各个厂家生产的卡座都不完全一样,在制作PCB时需要将所有的卡座引脚按实际尺寸准确地画出来,从而生成PCB引脚图(Footprint)。
12、还要说明的是,SD卡座除了引出SD卡上的9个引脚之外,还有一个写保护开关脚(写保护关闭时接地,否则悬空)和一个卡检测脚(卡插入时接地,否则悬空),这些脚可以接到单片机的输入PORT上,并接上拉电阻,程序在对卡进行操作前需要检测这些管脚上的逻辑值。其余4个脚是固定脚(其实严格来说只有3个,有一个是插拔动作检测脚,但是一般情况不用)。,11.1.3 S6B1713点阵LCD显示器本设计使用大连天马公司的液晶模块,内部编号是TM90AQ,用到的控制芯片是韩国三星S6B1713(以下称本液晶模块为S6B1713)。S6B1713液晶模块与C8051F340单片机通过16针双排插座连接,其引脚功能定义如
13、表11-2所示。,表11-2 S6B1713液晶模块引脚功能定义,单片机与LCD的连接如图11-2所示,连接方式如下:,图11-2 单片机与LCD的连接,(1) DB0.7 与单片机的P2口连接,用于单片机和LCD之间并行数据的双向传送。(2) RES与单片机P3.3口连接,用于复位LCD,上电时必须由单片机给出10 ms低电平复位信号。(3) CS与单片机的P3.0口连接,用于片选LCD。(4) A0与单片机的P3.2口连接,用于区分控制寄存器(其值为0)与地址寄存器(其值为1)。(5) RD与单片机的P3.1口连接,用于从LCD读出数据(低电平有效)。(6) WR与单片机的P1.7口连接,
14、用于向LCD写入数据(低电平有效)。,S6B1713用总线保持器(Bus Holder)和内部数据总线(Internal Data Bus)来进行数据传输,其读/写时序如图11-3所示。,图11-3 S6B1713数据传输读/写时序,11.1.4 用户图形界面的实现目前,嵌入式系统中大多数的用户图形化界面(GUI)都是在操作系统的支持下,调用系统的各种API函数实现的。这些操作系统为实现GUI提供了大量的库函数,也为编程人员提供了界面设计的良好平台。本系统的LCD图形界面全部在KEIL环境下用C语言编写,按程序层次从低向高排列,可划分为LCD时序驱动层、图形支持层、字体支持层、用户图形界面层和
15、简易文件浏览器。,1. LCD时序驱动层(LCD Driving Layer)单片机对LCD的操作是通过一些特定的时序来完成的,每一个对LCD的指令或数据都需要通过这种特定的时序来完成,如换行、清屏、写数据等,然而这些时序对于每个不同型号的LCD来说都是不一样的。为了使程序具有很强的适应性和兼容性,我们需要对硬件的一些细节进行隔离,使下一层不必了解对LCD硬件操作的细节,只要访问驱动程序就行了。本层主要负责操作LCD接口时序,如写一个字节、读取状态等,以及对LCD内部寄存器进行设置。,2. 图形支持层(Graphic Support Layer)本层为图形显示层提供一个显示缓存(Display
16、 Buffer),由于S6B1713横向分为8页,每页8行,共64行,纵向分为128列,因此整个屏幕的像素数为128*64,这也就需要8*128字节来存放整个屏幕的显示数据。在C程序里声明一个长度为8*128=1024字符的二维数组,并定期(约50 ms)将显示缓存内的全部显示数据写入到LCD的DDRAM内,完成显示刷新。因此本层对硬件操作进行了隔离,使下一层不必了解对LCD硬件操作的细节。,利用上一层(LCD时序驱动层),本层为下一层(高层)提供了一个128*64点的绘图平面坐标系,从而高层程序可以间接地使LCD屏幕上的每一点亮(写1)或灭(写0),这样一来,任何对LCD的操作将都可以转化为
17、对坐标系中像素(点)的操作(坐标的原点在屏幕的左上角)。除此之外,此层还提供了一些画线、画方等操作,这里不再一一介绍。,3. 字体支持层(Font Support Layer)利用图形支持层,字体支持层可以在LCD的任何位置显示出5种不同大小的字体,其中还含有变宽字体。在坐标系上,点(x,y)为左上角,以字体sysfont8显示字符c, 着色为color,返回宽度。,4. 用户图形界面层(GUI Layer)利用图形支持层和字体支持层,用户图形界面层为用户提供了一个简单的图形界面,如显示一个对话框(Dialog box)、弹出窗口(Pop-up Message)、滚动菜单(Scroll Men
18、u)等。,5. 简易文件浏览器(Simple File Explorer)简易文件浏览器建立在所有层之上,并且用到了USB-MSD-RD API函数,本应用层对文件系统进行分级显示,用于启动文件浏览器。用户可通过键盘在图形界面中选择文件,文件被选定后这个函数将返回被选定文件的指针。,11.2.1 TMS320C5501的主要特点及内部结构,11.2 TMS320VC5501与C8051F340的 连接及通信协议,1. TMS320C5501的主要特点C5501是为实现高性能、低功耗而专门设计的定点DSP芯片,是一种特殊结构的微处理器,为了快速地实现数字信号处理运算,它采用了流水线指令执行结构和
19、相应的并行处理结构,可在一个周期内对数据进行高速算术运算和逻辑运算,其具有以下特点:,(1) 16 K*16 bit (32 KB)片内RAM,由4块4 K*16 bit双访RAM(DARAM)组成。(2) 16 K*16 bit (32 KB)片内单等待周期只读存储器(ROM)。(3) 最大8 M*16 bit(16 MB)可寻址内存空间。(4) 采用1.26 V核心电源,3.3 V I/O电源。,2. TMS320C5501的CPU主要结构TMS320C5501的CPU主要包括以下结构:(1) 优化的CPU结构。内部有4个40位的基本逻辑单元(A单元、D单元、P单元和I单元),4个40位的
20、累加器,2个1717的乘法器。(2) 有6条内部总线。1条程序总线,3条内部数据/操作数读总线,2条内部数据/操作数写总线。,(3) 3.33 ns指令周期,工作于300 MHz主频。(4) 16 KB指令缓存(I-Cache)。(5) 每条指令有执行单/双周期指令。(6) 双乘法器,最多每秒钟可以执行600 M条乘累加(MMAC)。(7) 两个算术逻辑单元(ALU)。(8) 内部集成了维特比加速器,用于提高维特比编译码的速度。,3. TMS320C5501的片上外设TMS320C5501的片上外设介绍如下:(1) 6通道直接内存访问(DMA)控制器。(2) 2个多通道缓存串口(McBSP)。
21、(3) 可编程模拟锁相环(APLL)。(4) 通用I/O(GPIO)引脚和一个专用输出引脚(XF)。,(5) 8 bit主机接口(HPI)。(6) 4个定时器,包括2个64位通用定时器。(7) 64位可编程看门狗。(8) 64位DSP/BIOS计数器。4. TMS320C5501的芯片封装TMS320C5501芯片采用LQFP(Low-profile Quad FlatPack)封装,有176个引脚,脚间距为0.5 mm,封装俯视图如图11-4所示。,图11-4 TMS320VC5501的芯片封装,11.2.2 TMS320C5501的主机接口(HPI)1. TMS320C5501主机接口HP
22、I组成DSP芯片中的HPI(主机接口)是为了满足DSP与其他微处理器接口而专门设计的。它分为HPI-8和HPI-16,分别针对具有8位和16位数据线的单片机。每一种又分为标准型和增强型,两者的区别在于标准型只可以访问固定的地址空间,而增强型可以访问整个DSP的片内存储器。HPI主机由以下几个部分组成:,(1) HPI存储器(DARAM)。HPI RAM主要用于DSP与主机之间传送数据,也可以用作通用的双寻址数据RAM或程序RAM。 (2) HPI地址寄存器(HPIA)。它只能由主机对其直接访问,该寄存器中存放着当前寻址的HPI存储单元的地址。 (3) HPI数据锁存器(HPID)。它也只能由主
23、机对其直接访问,如果当前进行读操作,则HPID中存放的是要从HPI存储器中读出的数据;如果当前进行写操作,则HPID中存放的是将要写到HPI存储器的数据。,(4) HPI控制寄存器(HPIC)。DSP和主机都能对它直接访问。(5) HPI控制逻辑。用于处理HPI与主机之间的接口信号。HPI有以下两种工作方式: (1) 共用寻址方式(SAM)。这是常用的操作方式,在SAM方式下,主机和DSP都能寻址HPI寄存器,异步工作主机的寻址可以在HPI内部得到同步。如果DSP与主机的周期发生冲突,主机有优先权。,(2) 仅主机寻址方式(HOM)。在HOM方式下,只能让主机寻址HPI存储器,DSP则处于复位
24、状态或所有内部和外部时钟都停止的IDLE2空转状态(最小功耗状态)。标准HPI口是一个8位并行接口,可以用来实现和主设备或者处理器接口。双方通过共享TMS320VC5501的片上处理器完成通信。单片机为主控部分,采用端口方式直接访问HPI口。HPI口主要由地址寄存器(HPIA)、控制寄存器(HPIC)、数据寄存器(HPID)、HPI存储器和HPI控制逻辑组成。,对单片机进行读和写需要三个步骤:设置控制寄存器、写地址寄存器和读/写数据寄存器。在寄存器读/写过程中,单片机通过端口发送控制信号,检测状态信号,完成对HPI口访问的时序模拟。TMS320VC5501的HPI接口内部逻辑电路如图11-5所
25、示。,图11-5 HPI接口内部逻辑电路,2. HPI接口硬件连接方式HPI设计一般采用共用寻址方式(SAM)。在SAM方式下主机和DSP都能访问HPI存储器,整个通信过程以各部分状态的变化来推进。DSP和单片机通过向对方发送中断,通知对方数据已经准备好,再通过检测对方设置的状态,判断对方是否准备好接收数据。单片机和TMS320VC5501 DSP的HPI接口硬件连接电路原理图参见附录B-2。,3. HPI时序图图11-6所示是HPI逻辑时序图。根据该逻辑时序图可以对DSP进行编程,完成其与主机的通信,工程包含的信息也将被载入。有关HPI接口的详细介绍可参阅参考文献22。,图11-6 HPI时
26、序图,TLV320AIC32是该音频系统的子系统,本系统之所以要选用TLV320AIC32芯片,简单来说,其原因是TI公司的新产品可以获得大量的技术支持及软件支持;与TMS320C55x系列DSP兼容性好,兼容McBSP接口,它们是都是TI公司的产品;有完整的C程序库函数和驱动程序可供调用以及一个基于JAVA图形界面的配置工具AIC3X Configuration Tool(详细内容请参考TI内部参考资料,其编号为SBAA148),但是选用该芯片的最困难之处就是它的QFN封装是无引脚封装,且非常小,不容易焊接。,11.3 音频编解码器TLV320AIC32,11.3.1 TLV320AIC32
27、纵览TLV320AIC32是一个带立体声耳机放大器的低功耗立体声音频转换器,它有多个输入和输出,可以用程序设置为单边或差分模式。该转换器具备大量的电源管理控制寄存器,在3.3 V模拟电源电压下,它可以仅仅用14 mW的功耗提供48 kHz采样率的数/模回放(Playback),这使得它特别适用于电池供电的便携音频和电话应用。,TLV320AIC32的录音通路(Record path)包括了集成麦克风偏置输出、数字控制的立体声麦克风前置放大器(Pre-amp)和自动增益控制器(AGC),它们都具有混音/多路选通(MUX)功能,可以在多个输入端口之间切换和混音。它的回放通路(Playback pa
28、th)也具有混音/多路选通(MUX)功能,可以在DAC输出和被选择的多个输入端口之间切换和混音,这些信号经过可编程音量控制器,最后被输出到多种输出端口。,TLV320AIC32还包括了4个功率输出驱动器(High-power output driver)和2个全差分线性输出。功率输出驱动器可以驱动若干种不同形式的负载,这包括4个声道的16 单边交流耦合的耳机或16 无电容(Capless)耳机输出模式。除此之外,一对功率驱动器可以用来驱动推挽(BTL)模式的8 扬声器,在此配置下可以达到每声道500 mW的输出功率。,立体声音频DAC支持从8 kHz到96 kHz的采样频率,并且在DAC的通路
29、上提供了可编程数字滤波器,可以用来在32 kHz、44.1 kHz和48 kHz的采样频率下提供3D、低音(Bass)、高音(Treble)、中音(Midrage)、均衡器(Equalization)和去加重(De-emphasis)等数字特效。立体声音频ADC同样也支持从8 kHz到96 kHz的采样频率。为了调节录音音量,在ADC之前的通路上设有可编程增益放大器(PGA),能提供最大+59.5 dB的模拟增益,可用于放大麦克风的低电平输入信号。,串行控制总线支持I2C协议,串行音频数据总线则可以采用I2S、左/右对齐、DSP(McBSP)和TDM模式。为了得到准确的时钟,此芯片还集成了一个可高度编程的锁相环(PLL),可以从各式各样的MCLK主时钟输入,生成适合采样频率的时钟。MCLK的输入频率范围可以低至512 kHz,高至50 MHz,尤其重视常用的系统时钟频率,如12 MHz、13 MHz、16 MHz、19.2 MHz和19.68 MHz。,TLV320AIC32的模拟电源电压范围是2.73.6 V,数字核心电源电压的范围是1.525 1.95 V,数字I/O电源电压的范围是1.13.6 V。该芯片的内部结构简图如图11-7所示。内部结构及其设置可参阅参考文献28。,图11-7 TLV320AIC32内部结构简图,11.3.2 TLV320AIC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广州市天河区网格员招聘考试模拟试题及答案解析
- 2026年深圳市盐田区网格员招聘笔试备考题库及答案解析
- 2026年莆田市荔城区网格员招聘笔试模拟试题及答案解析
- 2025年上海市杨浦区街道办人员招聘笔试试题及答案解析
- 2026年连云港市新浦区网格员招聘笔试模拟试题及答案解析
- 2026年抚顺市新抚区网格员招聘笔试模拟试题及答案解析
- 2025-2030年干洋葱企业县域市场拓展与下沉战略分析研究报告
- 2025-2030年菊粉企业ESG实践与创新战略分析研究报告
- 2025-2030年元帅苹果企业ESG实践与创新战略分析研究报告
- 公交公司内部治安保卫制度
- 血液透析心跳骤停应急预案
- 【MOOC】航空燃气涡轮发动机结构设计-北京航空航天大学 中国大学慕课MOOC答案
- 便利店内部布局及设备投资方案
- 护理一病一品汇报
- 国家职业技术技能标准 6-31-07-02 工业视觉系统运维员 人社厅发202345号
- 医院保洁服务招投标书范本
- DB4416-T 20-2023 蓝莓种植技术规程
- 全新版大学进阶英语第二册-Unit-4-Study-Abroad
- 建筑垃圾减量化专项方案
- 咽部肿瘤-课件
- 福建省危险性较大的分部分项工程安全管理标准
评论
0/150
提交评论