基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc

上传人:文库蛋蛋多 文档编号:4141398 上传时间:2023-04-07 格式:DOC 页数:60 大小:1.16MB
返回 下载 相关 举报
基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc_第1页
第1页 / 共60页
基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc_第2页
第2页 / 共60页
基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc_第3页
第3页 / 共60页
基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc_第4页
第4页 / 共60页
基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc》由会员分享,可在线阅读,更多相关《基于AT89C52单片机的红外线遥控公交车自动报站系统设计.doc(60页珍藏版)》请在三一办公上搜索。

1、摘 要本设计介绍了一种利用红外线遥控技术,模拟公交车自动报站的系统。以AT89C52为主芯片。公交车上的接收电路收到站台信息后解码,解码后把信号传送给AT89C52单片机,启动LCD12864显示站名。同时,应用语音模块播报站名,还可以实现手动报站功能。系统由红外线的发射模块、接收模块、LCD12864显示模块及ISD4004语音播报模块组成。语音芯片ISD4004,采用模拟数据半导体存储器直接存储的专利技术,即将模拟语音数据直接写入单个存储单元,不需经过A/D、D/A转换,因此能够较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩造成的量化噪声和失真现象,配合LCD12864

2、屏显示,就使得该报站系统更加实用。关键词:AT89C52;红外线编码技术 ;LCD12864;ISD4004AbstractThis design introduces a use of infrared remote control technology, simulation bus stop automated system. To the main chip AT89C52. Receiver circuit bus station information received after the decoding, after decoding the signal transmitte

3、d to the AT89C52 microcontroller, display station names start LCD12864. At the same time, the application of voice broadcast station module. Can also manually stop function. Stop time. System module from the infrared transmitter module, receiver module, LCD12864 display module and the ISD4004 voice

4、broadcast module. Speech synthesis chip ISD4004 adopts the patented technology for semiconductor memory directly simulated data storage of analog voice, that analog voice data is written directly to the individual storage units, not through A/D and D/A conversion, so we can receive the natural emerg

5、ence of better voice effects and avoid the quantization of noise and distortion caused by the quantization and compression in the generally solid voice circuit. Besides, LCD12864 makes the reporting system more practical.Key words:AT89C52;Infra-red coding technology; LCD12864;ISD4004目 录摘 要IAbstractI

6、I目 录III1 绪论 1 1.1 课题研究的背景及意义 1 1.2 报站器的动态发展趋势 1 1.3 设计的主要目标任务 2 2 方案的设计与分析 3 2.1 方案的设计 3 2.2 方案的分析 3 2.2.1 无线收发模块的分析与论证 3 2.2.2 控制模块的分析与论证 3 3 系统硬件设计 5 3.1 系统硬件设计 5 3.1.1 系统总体方框图 5 3.2 单元电路的设计与分析 5 3.2.1 AT89C52单片机介绍 5 3.2.2 晶振电路 6 3.2.3 复位电路 7 3.2.4 遥控收发电路 7 3.2.5 AT89C52控制的LCD12864电路 10 3.2.6 ISD4

7、004语音录放电路 14 3.2.7 本设计总原理图 21 4 系统软件设计 22 4.1 系统流程图 22 4.1.1 LCD12864流程图 22 4.1.2 定时器中断0服务子程序流程图 23 4.1.3 遥控接收程序流程图 23 4.1.4 定时中断1子程序流程图 24 4.1.5 外部中断1子程序流程图 24 4.1.6 ISD4004放音程序 25 4.1.7 ISD4004录音程序 26 5 系统测试 27 5.1 调试软件KeilC51简介 27 5.2 软件程序测试 27 5.3 系统电路功能仿真 28 5.4 Keil与Proteus对系统联调 28 参考文献 32 结 束

8、 语 33 致 谢 34 附录一:系统总原理图 35 附录二:LCD12864显示模块参考程序 36 附录三:ISD4004语音播报程序 52 1 绪论随着科学技术的日益发展和进步, 无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。1.1 课题研究的背景及意义公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响服务的质量。传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在很多大城市已经被淘汰。近年来,随着科学技术的日益发展和进步,微型计算机技术已经在许多领域得到了广泛的应用。在声

9、学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得汽车报站器的实现成为可能,从而为市民提供了更加人性化的服务。鉴于传统公交车报站系统的不足之处,结合公交车辆的使用特点及实际营运环境,设计了一种由单片机控制的公交车自动报站系统。公交车自动报站器的设计主要是为了弥补改变传统语音报站器必须有司机操控才能工作的落后方式,进站、出站自动播报站名及服务用语,为市民提供更人性化,更完善的服务。1.2 报站器的动态发展趋势公共汽车行驶在现代文明程度高的市区,它是一道流动的风景线,因而对整车外形乃至色彩都有更高的要求。作为公共汽车还要求有醒目和减少乘务人员劳动强度的电子报站器,电子显示路牌,无人

10、售票装置,前后电视监视系统等新技术的采用也将越来越普及。公交车报站器在公交事业中占有举足轻重的地位,它直接影响到公交车的服务质量。目前公交车报站有三种方式,一种是利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台15英寸的液晶电视和 GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显示屏,乘客也可以一目了然。当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的形式传送到显示屏上,同时车载台会发出相应的提示音;驾驶员也可以通过相应的工具进行回复。目前在美国部分城市GPS卫星定位系统已

11、经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。另外两种是手动电子报站和人工报站的方式,而它们都离不开司务人员,加大司乘人员的工作强度。手动电子报站一般有司机或者乘务员控制,经常出现错报,误报的情况。城市公共交通是市民出行的主要交通工具之一。提供舒适,安全、便捷的乘车环境,对于公交企业来说,不仅是应尽的责任,亦是不断追求的目标。1.3 设计的主要目标任务本课题要求设计一公交车自动报站系统 1 ,以实现公交车的语音自动报站,即公交车快要进站、出站时候通过红外接收模块的LED发亮接着按下按键本系统就可以自动播报语音提示信息及服务用语,同时利用

12、LCD12864电路进行汉字显示。本设计要求利用AT89C52作为主控芯片完成主控电路的设计,辅助电路要求包括语音电路、LCD12864显示电路等。2 方案的设计与分析2.1 方案的设计用AT89C52单片机来设计一个公交车自动报站系统 2 。要求用遥控模拟实现当公交车靠近站点时可以用文字来显示站名,语音播报站名。2.2 方案的分析2.2.1 无线收发模块的分析与论证方案一:无线AP。由无线AP构成,通信的效果好,数据传送量大,但是其成本比较高,由于采用IEEE 802.11b和IEEE 802.11g的通信协议,因此它比较适合用于移动上网。方案二:无线数传模块。采用专用收发集成电路的无线数传

13、模块构成,所以性能相对较好,而且容易实现,并且在功耗,抗干扰性等方面都比较优越,但是由于基于此芯片的无线传输模块价格和无线AP模块差不多,所以成本相对偏高。方案三:PT2262/PT2272-L4集成芯片。方案采用低功耗、低价位、通用编解码电路,发送用高的达林顿管,所以在灵敏度和抗干扰性方面有保障。方案四:红外遥控。可以用现有的遥控装置,我们只要了解其编解码原理,就可以采用现成的简易装置来模拟应用。以上四种都是可供参考的方案,在考虑了诸多因素之后,决定采用方案四。虽然在软件解码方面比较复杂,但其工作稳定,可靠性高。2.2.2 控制模块的分析与论证方案一:采用GPRS作为系统的控制器GPRS即“

14、通用分组无线业务”(GeneralPacketRadioService的英文简称)是在现有GSM网络上开通的一种新型的分组数据传输技术相对于原来GSM以拨号接入的电路交换数据传送方式GPRS是分组交换技术具有“永远在线”、“自如切换”、“高速传输”等优点。GPRS可作为实现各种复杂的逻辑功能,规模大,但其成本非常高。方案二:采用嵌入式ARM的32位单片机LPC2138。LPC2138功能庞大,内部资源丰富,易于数据的采集,不但具有一般单片机的所有功能,还内置了PWM,具有很强的串行通信功能,引脚非常丰富,功耗低,稳定性好,易于功能扩展,其在线仿真技术,软硬件调试方便,但ARM板成本较高。方案三

15、:采用AT89C52单片机控制,它简单易用、成本低廉,软件编程自由度大,可用编程实现各种控制算法和逻辑控制,采用AT89C52单片机为控制核心,系统功能强大,资源配置灵活,运行可靠稳定,是一套相对完善工业低压控制系统,采用板式结构、安装牢靠,操作简洁。综上所说ARM虽功能强但成本高,且用单片机也能很好的控制,所以该系统的设计选用单片机编程即可,我们所以选择方案三。3 系统硬件设计3.1 系统硬件设计本设计采用红外遥控来实现无线数据的收发,采用AT89C52单片机 3 为控制核心,实现公交车的自动报站功能。3.1.1 系统总体方框图图3.1 系统总体方框图3.2 单元电路的设计与分析3.2.1

16、AT89C52单片机介绍随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。实际上,单片机几乎在人类生活的各个领域都表现出强大的生命力,使计算机的应用范围达到了前所未有的广度和深度。单片机的出现尤其对电路工作者产生了观念上的冲击。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法,而且许多电路设计问题将转化为纯粹的程序设计问题。诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根

17、本上改变了传统的控制方法和设计思想。是控制技术的一次革命,是一座重要的里程碑。AT89C52是ATMEL公司生产的51系列单片机的一个型号,是一个低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外部中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可

18、以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性:兼容MCS51指令系统,8K可反复擦写(1000次)Flash ROM,32个双向I/O口,2568bit内部RAM,3个16位可编程定时/计数中断,时钟频率0-24MHZ,2个串行中断,可编程UART串行通道,2个外部中断,共6个中断源,2个读写中断口线,3级加密位,低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。3.2.2 晶振电路AT89C52的内

19、部有一个用于构成振荡器的高增益反相放大器。通过XTAL1,ATAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路 4 ,使其构成自激振荡器。电容的值具有微调的作用,我们取30PF。具体的接法如图3.2外部晶振电路:图3.2 外部晶振电路AT89C52的工作频率范围在024MHZ。我们选用的是12MHZ的晶振,机器周期为1us,所以这个晶振可以满足这个系统的要求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。3.2.3 复位电路复位有硬件和软件两种,复位的作用是使程序自动从0000H开始执行,因此我们只要在AT89C52单片机的RESET端加上一个

20、高电平信号,并持续10ms以上即可,RESET端接有一个上电复位电路,它是由一个小的电解电容和一个接地的电阻组成的。人工复位电路另外采用一个按钮来给RESET端加上高电平信号。图3.3 人工复位电路我们采用放电型人工复位电路,如图3.3人工复位电路,上电时C通过R充电,维持宽度大于10ms的正脉冲,完成上电复位功能。C充电结束后,RESET端出现低电平CPU正常工作。在此我们取了典型值R1=1K,R6=10K,C=10UF。上电复位实现的时间:T=R*C =10K*10UF =100ms=10ms需要人工复位时,按下按钮K,C通过K和R1放电,RESET端电位上升到高电平,实现人工复位,K松开

21、后C重新充电,充电结束后,CPU重新工作,R1是限流电阻,阻值不可以过大,否则不能起到复位作用。3.2.4 遥控收发电路红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控 5装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图3.4所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括

22、光、电转换放大器、解调、解码电路。图3.4 红外遥控系统框图遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的UPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图3.5所示。图3.5 遥控码的“0”和“1”上述“0”和“1”组成的32位二

23、进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3.6所示。图3.6 遥控信号编码波形图UPD6121G产生的遥控编码 6 是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多有128种不同组合的编码。遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563ms之间。当一

24、个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码(9ms18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。图3.7 红外接收电路解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平

25、的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。接收电路如图3.7所示。PC3388是红外接收头,1脚是信号端,2脚是接地端,3脚是电源端。当电路正常工作时,发光二极管发亮。测试时可以观察D6的状态来判断是否有接收到信号。3.2.5 AT89C52控制的LCD12864电路LCD12864介绍LCD12

26、864 7 在市面上主要分为两种,一种是采用ST7920控制器的,它一般带有中文字库字模,价格略高一点。另一种是采用KS0108控制器,它只是点阵模式,不带字库。我的这块就是KS0108控制器不带汉字库的。LCD12864模块的20个引脚定义如下:1) Vss 逻辑电源地2) VDD 逻辑电源正极3) VO LCD驱动电压4) RS 数据/指令选择:高电平为数据,低电平为指令5) R/W 读/写选择:高电平为读数据,低电平为写数据6) E 读写使能,高电平有效,下降沿锁定数据7) DB0 数据输入输出引脚8) DB1 数据输入输出引脚9) DB2 数据输入输出引脚10) DB3 数据输入输出引

27、脚11) DB4 数据输入输出引脚12) DB5 数据输入输出引脚13) DB6 数据输入输出引脚14) DB7 数据输入输出引脚15) CS1 片选择号,低电平时选择前64列16) CS2 片选择号,低电平时选择后64列17) RET 复位信号,低电平有效。18) Vout 输出10V电源给VO提供驱动电源19) A 背光电源LED正极20) K 背光电源LED负极LCD12864的内部控制结构如图3.8所示:图3.8 LCD12864的内部控制结构图由上图可以看出12864屏是分为左、右两块控制的。所有对屏幕的操作要受片选CS1、CS2来控制。表3.1是屏幕操作数据与屏幕点阵的排布关系图。

28、表3.1 屏幕操作数据与屏幕点阵的排布关系图 CS2=1CS1=1Y=016263016263行号X=0DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB707DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7855X=7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB75663从上表可以看出数据按字节在屏幕上是竖向排列的。上方为低位,下方为高位。因此在横向上(也就是Y)就一共是128列数

29、据。分为CS1和CS2两个64列来写入。在竖方向上(也就是X)一字节数据显示8个点,竖向64个点分为8个字节,称做8页(X=0-7)。了解这些后我们就知道要满屏显示一张图就要从y=0127、X=07一共写1288=1024个字节的数据。同样在AT89C52中存一张图就要1024个字节的空间。指令表如表3.2所示。表3.2 指令表指令指 令 码功 能R/WRSD7D6D5D4D3D2D1D0显示ON/OFF0000111111/0控制显示器的开关不影响DDRAM中数据和内部状态显示起始行0011显示起始行063指定显示屏从DDRAM中哪一行开始显示数据设置X地址0010111X 0 7设置DDR

30、AM中的页地址(X地址)设置Y地址0001Y地址063设置地址(Y地址)读 状 态10BUSY0ON/OFFRST0000读取状态RST 1:复位 0:正常ON/OFF 1:显示开 0:显示关BUSY 0READY 1:IN OPERATION写显示数据01显 示 数 据将数据线上的数据DB7DB0写入DDRAM读显示数据11显 示 数 据将DDRAM上的数据读入数据线DB7DB01)显示开关控制(DISPLAY ON/OFF) 代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB0000011111DD=1:开显示(DISPLAY ON)意即显示器可以进行各种显示操作 D=0:关

31、显示(DISPLAY OFF) 意即不能对显示器进行各种显示操作 2)设置显示起始行(DISPLAY START LINE) 代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB00011A5A4A3A2A1A0A5A0 6位地址自动送入Z地址计数器,起始行的地址可以是063的任意一行。 例如: 选择A5A0是62,则起始行与DDRAM行的对应关系如下: DDRAM 行:62 63 0 1 2 3 28 29 屏幕显示行: 1 2 3 4 5 6 31 32 3)设置页地址(SET PAGE “X ADDRESS”)代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB0

32、0010111A2A1A0所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2A0表示07页。读写数据对地址没有影响,页地址由本指令或RST信号改变复位后页地址为0。页地址与DDRAM的对应关系见DDRAM地址表。4)设置Y地址(SET Y ADDRESS) 代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB00001A5A4A3A2A1A0 此指令的作用是将A5A0送入Y地址计数器,作为DDRAM的Y地址指针。在对DDRA M进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。 5)读状态(STATUS READ) 代码形式R/WRSDB7DB6DB

33、5DB4DB3DB2DB1DB001BUSY0ON/OFFRST0000当R/W=1 ,RS=0时,在E信号为“H” 的作用下,状态分别输出到数据总线(DB7DB0)的相应位。 BUSY:为1内部忙,不能对液晶进行操作。0工作正常。ON/OFF:1显示关闭;0显示打开RST:RST=1表示内部正在初始化,此时组件不接受任何指令和数据。6)写显示数据(WRITE DISPLAY DATE)代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB001D7D6D5D4D3D2D1D0D7D0为显示数据,指令把D7D0写入相应的DDRAM单元,Y地址指针自动加1。7)读显示数据(READ D

34、ISPLAY DATE)代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB011D7D6D5D4D3D2D1D0此指令把DDRAM的内容D7D0读到数据总线DB7DB0,Y地址指针自动加1。 AT89C52控制的LCD12864显示电路如图3.9所示。图3.9 AT89C52控制的LCD12864显示电路3.2.6 ISD4004语音录放电路ISD4004 8 系列语音芯片工作电压为+3V,单片录放时间8到16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储陈列。芯片设计是基

35、于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存储在片内闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可以是4.0,5.3,6.4或8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存储器中,可在断电情况下保存一百年(典型值),可反复录音十万次。1).内部结构图3.10 ISD4004的内部结构2).引脚描述(1)电源(VCCD,VCCA) 芯片内部数字电路电源正极引脚和模拟电路电源正极引脚。

36、为使噪声最小,芯片的数字电路和模拟电路使用不同的电源供电,并且分别引到外封装的不同管脚上,数字和模拟电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。图3.11 ISD4004芯片引脚(2)地线(VSSD,VSSA) 芯片内部数字电路电源地线和模拟电路电源地线引脚。芯片的数字电路和模拟电路也要使用不同的地线。(3)同相模拟输入(ANA IN+) 录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV。(4)反相模拟输

37、入(ANA IN-) 差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV。(5)音频输出(AUD OUT) 提供音频输出,可驱动5K的负载。(6)片选() 此端为低电平,即向ISD4004芯片发送指令,两条指令之间为高电平。(7)串行输入(MOSI) 此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,以供输入。(8)串行输出(MISO) 此端为串行输出端,芯片未被选中时,本端呈高阻态。(9)串行时钟(SCLK) SD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到芯片,在下降沿移出芯片。 (1

38、0)中断() 本端为漏极开路输出。芯片在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取(OVF标志指示芯片的录/放操作已到达存储器的末尾;EOM标志只在放音中检测到内部的EOM标志时,此状态位才置1)。 (11)行地址时钟(RAC) 漏极开路输出。每个RAC周期表示芯片存储器的操作进行了一行(ISD4004系列中的存储器共2400行)。该信号保持高电平175ms,低电平25ms。快进模式下,RAC的218.75s是高电平,31.25s为低电平。该端可用于存储管理技术。(12)外部时钟(XCLK) 本端内部有下拉

39、元件。芯片内部的采样时钟在出厂前已调校,误差1%以内。商业级芯片在整个温度和电压范围内, 频率变化在2.25%以内。工业级芯片在整个温度和电压范围内,频率变化在4%以内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接时钟时,此端必须接地。(13)自动静噪(AMCAP) 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于滤除无信号(静音)时的噪声。通常本端对地接1F的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设

40、定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1F的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA则禁止自动静噪。3) 操作规则(1)串行外设接口 ISD4000系列语音芯片工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,设定微控制器的SPI移位寄存器在SCLK的下降沿将数据送至MISO引脚。以ISD4004为例,协议的具体内容如下:所有串行数据传输开始于下降沿。在传输期间必须保持低电平,在两条指令之间则保持高电平。数据在时钟上升沿移入,在下降沿移出。变低,输入指令和地址后,ISD4004才能开始录/放操作。指令格式是(八位控

41、制码)加(十六位地址码)。ISD4004的任何操作如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。使用“读”指令使中断状态位移出ISD4004的MISO引脚时,控制及地址数据也应同步从MOSI端移入。因此,要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。所有操作在运行位(RUN)置1时开始,置0时结束。所有指令都在端上升沿开始执行。(2)信息快进 用户不必知道信息的确切地址就能快进跳过一条信息。信息快进只用于放音模式,放音速度是正常的1600倍,遇到EOM后

42、停止,然后内部地址计数器加1,指向下一条信息的开始处。(3)上电顺序 器件延时TPUD(8KHz采样时,约为25ms)后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出下一条操作指令。例如,从00处放音,应遵循如下时序:发POWER UP命令;等待TPUD(上电延时);发地址值为00的SET PLAY命令;发PLAY命令。器件会从00地址开始放音,当出现EOM时,立即中断,停止放音。如果从00处录音,则按以下时序:发POWER UP指令;等待TPUD(上电延时);发POWER UP命令;等待2倍TPUD;发地址值为00的 SET REC命令;发REC命令。器件便从00地址开始

43、录音,一直到出现OVF(存储器末尾)时,录音停止。(4)指令码表3.3 ISD4004的指令表指令控制码操作POWERUP00100xxx上电:等待TPUD后可以工作SETPLAY11100xxx从指定地址开始放音PLAY11110xxx从当前地址开始放音SETREC10100xxx从指定地址开始录音REC10110xxx从当前地址开始录音SETMC11101xxx从当前地址开始快进MC11111xxx执行快进,直到EOMSTOP0x110xxx停止当前操作STOPWRDN0x01xxxx停止当前操作并掉电RINT0x110xxx读状态OVF和EOM注:快进只能在放音操作开始时选择。(5)SP

44、I端口的控制位图3.12 ISD4004的SPI控制位(6)SPI控制寄存器 SPI控制寄存器控制器件的每个功能,如录音、放音、信息检索(快进)、上电/掉电、开始/停止操作、忽略地址指针等。表3.4 ISD4004的SPI控制寄存器控制位功能控制位功能RUN允许/禁止操作1开始0停止PU电源控制1上电0掉电P/录/放模式1放音0录音IAB操作是否使用指令地址1忽略输入地址寄存器内容0使用输入地址寄存器内容MC快进模式1允许0禁止P15-P0行指针寄存器输出A15-A0输入地址寄存器注:IAB置0时,录/放操作从A9A0地址开始。为了能连贯地录/放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI指令将IAB置1,否则器件会在同一地址上反复循环。这个特点对语音提示功能很有用。RAC引脚和IAB位可用于信息管理。SPI端口简单框图3.13所示。图3.13 SPI端口简单框图4) ISD4004与外围设备的连接图3.15 ISD4004与外围设备的连接语音芯片ISD400

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号