1引言
存儲測試的特點是集多參數(shù)微型傳感器及信號調(diào)整、信息采集,、信息存儲及傳輸接口電路為一體,,對被測物體的工作環(huán)境,、運動控制等多通道、大容量參數(shù)進行(實時,、動態(tài))數(shù)據(jù)采集、存儲,、事后回收,、數(shù)據(jù)再現(xiàn),、數(shù)據(jù)分析,。目前,,存儲測試技術(shù)已經(jīng)在許多重大武器型號的研制、生產(chǎn)中得到成功應(yīng)用,,并取得了一系列重要科研成果。解決了過去無法解決的重大測試難題,,顯示出了突出的優(yōu)越性。
2 硬件設(shè)計
2.1 系統(tǒng)框圖:
本系統(tǒng)中有1路速變模擬信號,、8路緩變模擬信號,、4路數(shù)字信號,。該采集系統(tǒng)能實現(xiàn)采集0~10V之間的模擬信號,其中單路速變模擬信號采樣率不低于40Khz,8路緩變模擬信號采樣率不低于12.5Khz,,兩者精度均在0.1%,同時還能夠存儲4路數(shù)字信號。信號記錄時間均不低于0.75s,,整體設(shè)計如圖1所示,。
|
圖1 采集系統(tǒng)整體框圖 |
2.2信號調(diào)理設(shè)計
在本系統(tǒng)中,,由于模擬輸入信號的電壓范圍是0~10V,所以此次設(shè)計使用LM324運算放大器組成的比例電路將輸入信號變換成0~2.5V電壓,。然后輸入模擬開關(guān)經(jīng)過跟隨器后,再輸入A/D轉(zhuǎn)換器,。4路數(shù)字信號使用一個5V的穩(wěn)壓管,將輸入數(shù)字信號中大于5V的高電平信號鉗制在5V,,起到了調(diào)壓的作用,。如果是低于5V,,那么電壓將不改變。
2.3輸入通道設(shè)計
存儲測試系統(tǒng)常常需要多通道同時采集,。此次設(shè)計中根據(jù)被測信號的特點選用ADG506模擬開關(guān)進行各通道的切換,,該模擬開關(guān)具有開關(guān)速度快、泄漏小等特點,,從而用最簡單的硬件電路完成多路信號的存儲測試。
2.4采集芯片選用:
此次設(shè)計采用AD公司的AD7492采集芯片,,AD7492為12位高速、低功耗,、逐次逼近式AD轉(zhuǎn)換器,。它可在2.7V-5.25V的供電電壓下工作,,采樣頻率最高為1.25MSPS,從而為正確采集回速變,、緩變信號提供保障。
2.5存儲電路設(shè)計
此系統(tǒng)中,,我們共有1路速變模擬信號,8路緩變模擬信號,,4路數(shù)字信號,。首先,,對于單路速變信號而言,,其最低采樣頻率為40kHz,系統(tǒng)要求的最低記錄時間為0.75S此次設(shè)計中,,用了一個模擬開關(guān)和一個AD7492循環(huán)進行數(shù)據(jù)采集,,將1路速變信號和8路緩變信號交叉安排在ADG506上,這樣在每次速變信號采集后,,緊接著采集8路緩變信號,經(jīng)過循環(huán)交叉采集后,,便使得速變信號采樣率是緩變信號采樣率的8倍,,所以速變信號采樣率為8×12.5kHz≥40kHz。其次,,對于8路緩變信號,,其單路采樣率為12.5kHz, 記錄時間為0.75s,共8路。最后,,存儲4路數(shù)字信號。由于我們采用12路的AD采集,,所以4路數(shù)字信號與AD產(chǎn)生的高4位信號合起來組成8位一起存入512K的SRAM 628512,。因此不再單獨占用空間,。由以上分析我們可以得到存儲容量為:M≥12.5kHz×8路×2×0.75+12.5kHz×8次×2×0.75=300kbyte。為了方便讀數(shù)和數(shù)據(jù)分析,,在每組數(shù)據(jù)前加上通道標志位,,以區(qū)分是哪一路信號,。為了確保存儲空間,此次設(shè)計我們一共選用兩塊容量為512K的SRAM進行數(shù)據(jù)存儲,。AD轉(zhuǎn)換和CPLD處理后的采集信號通過74LVC4245電平轉(zhuǎn)換后送入SRAM進行存儲。
3 CPLD實現(xiàn)計算機異步串行通訊設(shè)計
3.1異步串行通信的幀格式
在異步串行通信中,,數(shù)據(jù)位是以字符為傳送單位,數(shù)據(jù)位的前,、后要有起始位,、停止位,,另外可以在停止位的前面加上一個比特位(bit)的校驗位。其幀格式仍然采用1位開始位+8位數(shù)據(jù)位+1位停止位.如圖2所示,。此次設(shè)計中沒有奇偶效驗位。停止位,,為邏輯1,,總在每一幀的末尾,。此次設(shè)計中停止位為1位。
|
圖2 串行異步通訊的幀格式 |
3.2異步串行通信的波特率
串行口每秒發(fā)送或接收數(shù)據(jù)的位數(shù)為波特率,。若發(fā)送或接收一位數(shù)據(jù)需要時間為t,則波特率為1/ t,相應(yīng)的發(fā)送或接收時鐘為1/t Hz,。發(fā)送和接收設(shè)備的波特率應(yīng)該設(shè)置成一致,,如果兩者的波特率不一致,,將會出現(xiàn)校驗錯或者幀錯。要產(chǎn)生9600b/s波特率,,要有一個不低于9600 Hz的時鐘才可以,。為產(chǎn)生高精度的時鐘,,我們專門選取48M的晶振,通過5000分頻,,最終頻率為48M/5000=9600BIT/S
3.3發(fā)送程序設(shè)計
根據(jù)采用的幀格式,需要發(fā)送的數(shù)據(jù)為10位(1位開始位,、8位數(shù)據(jù)位,、1位停止位),在發(fā)送完這10位后,,就應(yīng)該停止發(fā)送,并使發(fā)送端電平處于邏輯1,,然后等候下次的發(fā)送,。發(fā)送電路一共有3個并行進程如圖3所示,,進程1產(chǎn)生9600bps波特率,使系統(tǒng)能夠以9600的波特率發(fā)送幀,。進程2中,,當允許寫信號WR下降延時,,發(fā)送完成標志位tdEmpty變?yōu)榈碗娖剑_始接受并行數(shù)據(jù),,并將數(shù)據(jù)放入鎖存器鎖存。當寫允許WR標上升延時,發(fā)送完成標志位變?yōu)楦?。進程3,,將放入鎖存器中的并行數(shù)據(jù)并串轉(zhuǎn)換,并依照幀格式,,將10位數(shù)據(jù),在TXD引腳上以9600波特率,,串行輸出經(jīng)過串口芯片MAX232電平轉(zhuǎn)換后實現(xiàn)與計算機正常通訊,。
|
圖3 發(fā)送模塊時序圖 |
3.4接收程序設(shè)計
接收電路比發(fā)送電路要復雜,,接收電路要實時檢測起始位的到來,,一旦檢測到起始位到,就要將這一幀數(shù)據(jù)接收下來,。接受電路一共設(shè)計有三個并行進程如圖4所示,,其中進程1 負責產(chǎn)生9600bps波特率,使系統(tǒng)能夠在9600的波特率與外界系統(tǒng)通訊,。進程2 產(chǎn)生接收信號RXD的完成標志位,,每次在接收到幀的起始位時,標志位RXDF變高,,在完成接受數(shù)據(jù)后,,標志位RXDF變低。進程3負責將RXD信號輸入的10位串行數(shù)據(jù),,依照10位的幀格式,,先去掉串口的接收起始位和接收結(jié)束位,取其中的8位有效數(shù)據(jù),,并將8位有效數(shù)據(jù)進行串并轉(zhuǎn)換,,變成并行數(shù)據(jù)后,由8位數(shù)據(jù)總線DATA0~DATA7并行輸出,。
|
圖4 接收模塊時序圖 |
4采集存儲控制程序設(shè)計
4.1采樣主控程序設(shè)計:
此次系統(tǒng)我們使用48M晶振,,每路信號采樣率不低于12.5khz,一共相當于16路模擬量,所以控制點為48M ÷ (16 12.5khz)=240點,,所以主控計數(shù)器中有240個計數(shù)點可以用于控制,。在0~240個點中實現(xiàn)了通道選通、啟動AD,、幀計數(shù),、兩次SRAM地址遞推等工作。每次循環(huán)結(jié)束后,系統(tǒng)主控計數(shù)器清零,,反復循環(huán)采集,。具體細節(jié)如圖5所示。
|
圖5 控制程序的主控計數(shù)器及在其各個計數(shù)點時FPGA邏輯控制設(shè)計 |
4.2 各個模塊的設(shè)計
在本設(shè)計中采用Altera公司EPM7064系列CPLD,,程序使用VHDL語言編寫,,并在Quartus II環(huán)境下編譯通過,程序主要有“采集模塊”和“讀數(shù)模塊”,。采集模塊:在采集模塊中,,共有5個并行進程,其中在進程1中,,首先在主控計數(shù)器COUNT=10時開始結(jié)合內(nèi)部時鐘COL信號來產(chǎn)生多路開關(guān)選通信號CNT,,當COL=0時: CNT<=0000.COL=1時:CNT<=0001.以次類推一直到COL=15時選通15路后,進程1停止,。在進程2中,,當主控計數(shù)器COUNT在130和150區(qū)間內(nèi)時,且內(nèi)部計數(shù)器信號COL在0~15范圍內(nèi),則開始打開AD,,開始采集,。在進程3中如果主控計數(shù)器COUNT=185~255時打開RAM的寫入狀態(tài)。在進程4中當主控制計數(shù)器count=200和220時,,結(jié)合內(nèi)部時鐘信號COL,,分別選擇存入高4位、低8位或者幀計數(shù),。進程5:count=235遞推幀標志位和ADG506(模擬開關(guān))選通標志位,,具體見圖6所示。
|
圖6 采集模塊時序圖 |
讀數(shù)模塊:讀數(shù)模塊共分為3個并行進程:在進程1中,,當時鐘上升延時,且如果使能EN_R為高時,,且電腦控制讀數(shù)口CPUCLK=1時開始讀數(shù)。在進程2中,,讀完一次數(shù)據(jù)后,,將RAM地址遞推一次。進程3中,,如果系統(tǒng)為讀數(shù)模塊有效時,,數(shù)據(jù)將通過CPLD發(fā)送到MAX232通過異步串行的方法將數(shù)據(jù)上傳,具體見圖7所示,。
|
圖7 讀數(shù)模塊時序圖 |
5 結(jié)束語
本文對多路數(shù)據(jù)采集系統(tǒng)的組成原理,、單元電路設(shè)計、接口電路設(shè)計和系統(tǒng)控制程序設(shè)計進行了詳細的闡述,,完成了多路信號數(shù)據(jù)采集系統(tǒng)軟硬件設(shè)計,。使系統(tǒng)工作安全可靠,,數(shù)據(jù)采集精度較高,,抗干擾能力較強,。具有良好的應(yīng)用前景和很高的使用價值。