基于dsp的音频信号发生器的设计及实现内容摘要:
号 BFSR0、串口发数时钟 BCLKX0、串口发数端 BDX0、串口发数同步信号 BFSX0。 利用缓冲区的目的是进行音效的实时处理。 系统中各模块是同时进行处理的,一部分信号正在 ADC 中进行转换,而另一部分信号则在 DSP 处理器中同时进行算法处理,即整个系统是以流水线的方式进行工作。 VC5402 的 MCBSP 是一种同步串行接口 ,支持多种通信方式和 SPI协议 ,该串口可以根据设计者的不同需求进行配置 ,使用非常灵活。 它的主要特点如下 :全双工的串行通信。 连续的发送和接收数据流功能。 具有外部时钟输入或内部可编程时钟两种时钟控制方式。 可独立编程的发送和接收帧同步。 多通道数据传输 (最多可达 128 个 通道 )。 可选的数据宽度 : 1 1 24 或 32 位。 用于数据压缩的μ律和 A 律压缩扩展。 可编程的时钟和帧同步极性。 MCBSP 包括 6 个引脚 ,分别是串行数据发送信号 DX、串行数据接收信号DR、发送时钟信号 CLKX、接收时钟信号 CLKR、发送帧同步信号 FSX 和接收帧同步信号 FSR。 由于 MCBSP 内带有一个可编程的采样和帧同步时钟产生器 ,所以串口接收、发送时钟和帧同步等信号既可由内部产生 ,也可以由外部输入。 MCBSP 接收和发送数据的过程如下 :在发送数据时 ,首先将要发送的数据本科毕业设计(论文) 13 写到 DXR 寄存器中 ,若 XSR寄存器为空 (说明上一次发送的数据已经由 DX引脚送出 ),则将 DXR寄存器中的数据拷贝到 XSR寄存器中。 然后在帧同步 FSX和时钟 CLKX 的作用下 ,将 XSR 寄存器中的数据逐位移到 DX 引脚输出。 在数据从DXR 寄存器复制到 XSR 后 ,就可以将下一个要发送的数据写到 DXR 寄存器中 ,因而可以保证数据的连续发送。 串口接收数据的过程与发送基本类似 ,但方向相反且 VC5402 的多通道串口的接收带三个缓冲器。 在 VC5402 片内 ,CPU 与 MCBSP 之间的数据传送有三种方式 :查询方式、中断方式和 DMA 方式。 每当串口接收到一 个字 (新接收的数据复制到 DRR[1,2]寄存器中 )或发送的字从 DXR 寄存器拷贝到 XSR 寄存器中时 ,都会改变串口控制寄存器 1(SPCR1)中的 RDDY 和串口控制寄存器 2(SPCR2)中的 XRDY 标志位 ,所以 CPU 可以通过不断查询的方法知道数据是否发送完毕以及是否接收到新的数据 ,从而决定下一步操作。 CPU 还可以通过串口的接收或发送中断事件 ,在中断服务程序中完成数据的传送 ,中断的触发事件是可以选择的 ,在进行处理之前必须预先设置好串口控制寄存器 1(SPCR1)和串口控制寄存器 2(SPCR2)中相应的位。 第三种传数方 式就是通过芯片的 DMA 与串口相连 ,由串口同步事件触发 DMA 完成数据的传送。 167。 主机接口 由前面分析我们知道,由于 DSP 的控制功能不是非常强大 ,在应用中往往不得不把 DSP 作为目标系统专门负责复杂的运算 ,而另外使用一个主机 (PC机或是单片机 )对整个系统的运行实行控制。 所以 ,在使用 DSP 的多处理器系统中 ,主机 (单片机、 PC 机、另一个 DSP 芯片 )与目标系统 DSP 的数据交换就成为应用系统设计中必须考虑的重要问题。 在本系统中,我们用用主机接口HPI 把经过处理后的结果传送给控制芯片 89c51。 主机接 口 HPI(Host Pott Interface)是 C54x DSP 系列定点芯片内部具有的一种并行接口部件,主要用于与其他总线或 CPU 之间进行通信。 主机是HPI 口的主控者, HPI 口作为一个外设与主机连接,使主机的访问操作很方便。 主机通过以下单元与 HPI 口通信:专用地址和数据寄存器、 HPI 控制寄存器本科毕业设计(论文) 14 以及外部数据和接口控制信号。 HPI 有两种工作方式:共用寻址方式 (SAM)和仅主机寻址方式 (HOM)。 在 SAM 方式下,丰机和 C54x 都能寻址 HPI 存储器;在 HOM 方式下,仅能让主机寻址 HPI 存储器, C54x 则处于复位 状态,或者处在所有内部和外部时钟都停止工作的 IDLE2 空闲状态 (最低功耗状态 )。 VC5402 是 TI公司推出的一款性价比极高的 16位定点处理器。 它是 C54x系列中应用比较广泛的一种芯片,有着丰富的接口资源,是一种集数据处理和通信功能于一体的高速微处理器。 VC5402 HPI 口是一个增强的 8 位主机接口,它通过 HPI 控制寄存器 HPIC、地址寄存器 HPIA 和数据锁存器 HPID 来实现与主机之间的通信。 主机通过外部引脚 HCNTLO 和 HCNTL1 选中不同的寄存器,则当前发送 8 位数据就到该寄存器。 控制寄存器 HPIC 既可以被主机直接访问,又可以被 DSP 片上 CPU 访问。 在使用上,由于主机接口总是传输 8 位字节,而 HPIC 是一个 16 位寄存器,所以主机向 HPIC 写数据时,需要发送 2个相同的 8 位数据。 地址寄存器 HPIA,只能被主机直接访问。 主机将 HPIA寄存器视为一个地址指针,借助于 HPIA 主机可以访问 VC5402 全部的片上存储器。 另外 HPIA 具有自动增长的功能,在自动增寻址模式下,一次数据读会使 HPIA 在数据读操作后增加 1,而一个数据写操作会使 HPIA 操作前预先增加 l。 这样如果使能了该功能,则只须设定一次 HPIA 即可实现连续 数据块的写入和读出。 数据寄存器 HPLD,只能被主机访问。 如果当前进行的是读操作,则 HPID中存放的是要从 HPI存储器中读出的数据;如果当前进行的是写操作,则存放的是将要写到 HPI 存储器的数据。 TMS320C54x系列 DSP芯片中的 HPI,能够顺序传送或随机传送数据 ,产生HOST 中断和 C54x 中断 ,接口灵活 ,并可通过 DMA 总线访问片内 RAM。 当 TMS320 C54X 与主机 (或主设备 )交换信息时 ,HPI 是主机的一个外围设备。 HPI 有 8 根数据线 HD(0~ 7),在 TMS320C54x 与 HOST 传送数据时 ,HPI 能自动将外部接口传来的连续数据组合成 16 位数后传送给 DSP。 如果 HOST 和 DSP 竞争同一个地址 ,则 HOST 优先 ,DSP 等待一个 HPI 周期。 TMS320C54x 系列发展到 TMS320VC5402 的时候 ,其 HPI 已经得到了增强 ,被称为 HPI8。 和 TMS320C54x 系列前几款芯片中的标准 HPI 相比 ,HPI8 在几个方面有所不同: 本科毕业设计(论文) 15 HPI8 的使用是通过对 HPIA、 HPIC 和 HPID 三个寄存器赋值实现的。 HPIA是地址寄存器 ,HPIC 是控制寄存器 ,而 HPID 是数据寄存器。 简单地说 ,HOST通 过外部引脚 HCNTL0 和 HCNTL1 选中不同的寄存器 ,则当前发送的 8 位数据就送到该寄存器。 在使用上 ,由于 HPIC 是 16 位寄存器 ,而 HPI8 是 8 位的数据宽度 ,所以在 HOST 向 HPIC 写数据时 ,需要发送两个一样的 8 位数据。 而地址寄存器 HPIA 选择后 ,直接向它写数据就可以了 ,但是要注意 MSB 和 LSB 的顺序。 另外 ,HPIA 具有自动增长的功能 ,在每写入一个数据前和每写入一个数据后 ,HPIA 会自动加 1。 这样 ,如果使能了该功能 ,只需设定一次 HPIA 即可实现连续数据块的写入和读出。 数据寄存器 HPID,严格说应该叫做数据缓 冲寄存器 ,因为最终数据是要写到片内 RAM 的。 只是在实现上 ,数据首先从 HOST 发到HPID 中 ,然后根据 HPIA指定的地址 ,HPID 中的数据再写到片内 RAM的地址中。 不过对用户而言 ,该过程是透明的。 本科毕业设计(论文) 16 第 3章 音频信号发生器的外设 167。 89C51 芯片的描述 89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPEROM— Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8位微处理器,俗称单片机。 高性能 CMOS8 位单片机,片内含 4K bytes 的可反复擦写的 Flash 只读程序存储器和 128bytes 的随机数据存储器( RAM),器件采用 ATMEL 公司的高密度,非易失性存储技术生产,兼容标准 MCS51 指令系统。 功能强大的 89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域 167。 89C51 的主要性能高如下 MCS 51 兼容。 2 KB 可编程闪速存储器。 1 000 次擦 /写循环。 10 年。 V~6 V。 0 Hz~24 Hz。 8 位内部 RAM。 条可编程 I/O 线。 个 16 位定时器 /计数器。 个两级中断源。 UART 通道。 LED 驱动输出。 本科毕业设计(论文) 17 167。 89C51 的引脚及说明 89C51 引脚配置图如图 31 所示: 图 3 1 89C51 引脚配置 VCC:供电电压。 GND:接 地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘 故。 在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉本科毕业设计(论文) 18 高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 管脚 备选功能 : RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部 中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE端以不变的频率周期输出正脉冲信号,此频率 为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 本科毕业设计(论文) 19 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/V pp :当 /EA 保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH编程期间,此引脚也用于施加 12V 编程电源( Vpp )。 XTAL1:反向振荡放大器的输入及内部。基于dsp的音频信号发生器的设计及实现
相关推荐
P0口 P0口为一个 8位漏级开路双向 IO口每脚可吸收 8TTL门电流当 P1口的管脚第一次写 1 时被定义为高阻输入 P0 能够用于外部程序数据存储器它可以被定义为数据地址的第八位在 FIASH编程时 P0 口作为原码输入口当 FIASH进行校验时 P0 输出原码此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 IO口 P1 口缓冲器能接收输出 4TTL
1 VCCA 模拟电源 +5V 18 AGND 模拟地 2 VCCA 模拟电源 +5V 19 ADINB6 模拟输入通道 B6 3 CAP1 CAP输入端 1 20 ADINB7 模拟输入通道 B7 4 CAP2 CAP输入端 2 21 ADREFIN 测试引脚 5 ADINA2 模拟输入通道 A2 22 ADCREFLO 模拟参考低电压输入 6 ADINA3 模拟输入通道 A3 23
2/12/11 NjRgRgRgNjh nghnjeNWNWWeWnwFTeW ( 29) 当 1N 时, NN 1 ,则 NWNWWW RgRgRghng ( 210) hngW
DSP 芯片所必须有的单周期乘法器。 1980 年,日本 NEC 公司推出的 mP D7720 是第一个具有硬件乘法器的商用 DSP 芯片,从而被认为是第一块单片 DSP 器件。 随着大规模集成电路技术和半导体技术的发展, 1982 年世界上诞生了第一代 DSP芯片 TMS32020 及其系列产品。 这种 DSP 器件采用微米工艺 NMOS 技术制作,虽功基于 DSP 的温度采集系统设计 8
进入点设定 0 0 0 0 0 0 0 1 I/D S 指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位 游标或显示移位控制 0 0 0 0 0 1 S/C R/L X X 设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 功能设定 0 0 0 0 1 DL X RE X X DL=0/1:4/8 位数据 RE=1:扩充指令操作 RE=0:基本指令操作 设定
编程。 为了满足SST39VF400A 的时序要求, XF 与 相“或”后接至。 了内部 32k 字 RAM 和 16K 字 ROM 之外,TMS320C5409 还可以扩展外部存储器。 其中, 数据总空间总共为 64k 字(0000H~FFFFH),I/O 空间为 64K 字(0000H~FFFFH),程序空 间为 8M。 8M 的程序空间的寻址是通过额外的 7