一種基于CPCI的脈沖信號檢測系統(tǒng)設計
在工業(yè)控制領域,通常有大量的脈沖信號用于控制其他設備或部件的開關或者工作狀態(tài)切換。這些脈沖信號除了常規(guī)計算機系統(tǒng)采用的+5 V接口電平外,還有+12 V、+30 V,乃至更高幅度的接口電平,通常為功率型電流驅動信號。本文提出了一種兩級測試系統(tǒng)的設計思路,給出了在較寬的范圍內兼容不同接口電平的脈沖信號檢測系統(tǒng)的設計方案,采用標準CPCI總線接口設計,具有良好的兼容性和擴展性,適用于產品功能測試或系統(tǒng)集成測試。
本文引用地址:http://www.ex-cimer.com/article/235350.htm1測試系統(tǒng)架構
如圖1所示,測試系統(tǒng)采用二級(主控機、下位機)結構設計,由主控計算機(即主控機)、測試客戶機(即下位機)、局域網、電纜及運行于各設備中的測試軟件共同構成。主控計算機屬主控機一級,控制測試客戶機,測試任務由主控計算機控制完成。測試客戶機控制其對應的測試設備可獨立完成設備級的功能測試。整個測試系統(tǒng)通過對被測設備施加激勵信號并檢測其響應輸出的方式,實現(xiàn)對被測沒備的閉環(huán)測試。
脈沖信號檢測板是工作于測試客戶機中的測試板卡,其主要功能是接收80路外部脈沖信號,測量并記錄每路脈沖信號的脈沖寬度及收到脈沖的時間。
2脈沖信號檢測板實現(xiàn)方案
2.1總體設計
脈沖信號特性為:脈沖持續(xù)時間為80~500 ms,偏差為±10 ms;驅動電流不小于200 mA.在產品功能測試及系統(tǒng)集成測試階段,主要考核脈沖信號功能的正確性,故脈沖信號檢測板用于檢測脈沖信號的發(fā)生時間及脈沖持續(xù)寬度,要求測量誤差不大于±1ms.如圖2所示,脈沖信號檢測板的核心部分包括光耦接口電路、接口處理FPGA、單片機系統(tǒng)和PCI接口電路。板卡采用標準的6U尺寸CPCI板卡設計,兼容標準6U尺寸的CPCI工控機。
檢測板內部主要數據流向及處理流程為:80路脈沖信號通過光電耦合器(光耦)進行隔離變換,轉換成檢測板內部5 V電平信號;接口處理FPGA對信號進行采樣,并將80路脈沖采樣數據組幀緩存;單片機讀取FPGA中的采樣數據,并判斷是否檢測到有效脈沖信號,將檢測到的脈沖信號打上當前時間標簽后發(fā)送給雙口RAM;工控機軟件通過CPCI總線定期訪問雙口RAM,讀取數據。
2.2脈沖信號接口
被測脈沖信號為功率驅動信號,用于驅動功率負載,驅動電流通常為幾mA至幾百mA,采用集電極開路門(OC)形式輸出,通常為+12~+30 V信號。為了兼容多種信號電平,并能隔離功率型信號與普通基帶電平信號,實現(xiàn)較好的電磁兼容性,本系統(tǒng)采用光電耦合器作為信號隔離與電平轉換的接口器件。
TLP121是東芝公司生產的光電耦合器,隔離阻抗為MΩ級,其前向驅動電流(IF)最大為20 mA,后端開關開啟和閉合時間均為μs級,可以滿足本系統(tǒng)對測量誤差不大于1 ms的要求。輸入接口電阻設為可調電阻,可適應不同輸入電壓。
脈沖信號接口電路如圖3所示。脈沖信號正線和回線連接至光耦的前端(圖3中TLP121的1、3引腳),后端(圖3中TLP121的4、6引腳)采用板內5V電源上拉,通過施密特電路74HC14整形后發(fā)送至接口處理FPGA.當脈沖信號有效時,光耦前端有電流流過,接口電路輸出高電平“1”;脈沖信號無效時,接口電路輸出低電平“0”。
2.3接口處理
FPGA由于需要對80路脈沖信號進行檢測,采用單片機無法滿足并行處理的需求,因此選用FPGA完成脈沖采樣功能。接口處理FPGA采用Altera公司的FLEX10K50,工作主頻為6 MHz,存儲芯片采用EPC1PC8.其主要功能有三部分:分頻定時器、采樣數據緩存、外圍控制邏輯。FPGA對主時鐘進行分頻,形成周期為1 ms的時鐘信號。FPGA每ms對80路脈沖信號完成并行采集一次,將數據存放在寄存器中,同時向單片機發(fā)出中斷信號,通知單片機發(fā)起數據搬移,以及單片機內部的時間計數器自增。采樣數據緩存模塊用于將80路脈沖信號同時鎖存至內部寄存器,單片機每ms全部讀取一次。外圍控制邏輯用于單片機外圍各控制信號的譯碼,包括控制寄存器、各芯片控制信號譯碼,以及其他輔助功能的實現(xiàn)。
2.4單片機系統(tǒng)
單片機系統(tǒng)采用Atmel公司的AT89C51,配合32KB外部SRAM 62256以及4 KB雙口數據RAMIDT71342.其中,CPCI總線訪問雙口數據RAM的L端口,8051訪問R端口。
單片機工作主頻設計為20 MHz.單片機P0口和P2口作為通用的數據線和地址線使用,配合地址鎖存器74HC373工作;P1口不使用;P3口中僅使用了P3.2用于接收外部中斷,即來自接口處理FPGA的中斷。FPGA內部定時器每ms產生一個中斷脈沖,用于單片機軟件計時器的激勵時鐘,同時通知單片機讀取脈沖信號接口采樣數據。
單片機的外部地址空間劃分如表1所列。
單片機產生的脈沖信號數據幀格式如圖4所示。每個數據幀包含14個字節(jié)數據,時間碼為4個字節(jié),加電后從0開始計時,單位為ms;采樣脈沖數據共10個字節(jié),對應80路脈沖信號。2.5 PCI總線接口板卡采用CPCI接口方式,接口芯片采用PLX公司的PLX9052,與配置EEPROM芯片93CS46配合使用。板卡在PCI總線中工作在從模式下。接口芯片對部數據總線選擇低8位數據線與雙口RAM連接,測試客戶機定期查詢每塊測試板卡中雙口RAM的工作模式,不使用本地中斷信號。
3軟件設計
脈沖信號檢測板單片機軟件主要完成脈沖采樣數據的處理,剔除FPGA產生的采樣數據中的無效數據,將檢測到的脈沖有效數據打上時間標簽后存儲到雙口數據RAM中。雙口RAM中循環(huán)存儲256組脈沖信號數據,測試客戶機定期訪問雙口RAM,讀取檢測數據。單片機軟件流程如圖5所示。
圖5中寄存器0x8FFD為配置寄存器,由測試客戶機軟件寫入,用于初始化雙口RAM中的數據。
結語
本文提出的兩級測試系統(tǒng)的沒計思路和基于單片機與CPCI總線的脈沖信號檢測系統(tǒng)沒計方案,可以適應較寬電壓幅度范圍的接口電平信號。系統(tǒng)采用標準的CPCI總線接口,具有良好的兼容性和擴展性,能較好地滿足對脈沖信號的功能測試。如需要提高測量精度,可縮短FPGA采樣間隔來實現(xiàn)。目前,該方案已經大量應用于產品測試和系統(tǒng)集成測試中。
評論