惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
博客园_首页
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Vercel News
Vercel News
小众软件
小众软件
博客园 - 司徒正美
雷峰网
雷峰网
T
Tailwind CSS Blog
V
V2EX
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
罗磊的独立博客
量子位
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog

博客园 - elysium

清除百度智能看图 【开源】多端口太阳能USB充电器 关闭Cadence Allegro Design Entry CIS(OrCAD Capture)的Start Page 【开源】绿联145W能量π外壳 【开源】雷凌/卡罗拉中控台多功能时钟 【开源】给荣耀盒子MediaQ M321增加自动进应用界面功能及扩展USB口 【开源】用香橙派Zero 2W做安卓电视机顶盒 【开源】蓝牙耳机改装蓝牙音箱 【开源】T430s光驱位支架 【开源】讯飞VBOX改装蓝牙5.0(aptX HD)音箱 【开源】雷凌/卡罗拉蓝牙5.0(aptX HD)接收器 【开源】2.5寸硬盘盒 【开源】USB电源延时缓启动器 【开源】INA219功率计 【开源】QN8027调频发射机 小工具Go-Go-Gadget 【开源】EP3C25Q240扩展板1 【开源】TDA2030A 2.1声道功放板 【开源】EP3C25Q240开发板 使用Jupiter的附加说明
【开源】Si4703调频收音机
elysium · 2018-04-28 · via 博客园 - elysium

前不久接到一个任务,要求用Arduino做一个小玩意,而且需要方便初学者制作PCB和焊接。作为一个通信人,我的脑海中闪现的第一个东西就是带DSP的收音机。在网上找了一下,国外有现成的模块了,芯片方案是Silicon Labs的Si4703,资料很齐全。后来又发现淘宝上有其早期版本,除了电源针脚定义与最新版的不同,其它都一样。就这么愉快地做决定了。

功能特性:

  • 接收范围76MHz~108MHz,支持粗调(1MHz步进)和细调(0.1MHz步进)
  • 带信号强度指示
  • 带立体声状态指示
  • 支持向上、向下搜台
  • 支持音量调节
  • 使用Micro-USB接口供电,工作电流约31mA

Si4703的Arduino库来自于GitHub,然而用着不太符合自己的需求和习惯,最后还是改了不少地方。I2C时钟频率提高到了400kHz(经测量,上升时间符合要求),另外针对调谐和搜台过程中I2C总线未保持静默的问题进行了改进。

由于Si4703模块只能工作在3.3V电压条件下,而且其I/O口只能承受3.3V电平,所以整个系统统一使用3.3V电源供电。根据Atmega328的手册,3.3V供电时最高时钟频率不建议超过13.333MHz,然而为了兼容Arduino UNO官方引导程序和库函数,这里超频使用了Atmega328,而不是使用低频率晶体或是系统时钟预分频器。

本板基本引出了所有I/O。在向Atmega328烧录引导程序后可以通过CH340串口板向本板烧录用户程序。可以将CH340的DTR引出并连接到本板的TP29以免在烧录程序时需手动复位本板。

这回用到的液晶是和上次用的液晶预留的负压发生电路同样使用的是7660芯片,但是对比度调压脚的连接方法不一样。上次用的液晶的第三脚直接连到负压发生电路的电阻分压输出端,可以外接电阻调压。这回的连法不宜通过外接电阻调节对比度(外接电阻调压可达到调整对比度的效果,但会造成7660没有接地,消耗电流会高达几十毫安),需要悬空液晶第三脚,断开J1,接通J2、J3,将负压输出端串接的0Ω电阻改为7.5kΩ,液晶工作电流约4mA(其中背光电流2mA)。

外壳是3D打印的。考虑到PLA的强度和外壳壁厚,安装孔就不设计为沉头孔了。给液晶做了个边框,边框与上盖是用洗板水粘接的。

附件(原理图、光绘文件、源代码、外壳图纸)