tag 标签: mega2560

相关博文
  • 热度 21
    2014-5-24 13:27
    1008 次阅读|
    0 个评论
    0 引言 随着高新技术在军事领域的广泛运用,武器装备逐步向高、精、尖方向发展。传统的军事训练由于训练时间长、训练费用高、训练空间窄,常常不能达到预期的训练效果,已不能满足现代军事训练的需要。为解决上述问题,模拟训练应运而生。 为进一步提高训练效果,本文利用智能语音交互芯片设计了某模拟训练器的示教与回放系统。示教系统为操作人员生动的演示标准操作流程及相应的操作现象,极大地缩短了对操作人员的培训时间,提高了培训效果。回放系统通过记录操作训练过程中各操作人员的口令、声音强度、动作、时间、操作现象等,待操作训练结束后通过重演训练过程,以便操作者及时纠正自己的问题。示教系统也可理解为对标准操作训练过程的回放。该系统不需要虚拟现实技术的支持,在小型的嵌入式系统上就可以实现。 1 系统原理 该模拟训练器由一台测控计算机和多台从设备组成。如图1所示。在此仅对一台从设备进行介绍,其硬件系统主要由测控计算机、Arduino mega2560 控制器、语音识别单元、声强检测单元、语音合成单元、面板控制单元、仪器面板等组成。面板控制单元较为复杂,包含多种控制电路,在模拟训练中负责该从设备在Arduino mega2560 控制器的控制下完成整个训练过程,在示教与回放系统中完成对刚才操作训练操作现象的重演,其具体电路设计在此不做介绍。    语音识别单元负责识别操作人员的操作口令;声强检测单元负责检测声强大小并以此作为判断是哪台从设备操作人员口令的依据;Arduino mega2560控制器负责监视仪器面板各元件的状态来识别操作人员的动作,从而完成对操作训练过程的记录。各仪器的操作现象根据操作动作事先编制无需记录。在操作回放过程中,测控计算机根据所记录的数据,通过控制相应从设备的Arduino mega2560控制器重现所记录的操作过程。 2 单元系统设计 2.1 语音识别单元设计 目前,语音识别技术的发展十分迅速,按照识别对象的类型可以分为特定人和非特定人语音识别。特定人是指识别对象为专门的人,非特定人是指识别对象是针对大多数用户,一般需要采集多个人的语音进行录音和训练,经过学习,从而达到较高的识别率。 本文采用的LD3320语音识别芯片是一颗基于非特定人语音识别(Speaker Independent Automatic SpeechRecognition,SI ASR)技术的芯片。该芯片上集成了高精度的A/D 和D/A 接口,不再需要外接辅助的FLASH 和RAM,即可以实现语音识别、声控、人机对话功能,提供了真正的单芯片语音识别解决方案。并且,识别的关键词语列表是可以动态编辑的。其语音识别过程如图2所示。   语音识别单元采用ATmega168 作为MCU,负责控制LD3320完成所有和语音识别相关的工作,并将识别结果通过串口上传至Arduino mega2560 控制器。对LD3320芯片的各种操作,都必须通过寄存器的操作来完成,寄存器读写操作有2种方式(标准并行方式和串行SPI方式)。在此采用并行方式,将LD3320的数据端口与MCU的I/O口相连。其硬件连接图如图3所示。      语音识别流程采用中断方式工作,其工作流程分为初始化、写入关键词、开始识别和响应中断等。MCU的程序采用ARDUINO IDE编写[5],调试完成后通过串口进行烧录,控制LD3320完成语音识别,并将识别结果上传至Arduino mega2560控制器。其软件流程如图4所示。    2.2 声强检测单元设计 在进行语音识别时需要判断是某一台从设备操作人员的口令,为此设计声强检测单元电路,该电路仅需能够判断出相对声强的大小,无需检测声级,对检测精度要求较低。 电容式MIC声音传感器将外部声音信号转换成电信号,经NE5532放大电路进行放大,将输入的微弱音频信号转换为具有一定幅值的电压信号,该电压信号经AC/DC有效值转换电路进行装换后进行再次放大,最终由Arduino mega2560控制器的A/D进行采样。图5给出了声强检测单元的电路原理图,其中D1 端接Arduinomega2560控制器的A/D,INT1端接Arduino mega2560控制器的外部中断1.当外界声音信号大于预设的阈值时,三极管导通INT1端由高电平变为低电平产生外部中断,控制器响应中断并进行A/D 采样,采样数据经均值滤波后保存,待测控计算机查询时上传该声强数据。    2.3 语音合成单元设计 TTS(Text To Speech)文本转语音技术是人机智能对话发展的趋势。基于TTS技术的语音系统无需事先录音就能够随时根据查询条件查出并合成语音进行播报,从而大大减少了系统维护的工作量。利用此技术,通过MCU或者PC机就能控制语音芯片发音[4]。 本文采用SYN6658中文语音合成芯片进行语音合成。SYN6658 通过UART 接口或SPI接口通信方式,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换[6]。控制器和SYN6658 语音合成芯片之间通过UART接口连接,控制器通过串口通信向SYN6658语音合成芯片发送控制命令和文本,SYN6658语音合成芯片把接收到的文本合成为语音信号输出,输出的信号经LM386 功率放大器进行放大后连接到喇叭进行播放。如图6所示。    SYN6658语音合成电路采用芯片硬件数据手册提供的典型应用电路进行设计[5],在此不做介绍,功率放大电路采用美国国家半导体生产的音频功率放大器LM386进行放大。 在进行语音合成时首先进行初始化,包括发音人选择、数字处理策略、语速调节、语调调节、音量调节等。 由于该系统要模拟多人发音,所以不同的从设备设置不同的发音人及语调与语速以便于区分。初始化后等待测控计算机的语音合成命令,待收到命令后芯片会向上位机发送1字节的状态回传,上位机可根据这个回传来判断芯片目前的工作状态。语音合成流程图如图7所示。    3 系统软件设计 示教与回放系统的软件设计包括测控计算机的软件设计和各从设备Arduino mega260控制器的软件设计。 测控计算机是整个系统的控制核心,其软件采用C#进行编写,在示教与回放系统中主要是对操作数据的记录以便根据所记录的数据对操作过程进行精确回放,需要记录的数据包括:各从设备操作人员的操作口令,操作动作,口令及动作时间,各操作对应的操作现象。为简化记录数据,事先编制好各事件代码,记录过程只记录代码,大大提高程序效率。建立结构体如下:    在操作训练过程中测控计算机每隔50 ms 对下位机进行控制及轮询,并记录反馈数据,在数据记录时以50 ms 为一个单位。采用定时器对时间进行控制。在回放过程中首先比对当前时间和所记录的时间,当所记录的时间与当前时间吻合时测控计算机控制下位机执行该事件,完成事件回放。 Arduino mega2560控制器负责接收测控计算机的控制指令并执行指令,读取语音识别结果,对声强数据采集和处理,控制语音合成单元进行语音合成等。Arduinomega2560 控制器采用串口中断的方式进行命令接收。 只有正确接收到命令才会执行并回传结果,若测控计算机在限定时间内未收到回传结果则表明发生错误,测控计算机需重新发送。数据接收流程图如图8所示。    4 总结 本文利用智能语音芯片设计了某模拟训练器的示教与回放系统,该系统不需要现在流行的虚拟现实技术的支持,仅在MCU的控制下就可以运行。该系统也可以在小型的便携式设备上实现,具有良好的应用前景。
  • 热度 18
    2013-12-15 21:43
    1312 次阅读|
    2 个评论
    原文来自: 第九单片机开发网 ,作者: sukeytang 之前发了W5500测评系列的前两帖。这两贴都是测试和软件方面的。这次给大家带来些硬货,以W5500网络核心的智能家居无线转发监控主机。 功能目标: 1. 无线网络电量表。 2. 家庭简易气象站。 3. 各项数据本地显示、控制、记录。 根据功能目标做了些规划,考虑了需要搭载的传感器数量和型号。 硬件配置如下 通信部分: 1. 433无线(预留蓝牙模块接口) 2. 485串口 3. W5500模块 传感器部分: 1. 气压传感器 2. 亮度传感器 3. 温湿度传感器SHT 4. 18B20 5. 电力计量模块 存储和显示: 1. 2.6寸TFT带触摸240*320 2. Micro SD 主控和时钟: 1. MEGA 2560  2. DS1302 布局和设计: PCB布局主要考虑的是能和MEGA2560堆叠在一起。 能够在硬件方面向下兼容到W5100网络模块。使得用户过度更平顺。 PCB布局 成品实物照片: 智能家居无线转发监控主机合照 组装好的成品照 细节图赏: 上电各模块初始化状态显示 启动完成后的主监控界面 天线预留了固定孔 硬件配置介绍完毕,来看看有哪些软件功能。 1. 无线网络转发。 2. 网络电量表。 3. 支持任意个有线或无线子机模块,实现多点测控集中存储联网。 4. 本地触摸反控,基于电阻屏。 5. 本地显示监控数据。 6. 本地数据记录功能,保证断网时无线主机还能准确的储存所有数据。 7. 远程网络反控,配合乐联网相关应用。 8. 微信客户端反控,配合乐联网相关应用。 9. 自动节能设置,可在程序中或硬件选择关闭。 更多强大功能还在测试开发中,欢迎大家围观提建议。   更多WIZnet动态,请关注WIZnet官方微博: http://weibo.com/wiznet2012  
  • 热度 29
    2013-12-8 11:46
    1619 次阅读|
    2 个评论
    原文来自:第九单片机开发网,作者:sukeytang     几天前发了个WIZnet5500第一弹:基于ARDUINO的简单测试。 帖子地址: http://www.9mcu.com/9mcubbs/forum.php?mod=viewthreadtid=1051593 相信大家都觉得这么好玩的的东西只是简单测试,没做任何应用测试不免有些遗憾。 今天给大家带来的是W5500和乐联网连接和反控的相关实验。 乐联网的功能和配置情况我就不在这里赘述了,不是很了解的朋友可以去看看这个帖子。 【使用手册】乐联网使用手册 http://www.9mcu.com/9mcubbs/forum.php?mod=viewthreadtid=1049481 这个帖子里很详细介绍了相关功能呢和怎样去配置。 因为更换W5500之后原5100所使用的程序不能直接在新库上使用。 所以为了方便大家使用W5500做属于自己的智能家居网关,我特意修改了乐联网的相关TCP库文件。 修改后的库文件能够直接使用原来的程序,不用做任何修改。方便相关用户无缝过渡到W5500上来。 相关库文件会以附件形式放置在帖子下部,欢迎感兴趣的朋友下载测试。 做了两个测试应用,应用一是为应用二做准备的测试,主要检测乐联网平台配置是否正确和硬件平台是否连接可靠。所以应用一我不做过多描述。测试用的程序代码见 附件:  W5500_lewei 应用一: 数据上传和反向控制 器材:MEGA2560 + W5500 目标功能: 1. 实现数据上传和监控                 2. 实现基于长链接的反向控制 测试程序见附件。 我们来主要看看应用二的功能和实现情况。 应用二:网络电量表和反向控制 器材:MEGA2560 + W5500+计量模块+无线数据传输模块 目标功能: 1. 实现电量数据的上传和监控            2. 实现家用电器的网络开关量控制 成果展示: 电量数据 数据的上传 网络电量表的监控界面 反向控制 注意看图,我开启了1和4号灯 本地LED准确反映出了当前的控制状态 乐联还有很多其他功能,如:微信控制手机客户端监控控制等都可以可靠地监控和控制当前设备。 基于W5500还有其他很多使用好用的功能有待继续开发 。 做个预告,本人基于W5500设计的智能家居无线主机功能已全部调试完成,近期会放出功能介绍和图片。 先来个测试版的监控界面效果吧。   最后感谢WIZnet提供的硬件支持。 感谢乐为物联提供的物联网平台支持。 感谢第九单片机论坛提供的交流学习环境。 附:库文件和相关代码(请点击 原文链接)  
  • 热度 24
    2012-4-5 10:35
    1986 次阅读|
    0 个评论
    在荷兰的一个明星博客, Ben Zijlstra 通过 WIZnet 的 WizFi210( http://www.wiznettechnology.cn/sub_modules/product/Product_Detail.asp?cate1=5cate2=43cate3=0pid=1132 ) 为 Arduino Mega2560 做了一个 WiFi 扩展版,下面是一个示意图。 使用 WIZnet 的 WizFi210 的 Arduino WiFi Mega 扩展版示意图   一个正在工作的Arduino Mega WizFi210扩展版,GPIO有两个按钮,三个Led灯,功率调节器有一个关机按钮,连接到了Arduino的两个软系串口,采用Bascom-AVR编程,更多详细细节,请阅读原文: http://blog.wiznet.co.kr/arduino-wi-fi-shield-using-wizfi210/#.T3z0MNnonK0   如果您有什么疑问请直接留言也可以登录WIZnet的官网:http://www.wiznettechnology.cn  或者来信:Tel: 86-10-84539974(转166),QQ:2464237212,邮箱:wiznetbj@wiznettechnology.com,联系人:Lily Zhang,谢谢!
  • 热度 22
    2012-4-5 09:46
    1436 次阅读|
    0 个评论
      在荷兰的一个明星博客,Ben Zijlstra 通过WIZnet的 WizFi210 为Arduino Mega2560做了一个WiFi 扩展版,下面是一个示意图。 使用WIZnet的WizFi210的Arduino WiFi Mega扩展版示意图 一个正在工作的Arduino Mega WizFi210扩展版,GPIO有两个按钮,三个Led灯,功率调节器有一个关机按钮,连接到了Arduino的两个软系串口,采用Bascom-AVR编程,更多详细细节,请阅读原文: http://blog.wiznet.co.kr/arduino-wi-fi-shield-using-wizfi210/#.T3z0MNnonK0 如果您有什么疑问请直接留言也可以登录WIZnet的网: http://www.wiznettechnology.cn 欢迎大家留言评论~~  
相关资源