基于单片机的智能语音小车硬件设计
基于单片机的智能语音小车硬件设计,基于,单片机,智能,语音,小车,硬件,设计
基于单片机的智能语音小车硬件设计专业名称:自动化学生姓名:吴晗指导教师:李雪霞本设计实现的内容本课题是使用的LD3320模块作为语音的识别和输出模块,使MC9S12XS128微处理器作为处理芯片,对来自语音模块的命令信息进行判别扫描,根据其内容给出车模电机的驱动命令和舵机的方向控制,使小车按照语音命令实现前进、后退、左转向、右转向等预期的动作。整体结构框图Ld3320语音识别模块时钟模块复位按键 单 片 机驱动模块舵机电机设计方案LD3320为声音传感器;STC90LE52接收和处理语音传感器传来的信号,并且输出处理后能让16位飞思卡尔单片机MC9S12XS128微处理器识别的信号;当MC9S12XS128微处理器接收到信号会控制电机的驱动模块使电机实现相应的正反转,同时控制舵机的转向;LM2596为电源模块。语音模块电路原理图本次设计采用的是语音芯片模块,所以出现了接收模块和处理模块,接收模块使用的LD3320,处理模块使用的是STC90LE52微处理器。STC90LE52处理模块主要是将LD3320接收过来的信号,经过编程处理成相应的数字信号,对不同的命令信息进行编码。LD3320语音芯片的接收识别模块原理图本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片如Flash、RAM等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以任意动态编辑的。STC90LE52语音信号处理模块STC90LE52单片机以并口方式来控制LD3320并行接口:本芯片可通过并行方式和外部主CPU连接,此时使用8根数据线(P0-P7),4个控制信号(WRB*,RDB*,CS*,A0),以及一个中断返回信号(INTB*)。MC9S12XS128单片机最小系统如右图所示系统控制核心MC9S12XS128(16位)单片机是整个系统的主体,它为整个系统提供了运行方式。该最小系统包括电源、时钟、复位及引脚接插件几大部分引脚名称对接器件引脚名称及功能PWM3舵机DJ1/舵机控制PWM5电机dj1/电机正转PWM7电机dj2/电机反转PB0Sr1语音处理单片机的I/O 前进接收PB1Sr2语音处理单片机的I/O 后退接收PB2Sr3语音处理单片机的I/O 左转接收PB3Sr4语音处理单片机的I/O 右转接收PB4Sr5语音处理单片机的I/O 停止接收MC9S12XS128单片机端口设置原理图I/O分配表LM2596电源模块原理图系统的总电源采用的是7.2V直流电源,一路直接为电机驱动模块L298N的模拟部分供电。另一路利用DC/DC稳压电源模块LM2596将7.2V直流转换成5v直流输出,为语音模块LD3320,主控单片机MC9S12XS128供电。L298N驱动模块单片机I/O口输出电机控制信号经光耦进行光电隔离后,进入电机驱动芯片L298N,L298N输出信号直接加载至电机,驱动电机正反转。L298N驱动模块是为了让我们的大功率的电机能够转起来的保障,它有4个输入口,4个输出口。我们只使用了2个输入(int1和int4)和输出口(out1和out4,out2和out3接GND),实现电机的正(out1)反(out4)转。光敏开关TLP521光耦合器的主要优点是:信号单向传输,输入端与输出端完全实现了电气隔离隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。当IN1给高电平(1)的时候光线弱光耦接收端截止相当于给LN298IN1低电平;当IN1给低电平(0)的时候光线强光耦接收端导通相当于给LN298IN1高电平。二极管起保护作用,防止后级电路过流或过压冲击烧毁前级电路的芯片;通过IN1-IN4的高低电平来控制电机M1M2的转停;Out1Out2:输出端,接电机M1;Out3Out4:输出端,接电机M2;ENA、ENB:高电平有效,ENA、ENB分别为IN1和IN2、IN3和IN4的使能端;本科毕业设计论文本科毕业设计论文题题 目目基于单片机的智能语音小车硬件设计专业名称 自动化 学生姓名 吴晗 指导教师 李雪霞 毕业时间 2014.06 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文毕业 任务书一、题目:基于单片机的智能语音小车硬件设计二、指导思想和目的要求:通过毕业设计,使学生对所学电子工艺、传感器知识、电机控制技术、模电、数电、等电子基础课程的基本知识加深理解,在所学 51 八位单片机的基础上,学习更高级十六位单片机的基本指令及基本结构,并将其与实际工程应用紧密结合起来,培养创新意识,增强分析问题解决问题能力,为尽快进入社会角色,熟悉相关开发工作流程、项目小组组成、分工、合作方式方法等。增强团队合作意识,提高基本工作技能,为即将踏入社会奠定理论和实践基础。要求:认真复习有关基础理论和技术知识,查阅参考资料,参照智能小车设计思想,设计一个可以按照预定语音控制命令动作的智能小车,运用所学单片机知识独立设计电路、自行焊接、调试,直至预期结果方可。要求实现:小熊和在语音信号控制下自动实现启动、停止、左转、右转等功能。(1)设计思路:在所学单片机知识的基础上,按照设计指标要求完成各功能模块方案论证、原理图设计、器件选型、印刷电路板制作、元器件焊装、软件编程及联机调试。 (2)步骤:l、了解小车各功能模块要求及工作原理。 2、根据功能要求进行方案选型及论证。 3、设计各功能模块原理图。 4、各功能模块器件选型。 5、绘制各功能模块 PROTEL 原理图设计论文西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文 6、制做各印刷电路板并焊装。7、编程调试。三、进度与要求:1第一周第二周 在工作中收集各种相关资料。2第三周第四周 用 PROTEL 设计硬件原理图并进行器件选型。3第五周第九周 绘制 PROTEL PCB 板图并焊装。4第十周第十一周 编程调试,整理并组织论文。6第十二周第十四周 再次焊装调试,完成修改稿,定稿,打印,交评阅。7第十五周第十六周 评阅与答辩四、主要参考书及参考资料1 谢宜人主编,单片机实用技术问答, 北京人民邮电出版社 ; 20032 靳达,单片机应用系统开发实例导航 , 北京人民邮电出版社 ; 20033 流光斌等,单片机系统实用抗干扰技术,北京人民邮电出版社;20044 余永权,ATMEL89 系列单片机应用技术,北京航空航天大学出版社;20025 陈瑾;智能小车运动控制系统的研究与实现D;东南大学硕士论文;2005 年6 韦巍;智能控制技术M;北京:机械工业出版社;2000 年7 蒋新松;机器人学导论M;辽宁科学技术出版社;2003 年8 孙迪生,王炎;机器人控制技术;北京:机械工业出版社;1997 年9 陈明荧,8051 单片机课程设计实训教材,清华大学出版社;2003 年10 蔡美琴等,MCS-51 系列单片机系统及其应用,高等教育出版社;2004年西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文学生 吴晗 指导教师 李雪霞 系主任 史仪凯西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文摘 要随着汽车电子和机器人智能技术的发展,智能车已经成为自动控制领域内的一个研究热点。智能汽车是一种集环境感知、规划决策、自动行驶等功能于一体的综合系统,集中的运用到了自动控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等众多学科,是典型的高新技术综合体,具有重要的军用及民用价值。本文讲述了以FREESCALE的MC9S12XS128为微处理器通过控制电源模块,电机模块以及语音模块的运作从而实现语音控制小车的智能特性。 借助于各个模块之间的协调作用,我们开发出了这款语音控制小车。实现了小车前进、后退、左转、右转停车等基本功能关键词关键词:单片机,智能汽车,语音识别系统西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文ABSTRACTWith the development of automotive electronics and intelligent control technology, intelligent vehicle has become a hot research topic in the field of automatic control. Intelligent vehicle is a complex system environment perception, planning and ecision-making, automatic driving and other functions in one, focusing on the use of the many disciplines of automatic control, pattern recognition, sensor technology, automotive electronics, electrical, computer, machinery and so on, is a typical high-tech complex, with important military and civilian value.This paper describes the FREESCALE MC9S12XS128 as the microprocessor via the control power supply module, motor module and operation module of voice so as to realize the intelligent voice control car.Coordination with the help of modules, we developed a voice control car. The car forward, backward, turn left, turn right and stop and other basic functions.KEY WORDS: single chip microcomputer, intelligent vehicle, speech recognition system西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文目 录第一章 绪论 .11.1 选题的意义.11.2 课题研究现状 .11.3 实现的内容 .21.4 本人承担的任务 .3第二章 系统硬件 .42.1 设计方案.42.2 整体结构框图.42.3 各模块原理图.52.3.1 主控模块飞思卡尔单片机 .52.3.2 系统电源模块 .142.3.3 语音模块 .162.4 系统车模介绍.212.4.1 电机驱动模块 .232.4.2 驱动电机 .252.4.3 舵机 .26第三章 智能语音小车软件设计 .273.1 主控系统总体软件流程图.273.1.1 MC90XS128 时钟模块初始化.283.1.2 电机驱动 PWM 模块初始化.29西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文3.1.3 MC90XS128 系统初始化.293.2 STC90LE52 模块.293.2.1 中断程序模块 .293.2.2 ASR 模块.303.3 软件开发平台介绍.303.3.1 语音芯片开发平台:keil uvision4.303.3.2 飞思卡尔 16 位单片机 MC9S12XS12 的软件开发平台:.313.4 整体程序.32第四章 硬件设计问题及解决 .364.1 系统原理图绘制工具介绍.364.1.1 protel99se 软件介绍.364.1.2 Protel99se 的系统组成 .364.1.3 protel99se 功能.374.1.4 protel99se 特性.384.2 问题及解决.38第五章 参考文献 .39致 谢 .40毕业设计小结 .41西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文0第一章 绪论1.1 选题的意义 机器人的应用越来越广泛,几乎渗透到所有领域。机器人的发展体现了一个国家技术水平的高低,现代机器人从其诞生到现在,己经发展到了第三代。第一代机器人是示教再现型机器人。它们装有记忆存储器,由人将作业的各种操作要求示范给机器人,使之记住操作的程序和要领。当它接到再现命令时,则自主地再现示教的动作。第二代机器人是装有小型计算机和简单传感器的离线编程的工业机器人。它能感知外界信息和进行“思维” ,比第一代机器人更灵活、更能适应环境变化的需要。第三代是智能机器人。智能机器人是“具有感知、思维和动作的机器” 。它装有多种传感器,能识别作业环境,能自主决策,具有人类大脑的部分功能,且动作灵活,是人工智能技术发展到高级阶段的产物。 智能小车,也就是轮式机器人,具有广泛的用途,尤其适合那些人类无法工作的环境中工作,无人生产线,仓库,服务机器人,航空航天等领域。作为 20 世纪自动化领域的重大成就,机器人已经和人类社会的生产、生活密不可分。应此为了使智能小车工作在最佳状态,进一步研究及完善其速度和方向的控制是非常有必要的。其次学习智能小车的制作也是对大学 4 年学习的一个很好的检测,对今后的学习和工作具有很大的帮助。1.2 课题研究现状智能车辆作为智能交通系统的关键技术,是许多高新技术综合集成的载体。智能车辆驾驶是一种通用性术语,指全部或部分完成一项或多项驾驶任务的综合车辆技术。智能车辆的一个基本特征是在一定道路条件下实现全部或者部分的自动驾驶西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文1功能。智能车辆的研究始于 20 世纪 50 年代初,美国 Barrett Electronics 公司开发出的世界上第一台自动引导车辆系统(Automated Guided Vehicle System,AGVS) 。1974 年,瑞典的 Volvo Kalmar 轿车装配工厂与 SchiinderDigitron 公司合作,研制出一种可装载轿车车体的 AGVS,并由多台该种 AGVS 组成了汽车装配线,从而取消了传统应用的拖车及叉车等运输工具。由于 Kalmar 工厂采用 AGVS 获得了明显的经济效益,许多西欧国家纷纷效仿Volvo 公司,并逐步使 AGVS 在装配作业中成为一种流行的运输手段。中国第一汽车集团公司和国防科技大学机电工程与自动化学院于 2003 年 7 月研制成功我国第一辆自主驾驶轿车。该自主驾驶轿车在正常交通情况下,在高速公路上行驶的最高稳定速度为 130 公里/小时,最高峰值速度为 170 公里/小时,并且具有超车功能,其总体技术性能和指标已经达到世界先进水平。轿车自主驾驶的基本原理是仿人驾驶。车内的环境识别系统识别出道路状况,测量前方车辆的距离和相对速度,相当于驾驶员的眼睛;车载主控计算机和相应的路径规划软件根据计算机视觉提供的道路信息、车前车辆情况以及自身的行驶状态,决定是沿道路前进还是换道准备超车,相当于驾驶员的大脑;接着,自动驾驶控制软件按照需要跟踪的路径和汽车行驶动力学,向方向盘控制器、油门控制器和刹车控制器发出动作指令,操纵汽车按规划好的路径前进,起到驾驶员的手和脚的作用。1.3 实现的内容本课题是使用的 LD3320 模块作为语音的识别和输出模块,使用MC9S12XS128 微处理器作为处理芯片,对来自语音模块的命令信息进行判别扫描,根据其内容给出车模电机的驱动命令和舵机的方向控制,使小车按照语音命令实现前进、后退、左转向、右转向等预期的动作。西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文21.4 本人承担的任务 在此次设计中我的主要任务是硬件电路设计方面。负责电路原理图的软件绘制,器件的选型,方案确定及小车组装和电路调试方面的工作。西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文3第二章 系统硬件2.1 设计方案本设计采用了 LD3320 为声音传感器;STC90LE52 接收和处理语音传感器传来的信号,并且输出处理后能让 16 位飞思卡尔单片机 MC9S12XS128 微处理器识别的信号;当 MC9S12XS128 微处理器接收到信号会控制电机的驱动模块使电机实现相应的正反转,同时控制舵机的转向;LM2596 为电源模块。2.2 整体结构框图图 2-1 小车硬件结构智能车的硬件设计采用模块化的设计方法,分为控制芯片 MC9S12XS128B 电路,电源的管理单元,语音识别单元,舵机控制单元和直流驱动电机控制单元。Ld3320 语音识别模块时钟模块复位按键 单 片 机 驱 动 模块 舵机 电机西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文4各单元设计如下: 1电源管理单元主要为稳压电路的设计及合理利用,通过稳压管将 7.2 伏电压稳到 5 伏给系统各部件供电。2语音识别单元作为系统的重要组成部分,采用 LD3320 作为语音识别元件; STC90LE52 为语音处理元件 。3舵机控制单元通过 PWM 的控制来调整舵机的角度。 4直流驱动电机控制单元采用 L298N 电机驱动 H-桥作为电机的驱动元件。本次设计以飞思卡尔 MC9S12XS128 单片机为核心,由 Ld3320 语音识别模块进行语音的接收并由处理模块 STC90LE52 微处理器将其转换为单片机可识别的信号,从而控制 L298N 驱动模块来实现电机的正反转。2.3 各模块原理图2.3.12.3.1 主控模块飞思卡尔单片机Freescale 公司的 16 位单片机主要分为 HC12 、HCS12、HCS12X 三个系列。HC12 核心是 16 位高速 CPU12 核,总线速度 8MHZ;HCS12 系列单片机以速度更快的 CPU12 内核为核心,简称 S12 系列,典型的 S12 总线速度可以达到25MHZ。HCS12X 系列单片机是 Freescale 公司于 2005 年推出的 HCS12 系列增强型产品,基于 S12 CPU 内核,可以达到 25MHz 的 HCS12 的 2-5 倍性能。总线频率最高可达 40 MHz。S12X 系列单片机目前又有几个子系列:MC9S12XA 系列、MC9S12XB 系列、MC9S12XD 系列、MC9S12XE 系列、MC9S12XF 系列、MC9S12XH 系列和 MC9S12XS 系列。MC9S12XS128 就是 S12X 系列中的一个成员。1. MC9S12XS128 性能概述 MC9S12XS128 是 16 位单片机,由 16 位中央处理单元(CPU12X) 、128KB 程序 Flash(P-lash)、8KB RAM、8KB 数据 Flash(D-lash)组成片内存储器。主要功能模西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文5块包括: 内部存储器 ;内部 PLL 锁相环模块 ;2 个异步串口通讯 SCI ;1 个串行外设接口 SPI ;MSCAN 模块 ;1 个 8 通道输入/输出比较定时器模块 TIM ;周期中断定时器模块 PIT ;16 通道 A/D 转换模块 ADC ;1 个 8 通道脉冲宽度调制模块 PWM ;输入/输出数字 I/O 口;2、输入/输出数字 I/O 口 MC9S12XS128 有 3 种封装,分别为 64 引脚、80 引脚、112 引脚封装。其全名分别为 MC9S12XS128MAE、MC9S12XS128MAA、MC9S12XS128MAL。本次毕业设计使用了具有 80 个引脚的 MC9S12XS128MAA 单片机。MC9S12XS 系列具有丰富的输入/输出端口资源,同时集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ 和 PORTAD 共 11 个端口。端口引脚大多为复用口,往往具有多重功能,所有端口都具有通用 I/O 口功能。PORTA、PORTB、PORTK 为通用 I/O 口;PORTE 中的 IRO 和 XIRQ 引脚可作为外部中断输入;PORTT 集成了 TIM 模块功能;PORTS 集成了 SCI 和 SPI 模块功能;PORTM 集成了 CAN 总线模块;PORTP 集成了 PWM 模块功能;PORTH、PORTJ 可作为外部中断输入口;PORTAD 集成了 ATD 模块功能。西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文63.MC9S12XS128 单片机最小系统如图 2-2 所示:图 2-2 系统控制核心 MC9S12XS128 单片机最小系统系统控制核心 MC9S12XS128 单片机是整个系统的主体,它为整个系统提供了运行方式。该最小系统包括电源、时钟、复位及引脚接插件几大部分。排针外扩:如图2-3所示西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文7图2-3 排针外扩西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文84. MC9S12XS128 单片机端口设置端口设置原理图如图 2-4 所示:图 2-4 单片机端口设置核心板电路是总个电路的核心部分,控制着各部分的功能作用。我们因为把PWM2 和 PWM3,PWM4 和 PWM5,PWM6 和 PWM7 这 3 组级联使用,所以输出口变为舵机 DJ1,电机正传为 dj1,电机反转为 dj2,接收信号使用了 B 端口:PB0-PB4,对应引脚标注为 sr1-sr5。 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文9I/O 分配如表 2-1 所示 表 2-1 系统 I/O 分配表引脚名称对接器件引脚名称及功能PWM3舵机 DJ1/舵机控制PWM5电机 dj1/电机正转PWM7电机 dj2/电机反转PB0Sr1 语音处理单片机的 I/O前进接收PB1Sr2 语音处理单片机的 I/O后退接收PB2Sr3 语音处理单片机的 I/O左转接收PB3Sr4 语音处理单片机的 I/O右转接收PB4Sr5 语音处理单片机的 I/O停止接收5.MC9S12XS128MAA 特点介绍S12XS 系列单片机是在 S12XE 系列基础上去掉 XGate 协处理器的单片机;8 路 8 位、10 位、12 位 AD 转换,时间 3us;可运行在 40MHz 总线频率上;有 ECC 模块;7 路 PWM;8 路 16 位计数器;1 个 CAN 总线模块;4 路外部事件触发中断输入端口;2 个 SCI 串行通信模块支持 LIN 总线;西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文101 个 SPI 模块;80 管脚 LQFP 贴片封装。该系列单片机采用 S12XV2CPU 内核。6.端口介绍端口 A,B 和 K 为通用 I/O 接口端口 E 整合了 IRQ,XIRQ 中断输入端口 T 整合了 1 个定时模块端口 S 整合了 2 个 SCI 模块和 1 个 SPI 模块端口 M 整合了 1 个 MSCAN端口 P 整合了 PWM 模块,同时可用作外部中断源输入端口 H 和 J 为通用 I/O 接口,同时可用作外部中断源输入端口 AD 整合了 1 个 16 位通道 ATD 模块对于端口 T,S,M,P,H,J,和 AD,有基于每个针脚的降额输出驱动控制寄存器。对于端口 A,B,E,和 K,有一个基于端口的降额输出驱动控制寄存器。对于端口 S、M,有漏极开路(线或)控制寄存器。对于端口 P、H 和 J,有基于每个针脚的中断标志寄存器。西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文11(1)纯通用 IO 端口分别是:PA7:0;PB7:0;PE6:5;PE3:2;PM7:6;PJ7:6(带中断输入)。如图 2-5 所示图 2-5 纯通用 I/O 端口示图PORTA:PORTA 为通用 I/O 口, 共 8 个,作为通用数字 I/O 口使用,未集成特殊功能.主要配置寄存器有:数据寄存器 PORTA、数据方向寄存 DDRA、上拉电阻控制寄存器 PUCR 和驱动控制寄存器 RDR PORTB:PORTB 为通用数字 I/O 口, 共 8 个。其使用与 PORTA 基本一样。主要配置寄存器有:数据寄存器 PORTB、数据方向寄存 DDRB。上拉电阻控制寄存器 PUCR 和驱动控制寄存器 RDR 与 PORTA 、PORTB、PORTE、PORTK 共用 PORTE:PORTE 可作为通用数字 I/O 口使用, 80 封装也有共 8 个引脚。其使用与 PORTA 基本一样。但是 PORTE 中集成了外部中断输入功能,其 PE0/XIRQ和 PE1/IRO 引脚可作为外部中断输入。并且这两位只能作为输入口使用。主要配置寄存器有:数据寄存器 PORTE、数据方向寄存 DDRE西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文12(2)PWM 模块如图 2-6 所示 图 2-6 PWM 模块PWMEnableRegister(PWME) 通道使能寄存器每个 PWM 通道都对应一个使能位来开启和关闭 PWM 通道,如上 PWME0 对应通道 0,依次类推。一旦 PWMEx(其中 x 表示 07)置 1 后,相应的 PWM输出立即生效,但是 PWM 波形的需要等到时钟源的下一个周期才正常输出。原因是介于 PWMEx 位和时钟源的同步机制。注意:使能 PWM 通道后的第一个 PWM波形是不规则的。PWME7 通道 7 的脉宽使能位:(置 0通道关闭置 1通道打开)PWME5 通道 5 的脉宽使能位:(置 0通道关闭置 1通道打开)PWME4 通道 4 的脉宽使能位:(置 0通道关闭置 1通道打开)当通道 4 和通道 4 联合成 16 位通道使用时,联合后信号从通道 5 输出PWME3 通道 3 的脉宽使能位:(置 0通道关闭置 1通道打开)西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文13PWME2 通道 2 的脉宽使能位:(置 0通道关闭置 1通道打开)当通道 2 和通道 3 联合成 16 位通道使用时,联合后信号从通道 3 输出PWME1 通道 1 的脉宽使能位:(置 0通道关闭置 1通道打开)PWME0 通道 0 的脉宽使能位:(置 0通道关闭置 1通道打开)当通道 0 和通道 1 联合成 16 通位道使用时,联合后信号从通道 1 输出2.3.2 系统电源模块 电源模块如图 2-7 所示: 图 2-7 电源模块系统的总电源采用的是 7.2V 直流电源,一路直接为电机驱动模块 L298N 的模拟部分供电。另一路利用 DC/DC 稳压电源模块 LM2596 将 7.2V 直流转换成 5v 直流输出,为语音模块 LD3320,主控单片机 MC9S12XS128 供电。LM2596 开关电压调节器是降压型电源管理单片集成电路,能够输出 3A 的驱动电流,同时具有很好的线性和负载调节特性。固定输出版本有 3.3V、5V、12V, 可调版本可以输出小于 37V 的各种电压。该器件内部集成频率补偿和固定频率发生器,开关频率为 150KHz,与低频开西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文14关调节器相比较,可以使用更小 规格的滤波元件。由于该器件只需 4 个外接元件,可以使用通用的标准电感,这更优化了 LM2596 的使用,极大地 简化了开关电源电路的设计。其封装形式包括标准的 5 脚 TO-220 封装(DIP)和 5 脚 TO-263 表贴封装(SMD) 。该器件还有其他一些特点:在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在4%的范围内,振荡频率误差在15%的范围内;可以用仅 80A 的待机电流,实现外部断电;具有自我保护电路(一个两级 降频限流保护和一个在异常情况下断电的过温完全保护电路)指标:1.输入电压可高达 40V2.输出电压范围 1.2V37V4% 3.输出电流可高达 3A 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文152.3.3 语音模块 1. 语音模块电原理图如图 2-8 所示:图 2-8 语音模块整体原理图语音模块由语音接收识别模块 LD3320,语音信号处理单片机 STC90LE52 的最小系统组成。 2. 语音芯片的接收识别模块如图 2-9,2-10 所示:西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文16图 2-9 语音芯片的接收识别模块图 2-10 语音信号处理模块西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文17本次设计采用的是语音芯片模块,所以出现了接收模块和处理模块,接收模块使用的 LD3320,处理模块使用的是 STC90LE52 微处理器。STC90LE52 处理模块主要是将 LD3320 接收过来的信号,经过编程处理成相应的数字信号,对不同的命令信息进行编码。LD3320:芯片是一款“语音识别”专用芯片,由 ICRoute 公司设计生产。该芯片集成了语音识别处理器和一些外部电路,包括 AD、DA 转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片如Flash、RAM 等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以任意动态编辑的。LD3320 模块主要特征有:1.尺寸:2*6.2cm;2.排针:2*20 标准 DIP40 排针;3.LD3320 芯片的音频模拟管脚连接相应的电容/电阻后通过排针引出; 4.LD3320 模块上设计有 2 个音频插座,直接引出 MIC 输入和 Speaker 输出信号。用户可以用一个带麦克风的耳机验证语音识别和声音播放,十分方便;5.LD3320 模块上没有电源芯片,相应的电源管脚由排针引出,由开发者连接入 3.3v 电源输入;6.LD3320 模块上的 CLK 输入可以选择如下任意一种:1)直接将晶振信号通过排针输入到 LD3320 的相应管脚。2)或者用户可以自行焊接晶振,在模块上预留了晶振的空间和连接点。LD33201. 时钟(Clock) 芯片必须连接外部时钟,可接受的频率范围是 448MHz;而芯片内部还有 PLL 频率合成器,可产生特定的频率供内部模块使用2. 复位 对芯片的复位信号(RSTB*)必须在 VDD/VDDA/VDDIO 都稳定后进行。无论芯片正在进行何种运算,复位信号都可以使它恢复初始状态,并使各寄存器复位。如果没有后续的指令(对寄存器的设置) ,复位后芯片将进入休眠状态。此后,一个 CSB*信号就可以重新激活芯片进入工作状态。西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文183. 并行接口 本芯片可通过并行方式和外部主 CPU 连接,此时使用 8 根数据线(P0-P7) ,4 个控制信号(WRB*, RDB*, CS*, A0) , 以及一个中断返回信号(INTB*) 。4.串行接口 串行接口通过 SPI 协议和外部主 CPU 连接,首先要将 MD 接高电平,而将(2*)接地。此时只使用 4 个管脚:片选(SCS*) 、SPI 时钟(SDCK) 、SPI 输入(SDI)和 SPI 输出(SDO) 。 表 2-2 LD3320 I/O 分配表管脚编号 名称 IO方向 AD分类 说明1, 32 VDDIO - - 数字I/O电路用电源输入2 (Reaserved) - - (根据电路原理图连接上拉电阻)3 (Reaserved) - - (根据电路原理图连接上拉电阻)4 (Reaserved) - - (根据电路原理图连接上拉电阻)5 (Reaserved) - - (根据电路原理图连接上拉电阻)6 (Reaserved) - - (可以悬空)7 VDD - D 数字逻辑电路用电源8, 33 GNDD - D IO和数字电路用接地9, 10 MICP, N I A 麦克风输入(正负端)11 MONO I A 单声道LineIn输入12 MBS - A 麦克风偏置13, 14 LINL, R I A 立体声LineIn(左右端)15, 16 HPOL, R O A 耳机输出(左右端)17 GNDA - A 模拟电路用接地18 VREF - A 声音信号参考电压19, 23 VDDA - A 模拟信号用电源20 EQ1 O A 喇叭音量外部控制121 EQ2 I A 喇叭音量外部控制222 EQ3 O A 喇叭音量外部控制324 GNDA - A 模拟电路用接地25, 26 SPON, P O A 喇叭输出西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文1927, 28 LOUTL, R O A LineOut输出29 (Reaserved) - - (参考附录B.4 的说明)30 (Reaserved) - - (参考附录B.4 的说明)31 CLK I D 时钟输入448(MHz)34 P7 I/O D 并行口(第7位)连接上拉电阻35 P6 I/O D 并行口(第6位)连接上拉电阻36 P5 I/O D 并行口(第5位)连接上拉电阻37 P4 I/O D 并行口(第4位)连接上拉电阻38 P3 I/O D 并行口(第3位)连接上拉电阻39 P2/SDCK I/O D 并行口(第2位) , 共用 SPI时钟 连接上拉电阻40 P1/SDO I/O D 并行口(第1位) , 共用 SPI输出连接上拉电阻41 P0/SDI I/O D 并行口(第0位) , 共用 SPI输入 连接上拉电阻42 WRB*/SPIS* I D 写允许(低电平有效) , 共用SPI允许(低电平有效)连接上拉电阻 43 CSB*/SCS* I D 并行方式片选信号, 共用SPI片选信号连接上拉电阻 44 A0 I D 地址或数据选择。 在WRB*有效时,高电平表示P0P7是地址,而低电平表示P0P7是数据。 连接上拉电阻 45 RDB* I D 读允许(低电平有效) 连接上拉电阻46 MD I D 0:并行工作方式 1:串行工作方式(SPI协议)连接上拉电阻47 RSTB* I D 复位信号(低电平有效) 连接上拉电阻48 INTB* O D 中断输出信号(低电平有效) 连接上拉电阻共48个 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文20STC90LE52:STC90LE52 是一种带 8K 字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能 COMOS8 的微处理器,俗称单片机。该器件采用 ATMEL 搞密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。这部分是单片机 以并口方式来控制LD3320。并行接口:本芯片可通过并行方式和外部主 CPU 连接,此时使用 8 根数据线(P0-P7) ,4 个控制信号(WRB*, RDB*, CS*, A0) , 以及一个中断返回信号(INTB*) 。2.4 系统车模介绍本次设计采用四轮(前舵后机)小车模型,小车后面的电机用来为小车提供动力从而驱动小车。前面的舵机用来控制小车的行驶方向。语音控制小车为四轮结构,如图 2-11、图 2-12 所示。其中前面两个车轮由前轮舵机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。在自然状态下,前轮保持中间位置。后面两个车轮由后轮电机驱动,为整个小车提供动力。所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮,如下图所示 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文21图 2-11 小车实物图图 2-12 小车实物图西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文22小车的行走原理 直走:由小车的结构分析,在自然状态下,前轮舵机驱动柄保持中间状态,这是只要后轮电机正转小车就会前进。倒车:倒车动作和前进动作刚好相反,前轮舵机驱动柄仍然保持中间状态,后轮电机反转,小车就会向后运动。左转:前轮舵机逆时针旋转(规定为正转) ,后轮电机正转,这时小车就会在前后轮共同作用下朝左侧前进。 右转:前轮舵机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进。 2.4.1 电机驱动模块驱动模块如图 2-13 所示: 图 2-13 L298N 驱动模块西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文23单片机 I/O 口输出电机控制信号经光耦进行光电隔离后,进入电机驱动芯片L298N,L298N 输出信号直接加载至电机,驱动电机正反转。L298N 驱动模块是为了让我们的大功率的电机能够转起来的保障,它有 4 个输入口,4 个输出口。我们只使用了 2 个输入(int1 和 int4)和输出口(out1 和out4,out2 和 out3 接 GND),实现电机的正(out1)反(out4)转。 L298N 是 SGS 公司的产品,内部包含 4 通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含俩个 H 桥的高电压大电流双全桥式驱动器,接收标准 TTL 逻辑电平信号,可驱动 46V,2A 以下的电机。OUT1、OUT2 和OUT3、OUT4 之间分别接 2 个电动机。IN1、IN2、IN3、IN4 引脚从单片机接输入控制电平,控制电机的正反转,ENA、ENB 接控制使能端,控制电机的停转。图 2-14 光敏开关 TLP521光耦合器的主要优点是:信号单向传输,输入端与输出端完全实现了电气隔离隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。当 IN1 给高电平(1)的时候 光线弱 光耦接收端截止 相当于给 LN298 IN1西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文24低电平;当 IN1 给低电平(0)的时候 光线强 光耦接收端导通 相当于给 LN298 IN1高电平。图 2-15 电机 M1 M2 二极管起保护作用,防止后级电路过流或过压冲击烧毁前级电路的芯片。通过 IN1-IN4 的高低电平 来控制电机 M1 M2 的转停Out1Out2:输出端,接电机 M1;Out3Out4:输出端,接电机 M2; ENA、ENB:高电平有效,ENA、ENB 分别为 IN1 和 IN2、IN3 和 IN4 的使能端;2.4.2 驱动电机RS-540 电机基本参数 RS-540工作电压:DC7.2V空载电流:1.72A最大电流:9.71A空载转速:23400RPM10%负载转速:19900RPM10%西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文25最大功率 r:61.75W 图 2-16 RS-540 电机实物图2.4.3 舵机舵机 MG995 电机参数:空心杯电机;金属齿轮结构;双滚珠轴承;连接线长度 30 厘米;舵机 MG995 技术参数:尺寸:40mm 20mm 36.5mm;重量:62g 技术参数:无负载速度 0.17 秒/60 度(4.8V);0.13 秒/60 度(6.0V);扭矩:13KG使用温度:-30 - +60 摄氏度;死区设定:4 微秒;工作电压:3.0V-7.2V西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文26 图 2-17 MG995 舵机实物图西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文27第三章 智能语音小车软件设计本系统软件编程分为两个部分:1. MC9S12XS128 主控单片机编程2. 语音处理单片机 STC90LE52 编程主控单片机编程包括:系统初始化模块、I/O 初始化模块、时钟初始化模块、PWM 舵机控制模块、PWM电机驱动模块。语音处理单片机编程包括:中断模块、ASR 模块。3.1 主控系统总体软件流程图系统软件流程图如图 3-1 所示:图 3-1 系统软件流程图 程序初始化检测语音模块状态选择相应处理方式调用舵机程序调用电机程序 中断返回 中断程序中断响应西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文28PWM 流程图如图 3-2 所示: 图 3-2 PWM 流程图在整个系统设计中,用到了 3 个单片机基本功能模块:时钟模块、PWM 输出模块、以及普通 IO 模块。根据系统实际需求,对各个模块进行了初始化配置,通过对相应数据寄存器或状态寄存器的读写,实现相应的功能。3.1.1 MC90XS128 时钟模块初始化MC90XS128 单片机中有四个不同的时钟,即外部晶振时钟、锁相环时钟、总线时钟和内核时钟。本文采用的是 16MHz 的外部晶振,因此外部晶振时钟为16MHz,默认设置下,锁相环时钟为 32MHz,总线时钟为 16MHz,内核时钟为16MHz。锁相环时钟与外部晶振时钟的倍、分频关系由 SYNR、REFDV 两寄存器决定。总线时钟用作片上外围设备的同步,而内核时钟则用作 CPU 的同步,它决定了指令执行的速度。为了提高外围设备的工作性能,对单片机进行了超频,超频后的总线时针为 40MHz,具体参数:既 FDV 二 0 x0l;SYNR=0 x04。本文通过实时中断的时间间隔来控制参数采样及控制指令输出的周期,在PWM 初始化信号检测选择处理方式电机舵机西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文29系统中,由于各个任务的工作周期不相同。语音识别模块的采样周期为 10ms,舵机的控制指令输出的周期为 20ms。为了满足不同任务的需求,可以通过软件计数的方式来产生不同周期的时间间隔。3.1.2 电机驱动 PWM 模块初始化脉宽调制模块有 8 路独立的可设置周期和占空比的 8 位 PWM 通道,每个通道配有专门的计数器。该模块有 4 个时钟源,能分别控制 8 路信号。通过配置寄存器可设置 PWM 的使能与否、每个通道的工作脉冲极性、每个通道输出的对齐方式、时钟源以及使用方式(八个 8 位通道还是四个 16 位通道)。在智能模型车系统中,一共用到四路 PWM 输出,两路用于舵机控制,两路用于电机控制;为了提高控制精度,将两路 8 位通道合并为一个 16 位通道来控制舵机,这样可使舵机的控制精度从 1/255 提高到 1/65536。对于电机的控制,8 位的输出精度可以满足应用要求,一路 PWM 输出用于控制电机的正转,一路PWM 输出用于控制电机的反向制动。 3.1.3 MC90XS128 系统初始化MC90XS128 系统初始化能使整个系统运行在正常的情况下,不会出现跑飞。3.2 STC90LE52 模块 3.2.1 中断程序模块中断装置和中断处理程序统称为中断系统。中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。本次使用中断程序就是为了提高语音模块响应速率。西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文303.2.2 ASR 模块该模块的初始化是出厂默认的,所以只是简单地介绍 ASR 模块的识别流程顺序如下:1、RunASR()函数实现了一次完整的 ASR 语音识别流程2、LD_AsrStart() 函数实现了 ASR 初始化3、LD_AsrAddFixed() 函数实现了添加关键词语到 LD3320 芯片中4、LD_AsrRun()函数启动了一次 ASR 语音识别流程注:任何一次 ASR 识别流程,都需要按照这个顺序,从初始化开始。3.3 软件开发平台介绍3.3.1 语音芯片开发平台:keil uvision4Keil 软件的整体概述:Keil 公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil 公司由两家私人公司联合运营,分别是德国慕尼黑的 Keil Elektronik GmbH和美国德克萨斯的 Keil Software Inc。Keil 于 2005 年由 ARM 公司收购,现在是ARM 旗下的一个公司。2009 年 2 月发布 keil uvision4,keil uvision4 引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。keil uvision4 新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的 ARM 芯片,还添加了一些其他新功能。2011 年 3 月 ARM 公司发布最新集成开发环境 RealView MDK 开发工具中集成了最新版本的 keil uvision4,其编译器、调试工具实现与 ARM2器件的最完美匹配。Keil uVision4西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文312009 年 2 月发布 Keil Vision4,Keil Vision4 引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的 ARM芯片,还添加了一些其他新功能。2011 年 3 月 ARM 公司发布最新集成开发环境 RealView MDK 开发工具中集成了最新版本的 Keil uVision4,其编译器、调试工具实现与 ARM 器件的最完美匹配。3.3.2 飞思卡尔 16 位单片机 MC9S12XS12 的软件开发平台:CodeWarriorIDE 简介 CodeWarriorIDE 是飞思卡尔半导体公司推出的一款支持多种硬件平台的集成开发环境,目前针对微控制器系列的最新版本是 V10.1(CodeWarrior for Microcontrollers v10.1) ,可以为 RS08、HC(S)08 以及 ColdFireV1 等微控制器的设计提供快速高效的开发工具,实现源程序编辑、编译以及全片模拟、在线仿真等诸多功能。飞思卡尔官方网站提供种版本的免费下载,包括评估版、特别版、标准版和专业版等。标准版和专业版须注册,特别版可直接使用,不过有代码大小限制(C 代码:HC(S)08/RS08-32K、ColdFireV1-64K,汇编代码不限) ,可以满足一般学习开发应用需要。CodeWarrior 微控制器版本 V10.1 的主要特点如下:快速的工程建立和 MCU 变更工具针对 HC(S)08、RS08 和 ColdFireV1MCU 的优化 C/C+编译支持 HC(S)08、RS08 和 ColdFireV1MCU 的汇编(绝对、重定位、混合、嵌入)图形化、源码级的调试器支持 HCS08 和 ColdFireV1 在片(on-chip)跟踪支持 Flash 编程支持 HC(S)08、RS08 和 ColdFireV1MCU 的全片仿真西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文32可视化数据HC(S)08,RS08 和 ColdFireV1CPU 及外围 UNIS 器件初始化代码生成工具支持 HC(S)08 和 ColdFireV1CPU、片上外围、外部外围以及软件算法的BeanWizard和 组件的 UNISProcessorExpert超过 150 个可供参考的汇编和 C 工程实例丰富的开发使用指南HCS08 移植到 ColdFireV13.4 整体程序#include #include #pragma LINK_INFO DERIVATIVE mc9s12xs128/ 程序说明:PWM 脉宽调制的脉冲输出范例 / 参考书籍:单片机原理及应用-使用 Freescale S12X 构建嵌入式系统 by RY / /-锁相环初始化- void SetBusCLK_40M(void) CLKSEL=0X00;/disengage PLL to system PLLCTL_PLLON=1;/ on PLL SYNR=4; REFDV=1;/pllclock=2*osc*(1+SYNR)/(1+REFDV)=80MHz; _asm(nop); /BUS CLOCK=40M _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL=1;/engage PLL to system; 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文33/函数:PWM 初始化/void pwm_init(void) PWMCTL=0XA0; /设置6,7 2,3 通道连级 PWMCTL_CON45=1; PWMPRCLK=0X22; /SA_COLK=10MHZ SB_COLK=10MHZ PWMSCLA=0X05; /COLKSA=1MHZ PWMSCLB=0X05; /COLKSB=1MHZ PWMCLK=0X88; /PWM23选择 SB_CLK 6.7=SB PWMCLK_PCLK5=1; PWMPOL=0X08; /极性选择起始为高电平 PWMCAE=0X00; /左对齐方式 PWMCNT23=0X0000; PWMCNT67=0X0000; PWMCNT45=0X0000; PWMPER23=20000; /设置周期为20ms PWM23驱动舵机 PWMPER67=600; /F=1kHZ PWM67驱动电机正转 PWMPER45=600; PWMDTY23=1419; /舵机回正 PWMDTY67=400; PWMDTY45=400; PWME_PWME3=1; PWME_PWME7=0; PWME_PWME5=0;void delay_ms() int i; for(i=0;i10;i+) ; 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文34/函数:IO 初始化 /void IO_Init() PORTB = 0 x00; /设置 B 口初值 DDRB = 0 x00; /B 口为输入口 / PORTA = 0 x00; /设置 A 口初值 / DDRA = 0 xFF; /A 口为输出口/主函数/void main() DisableInterrupts; /关总中断, = asm SEI SetBusCLK_40M(); IO_Init(); pwm_init(); /调用 PWM 初始化函数 /PWME=0 x04; /使能通道 0 的 PWM 输出 while(1) switch(PORTB) case 0 x01:PWMDTY23=1419;PWME_PWME3=1;PWME_PWME7=1;PWME_PWME5=0; break; /3 舵机 7 正转 5 反转 case 0 x02:PWMDTY23 = 1419; PWME_PWME3=1;PWME_PWME5=1;PWME_PWME7=0; break; case 0 x04:PWMDTY23 = 1700; PWME_PWME3=1;PWME_PWME7=1;PWME_PWME5=0; break; case 0 x08:PWMDTY23 = 1138; PWME_PWME3=1;PWME_PWME7=1;PWME_PWME5=0; break; 西北工业大学明德学院本科毕业设计论文西北工业大学明德学院本科毕业设计论文35 case 0 x10:PWME=0 x00; break; / case 0 x
收藏