基于FPGA的時(shí)統(tǒng)模塊可靠性設(shè)計(jì)
摘要:文章從FPGA邏輯編程設(shè)計(jì)技術(shù)、EMC技術(shù)、高速電路PCB設(shè)計(jì)技術(shù)等幾個(gè)方面介紹了時(shí)統(tǒng)接收處理模塊的抗干擾設(shè)計(jì)及其實(shí)現(xiàn)方法,實(shí)現(xiàn)了同步脈沖的提取、對時(shí)功能、自守時(shí)、脈寬調(diào)制等功能,提高了同步精度和抗干擾性。解決了傳統(tǒng)時(shí)統(tǒng)模塊定時(shí)精度不高、設(shè)置固定只能滿足單一需求等問題。
關(guān)鍵詞:同步精度;可編程門陣列;時(shí)統(tǒng);緊湊型PCI
0 引言
高可靠性永遠(yuǎn)是計(jì)算機(jī)系統(tǒng)中必不可少的重要需求,尤其是對于整個(gè)系統(tǒng)中用來產(chǎn)生統(tǒng)一時(shí)間信號的專用設(shè)備來說,其可靠性和精準(zhǔn)性非常重要。時(shí)統(tǒng)模塊的功能就是保證整個(gè)系統(tǒng)處在統(tǒng)一時(shí)間的基準(zhǔn)上,它接收時(shí)統(tǒng)站發(fā)來的時(shí)間信號,完成與時(shí)統(tǒng)站送來時(shí)間信號的同步,同時(shí)回送一路供時(shí)統(tǒng)站延時(shí)檢查和解調(diào)檢查用,并向測控設(shè)備發(fā)送所需要的各種頻率信號、時(shí)間信息和各種采樣脈沖信號,來確保測控設(shè)備的定時(shí)與靶場的時(shí)間基準(zhǔn)保持一致。
時(shí)統(tǒng)信號對信號噪聲非常敏感,因此時(shí)統(tǒng)模塊設(shè)計(jì)最關(guān)鍵的技術(shù)就是抗干擾技術(shù)。本系統(tǒng)采用大規(guī)??删幊踢壿嬈骷?shí)現(xiàn)修時(shí)、分頻、產(chǎn)生時(shí)間信號和各種同步信號,以使時(shí)統(tǒng)接口模塊集成度更高、可維護(hù)性增強(qiáng);還充分考慮了EMC設(shè)計(jì)、時(shí)統(tǒng)信號的遠(yuǎn)距離傳輸;并且進(jìn)行了
PCB仿真設(shè)計(jì)。
1 FPGA實(shí)現(xiàn)數(shù)字濾波抗干擾
大規(guī)??删幊踢壿嬈骷?FPGA)的出現(xiàn),為解決計(jì)算機(jī)系統(tǒng)抗干擾問題開辟了新的途徑,運(yùn)用FPGA實(shí)現(xiàn)數(shù)字信號的濾波是一種高效可靠的方法,解決了傳統(tǒng)的應(yīng)用系統(tǒng)中,濾波部分要占用較多的軟件資源和硬件資源的問題。而且FGPA具有編程方便、集成度高、速度快等特性,可反復(fù)編程、擦除、運(yùn)用,在不改動硬件設(shè)計(jì)的情況下,可實(shí)現(xiàn)不同的功能需求。該時(shí)統(tǒng)模塊在FPGA內(nèi)部實(shí)現(xiàn)了同步脈沖的提取、對時(shí)功能、自守時(shí)、脈寬調(diào)制等功能。
1.1 脈沖的提取
脈沖的提取主要包括脈沖識別、中斷源判斷等。為保證時(shí)統(tǒng)信號的精確識別,防止丟幀、誤判,須要對信號整形,適當(dāng)展寬。在FPGA中運(yùn)用反相器對信號整形,運(yùn)用信號上升沿觸發(fā)D觸發(fā)器輸出高電平去提起中斷,在CPU主板響應(yīng)中斷后,通過控制D觸發(fā)器清零端將輸出的高電平拉低。以此防止非正常情況的出現(xiàn)。通用時(shí)統(tǒng)接收處理模塊設(shè)計(jì)了多路時(shí)統(tǒng)接收電路,可同時(shí)采集多路外部授時(shí)信號,在同時(shí)工作的情況下,系統(tǒng)可得到多種不同的時(shí)間信息。因此,設(shè)計(jì)時(shí)需要能精確地識別這幾路不同的中斷源。CPCI系統(tǒng)只能分配給每個(gè)CPCI設(shè)備一個(gè)中斷號,使得各路中斷源都要通過這一個(gè)中斷號向CPU主板提起中斷。設(shè)計(jì)流程中可以運(yùn)用FPGA內(nèi)部寄存器來識別各路中斷源。如圖1所示。4路信號用寄存器74373的低啦識別,在系統(tǒng)響應(yīng)中斷后,隨即讀取寄存器,根據(jù)寄存器位的值,判斷是由哪路信號源提起的中斷。屏蔽信號用于系統(tǒng)關(guān)斷任一路中斷信號源,根據(jù)需要,可用軟件屏蔽一路或多路信號源,未被屏蔽的信號進(jìn)入中斷產(chǎn)生器,輸出中斷信號,發(fā)起中斷申請。 CPU主板收到時(shí)統(tǒng)模塊的中斷請求后,做出響應(yīng),系統(tǒng)軟件根據(jù)中斷響應(yīng)輸出時(shí)間信息。
1.2 信號內(nèi)部調(diào)理
信號在FPGA器件內(nèi)部通過連線和邏輯單元時(shí),都有一定的延時(shí)。延時(shí)的大小與連線的長短和邏輯單元的數(shù)目有關(guān),同時(shí)還受器件的制造工藝、工作電壓、溫度等條件的影響。信號的高低電平轉(zhuǎn)換也需要一定的過渡時(shí)間。
由于存在這兩方面因素,當(dāng)多路信號的電平值發(fā)生變化時(shí),在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時(shí)變化,往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為“毛刺”。在本時(shí)統(tǒng)接收處理模塊處理單元的狀態(tài)機(jī)設(shè)計(jì)中,采用格雷碼計(jì)數(shù)器取代普通的二進(jìn)制計(jì)數(shù)器,這是因?yàn)楦窭状a計(jì)數(shù)器的輸出每次只有一位跳變,消除了競爭冒險(xiǎn)的發(fā)生條件,避免了毛刺的生。毛刺并不是對所有的輸入都有危害,例如D觸發(fā)器的D輸入端,只要毛刺不出現(xiàn)在時(shí)鐘的上升沿并且滿足數(shù)據(jù)的建立和保持時(shí)間,就不會對系統(tǒng)造成危害,我們可以說D觸發(fā)器的D輸入端對毛刺不敏感。根據(jù)這個(gè)特性,在本時(shí)統(tǒng)模塊處理單元設(shè)計(jì)中盡可能采用同步電路,這是因?yàn)橥诫娐沸盘柕淖兓及l(fā)生在時(shí)鐘上升沿,只要毛刺
不出現(xiàn)在時(shí)鐘的上升沿,并且不滿足數(shù)據(jù)的建立和保持時(shí)間,就不會對系統(tǒng)造成危害(由于毛刺很短,多為幾ns,基本上都不可能滿足數(shù)據(jù)的建立和保持時(shí)間)。在本設(shè)計(jì)中,將有毛刺的外部輸入時(shí)統(tǒng)信號經(jīng)過兩次D觸發(fā)器觸發(fā),利用其對毛刺不敏感的特性,兩次經(jīng)過同步觸發(fā),將毛刺消除,亞穩(wěn)態(tài)產(chǎn)生的機(jī)率變得特別低,不過信號將要延遲兩個(gè)時(shí)鐘周期,即40ns,兩個(gè)時(shí)鐘周期相對于一般時(shí)統(tǒng)模塊μs級的精度要求來說是微不足道的,因而該方法對同步時(shí)鐘精度可以認(rèn)為無影響。
1.3 自守時(shí)設(shè)計(jì)
守時(shí)是指外部授時(shí)信號中斷或受阻時(shí),模塊可以自行產(chǎn)生頻率相同且脈沖沿一致的信號維持系統(tǒng)時(shí)間信息。在外部授時(shí)信號正常時(shí),由其發(fā)起中斷取得系統(tǒng)時(shí)間信息,無外部授時(shí)信號時(shí),需由模塊自行產(chǎn)生的信號自動接替外部授時(shí)信號的工作,同時(shí)用來維持時(shí)統(tǒng)信號輸出,保證全系統(tǒng)的時(shí)間不中斷。對于外部時(shí)統(tǒng)輸入的時(shí)鐘,為了定時(shí)精確,在FPGA處理單元設(shè)置5個(gè)狀態(tài),包括空閑態(tài)、A1、A、B1、B等狀態(tài),A和B分別為接收到的時(shí)統(tǒng)信號低和高,A1、B1分別為接收到的時(shí)統(tǒng)信號的第一個(gè)低和高。
評論