在需要采集多路模擬信號、開(kāi)關(guān)信號、頻率(計數)信號以及編碼器信號等的數據采集應用中,利用通用板卡構成計算機測控系統是可行的,但對于產(chǎn)品的批量應用,其成本與綜合性能不能令人滿(mǎn)意。技術(shù)成熟的CPLD芯片的應用,可以很好地將邏輯控制、數據信號處理等功能集于一身,使以往需要利用多塊信號板卡才能完成的任務(wù)整合于同一采集控制器中,從而有效地提高控制系統的可靠性,降低測控系統的實(shí)現成本。 本文設計一種基于CPLD的數據采集控制板。它能實(shí)現信號采集與控制、信號處理、通訊及輸出控制等功能。 1 總體設計方案 本專(zhuān)用數據采集控制板利用CPLD作為主控制器,統一協(xié)調通道切換與數字信號處理、實(shí)現數據采集與接口傳輸邏輯控制。該數據采集控制板共有四種類(lèi)型的信號輸入和一種開(kāi)關(guān)信號量輸出。圖1給出其基本硬件模塊組成。 利用CPLD的資源和結構特點(diǎn)是本設計的核心。為提高編碼器輸入信號的分辨細長(cháng),配套設計一個(gè)四倍頻電路,并在通道后端設計一個(gè)脈沖靜態(tài)計數電路,使輸入信號轉換為8bit信號掛接到采集板總線(xiàn)上。八路模擬輸入信號主要依靠CPLD實(shí)現通道切換和A/D采集,采樣數據也以8bit信號并行進(jìn)入總線(xiàn)?紤]到提高計數精度的要求,對兩路頻率輸入信號設計了一個(gè)動(dòng)態(tài)計數電路,使計數值通過(guò)總線(xiàn)讀出。I/O切換控制、EPP接口電路等都按一定的邏輯要求采用同一CPLD元件來(lái)實(shí)現。如此可使硬件電路十分簡(jiǎn)單,并有利于上位機編程實(shí)現。 2 數據接口 根據IEEE1284標準,在標準并行口(SPP)、增強并行口(EPP)和擴展并行口(ECP)三種模式中,EPP模式既具有雙向數據傳輸功能,又具有較高的數據傳輸能力,且編程操作相對容易,最適合在數據采集系統中使用。 從硬件設計角度考慮,EPP接口的主要功能之一是將采集到的數據上傳給微型計算機或將開(kāi)關(guān)控制命令下載到采集控制板(數據流對應8bit數據端口);之二是實(shí)現硬件接口之間的信號通訊握手(控制狀態(tài)對應其它I/O端口)。EPP協(xié)議定義了四種數據傳輸基本操作:數據讀、數據寫(xiě)、地址讀、地址寫(xiě)。工作時(shí)首先寫(xiě)入I/O鎖存地址即模塊操作的I/O地址,然后進(jìn)行相應的讀出或寫(xiě)入操作。如果不需I/O地址變化,那么就不再進(jìn)行I/O地址鎖存操作。EPP模式下一共定義17根信號線(xiàn),除8根雙向地址線(xiàn)和數據復用線(xiàn)外,還有輸出控制信號線(xiàn)WRITE、DSTROBE、ASTROBE、INIT,其中WRITE、DSTROBE和ASTROBE用于表示數據讀寫(xiě)操作。WRITE為低時(shí)表示正在進(jìn)行操作,DSTROBE為低表示進(jìn)行數據操作,而ASTROBE為低則表示進(jìn)行地址操作。EPP的INIT信號用來(lái)復位打印機,本設計用來(lái)預置光電編碼器的初始計數值。另外還有五根狀態(tài)信號線(xiàn)。WAIT信號由外設發(fā)出,高電平表示正在進(jìn)行讀寫(xiě)操作,低電平表示操作完成。但本設計沒(méi)有利用該信號,因為前面三個(gè)讀寫(xiě)信號已完全能滿(mǎn)足要求。MAX197數據轉換結束信號EOC連接到并口的SELECT線(xiàn)上,主機查詢(xún)到SELECT線(xiàn)為低時(shí),表示一次A/D轉換結束,可以讀取轉換結果。其余三根狀態(tài)線(xiàn)空置作為備用。 根據IEEE1284標準對EPP模式的地址、數據讀寫(xiě)操作的規定,可采用圖2的邏輯結構分別實(shí)現地址寫(xiě)、數據寫(xiě)和數據讀。在圖2中,輸入信號中的STB表示寫(xiě)信號,ASTB表示地址寫(xiě)信號,DSTB表示數據寫(xiě)信號;輸出信號中Add_WR表示地址寫(xiě)信號、高電平有效,Add_WRN表示地址寫(xiě)信號、低電平有效,Data_WR表示數據寫(xiě)信號、高電平有效、Data_WRN表示數據寫(xiě)信號、低電平有效;Data_RD表示數據讀信號。如此設計的目的是使該接口能方便地適應各種邏輯器件的操作要求。圖3給出了采用MAXPLUS軟件對上述邏輯信號進(jìn)行仿真的操作時(shí)序波形。 EPP模式可在上位機BIOS中設置或通過(guò)寫(xiě)ECR寄存器直接設置(并行適配器基地址為0X378H,I/O端口地址為77AH)。 3 編碼器信號處理 對于編碼器輸入信號,針對增量式光電編碼器的輸出具有A相、B相方波正交信號,而且二者相序取決于編碼器的正反轉方向,設計了一種四倍頻及判向電路。 CLK信號來(lái)自獨立振蕩源,其頻率高于編碼器最大輸出頻率四倍以上,但也不宜過(guò)高,以免導致CPLD內部結構中信號競爭等問(wèn)題。INA和INB分別為編碼器輸入的A相信號和B相信號,CNT_UP和CNT_DN分別為輸出的正轉倍頻信號和反轉倍頻信號。為保證編碼器處于任何轉角位置都能可靠地讀出數據,編碼器倍頻信號最終以16bit靜態(tài)計數碼方式輸出,CNT_UP和CNT_DN分別作為后續靜態(tài)計數電路的“加”和“減”計數輸入信號端。在限定轉動(dòng)角度≤6×360°情況下,對于16bit計數碼,計數電路允許的最大計數值為65536,計數值可以按高低八位分兩次讀出。為提高編碼器工作可靠性,也可以考慮進(jìn)行格雷碼轉換。 4 頻率測量 對于頻率輸入信號,采用等精度測頻方法測量頻率。這種方法在實(shí)際閘門(mén)時(shí)間為被測信號頻率整數倍的條件下,對被測信號計數時(shí)產(chǎn)生的±1個(gè)字誤差可以完全消除掉,并可使整個(gè)頻率區域保持恒定的測試精度。 圖6給出了等精度測量原理圖,其測量原理為:首先給出閘門(mén)開(kāi)啟信號(預置門(mén)控信號SWITCH的上升沿),此時(shí)計數器CNT1和CNT2并不開(kāi)始計數,而是等到被測信號SIGIN的上升沿到來(lái)時(shí),計數器才開(kāi)始真正計數。經(jīng)過(guò)一段時(shí)間后,預置閘門(mén)關(guān)閉信號(門(mén)控信號SWITCH的下降沿)到來(lái)時(shí),計數器并不立即停止計數,而是等到被測信號SIGIN的上升沿到來(lái)時(shí)才結束計數,完成一次測量過(guò)程。此時(shí)可分別讀出計數器CNT1和CNT2的計數值OUT1和OUT2,用被測信號SIGIN的計數值OUT2除以標準信號CLK的計數值OUT1,再乘以標準信號CLK的頻率值就得到了被測信號SIGIN的頻率值。 使用時(shí)為提高測量精度,基準信號CLK可以采用高精度的時(shí)鐘源,因對時(shí)鐘源和被測信號同步計數,計數時(shí)間長(cháng)度不會(huì )影響計算結果。圖7給出了等精度測頻法信號仿真波形圖。 5 A/D轉換器與I/O切換控制 對于模擬輸入信號,采用12bit的MAX197作為A/D信號轉換器。該控制字器件工作的基本過(guò)程是:首先由地址總線(xiàn)選通MAX197,然后通過(guò)數據總向MAX197內部寄存器寫(xiě)入模擬通道控制字。該控制字決定了所選的通道號、通道輸入電壓范圍、極性以及內部或外部觸發(fā)采集方式等。例如,輸入電壓范圍為雙極性、內部觸發(fā)采集方式、第一通道,則應寫(xiě)入16進(jìn)制數48H,而對第八通道則寫(xiě)入4FH?刂谱謱(xiě)入后,MAX197立即啟動(dòng)通道轉換,經(jīng)過(guò)約10μs后轉換完畢。轉換結果放置在數據總線(xiàn)上,首先將其高低位切換腳HBEN置為低,此時(shí)數據總線(xiàn)先讀取結果的低八位,再置HBEN為高,則結果的高四位放在MAX197的D0~D3口上。同時(shí)置腳INT為低,通知控制器轉換完成。MAX197的轉換結果用補碼表示,最高位為符號位。 本系統中還具有八路開(kāi)關(guān)量輸入輸出功能切換控制。這兩種功能分別則CPLD內部的74244和74373實(shí)現。接口邏輯和如圖8所示。外部接口通過(guò)光耦隔離輸入輸出。開(kāi)關(guān)量寫(xiě)入的順序是先由地址總線(xiàn)選通74373,然后寫(xiě)入相應的命令字。數據量讀入與此類(lèi)似。具體控制信號由EPP總線(xiàn)讀寫(xiě)邏輯給出。 6 驅動(dòng)軟件實(shí)現 考慮到NT公司LabView環(huán)境圖形化編程簡(jiǎn)例、易于實(shí)現等特點(diǎn),通過(guò)設計動(dòng)態(tài)鏈接函數庫(DLL)與直接端口操作相結合實(shí)現采集板硬件驅動(dòng)。在程序編制過(guò)程中,先利用VC++生成DLL,然后在LabView中使用CLF節點(diǎn)調用DLL。對于直接端口操作,使用LabView中的“In Port”和“Out Port”節點(diǎn),對端口實(shí)現操作。當然,為使用方便起見(jiàn),也可以將I/O切換控制、編碼器、A/D數據采集、計數器等硬件特有功能設計成專(zhuān)用模塊供LabView直接圖形化調用。 采集控制板的上述硬件模塊方案設計,可以利用適當規模的CPLD實(shí)現。此舉除了成本優(yōu)勢外,還有體積減少、硬件集成度提高等優(yōu)點(diǎn),也為提高采集器可靠性創(chuàng )造了條件。CPLD的各種邏輯功能設計,由于有功能強大的仿真軟件工具,設計過(guò)程的快速高效也不言而喻。上述設計已經(jīng)在其實(shí)用測控設備中投入應用,在無(wú)板載FIFO情況下,A/D速度可以達到40kHz以上;有板載FIFO情況下,A/D速度可以達到A/D采集元件標稱(chēng)上限。EPP端口完全能滿(mǎn)足板載功能模塊的各類(lèi)數據傳輸要求。通過(guò)現場(chǎng)反饋的情況來(lái)看,采集控制器本身的工業(yè)環(huán)境抗干擾性能和運行穩定性均表現良好。 |