摘 要:在控制系统中经常用到一些模拟信号,通常使用数/模转换器输出所需的模拟信号。USB接口是常用的微处理器外部总线接口,通过USB接口控制数/模转换器非常便捷。以CY7C68013A和AD558为例,详细说明了通过USB控制数/模转换器的电路设计方法。
关键词:USB; 数/模转换器; 电路设计
在控制系统中,经常需要产生和控制一些模拟信号,例如精确可调的电压或电流输出、亮度调节和音量调节等。常用的微处理器外部总线接口为数字信号,无法直接产生需要的模拟信号,需要用到D/A转换器。D/A转换器提供了良好的数字接口,可以由微处理器来控制,以输出要求的模拟量电压或电流等。
本文以USB接口芯片CY7C68013A和高速D/A转换芯片AD558为例,详细阐述了通过USB控制数/模转换器输出的电路设计。
1 USB接口芯片
Cypress公司推出的EZ-USB FX2LP系列USB接口芯片是集成了USB2.0协议的微处理器,其中应用最普遍的是低功耗芯片CY7C68013A,它具有高性能、低功耗的优点。
CY7C68013A芯片的内部结构包括USB2.0收发器、串行引擎(SIE)、增强型8051内核、16 KB RAM、4 KB FIFO存储器、I/O接口、数据总线、地址总线和通用可编程接口(GPIF)[1]。
CY7C68013A拥有独特的结构,其SIE负责完成串行数据的解码、差错控制、位填充等与USB协议有关的功能。SIE能够实现大部分的功能,从而减轻了嵌入式增强型8051内核的负担,简化了USB固件程序的开发。其CPU时钟可以工作在12 MHz、24 MHz和48 MHz频率上。
需要强调的是,CY7C68013A芯片的固件程序存放在主机上,而不是在芯片内部。因此在该芯片连接到主机时,首先将固件程序下载到片内RAM,再开始执行[2]。
2 D/A转换原理
D/A转换器的基本功能是将一个数字量信号按照一定的比例转换成对应的电压或者电流模拟量。由于一个数字量是由数字代码按位组合而成的,每一位数字代表一定的权,一个数字与对应的权相结合,就代表了一个具体的数值。把所有的数值相加,便得到该数的数字量。D/A转换器正是利用了这一点来实现的。
D/A转换所采用的基本方法是将数字量转化成二进制数据。其每一位产生一个相应的电压或者电流模拟量,而这个电压或者电流模拟量的大小正比于相应的二进制位的权。最后将这些电压或者电流模拟量数值相加并输出。
本文以ADI公司推出的8 bit电压型D/A转换器AD558为例来介绍D/A转换器的原理。D/A转换器的结构原理图如图1所示。一个完整的D/A转换器主要包括3部分,即加权电阻解码网、数字量控制的电子开关组合和由运算放大器构成的电流电压转换器。
在AD558型D/A转换器中,电子开关组合与输入二进制数D0~D7相对应。当某个二进制位为1时,对应的电子开关闭合,基准电压Vref连接加权电阻解码网络,使该支路电阻上有电流通过;当某个二进制位为0时,对应的电子开关断开,该支路电阻上便无电流通过。加权电阻解码网络各个分支的电阻值与输入的二进制数据D0~D7的权成反比关系,权大的电阻值小,权小的电阻值大。D/A转换器根据各个权位的情况以及输入的二进制数,通过求和及电流电压转换电路,得到总和的模拟电压值并输出[3]。
3 AD558
8 bit电压输出型D/A转换器AD558的功能框图如图2所示,其主要性能指标如下:
(1)8 bit并行接口。
(2)电压的输出范围0~10 V。
(3)相对精度为最低有效位的±1/2。
(4)输出转换建立时间1 ?滋s。
(5)使用单一电源供电,电源电压范围4.5 V~16.5 V。
(6)内部具有基准电压源,无须外接基准源。
(7)内部集成数据锁存器。
(8)75 mW低功耗。
AD558提供了便于使用的控制接口,其各个引脚的功能如下:
5 AD558的数据锁存
由于数字-模拟量的转换需要一定的时间来完成,在这段转换时间内,要求D/A转换器输入端的数字量输入保持不变,以免导致输出错误。因此,为了保证正确的输出结果,AD558的数字量输入端口前面设置有锁存器,将数字量的输入数据保护起来。
AD558的数据锁存由片选信号CS和芯片使能信号CE来控制。其控制逻辑功能图如图4所示,控制逻辑真值表如表2所示。
从图4中可以看出,只有AD558的CS和CE全部为低电平时,其才可以接收数据总线上的数据,实现从数字量到模拟量的转换。而当CS和CE中有一个为高电平时,锁存器工作,将输入端的数据锁存到内部存储器,此时输出电压不再随数据总线上的数据变化。因此,通过数据锁存器和片选信号,可以方便地将多个AD558连接到公共的8 bit数据总线上。
数/模转换芯片AD558的使用十分简单方便,覆盖了常用的电压输出范围,精度及可靠性很高,转换速度也很快。而且AD558不需要外接复杂的基准电压源,通过微处理器直接可以获得所需的模拟输出电压,能够适用于一般的控制系统的要求。使用AD558可以节约很多电路设计调试时间,降低电路的复杂性,从而加快设计周期并减轻设计工作量。
6 电路设计
本系统采用USB控制芯片CY7C68013A和D/A转换器AD558来实现数/模转换控制。计算机可以通过软件控制AD558输出锯齿波、三角波等各种模拟信号。CY7C68013A外接可编程只读存储器EEPROM引导USB启动,EEPROM芯片型号为AT24C08。电路原理图如图5和图6所示。
其中,图5中CY7C68013A的SCL和SDA引脚都是漏极开路输出和迟滞输入的,因此必须外接2.2 kΩ的上拉电阻。另外,R5和C7构成上电复位电路。时钟振荡电路由24 MHz晶振和两个12 pF的电容构成。 CY7C68013A的PB1~PB7连接AD558的数据总线。AD558采用单一的12 V供电,工作于0~10 V模拟电压输出模式[4]。
由于计算机的USB接口具有向外供电的功能,故采用USB接口的电源给CY7C68013A芯片供电。但是CY7C68013A工作需要3.3 V电压,而USB总线的电压为5 V,因此不能直接使用,需要进行电压转换。如图6所示。
本系统采用LT1763CS8-3.3电压调整芯片来实现将5 V电压转换为3.3 V。从图6中可以看出该芯片经过简单的电阻、电容连接,便可以实现电压的调整,适合于USB总线供电的系统。
本电路中所使用的元器件如表3所示。
最后,在制作PCB印刷电路板时,应遵守高速USB印刷电路板的要求。为了达到较高的信号质量,需要采用4层板甚至6层板来布线。将USB芯片放置在信号层,并尽可能离GND层近些[5]。
图5中,D+和D-用于高速的USB数据传输,因此这两根信号线直接影响USB接口电路的稳定性,在印制电路板布线时需要仔细布置。D+和D-的走线应尽可能短且相等,并且应合理设置D+和D-的导线宽度和间距;D+和D-之间的差分阻抗应该为90 W±10%,保证在D+和D-信号的下面是完整的GND层,中间断开的GND层将导致差分阻抗不匹配,并增加信号的干扰。
参考文献
[1] 薛园园,赵建领.USB应用开发宝典[M].北京:人民邮电出版社,2011.
[2] 胡晓军,张爱成.USB接口开发技术[M].西安:西安电子科技大学出版社,2005.
[3] 黄争.数据转换器应用手册[M]:基础知识篇.北京:电子工业出版社,2010.
[4] 黄丽亚, 杨恒新. 数字电路与系统设计学习指导[M]. 北京:北京邮电大学出版社,2006.
[5] 李桂宏,谢世健.集成电路设计宝典[M]. 北京:电子工业出版社,2006.