|

楼主 |
发表于 2009-10-17 15:59:42
|
显示全部楼层
Ø 数字信号多路选择器设计' I) a5 ]$ [) e1 m' j: z
由于I2S一共包含四根线缆:BCK、DATA、LRCK、MCK,而74系列的多路选择器74HC157刚好是四路的二选一的多路选择器,而且只需要一个引脚即可控制所有四路信号。非常适合本系统。多路选择器完成了后级耳机放大器接受USB信号/SPDIF输入接口输入的信号的选择的功能。具体设计如图 19所示。' d- F( y/ o+ {# u
s% i" E% Q+ x2 Z9 Q0 H- q
图 19 数字信号多路选择器设计1 F& T, k# E8 K
Ø 高性能DAC设计0 k. P) \( t' y; N6 l) T4 J% C8 t
高性能DAC包括数字电路与模拟电路两个部分。在此仅仅介绍数字部分。( i6 o+ Z, @# w0 F, e5 N
高性能DAC选择TI公司的PCM1738。PCM1738是TI公司的24Bit、192KHz采样率、采用Advanced Segment技术的立体声数模转换器。具有高达117dB的动态范围,以及高达117dB的信噪比,低至0.0004%的总谐波失真,最高达 的电流输出,提供了10kHz~200kHz采样率的音频信号的支持,支持16Bit、20Bit、24Bit的音频信号,并且支持标准、I2S、Left-Justified、格式的信号,内置的八倍的数字过采样滤波器提供了最大达-82dB的衰减,在通频带内的抖动小于 ,其数字衰减、数字滤波器滚降模式、静音、自动无音量检测、无音量检测信号等都可以通过软件去控制或者访问。1 C5 c. ~, ^8 B( J& f7 `5 w
PCM1738常常见于高级的CD机或者高级的解码器中。
( q% M) z" |% q' J, ]
, E' w5 m5 l4 t2 N2 v, G图 20 PCM1738电路设计' _6 J' l8 h; N0 Y4 c: S. y
PCM1738的电路设计图如图 20所示。所有的配置功能通过MCU中的程序实现。具体配置参见本文“嵌入式软件设计”部分。, V) i& Q4 X7 h
3 模拟电路设计
5 f# @' q* P/ @$ H8 d 在此模拟电路泛指采用模拟电源供电的部分的电路。( m8 H' S# I5 `4 U
模拟电路包括高性能DAC、I/V变换电路、低通滤波电路、功率放大电路等部分组成。
/ C" o: k$ Q; i; h PCM1738采用电流输出,因此需要在后级添加I/V变换电路。
# V7 y- e$ V* ^! sØ I/V变换电路
( X( @. ?4 M/ Z; Y; k! ^. p7 d, w I/V变换电路是将DAC的输出信号由电流变为电压的电路。# W7 h: v0 `" X
对于I/V变换电路运放的要求是运放带宽尽量大,输入噪声水平(包括输入电压、电流)尽可能低,输入阻抗尽可能大,输入失调电流尽可能的小,并且必须是单位增益稳定的。这里最理想的是用超低噪声的FET输入运放。USB-Z01选用FET输入级的超低噪声放大器OPA2134。电路图如图 21 I/V变换电路所示。由于OPA2134的输入阻抗为T殴级,因此直接采用反相端输入,这样避免了直接在电流输出端与电流输出公共端直接并联电阻产生的过大的电流导致的I/V变换线性度失真的问题,同时又不会因为运放的漏电流导致声音失真的问题。% h$ B* h- d/ S0 U8 v7 B+ X, C
由于DAC输出一共有两路,每路都分为I+与I-两部分,所以共需要4个运放做I/V变换。% z/ ^. t7 F% C( ~
. B8 n' o: R6 W5 b$ f% M3 u图 21 I/V变换电路0 Y$ M- S M7 O' Z& r- k: l. R6 F+ A
Ø 低通滤波电路
% r- [ T5 B9 V1 R2 n! v 低通滤波电路采用差分式的二阶巴特沃斯低通滤波器。此滤波器的截止频率设计指标是120KHz。! V: g1 l5 c. @, Z) i2 @8 c
但是作为最常用的USB数据输入模式而言,USBDAC输出的信号的采样率最高仅48KHz,因此做截止频率为22KHz的低通滤波器可能会更好。选择22KHz一方面是因为22KHz频率在人耳的听觉范围之外,22KHz截止频率的低通滤波器也有效的滤除了DAC产生的信号的镜像频率噪声。而且为了配合这个HiFi级的USB-Z01的诞生而购买的拜亚动力的耳机DT235的频响上限也是22KHz。
# W" U# R' P5 X0 N6 R/ D* w 设计的120KHz的截止频率是针对SPDIF输入模式的。120KHz的频率虽然超出了人耳可以分辨的范围(20Hz~20KHz),但是人体仍然对超出20KHz的声音有感觉,而且这种感觉对于听觉体验也有很重要的作用。120KHz的滤波器也有效的滤除了192KHz采样率下的镜像频率噪声。
6 V" f6 M/ h2 ~ \) L& ~ 如果做一个程控滤波器效果可能会更好,但是120KHz的滤波器也已经足够。
4 j, `& F. F8 W, J( z6 d% G9 O
$ z Q5 p7 S4 @' _& V9 s
图 22 二阶巴特沃斯低通滤波器2 I$ L/ l. v& b8 R
滤波器的设计如图 22所示。
& U! l7 S" j# F( K5 d! B7 bØ 功率放大电路
" o0 v& b+ h9 L" E6 m* E; W7 D 功率放大电路包括前置放大器与功率放大器两部分。
& ]* l& Y* W8 B& G/ d; D% T) ] 前置放大器主要负责电压放大。电压放大采用可更换的双列直插式插座,方便更换运放更换USB-Z01的音色。
0 {# `: D+ T, O/ I- X/ n
* _" `6 U0 V. d Q5 |
图 23 前置放大器电路设计, _3 a5 ?1 T y) c+ p7 a
前置放大器要求放大器具有较低的失调电压、较低的总谐波失真等指标,主要完成电压放大的功能。如果I/V变换设计合理,将最大电压设定为0.7V左右,那么只用耳机时可以不需要这一级。但是考虑到输出接口可能还会用来驱动音箱,高阻抗耳机等设备(有些耳机的阻抗可能高达600欧姆,远超过普通耳机的50欧姆),0.7V的电压驱动能力不足。而且前置放大器可以采用双列直插插座,方便更换。这里有个疑问,在I/V变换级采用双列直插插座为什么不可以呢?$ b" {6 r+ `% Q) U
因为I/V变换部分对电流敏感,而经常插拔部分的阻抗可能会发生改变,影响电流的正常变换。而前置放大器仅仅只是电压放大,因为电流非常小,所以阻抗的改变对电压的改变也非常小,所以前置放大器还是有必要的。8 a& ?8 R* ?) Z8 q* T% y4 O
功率放大器采用单片THS3092的解决方案。THS3092是TI公司的一款低失真(66dBc at 10MHz)、低噪声(2nV/sqrtHz)、极高压摆率(5700V/us)、宽带(160MHz)、大电流输出(250mA)、高电压(正负5V~正负15V)的电流反馈型放大器。* K; N+ v+ U. N+ D( W: @/ o
THS3092常常用于xDSL驱动器中,但是THS3092内部的设计结构原理(参见图 24)与普通耳机放大器的对管搭建的AB类放大器的结构原理完全一致,而且具有极好的性能与指标(250mA输出、极低的噪声与失真、极宽的带宽),我们完全没有任何理由反对采用xDSL Driver做音频段的功率放大器。不过由于电流反馈放大器设计不当容易烧毁,且极高带宽的放大器不容易做稳定,因此可能不容易调试,但是只要布线合理,再加上积累的调试技巧,使用电流反馈型放大器做音频范围内的功率放大器完全没有任何问题。在实际测试中也发现,使用电流反馈型放大器做的功率放大器,高频清澈而通透,低频雄浑有力而又不浑浊,完全符合心中所想的对功率放大器的要求。% @, R( `. \$ e. F2 j5 ^" ^
THS3092作为功率放大器,外部电路简单,电路设计图如图 25所示。图中并联的2pF的电容在反馈电阻上搭建了一个简单的高通滤波器,有效的避免了自激震荡的出现。
$ d+ [! o M5 `, C* X
" G: v7 F0 v* K8 M图 24 电流反馈放大器内部工作原理/ v+ {/ ?1 v, A ? k8 f# W
4 S6 y' w9 p( l
图 25 功率放大器电路设计9 x$ d1 A! i7 P2 t, r2 E
4 可扩展性设计; ?# f) [. X: x7 [5 @; W
系统采用了两个输入端口(USB输入,SPDIF接口输入),三个输出端口(低功耗耳机输出接口、HiFi耳机输出接口、SPDIF接口输出接口)。并且通过配置,可以将自动输出的SPDIF信号接入到系统的SPDIF输入接口中,同样也可以在HiFi耳机输出接口获得HiFi级的声音。1 m' [, J' w- K- U
另外系统还充分的利用了每个器件的功能,暂时无用的功能都采用引脚连接出来,方便以后扩展使用。如PCM2707中uMute、uVolume+等接口。
G# H) o2 ?$ ^- P1 [$ H* } USB-Z01采用了软件控制的高性能DAC芯片PCM1738,可以方便的进行固件升级,并且允许用户通过编写的上位机软件完成对USB-Z01的控制功能。) ^5 \5 u0 B2 a7 S
系统的电源允许直流、交流输入,而且具有防止接反的功能,可以在各种电源环境中使用。) r) R- }' b/ Y: r4 {$ E% V7 u& F
USB-Z01对可能需要自行更换器件的部分采用了双列直插插座,可以方便的通过更换器件获得不同的声音的音色。
) x4 s' J2 N8 d `' S. k2 a四、 系统软件设计1 c9 h- p! N* y$ } n* R) H
1 嵌入式软件设计
' ?3 ] W' x0 G: i9 t) G; q USB-Z01的很多配置都是通过MCU执行。可以配置的内容包括:低功耗模式下静音、音量加、音量减、USBDAC工作模式;HiFi模式下静音、左右声道的音量、静音检测、数字滤波器滚降模式控制、数字滤波器负载控制、输入数字信号格式、采样率选择、输出相位反转控制、DAC工作状态控制、系统时钟控制、系统复位控制、数字滤波器偏置控制。另外MCU还可以控制USB-Z01的输入接口、输出接口。1 r' |3 N% H' D6 ~
0 [* \' g: n$ r$ o图 26 软件工作流程图" K& z, ]# m0 ]) p* w+ e
MCU选用SST公司的51内核的单片机SST89E516。SST89E516采用5V供电,直接从USB总线取电。采用Keil开发。软件运行流程图参见图 26 软件工作流程图。# P: F2 k' l Z3 f4 P; K+ J. r
2 上位机软件设计0 c8 z' h; r# u) b3 A, A( R& ]
上位机软件负责与MCU进行通信,通过给MCU发送控制指令,让MCU控制USB-Z01的工作,从而实现“中央控制端”的作用。上位机软件采用MFC开发,其UI界面如图 27所示。
2 J% z; o i) q2 S( O4 n5 ^9 P
& y% ~0 g2 V E" I$ _3 C1 b图 27 上位机控制软件UI图0 |' D; r/ u' F @
通信的指令目前一共分为六种:获取左声道音量、获取右声道音量、获取输出模式、设置左声道音量、设置右声道音量、设置输出方式。每次设置左声道或者右声道音量时,系统都会执行一次读取所有配置参数的指令,更新界面上的数据状态。( ~5 z1 s4 D4 L" J9 d6 Q! h6 m
上位机的软件以及MCU中的软件下载,请参见附件。
`1 ]' z( d# w7 {5 A8 b$ E, X五、 系统整体效果9 f( }- ?4 m% X+ q0 _) |
原本设计采用的前级放大器是OPA2111。但是经过更换之后发现AD817的听感更好,因此改选用AD817作为前级放大器。PC上采用Adobe Audition3.0生成0.1Hz~30KHz的正弦波(步进值:10倍),在输出端用示波器测量,结果正弦波的失真度都小于0.2%(FFT计算得知)。当输入端没有信号时,输出端的噪声电压极低(低于泰克示波器TDS1002B的最低测出范围)。因此声卡的音质达到了预期的水平。" @' L( U% K$ {
" B+ b- S! y+ T; D- a图 28 系统整体图: Q+ S! B1 c% N1 u
5 c: \( z# }, }7 ~) f图 29 USBDAC芯片PCM2707及USB接口2 _8 E5 O! B" `% @
( h& b0 `# q* N# h2 d+ X图 30 电源部分. i5 x1 y# }" y1 v4 E' Z
" x5 d2 D0 c3 I+ {图 31 高性能DAC——PCM1738
( J2 q+ I# v W3 Z7 H5 t
[$ J# D! H( _0 E2 q图 32 前级放大器AD817% c# C7 Y$ m8 r4 o5 R
六、 结束语
! \4 N/ r" w& n E USB-Z01是自己纯DIY的一套自认为是HiFi级的声卡设备。从电路设计验证、PCB设计制作、元器件选型采购焊接、整机调试、书写文档,前后花掉大约2个月的时间,挤占了本来应该做本科毕业设计的大约三分之一的时间。在这两个月的时间里,几乎每天除了吃饭,全部精力都投入到USB-Z01的设计中。
( i' A; q+ c) K' g, F% M- Z 感谢HZKJ大学DGDZ创新中心老师以及同学们的支持,以及TI公司的样片支持。没有你们的支持,我的USB-Z01的诞生或许会历经更多的坎坷。
* ?' H) D$ a6 \& f+ z6 _ 即便在制作的过程中遇见了各种各样的形形色色的坎坷,但是我依然会坚持在追求HiFi的道路上走下去。追求HiFi,其实不在于对声卡、对耳机这些所谓的“设备”的型号的要求,真正的HiFi其实是一种精神,一种对完美孜孜不倦的追求。 |
|