1、语音控制小车的设计与实现语音控制小车的设计与实现学院:软件学院 班级:08级计算机科学与技术(3)班姓名:张 博 学号:0811240533同组成员:姜程译目 录前言 1绪论 2第一章凌阳单片机介绍 4第二章语音控制小车的总体设计 6第一节所需材料(硬件,软件) 6第二节功能要求 6第三节车体说明 6第四节小车的功能实现原理 13第五节软件流程设计 15第三章 18第一节硬件的安装 18第二节代码编译及下载 20第三节训练小车 22第四节声控小车 24参考文献 24致谢 25 前言本文主要以SPCE061A为基础介绍了如何应用SPCE061A芯片进行语音控制小车的硬件和软件设计。SPCE061
2、A是一种16位nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到49MHz。SPCE061A内嵌32K字的FLASH程序存储器以及2K的SRAM。同时该SOC芯片具有ADC和DAC功能,其MIC_ADC通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路10位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。以上介绍的这些硬件资源使得该SPCE061A能够单芯片实现语音处理功能。SPCE061A 是继µnSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微
3、控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。较高的处理速度使µnSP能够非常容易地、快速地处理复杂的数字信号。因此,与SPCE500A相比,以µnSP为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。借助于SPCE061A的语音特色,我们开发出了这款语音控制小车。小车不仅具有前进、后退、左转、右转停车等基本功能;同时配合SPCE061A的语音特色,实现语音控制功能。SPCE061A单片机是凌阳公司今年新推出的一款十六位单片机,
4、它的易用性和多功能性受到了广大电子爱好者的好评。这里要介绍的是用SPCE061A单片机实现2001年全国大学生电子设计竞赛试题(C题),本系统以参赛题目的要求为目的,采用SPCE061A单片机为控制核心,利用光电检测器检测道路上的标志,控制电动小汽车的正反向行驶,快慢速行驶,以及停车的位置,并可自动记录往返时间和距离,在显示完时间距离后将会自动播报整个行程所消耗的时间,以及行驶路程。整个系统的电路结构简单,可靠性高。实验测试结果满足要求,本文着重介绍了该系统的软硬件设计方法及测试结果分析。绪论第一节 单片机的发展历史单片机一词最初是源于SingleChipMicrocomputer”,简称SC
5、M。在单片机诞生时,SCM是一个准确、流行的称谓,“单片机”一词准确地表达了这概念。随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来准确表达其内涵。国际上逐渐采用MCU(MicroControllerUnit”)来代替,形成了单片机界公认的、最终统一的名词。在国内因为“单片机”一词已约定俗成,故而继续沿用。单片机按其内部中央处理器CPU(CentralProcessingUnit)的字长分为1位机、4位机、8位机、16位机等。从1976年8位单片机诞生以来,单片机领域中一直是以8位机为主流机型,预计这种情况还将继续下去。因此我们以Intel公司的8位机为例来
6、谈谈单片机的发展历史。 1.第一阶段单片机阶段(1976午1978年)。这阶段的任务是探索计算机的单芯片集成。以Intel公司的MCS48为代表,其CPU、存储器、定时器计数器、中断系统、I/O端口、时钟以及指令系统都是按嵌入式系统要求专门设计的。 2第二阶段单片机的完善阶段(1978年一1982年)。计算机的单芯片集成探索取得成功后,随后的任务就是要完善单片机的体系结构。作为这一阶段的典型代表是Inlel公司将MCS48向MCS5l系列的过渡。它在以下几个重要方面奠定了单片机的体系结构。(1)完善的外部总线。有8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。(2)CP
7、U外围功能单元的集中管理模式。(3)设置面向工控的位地址空间及位操作方式。(4)指令系统突出控制功能。 3第三阶段微控制器形成阶段(1983年一1990年)。这一阶段单片机的主要技术发展方向是满足测控对象要求的外围电路的增强,如AD转换、DA转换、高速IO口、WDT(程序监视定时器)、DMA(高速数据传输)等,强化了智能控制的特征。 4第四阶段微控制器全面发展阶段(1990年以后)。即当前的单片机时代,其显著特点是百花齐放、技术创新。单片机正在满足各个方面的需求从玩具、小家电、工程控制单元到机器人、智能仪表,过程控制,个人信息终端等无所不能。第二节 单片机的现状及前景计算机系统的发展已明显地朝
8、三个方向发展;这三个方向就是:巨型化,单片化,网络化。以解决复杂系统计算和高速数据处理的仍然是巨型机在起作用,故而,巨型机在目前在朝高速及处理能力的方向努力。单片机在出现时,Intel公司就给其单片机取名为嵌入式微控制器单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。这一点是巨型机和网络不可能做到的。在本文,介绍单片机的最新技术进步,包括数字单片机的工艺及技术,模糊单片机的工艺及技术,单片机的可靠性技术,以及以单片机为核心的嵌入式系统。数字单片机的技术发展数字单片机的技术进步反映在内部结构、功率消耗、外部电压等级以及制造工艺上。在这几方面,较为典型地说明了数字单片机的水平。在目前,用户对
9、单片机的需要越来越多,但是,要求也越来越高。下面分别就这四个方面说明单片机的技术进步状况。1、 内部结构的进步单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,A/D转换器,D /A转换器,串行通信接口,Watchdog电路,LCD控制器等。有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN。例如,Infineon公司的C 505C,C515C,C167CR,C167CS-32FM,81C90;Motorola公司的68HC08AZ 系列等。特别是在单片机C167CS-32FM中,内部还含有2个CAN。因此,这类单片机十分容易构成网络。特
10、别是在控制,系统较为复杂时,构成一个控制网络十分有用。单片机在目前的发展形势下,表现出几大趋势:可靠性及应用越来越水平高和互联网连接已是一种明显的走向。所集成的部件越来越多;NS(美国国家半导体)公司的单片机已把语音、图象部件也集成 到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了;如果从功能上讲它可以讲是万用机。原因是其内部已集成上各种应用电路。功耗越来越低和模拟电路结合越来越多。随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:单片机与微机系统之间的距离越来越小,甚至难以辨认。 单片机的应用领域: 目前单片机渗透到我们
11、生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制
12、功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、
13、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广
14、泛的用途。 第一章 凌阳单片机简介随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的nSP(Microcontroller and Signal Processor)16位微处理器芯片(以下简称nSP)。围绕nSP所形成的16位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,它以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,如图1.1所示。图1.1 nSP家
15、族的模块式结构nSP内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。SPCE061A 板SPCE061A 是继nSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。因此
16、,与SPCE500A相比,以nSP为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。 第二章 语音控制小车的总体设计第一节 所需材料(硬件,软件)一, 硬件实验箱及实验仪;凌阳SPCE061A 板;小型电动机;车体;车轮;电池盒;两节五号干电池;麦克风;喇叭以及元器件散件等等。二, 软件windowPE;IDE2.0程序;ResWriter工具;串口工具;语音压缩工具等等。第二节 功能要求小车的主要性能指标:1、输入电压:DC4.5V(3节AA电池) 2、可以实现前、后、左、右四方向运作 3、可以实现弧形旋转 4、具有通过加载61板实现语音控制语音控制小车的主
17、要功能: 1 可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能; 2 配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能; 3 可以在行走过程中声控改变小车运动状态; 4 在超出语音控制范围时能够自动停车注意事项:1 一定要注意电池的正负极性,切勿装反; 2 长期不用请将电池取出电池盒; 3 由于语音信号的不确定性,语音识别的过程会出现一定的误差和不准确性; 4 由于小车行动比较灵活,速度比较快,在使用时一定要注意保持场地足够大,且保证不会对周围的物体造成伤害; 5 不要让小车长时间运行在堵转状态(堵转状态:由于小车所受阻力过大,造成小车电机加电但
18、并不转动的现象),这样会造成很大的堵转电流,有可能会损坏小车的控制电路。 第三节 车体说明2.3.1车体结构语音控制小车为四轮结构,车的结构示意图如图 2.3.1所示。其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。在自然状态下,前轮在弹簧作用下保持中间位置。后面两个车轮由后轮电机驱动,为整个小车提供动力,所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮,如图 2.3.2所示。图2.3.1整个小车分为三大部分:车体部分、61板、控制板。 车体部分:小车车体主要为两个电机驱动装置,分前轮(方向)驱动和后轮(动力驱动)。在车体的下面有一个可以安装4节AA
19、电池的电池盒,整个小车的电源就是由它来提供的。在小车的底部有一个小开关,它负责控制整个小车的电源开通与关断。 61板:61板是小车的核心部分,它负责整个小车控制信号的产生,以及语音的播放和识别功能实现。在不使用小车时可以将61板从小车上拆下来,61板仍然是完整的,可以用它来做其它的实验或开发。 控制板:控制板负责将来自61板的控制信号转化为能够驱动电动机的信号。(图中61板下面的黄色板子)2.3.2硬件框图小车控制系统硬件结构比较简单,如图 2.3.3所示,主要分为两个部分:一个是SPCE061A精简开发板(即“61”板),另外一个是电机控制板。电机控制板的工作就是根据61板的输出信号去启动和
20、停止相应的电机,以及调整电机的正反转方向。正是通过开启和关闭相应的电机,使电机在不同的组合状态运转,最终来实现小车的前进,倒退等功能。图2.3.3SPCE061A性能 16位nSP微处理器; 工作电压(CPU) VDD为3.0V3.6V,(I/O) VDDH为VDD5.5V; CPU时钟:0.32MHz49.152MHz; 内置2K字SRAM; 内置32K FLASH; 可编程音频处理; 晶体振荡器; 系统处于休眠模式下(时钟处于停止状态),耗电仅为2A3.6V; 2个16位可编程定时器/计数器(可自动预置初始计数值); 2个10位DAC(数-模转换)输出通道; 32位通用可编程输入/输出端口
21、; 两级中断,14个中断源; 具备触键唤醒的功能; 使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据; 锁相环PLL振荡器提供系统时钟信号; 32768Hz实时时钟; 7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器; 声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能; 具备串行设备接口(UART,SIO); 具有低电压复位(LVR)功能和低电压监测(LVD)功能; 内置在线仿真电路ICE(In- Circuit Emulator)接口; 具有保密能力; 具有Watch-dog功能。 2.3.3小车控制板 控制板主要包括:接口
22、电路、电源电路和两路电机的驱动电路,控制板原理图如图 2.3.4所示。 接口电路:接口电路负责将61板的I/O接口信号传送给控制电路板,I/O信号主要为控制电机需要的IOB8IOB11这四路信号,同时为了方便后续的开发和完善,预留了IOB12IOB15以及IOA8IOA15接口,可以在这些接口上添加一些传感器。 电源部分:整个小车有4个电源信号:电池电源,控制板工作电源,61板工作电源,61板的I/O输出电源。系统供电由电池提供,控制板直接采用电池供电(VCC),然后经二极管D1后产生61板电源(VCC_61),通过61板的Vio跳线产生61板的端口电源(V1)。二极管D1作用:a) 降压,4
23、节电池提供的电压VCC最大可达到6V,D1可有效地降压。 b) 保护,D1可以防止电源接反烧坏61板。 图2.3.4功能分区:小车控制板功能分区图如图2.3.5。其中,A区为电源区,分别给61板*和小车控制板提供电源;B、C区分别为后、前轮的电机驱动电路,驱动后面两个轮或者前面两个轮的进行正、反两个方向的转动;D区为I/O接口区,负责和61板的接口进行连接,注意J5与J6是接通的,J7与J8是接通的。 注:上标(*)表示61板可以通过小车的电池供电,也可单独供电。图2.3.5 小车控制板功能分区图2.3.4动力电机驱动电路动力驱动由后轮驱动实现,负责小车的直线方向运动,包括前进和后退,后轮驱动
24、电路是一个全桥驱动电路,如图 2.3.5所示:Q1、Q2、Q3、Q4四个三极管组成四个桥臂,Q1和Q4组成一组,Q2和Q3组成一组,Q5控制Q2、Q3的导通与关断,Q6控制Q1和Q4的导通与关断,而Q5、Q6由IOB9和IOB8控制,这样就可以通过IOB8和IOB9控制四个桥臂的导通与关断控制后轮电机的运行状态,使之正转反转或者停转,进而控制小车的前进和后退。图2.3.6当IOB8为高电平、IOB9为低电平时Q1和Q4导通,Q2和Q3截止,后轮电机正转,小车前进;反之当IOB8为低电平、IOB9为高电平时Q1和Q4截止,Q2和Q3导通,后轮电机反转,小车倒退;而当IOB8、IOB9同为低电平时
25、Q1、Q2、Q3和Q4都截止,后轮电机停转,小车停止运动。 注意:IOB8和IOB9不能同时置高电平,这样会造成后轮驱动全桥短路现象。2.3.5方向电机控制电路方向控制由前轮驱动实现,包括左转和右转,前轮驱动电路也是一个全桥驱动电路,如图 2.3.6所示:Q7、Q8、Q9、Q10四个三极管组成四个桥臂,Q7和Q10组成一组,Q8和Q9组成一组,Q11控制Q8、Q9的导通与关断,Q12控制Q7和Q10的导通与关断,而Q11、Q12由IOB10和IOB11控制,这样就可以通过IOB10和IOB11控制前轮电机的正转和反转,进而控制小车的左转和右转。 当IOB10为高电平、IOB11为低电平时Q8和
26、Q9导通,Q7和Q10截止,前轮电机正转,小车前轮朝左偏转;反之当IOB10为低电平、IOB11为高电平时Q8和Q9截止,Q7和Q10导通,前轮电机反转,小车前轮朝右偏转;而当IOB10、IOB11同为低电平时Q8和Q9截止,Q7和Q10也截止,前轮电机停转,在弹簧作用下前轮被拉回到中间位置,保持直向。 注意:IOB10、IOB11不能同时为高电平,这样会造成前轮驱动全桥的桥臂短路。图2.3.7结合以上对前轮和后轮的状态分析,得到小车的运行状态与输入的对照表,如下表所示:IOB11IOB10IOB9IOB8后电机前电机小车0000停转停转停0001正转停转前进0010反转停转倒退0101正转正
27、转左前转1001正转反转右前转表2.3.1另外还有一些不常用的运行状态,比如右后转、左后转等,结合以上对前轮和后轮的状态分析,其端口对照如表 2.3.2所示:IOB11IOB10IOB9IOB8后电机前电机小车0110反转正转右后转1010反转反转左后转表2.3.2注意:为了小车的安全请不要出现以下两种组合情况:IOB11IOB10IOB9IOB8后电机前电机小车*11停转*停11*停转停表2.3.3第四节 小车的功能实现原理2.4.1小车直走的实现过程只要让小车的前轮保持自然状态(即不左偏又不右偏),然后让后轮正传即可实现小车的前进。对应全桥驱动电路如表2.4.1所示IOB11IOB10IO
28、B9IOB8后电机前电机小车0001正转停转前进表2.4.12.4.2小车倒退的实现过程与之相反,只要让小车的前轮保持自然状态(即不左偏又不右偏),然后让后轮倒传即可实现小车的前进。 对应全桥驱动电路如表2.4.2所示IOB11IOB10IOB9IOB8后电机前电机小车0010反转停转倒车表2.4.22.4.3小车的左前转实现过程在某些场合,小车还需要转弯,那么小车又是怎样实现转弯的呢?如果需要小车实现左前转,可以让小车的前轮左偏,后轮正转,这样就可以实现小车的左转,如表 2.4.3所示:IOB11IOB10IOB9IOB8后电机前电机小车0101正转正转左前转表2.4.32.4.4小车的右前
29、转实现过程如果需要小车实现右前转,可以让小车的前轮右偏,后轮正转,这样就可以实现小车的右转,如表 2.4.4所示:IOB11IOB10IOB9IOB8后电机前电机小车0110反转正转右后转1010反转反转左后转2.4.5小车的右后转及左后转与之相反,即可。2.4.6PWM调速的原理 如果需要调速,可以直接调用SPCE061A的PWM资源,通过调节PWM的占空比来实现速度的调节。当IOB11IOB8输出的逻辑电平组合为“0001”时,加在后轮电机上的驱动电压为VCC;而当IOB11IOB8输出“0000”时,加在后电机上的电压为0V。如果交替地向端口送“0001”和“0000”两种组合(PWM输出端口自动实现),那么加在小车电机两端的电压就在VCC和0V之间不停的跳变,对应的电机电压波形如图 2.4.1示:图2.4.1 PWM调速原理图
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1