试玩PIC12F675单片机手记

发布者:cxd88988最新更新时间:2011-02-21 手机看文章 扫描二维码
随时随地手机看文章

一直想玩单片机却苦于找不到合适的入门机会,对于业余爱好者,兴趣是最好的老师,啃书本只能解解馋,要真刀真枪的动手实践还是需要合适的题材。音响中的电子音量控制玩了不少,TC9153、TDA1524、TA7630、LM1036、LM4610、M51132……,更高级的,用于专业音响的,国内为人熟悉的不外乎CS3310、PGA2311以及高电压版本的PGA2310,非常巧的是,这三者的引脚也是兼容的,只是它们需要单片机来进行控制,专业音响大都是系统控制而非仅仅进行音量控制,控制电路都比较复杂,对于一个单片机门外汉来说,难度太大。因此虽然对它们心仪已久,却一直没有动手捉刀的机会。

图1 iraudamp5 评估板及其音量控制

 

有一天,在欣赏IR(InternationaRectifier,国际整流器)公司的双声道D类功率放大器(iraudamp5)时,无意间发现评估板上竟然有CS3310。仔细研究发现,音量控制是一个单联电位器,通过一个双列直插的8脚IC对CS3310进行控制,型号是3310S06S,如图1所示。

急忙查找3310S06S的资料,发现这个IC是日本的一个公司开发的,公司的英文名称是Tachyonix,不但生产控制CS3310及其引脚兼容的控制IC,还有控制欧胜公司的WM8816的IC,型号是8816S06,基本思路都是利用集成ADC(Analog Digital Converter,模拟/数字转换器)的单片机把数字控制方式变为模拟电压控制,即电子音量控制。用简单的方法单独对这些高素质的音量控制IC进行控制,虽然功能简单,但是对发烧友来说,却是非常适合的,这个方法也正是笔者所梦寐以求的。然而遗憾的是,这个公司的产品目前还只能从日本购买。图2是3310S06S的一般应用电路原理图,图3是5.1声道音量控制的电路板实物。CS3310都可以直接并联用于两声道以上的控制,因此一片控制IC可以同时对多个数字音量IC进行控制,要分别进行独立控制,则需要多片控制IC。

 

图2 3310S06S的一般应用电路原理图

 

图3 3310S06S的5.1声道音量控制板实物

就在笔者倍感失望时,无意间看到了几位日本发烧友采用单片机控制上述数字音量IC的实验报告,并且有相应的软件代码和源文件,单片机是Microchip(微芯科技)公司的,型号包括PIC12F675、PIC12F683等。这些单片机的共同特点是集成了ADC(模拟/数字转换器),设计思路和上文提到的Tachyonix公司可谓是异曲同工,控制电路也一样的简单,因为可以用通用单片机,制作成本和难度都大大下降,刚好笔者手头有PIC12F675,马上重点研究了几位日本发烧友用此单片机进行的相关实验,最后选择了一位发烧友的制作,照猫画虎,一做即成,不敢独占,写出来与大家共享。

图4是笔者选定的一位日本发烧友的实验电路并成功仿制的实用控制电路,单片机选用的是Microchip公司的PIC12F675,采用CMOS工艺生产的8位6端口RISC(精简指令集)单片机,集成了10位4通道的ADC和1K字节的Flash ROM。

图4电路同样适用于PGA2311和CS3310,只需要将模拟电源电压变为±5V即可。PIC12F675有6个I/O,GP0~GP5,GP0~GP2用于PGA2310的串行通信,GP0是片选(CS),GP1是数据(SDI),GP2是SCLK(时钟),GP3是电源检测,高电平有效,即只有GP3被置于高电平时,PIC12F675才会开始工作,GP4是电子音量控制端,输入0~5V电平经过内部A/D转换,进行数字音量控制,GP5是静音控制输出。与图1电路相比,图3电路增加了电源检测功能,如果电源不正常,这一部分电路不会正常工作。电源检测信号可以来自系统的前级,也可以来自系统的后级,系统应用电路图如图5所示。

 

图4 PIC12F675控制PGA2310的实用电路

 

 

图5 PIC12F675+PGA2311的系统应用简图

 

 

图5中,功放输出端与扬声器之间的继电器控制信号由PIC12F675供,即图4中的静音控制(GP5)配合电源检测端子的控制功能,扬器保护电路可用本电路替代。实现图4控制功能的源代码是笔者从日本发烧友的博客上下载的,源程序的注释是日文的,源程序的作者没有对PGA2311使用默认的控制范围:-95.5~+31.0dB,而是使用了正增益比较低的范围:-95.5~+3.0dB,这样也许更符合我们的使用习惯,对于传统的电位器,是不会有正增益的,只是衰减,有正增益的好处是可以省略前置放大器,缺点是很容易带来噪声,尤其是静态噪声。笔者试着将日文注释翻译成了中文,读者可到《无线电》杂志网站(www.radio.com.cn)上下载源程序和编译好的HEX文件。

笔者使用的烧录工具是Microchip公司提供的PICk i t1,型号是BN-DV164101,软件是PICKit1 Classic,软件版本是1.70.0,固件版本是1.0.0,软件的操作主界面如图6所示,烧录工具实物如图7所示,图中IC插座上的8脚IC就是PIC12F675。

 

图6 烧录软件PICKit1 Classic的操作界面

 

 

图7 工作中的烧录工具PICkit1

 

 

烧录软件可以从Microchip公司的网站或者该公司在国内代理公司的网站下载。烧录工具则可以从Microchip公司的国内代理购买或者用你手中任意一款支持烧录PIC12F675的编程器。还有一个简单的方法是到当地的电脑市场,有写片服务的商家一般都是可以写PIC12F675的,因为它是比较通用的单片机。

控制片子写好了,实际的硬件电路其实是非常简单的,这可能让我们这些惯于用硬件来实现电路功能的爱好者有些不太习惯,专业水准的电子音量控制电路,这么简单么?的确是,实物如图8所示,除了4个CBB电容是输入/输出耦合的,其他的是电源退耦电容。笔者是用实验板搭的电路,开始的想法只是想体验一下PGA2311的魅力,没有用什么补品元件。然而搭好电路一听,几乎马上改变了注意,要把它作为一个真正的音量控制器来用了。如果把这个简陋的电路板装入一个考究的机箱中,绝不会有人能猜出这样的声音表现竟然是从一块如此简陋的电路板上获得的。

 

 

图8 用实验板搭建的PIC12F675控制PGA2311的电路实物

 

 

图9 TI公司推荐的电路布局示意图

于一块电路板上,模拟电路是比较容易受到干扰的,模拟地和数字地必须严格分开,图8电路的元器件的布局是按照TI公司推荐的参考电路(如图9所示)去做的,以PGA2311轴向中心线为界,即使是实验板,也要布设两根地线,以PGA2311的宽度,刚好覆盖了两行孔,靠近数字电路一侧(图8中的下部)一行做为数字地,另一行作为模拟地。

实验中遇到了源程序作者遇到的问题,在没有音频信号输入时,电位器转动到某一特定位置,会有类似轻度自激一样的噪声产生,在笔者的实验板上,产生噪声的位置大概是电位器转到三分之一到二分之一行程时,也就是9点钟到12点钟的位置之间。源程序的作者使用了比较正式的印制板,由此推断可能和布线的关系不大,而是软件所致,好在对使用影响很小。

笔者还遇到了另一个问题,本底静态噪声不太理想,经过寻找,发现是从输入端感应的噪声,包括输入端的电容和PGA2311的输入端附近,输入输出不连接线,音量调到最大,手距离输入电容3~5cm远,即能感受到静态噪声的增加,这或许是实验板布线的局限性造成的,笔者只好用大块的铜皮把它们屏蔽起来,如图10所示,才算是解决了问题。因为想长期用它,最后加入了有7805和7905组成的稳压电源给PGA2311的模拟电路供电,数字电路单独供电,实际试听,与先前相比,声音又清晰了不少,等有了机会,笔者下决心要做一个正式的电路板出来,像日本的发烧友那样,把PGA2311的潜力更多地挖出来。

 

图10 已做屏蔽处理的输入电容和IC

引用地址:试玩PIC12F675单片机手记

上一篇:机动车尾号限行提示器
下一篇:自制3D鼠标——让鼠标脱离桌面实现控制

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved