耳机俱乐部论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 8048|回复: 11

[pc-fi软件] 三秒钟的乐谱--耳机自动阻抗识别开发手记(全文完)

[复制链接]

28

主题

277

帖子

38

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
38
注册时间
2004-10-3
发表于 2005-10-1 23:26:26 | 显示全部楼层 |阅读模式

感谢关注耳机俱乐部网站,注册后有更多权限。

您需要 登录 才可以下载或查看,没有账号?注册

x
  【题记】乐谱?在这里既不是五线谱,也不是简谱,而是用0和1构成的类似乐谱的指令码序列。。。但它们确实是为音乐而写。。。
市面上和耳烧族手中的耳机,林林总总,阻抗更是各有不同,对于用变压器输出的小不点III来说,如何最大限度地适合各主流耳机的阻抗匹配要求,成为开发中一个很大的困惑。
开始打算,就做出一个定阻输出,为不同的用户订制不同输出阻抗的变压器,但是,最早预定的一位加拿大朋友开列了他的耳机清单,其中有: Grado 325i、DT880、 HD580、 K501。。。让我为他选定一个适合的阻抗,这样一来定阻岂不是要他割舍许多不同风格的心头之爱?
虽然他也表示即便是定阻,他也要,并且产品的样机都没出,他就老早就打来全款。有这样的铁的小不点FANS,但是作为设计者来说,难道不应该为他们作更多的努力与尝试?
很多人认为,采用多组抽头阻抗输出的输出变压器会影响性能,一开始我也是持这种观点。但是,凡事总可以一试。为此我设计了一种特殊的绕组工艺结构,定购了0.3mm的Z11新日铁高导磁率硅钢片,委托专业的变压器厂为我绕制了一对样品。经与与手头的左氏牛作对比测试,结果之差令我大失所望!差一点就让我5555起来了。。。
Why? 按说我的结构已经充分考虑了分布电容与漏感,怎么会呢?百思不得其解之下,我学起了胞丁。。。把这头牛大卸八块。啊哈,问题出来了!厂家并没有按我的绕制分布来绕,而是自做主张,把我的多组串并联简化为最简单的单绕组!看来这位老兄在校曾经拿过奥数赛的因式分解冠军!
CALL了该厂的林总工,回答是他最近没在厂子里。。。要我重新把图纸传给他,由他亲自监工重新绕制。并且保证次日上午10时准时交付新样品。
新的样品送来,接上信号源、失真仪、示波器上机测试,从最低阻到最高阻频响、失真都令人十分吃惊!高频-3dB频响竟延伸到了100KHZ! 这才一扫心中的阴霾。
顺理成章,阻抗转换是通过一个双刀五掷开关来分别切换到32ohm/60ohm/120ohm/300ohm/600ohm。开关的样品也到了,连转换位置的丝网印刷的图都作好了。。。
事情到了这里似乎就要划上句号了,由于工作缘故天天和MCU打交道的我,总有一些职业毛病:这个能用软件来实现么。。。【欲知后事如何,且听下回分解】
AUTO_IMP.JPG
犹如天籁的音符,能在你的血液里流淌。。。
回复

使用道具 举报

28

主题

277

帖子

38

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
38
注册时间
2004-10-3
 楼主| 发表于 2005-10-1 23:26:57 | 显示全部楼层
  三秒钟的乐谱
     —耳机自动阻抗识别开发手记(二)
大家知道:耳机(包括喇叭,这里主要指占耳机绝大多数的动圈耳机和动圈扬声器)的阻抗和其直流电阻十分接近,也就是说在耳机阻抗的成分里主要部分还是纯阻,感抗部分占的比例很少。因为感抗是频率的函数,而耳机是要从十几赫兹到几十K赫兹的频率范围都保持平直的频率响应的,所以电抗的成分不可能多。我对手中不同阻抗耳机的直流电阻测试也证明了这一点。这样一来,就为用单片机来测试耳机阻抗带来了方便:我们只要检测出耳机的直流电阻就可以确定其阻抗了。
直流电阻怎么测试呢?这在数字万用表里原是很简单的问题:采用专用的双积分的A/D转换芯片就可以方便的测量出直流电阻。但是普通的单片机的A/D转换都是逐次比较的模式,极少有双积分的A/D转换。出于成本的考虑,我不得不另辟蹊径。
一开始我的办法是:采用直流分压的方式用耳机串连一个电阻接到参考电压上,不同直流电阻的耳机当然产生的分压也不同,利用单片机的A/D采用就可以分辨出来。
例如:在耳机上串连1K的电阻,接到5V的电压上,32ohm的耳机可以产生155mV的分压;而在60ohm的耳机可以产生283mV的分压,用10bit分辨率的A/D转换单片机可以分别采集到“31”和“57”数值,这当然是足够加以分辨了。
问题似乎很轻松就搞定了,可想起来容易,做起来却没有那么简单!因为耳机在这样的分压下产生的“喀喇”声十分震耳!实测发现:当分压电阻加大到50K时,“喀喇”声已经很小,但是这时32ohm和60ohm的分压分别降到了3.1mV和5.9mV,即便是10bit的A/D转换,3.1mV已经采集不到,5.9mV的数据也只有“1”了!。。。【心情指数:晴转多云】
正所谓天无绝人之路,这时候我想起了用运放做成直流放大器来提升采样值(其实运放用于工控信号调理,比用于音响放大多多了)。马上动手,用单电源的运放LM358搭了一小块洞板做试验,结果试了一个通宵,偏差率大的不可接受!同一型号同一批次的运放,输出竟然相差30%—40%以上,试用了国半、ST、TI等牌子的运放,结果都是一样,心情之沮丧可想而知。。。【多云转乌云】
当然事情不能以“沮丧”而告终。我分析了原因,觉得问题可能出在运放LM358的性能指标不够好。单电源的运放,可以选择的型号不多,很难找到高素质的品种。。。换用性能好的双电源运放又如何呢?为此我又改成了双电源运放来试试。手上的7、8种运放一个个给我试了个遍,终于,天气逐渐清朗,我用LM833取得了十分稳定的试验数据。为了减少直流漂移,单级运放的增益不可选的过大,用两级增益较小的运放接力放大的办法效果较好。我用两级总增益约为50倍的增益取得了满意的效果,在分压电阻为100K的情况下,“喀喇”声已经比普通声卡小100倍,虽然耳机直流电阻的分压很小,但在直流放大之后仍然取得了足够的分辨度。这样就完成了前端信号的处理(也称为“信号调理”),这是阻抗自动变换很关键的一步。【欲知后事如何,且听下回分解】
犹如天籁的音符,能在你的血液里流淌。。。
回复 支持 反对

使用道具 举报

28

主题

277

帖子

38

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
38
注册时间
2004-10-3
 楼主| 发表于 2005-10-1 23:27:14 | 显示全部楼层
  三秒钟的乐谱
     —耳机自动阻抗识别开发手记(三)

剩下来就是单片机的选择了,综合成本和性能的要求,对单片机主要着眼点是分辨度要比较高(10bit),I/O腿不要太多(我们只需要控制6个继电器和不多的LED,而且大部分LED还是和继电器共用控制端的)。51类的单片机由于没有内置的10bit A/D转换器,只好PK掉;MICROCHIP家族中的PIC16F676正好满足这样要求:它只有14腿,具备10bit的A/D转换功能。PIC单片机本来都具备大电流驱动的I/O端口,可以直接驱动继电器,但是在“休眠”状态,不适合输出大电流,因此增加了一片达灵顿驱动芯片:ULN2003。
等我搭好了目标调试的洞板还没来得及写软件就接到出差的通知:到西南某地参加我们承担的一个数控项目的现场调试。
前段严重睡眠不足,接下来32小时的火车旅程,卧铺简直是疗养般的享受!要是by plane,三小时后就要干活啦,老板只知道我为公司节省了差旅费,却并不知道我的小九九(坏笑ing)!
目标地处偏僻的郊区,唯一的选择就是25元/晚的招待所。没有电话,空调打开要另外收费,不过房间倒挺大的,顶高至少有4米。比起我在东京住过的只有巴掌大却要两万多丹/晚的“富士屋HOTEL”,简直就是皇宫啦,不过在这里当“皇上”晚上却是要喂蚊子滴!——扯远啦,打住打住。。。
白天去现场调试,晚上接着写阻抗变换器的软件。手上除了本本和仿真器以外,什么工具都没有。洞板要修改接线,连切断导线的刀子都没有,还好我想起了“金属疲劳效应”,不断地弯折弯折。。。就断了^_^。
软件是这样考虑的:
1.初始化
2.设定1ms定时中断,以便在每毫秒启动A/D转换采集一次数据;
3.设定200ms定时,用来闪烁一个数据采集LDE指示灯;
4.设定3秒钟定时,所有采集、判断、处理在三秒钟内完成;
5.为了更准确地采集数据,采用了多重的数字滤波算法(这通常用于干扰严重的工控场合,但是MCU的资源在这里不用白不用)下面会详细叙述其工作过程。
MCU控制5个耳机阻抗转换继电器和一个采集输入继电器;5个表示阻抗的LED指示灯,和一个“Testing”以及一个“N-A”指示灯。“Testing”闪烁表示系统处于“测试状态”,测试完成后选中相应的切换继电器和阻抗指示灯。如果没有插上耳机,则所有的继电器关闭“N-A”指示灯亮(系统接音箱时就是这种状态)。
等我接上仿真器才发现:MICROCHIP 的ICD II 调试器所配的16F676专用仿真头无论如何也连不通,真是晕死!
没办法只好寄回福州贝能去修理(后来他们告诉我,仿真头没坏只是里面的软件升级了)。
好在ICD II 对于大部分的MUC都可以无需仿真头,我就用一个16F873A(28Pin)来临时代替14Pin的16F676做DEBUG调试,最后再修改寄存器的参数设定,再通过PICSTART Plus编程器写入16F676的芯片FLASH编程区。
花了两个晚上的时间,阻抗自动识别的软件开发告一段落。
具体工作过程如下:
一、上电以后,接通阻抗采样继电器,运放将耳机直流电阻上的直流分压经过LM833两级直流放大后输送给单片机的A/D采用输入端;
二、单片机在经过三秒钟的延时,等待电源电压稳定以后开始A/D采样,在等待中“Testing”灯以200毫秒的周期闪烁;
三、进入采样周期,MCU每个毫秒采样一次,每采样8次相加后除以8取算术平均值;
四、将三组每个8次采样取平均后的数据分别存储;
五、启动“多数表决”算法:即在三组数据中分别比较是否有相同的两组,如果没有(三人意见都不一样),返回第三步重新采样;
六、如果有两组相同的,说明“多数表决”有效(三个人中有两个意见一致即为多数);
七、根据采集的数据判断应该开启那一个阻抗的继电器,执行该判断,开启相应的继电器,并且点亮相应的指示灯,同时关闭采样继电器;
八、如果没有插入耳机,“N-A”指示灯亮;
九、系统完成“采样--判别--执行”过程,单片机进入“Sleep”状态。请注意:单片机进入Sleep将关闭时钟振荡器,从而避免了其对音频系统有可能造成的干扰;(忙活完了,MCU宝宝好好睡一觉吧^_^)。
十、单片机直到下一次上电才重新开始一次新的检测。
  这样一来,小不点III的面板上就有一排(7个LED)指示灯,当你插入耳机,打开电源开关,“Testing”灯开始闪烁,三秒钟后耳机阻抗自动测试完毕,和你插入耳机阻抗相应的指示灯燃亮,耳放开始推动耳机工作。
它的一次工作只是在大约三秒钟的时间里完成,“0”与“1”的乐谱也就只需演奏三秒钟,就进入了“休止符”。。。【全文完】
犹如天籁的音符,能在你的血液里流淌。。。
回复 支持 反对

使用道具 举报

84

主题

4345

帖子

74

积分

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
74
注册时间
2003-6-3
发表于 2005-10-3 14:53:11 | 显示全部楼层
哇,厉害。直接软件切换省了事了。小不点越来越先进了!
回复 支持 反对

使用道具 举报

28

主题

277

帖子

38

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
38
注册时间
2004-10-3
 楼主| 发表于 2005-10-3 15:10:31 | 显示全部楼层
只是用起来方便了。。。
犹如天籁的音符,能在你的血液里流淌。。。
回复 支持 反对

使用道具 举报

60

主题

2668

帖子

140

积分

超级会员

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
140
注册时间
2003-8-19
QQ
发表于 2005-10-3 22:49:01 | 显示全部楼层
被杨老师的敬业精神所深深打动!
同时也被杨老师的精湛的技艺所折服!!
学到了很多东西,不光是电子技术方面的,谢谢杨老师。
打死不买霉国鬼子和小鬼子的货!!!
耳机系统:飞利浦CD951+TA28+HD580
箱子系统:飞利浦CD951+凯音M32+维也纳“巴赫”
CD951的出仓齿轮已然修好,高兴中。
回复 支持 反对

使用道具 举报

28

主题

277

帖子

38

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
38
注册时间
2004-10-3
 楼主| 发表于 2005-10-4 02:28:06 | 显示全部楼层
过奖啦。。。
我也是法拉利的FANS哦。。。而且是菲亚特的用户。
犹如天籁的音符,能在你的血液里流淌。。。
回复 支持 反对

使用道具 举报

84

主题

4345

帖子

74

积分

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
74
注册时间
2003-6-3
发表于 2005-10-4 10:11:31 | 显示全部楼层
日,数字电路俺都忘完了,现在看杨老师的文章就像看天书一样。
回复 支持 反对

使用道具 举报

50

主题

489

帖子

25

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
25
注册时间
2002-12-3
发表于 2005-10-9 18:07:43 | 显示全部楼层
不错是不错,但是,多道关卡就多个“老虎“阿
回复 支持 反对

使用道具 举报

50

主题

489

帖子

25

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
25
注册时间
2002-12-3
发表于 2005-10-9 18:14:06 | 显示全部楼层
变压器的话,还是不要用左氏牛来对比
回复 支持 反对

使用道具 举报

540

主题

6147

帖子

234

积分

核心会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

积分
234
注册时间
2003-4-22
QQ
发表于 2005-10-9 20:09:47 | 显示全部楼层
可以参考铁三角的DHA3000耳放
qq:3226976098
回复 支持 反对

使用道具 举报

88

主题

1931

帖子

145

积分

超级会员

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
145
注册时间
2001-11-21
发表于 2005-10-10 07:48:55 | 显示全部楼层
下面是引用你好于2005-10-09 18:14发表的:
变压器的话,还是不要用左氏牛来对比

还有其他的什么好牛推荐么?
感冒不吃药,别拦着我,我要发烧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

耳机俱乐部微信
耳机俱乐部微信

联系我们|有害信息举报:010-60152166 邮箱:zx@jd-bbs.com|手机版|Archiver|黑名单|中国耳机爱好者俱乐部 ( 京ICP备09075138号 )

GMT+8, 2024-5-26 00:59 , Processed in 0.099249 second(s), 37 queries , Gzip On.

快速回复 返回顶部 返回列表