首页 > 评测 > 追赶风潮-DIY一款智能音箱之一:硬件设计篇

追赶风潮-DIY一款智能音箱之一:硬件设计篇

  • 作者:zhanzr&绍楠
  • 来源:21ic
  • [导读]
  • 笔者受限于紧张繁重的工作,一直没有更新专栏,不过也不是全无成绩。通过前几期的活动与绍楠结识并合作搞了一个有趣的音频处理板出来,主控采用STM32F4,欢迎拍砖!
image11.png

图 锁定引脚

现在这个管脚已经被锁定,只能被用户解锁。这样启用所有我们需要的外设,因为管脚冲突而不能使用的外设会被标注红色交叉,而部分管脚被其他外设占有的外设则被标注黄色感叹号。这样的操作比起一边对照Datasheet,一边在画图软件上比划要高效得多了,而且这部分工作可以直接被软件开发利用。

image12.png

图 配置完成

这样保证了管脚配置的准确性,使得后来的PCB打样,一次点亮(虽然过程远不能称之完美,但比起没有使用此工具来要smooth得多):

image13.jpg

图 打样并焊接之后的两块样板

image14.jpg

图 主板

image15.jpg

图 两板子通过排针排母连接固定起来

image16.jpg

图 前视图

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

硬件测试

有了上面的Cube工程,现在可以生成不同开发平台的工程,现在以一个USB读卡器为例:

image17.png

图 配置要使用的工具平台(图中为MDK-ARM V5)

有Cube的协助下,USB读卡器是手到擒来. 首先使能外部时钟:

image18.png

图 配置时钟(根据实际硬件的情况,两个都选择了外部晶体)

配置时钟树:

image19.png

图 配置时钟树(注意如果要使用USB, 不能使用HSI)

使能SDIO,要读取TF卡内容:

image20.png

图 配置SDIO接口

使能调试接口:

image21.png

图 配置SWD接口

使能USB接口:

image22.png

图 配置USB为Device Only

然后启用FATFS和MSC:

image23.png

图 配置Massstorage Class框架

实际上,读卡器的文件系统是由电脑管理的,这里使能FATFS是为了让Cube自动生成SD卡驱动,它将FATFS与SDIO关联。这样MCU与电脑都能以文件系统访问SD卡,只是注意不要同时访问.

image24.png

图 配置SDIO软件参数

TF卡座的插入检测也关联起来(但注意有效输入不同,Cube默认是正逻辑,硬件是低电平有效的):

image25.png

图 配置插入检测

USB配置如下:

image26.png

图 USB参数配置

打开必要的中断,并且调整好优先级:

image27.png

然后点击齿轮,生成MDK工程。

  • 本文系21ic原创,未经许可禁止转载!

网友评论