胡險峰
(四川大學 物理科學與技術學院,四川 成都 610064)
用數(shù)據(jù)采集卡的數(shù)字通道控制外部電路
胡險峰
(四川大學 物理科學與技術學院,四川 成都610064)
數(shù)據(jù)采集卡的數(shù)字信號通道具有輸入輸出功能,在做信號采集時輸出的控制信號會被重置。外部設備或電路有控制信號存儲功能時,可以直接用數(shù)字信號通道以并行或串行模式來控制。外部設備或電路沒有控制信號存儲功能時,需要外部設置控制信號保持電路,以便數(shù)據(jù)采集卡轉(zhuǎn)而控制其他外設或電路,或轉(zhuǎn)入數(shù)據(jù)采集模式。J-K觸發(fā)器或D觸發(fā)器可以用來保持控制信號,可以方便、有效地控制AD9850信號發(fā)生器模塊、L298馬達控制模塊以及用USBeeDx-Pro數(shù)據(jù)采集卡實現(xiàn)的虛擬示波器外部增益程控電路。
數(shù)據(jù)采集卡;數(shù)字通道;控制信號;保持電路
數(shù)據(jù)采集卡的模擬信號采集通道可以用來采集模擬信號,數(shù)據(jù)采集卡上的數(shù)字信號通道可以用來控制外部設備或電路[1-2]。比如用數(shù)字信號通道以并行或串行模式,向AD9850信號發(fā)生器模塊發(fā)送頻率和相位控制字,然后用模擬信號采集通道采集AD9850輸出的信號。有的數(shù)據(jù)采集卡采集模擬通道信號時,提供的編程函數(shù)會把數(shù)字信號通道設置成輸入模式,如USBeeDx-Pro數(shù)據(jù)采集卡,這樣數(shù)字信號通道輸出的控制信號就不能保持,對AD9850信號發(fā)生器模塊這樣具有控制字存儲功能的外部設備,不會影響其正常工作。若用USBeeDx-Pro數(shù)據(jù)采集卡虛擬示波器,由于該卡沒有輸入信號增益控制功能,還需要控制一個外部被測信號的增益控制電路,就需要在數(shù)字信號通道外部設置控制信號保持電路。又如用L298馬達控制模塊控制馬達正反轉(zhuǎn)和停車,同時采集馬達轉(zhuǎn)動時帶動傳感器探測到的信號,也需要外部的控制信號保持電路,保持馬達的轉(zhuǎn)動狀態(tài)。本文介紹用數(shù)據(jù)采集卡的數(shù)字信號通道控制AD9850信號發(fā)生器模塊,虛擬示波器外部增益電路和L298馬達控制模塊的編程及控制信號保持電路。
AD9850的控制數(shù)據(jù)共5 B(即40 bit)二進制數(shù),其中第0個字節(jié)的0和1位是工廠保留的內(nèi)部測試控制位,使用時置0,第2位是電源開關位,置0開機, 3~7位是輸出信號的相位;第1~4字節(jié)共32位是輸出信號的頻率,第4個字節(jié)是頻率的低8位數(shù)據(jù)。在并行數(shù)據(jù)裝載模式下,先向寄存器寫入第0個字節(jié),再依次寫入第1到第4個字節(jié),即輸出信號的相位在40位數(shù)據(jù)的最高位。并行數(shù)據(jù)裝載模式需要8根數(shù)據(jù)線,兩根控制信號線W_CLK和FQ_UD,在W_CLK信號的上升沿驅(qū)動下裝載1個控制數(shù)據(jù)字節(jié),裝載完5個控制數(shù)據(jù)字節(jié)后,在FQ_UD信號的上升沿驅(qū)動下輸出頻率和相位數(shù)據(jù)。將數(shù)據(jù)線d0和d1置1,d2置0,把數(shù)據(jù)裝載模式設為串行模式。在串行模式下,從d7數(shù)據(jù)線寫入控制數(shù)據(jù),首先寫入的是頻率數(shù)據(jù)的最低位,最后寫入的是相位數(shù)據(jù)的最高位。在W_CLK信號的上升沿驅(qū)動下,逐位移入數(shù)據(jù)寄存器中,最后由FQ_UD信號上升沿驅(qū)動輸出頻率和相位數(shù)據(jù)[3]。
例如,輸出頻率fout=10 kHz,輸入的時鐘頻率fCLKIN=125 MHz,則頻率調(diào)節(jié)字為:
wordt=232·fout/fCLKIN=343 597.383 68
其32位二進制00000000000001010011111000101101,加上2位工廠保留測試位,1位電源開關狀態(tài)控制位,以及5位相位,相位值取0,40位控制數(shù)據(jù)為0000000000000000000001010011111000101101。
某些數(shù)據(jù)采集卡只有8位數(shù)字信號通道,以并行模式向AD9850裝載控制數(shù)據(jù),缺兩個控制信號輸出線——W_CLK和FQ_UD。可以使用串行模式來實現(xiàn)AD9850控制數(shù)據(jù)裝載。數(shù)據(jù)采集卡的數(shù)字信號通道與AD9850信號發(fā)生器模塊接線示意見圖1。數(shù)字信號通道的D0與AD9850信號發(fā)生器模塊的d7連接,D1與FU_DU連接,D2與W_CLK連接,D3與RESET連接,D4與d0連接,D5與d1連接,D6與d2連接。數(shù)據(jù)采集卡的8位數(shù)字信號通道的輸出構(gòu)成一個串行控制數(shù)據(jù)字,設為數(shù)wordc,其中D4和D5置為高電平,D6置為低電平,設置AD9850數(shù)據(jù)裝載模式為串行模式。每送一位串行控制數(shù)據(jù)字wordc,向數(shù)據(jù)采集卡的數(shù)字信號通道寫3次。第一次,wordc=0011000X, “X”表示要寫入AD9850的一位串行控制數(shù)據(jù),其作用是在AD9850的d7數(shù)據(jù)線上建立數(shù)據(jù),同時FU_DU和W_CLK信號置0,準備開始讓AD9850裝載數(shù)據(jù);第二次,wordc=0011010X,其作用是在AD9850的d7數(shù)據(jù)線上保持數(shù)據(jù),同時W_CLK信號置1,讓d7上的數(shù)據(jù)移入寄存器;第三次,wordc=0011000X,其作用是在AD9850的d7數(shù)據(jù)線上保持數(shù)據(jù),同時W_CLK信號置0,完成一次d7上的數(shù)據(jù)移入寄存器。每次寫后停頓一定時間再寫,然后重復。送第39位數(shù)據(jù)時,前兩次寫與前面敘述的相同,而第三次的串行控制字改為,wordc=0011001X,其作用是在AD9850的d7數(shù)據(jù)線上保持數(shù)據(jù),同時W_CLK信號置0,完成一次d7上的數(shù)據(jù)移入寄存器,而且同時讓FU_DU信號置1,完成全部40位串行控制字的裝載,AD9850啟動輸出信號。
AD9850啟動后自行工作,只要不改變輸出信號的頻率和相位,就不再需要數(shù)據(jù)采集卡,數(shù)據(jù)采集卡可以轉(zhuǎn)而控制其他外設,或轉(zhuǎn)換為數(shù)據(jù)輸入模式。采用這種方法實現(xiàn)用LabVIEW語言編程,讓只有8路數(shù)字信號通道的MPS-010501數(shù)據(jù)采集卡控制AD9850信號發(fā)生器模塊。LabVIEW程序稍加改動,調(diào)用USBeeDx-Pro數(shù)據(jù)采集卡數(shù)字信號輸出的C程序,來控制AD9850信號發(fā)生器模塊,輸出信號驅(qū)動自混合干涉的外腔相位調(diào)制器,然后USBeeDx-Pro數(shù)據(jù)采集卡轉(zhuǎn)而采集自混合干涉信號[4]。
圖1 數(shù)字信號通道與AD9850信號發(fā)生器模塊接線示意圖
用USBeeDx-Pro虛擬示波器遇到的問題之一是采樣分辨率只有8位,正負10 V量程,電壓測量精度只有78 mV[5]。要提高測量精度需要外部增加放大電路。然而,USBeeDx-Pro模擬通道采樣時會把其數(shù)字信號通道設置為輸入模式,同時采集數(shù)字信號通道的輸入。因此,數(shù)字信號通道在輸出模式下輸出的數(shù)據(jù)會被重置,不能處于保持狀態(tài)。因而,不能用數(shù)字信號通道輸出數(shù)據(jù)直接控制外部的可編程放大器,需要在數(shù)字信號通道與可編程放大器之間接一個數(shù)據(jù)保持器,保證USBeeDx-Pro采樣時,可編程放大器的增益數(shù)據(jù)不被重置。
J-K觸發(fā)器在時鐘信號為低電平時,其J和K端電平變化不改變J-K觸發(fā)器輸出狀態(tài),利用此特性可實現(xiàn)數(shù)據(jù)保持。按照圖2所示的可編程放大器的電路圖,圖中D0~D4和D8~DC接到USBeeDx-Pro數(shù)字信號通道的相應數(shù)據(jù)線。USBeeDx-Pro數(shù)字信號通道輸出的數(shù)字與兩個通道增益的關系見表1。編程方式:首先初始化,向USBeeDx-Pro數(shù)字信號通道寫十六進制數(shù)0x0101,設置4個J-K觸發(fā)器的時鐘信號為高電平,再寫入0x1919,保持兩個J-K觸發(fā)器的時鐘信號為高電平,同時置4個觸發(fā)器的Q為低電平,再寫入0x1818,置4個觸發(fā)器的時鐘信號為低電平,保持4個觸發(fā)器的輸出狀態(tài),4個電子模擬開關斷開。在放大器輸出信號不超過電子模擬開關控制端的電壓時,SW1和 SW2閉合,此時虛擬示波器兩個通道的增益Kv1和Kv2為1。若要將虛擬示波器CH1通道的增益調(diào)到10倍,寫入0x0001,再寫入0x0013,再寫入0x0012,U1的Q1保持高電平,Q2保持低電平,U3C開關閉合,U3D開關斷開;若增益要調(diào)到100倍,寫入0x0001,再寫入0x0007,再寫入0x0006,U1的Q1和Q2均保持高電平,U3C和U3D均開關閉合;若要將增益調(diào)回1,寫入0x0001,再寫入0x0019,再寫入0x0018。若要將虛擬示波器CH2通道的增益調(diào)到10倍,寫入0x0100,再寫入0x1300,再寫入0x1200,U2的Q1保持高電平,Q2保持低電平,U3A開關閉合,U3B開關斷開;若要將增益調(diào)到100,寫入0x0100,再寫入0x0700,再寫入0x0600,U2的Q1和Q2均保持高電平,U3A和U3B均開關閉合;若要將增益調(diào)回1,寫入0x0100,再寫入0x1900,再寫入0x1800。D0和D8相當于CH1和CH2的地址線。
圖2 可編程放大器的電路圖
CD4066的閉合電阻大約125 Ω,虛擬示波器兩個通道的10倍和100倍增益實際測量大約為10.4和98倍,在程序上把增益設為實測值,比精確挑選或調(diào)整電阻要簡便,增益與預設值差別不大,也不影響虛擬示波器的使用。虛擬示波器通道增益選1倍時,雖然CD4066開關的兩端用歐姆表測量是斷開的,但是,當運放的輸出電壓超過CD4066控制端的電壓后,運放的輸出會陡然增加,輸出波形失真,最大值處向上突起,說明開關斷開狀態(tài)失效,此時選擇斷開SW1和SW2開關。CD4066的說明書聲稱工作電壓VDD~VSS可以達到20 V,實際情況是超過15 V時CD4066就會嚴重發(fā)熱。因而,電路中增加穩(wěn)壓二極管來降低CD4066的工作電壓。用電磁繼電器替代電子模擬開關就不會有上述問題。圖2中R3、R4和R5用于U4A調(diào)零,R9、R10和R11用于U4B調(diào)零。
表1 數(shù)字信號通道輸出的數(shù)字與兩個通道增益的關系
用USBeeDx-Pro控制馬達正轉(zhuǎn)牽動滑塊,經(jīng)過出發(fā)點前的出發(fā)光電門不停車,USBeeDx-Pro的兩個模擬通道還要采集滑塊運動的速度數(shù)據(jù)和其他信號的數(shù)據(jù),經(jīng)過抵達光電門后觸發(fā)停車;再控制馬達反轉(zhuǎn),牽動的滑塊通過抵達光電門時,馬達不停車繼續(xù)反轉(zhuǎn),拉動滑塊返回出發(fā)點,返回經(jīng)過出發(fā)光電門后觸發(fā)停車??刂齐娐啡鐖D3所示,圖中D0~D3接到USBeeDx-Pro數(shù)字信號通道的相應數(shù)據(jù)線。
圖3 馬達正反轉(zhuǎn)及停車的控制電路向USBeeDx-Pro的數(shù)字信號通道寫控制字,D3D2D1D0=0101,U5A和U5B兩個觸發(fā)器的D置1,U6A觸發(fā)器的D置0,再寫D3D2D1D0=1101,三個觸發(fā)器的CLK置1,CLK從0→1,上升沿觸發(fā),U5A和U5B兩個觸發(fā)器的Q置1,U6A觸發(fā)器的Q置0,則兩個與門U7A和U7B的輸出分別是0和1,則N1=1,N2=0,馬達正轉(zhuǎn),滑塊出發(fā)。然后程序讓USBeeDx-Pro的兩個模擬通道開始采集數(shù)據(jù),其數(shù)字信號通道處于輸入等待狀態(tài),D3D2D1D0=0000?;瑝K通過出發(fā)光電門U1時,光電門輸出從0→1,此時與門U3C的10腳是0,始發(fā)光電門U1從0→1,不能通過與門U3C,U6A觸發(fā)器的狀態(tài)不變,馬達繼續(xù)正轉(zhuǎn)。當滑塊通過光電門U2時,光電門輸出從0→1,此時與門U3B的5腳是1,抵達光電門U2從0→1,可以通過與門U3B和或門U4D,U5A的CLK從0→1,由于D3D2D1D0=0000,即U5A觸發(fā)器的D為0,則U5A觸發(fā)器的Q置0,而此時另外兩個觸發(fā)器,U5B的Q是1,U6A的Q是0,則兩個與門U7A和U7B 輸入為0,輸出也為0,即N1=0,N2=0,馬達停轉(zhuǎn)。
要滑塊返回,向USBeeDx-Pro的數(shù)字信號通道寫控制字,D3D2D1D0=0010,U5A和U5B兩個觸發(fā)器的D置0,U6A觸發(fā)器的D置1,再寫D3D2D1D0=1010,三個觸發(fā)器的CLK置1,CLK從0→1,上升沿觸發(fā),U5A和U5B兩個觸發(fā)器的Q置0,U6A觸發(fā)器的Q置1,則兩個與門U7A和U7B的輸出分別是1和0,即N1=0,N2=1,馬達反轉(zhuǎn),滑塊返回。然后程序讓USBeeDx-Pro的兩個模擬通道開始采集數(shù)據(jù),其數(shù)字信號通道處于輸入等待狀態(tài),D3D2D1D0=0000?;瑝K通過抵達光電門U2時,光電門輸出從0→1,此時與門U3B的5腳是0,抵達光電門U2從0→1,不能通過與門U3B,U5A觸發(fā)器的狀態(tài)不變,馬達繼續(xù)反轉(zhuǎn)。當滑塊通過始發(fā)光電門U1時,光電門輸出從0→1,此時與門U3C的10腳是1,始發(fā)光電門U1從0→1,可以通過與門U3C和或門U4C,U6A的CLK從0→1,由于D3D2D1D0=0000,即U6A觸發(fā)器的D為0,則U6A觸發(fā)器的Q置0,而此時另外兩個觸發(fā)器,U5A和U5B的狀態(tài)都是Q=0,則兩個與門U7A和U7B 輸入有0,輸出也為0,即N1=0,N2=0,馬達停轉(zhuǎn)。
數(shù)據(jù)采集卡上的數(shù)字信號通道可以方便地用來控制外設或電路,其各個數(shù)字位或數(shù)據(jù)線可以以不同的組合來控制多個外部電路,數(shù)據(jù)線既可以用來作為外部電路的數(shù)據(jù)線,也可以作為外部電路的地址線或控制線。J-K或D觸發(fā)器可以有效解決數(shù)字信號通道輸出信號的保持,讓數(shù)據(jù)采集卡可以轉(zhuǎn)而控制其他外部電路,或轉(zhuǎn)換為數(shù)據(jù)輸入模式。
[1] 寧紅英,李學平,盧秀,等.基于STC單片機的角度控制[J].微型機與應用,2017,36(7):32-34,38.
[2] 馮笑,李西安.基于LabVIEW的機車軸溫監(jiān)測系統(tǒng)設計[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數(shù)據(jù)采樣和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
胡險峰.用數(shù)據(jù)采集卡的數(shù)字通道控制外部電路J.微型機與應用,2017,36(24):22-24,31.
2017-05-23)
胡險峰(1962-),男,研究生,副教授,主要研究方向:物理實驗教學。