资源描述
声控小车设计-毕业设计
毕 业 设 计(论文)
(说 明 书)
题 目: 声控小车设计
姓 名: 张宇皓
编 号: 9060920
平顶山工业职业技术学院
2010 年 5 月 20 日
平顶山工业职业技术学院
毕 业 设 计 (论文) 任 务 书
姓名 张宇皓
专业 应用电子技术专业
任 务 下 达 日 期 2010 年 3 月 1 日
设计(论文)开始日期 2010 年 3 月 6 日
设计(论文)完成日期 2010 年 5 月 20 日
设计(论文)题目: 声控小车
A·编制设计
B·设计专题(毕业论文)
指 导 教 师 刘坤磊
系(部)主 任 韩 莉
2010 年 6 月 2 日
平顶山工业职业技术学院
毕业设计(论文)答辩委员会记录
自动化 系应用电子技术专业专业,学生 张宇皓 于 年 月 日
进行了毕业设计(论文)答辩。
设计题目: 声控小车
专题(论文)题目:
指导老师:
答辩委员会根据学生提交的毕业设计(论文)材料,根据学生答辩情况,经答辩委员会讨论评定,给予学生 毕业设计(论文)成绩为 。
答辩委员会 人,出席 人
答辩委员会主任(签字):
答辩委员会副主任(签字):
答辩委员会委员: , , ,
, , ,
平顶山工业职业技术学院毕业设计(论文)评语
第 页
共 页
学生姓名: 张宇皓 专业 应用电子技术专业 年级 2007
毕业设计(论文)题目: 声控小车
评 阅 人:
指导教师: (签字) 年 月 日
成 绩:
系(科)主任: (签字) 年 月 日
毕业设计(论文)及答辩评语:
平顶山工业职业技术学院毕业设计说明书(论文)
引言
随着计算机技术的高速发展和普及,单片机作为第四代微型计算机的一个重要分支:以其体积、应用灵活和性能价格比高等优势,在工业控制、智能仪器仪表、尖端武器、数据采集系统和各种家用电器等领域得到了广泛的应用。单片机的应用导致了控制领域的一场革命,是微控技术(软件控制)逐步取代传统的硬件控制。凌阳科技股份有限公司作为台湾最大的消费性IC设计公司。为回馈教育,改善大专院校单片机教学条件,凌阳公司成立了具有长期战略意义的凌阳科技教育推广中心。凌阳科技教育推广中心将单片机应用于技术学习、在线调试、在线仿真等于一身的强大的开发工具。
凌阳科技公司设计的16位高性能单片机SPCE061A具有速度快、性能可靠、开发环境完善、价格低和简单易学等优点。尤其是SPCE061A精简开发板(61板)具有电源模块、SPCE061A最小系统模块、音频模块和在线仿真等模块,使得开发更加容易。SPCE061A及其系列产品将带领MCU的应用迈电子实习与电子技术等理论课有很大的不同。电子实习是以电子产品生产为工程背景,通过实习使学生学到电子产品的工艺设计知识,并通过“真刀真枪”的电子产品制作,使学生了解电子产品制造过程、熟悉电子产品工艺,掌握制作电子产品的操作技能,为进一步学习和应用奠定基础。在培养高素质人才的系统工程中,实践教学的作用既不能省略又不能用电子实验来替代。很多高校的电子实习内容单调、技术陈旧、设备简单、师资缺乏,大家一提起电子实习,很多人头脑中的印象就是几把电烙铁再加上一些螺丝刀,教学生照猫画虎做一些简单的电子产品,与现代制造技术和时尚数码产品沾不上多少边。凌阳大学计划新概念电子实习将完全打破现有电子实习的弊端,使各高校学生真正达到了解电子产品制造过程、熟悉电子产品工艺,掌握制作电子产品的操作技能,为进一步学习和应用奠定基础的目的。
目录
第一章 单片机基本知识 4
1.1 凌阳公司简介 4
1.2 凌阳单片机概述 4
1.2.1单片机的概念 4
1.2.2单片机的用途 4
1.2.3利用单片机进行开发的一般过程 4
1.3 SPCE061A EMU BOARD 5
1.3.1“61板”简述 5
1.3.2为什么选用SPCE061A单片机来讲解 6
第二章“61板”介绍 7
2.1“61板”硬件结构 7
2.1.1 SPCE061A 最小系统 8
2.1.2辅助电路模块 8
2.1.3 ICE接口电路 9
2.2“61板”主要器件使用说明 10
2.2.1 SPCE061芯片 10
2.2.2 SPCE061芯片的特性参数 10
2.2.3芯片的引脚排列和说明 11
2.3“61板”焊接与测试 12
2.3.1“61板”的焊接 12
2.3.2“61”板自检前的准备………………………………………………................................13
2.4“61板”自检...................................................................................................................................13
第三章 声控小车 15
3.1引言 15
3.2设计要求 15
3.3系统总体方案 15
3.3.1方案论证 15
3.3.2系统硬件方案 17
3.3.3系统控制方案 18
3.4系统硬件设计 19
3.4.1车体介绍 20
3.4.2小车的行走原理 20
3.4.3控制板原理图……………………………………………………………………………23
3.4.4小车行状态与端口对照…………………………………………………………………24
3.4.5系统软件设计. 24
3.4.6系统子程序设计 26
3.4.7结语 30
第四章 总结 31
致谢 31
参考文献 32
第一章 单片机基本知识
1.1 凌阳公司简介
全球第一大消费性芯片设计公司——凌阳科技,1990 年 8 月成立于台湾。凌阳科技的主要业务为研发、制造、销售高品质及高附加价值的消费性集成电路(IC)产品。它拥有较先进的工艺设计技术,提供几千种标准产品,广泛应用于工业领域和消费类电子产品领域。部分型号单片机可以完成在线编程、仿真和调试。此设计不仅降低开发者的成本,而且在很大程度上可以加快开发者的设计进程。其主要产品包括:液晶 IC、微控器 IC、多媒体 IC、语音、音乐 IC 及各式 ASICs,同时还提供高性能的外围电路,包括 LCD、AGC、DTMF、A/D、D/A、UART、SPI、PCI、计数器和存储控制器等等。
1.2 凌阳单片机概述
1.2.1单片机的概念
单片微型计算机简称单片机,由于它的结构及功能均是按工业控制要求设计的,所以其确切的名称应是单片微型控制器(Single Chip Micocontroller),它是把微型计算机的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、并行IO接口、定时器、计数器及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机系统,故又把它称为单片微型计算机(Single Chip Micocontroller)。
1.2.2单片机的用途
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种手机、充电器、电话、电风扇、录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
1.2.3利用单片机进行开发的一般过程
从上面的章节中我们已经了解了什么是单片机和单片机可以用来做什么,在那些实例中可以发现每一个系统都是在完成一个特定的功能,这些特定功能的实现依靠单片机来指派。单片机知道怎样来进行指派,是由我们编写的程序来控制,从这个过程反过来推导就是单片机开发的一个过程,最简流程是根据硬件设计编写程序并把程序加载到单片机里。
所谓硬件(Hardware),就是看得到,摸得到的实体。有了这样的硬件,才有了实现计算和控制功能的可能性,硬件设计就是根据我们要设计的系统来找到实现这个系统所需要的硬件,并根据一定的电气规则把它们组合起来(前期用来做试验的硬件也称之为开发系统)。
单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序(存入)单片机,它才能有效地工作。所谓程序,就是人们为了告诉微处理器要做什么事而编写的,微处理器能够理解的一串指令,有时也叫代码、程序。单片机能自动地进行运算和控制,是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在中央处理器(也称“内核”)的控制下,将指令一条条地取出来,并加以翻译和执行。
由于单片机只认识“0”和“1”,为了让单片机认识我们编写的程序,这就需要一个“中间人”来充当翻译,把程序翻译成“0”和“1”的一系列组合(“0”和“1”的一系列组合也称之为目标码或机器码),这个“中间人”就是我们通常所说的开发环境(也称“编译器”),为了把翻译的结果存入单片机,人们发明了下载器(或称“烧录器”)。
同时,为了更加方便的检查我们编写的程序是否符合设计的系统的要求(或者说更好的进行程序调试),人们又发明了仿真机,当我们的程序仿真成功以后,再下载到我们设计的系统上,这样一来不仅为我们的程序调试提供了方便,也减少了把一个有误的程序下载到设计的系统上的可能。当然如果你确认你的程序没有问题的话,也可以不使用仿真器,可惜的是这种牛人在现实中很少见。
总体来说单片机开发的一般过程是首先进行硬件设计,然后根据硬件和系统的要求在开发环境中编写程序,经多次使用仿真器把程序调试成功后,再通过烧录器把程序写到单片机里。
1.3 SPCE061A EMU BOARD
1.3.1“61板”简述
61板是SPCE061A EMU BOARD的简称,是“凌阳大学计划”专为电子爱好者和高校学生进行课程设计、毕业设计及电子竞赛所设计的,以凌阳16位单片机SPCE061A为核心的精简开发-仿真-实验板。硬件电路包括电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,让学生在掌握软件设计的同时,熟悉单片机硬件的设计制作,锻炼动手能力。而且它的体积小,采用电池供电,方便随身携带。熟悉61板,应该从各功能模块入手,如图1-1:
图1-1 61板各模块划分
A区为电源区;B区为SPR4096扩展区;C区为在线调试PROBE/EZ_PROBE
接口选择区;D区为音频MIC输入、音频输出区;E区为UART/USB通讯接口
1.3.2为什么选用SPCE061A单片机来讲解
SPCE061A单片机的开发系统,通过挂接不同的硬件和下载不同的程序就可实现各类特定功能的系统。由于具有语音处理的特色,即便是不挂接额外的硬件,下载一些我们开发环境下提供的程序就可以实现一个复读机、语音万年历之类的系统,这也是一些人把61板称为一个准产品的原因。
SPCE061A是各类单片机里的一种,它是伴随着凌阳大学计划在大陆推出的,在短时间里SPCE061A单片机得到了各大专院校师生的认可,并在业界获得了良好的声誉,因为这个片机代表了现代单片机的大部分特点,在这本书中所有的例子都以它为标准进行讲解。现在可以说是一个单片机百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,SPCE061A单片机之所以能在短时间内在国内得到认同,主要是因为它代表了单片机发展的潮流。
1.它整合了多个常用的功能模块,让我们在进行系统开发的时候不用外加过多的硬件就可方便完成一个系统的设计,这就是人们常说的SoC(System on chip)技术。
2.耗电少,可以满足很多手提设备、掌上设备低能耗的需求,低能耗也是电子技术一直在追求的一个目标。
3.可方便的用来实现声音录制、播放,Midi音乐合成和语音识别,相比别的单片机比较有特色。
4.可方便的完成一系列乘加的运数,实现一些数据处理比较容易,别的单片机一般都不具备这种功能。
5.芯片里具备在线仿真调试电路,使调试和程序下载更加方便,也把仿真器和烧录器的成本给节省下来了。
使用SPCE061A单片机进行学习,不仅可以学到单片机的一些基础知识,并且学习成本低廉,还可进一步了解单片机的发展方向和接触到当前一些先进的技术。
第二章“61板”介绍
2.1“61板”硬件结构
61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便随身携带。61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSP IDE,可方便地在板上实现程序的下载、在线仿真调试。
图2-1 61板硬件结构框图
61 板的硬件电路大体上可分为SPCE061A最小系统、电源电路、音频电路、ICE接口等模块,下面分别介绍61板的各部分电路。
2.1.1 SPCE061A 最小系统
SPCE061A最小系统中,包括PCE061A芯片及其外围的基本模块,其中外围的基本模块有:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等。
2.1.2辅助电路模块
1.电源电路
需要注意的是由于SPY0029最大输出电流为50mA,所以如果需要外接一些模组时要先考虑负载是否合适。脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚;AVSS2接音频输出电路的AVSS2。
图2-2电源电路图
2.音频电路
音频电路由音频输出和音频输入两部分组成。SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。
图2-3 音频输出电路
图2-4 音频输入电路
SPCE061A芯片中已经集成了音频输入专用ADC以及AGC放大电路,因此芯片外部的电路比较简单,61板的音频输入电路模块。由于未经处理的音频资源数据量很大,对于单片机来说,数据的存储和传输都比较困难,这使得音频压缩编码成为音频处理的重要环节。因此凌阳公司将A/D、编码、解码、存储及D/A做成相应的模块,每个模块都有其应用程序接口API,用户只需了解每个模块所实现的功能及其参数的内容即可。该电路是能更加快速、准确完成对音频信号的处理。
2.1.3 ICE接口模块
SPCE061A芯片内部集成了ICE(在线仿真)接口,PC机通过Probe(在线调试器)或EZ_Probe(简易下载线)与61板相连,就可以方便地完成程序的下载、调试等。61板为Probe和EZ_Probe各自提供了一组接口,可通过S5跳线来选择使用的接口类型。
图2-5 ICE接口电路
2.2“61板”主要器件使用说明
2.2.1 SPCE061A芯片
61板的核心是凌阳16位单片机SPCE061A。SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,它采用高性能的凌阳科技自主知识产权的μ’SP内核,具有丰富的硬件资源,并集成了ICE(在线仿真电路)接口,可以直接利用该接口对芯片进行下载(烧写)、仿真、调试等操作。
2.2.2 SPCE061A芯片的特性参数:
工作电压:(CPU)VDD为2.4~3.6V(I/O)VDDH为VDD~5.5V;
CPU工作速率:0.32MHz~49.152MHz;
CPU:16位μ’nS内核,支持16位加法运算、16×16位硬件乘法、DSP的内积滤波运算;
SRAM容量:2K字RAM;
程序存储器容量:32K字FLASH;
并行I/O端口:2组16位可编程输入/输出端口:IOA15~0,IOB15~0;
ADC:7通道10位电压ADC(Line_IN)和单通道10位声音ADC(Mic_IN);单通道声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;
DAC:2个10位DAC(数-模转换)输出通道音频输出方式;
中断源:14个中断源,分别来自TimerA/B、时基信号发生器、外部中断、触键唤醒;
定时器/计数器:双16位可编程定时器/计数器(可自动预置初始计数值);双通道PWM输出;
UART:提供了一个全双工UART接口;
SIO:提供了一个串行同步设备接口;晶振采用32768Hz;
具备清除时间周期为0.75秒的看门狗;节电功能:
具备弱振方式、睡眠方式;
具有凌阳格式语音播放、语音录放和语音识别功能;
具有低电压复位、低电压监测、保密功能等。
图2-6 SPCE061A 的结构
2.2.3芯片的引脚排列和说明
有两种封装片,一种为84个引脚,PLCC84封装形式;它的排列如图1.4所示;另一种为80个引脚,LQFP80封装。它的排列如图所示。
图2-7 SPCE061A LQFP80封装引脚排列图
2.3“61板”焊接与测试
2.3.1“61板”的焊接
1.元器件检测的重要性
查看元件是否与元件清单上的一致,如有缺失或不一致,应立即更正。
在确定元件与清单上一致时,对元件进行检测,在检测过程中不得马虎大意,将损坏的元器件焊接在实验导致其不能正常工作,还要对其更换比较麻烦,因此我们在检测时,要细心、不得马虎大意。
2.元件焊接
焊点的质量直接关系到整块电路板能否正常工作,也是每个操作人员要学会并掌握的基本功。
质量好的焊点称标准焊点,在交界处,焊锡、铜箔、元件三者较好地融合在一起。由于元件脚、印制电路板铜箔表面不清洁,或者电烙铁头温度偏低,元件脚、印制电路板铜箔与烙铁头接触表面太小导致受热太慢,温度不够,也有焊锡用量不当引起,这一类焊点称为虚焊点。
焊接时使电烙铁头与焊接元件及铜箔接触面积要尽可能大些。掌握好焊接时间,一般一个焊点约用2秒。焊后焊点应饱满、光亮、无裂痕、无毛刺且焊剂尚未完全挥发干。若时间长,易损坏焊接部件及元件。铜箔、元件三者较好地融合在一起。若时间短,又不能使焊接达到标准要求,焊点上的焊锡要适当,以饱满引线为宜,呈圆锥形。焊锡过多是浪费,而且容易出现焊点互相桥连现象。
图2-8 焊点质量焊接
同时焊接时还要注意元器件要按由低到高的顺序,还应注意元器件的焊接顺序,以免在焊接时出现元器件埙坏的现象。
2.3.2“61板”自检前的准备
1.硬件准备:
1).VDDIO选择3.3V;
2).液晶的CS连接至IOB2,其它默认连接;
3).串行通讯选择RS232,并将RS232DB9的第2、3脚或U8MAX232的第
7、8脚短路。由于MAX232芯片的差异,VDDIO选择3.3V有可能导致串行通讯测试失败,应视具体情况选择合适的VDDIO,敬请注意;
4).SPR4096选择FLASH功能,SIO口默认连接;
2.软件准备:
在集成开发环境IDE,它集程序的编辑、编译、连接、调试以及仿真等功能为一体;具有友好的交互界面、全面的工具,以及各种快捷键和快速访问命令列表等,使用户的编程、调试工作更加方便高效。此外,它提供的软件仿真功能可以不在连接仿真板的情况下模拟硬件的各项功能来调试程序,不受硬件限制,SPCE061A就是在该集成开发环境下完成其的自检及仿真等操作,在电脑安装有IDE开发程序,并连接与61板接口吻合的下载线,在硬件与软件准备完成后就可一对61板进行自检了。
2.4“61板”自检
在硬件与软件准备完成后,将电池盒开关拨到【ON】位置进行自检:
1.从【开始】菜单内启动工具;
2.将自检程序打开,(对于第一次使用的开发程序正确设置软件个参数),在确认后进行源文件的编译,编译过程的语法错误在Output窗口内显示;
3.编译正确时,进行源文件的下载;
下载完成,断开原件POWER跳线,用排线将排针IOA和IOB连接。
自检开时,可以听到“欢迎进入自检模式”、“I/O口测试成功”、“休眠模式测试成功”等语音提示,提示完后,按下K3键对MIC进行测试,可以听到刺耳的噪声,这时自检就结束了,就可以使用61板进行个程序操作了,如果没有听到,认真检测电路板以及个元器件,找出损坏的部位,并将原件更换,再次进行自检操作。
第三章 声控小车
3.1引言
语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,像 ISD 系列、PM50 系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。 SPCE061A 是凌阳科技推出的一款 16 位μ'nSP 结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到49MHz。SPCE061A内嵌32K字的FLASH程序存储器以及2K的SRAM。 同时该SOC芯片具有ADC和DAC功能,其MIC_ADC 通道带有AGC 自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路10 位的电流输出型 DAC,只要外接一个功放就可以完成声音的播放。以上介绍的这些硬件资源使得该 SPCE061A 能够单芯片实现语音处理功能。 借助于SPCE061A的语音特色,我们开发出了这款语音控制小车。小车不仅具有前进、后退、左转、右转停车等基本功能;同时配合SPCE061A的语音特色,实现语音控制功能。
3.2设计要求
语音控制小车的主要功能:
1、 可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;
2、 配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;
3、 可以在行走过程中声控改变小车运动状态;
4、 在超出语音控制范围时能够自动停车。
3.3系统总体方案
3.3.1方案论证
方案一:
采用MCS-51 系列单片机实现,由于有语音识别和语音播放功能,所以需要扩展语音识别模块和语音播放模块,这样必然造成端口的资源紧张,所以还必须加入接口扩展芯片。该实现方案结构如图 3-1 所示。
图3-1 方案一解决方案系统框图
方案二:
采用SPCE061A实现语音控制小车方案,由于SPCE061A内部具有语音识别和语音播放功能,所以只需要扩展基本的MIC 和语音功放即可,该方案结构如图 3-2 所示。
图3-2 方案二解决方案系统框图
3.3.2系统硬件方案
系统的结构框图如图 3-3 示。
“61”板 控制板
图3-3 系统结构框图
系统组成主要包括以下两部分:SPCE061A精简开发板、语音小车控制电路板。
图中的语音输入部分MIC_ IN、按键输入KEY、声音输出部分的功率放大环节等已经做到了精简开发板——61 板上,为我们使用提供了很大的方便。在电机的驱动方面,采用全桥驱动技术,利用四个I/O端口分为两组分别实现两个电机的正传、反转和停三态运行。
3.3.3系统控制方案
小车的运动控制采用语音控制和中断定时控制相结合,通过语音触发小车动作,小车动作之后,随时可以通过语音指令改变小车的运动状态。在每一次动作触发的同时启动定时器,如果小车由于某些原因不能正常的接收语音指令,则只要定时时间到,中断服务程序会发出指令让小车停下来。
详细的控制过程请参看程序设计部分。
3.4系统硬件设计
3.4.1车体介绍
语音控制小车为四轮结构,如图 12.4 所示。其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。在自然状态下,前轮在弹簧作用下保持中间位置。后面两个车轮由后轮电机驱动,为整个小车提供动力。所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮,如图 3-4 所示。
后轮 前轮
图 3-4车体侧视图
图 3-5车体顶视图
3.4.2小车的行走原理
直走:由小车的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这是只要后轮电机正转小车就会前进。如图 3-6 所示;
倒车:倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,小车就会向后运动,如图 3-7 所示;
左转:前轮电机逆时针旋转(规定为正转) ,后轮电机正转,这时小车就会在前后轮共同作用下朝左侧前进,如图 3-8 所示;
右转:前轮电机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进,如图 13-9 所示。
图 3-6小车前进原理图
图 3-7小车倒车示意图
图 3-8小车左转示意图
图 3-9小车右转示意图
3.4.3控制板原理图
控制板主要包括:接口电路、电源电路和两路电机的驱动电路,控制板原理图如图 3-10 所示。
接口电路:接口电路负责将61 板的I/O接口信号传送给控制电路板,I/O信号主要为控制电机需要的IOB8~IOB11这四路信号, 同时为了方便后续的开发和完善, 预留了IOB12~IOB15 以及IOA8~IOA15 接口,可以在这些接口上添加一些传感器。
电源部分:整个小车有4 个电源信号:电池电源,控制板工作电源,61 板工作电源,61 板的I/O输出电源。系统供电由电池提供,控制板直接采用电池供电(VCC) ,然后经二极管 D1 后产生 61 板电源(VCC_61) ,通过61 板的Vio 跳线产生61 板的端口电源(V1) 。
二极管D1 作用:
1、降压,4 节电池提供的电压VCC 最大可达到6V,D1 可有效地降压。
2、保护,D1 可以防止电源接反烧坏61 板。
图 3-10控制板原理图
3.4.4小车运行状态与端口对照
结合以上分析,得到小车的运行状态与输入的对照表,如表 1 和表 2 所示:
表1 基本的输入与小车运动状态对照表
IOB11
IOB10
IOB9
IOB8
后电机
前电机
小车
0
0
0
0
停转
停转
停
0
0
0
1
正转
停转
前进
0
0
1
0
反转
停转
倒退
0
1
0
1
正转
正转
左前转
1
0
0
1
正转
反转
右前转
0
1
1
0
反转
正转
右后转
1
0
1
0
反转
反转
左后转
表12 禁止的输入状态列表
IOB11
IOB10
IOB9
IOB8
后电机
前电机
小车
*
*
1
1
停转
*
停
1
1
*
*
*
停转
停
3.4.5系统软件设计
系统的总体程序流程如图 3-11 所示:
图 3-11系统总体程序流程图
语音识别小车的主程序流程如图 12.11 所示,分为四大部分:初始化部分、训练部分、识别部分、重训操作。
初始化部分:初始化操作将 IOB8~IOB11 设置为输出端,用以控制电机。必要时还要有对应的输入端设置和PWM 端口设置等。
训练部分:训练部分完成的工作就是建立语音模型。程序一开始判断小车是否被训练过,如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到FLASH,在以后使用时不需要重新训练;如果已经训练过会把存储在FLASH 中的模型调出来装载到辨识器中。 识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然后等待动作命令。如果辨识结果为动作指令小车会语音告知相应动作并执行该动作,在运动过程中可以通过呼叫小车的名字使小车停下来。
重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61 板的KEY3) ,循环扫描该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000 单元) ,并等待复位。复位后,程序重新执行,当检测到训练标志位为0xffff时会要求重新对其进行训练。
下面详细介绍以上提到的子程序。
3.4.6系统子程序设计
训练子程序:
当程序检测到训练标志位BS_F
展开阅读全文