快捷搜索:  汽车  科技

stm8收音机(收音机也能自己做)

stm8收音机(收音机也能自己做)结果发现没啥线路拆掉芯片分别跑线路天线部分没有复杂的滤波等等电路,天线过来,一颗电容就能进芯片;原装车机板子上这这货外围相当简单拉近了看型号4730D60

事情的起源是首先得感谢坛友 @cushion 给的大榴莲包裹。

stm8收音机(收音机也能自己做)(1)

stm8收音机(收音机也能自己做)(2)

大榴莲其中有的五菱车机,拆开后发现一枚数字收音机芯片

silicon labs(芯科)家的Si4730-D60芯片

这颗芯片支持AM(520–1710 kHz)和FM(64–108 MHz)。看到他想玩的主要原因就是这货外围极其简单;

天线部分没有复杂的滤波等等电路,天线过来,一颗电容就能进芯片;

原装车机板子上这这货外围相当简单

stm8收音机(收音机也能自己做)(3)

拉近了看型号4730D60

stm8收音机(收音机也能自己做)(4)

拆掉芯片分别跑线路

结果发现没啥线路

stm8收音机(收音机也能自己做)(5)

画原理图。这次的东西有点多,看着复杂

stm8收音机(收音机也能自己做)(6)

收音机芯片和音频输出部分的低通滤波还有耳放

stm8收音机(收音机也能自己做)(7)

左边是用74hc595驱动彩屏(因为stm8引脚不够用)

右边是耳机插座

stm8收音机(收音机也能自己做)(8)

画好PCB

考虑综合屏幕和锂电池占用的地方。设计的板子大小是42mm*36mm

stm8收音机(收音机也能自己做)(9)

因为东西紧凑,好多线都是没走通的。整个板子需要飞线12根,恐怖吧?

图上白色虚线就是没走通的线

stm8收音机(收音机也能自己做)(10)

打印出来看看效果不赖

stm8收音机(收音机也能自己做)(11)

感光

stm8收音机(收音机也能自己做)(12)

腐蚀。因为中间有事突然出去了一下,回来发现腐蚀过头了

stm8收音机(收音机也能自己做)(13)

stm8收音机(收音机也能自己做)(14)

大概断了7-8根线。再做一次又嫌麻烦。只好硬着头皮继续。这次要飞20 根线了

stm8收音机(收音机也能自己做)(15)

准备器材元件开工

左到右 耳机座 pos电池 96*96小彩屏 74hc595 si4730 stm8 开关按钮

什么的绿色板子上是在某论坛商家买电子垃圾的时候顺手带的几片的废板,整个耳放电路元件全部拆自这板

stm8收音机(收音机也能自己做)(16)

先焊单片机stm8和595

stm8收音机(收音机也能自己做)(17)

放大了图来看,一堆飞线。还好大部分都是从芯片肚子下面过,不怎么太影响美观

stm8收音机(收音机也能自己做)(18)

点亮屏幕,一次成功。有了继续做下去的动力。讲道理当时写好屏幕驱动程序下载前就在想。要是gg了,就去打PCB,不玩这破板了

还好这货蛮给面子的

stm8收音机(收音机也能自己做)(19)

焊接收音机和耳放部分电路

除了调试IIC费了点时间(硬件IIC弄了两个小时还是搞不定。一气之下换了软件IIC)

后面的部分也是一次成功。插上耳机就有清晰的广播了

stm8收音机(收音机也能自己做)(20)

调试状态的各种乱七八糟,飞线横行

stm8收音机(收音机也能自己做)(21)

开始折腾界面

这是开机界面

在开机界面,输出音量会渐渐增大

stm8收音机(收音机也能自己做)(22)

这是一开始的台频率显示界面

stm8收音机(收音机也能自己做)(23)

吧整个电路焊接完

剩下的东西主要是电源管理部分

图上正在测试 给怀孕的pos电池充电。成功吧电池给从怀孕充到漏液

stm8收音机(收音机也能自己做)(24)

还没洗板的样子

stm8收音机(收音机也能自己做)(25)

这张能看清芯片mark

stm8收音机(收音机也能自己做)(26)

为了看起来不空 界面上增加两条信息

SNR是信噪比

RSSI是接收的信号强度

stm8收音机(收音机也能自己做)(27)

完成装配,屏幕翻贴到背面

stm8收音机(收音机也能自己做)(28)

stm8收音机(收音机也能自己做)(29)

后来换了个电池,绿色那个线太硬,不贴板

然后用热熔胶简单加固个部分

现在显示的是低电量,电池变红(低于3.3V将强制关机)

stm8收音机(收音机也能自己做)(30)

正常电量

stm8收音机(收音机也能自己做)(31)

充电中

stm8收音机(收音机也能自己做)(32)

充电满不满主要还是得看背面的提示灯。毕竟没弄复杂的电量算法

stm8收音机(收音机也能自己做)(33)

充电电流设定40-50ma。LTC4054充电芯片 电流设定脚用20K

stm8收音机(收音机也能自己做)(34)

程序方面

前前后后写了一两个星期、

全寄存器实现,这次只有非常少量的汇编,99.9%都是C

写了一堆子功能

stm8收音机(收音机也能自己做)(35)

最佳优化编译后主程序大小5670 1952=7622=7.5K

差不多块吧8k空间占满了。主要是字库占用空间比较多,用了1.7k的样子

stm8收音机(收音机也能自己做)(36)

后期如果要加功能,就只能吧部分字库移动到EEPROM里面,最多还能腾出1K左右的空间

配置头文件负责配置整体的功能

stm8收音机(收音机也能自己做)(37)

刷屏部分用了部分汇编 硬件SPI来实现。目的是为了减小拉窗帘的效应

stm8收音机(收音机也能自己做)(38)

刷屏部分还有个更极端的方法是不等待spi的状态位,靠精确延时来实现最紧密的时序。不过这个方法虽然快但是不太稳定。

主要问题是stm8流水线不对齐取值延时的问题造成的,造成的结果就是一次编译能对,下一次加了一堆程序后,这段代码位置发送了变化,屏幕显示又不对了。所以最终没采用这个方法。

stm8收音机(收音机也能自己做)(39)

刷屏效果测试。spi速度均为8M;如果用保守方法实现,刷一个任意颜色全屏需要30 ms,如果用激进方法实现,只需要18-19ms。50hz多的刷新速度,应该是看不到拉窗帘了~~

按键操作方法:

上键负责调台(频率增加和音量增加),下键负责调台(频率减小和音量减小)

中间短按切换是调音量还是频率。

调台使用自动搜台方法,台频率调到头又会折头到另外一头

功耗与休眠:

首先来说,收音机芯片不省电(而且市面上常见几款的收音机芯片,工作电流也在16-28ma之间,所以都差不多)

自身工作功耗20ma

stm8收音机(收音机也能自己做)(40)

正常运行的时候(亮屏显示)

电流消耗32-36ma左右,随音量高低有不同

耗电大致推算分析(部分来自手册,未实际测量;部分实测)

si4730---------------------------------20ma

stm8(全速运行16m)-------------4ma

耳放静态功耗-------------------------2ma

屏幕背光-------------------------------2ma

屏幕、595、其他乱七八糟-----约1ma

放音-------------------------------约4-8ma

所以设定了屏幕亮5秒自动熄灭,同时mcu加入活跃停机状态,可以用按键唤醒按键唤醒后5s无操作再次休眠

休眠电流24-27ma。100mah的pos电池差不多能听4个小时

电量低于3.3V 关闭所有东西,同时mcu加入停机状态,可以通过插入充电唤醒

后期希望加入的功能:收藏电台频率。不过难度不小,程序空间相当紧张

谢谢观看

相关资料需至原帖中获取:http://bbs.mydigit.cn/read.php?tid=2268429

附件包括:程序源代码、pcb和原理图(使用Altium Designer14)、几段录音效果

百度云盘:提供pcb和原理图(使用Altium Designer14)、几段录音效果、切换台的小视频

注意:PCB仅供参考,如果要制作成品PCB,强烈建议重新画板。双面板走线肯定是不需要飞线的,而且能得到更好的布局规划

最后:不出套件、没有绘制成品pcb的计划

浏览更多精彩内容请登录数码之家网站

技术交流请联系原作者

作者:2545889167

本文来源:数码之家

猜您喜欢: