AVR335数字语音记录仪(翻译)_第1页
AVR335数字语音记录仪(翻译)_第2页
AVR335数字语音记录仪(翻译)_第3页
AVR335数字语音记录仪(翻译)_第4页
AVR335数字语音记录仪(翻译)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、。AVR335:利用AVR和数据闪存器制作的数字记录仪公能特点: 1 数据声音记录 2 8比特声音记录 3 8千赫兹采样速率 4 声音频率达到四千赫兹 5 记录时间可达225秒 6 仅仅550字节的编码长度使用说明: 这个应用举例说明了如何利用AVR单片机做中央控制器并依靠A/D转换器以及AT45DB161和一些外部电路进行声音的记录,存储和恢复。这里还详细介绍了如何利用A/D转换器进行声音的记录接收来自外部接口的数据并对回放进行脉宽幅度调制。应用范围很广,例如数字温度计,电话自动应答机声音记录仪等 AT45DB161是一个2.7伏的外部接口闪存器。它的16兆空间被分为4096页,每页528个

2、字节。它的主要存储空间包含了两个528字节得静态数据缓冲器。它允许连续得数据写入数据闪存器 AT45DB161用一个外部接口可反复接收数据。下面是硬件说明,它提高接口的可实现性,尽可能减小静态噪声包装尺寸和引脚数量。典型应用是图片存储.和数字声音记录数据存储。数据闪存器可以工作在外部接口电路频率最大为13兆赫兹,电流为4毫安。它进行读写工作时的电压可以由一个电压源提供(2.7V3.6V)它的连续的接口适合连续的外部接口方式03,这样它更被连接到容易AVR中央控制器。在下面应用里AVRAT90S8535被用来从麦克风做近似采样并转化为数值。这些是由连续外部接口控制数据数据闪存器的数据传送。脉宽幅

3、度调制特点在回放中被应用。它的编码空间很小(550字节)因此它适合AT90S2333,一个带2K闪存的28引脚的装置。 操作原理: 在近似讲话信号被存储到数据闪存器以前该信号先被转换成数字信号。可以采用不同的方法来完成。图1:近似采样信号 首先近似信号(图1)经过周期采样转化为时间离散信号(图2)。两个采样点之间的时间间隔叫“采样周期”它的倒数称为“采样频率”根据采样定理,采样信号频率至少是信号最大频率的两倍。否则将引起视觉上的重叠,称为“混叠”这样的信号不能从它的采样信号中无失真的恢复。 声音信号所包含的主要信息都在3000HZ以下,因此可以用一个低通滤波器限制信号的波段。 一个截止频率是3

4、000HZ的理想低通滤波器它的采样频率必须是6000HZ。滤波器的坡度或多或少的发抖。特别指出的是一级RC滤波器用在这里必须选择一个较高的采样频率。它的上限由AD转换器决定。在这个采样频率下所获得的近似采样值称为“量化”。近似信号被量化为一个允许的近似数值。(图3)数值的计算叫做“分解过程”它经常受限制,例如:用256 个等级来表示8或10比特的数字信号。因此近似信号的量化导致丢失一些信息这个“量化误差”可通过数字信号的插值来解决。并且这个值只能在最大值和最小值之间变化本例(38)AT90S8535微控制器的转换器依靠设置AGND 和 AREF给出数字信号两个极值来判断它的动态范围。 另一方面

5、,麦克风放大器能被调整到能被现在ADC动态范围所代替。 上面都是减少量化误差的方法。另外,现在使用提高信噪比(SNR)的方法很受欢迎。 图4向我们展示了近似信号现在的数值,这就是从ADC转换器读出来的结果。 在这个应用中信号有一个不能超出的最大值和最小值。在最小值以下和最大值以上的部分不包含任何信息。它们被转移了,这样节省了内存。 这是经过下移以后的整个图象和抛弃最大值以上部分的图象(图5) 在这个应用中,信号结果有8比特,现在可以被存储到数据存储器。 数据闪存器不需要一个区分被擦掉部分的程序。当我们用“缓冲器到主存储器程序重建被擦掉的部分”或“主存储器程序到缓冲器“命令 在实际编程以前,数据

6、闪存器将自动删除在存储空间被擦掉的特殊页。如果系统需要快速运行高于(200K BPS)主存储器被预先擦除部分将节省程序运行时间。当提供一个“擦除记录”命令时允许存储器的八页同时被删除,当准备删除部分在主存储器里安排好时。“缓冲器到主存储器的编程里不包含被擦除”命令的运用将提高程序运行速度。 第一种方法是提高编码效率,即没有额外的被擦除部分的循环被运行。不过如果需要,擦除命令将显示存储器里的多大一部分将被删除。这些将占用几秒钟。当内存被擦掉时,数据将被记录直到所有的页都满了 数据写入数据闪存器,先经过缓冲器1当这个缓冲器满时(528个采样)当第529个转换开始时,缓冲器的内容写入主存储器数据会被

7、记录下来直到记录按钮被释放或者是存储器以满。如果内存已满,在数据闪存器被擦写以前不能有新的数据写入。如过存储器未满并且记录按钮没释放,新的数据将立刻写入。 声音的回放经常在数据闪存器的前面,当所有的数据都回放或者回放按钮被释放将停止。 数据闪存器允许从主存储器读数据或者是从两个缓冲器之一获得数据。直接的接受方法不适和这个应用。因为它有两个地址:一个页地址,一个字节地址。并且在每个信号字节之前都有一个开始标志被送到数据闪存器。这比一个脉冲循环花的时间要长一个8比特的信号需要510个时钟循环 因此,存储器的一页被写到两个缓冲器之一:当数据从这个缓冲器读出时,存储器的下一页写入另一个缓冲器。当所有数

8、据从第一个缓冲器读出时接着读第二个缓冲器的内容,第一个缓冲器再装入新的数据。 数据经过脉宽幅度调制可以进行回放。图6向我们展示了举例信号采样2和3经过调制后的波形。PWM信号的一个循环包含了被分解的所有数值先计到最高点,然后在往下记,一直到0。当PWM开始计数时开关打开;低于那个值时,开关关闭。因此黑色区域展示了采样信号的功率。图7展示了PWM 信号的输出 PWM信号的频率至少是信号频率的两倍。当它是四倍时才能被接受,这就需要一个输出滤波器 这个还可以通过减小信号频率增加系统时钟频率或者是减少信号分解过程来实现 在这个应用中输出滤波器的截止频率达到4KHZ,接近脉宽调制频率的四分之一(15,6

9、86HZ) 系统的时钟速度和PWM的分解过程决定脉宽幅度调制频率。 一个8MHZ的系统时钟,为一个10比特的PWM提供频率是3922HZ,为一个9比特的分解提供频率7843HZ,8比特是15686HZ。 当最后的值足够高能够适合4000HZ的信号。因此 10比特的数字采样被转化为8比特的。 输出平滑滤波器使输出信号平滑并且把高频PWM转换为信号。举例信号再经过转换的结果有点象图8。去除量化误差(8比特时很大)忽略放大,输出信号很接近输入信号(图1) 用户可以通过三个按钮来控制系统,“擦除”“记录”和“回放”。如果按钮按下后没释放,内部上拉电阻为PD0-PD2提供VCC。按下一个按钮把输入线接地

10、。为了反馈给读者,用一个LED指示系统工作状态。 数据闪存器被SPI总线连接到AVR微控制器。如果ISP被用来重新编程,那么上拉电阻在片选线上将阻止数据闪存器工作。如果ISP没被利用这个电阻不能制止闪存器 工作。 麦克风和讲者电路:麦克风的扬声器是一个简单的前置放大器他的增益取决于R1,R9(增益=R1/R9)。R4被用来为麦克风提供电源,并和C1一起阻止任何直流成分进入放大器。R2,R3作为分支,R5 ,C8形成一个简单的一阶低通滤波器。另外R5在输出短路情况时还有保护放大器的作用。 讲者电路由5阶低通滤波器和一个增益放大器构成。滤波器由两个元件交错构成,二阶滤波器(R6,R7,R8,C2,

11、C7和R7,R10,R11,C9,C5。)和一个一阶滤波器(R11,C4)这三个滤波器的截止频率互相限制使整个电路稳定。所有的截止频率都达到4000HZ,粗略接近PWM频率的四分之一。 一元增益放大器阻止电路从输出获得反馈 C3阻止支流成分进入扬声器。补充; 建立:当程序一开始端口被建立,这些是例行公事。 SPI预先设顶一个装置做主人,和一些其他装置连接它,就象仆人一样。在这个应用中AVR控制器就象主人而数据闪存器就象仆人。当 AT90S8535作为唯一的主人。SS引脚被用做I/O引脚。 AT90S8535的外部端口被定义为有选择功能的端口B(PB5-PB7)。在这个应用中数据闪存器的控制信号

12、也由端口B产生(PB0-PB2,PB4)。引脚三被用来控制LED。 随着主机的确立,外部时钟信号(SCK)主机输出/从机输入(MOSI),片选/CS。写入保护/WP和复位/RST是输出。当主机输入从机输出即MISO,当RDY/BUSY高电平是输入。PB3引脚控制LED,输出十六进制数到端口B寄存器。 然后端口B开始定义在输入时所有内部上拉电阻的电平。AT90S8535的A/D转换器被连接到A端口。因此它被定义为高阻抗输入端口 D端口用来做按钮输入和PWM信号的输出。这是定时器1的脉宽调制再输出引脚PD4的利用。 最后中断允许,有两个中断“ADC”和“定时器一溢出”有效,当循环需要时它们。可以被

13、直接调用 主循环: 在主循环里,有三个按钮被扫描。如果有一个按钮被按下。LED指示灯就开始显示系统忙并调用相应的循环。当该按钮被释放时,一个外部循环被执行,有擦除和回放功能的软件开始启动。 在主循环里,如果LED是关着的说明系统空闲。 擦写: 数据闪存器可以被随意擦写。 当“擦除”循环被调用时,一个标志被送到数据闪存器,这样在下一个记录循环里新的数据可以被存储到数据闪存器。连续的外部接口被设置为从数据闪存器接受数据,不允许中断。数据从数据闪存器顺序传到AT90S8535控制器。 当SCK 为低电平而片选信号CS由高到低(SPI方式0)。或者SCK为高电平CS信号由高到低(SPI方式3)在一个有

14、效的时钟状态数据闪存器接受数据。例子中SPI 工作在方式3。为获得较高的数据传输速度 要选择最小的时钟周期,一个8兆赫兹的晶体震荡发生器在SPI总线上的频率是2兆赫兹。进行一次擦除,CS被置为低电平操作码OX50跟随两个预留自节(0)被装入数据闪存器。9比特的中断地址,这个顺序被传到从机的字节里,在每个字节后,外部接口状态寄存器被反复查询一直到有中断标志显示数据传输完毕。再整个顺序完成后,片选线被置高。擦写开。BUSY/READY被数据闪存器置为低电平,直到擦写完毕。然后下一组以同样的方式被擦除。直到512组都被擦除。擦除后的空间可以从OXFF引脚读入数据。记录: 记录循环包含了建立A/D转换

15、和一个空循环当按钮被按下时。这时ADC0引脚被置0它是ADC多路选择开关。在ADC控制状态寄存器里,可以把时钟分成32分频达到信号转换的方式。中断允许,中断标志被清除。A/D转换立即开始。第一次转换比以后转换时间长。这个完成以后,中断发生,说明转换结束。可以从ADC数据寄存器读出转换结果。近似信号被以15686HZ的速度从麦克风电路采样。这个频率和脉宽调制的输出频率很相似。 获得一个15686HZ的采样频率,必须没510个循环实现一次采样。为了得到一个转换结果,每510个时钟循环。ADC都要工作在32分频的时钟信号下进行A/D转换。一个信号转换占据14个ADC循环,因此转换需要至少14*32=

16、448个循环当一次转换完成一个中断发生,中断程序提供一个循环填补510-448=62个循环的时间,然后在开始一次新的转换当转换开始两个循环后10比特的转换结果描述的值在输入引脚,这10个比特的转换从AGND到AREF之间变化这个例子中是0V5V麦克风电路的输出信号被限制的范围是2。3V3。5V因此转换结果中小于输入电压最小值的部分被扣除。用0X1D5来表示2。3V。高于3。5V的部分被搬移再写入数据闪存器之前这些都将被自动完成它的各种类型数据被转换为8比特的,在下一个转换中断发生以前8比特的数据被写入数据闪存器。 写入数据闪存器写入数据闪存器第一步先写入一个缓冲器当缓冲器满的时候它的内容被写入

17、主存储器的一页。在写入数据闪存器程序里变量“J”描述缓冲器里的字节号,“K”描述将被写入数据再缓冲器的页数。如果新的数据标志显示数据闪存器是空的。计算机将被置0如果存储器里面已经有一些内容,那么就将给出下一个空闲的地址,可以使数据迅速进入存储器。为了保留这种类型的数据可以通过两个功能调用,将它们定义为静态数据。数据写入缓冲器,片选线被置为低电平。操作码0X84被装入数据闪存器。在缓冲器的位置是跟随14个比特和10比特地址以后。然后8比特的数据被装入这个顺序被传到从机字节宽度,在每个字节后外部接口状态寄存器被查询知道外部接口中断标志显示外部数据传输完毕。片选线被置为高电平。如果缓冲器已满,没有空

18、页,它的内容被复制到数据闪存器的下一页。在存储器被擦除以前,数据将无丢失的被复制。如果存储器以满,一个循环将执行直到“记录”按钮被释放。任何数据记录在存储器满的时候将丢失。回放; 再回放程次序里,数据闪存器的内容被读出。并以15686HZ的频率对8比特信号进行调整。为了获得较高的速度,数据不是从数据闪存器直接读出来而是先送到两个缓冲器之一,再从它们中读出来。同时存储器的下一页传到另一个缓冲器。16比特定时器/计数器1用来从OC1B引脚输出PEM信号。这在定时器/计数器控制寄存器A,B里定义了。PWM以尽可能高的速度运行,它的时钟分频达到一 当开始时,第一页被拷到缓冲器1,CS为低电平,专有命令

19、送到数据闪存器。CS再被置高时数据开始传输。当READY/BUSY引脚被数据闪存器置高时。缓冲器一的数据有效。下一页传送到缓冲器2。两个缓冲器之间是互相独立的,当缓冲器2从第二页接受数据时第一页可以读出数据。 从一个缓冲器读出字节,一个名义值已经被写到数据闪存器。主机一个写的过程使得它的外部接口数据寄器被交替使用。在向数据闪存器写入一个命令后,AVR控制器的外部接口数据寄存器的内容数据闪存器输出。 当PWM计数值为“0”,定时器1溢出中断发生。这个中断用来使数据闪存器输出频率和PWM频率一致。当一个值从缓冲器送到AVR控制器,一个循环被执行,直到定时器1溢出,中断发生。然后数据被写到T/C输出

20、比较寄存器B,当PWM计数器包含它的最大值时,自动送往PWM输出。(255-8BIT)图15回放:在缓冲器的最后的数值被读出之后,活跃的缓冲器被关闭。如果整个的存储被回放,系统将禁止所有中断,同时定时器计数器也将无效图16。 其次页存到下一个缓冲器图17。面向演说者的活跃的缓冲器使用STK200发展板:在这笔记中描述的使用STK200发展板的应用能被测试和修改。下面一些情况已不得不被注意到。片子的插槽这应用使用A与D转换器。 因此微型控制器被放置在插座中与A/D转换相连。 同时.,麦克风放大器连接到近似出端。跳转;根据装置在“setup all”子程序中所有在用于其它目的例如按钮按下或显示时被调用 对于描述的应用在端口B上是跳转从0到2和4到7,在端口D跳转到4。外部接口电阻:为了避免芯片端口与外部设备端口B之间的干扰在芯片插座和端口B之间插入一个10千欧的电阻。连接在PB 5和 PB 7之间.如果数据闪存器连到这些引脚,电阻器不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论