逃逐风潮-DIY一款智能音箱之一:硬件设想篇

2020-01-14 01:01 dssda

  真人赢钱提现金的游戏由于搭上了人工智能的车, 近一段时间来智能音箱很火. 最出名的当属亚马逊的Echo,国内的后起之秀有灵动等等. 雷同的还有小米收音机,优听音箱之类. 次要功能都是收集播放,大大都带有麦克风+语音识别. 取AI连系慎密的就是语音帮手了, 好比某些智能音箱可以或许用户如许的号令: 播放Beatles乐队的Let it be! 上述例子中小米音箱的麦克风目前没有正在固件支撑,可是潮水取趋向大致如斯. 做者本人也取别的一个21ic的网友合做DIY了一款. 此篇讲述硬件的设想思以及详情. 设想的过程顶用到了STM32CubeMX, 感受很好用, 管理也引见一会儿这个东西若何辅帮做者本人的硬件取软件设想过程, 但愿对感乐趣的网友一点. 后续的软件上的例子别的进行写做.

  考虑到要语音识别和音频软解码的需要, 焦点要进行复杂的数字信号处置. 如许焦点可选DSP, 高频通用途理器或者FPGA。由于是本人搞DIY, 其实这里也没有很大的讲究。无非是用好的处置器就做复杂点, 反之就搞简单一点. 考虑到采办容易,价钱也较低的要素,选定STM32F4系列。小米收音机我也拆过, 用的是MTK的MT7688KN(MIPS24KEc内核). 这种片我们既难买,也欠好搞编程, 算是可望不成求吧.

  考虑到有大量数据存储(永世或临时)的可能,外扩了RAM和Flash,外扩RAM选用SRAM,外扩Flah选择SD卡和SPI Flash。注:小米音箱上只要SPI Flash没有SD卡.

  明显有播放音乐的需要,对音质仍是比力正在意,这里并晦气用MCU内建的DAC,而是选择外置的I2S DAC。而语音输入就相对简单,内置ADC加外部MIC即可。通信方面,支撑TCP/IP和USB是必不成少。

  人机界面本来筹算利用12864如许的液晶屏,后来感觉不是焦点功能就能省就省,利用按钮和LED的组合即可(也考虑到还要做语音指令功能)。如许外不雅也比力益处理,例如如许摆放正在桌面上的感受(机顶盒):

  这里假定读者有必然的软硬件开辟经验,趁便讲一会儿利用东西来辅帮STM32的软硬件设想过程。这如果按以前,有从8051转到AVR,然后从AVR转到富士通,又从富士通转到STM8的亲身体味的话,估量得急。笔者买过一块STM32F103的开辟板来自学,用过STD库后,感受太便利了。STD库是极风雅面软件开辟,而STM32CubeMX + HAL库则是把硬件开辟和软硬件兼容都考虑进去了。正在硬件都是从零起头设想的环境下,我们看看STM32CubeMX,是若何协帮我们更好更快地完成使命。

  现实正在PCB布线_CK走线不抱负,这时候能够看看这两个管脚可不克不及够Remap,按住Ctrl,点击这两个管脚,能够看到Remap管脚正在PB5:

  现正在这个管脚曾经被锁定,只能被用户解锁。如许启用所有我们需要的外设,由于管脚冲突而不克不及利用的外设会被标注红色交叉,而部门担脚被其他外设拥有的外设则被标注感慨号。如许的操做比起一边对照Datasheet,一边正在绘图软件上比划要高效得多了,并且这部门工做能够间接被软件开辟操纵。

  如许了管脚设置装备摆设的精确性,使得后来的PCB打样,一次点亮(虽然过程远不克不及称之完满,但比起没有利用此东西来要smooth得多):

  本机具有一个音量电位器,一个带按钮的扭转编码器,一个电源按钮,一个电源开关,一个复位按钮,3个RGB LED,USB全速设备,TF卡插座,RJ-45插座,利用内置锂电池,有麦克风输入和输出,不插入时支撑外放,内置SPI Flash等等。

  现实上,读卡器的文件系统是由电脑办理的,这里使能FATFS是为了让Cube从动生成SD卡驱动,它将FATFS取SDIO联系关系。如许MCU取电脑都能以文件系统拜候SD卡,只是留意不要同时拜候.

  TF卡座的插入检测也联系关系起来(但留意无效输入分歧,Cube默认是正逻辑,硬件是低电平无效的):

  我们只需要点窜usbd_storage_if.c和tfs_platform.c. 留意点窜CubeMX生成的代码的时候尽量正在USER CODE BEGIN取 USER CODE END这两个正文之间点窜. 若是实正在不克不及做到也应别的利用文档记实. 由于正在这两个正文之外的代码正在你下一次进行代码生成时会被笼盖.

  智能音箱是目前一大科技时髦, 共同语音识别/人工智能, 是很便利适用的居家必备. 若是共同上收集搜刮,语音设别,语音合成, 能够说是将来机械人的雏形. 本文引见了DIY的一款的智能音箱的硬件,后续的次要功夫正在于软件使用. 将持续发贴分享, 别的此项目软硬件设想文件正在测试取拾掇后将全数开源共享, 敬请等候!