基于dsp的音频信号发生器的设计及实现毕业论文内容摘要:

P0口 P0口为一个 8位漏级开路双向 IO口每脚可吸收 8TTL门电流当 P1口的管脚第一次写 1 时被定义为高阻输入 P0 能够用于外部程序数据存储器它可以被定义为数据地址的第八位在 FIASH编程时 P0 口作为原码输入口当 FIASH进行校验时 P0 输出原码此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 IO口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后被内部上拉为高可用作输入 P1 口被外部下拉为低电平时将输出电流这是由于内部上拉的缘故在 FLASH 编程和校验时 P1口作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 IO口 P2 口缓冲器可接收输出 4 个 TTL 门电流当 P2口被写 1 时其管脚被内部上拉电阻拉高且作为输入并因此作为输入时 P2 口的管脚被外部拉低将输出电流这是由于内部上拉的缘故 P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取时 P2口输出地址的高八位在给出地址 1 时它利用内部上拉优势当对外部八位地址数据存储器进行读写时 P2口输出其特殊功能寄存器的内容 P2口在 FLASH编程和校验时接收高八位地址信号和控制信号 P3口 P3口管脚是 8个带内部上拉电阻的双向 IO口可接收输出 4个 TTL门电流当 P3 口写入 1 后它们被内部上拉为高电平并用作输入作为输入由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口如下表所示 管脚 备选功能 P30 RXD 串行输入口 P31 TXD 串行输出口 P32 INT0 外部中断 0 P33 INT1 外部中断 1 P34 T0 记时器 0 外部输入 P35 T1 记时器 1 外部输入 P36 WR 外部数据存储器写选通 P37 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST复位输入当振荡器复位器件时要保持 RST脚两个机器周期的高电平时间 ALEPROG 当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节在 FLASH编程期间此引脚用于输入编程脉冲在平时 ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的 16 因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是每当用作外部数据存储器时将跳过一个 ALE脉冲如想禁止 ALE的输出可在 SFR8EH地址上置 0此时 ALE只 有在执行 MOVXMOVC指令是 ALE 才起作用另外该引脚被略微拉高如果微处理器在外部执行状态 ALE禁止置位无效 PSEN 外部程序存储器的选通信号在由外部程序存储器取指期间每个机器周期两次 PSEN有效但在访问外部数据存储器时这两次有效的 PSEN信号将不出现 EAV 当 EA 保持低电平时则在此期间外部程序存储器 0000HFFFFH 不管是否有内部程序存储器注意加密方式 1时 EA将内部锁定为 RESET当 EA端保持高电平时此间内部程序存储器在 FLASH编程期间此引脚也用于施加 12V编程电源 V XTAL1 反 向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 振荡器特性 XTAL1和 XTAL2分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件 XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器因此对外部时钟信号的脉宽无任何要求但必须保证脉冲的高低电平要求的宽度 串口描述 TMS320VC5402 以其低成本低功耗资源多的特点在通信控制领域得到了广泛的应用片上集成了最大 192kB 存储空间 64kB RAM64kB ROM64kB IO 具有时分多路串口 TMD2个缓冲串口 BSP8位并行主机接口 HPI可编程等待状态发生器等完全可以满足数据处理及控制要求基于 5402 构建的应用系统中必不可少的是各种数据通信接口的设计与并口相比串行接口的特点是减少器件引脚数目节省了硬件系统的体积降低了接口设计的复杂性实际应用中各系统之间需要实现异步串行数据传输和通信而 DSP5402 具有同步串口与标准的异步串行接口不同本文针对这种应用设计实现了 DSP5402 和 PC 机的异步串行通信 RS232 接口电路 串行接口有异步和同步两 种基本通信方式异步通信采用异步传送格式数据发送和接收均将起始位和停止位作为开始和结束的标志起始位占用一位低电平用来表示字符开始其后为 7 或 8 位的数据编码第 8 位通常做为奇偶校验位最后为停止位高电平用来表示字符传送结束上述字符格式通常作为一个串行帧如无奇偶校验位即为 每秒传送的数据位称为波特率如数据传送的波特率为2400 波特 帧格式 10 位则每秒传送字节为 120 个而字节中每一位传送时间即为波特率的倒数 T 12400 0416ms 根据数据传送的波特率即字节中每一位的传送时间我们便可用普通 IO 口 来模拟实现串行通信的时序本设计硬件 AT89C51 单片机通过普通 IO 口与 RS232 串口实现 232 与串口相连的结构图如图 32 所示 图 32 232 与串口相连的结构图 接口程序设计 软件设计中 89C51 单片机的 P00 模拟串行通信的发送其接口程序主要由 OUTPUT 发送子程序组成通信速率 2400 bit s 帧 发送时先发送一个起始位低电平接着按低位在先的顺序发送 8 位数据最后发送停止位其中软件编写要严格按照异步通信的时序进行每 bit 位传送时间间隔按通信速率2400 bit s 计算为 416μ s 该系统中 DSP 与主控计算机的数据通讯采用 RS232 标准驱动电路选用 232A 芯片 232A 功耗低集成度高片内集成电荷泵只需外接 5V 电源具有两个发送接收通道接口电路简单可靠性好 RS232 通信原理 RS232接口单元是用软件在 DSP上实现的可提供 110- 115200波特低速通信接口 RS232 为低速率应用提供通信接口可以与普通 PC 路由器连接系统原型中利用 5402 的 XFBIOINT0 和定时器实现一个最简 RS232 接口支持从 110 到115200 各种波特率 DSP 通过 XF 管脚向 RS232 口发送串行数据 通过 BIO 管脚接收来自 RS232 口的串行数据 BIO 与 INT0 相连可以避免频繁检测接收管脚的电平当接收端出现第一个低电平认为是接收字节的开始位每次判决电平位置在每个比特的中间位置可以最大限度的防止误判的发生 RS232 接口的主要逻辑都是用5402汇编语言编写的减少了硬件成本和系统体积发送时先将 8位原始数据加上 1位起始位和 2位停止位然后根据波特率设定时钟间隔每次时钟中断发生时发送 1位数据直到包含这 8 位原始数据的 11 位数据全部发送完成 接收时由低电平触发 INT0中断表示有新数据到来进入 INT0中断服务子程序为 防止误判中断子程序首先检查接收到的第 1 位是否为开始位如果不是说明并未有新数据到来如果确是开始位则屏蔽 INT0 中断根据波特率设置定时器开始数据接收每次接收时钟中断发生检测 BIO 值并将检测值依次移入接收寄存器最后去掉开始位和停止位将 8 位数据位存入接收缓存完成 1 个字节的接收 声卡 声卡可以成为一个优秀的数据采集系统 它同时具有 AD 和 DA 转换功能 不仅价格低廉 而且兼容性好性能稳定灵活通用 驱动程序升级方便同时一般声卡 16位的 AD转换精度 比通常 12位 AD卡的精度高 对于许多工程测量和科学实验来说都是足够 高的 其价格却比普通数据采集卡便宜得多本文就是利用普通声卡作数据采集卡 AIC23B 结构图如图 33 所示 图 33 AIC23B 结构图 声卡作为语音信号与计算机的通用接口 其主要功能就是将所获取的模拟音频信号转换为数字信号 经过音效芯片的处理 将该数字信号转换为模拟信号输出声卡的基本工作流程为输入时 麦克风或线路输人获取的音频信号通过 AD 转换器转换成数字信号 送到计算机进行播放录音等各种处理输出时 计算机通过总线将数字化的声音信号以 PCM 脉冲编码调制 方式送到 DA转换器 变成模拟的音频信号 进而 通过功率放大器或线路输出送到音箱等设备转换为声波 为了用声卡采集数据必须先设定声卡的主要技术参数 采样频率目前 普通声卡的最高频率为 441khz 一般采样频率分为 4 档 根据采样定理 采样频率应为被测信号频率的 2 倍以上 采样位数将声音从模拟信号转化为数字信号的二进制位数按位数分声卡有 8 位声卡 16 位声卡位数越高 在定域内能表示的声波振幅的数目越多 记录的音质也就越高所以一般设定为 16 位 缓冲区一般声卡使用的缓冲区为 8KB 字节 这是由于对 X86 系列处理器而言 在保护模式下 内存以 8KB 为单 位被分成了很多页 对内存的任何访问都是按页进行的 CPU保证在读写 8KB长度的内存缓冲区时 速度足够快 并且不会被其他外来事件打断设置 8KB 字节或其整倍数大小的缓冲区 可以较好地保证声卡与CPU 的协调工作在设定了声卡的主要参数后 在利用声卡的 DMA 方式进行数据采集 在以计算机为中心的测试系统中模拟信号进入计算机前要首先经过数据采集卡 由数据采集卡的采样器以等时间间隔进行采样则采样时刻 0T2T 所取得的信号的瞬时值构成了连续信号的离散时间序列而后再经 AD 转换器在幅值上量化得到时间和幅值上都变为离散的数字信 号称为采样信号以声卡作为语音信号采集工具的虚拟音频信号分析系统主要完成对已进行 DA 转换后的数字信号 音频信号发生器设计的算法 DDS 算法简介 直接数字合成 DDS- Direct Digital Synthesizer 是近几年发展起来的一种新的频率/波形合成技术该技术具有频率分辨率高转换速度快信号纯度高相位可控输出信号无电流脉冲叠加输出可平稳过渡且相位保持连续变化等优点近年来在通讯雷达 GSP 蜂窝基站图像处理及 HDTV 等领域得到了广泛应用 该技术是根据奈奎斯特取样定理从连续信号的相位Φ出发对一个正弦信 号进行取样量化编码然后将形成的正弦函数表存入 ROM/ RAM 中合成时则通过改变相位累加器的频率控制字来改变相位增量相位增量不同将导致一个周期内取样点数的不同因角频率ω=△φ△t故可在取样频率不变的情况下通过改变相位累加器频率控制字的方法将这种变化的相位/幅值量化为数字信号然后通过 D/ A 变换和低通滤波即可得到相位变化的合成模拟信号频率 图 41 DDS 的基本原理框图 图 41是 DDS的基本原理框图它主要由四部分组成第一部分为相位累加器用于决定输出信号频率的范围和精度第二部分为正弦函数功能表波形存储器用于存储经量化和离散后的正弦函数的幅值第三部分为 D/ A 转换可产生所需的模拟信号第四部分为低通滤波用来减少量化噪声消除波形尖峰参考频率源是一个高稳定度的晶体振荡器用以同步 DDS 中各部件的工作因此 DDS 输出的合成信号的频率稳定度和晶体振荡器是一样的从原理上还可看出它是用高稳定的固定时钟频率来对所要合成的信号进行相位取样的单位时间内取样量越大则合成的频率越低取样量的大小由可程控的频率设定数据决定 步长计算查表 DDS 技术的核心是波表即波形存储器本系统所产生的所有波形都有自己的波表正弦波的波表 SinTab 方波的波 表 Square Tab 三角波的波表 Triangle Tab锯齿波的波表 Tooth Tab在系统运行过程中只需到各自的波表中按照一定的步长查表即可得到相应的频率波形 在系统界面根据需要输入相应的频率 F 由系统换算成相应步长即频率控制字 step 再根据步长查表具体的计算公式为 其中 L 为波表的长度 fs 为声卡的采样率 44100Hz 就是我们所说的 44KHz 而后系统根据步长查表得到一组离散幅度值再由声卡的 DALPF 滤波最终得到所需要的信号 在整个系统编程中为了得到连续不断的波形采用了双缓冲的方法即声卡采集数据放入缓冲区 1 系统读取数据进行处理输出同时声卡继续采集数据放入缓冲区 2代系统处理完缓冲区 1的数据后再处理缓冲区 2的数据这时缓冲区 1又可以存放声卡采集的数据了整个过程就可以连续起来避免了数据的丢失 DDS 的特点 在相对带宽频率转换时间高分辨力相位连续性正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平为系统提供了优于模拟信号源的性能 1 能产生任意波形 2 分辨率高可以实现 HzHz 甚至 Hz 的频率步进量 3 频率信号宽所产生的信号频率最低可达 Hz可认为 DDS的最低合成频率接近零频输出频率 最高可达 100MHz 以上 4 输出频率转换速度快与锁相系统不同因 DDS 是一个开环系统当一个新的频率数据送入时它就会迅速合成并输出该频率而且输出的变化是一个平稳的过程转换时间可达 s 级甚至 ns 级 5 由于 DDS 中几乎所有部件都属于数字电路易于集成功耗低体积。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。