用数据采集卡的数字通道控制外部电路

2017-12-29 06:15胡险峰
网络安全与数据管理 2017年24期
关键词:数据线采集卡触发器

胡险峰

(四川大学 物理科学与技术学院,四川 成都 610064)

用数据采集卡的数字通道控制外部电路

胡险峰

(四川大学 物理科学与技术学院,四川 成都610064)

数据采集卡的数字信号通道具有输入输出功能,在做信号采集时输出的控制信号会被重置。外部设备或电路有控制信号存储功能时,可以直接用数字信号通道以并行或串行模式来控制。外部设备或电路没有控制信号存储功能时,需要外部设置控制信号保持电路,以便数据采集卡转而控制其他外设或电路,或转入数据采集模式。J-K触发器或D触发器可以用来保持控制信号,可以方便、有效地控制AD9850信号发生器模块、L298马达控制模块以及用USBeeDx-Pro数据采集卡实现的虚拟示波器外部增益程控电路。

数据采集卡;数字通道;控制信号;保持电路

0 引言

数据采集卡的模拟信号采集通道可以用来采集模拟信号,数据采集卡上的数字信号通道可以用来控制外部设备或电路[1-2]。比如用数字信号通道以并行或串行模式,向AD9850信号发生器模块发送频率和相位控制字,然后用模拟信号采集通道采集AD9850输出的信号。有的数据采集卡采集模拟通道信号时,提供的编程函数会把数字信号通道设置成输入模式,如USBeeDx-Pro数据采集卡,这样数字信号通道输出的控制信号就不能保持,对AD9850信号发生器模块这样具有控制字存储功能的外部设备,不会影响其正常工作。若用USBeeDx-Pro数据采集卡虚拟示波器,由于该卡没有输入信号增益控制功能,还需要控制一个外部被测信号的增益控制电路,就需要在数字信号通道外部设置控制信号保持电路。又如用L298马达控制模块控制马达正反转和停车,同时采集马达转动时带动传感器探测到的信号,也需要外部的控制信号保持电路,保持马达的转动状态。本文介绍用数据采集卡的数字信号通道控制AD9850信号发生器模块,虚拟示波器外部增益电路和L298马达控制模块的编程及控制信号保持电路。

1 控制AD9850信号发生器模块

AD9850的控制数据共5 B(即40 bit)二进制数,其中第0个字节的0和1位是工厂保留的内部测试控制位,使用时置0,第2位是电源开关位,置0开机, 3~7位是输出信号的相位;第1~4字节共32位是输出信号的频率,第4个字节是频率的低8位数据。在并行数据装载模式下,先向寄存器写入第0个字节,再依次写入第1到第4个字节,即输出信号的相位在40位数据的最高位。并行数据装载模式需要8根数据线,两根控制信号线W_CLK和FQ_UD,在W_CLK信号的上升沿驱动下装载1个控制数据字节,装载完5个控制数据字节后,在FQ_UD信号的上升沿驱动下输出频率和相位数据。将数据线d0和d1置1,d2置0,把数据装载模式设为串行模式。在串行模式下,从d7数据线写入控制数据,首先写入的是频率数据的最低位,最后写入的是相位数据的最高位。在W_CLK信号的上升沿驱动下,逐位移入数据寄存器中,最后由FQ_UD信号上升沿驱动输出频率和相位数据[3]。

例如,输出频率fout=10 kHz,输入的时钟频率fCLKIN=125 MHz,则频率调节字为:

wordt=232·fout/fCLKIN=343 597.383 68

其32位二进制00000000000001010011111000101101,加上2位工厂保留测试位,1位电源开关状态控制位,以及5位相位,相位值取0,40位控制数据为0000000000000000000001010011111000101101。

某些数据采集卡只有8位数字信号通道,以并行模式向AD9850装载控制数据,缺两个控制信号输出线——W_CLK和FQ_UD。可以使用串行模式来实现AD9850控制数据装载。数据采集卡的数字信号通道与AD9850信号发生器模块接线示意见图1。数字信号通道的D0与AD9850信号发生器模块的d7连接,D1与FU_DU连接,D2与W_CLK连接,D3与RESET连接,D4与d0连接,D5与d1连接,D6与d2连接。数据采集卡的8位数字信号通道的输出构成一个串行控制数据字,设为数wordc,其中D4和D5置为高电平,D6置为低电平,设置AD9850数据装载模式为串行模式。每送一位串行控制数据字wordc,向数据采集卡的数字信号通道写3次。第一次,wordc=0011000X, “X”表示要写入AD9850的一位串行控制数据,其作用是在AD9850的d7数据线上建立数据,同时FU_DU和W_CLK信号置0,准备开始让AD9850装载数据;第二次,wordc=0011010X,其作用是在AD9850的d7数据线上保持数据,同时W_CLK信号置1,让d7上的数据移入寄存器;第三次,wordc=0011000X,其作用是在AD9850的d7数据线上保持数据,同时W_CLK信号置0,完成一次d7上的数据移入寄存器。每次写后停顿一定时间再写,然后重复。送第39位数据时,前两次写与前面叙述的相同,而第三次的串行控制字改为,wordc=0011001X,其作用是在AD9850的d7数据线上保持数据,同时W_CLK信号置0,完成一次d7上的数据移入寄存器,而且同时让FU_DU信号置1,完成全部40位串行控制字的装载,AD9850启动输出信号。

AD9850启动后自行工作,只要不改变输出信号的频率和相位,就不再需要数据采集卡,数据采集卡可以转而控制其他外设,或转换为数据输入模式。采用这种方法实现用LabVIEW语言编程,让只有8路数字信号通道的MPS-010501数据采集卡控制AD9850信号发生器模块。LabVIEW程序稍加改动,调用USBeeDx-Pro数据采集卡数字信号输出的C程序,来控制AD9850信号发生器模块,输出信号驱动自混合干涉的外腔相位调制器,然后USBeeDx-Pro数据采集卡转而采集自混合干涉信号[4]。

图1 数字信号通道与AD9850信号发生器模块接线示意图

2 控制虚拟示波器外部增益电路

用USBeeDx-Pro虚拟示波器遇到的问题之一是采样分辨率只有8位,正负10 V量程,电压测量精度只有78 mV[5]。要提高测量精度需要外部增加放大电路。然而,USBeeDx-Pro模拟通道采样时会把其数字信号通道设置为输入模式,同时采集数字信号通道的输入。因此,数字信号通道在输出模式下输出的数据会被重置,不能处于保持状态。因而,不能用数字信号通道输出数据直接控制外部的可编程放大器,需要在数字信号通道与可编程放大器之间接一个数据保持器,保证USBeeDx-Pro采样时,可编程放大器的增益数据不被重置。

J-K触发器在时钟信号为低电平时,其J和K端电平变化不改变J-K触发器输出状态,利用此特性可实现数据保持。按照图2所示的可编程放大器的电路图,图中D0~D4和D8~DC接到USBeeDx-Pro数字信号通道的相应数据线。USBeeDx-Pro数字信号通道输出的数字与两个通道增益的关系见表1。编程方式:首先初始化,向USBeeDx-Pro数字信号通道写十六进制数0x0101,设置4个J-K触发器的时钟信号为高电平,再写入0x1919,保持两个J-K触发器的时钟信号为高电平,同时置4个触发器的Q为低电平,再写入0x1818,置4个触发器的时钟信号为低电平,保持4个触发器的输出状态,4个电子模拟开关断开。在放大器输出信号不超过电子模拟开关控制端的电压时,SW1和 SW2闭合,此时虚拟示波器两个通道的增益Kv1和Kv2为1。若要将虚拟示波器CH1通道的增益调到10倍,写入0x0001,再写入0x0013,再写入0x0012,U1的Q1保持高电平,Q2保持低电平,U3C开关闭合,U3D开关断开;若增益要调到100倍,写入0x0001,再写入0x0007,再写入0x0006,U1的Q1和Q2均保持高电平,U3C和U3D均开关闭合;若要将增益调回1,写入0x0001,再写入0x0019,再写入0x0018。若要将虚拟示波器CH2通道的增益调到10倍,写入0x0100,再写入0x1300,再写入0x1200,U2的Q1保持高电平,Q2保持低电平,U3A开关闭合,U3B开关断开;若要将增益调到100,写入0x0100,再写入0x0700,再写入0x0600,U2的Q1和Q2均保持高电平,U3A和U3B均开关闭合;若要将增益调回1,写入0x0100,再写入0x1900,再写入0x1800。D0和D8相当于CH1和CH2的地址线。

图2 可编程放大器的电路图

CD4066的闭合电阻大约125 Ω,虚拟示波器两个通道的10倍和100倍增益实际测量大约为10.4和98倍,在程序上把增益设为实测值,比精确挑选或调整电阻要简便,增益与预设值差别不大,也不影响虚拟示波器的使用。虚拟示波器通道增益选1倍时,虽然CD4066开关的两端用欧姆表测量是断开的,但是,当运放的输出电压超过CD4066控制端的电压后,运放的输出会陡然增加,输出波形失真,最大值处向上突起,说明开关断开状态失效,此时选择断开SW1和SW2开关。CD4066的说明书声称工作电压VDD~VSS可以达到20 V,实际情况是超过15 V时CD4066就会严重发热。因而,电路中增加稳压二极管来降低CD4066的工作电压。用电磁继电器替代电子模拟开关就不会有上述问题。图2中R3、R4和R5用于U4A调零,R9、R10和R11用于U4B调零。

表1 数字信号通道输出的数字与两个通道增益的关系

3 控制L298马达控制模块

用USBeeDx-Pro控制马达正转牵动滑块,经过出发点前的出发光电门不停车,USBeeDx-Pro的两个模拟通道还要采集滑块运动的速度数据和其他信号的数据,经过抵达光电门后触发停车;再控制马达反转,牵动的滑块通过抵达光电门时,马达不停车继续反转,拉动滑块返回出发点,返回经过出发光电门后触发停车。控制电路如图3所示,图中D0~D3接到USBeeDx-Pro数字信号通道的相应数据线。

图3 马达正反转及停车的控制电路向USBeeDx-Pro的数字信号通道写控制字,D3D2D1D0=0101,U5A和U5B两个触发器的D置1,U6A触发器的D置0,再写D3D2D1D0=1101,三个触发器的CLK置1,CLK从0→1,上升沿触发,U5A和U5B两个触发器的Q置1,U6A触发器的Q置0,则两个与门U7A和U7B的输出分别是0和1,则N1=1,N2=0,马达正转,滑块出发。然后程序让USBeeDx-Pro的两个模拟通道开始采集数据,其数字信号通道处于输入等待状态,D3D2D1D0=0000。滑块通过出发光电门U1时,光电门输出从0→1,此时与门U3C的10脚是0,始发光电门U1从0→1,不能通过与门U3C,U6A触发器的状态不变,马达继续正转。当滑块通过光电门U2时,光电门输出从0→1,此时与门U3B的5脚是1,抵达光电门U2从0→1,可以通过与门U3B和或门U4D,U5A的CLK从0→1,由于D3D2D1D0=0000,即U5A触发器的D为0,则U5A触发器的Q置0,而此时另外两个触发器,U5B的Q是1,U6A的Q是0,则两个与门U7A和U7B 输入为0,输出也为0,即N1=0,N2=0,马达停转。

要滑块返回,向USBeeDx-Pro的数字信号通道写控制字,D3D2D1D0=0010,U5A和U5B两个触发器的D置0,U6A触发器的D置1,再写D3D2D1D0=1010,三个触发器的CLK置1,CLK从0→1,上升沿触发,U5A和U5B两个触发器的Q置0,U6A触发器的Q置1,则两个与门U7A和U7B的输出分别是1和0,即N1=0,N2=1,马达反转,滑块返回。然后程序让USBeeDx-Pro的两个模拟通道开始采集数据,其数字信号通道处于输入等待状态,D3D2D1D0=0000。滑块通过抵达光电门U2时,光电门输出从0→1,此时与门U3B的5脚是0,抵达光电门U2从0→1,不能通过与门U3B,U5A触发器的状态不变,马达继续反转。当滑块通过始发光电门U1时,光电门输出从0→1,此时与门U3C的10脚是1,始发光电门U1从0→1,可以通过与门U3C和或门U4C,U6A的CLK从0→1,由于D3D2D1D0=0000,即U6A触发器的D为0,则U6A触发器的Q置0,而此时另外两个触发器,U5A和U5B的状态都是Q=0,则两个与门U7A和U7B 输入有0,输出也为0,即N1=0,N2=0,马达停转。

4 结论

数据采集卡上的数字信号通道可以方便地用来控制外设或电路,其各个数字位或数据线可以以不同的组合来控制多个外部电路,数据线既可以用来作为外部电路的数据线,也可以作为外部电路的地址线或控制线。J-K或D触发器可以有效解决数字信号通道输出信号的保持,让数据采集卡可以转而控制其他外部电路,或转换为数据输入模式。

[1] 宁红英,李学平,卢秀,等.基于STC单片机的角度控制[J].微型机与应用,2017,36(7):32-34,38.

[2] 冯笑,李西安.基于LabVIEW的机车轴温监测系统设计[J].微型机与应用,2016,35(12):93-95.

[3] Analog Devices. CMOS,125 MHz complete DDS synthesizer AD9850 user’s manual[Z]. Analog Devices,Inc.,1999.

[4] 胡险峰.激光自混合干涉测量振动[J].物理实验,2016,36(z):13-14,18.

[5] 胡险峰.基于USBeeDX数据采样和LabVIEW编程的虚拟示波器[J].物理实验,2016,36(7):12-16.

Control external circuit by using digital channels of data acquisition card

Hu Xianfeng

(College of Physical Science and Technology,Sichuan University,Chengdu 610064,China)

Digital signal channels of data acquisition card have input and output functions. Outputted control signal will be reset in acquiring external signal. If the external devices or circuits have control signal storage function,they can be directly controlled by the digital signal channels under parallel or serial mode. When there is no control signal storage capability in external devices or circuits,an external holding circuit of the control signal will be required,for the data acquisition card in turn to control other devices or circuits,or change to data collection mode. J-K trigger,or D flip-flop can be used to keep the control signal. Using them can easily and effectively control the AD9850 signal generator module,L298 motor control module,and external gain control circuit of virtual oscilloscope using USBeeDx-Pro data acquisition card.

data acquisition cards; digital channel; control signal; holding circuit

TP23

A

10.19358/j.issn.1674-7720.2017.24.007

胡险峰.用数据采集卡的数字通道控制外部电路J.微型机与应用,2017,36(24):22-24,31.

2017-05-23)

胡险峰(1962-),男,研究生,副教授,主要研究方向:物理实验教学。

猜你喜欢
数据线采集卡触发器
高精度AD采集卡性能测试及评价方法研究
浅谈时序逻辑电路的成长记忆
血液采集卡存储装置的设计与应用
第三方编织数据线材质更抗拉、更耐用
官方数据线未必靠谱:小米抗拉强度落后其他品牌近5倍!
面向数控机床的多通道传感数据采集卡设计
使用触发器,强化安全性
脉冲采集卡的开发
会叫唤的数据线
几种常见触发器工作方式的讨论