1、 基于 DSP 的语音录放电路系统的设计城南学院CHANGSHA UNIVERSITY OF SCIENCE TMS320C5402; MCBSP;TLC320AD50 ; HARDDISKCIRCULT 基于 DSP 的语音录放电路系统的设计目 录1 绪论.11.1 设计背景及目的.11.2 设计内容.22 系统总体设计23 器件选择43.1 DSP 芯片选择.43.2 语音编解码选择.54 系统硬件设计 . .64.1 电源管理电路设计. .64.2 译码电路.74.3 时钟及复位电路设计.84.3.1 时钟电路设计84.3.2 复位电路设计84.4 储存器扩展电路.114.5 McBSP
2、 多通道缓冲串口.124.6 JTAG 在线调试仿真接口电路设计174.7 A/D 和 D/A 接口模块设计194.8 信号输出模块.215 软件设计.215.1 程序主流程图215.2 McBSP 多通道缓冲串口软件设计225.2.1 McBSP 寄存器的配置.225.2.2 McBSP 接收与发送中断的软件设计235.3 语音采集与回放.25基于 DSP 的语音录放电路系统的设计5.4 程序模块.25总结26参考文献.27致谢.29附录.30附录 系统程序.30附件 系统总原理图基于 DSP 的语音录放电路系统的设计第 0 页 共 33 页1.绪论1.1 设计背景及目的在很多语音处理的系统
3、中需要用到语音录放系统 ,将现场的声音录下 ,供以后回放 ,或者对这些声音进行相关的特征分析与处理。对于语音的录放系统 ,有多种设计方法。可以用声卡采集 ,通过网卡传送到其他处理器(或 PC)上 ,但这样就需要将 PC放在录音现场 ,在某些特定场合不适用;也可以将采样电路、ADC、DSP 芯片及外部存储器设计在一块电路板上 ,但是这样实现有困难。因为对语音的采样频率一般为 8kHz ,如果每个样本用 8bit 表示 ,则一秒钟语音就需要 64kbit 的存储空间 ,对于外接存储器来讲 ,使用过多 ,不但成本高 ,而且占用空间。信息技术和超大规模集成电路工艺的不断发展,极大地推动了的 DSP 发
4、展。DSP 技术的应用领域也越来越广,尤其在音频处理领域。目前,在很多语音处理系统中都用到了语音录放模块,采集现场的声音并存储起来供以后回放。语音处理系统的实时性、功耗低、体积小、以及对语音信号的保真度都是很影响系统性能的关键因素。设计采用的高速芯片,能够很好的解决系统的实时性;采用 TMS320C5402 的数字编解码芯片 以下简称 TMS320C5402 (5402)具有位采样精度高,录音回放模式下仅 的 1632 23mW 低功耗的特点。因此,该音频编解码芯片与 54x DSP 的结合是可移动数字音频录放系统、现场语音采集系统的理想解决方案。它提出的设计方案 ,将数据的采集和处理经 DS
5、P 在现场处理 ,保存在硬盘中 ,供下次回放使用 ,很好地解决了以上问题。TMS320VC5402(以下简称 C5402)是 TI(德州仪器)公司 1999 年 10 月推出的性价比极高的定点数字信号处理器(DSP)。指令执行速率高达 100MIPS,已经广泛用于实时语音处理、个人数字助理(PDA)和数字无线通信等嵌入式系统。本系统主要研究在 TMS320VC5402 数字信号处理器从多路模数转换器(ADC)通道获取信息,并将经 DSP 处理后的数字信号传送到多路数模转换器(DAC)通道。但关键问题是怎样在 DSP 系统中十分容易且高效地实现这些转换,而这必然涉及到接口电路的设计。为此,本设计
6、将介绍一种在单片内集成有 ADC 通道和 DAC 通道的模拟接口器件TLC320AD50((简称 AD50)是 TI 公司生产的 SIGMA-DELTA 型单片音频接口芯片(AIC))与基于 DSP 的语音录放电路系统的设计第 1 页 共 33 页TMS320VC5402 缓冲串口进行接口的设计方法,同时通过对这种接口电路的硬件进行软件编程来实现音频信号的采集与回放。1.2 设计内容本系统主要包括:对语音信号进行放大、滤波、采样、A/D 转换等的预处理部分。目前, 在很多语音处理系统中都用到了语音录放模块,采集现场的声音并存储起来供以后回放。语音处理系统的实时性、功耗、体积以及对语音信号的保真
7、度都是影响系统性能的关键因素。该设计要求采用高速 54x DSP 芯片 ,最高频率能达到 100 MIPS,解决系统的实时性。设计一个符合要求的数字音频录放、现场语音采集系统。本设计实现的基于 DSP 语音录放系统具有如下要求:1)要求设计能接收 ADC/DAC 采样数据的通道2)能把接受的数据压缩储存 RAM 中3)要求语音信号频率在 4KHZ 左右4)要求采用高速 54x DSP 芯片,解决系统的实时性5)能不失真的进行真人真声的语音录放6)保证声音能长时间保存2.系统详细设计本设计采用的核心处理器是TI 公司的TMS320VC5402 DSP, 数字编解码芯片TLC320AD50实现了模
8、数转换和数模转换的功能。二者是通过DSP 内部的多通道缓冲串口( MCBSP0 ) 连接的, 其整个系统设计框图如图2所示。基于 DSP 的语音录放电路系统的设计第 2 页 共 33 页D S PT M S 3 2 0 V C 5 4 0 2时钟电路复位电路电源管理电路T L C 3 2 0 AD 5 0输入输出C P L D储存器扩展电路J T A G 仿真接口图 2.1 系统总体方框图图中,DSP 作为主芯片实现各模块之间的通信 , 其主要工作有: 上电自举, 并初始化音频编码芯片AD50等。 CPLD( 复杂可编程逻辑器件) 为整个系统提供时序 1。输入信号可以有各种各样的形式,它可以是
9、麦克风输入的语音信号或是电话线来的已调数据信号,也可以是编码后在数字链路上传输或存储在计算机里的语音信号等。输入信号首先进行滤波和采样, 然后经音频转换芯片 TLC320AD50 的ADC 通道转换后得到数字信号,输入到TMS320VC5402 中,在系统内部由各种处理算法将信号进行快速运算和处理。最后, 经过处理后的数字样值再经DAC 转换, 进行内插和平滑滤波就可得到连续的模拟波形。输出信号可以使耳机;扬声器等。整个系统以流水线的方式进行工作,一部分信号正在A/D 通道中进行ADC 转换,而另一部分信号则在DSP 处理器中同时进行算法处理 2。基于 DSP 的语音录放电路系统的设计第 3
10、页 共 33 页3 芯片选择3.1 DSP芯片的选择我们所用的TMS320VC5402 是TI 公司推出的性价比较高的定点数字信号处理器, 其主要特点是:先进的改造型哈佛结构, 操作速率可达 100MIPS; 先进的多总线结构, 3 条16 位数据存储总线和1 条程序存储器总线; 40 位算术逻辑单元( ALU) 包括1个40 位桶形移位器和2 个40 位累加器; 1 个1717 位乘法器和1 个40 位专用加法器, 允许16 位带或不带符号的乘法; 8 个辅助寄存器及 1 个软件栈,允许使用业界最先进的定点DSP C 语言编译器 ; 数据/ 程序寻址空间 1M16bit, 内置4K16bit
11、 ROM和16K16bit RAM; 内置可编程等待状态发生器、2 个多通道缓冲串行口、1 个8 位并行与外部处理器通信的HPI 口、2 个16 位定时器以及 6 通道DMA控制器; 低功耗, 工作电源有3V 和1.8V( 内核使用) 。TMS320C5402 DSP 芯片的主要特征如下: CPU先进的多总线结构(1 条程序总线,3 条数据总线和4 条地址总线) 40 位算术逻辑运算单元(ALU),包括1 个40 位桶型移位寄存器和 2 个立的40 位累加器7 位17位并行乘法器,与40 位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算比较,选择,存储单元(CSSU),用于加法/
12、比较选择指数编码器,可以在单周期内计算40 位累加器中数值得到指数双地址生成器,包括 8 个辅助寄存器和2 个辅助寄存器算术运单元(ARAU)存储器192K 字可寻址存储空间( 64K 字程序存储器,64K 字数据存储器以及64字I/O 空间) 片内ROM,可配置位程序/数据存储器片内双寻址RAM(DARAM)C5402 中的 DARAM 分为若干块。由于在每个机器周期内,允许对同一DARAM 块寻址 2 次,因此 CPU 可以在一个机器周期内对同一 DARAM 读出1 次。一般情况下,DARAM 总是映象到数据存储空间,主要用于存放数据。但是,它也可以映象到程序存储空间,用来存放程序代码 3
13、。 指令系统单指令重复和块指令重复操作;块存储器传送操作;32 位长操作数指令;同时读入 2 或 3 个操作数的指令;能并行存储和并行加载的算术指令;条件存储指令;从中断快速返回。基于 DSP 的语音录放电路系统的设计第 4 页 共 33 页 在片外围电路软件可编程等待状态发生器;可编程分区转换逻辑电路;带有内部震荡器或者用外部时钟源的片内锁相环(PLL)时钟发生器;时分多路; 缓冲串行口(BSP);16 位可编程定时器; 8 位并行主机接口(HPI);外部总线关断控制,以断开外部的数据总线、地址总线和控制信号; 数据总线具有总线保持器特性; 电源可用IDLE1,IDLE2,IDLE3 指令控
14、制功耗,使其工作在省电方式下;CLKOUT 输出信号可以关断; 在片仿真接口具有符合IEEE 1149.1 标准的在片仿真接口。3.2 语音编解码芯片选择从适应语音信号频率、满足实时性、降低成本和简化设计的要求出发, 该系统选择TLC320AD50 芯片。该器件与C5402 接口易于实现, 开发和使用更加方便。尤其适合应用于低比特率、高性能密集设备的话音增强, 识别及合成等的各种VOIP, 调制解调器和电话领域。AD50 集成了16 位A/ D 和D/A 转换器。使用过采样( Over Sampling ) 技术提供16 位A/ D 和D/ A低速信号转换, 该器件包括2 个串行的同步转换通道
15、( 用于各自的数据方向) , 工作方式和采样速率均可由 DSP 编程设置。其内部ADC 之后有抽样滤波器, DAC 之前有插值滤波器, 接收和发送可同时进行, 且输入输出增益控制可编程, 可工作在单端或差分方式 4。 AD50特点如下: 输入信号。单端信号输人,幅度在14V之间。 输出信号。单端信号输出,幅度在14V之间。 单一 5V电源供电,也可以使用5V模拟电源和3V数字电源同时供电。 最大工作功耗为100mW。 通用16位数据格式,也可以采用2的补码数据格式。 内部基准电压。 AD为64倍采样,DA为256倍采样。 支持各种V34协议的采样速率。 基于 DSP 的语音录放电路系统的设计第
16、 5 页 共 33 页 具有多种可选的采样频率。 支持商业级音响应用。 工作温度范围从40850。4 系统硬件设计根据本设计的特点,下面将选择性介绍其中部分原理和设计方法4.1 电源管理电路设计 现在的 DSP 均向着低电源电压、低功耗方向发展,工作电压为 3.3V 甚至更低。为了进一步降低 DSP 功耗,又不影响与外围电路的接口,TI 新一代 DSP 内核的 CPU 工作电压与其片内 I/O 设备的工作电压也不同。I/O 设备的电源电压(DVdd)一般是3.3V,CPU 的内核工作电压(CVdd)是 3.3V、2.5V 或 1.8V 甚至更低。这样,一片 DSP上就有两个不同得电源电压,并且
17、往往这两个电源电压加电的顺序也有要求,这要根据各个不同 DSP 芯片的数据手册来定。所以 TI 和其他公司也提供了许多单路或双路电源电压供电芯片。图示出了使用 TI 公司的电源芯片实现的 TMS320C5402DSP 的典型供电系统方案。TMS320C5402DSP 的 CPU 工作电压是 1.8V,片内 I/O 设备工作电压是3.3V。图 4-1-2 TPS76318 是将 5V 直流电压转换为 1.8V 的电压调整器;图 4-1-1 TPS76333 是将 5V 直流电压转换为 3.3V 的电压调整器。它们分别为 DSP 芯片的 CPU 和片内 I/O 设备提供工作电压 5。I N1GND
18、2E N3N C / F B4O U T5J P 1 1T P S 7 6 3 3 3C 1 21 . 0 u F+C 1 44 . 7 uR 1 21 RV c c + 5 vC V d d + 3 . 3 V图 4.1.1 转化 3.3V 的典型供电电路基于 DSP 的语音录放电路系统的设计第 6 页 共 33 页I N1GND2E N3N C / F B4O U T5J P 1 5T P S 7 6 D 3 1 8C 1 11 . 0 u F+C 1 34 . 7 uR 1 11 RV c c + 5 VD V d d + 1 . 8 V图 4.1.2 转化 1.8V 的典型供电电路在设
19、计 DSP 系统时,若在一个系统中同时存在 3.3V 和 5V 系列芯片,让两种电压芯片的输入输出直接连接是不行的,不仅会造成电平逻辑混乱,使电路不能正常工作,而且还有可能损坏元器件。在硬件电路中 DSP 芯片的引脚 CNT 可以调节 DSP 输入输出引脚与 TTL 与 CMOS 的兼容逻辑,既当 CNT 为高电平时,为 3V 工作状态,I/O 接口电平与 CMOS 电平兼容。当 CNT 下拉到低电平时,为 5V 工作状态,所有 I/O 接口与 TTL 电平兼容,因此在电路设计与应用时可以根据电路特点设置 CNT 引脚的状态 6。4.2 译码电路5402对外部接口的控制信号有限,又要同时完成对
20、A /D、D /A、EPROM的控制,最有效的办法是加入译码电路。本系统采用通用的328译码器74LS138,使用5402的高位地址线A13、A14、A15 作为译码输入, IS和IOSTRB作为译码使能端输入,译码地址见下表。表4.2.1 DSP译码地址信号名 地址 访问对象及操作CS1 2000H 使能DAC0832输入选通信号CS2 4000H 使能ADC0809输出允许信号CS3 6000H 启动ADC0809的数据转换基于 DSP 的语音录放电路系统的设计第 7 页 共 33 页4.3 时钟及复位电路设计4.3.1.时钟电路设计一般 C54X 芯片的时钟电路由两种。一种是利用芯片内部
21、的振荡电路与X1、X2/CLK 引脚之间连接的一只晶体和两个电容组成并联谐振电路如图 4.3.1 所示。它可产生与外加晶体同频率的时钟信号。电容 C1、C2 通常在 030pF 之间选择,它们可对时钟频率起到微调作用 7。另一种方法是采用封装好的晶体振荡器,将外部时钟源直接输入 X2/CLK 引脚,而X1 引脚悬空。由于此种方法简单方便,系统设计一般采用上种方法。但此方法抗干扰能力差,因此本设计中采用了无源晶振。图 4.3.1 内部振荡电路图4.3.2 复位电路设计C54X 的复位输入引脚/RS 使C54X 复位到一个已知状态。为保证 DSP 可靠复位,/RS 引脚必须为低电平,且至少保持 2
22、 个主频(CLKOUT)时钟周期。当复位发生时,DSP 终止程序运行,并使程序计数器 PC 复位为 0FF80H,地址总线也变成 0FF80H,数据基于 DSP 的语音录放电路系统的设计第 8 页 共 33 页总线为高阻,/PS、/MSTRB 和 R/W 等信号为高电平。复位脉冲消失后约 5 个时钟周期,DSP 开始从 0FF80H 处取代码执行 8。在设计复位电路时,一般应考虑两种复位需求:一种是上电复位;另一种是工作中的复位。在系统刚接通电源时,复位电路应处于低电平以使系统从一个初始状态开始工作。这段低电平时间应该大于系统的晶体振荡器启振时间,以便避开振荡器启振时的非线性特性对整个系统的影
23、响。通常,晶振需要 100200ms 的稳定时间,则上电复位时间应该=200ms。工作中复位则要求复位的低电平至少保持 5 个时钟周期,以使芯片的初始化能够正确完成。1.RC 复位电路元件参数的选用下图 4.3.2.1 是的上电复位加手动复位电路,由图可见,这是一个 RC 电路,该电路的时间常数t=RC=50*103*10*10-6uF=500ms由一阶 RC 电路的分析可知,上电后电容 C 通过 Vcc 和电阻 R 充电,电容 C 两端的电压为 Vc =(1-e-1/ )*Vcc设低电平与高电平的分界点为 2V,则由上式可求得复位电平由低变高的时间为t0=-RCIn(1-VRS/Vcc)=-
24、500*10-3In(1-2/5)ms=255msRC 复位电路成本较低,一般情况下能够保证系统正常复位。但其功耗较大,可靠性差;当电源出现瞬态降落时,由于 RC 的响应速度较慢,无法产生符合要求的复位脉冲。另外电阻、电容受工作环境特别是温度得影响较大,会给复位门限值的设计带来困难。由于 DSP 系统的时钟频率较高,在运行中极易产生干扰和被干扰,甚至出现掉电和死机现象,因此在 C54x 应用系统中一般都不采用这种 RC 复位电路,而使用性能全、价格低和可靠性高的集成自动监控复位芯片电路。基于 DSP 的语音录放电路系统的设计第 9 页 共 33 页图 4.3.2.1 上电复位电路图2.带有监控
25、功能的复位电路监控复位芯片是微处理器系统的监控复位集成电路,它提供上电复位、掉复位、电压跌落复位、备份电池切换和看门狗定时输出等多种功能;可以监控供电电源和微处理器的活动状态;提供复位脉冲,有效防止因时序错误而出现的误操作等。其中,3只引脚的监控复位芯片仅提供复位功能,其复位输出方式和复位门限均可选择。复位输出方式有漏极开路低电平输出、推挽式高电平输出及推挽式低电平输出等。复位门限选择范围 1.65.0V,步长为 100mV。4 只引脚得监控复位芯片除了提供上述功能外,还提供手动复位功能。该功能可以通过一个手动开关来实现。5 只以上引脚的监控复位芯片不仅提供看门狗功能,还提供双复位输入或双复位
26、输出等功能。下面对这些功能作一简单介绍。(1)复位输出 根据芯片的不同可分为低电平复位或高电平复位两种。低电平复位输出的芯片工作原理是:当电源电压低于复位门限时,复位输出电平由高变低 ,并一直保持低电平直至电源电压高于复位门限且延迟了一个固定的复位脉冲宽度时间之后才变为高电平。高电平复位输出的芯片与上述过程刚好相反。大多数 SOT 封装的复位芯片可提供 5 种标准的复位门限。MAX6314/MAX6315 则有较宽范围的用户可选门限电压,其复位门限有 2.55.0V,而级差 100mV 的各种电压规范,最小复位延迟时间为1ms、20ms、40ms、或 1.12ms 等。(2)看门狗功能 看门狗
27、用来监视微处理器的状态。若微处理器在看门狗定义的时间内没有输出,看门狗没有收到触发信号,则说明软件操作不正常(陷入死循环或基于 DSP 的语音录放电路系统的设计第 10 页 共 33 页掉入陷阱等),这时监控复位芯片会立即产生一个复位脉冲去复位微处理器。看门狗的记数时间是可以选择的。许多 5 脚以上封装的监控复位芯片都带有看门狗定时器,如 MAX823 输出低电平复位脉冲,MAX824 输出高电平复位脉冲。而MAX6316/MAX6317/MAX6320 还具有用户可选定门限电压、输出结构、复位时间延迟和看门狗定时延迟等多种可选功能。(3)备用电源切换和存储器写保护功能 当电源电压跌落到复位门
28、限以下且低于后备电源电压时,后备电源切换到被保护的 SRAM,保证不丢失存储数据。如 MAX1691内含有一个 3V、125mA/h 的锂电池,具有对 CMOS、SRAM、或 EEPROM 写保护以及看门狗等功能。下图 4.3.2.2 是用带有看门狗功能和电压监测功能的专用复位芯片 MAX706 组成的复位电路。图 4.3.2.2 专用复位芯片 MAX706 组成的复位电路图但考虑到成本因素,本系统选用了 RC 复位电路,如果在要求较高的系统里面就应该选择专用复位芯片了。4.4 储存器扩展电路TMS320C5402芯片共有20根地址线,最多可以扩展1兆字外部程序存储空间,其中高4位不可用。本系
29、统程序容量比较小,一般不超过16 kB,考虑充分利用芯片的内部资源,采用引导装载的方式,以降低系统的设计难度和设计成本,缩短产品研制周期。这里使用一片通用的64k 8 bit的EPROM 27C512。当程序编制好后转换成二进制文件,通过通用编程器烧到27C512 中即可 9。存储器扩展电路如图4.4所示。基于 DSP 的语音录放电路系统的设计第 11 页 共 33 页图4.4 存储器扩展电路4.5 McBSP 多通道缓冲串口C54X 提供高速、双向、多通道带缓冲串口 McBSP(Multi-channel buffered serial port)。它可以和其他C54X 器件、编码器等其他串
30、口器件通信。(1)McBSP 特点C54X 的多通道带缓冲串口 McBSP 是在标准串行口的基础上发展起来的,McBSP 特点如下: 全双工通信; 双缓冲发送和三缓冲接收数据寄存器,允许连续的数据流; 独立的收发帧信号和时钟信号; 可以与工业标准的编/解码器、AICS(模拟接口芯片)以及其他串行A/D、D/A 芯片接口; 数据传输可以用外部时钟,也可由内部可编程时钟产生; 当利用 DMA 为 McBSP 服务时,串行口数据读/写具有自动缓冲能力; 支持多种方式的传输接口;基于 DSP 的语音录放电路系统的设计第 12 页 共 33 页 可与 128 个通道进行收发; 支持传输的数据字长可以是
31、8 位、12 位、16 位、20 位、24 位、或 32位; 内置 u 律和 A 律硬件压扩; 对 8 位数据的传输,可选择 LSB 先传或 MSB 先传; 可设置帧同步信号和数据时钟信号的极性; 内部传输时钟和帧同步信号的可编程发生器。(2)McBSP 结构及工作原理McBSP 内部结构如图 4.5 所示,包括数据通路和控制通路两部分,并通过 7 个引脚与外部器件相连。McBSP 的引脚功能如表表 4.5.1 McBSP 的引脚功能表引脚 方式 功能CLKR I/O/Z 接受时钟CLKX I/O/Z 发送时钟DR I 串行数据接收DX O/Z 串行数据发送FSR I/O/Z 接收帧同步FSX
32、 I/O/Z 发送帧同步McBSP 控制模块包括内部时钟发生器、帧同步信号发生器以及控制电路和多通道选择 4 部分。主要功能是产生内部时钟、帧同步信号,并对这些信号进行控制、多通道的选择,产生中断信号 RINT 和 XINT,出发 CPU 的发送和接收中断以及产生同步事件REVTA、XEVTA、REVT 和 XEVT 触发 DMA 接收和发送同步事件 10。基于 DSP 的语音录放电路系统的设计第 13 页 共 33 页R S R R B R D R R扩展S P C RR C RS R G RX C RP C R时钟和帧同步信号发生和控制多通道选择X C E RR C E RM C RX S
33、 R D X R压缩D RD XC L K XC L K RF S XF S RC L K SR I N T X I N T R E V T X E V T R E V T A X E V T A图 4.5 McBSP 内部结构图在时钟信号和帧同步信号的控制下,接收和发送通过 DR 和 DX 引脚与外部器件直接通信。C54X 内部 CPU 对 McBSP 操作,利用 16 位控制寄存器,通过片内外设总线进行存取控制。如图所示,数据发送过程为:首先写数据于数据发送寄存器 DXR1,2,然后通过发送移位寄存器 XSR1,2将数据经引脚 DX 移出发送。类似的,数据接收过程为:通过引脚 DR 接收的
34、数据移入接收移位寄存器 RSR1,2,并复制这些数据到接收缓冲寄存器 RBR1,2,然后再复制到 DRR1,2,最后由 CPU 或 DMA 控制器读出。这个过程允许内部或外部数据通信同时进行。如果接收或发送字长 R/XWDLEN 被指定为8、12、或 16 位模式时,DRR2、RBR2、RSR2、DXR2、XSR2 等寄存器不能进行写、读和移位操作。CPU 位或 DMA 控制器可以对其余的寄存器进行操作,这些寄存器及其地址映射列于表表 4.5.2 子地址映射方式地址 子地址 名称缩写 寄存器名称基于 DSP 的语音录放电路系统的设计第 14 页 共 33 页McBSP0 McBSP1 McBS
35、P2- - - RBR1,2 接收移位寄存器 1,2- - - RSR1,2 接收缓冲寄存器 1,2- - - XSR1,2 发送移位寄存器 1,20020H 0040H 0030H - DRR2x 数据接收寄存器 20021H 0041H 0031H - DRR1x 数据接收寄存器 10022H 0042H 0032H - DXR2x 数据发送寄存器 20023H 0043H 0033H - DXR1x 数据发送寄存器 10038H 0048H 0034H - SPSAx 子地址寄存器0039H 0049H 0035H 0000H SPCR1x 串口控制寄存器 10039H 0049H 00
36、35H 0001H SPCR2x 串口控制寄存器 20039H 0049H 0035H 0002H RCR1x 接收控制寄存器 10039H 0049H 0035H 0003H RCR2x 接收控制寄存器 20039H 0049H 0035H 0004H XCR1x 发送控制寄存器 10039H 0049H 0035H 0005H XCR2x 发送控制寄存器 20039H 0049H 0035H 0006H SRGR1x 采样率发生寄存器 10039H 0049H 0035H 0007H SRGR2x 采样率发生寄存器 20039H 0049H 0035H 0008H MCR1x 多通道寄存器
37、 10039H 0049H 0035H 0009H MCR2x 多通道寄存器 20039H 0049H 0035H 000AH RCERAx 接收通道使能寄存器 A0039H 0049H 0035H 000BH RCERBx 接收通道使能寄存器 B0039H 0049H 0035H 000CH XCERAx 发送通道使能寄存器 A0039H 0049H 0035H 000DH XCERBx 发送通道使能寄存器 B0039H 0049H 0035H 000EH PCRx 引脚控制寄存器McBSP 通过一系列存储器映射控制寄存器来进行配置和操作,采用子地址寻址方式。McBSP 通过复接器将一组子地
38、址寄存器复接到存储器映射的一个位置上。复接器由子块地址寄存器(SPSAx)控制。子块数据寄存器(SPSDx)指定子地址寄存器中数据的读/写,其子地址映射方式如表 4.5.2 所示。这种方法的好处是可以将多个寄存器映射到一个较小的存储器空间。基于 DSP 的语音录放电路系统的设计第 15 页 共 33 页为访问某个指定的子地址寄存器,首先要将相应的子地址写入 SPSAx,SPSAx 驱动复接器,使其与 SPSDx 相连可,接入相应子地址寄存器所在的实际物理存储位置。当向 SPSDx 写入数据时,数据送入前面子地址寄存器中所指定的内嵌数据寄存器;当从SPSDx 读取数据时,也接入前面子地址寄存器中
39、所指定的内嵌数据寄存器。(3)McBSP 的初始化McBSP 的复位两种方式:一种是芯片复位,同时 McBSP 被复位;另一种是通过设置串口控制寄存器(SPCR)中的相应位,单独使 McBSP 复位。设置/XRST=/RRST=0 将分别使发送和接收复位,/GRST 将使采样率发生器复位。复位后,整个串口初始化为默认状态。所有计数器及状态标志均被复位,包括接收状态标志 RFULL、RRDY 及 RSYNCERR;发送状态标志/XEMPTY、XRDY、及 XSYNCERR。McBSP 的控制信号,如时钟、帧同步和时钟源都是可以设置的。McBSP 中各个模块的启动/激活次序对串口的正常操作极为重要
40、。例如,如果发送端是主控者(负责产生时钟和帧同步信号),那么首先就必须保证从属者(在这里也是数据接收端)处于激活态,准备号接收帧信号以及数据,这样才能保证接收端不会丢失第一帧数据。如果采用中断方式,需设置 SPCR 寄存器的(R/X)INTM=00B,这样当 DRR 寄存器中数据已经准备好或可以向 DXR 中写入数据时允许 McBSP 产生中断。McBSP 的初始化步骤如下:(1)设置 SPCR 中的/XRST=/RRST=/FRST=0,将整个串口复位。如果在此之前芯片曾复位,则这步可省略。(2)设置采样率发生器寄存器(SRGR)、串口控制寄存器(SPCR)、引脚控制寄存器(PCR)和接收控
41、制寄存器(RCR)为需要的值。注意不要改变第一步设置的位。(3)设置 SPCR 寄存器中/GRST=1 时采样率发生器退出复位状态,内部的时钟信号CLKG 开始由选定的时钟源按预先设定的分频比驱动。如果 McBSP 收发部分的时钟和帧同步信号都是由外部输入,则这一步可省略 11。(4)等待两个周期的传输时钟(CLKR/X)以保证内部正确同步。(5)在中断选择寄存器中,映射 XINT0/1 和(或)RINT0/1 中断。(6)使能所映射的中断。基于 DSP 的语音录放电路系统的设计第 16 页 共 33 页(7)如果发送端不是帧信号主控端(帧同步由外部输入),设置/XRST=1 或/RRST=1
42、,使之退出复位态,此时作为从属的收发端已准备好接收帧同步信号。新的帧同步中断信号(R/X)INT M=10B)将唤醒该收发端。(8)使帧信号主控端退出复位态。(9)如果 FSGM=1(帧同步由采样率发生器产生),设置/FRST=1,使能帧同步产生,8 个 CLKG 周期后开始输出第一个帧同步信号。如果 FSGM=0,将在每次 DXR 向 XSR中复制数据时产生帧同步,/FRST 位无效。不管怎样,此时主控端开始传输数据。一旦 McBSP 初始化完毕,每一次数据单元的传输都会触发相应的中断,可以在中断服务程序中完成 DXR 的写入或是 DRR 的读出。4.6 JTAG 在线仿真调试接口电路设计J
43、TAG(Joint test access group)标准,是国际电气和电子工程师协会 IEEE 1990 年公布得 1149.1 标准。它是针对现代超大规模集成电路测试、检测困难而提出的基于边界扫描机制和标准测试存储口的国际标准。边界扫描就是对含有 JTAG 逻辑的集成电路芯片边界引脚(外引脚)通过软件完全控制和扫描观察其状态的方法。这种能力使得高密度的大规模集成芯片在线(在电路板上及工作状态中)测试成为可能。其原理是在芯片的输入/输出引脚内部安排存储单元,用来保存引脚状态,并在内部将这些存储单元连接在一起,通过一个输入脚 TDI 引入和一个输出脚 TDO 引出。正常情况下,这些存储单元(
44、边界单元)是不工作的,在测试模式下存储单元输入/输出口状态,并在测试存储口(TAP)的控制下输入/输出 12。IEEE 1149.1 标准公布后,TI 公司为其以后的 DSP 器件均设置符合国际标准的JTAG 逻辑测试口,通过 JTAG 测试口访问和调试 TI DSP 芯片。仿真电缆和 DSP JTAG测试口的连接是通过一个 14 脚的插座头(仿真头)来实现的。仿真头上信号连接关系如图 4.6.1 所示,其中主要引脚 TDI 和 TDO 是测试数据的输入和输出,TMS 是测试模式选择,TCK 和 TCKRET 是测试时钟的输出和返回。基于 DSP 的语音录放电路系统的设计第 17 页 共 33
45、 页图 4.6.1 仿真头信号连接关系图图 4.6.2 当仿真器与 DSP 距离大于 15.24cm 时,DSP 芯片 JTAG 逻辑测试口和 14 引脚的仿真座之间的连接关系。当二者距离小于 15.24cm 时,如图 4.6.3 所示,它们之间可以不加缓冲驱动器。本设计中考虑到实际操作中的方便,采用加入缓冲驱动器。TMS320C5402E M U 1E M U 0T R S TT M ST D IT D OT C KE M U 1E M U 0/ T R S TT M ST D IT D OT C KT C K - R E TG N DG N DG N DG N DP D ( V c c )
46、V c cV c c123457891 01 11 21 31 4图 4.6.2 距离大于 15.24cm 时加入缓冲驱动器图TMS320C5402E M U 1E M U 0T R S TT M ST D IT D OT C KE M U 1E M U 0/ T R S TT M ST D IT D OT C KT C K - R E TG N DG N DG N DG N DP D ( V c c )V c cV c c123457891 01 11 21 31 4仿 真 器 接 头如图 4.6.3 距离小于 15.24cm 时不加缓冲驱动器图基于 DSP 的语音录放电路系统的设计第 18 页 共 33 页4.7 A/D和D/A接口模块设计TMS320C54X 有多个 McBSP(多通道