STM-1并行幀同步系統(tǒng)的設(shè)計(jì)與FPGA實(shí)現(xiàn)
同步技術(shù)在數(shù)字通信系統(tǒng)中是非常重要的技術(shù),一般有位(碼元)同步、字(碼組)同步、載波同步和幀同步,對(duì)于網(wǎng)絡(luò)系統(tǒng)來說還有網(wǎng)同步?,F(xiàn)代SDH數(shù)字傳輸網(wǎng)是全網(wǎng)同步的數(shù)字傳送網(wǎng)絡(luò),對(duì)于接收端的數(shù)據(jù)處理,首先要從同步數(shù)據(jù)流中提取幀同步信息,幀同步提取性能的優(yōu)劣直接影響整個(gè)數(shù)據(jù)的處理質(zhì)量與整個(gè)系統(tǒng)的性能。使用FPGA技術(shù)可以實(shí)現(xiàn)同步系統(tǒng)的模塊化、小型化和芯片化,得到穩(wěn)定可靠的幀同步器。
并行幀同步系統(tǒng)
SDH中的基本傳輸模塊為STM-1,傳輸速率為155.52Mbps。如果采用傳統(tǒng)的串行幀同步電路,電路需監(jiān)測(cè)接收信號(hào)是否與幀同步信號(hào)一致,如果不一致則漂移1比特后再次監(jiān)測(cè)是否和幀同步信號(hào)一致,如此反復(fù)。一邊1比特1比特地漂移,一邊搜索和幀同步信號(hào)一致的地方。所以整個(gè)邏輯電路要求工作在155.52MHz時(shí)鐘頻率,目前的FPGA器件工藝條件下很難得到穩(wěn)定的工作性能。
針對(duì)這一問題,本文采用并行幀同步法實(shí)現(xiàn)STM-1碼流幀同步信息的提取,系統(tǒng)功能框圖如圖1所示。在系統(tǒng)中,只有16比特移位寄存器工作在155.52MHz時(shí)鐘頻率,其余模塊工作頻率為STM-1碼流的字節(jié)時(shí)鐘19.44MHz,從而大大降低了電路時(shí)序設(shè)計(jì)難度,提高了系統(tǒng)的穩(wěn)定性與可靠性,同時(shí)顯著降低了功耗。
圖1:采用并行幀同步法實(shí)現(xiàn)STM-1碼流幀同步信息提取的系統(tǒng)功能框圖。
根據(jù)ITU-T G.707建議的規(guī)定,SDH中采用以字節(jié)為基礎(chǔ)的集中插入的幀同步碼組,STM-1幀結(jié)構(gòu)中有6個(gè)字節(jié),即48個(gè)比特作為幀同步碼組,排列為:第一行的第1列到第六列為A1A1A1A2A2A2(A1=11110110B,A2=00101000B)。為避免使幀同步電路復(fù)雜化,沒有必要使用A1、A2的所有字節(jié)。根據(jù)最壞幀恢復(fù)時(shí)間參數(shù),這里選取STM-1幀第一行的第3列與第4列16個(gè)比特,即相鄰的A1A2字節(jié)作為幀同步碼組。
STM-1比特碼流在155.52MHz時(shí)鐘控制下串行移入16比特移位寄存器。為了確定輸入串行比特碼流的字節(jié)邊界,通過9個(gè)并行置數(shù)的字節(jié)寄存器(reg0~reg8)在19.44MHz時(shí)鐘控制下對(duì)輸入碼流緩存,其中reg0緩存16比特移位寄存器的第0 比特到第7比特,reg1緩存16比特移位寄存器的第1比特到第8比特,依此類推。緩存后的字節(jié)數(shù)據(jù)經(jīng)一個(gè)9選1的多路選擇器(MUX)構(gòu)成系統(tǒng)內(nèi)部的8比特寬數(shù)據(jù)總線,再由比較器和同步校驗(yàn)狀態(tài)機(jī)判斷幀同步情況,產(chǎn)生幀頭指示信號(hào)。同時(shí)內(nèi)部數(shù)據(jù)總線的內(nèi)容輸出產(chǎn)生時(shí)鐘周期為19.44MHz 的STM-1字節(jié)碼流,完成對(duì)STM-1碼流的串并轉(zhuǎn)換。
在幀同步方式中定義了失步狀態(tài)、準(zhǔn)校核狀態(tài)、校核狀態(tài)、同步狀態(tài)和保護(hù)狀態(tài)五種狀態(tài)。狀態(tài)轉(zhuǎn)移圖如圖2所示。
圖2:幀同步系統(tǒng)工作狀態(tài)轉(zhuǎn)移圖。
在失步狀態(tài)下,系統(tǒng)監(jiān)測(cè)9個(gè)緩沖寄存器中的內(nèi)容是否與A1字節(jié)(11110110B)一致。如果一致則進(jìn)入準(zhǔn)校核狀態(tài),表示已找到STM-1碼流的字節(jié)邊界,令多路選擇器的輸出(即系統(tǒng)內(nèi)部數(shù)據(jù)總線)鎖定為檢測(cè)到與A1字節(jié)一致的緩沖寄存器的輸出;如果不一致則維持失步狀態(tài)。在準(zhǔn)校核狀態(tài),如果內(nèi)部數(shù)據(jù)總線為A2字節(jié)(00101000B)則進(jìn)入校核狀態(tài),表示已發(fā)現(xiàn)一次幀同步碼組;如果內(nèi)部數(shù)據(jù)總線為A1字節(jié)則維持準(zhǔn)校核狀態(tài);否則返回失步狀態(tài)。在校核狀態(tài),漂移1個(gè)幀長(125μs)再次檢測(cè)是否為A1A2字節(jié),如果一致就轉(zhuǎn)入同步狀態(tài),輸出幀頭指示信號(hào);如果不一致就返回失步狀態(tài)。
在同步狀態(tài)下,要不斷地漂移1個(gè)幀長,檢查是否和幀同步碼組一致。這時(shí),由于誤比特的存在,會(huì)發(fā)生接收信號(hào)和幀同步碼組不一致的情況。因某1次的不一致就由同步狀態(tài)轉(zhuǎn)換為失步狀態(tài)的話將會(huì)引起偽失步,應(yīng)避免這種情況的發(fā)生。本同步系統(tǒng)在發(fā)生1次接收信號(hào)和幀同步碼組不一致時(shí),進(jìn)入保護(hù)狀態(tài),只有連續(xù)3次不一致才轉(zhuǎn)換到失步狀態(tài)。在保護(hù)狀態(tài),如果漂移一個(gè)幀長后監(jiān)測(cè)到幀同步碼組,就返回同步狀態(tài);同時(shí)在保護(hù)狀態(tài)也要產(chǎn)生幀頭指示信號(hào)。
圖3:Cyclone器件內(nèi)置鎖相環(huán)原理框圖。
由于FPGA中寄存器資源豐富,所以狀態(tài)機(jī)狀態(tài)編碼采用獨(dú)熱(one-hot)編碼,減少狀態(tài)譯碼電路中組合電路的復(fù)雜度,便于滿足時(shí)序要求和布局布線。在狀態(tài)機(jī)Verilog代碼編寫時(shí),將狀態(tài)轉(zhuǎn)移單獨(dú)寫成一個(gè)always模塊,將狀態(tài)的操作和判斷寫到另一個(gè)always模塊中。與將狀態(tài)機(jī)的所有邏輯用一個(gè)always語句塊描述相比,本設(shè)計(jì)所采用的代碼風(fēng)格不僅便于代碼的閱讀、理解、維護(hù),更重要的是利于綜合器優(yōu)化代碼,利于用戶添加合適的時(shí)序約束條件,利于布局布線器實(shí)現(xiàn)設(shè)計(jì)。
在Altera的低成本的Cyclone系列器件中,有一種經(jīng)過簡化的快速鎖相環(huán)(Fast PLL),可完成時(shí)鐘的倍頻、分頻、相移、占空比調(diào)整和外部時(shí)鐘輸出,能夠利用FPGA內(nèi)部的全局時(shí)鐘網(wǎng)絡(luò)進(jìn)行系統(tǒng)級(jí)時(shí)鐘管理和時(shí)鐘偏移(clock skew)控制,同步內(nèi)部系統(tǒng)時(shí)鐘與片外時(shí)鐘,最小化時(shí)鐘延遲和時(shí)鐘偏移,調(diào)整tco(時(shí)鐘到輸出時(shí)間)和tsu(建立時(shí)間)。鎖相環(huán)的原理框圖如圖3所示。在Altera公司的QuartusII集成開發(fā)平臺(tái)中,通過調(diào)用可參數(shù)化的宏模塊altpll,設(shè)置其基本參數(shù)就可以得到所需的鎖相環(huán)性能,產(chǎn)生系統(tǒng)時(shí)鐘信號(hào)。
本電路中需要兩個(gè)時(shí)鐘信號(hào),一個(gè)是155.52MHz的STM-1比特時(shí)鐘,一個(gè)是19.44MHz的STM-1字節(jié)時(shí)鐘。除16比特移位寄存器工作在155.52MHz時(shí)鐘頻率外,整個(gè)系統(tǒng)都使用19.44MHz時(shí)鐘。所以這里由外部晶振提供19.44MHz高穩(wěn)定性的全局時(shí)鐘信號(hào),由器件內(nèi)置鎖相環(huán)產(chǎn)生8倍頻時(shí)鐘信號(hào)。這里設(shè)置鎖相環(huán)工作在Normal模式,反饋路徑補(bǔ)償了輸入晶振時(shí)鐘與器件內(nèi)到達(dá)寄存器的時(shí)鐘信號(hào)之間的布線與邏輯延遲,減小時(shí)鐘偏移,保證輸入時(shí)鐘與倍頻產(chǎn)生的時(shí)鐘之間的穩(wěn)定相位關(guān)系。Normal模式下鎖相環(huán)輸入標(biāo)準(zhǔn)時(shí)鐘與產(chǎn)生時(shí)鐘之間的相位關(guān)系如圖4所示。
圖4:Normal模式鎖相環(huán)時(shí)鐘相位關(guān)系圖。
綜合與驗(yàn)證
首先使用Altera公司的QuartusII集成開發(fā)平臺(tái)進(jìn)行邏輯綜合與靜態(tài)時(shí)序分析(Static Timing Analysis)。選擇器件型號(hào)為Cyclone系列的EP1C6T144C8。由于16比特移位寄存器工作在155.52MHz時(shí)鐘頻率下,為了使這部分電路能穩(wěn)定可靠地工作,在綜合器的設(shè)置中必須選擇速度優(yōu)先的優(yōu)化技術(shù),并對(duì)相關(guān)路徑設(shè)計(jì)嚴(yán)格的時(shí)序約束條件,同時(shí)在布局布線器的設(shè)置中選擇物理綜合(Physical Synthesis)優(yōu)化技術(shù),否則移位寄存器將不能正確地緩存每比特碼流數(shù)據(jù)。
由于QuartusII工具通過NativeLink技術(shù)無縫地支持第三方仿真工具,這里采用Mentor Graphics公司的ModelSim工具提取QuartusII產(chǎn)生的Verilog輸出網(wǎng)表文件和標(biāo)準(zhǔn)延時(shí)格式(Standard Delay Format)文件,進(jìn)行RTL級(jí)功能仿真與門級(jí)時(shí)序仿真。由于QuartusII支持的仿真測(cè)試向量文件為圖形格式的VWF(Vector Waveform File)文件,不支持Verilog文本測(cè)試向量,在測(cè)試大型設(shè)計(jì)項(xiàng)目時(shí),圖形格式測(cè)試向量的編寫效率低、可讀性差、不易于修改和維護(hù)。而ModelSim作為業(yè)界標(biāo)準(zhǔn)的硬件描述語言仿真平臺(tái),支持高效簡潔的Verilog文本測(cè)試向量輸入,大大提高了測(cè)試向量編寫的有效性和準(zhǔn)確性。同時(shí)ModelSim的仿真運(yùn)算速度也遠(yuǎn)高于QuartusII集成的仿真工具,可大大縮短系統(tǒng)開發(fā)周期,加快設(shè)計(jì)進(jìn)程。門級(jí)時(shí)序仿真得到的波形如圖5所示。
圖5:系統(tǒng)門級(jí)仿真波形。
圖5中clk8為晶振產(chǎn)生的19.44MHz時(shí)鐘,clk為FPGA內(nèi)置鎖相環(huán)8倍頻產(chǎn)生的155.52MHz時(shí)鐘,d為輸入的STM-1比特碼流,frameHead信號(hào)為產(chǎn)生的幀頭指示信號(hào),byteH為串并轉(zhuǎn)換后得到的STM-1字節(jié)碼流。由圖可知,在連續(xù)接收到兩次正確的幀同步碼組后,系統(tǒng)進(jìn)入同步狀態(tài),輸出幀頭指示信號(hào)。
本文小結(jié)
本文提出了高速率STM-1碼流并行幀同步系統(tǒng)的設(shè)計(jì)方案,并在實(shí)際FPGA器件中實(shí)現(xiàn)了物理驗(yàn)證,得到了穩(wěn)定可靠的工作電路。這里采用的是將1個(gè)串行碼流轉(zhuǎn)換為8個(gè)并行碼流的并行計(jì)算技術(shù),對(duì)于STM-4、STM-16等更高速率的碼流,可以將串行碼流轉(zhuǎn)換為更多的并行碼流,系統(tǒng)設(shè)計(jì)方案無需作大的調(diào)整,就可以實(shí)現(xiàn)高速碼流的幀同步系統(tǒng)。
評(píng)論