12 / 8 :数据输出格式选择脚。当12 / 8 为1( +5V) 时, 12 条数据线将同时行
输出; 当12 / 8 为0(0V) 时,为8 位双字节输出。
A0 : 字节选择线。在转换期间, 当A0 为0 时,AD574 进行全12 位转换,转换
间为25μs ;当A0 为1 时,进行8 位转换,转换时间为16μs。在读出期间,当A0 为0 时, 输出高8 位; 当A0 为1 时, 输出低4位,并以4 个0 作为尾随的4 位以补足8 位,即当两次读出12 位数据时,应遵循左对齐原则。
STS:输出状态指示引脚。转换开始时,STS 为高电平,并在转换过程中保持高电
平。转换完成后,STS返回到低电平。STS 可以作为状态信息被CPU查询;也可以在它的下降沿向CPU发出中断请求, 以通知A /D 转换已完成,同时CPU可以读出转换结果。
2.6.3 单片机AT89C51和AD574 的接口原理
AD574 和单片机系统的基本组成主要有单片机、A / D 转换器和计算机接口。其中单片机是系统的核心部分, 主机通过接口启动单片机工作, 以使CPU资源向其它请求开放。单片机发出控制信号以启动A /D 转换器进行采样, 然后将转换结果存入双端口SRAM[22]。当RAM中的数据达到一定数量时, 单片机向计算机发出中断请求。主机接到请求后进入中断服务程序,并向单片机发出命令,以决定是否继续采样,同时将SRAM内的数据读入内存。系统的硬件设计在连接上应主要考虑三总线(控制总线、地址总线、数据总线) 的连接。图2 所示是一个A/ D 转换器与单片机的AT89C51接口电路。其中,AD574 是1 个完全的单片式12位逐次比较型A /D 转换器, 它带有可以直接与8 位或16 位总线接口的三态缓冲器,因而不需要再加锁存器。由于AD574 片内自带高精度参考电压和时钟, 因此不需要外部电路和时钟就可全速工作, 是一种比较常用的中速A / D 转换芯片。AD574 完成1 次全12 位转换最多需要35μs ,适合于转换速率低于30kb /s 的应用领域。 AT89C51 单片机是MCS - 51的典型代表。由于该接口系统要求各路信号测量同步, 即同时启动各A / D 转换器进行转换[23]。因此, 8031必须完成同时启动、分别读出转换结果的任务。
现将AT89C51 的主要任务分述如下:
(1) 接收主机的采样命令。即利用P1. 7 口并采用查询方式等待主机发出采样命令, 当其为低电平时,启动采样过程。
(2) 启动采样。AT89C51 利用P2. 7 经过反相后控制AD574 的读出和启动转换控制线R / C , 并再经过与非门和反相器来控制片选线CS(低电平有效) 。当P2.7 为高电平时,所有AD574 都处于待启动状态, 即设定各AD 的启动地址均#FFFFH。 AT89C51 的WR、RD 经过与非门接到AD574 的使能端,任意有效信号都会使能AD。 (3) 读取并存储转换结果。所有AD 转换结束与否的判断均由P1 口的低4 位来进
行,当低4 位均为低电平时, 表示所有转换都已结束。需要对转换器分配地址,以逐一读出转换结果。进行读取操作时,地址应为对应存储器单元的操作地址, 因为存储器单元地址的末尾2 位数依次为00、01、10、11 , 因此,对单元操作也就是表示对相应编号的A / D 转换器进行了读操作。这种方式可以使系统所能操作的A /D 数达10 片之多。
(4) 向主机发出中断申请。在当前存储区满后,要向主机发出中断请求, 以向主机传送数据。因为每一存储区为1kB , 所以, 利用存储数据时, P2.2 的状态可以判断是否已被完全占用。在图2 中,由于AD574 片内有时钟,故无需外加时钟信号。该电路采用单极性输入方式, 可对0~10V或0~20V模拟信号进行转换。转换结果的高8位从D11~D4 输出,低4 位从D3~D0 输出,并且直接和单片机的数总线相连。转换遵循左对齐原则,D3~D0 应接单片机数据总线的高半字节。为了 实现启动A /D 转换和转换结果的读出, AD574 的片选信号CS 由地址总线的次低位A1( P0. 1) 提供, 在读写时,A1 应设置为低电平。AD574 的CE 信号由单片机的WR 和A7( P0. 7) 经一级或非门产生。R /C 则由RD 和A7 经一级或非门提供。可见在读写时,A7亦应为低电平。输出状态信号STS 接到P3. 2 端可供单片机查询判断A / D 转换是否结束。AD574 的A0由地址总线的最低位A0( P0. 0) 控制,可用于实现全12 位转换,并将12 位数据分两次送入数据总线。
图4.9 单片机AT89C51与AD574的接口图
2.6.4 存储器的选取
在数字化语音存储与回放的设计中可用AT29C040 Flash存储器来存储时间, AT29C040具有在线可擦写、非挥发性、信息保存可靠、存储容量大等优点,每片的容量为512K字节,它是国外最新产品,该产品的读写一般与RAM相同,由于89C51一般能寻址64K字节[24]。所以需要利用P1口进行地址扩宽,本系统中另加三根线(P1.1、P1.2、P1.3),作地址线用,使寻址空间扩展到512K字节,并分别采用分而管理方式分配内存,即在总线输出地址之前,先对外加的3根高位地址选页,然后在所选页中进行输入输出操作。AT29C040读取时间仅为70ns,单一+5V电源,双8k字节的引导区,内部程控定时器,硬件和软件数据保护功能,快速扇出程序周期10ms,低功耗:待机为100uA,启动工作为50mA,10000次擦写次数。输入输出全兼容CMOS和TTL电路[25]。
图4.10 AT29C040引脚如下
2.7 对数字化语音存储与回放系统的??f/f?/sin??f/fs?校正
首先对频域中的??f/fs?/sin??f/fs?函数进行分析, ??f/fs?/sin??f/fs?在频域30~4030H范围内的曲线如图所示。由图可见,它近似于阻带内增益变化极为缓慢近于恒定的高通滤波器。进一步分析可知,该曲线在频率很高处有大幅度的下降,故可用带通滤波器来拟合该曲线,由于受单片机数据运算处理能力
?0.5MPS?的限制,数字滤波不易实现,故这里采用硬件滤波,滤波电路如图所
示。
图4.11 函数分析图
图4.12 滤波电路
该滤波网络采用简单的无源滤波网络即可实现,图中C1、R1构成初始放大倍数近乎恒定的网络.观察到??f/fs?/??f/fs?在频率较高处有大幅度的衰减,故该网络还应满足在频率较高处的衰减特性,考虑到对于声音信号,过多的高频分量只能增加噪声,所以后接R2、截止频率设在3.4KHz?100Hz。 C2构成低通滤波器,该网络在频域由30Hz起,增益缓慢增大,到3.4kHz处幅频。
3程序设计:
单片机AT89C51通过片选方式读A/D转换数据、写数据存储器以及将数据送入D/A转换器。录音时AT89C51通过定时器T0控制采样频率。定时将A/D转换数据存入数据存储器中。放音时,单片机AT89C51通过定时器T0控制,定时的将数据从数据存储器中取出送往D/A转换器进行数摸转换。
图5.2 定时器1中断服务程序流程图
以 方 式 0 录 音 以 方 式 1 录 音 以 方 式 2 录 音 以 方 式 3 录 音 00H00H 00H 00H 读取定时器服务标志位 定时器1中断入口 HH 等待返回
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机的语音存储及回放系统课程设计设计(毕业设计)完整版(6)在线全文阅读。
相关推荐: