基于FLEX10K50與CPCI總線的脈沖信號檢測系統(tǒng)設(shè)計
2.2脈沖信號接口
被測脈沖信號為功率驅(qū)動信號,用于驅(qū)動功率負(fù)載,驅(qū)動電流通常為幾mA至幾百mA,采用集電極開路門(OC)形式輸出,通常為+12~+30 V信號。為了兼容多種信號電平,并能隔離功率型信號與普通基帶電平信號,實現(xiàn)較好的電磁兼容性,本系統(tǒng)采用光電耦合器作為信號隔離與電平轉(zhuǎn)換的接口器件。
TLP121是東芝公司生產(chǎn)的光電耦合器,隔離阻抗為MΩ級,其前向驅(qū)動電流(IF)最大為20 mA,后端開關(guān)開啟和閉合時間均為μs級,可以滿足本系統(tǒng)對測量誤差不大于1 ms的要求。輸入接口電阻設(shè)為可調(diào)電阻,可適應(yīng)不同輸入電壓。
脈沖信號接口電路如圖3所示。脈沖信號正線和回線連接至光耦的前端(圖3中TLP121的1、3引腳),后端(圖3中TLP121的4、6引腳)采用板內(nèi)5V電源上拉,通過施密特電路74HC14整形后發(fā)送至接口處理FPGA.當(dāng)脈沖信號有效時,光耦前端有電流流過,接口電路輸出高電平“1”;脈沖信號無效時,接口電路輸出低電平“0”。
2.3接口處理
FPGA由于需要對80路脈沖信號進行檢測,采用單片機無法滿足并行處理的需求,因此選用FPGA完成脈沖采樣功能。接口處理FPGA采用Altera公司的FLEX10K50,工作主頻為6 MHz,存儲芯片采用EPC1PC8.其主要功能有三部分:分頻定時器、采樣數(shù)據(jù)緩存、外圍控制邏輯。FPGA對主時鐘進行分頻,形成周期為1 ms的時鐘信號。FPGA每ms對80路脈沖信號完成并行采集一次,將數(shù)據(jù)存放在寄存器中,同時向單片機發(fā)出中斷信號,通知單片機發(fā)起數(shù)據(jù)搬移,以及單片機內(nèi)部的時間計數(shù)器自增。采樣數(shù)據(jù)緩存模塊用于將80路脈沖信號同時鎖存至內(nèi)部寄存器,單片機每ms全部讀取一次。外圍控制邏輯用于單片機外圍各控制信號的譯碼,包括控制寄存器、各芯片控制信號譯碼,以及其他輔助功能的實現(xiàn)。
2.4單片機系統(tǒng)
單片機系統(tǒng)采用Atmel公司的AT89C51,配合32KB外部SRAM 62256以及4 KB雙口數(shù)據(jù)RAMIDT71342.其中,CPCI總線訪問雙口數(shù)據(jù)RAM的L端口,8051訪問R端口。
單片機工作主頻設(shè)計為20 MHz.單片機P0口和P2口作為通用的數(shù)據(jù)線和地址線使用,配合地址鎖存器74HC373工作;P1口不使用;P3口中僅使用了P3.2用于接收外部中斷,即來自接口處理FPGA的中斷。FPGA內(nèi)部定時器每ms產(chǎn)生一個中斷脈沖,用于單片機軟件計時器的激勵時鐘,同時通知單片機讀取脈沖信號接口采樣數(shù)據(jù)。
單片機的外部地址空間劃分如表1所列。
評論