基于CPLD器件在時間統(tǒng)一系統(tǒng)中的應(yīng)用
引言
本文引用地址:http://m.butianyuan.cn/article/201610/308443.htm隨著電子技術(shù)的發(fā)展,對遙測信號的幀結(jié)構(gòu)的可編程度、集成度的要求越來越高,用于時間統(tǒng)一系統(tǒng)的B碼源的設(shè)計也趨于高度集成化。為了適應(yīng)現(xiàn)代靶場試驗任務(wù)的要求,我們采用Altera的CPLD器件,將用于產(chǎn)生B碼的各種門電路集成在一個芯片,通過高度集成的系統(tǒng)可以用于產(chǎn)生標(biāo)準(zhǔn)的串行時間碼向測量設(shè)備發(fā)送,測量設(shè)備對接收到的B碼進(jìn)行解調(diào)能產(chǎn)生出系統(tǒng)所需的絕對時間和各種控制信號。此B碼產(chǎn)生系統(tǒng)可作為基地設(shè)備檢測調(diào)試用,也可作實踐教學(xué)設(shè)備。
1 IRIG-B碼介紹
在靶場試驗中隨著設(shè)備所需信息量的增加,對標(biāo)準(zhǔn)化時統(tǒng)設(shè)備要求也就越來越高,其中關(guān)鍵的問題之一就是選用什么樣的時間碼。IRIG-B(美國靶場儀器組-B型格式)DC時間碼以其實際優(yōu)越性能,成為時統(tǒng)設(shè)備首選的標(biāo)準(zhǔn)碼型。
IRIG(Inter- Range Instrumentation Group)是美國靶場司令部委員會的下屬機(jī)構(gòu),稱為靶場時間組。IRIG時間標(biāo)準(zhǔn)有兩大類:一類是并行時間碼格式,這類碼由于是并行格式,傳輸距離較近,且是二進(jìn)制,因此遠(yuǎn)不如串行格式廣泛;另一類是串行時間碼,共有六種格式,即A、B、D、E、G、H。它們的主要差別是時間碼的幀速率不同。B碼的主要特點是時幀速率為1幀/s;攜帶信息量大,經(jīng)譯碼后可獲得1、10、100、1000c/s的脈沖信號和BCD編碼的時間信息及控制功能信息;高分辨率;調(diào)制后的B碼帶寬,適用于遠(yuǎn)距離傳輸;分直流、交流兩種;具有接口標(biāo)準(zhǔn)化,國際通用。IRIG-B(DC)時間碼格式如圖1所示。其幀速率為1幀 /s,可將1幀(1s)分為10個字,每字為10位,每位的周期均為10ms。每位都以高電平開始,其持續(xù)時間分為3種類型:2 ms(如二進(jìn)制0碼和索引標(biāo)志) 、5ms(如二進(jìn)制1碼)和8ms(如參考碼元,即每秒開始的第一字的第一位;位置標(biāo)志P0~P9,即每個字的第十位)。第一個字傳送的s是信息,第二個字是min信息,第三個字是h信息,第四、五個字是d(從1月1日開始計算的年積日)。另外,在第八個字和第十個字中分別有3位表示上站和分站的特標(biāo)控制碼元(參考圖1)。
圖1 IRIG-B(DC)時間碼格式
2 硬件電路設(shè)計
B碼信號是否正確,是否被正確地解調(diào)出來,關(guān)鍵在于能否按照B碼的變化規(guī)律產(chǎn)生預(yù)置信號。本課題的難點在于按照其本身的變化規(guī)律安排好產(chǎn)生B碼的各種時序。
用 9個十進(jìn)制計數(shù)器級聯(lián)組成時鐘電路,用來產(chǎn)生時間信號--天、時、分、秒信號。四種信號經(jīng)過緩存后順序送入并串轉(zhuǎn)換電路,將并行碼串行輸出,由7個產(chǎn)生時序脈沖的4017級聯(lián)產(chǎn)生B碼所需的三種脈沖形式,經(jīng)過邏輯門的控制將串行輸出的時間碼轉(zhuǎn)化成B碼。將所有計數(shù)器、緩存器、并串轉(zhuǎn)換電路、時序脈沖產(chǎn)生器、各種邏輯門等集成到可編程器件(CPLD)中,即用將一個完整的系統(tǒng)集成到一個芯片中。外圍電路只需一個時鐘電路和上電置數(shù)電路即可。由于采用了可編程器件,用軟件編程可以把一個硬件系統(tǒng)集成到一個芯片中,大大簡化了硬件電路,并且可以對芯片內(nèi)部的電路進(jìn)行仿真和多次編程,調(diào)試起來很方便。
根據(jù)確定的方案,設(shè)計的硬件電路如圖2所示??删幊唐骷﨓PM7128SLC84-15內(nèi)部電路如圖3所示。
圖2 系統(tǒng)總體框圖
圖3 可編程芯片內(nèi)部電路框圖
硬件電路由可編程芯片、主時鐘、置數(shù)電路三部分組成。芯片內(nèi)部電路由365進(jìn)制計數(shù)器、緩沖電路、并串轉(zhuǎn)換電路、時序脈沖發(fā)生器及邏輯門控制電路組成。
圖 2中,置數(shù)電路將預(yù)置好的時間置入,使得芯片內(nèi)部的365進(jìn)制計數(shù)器從此時刻開始計數(shù)。主時鐘是頻率為10MHz的晶振,作為芯片內(nèi)部時序脈沖發(fā)生器的時鐘信號。可編程芯片內(nèi)部電路設(shè)計是本課題設(shè)計的核心。圖3中,時序脈沖發(fā)生器由七級4017級聯(lián)而成,由外輸入時鐘作為第一級的時鐘。第七級產(chǎn)生的秒信號作為365進(jìn)制計數(shù)器的時鐘,該計數(shù)器組由九個十進(jìn)制同步計數(shù)器74LS162組成,輸出7位二進(jìn)制形式的秒信號,7位分信號,6位時信號,10位天信號(分為低八位和高二位天信號兩組)。輸出的時間信號送至緩沖器,由時序脈沖發(fā)生器的第六級輸出周期為100ms的時鐘信號作為緩沖器的內(nèi)部時鐘,將緩沖過的時間信號以B碼的格式順序送入并串轉(zhuǎn)換電路。并串轉(zhuǎn)換電路的置位信號由時序脈沖發(fā)生器第六級的Q8提供,每100ms將輸入的時間信號鎖存一次,時序脈沖發(fā)生器的第五級輸出的周期為10ms的時鐘作為并串轉(zhuǎn)換的時鐘,將并行數(shù)據(jù)串行輸出。時序脈沖發(fā)生器通過邏輯門的控制產(chǎn)生了B碼的三種脈沖形式:第一種是高電平為2 ms ,低電平為8ms的脈沖(代表邏輯0);第二種是高、低電平均為5 ms的脈沖(代表邏輯1);第三種是高電平為8 ms ,低電平為2ms的脈沖(作為位置識別標(biāo)志和參考碼元)。并串轉(zhuǎn)換輸出的串行碼經(jīng)過邏輯門的控制,碼?1轉(zhuǎn)化為B碼脈沖的第一種形式,碼元0轉(zhuǎn)化為 B碼脈沖的第二種形式,即將二進(jìn)制的時間信號轉(zhuǎn)變成為B碼形式。參考碼元、時間碼元、位置識別標(biāo)志綜合在一起作為真正的B碼輸出。 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
3 主要單元電路設(shè)計
3.1 置數(shù)電路
根據(jù)課題要求,電路應(yīng)具有置數(shù)功能。置數(shù)電路如圖 4 所示,改進(jìn)后的置數(shù)電路如圖 5所示。
圖4 置數(shù)電路
圖5 改進(jìn)的置數(shù)電路
將預(yù)置的天、時、分、秒在上電的同時置入各個計數(shù)器中。由于計數(shù)器74LS162是同步計數(shù)器,要求置數(shù)脈沖有效時(低電平有效)至少有一個時鐘的上升沿。
計數(shù)器的時鐘是由時序脈沖發(fā)生器提供的秒信號,為了保證在置數(shù)脈沖有效時存在一個時鐘上升沿,對秒信號作如下改進(jìn):
輸入信號clka 由時序脈沖發(fā)生器產(chǎn)生,輸出信號clk 作為365進(jìn)制計數(shù)器的時鐘。輸入輸出波形關(guān)系如圖 6所示。
圖6 置數(shù)電路波形圖
3.2 可編程芯片EPM7128SLC84-15內(nèi)部電路
本部分采用層次結(jié)構(gòu)的設(shè)計,由底層到頂層將復(fù)雜的電路模塊化,最后生成一個頂層模塊。圖7 表示內(nèi)部電路的層次結(jié)構(gòu)。
圖7 層次結(jié)構(gòu)圖
最底層的四個模塊分別包含四部分較復(fù)雜的電路,將四個模塊分為兩組,又生成較高層的模塊t1和t2,模塊t1和t2最終生成最頂層的模塊。采取模塊化設(shè)計的優(yōu)點在于可以由底層到頂層對每一個模塊分別進(jìn)行仿真,有利于各個模塊間時序的配合。
(1)t2模塊
365進(jìn)制計數(shù)器
該部分電路由九個十進(jìn)制同步計數(shù)器 74LS162級聯(lián)而成,稱為計數(shù)鏈,生成的模塊形式如圖 8所示。
圖8 計數(shù)器模塊 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
緩沖電路
它的功能是將計數(shù)器輸出的5組時間信號以B碼的格式交替輸出。緩沖電路生成的模塊如圖 9所示。
圖9 緩沖電路模塊圖
為簡單起見,用VHDL語言描述如下:
t2模塊是由計數(shù)器和緩沖電路合成的較高層的模塊。這個模塊的功能是置數(shù)后計數(shù)器從此時刻開始按秒計數(shù),將時間信號以B碼的格式并行輸出。兩個模塊的連接情況如圖10所示,t2模塊如圖 11 所示。
圖10 t2模塊內(nèi)部電路
圖11 t2模塊
(2)t1模塊
并串轉(zhuǎn)換電路
由于B碼是串行碼,須將t1模塊輸出的并行數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換。并串轉(zhuǎn)換電路生成的模塊如圖 12 所示。
圖12 并串轉(zhuǎn)換電路模塊 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
時序脈沖發(fā)生器
該部分電路主要由七個脈沖分配器相級聯(lián)和一些邏輯門控制組成。完成的主要功能有:產(chǎn)生B碼的3種脈沖形式;提供計數(shù)器的時鐘--S信號;提供緩沖電路中計數(shù)器的時鐘--周期100ms;提供并串轉(zhuǎn)換電路的置位信號。時序脈沖發(fā)生器生成的模塊如圖 13所示。
圖13 時序脈沖發(fā)生器模塊
t1 模塊是并串轉(zhuǎn)換電路和時序脈沖發(fā)生器合成的較高層的模塊。這個模塊的功能是將t2模塊輸出的并行時間碼串行輸出,由時序脈沖發(fā)生器輸出各種控制信號對串行碼控制輸出B碼的三類脈沖,同時輸出t2模塊所需的各類時鐘信號。并串轉(zhuǎn)換電路模塊和時序脈沖發(fā)生器模塊的連接情況見圖14,t1模塊見圖 15。
圖14 t1模塊內(nèi)部電路
圖15 t1模塊
(3)t3模塊
t3模塊是由t1、t2兩個模塊構(gòu)成的最頂層的模塊,其內(nèi)部連接如圖16所示。
圖16 t3模塊內(nèi)部電路圖
由圖16可見,t3模塊(圖17)將所有內(nèi)部電路集成,整個電路只有32個輸入端,3個輸出端。將t3模塊直接燒入可編程芯片即可。
圖17 t3模塊 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
3.3 碼合成電路
可編程芯片輸出了組成B碼的3個分信號,經(jīng)過1個或門后將3個信號合成了B碼信號,如圖18所示。
圖18 合成B碼波形圖
結(jié)語
本設(shè)計的難點在于如何正確地安排好芯片內(nèi)部各個模塊之間的時序。該B碼源通過解調(diào)之后能夠顯示正確的時間,達(dá)到了很好的效果。該B碼源最大的特點是電路非常簡單,可靠性較高。通過可編程芯片高度集成了一個系統(tǒng),克服了以往B碼源電路復(fù)雜的缺點。
評論