基于USB接口的数据采集与控制系统设计综合
扫描二维码
随时随地手机看文章
1 系统结构
利用ADuC845单片数据采集器件和CH341 USB接口器件构成的数据采集与控制系统的框图如图1所示。ADuC845完成模拟量数据采集、开关量的输入输出、控制电压和PWM控制信号输出,CH341USB接口器件完成PC机与ADuC845的数据传输。
ADuC845中的数据打包后经USB器件传送至PC机,利用 PC机的数据处理程序完成数据处理与分析,并将其显示在所设计的系统界面上。同时,将控制命令通过USB接口传送至ADuC845,实现对外围设备的控制。
2 USB通信接口电路
USB通信接口电路采用CH341器件,图2为其电路。图2中,P3是USB端口,USB总线包括一对5 V电源线和一对数据信号线。通常+5 V电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。USB总线提供的电源电流最大可达500 mA,CH341和低功耗的ADuC845直接使用USB总线提供的5 V电源。
CH341的RXD引脚和TXD引脚分别与ADuC845的RxD引脚和TxD引脚相连,由于传输数据。晶体Y2、电容C13和C14用于时钟振荡电路。Y2的频率是12 MHz,C13和C14是容量为15 pF的独石或高频瓷片电容。VD1为工作状态指示灯,R3为其限流电阻。R4是0 Ω电阻(磁珠),它能实现滤波及保护。C12和C11是独石或高频瓷片电容,C12容量为1 000 pF~0.01μF,用于CH341内部电源节点退耦,C11容量为O.1μF,用于外部电源退耦。
设计印刷线路板PCB时,需注意是的:退耦电容C11和C12应尽量靠近CH341放置;使D+和D-信号线贴近平行布线,尽量在两侧提供地线或覆铜,以减少外界的信号干扰;尽量缩短XI和XO引脚相关信号线长度,为减少高频时钟对外界的干扰,可在相关元件周边环绕地线或覆铜。
3 数据采集与控制电路设计
数据采集与控制电路以ADuC845为核心,电路如图3所示,该电路提供10个24位的A/D转换器输入通道,输入端接有1 kΩ的电阻和0.1μF的滤波电容器。12位电压输出 D/A转换器经运算放大器OP284缓冲后输出;也可提供双16位PWM输出和8路开关量的输入/输出。ADuC845的RxD引脚和TxD引脚分别与CH341的RXD引脚和TXD引脚相连,实现数据传输。晶体振荡器电路采用32.768 kHz晶振Y1,电容C18和C19根据系统需要调整确定。数字电路的电源端分别连接0.1μF的退耦电容到地。模拟电路的电源端连接0.1μF和10μF的退耦电容到地。退耦电容应尽可能的靠近电源放置。
4 系统主要程序设计
4.1 USB通信接口电路驱动程序
USB通信接口电路的USB端口与PC机连接。对PC机而言,数据采集与控制系统是一个具有USB接口的功能部件(或称下位机)。PC机通过虚拟串口设备直接传输数据到下位机。USB通信接口电路驱动程序代码如下:
[CH341S98.9X.AddReg];//用于添加注册表部分
4.2 A/D采样程序
以下给出A/D采样程序的部分代码:
5 结语
该数据采集与控制系统以ADuC845为核心器件,采样分辨率高(20位),系统温漂小(10 nV/℃),运行稳定,抗干扰能力强;利用USB接口作为该系统的通信接口,安装灵活、传输速度快、可靠性高、易于扩展;利用PC机完成数据分析与数据处理。因此该系统设计适用于医疗设备、工业控制系统等数据采集与控制领域。