USB接口的数模转换系统设计解析
接口具有向外供电的功能,因此这里采用USB接口的电源为PDIUSBD12芯片供电。
USB接口部分的电路原理图如图2所示。
AD558的数据总线连接到PDIUSBD12.AD558工作于0~+10V模拟电压输出模式。电容C9和C10用于改善输出波形。AD558采用单一的12V供电,不需要外接基准电压源。数模转换部分的电路原理图如图3所示。
在制作PCB的时候,应遵守高速USB印刷电路板的要求。为了达到较高的信号质量,需要采用4层板甚至6层板来布线。将USB芯片放置在信号层,并尽可能离GND层近些。
USB接口中的D+和D-用于高速的USB数据传输,因此这两根信号线直接影响USB接口电路的稳定性,在印制电路板布线的时候需要仔细布置。D+和D-的走线应尽可能短且相等,并且合理设置D+和D-的导线宽度和间距。D+和D-之间的差分阻抗应该为90W±10%.保证在D+和D-信号的下面是完整的GND层。中间断开的GND层将导致差分阻抗不匹配,并增加信号的干扰。
4 程序设计
上位机的程序在VisualC++6.0编译环境中进行设计,分为设备初始化、USB设备检测、输出电压三个部分,程序代码分别介绍如下。
4.1 设备初始化
需要先初始化USB设备变量、控制端点变量和线程变量。主要是在OnInitDialog()函数中进行。代码示例如下:
4.2 USB设备检测
在程序中检测连接的USB设备,代码示例如下:
4.3 输出电压
用于从文本框中读取输入的电压值,然后转换为浮点数,接着转换成最接近的并行数据,最后通过自定义请求输出给USB设备。代码示例如下:
5 小结
本文通过一个完整的实例,讲解了如何使用USB接口芯片实现上位机控制D/A转换输出模拟电压。D/A转换器将数字信号转换成为模拟信号,可以利用成熟的数字电路技术实现控制,应用非常广泛。熟练掌握这种方法以后对于相关领域的设计工作十分有用。
- 初学者USB技术入门总结(04-19)
- 基于EWB的D/A数模转换器的仿真设计方案(06-22)
- 基于一种数字可调级步进式稳压电源的设计(04-06)
- 高速数模转换器TQ6124的原理与应用(11-20)
- 高精度数模转换实现的技巧(09-16)
- 压电陶瓷驱动电源特征解析(10-11)