ST-BUS總線接口模塊的Verilog HDL設(shè)計(jì)
ST-BUS是廣泛應(yīng)用于E1通信設(shè)備內(nèi)部的一種模塊間通信總線。結(jié)合某專用通信系統(tǒng)E1接口轉(zhuǎn)換板的設(shè)計(jì),本文對(duì)ST-BUS總線進(jìn)行了介紹,討論了ST-BUS總線接口收發(fā)模塊的設(shè)計(jì)方法,給出了Verilog HDL實(shí)現(xiàn)和模塊的時(shí)序仿真圖。
關(guān)鍵詞:ST-BUS;Verilog HDL;接口模塊;E1;CPLD
引言
隨著數(shù)字技術(shù)的迅速發(fā)展,現(xiàn)代通信系統(tǒng)已成為一個(gè)龐大的綜合化數(shù)字網(wǎng)絡(luò)。電信核心網(wǎng)絡(luò)除了提供傳統(tǒng)電話服務(wù)外,還為其它專用通信(比如警用集群通信等)提供中繼服務(wù)。電信系統(tǒng)一般從交換機(jī)引出E1信號(hào)線路以供其它專用通信系統(tǒng)接入。為了滿足電信網(wǎng)的接入規(guī)范,E1終端設(shè)備內(nèi)部常采用一種被稱為ST-BUS的總線來對(duì)需要接入通信網(wǎng)的各路用戶數(shù)據(jù)進(jìn)行排隊(duì),以便統(tǒng)一與E1信號(hào)進(jìn)行轉(zhuǎn)換,充分利用E1線路資源。由于批量生產(chǎn)的接口芯片都是針對(duì)某些特定標(biāo)準(zhǔn)接口而設(shè)計(jì),無法滿足E1通信的特殊需要。為滿足多種特殊接口與電信線路間進(jìn)行數(shù)據(jù)交換的需要,增加系統(tǒng)可重配置的靈活性,本文在所涉及項(xiàng)目中的E1接口轉(zhuǎn)換板的設(shè)計(jì)中采用了可編程器件實(shí)現(xiàn)了多種特殊接口的混合接入。為了簡(jiǎn)化問題,文中主要介紹ST-BUS總線接口收發(fā)模塊的Verilog HDL設(shè)計(jì)。
ST-BUS基本原理
ST-BUS(Serial Telecom BUS,串行通信總線)是卓聯(lián)半導(dǎo)體公司根據(jù)電信應(yīng)用的需要而定義的一種重要的通信設(shè)備內(nèi)部總線通信協(xié)議,它可以將多路信息(包括音頻、視頻、控制信息以及其它數(shù)據(jù)等)進(jìn)行復(fù)接或解復(fù)接,以便統(tǒng)一進(jìn)行信號(hào)轉(zhuǎn)換,實(shí)現(xiàn)本地設(shè)備與電信E1線路間的數(shù)據(jù)交換。隨著通信系統(tǒng)越來越復(fù)雜,電信設(shè)備常有局部部件的淘汰或者更新?lián)Q代。為了提高設(shè)備兼容性也便于系統(tǒng)升級(jí),電信設(shè)備廣泛采取了模塊化設(shè)計(jì)方法,而ST-BUS就是將各功能模塊連接起來協(xié)同工作的一種總線標(biāo)準(zhǔn)。所以,不論模塊的功能和外部接口怎樣,只要具備ST-BUS總線接口,都可以方便地嵌入到特定的通信系統(tǒng)中。
根據(jù)卓聯(lián)對(duì)ST-BUS的信號(hào)及時(shí)序規(guī)范所作的定義,ST-BUS是一種傳輸數(shù)字信息的高速同步串行通信總線,總線接口所需信號(hào)有幀同步信號(hào)、位時(shí)鐘信號(hào)和串行數(shù)據(jù)信號(hào)。幀同步信號(hào)主要有類型0和類型1兩種:類型0的同步脈沖僅出現(xiàn)在幀的開頭,如圖1所示,總線上各部件將之作為重要參考信號(hào)并由此決定何時(shí)開始接收或發(fā)送數(shù)據(jù)流;類型1的同步脈沖需要維持一個(gè)完整的時(shí)隙周期(即8個(gè)位時(shí)鐘周期),在此期間部件也要接收或發(fā)送信息數(shù)據(jù),這種同步方式較少應(yīng)用。ST-BUS定義了4種標(biāo)準(zhǔn)時(shí)鐘頻率,即16.384MHz、8.192MHz、4.096MHz和2.048MHz,其中每一種時(shí)鐘頻率均可作為部件的內(nèi)部時(shí)鐘,不過任意時(shí)刻只能選擇其一,自適應(yīng)系統(tǒng)在設(shè)計(jì)時(shí)采用了自動(dòng)選擇模式。除頻率2.048MHz外,其它時(shí)鐘頻率總是數(shù)據(jù)速率的兩倍,即支持最大數(shù)據(jù)速率為8.192Mbps。如果ST-BUS數(shù)據(jù)速率為2.048Mbps,那么時(shí)鐘可以是2.048MHz或4.096MHz。由圖1可知,一個(gè)完整ST-BUS的幀周期為125ms,而每幀又根據(jù)數(shù)據(jù)速率分為幾種不同的時(shí)隙總數(shù)。但是,為了與E1信號(hào)的時(shí)隙相對(duì)應(yīng),E1終端子系統(tǒng)常采用每幀32時(shí)隙的信號(hào)方式。
ST-BUS收發(fā)模塊設(shè)計(jì)與仿真
為了實(shí)現(xiàn)ST-BUS總線與各種不同(總線)接口之間的可靠數(shù)據(jù)傳輸,下面討論同步模式下ST-BUS接口模塊的設(shè)計(jì),并在部分Verilog HDL描述中以注解方式進(jìn)行詳細(xì)說明。根據(jù)ST-BUS總線協(xié)議,ST-BUS接口模塊可大致分為接收模塊、發(fā)送模塊和控制模塊(含數(shù)據(jù)交換)三部分,分別完成ST-BUS總線數(shù)據(jù)的接收、發(fā)送和控制(包括與其它接口單元進(jìn)行數(shù)據(jù)交換)等功能。要實(shí)現(xiàn)某種特定接口(如RS-232等)與ST-BUS總線之間的數(shù)據(jù)通信,則需要將該接口單元的I/O信號(hào)及控制信號(hào)接到ST-BUS接口的控制模塊,通過控制模塊來控制收發(fā)時(shí)序以及在ST-BUS中所占用的時(shí)隙位置及數(shù)目,而在實(shí)際應(yīng)用中,各路數(shù)據(jù)對(duì)應(yīng)的時(shí)隙位置及數(shù)目常通過外部控制接口設(shè)置。為簡(jiǎn)化問題,這里僅討論ST-BUS接口收發(fā)模塊設(shè)計(jì),且假定時(shí)隙設(shè)置是固定的。
如圖1所示,ST-BUS總線的數(shù)據(jù)收發(fā)遵守以下規(guī)則:發(fā)送端在時(shí)鐘C2的上升沿發(fā)送,而接收端則在C2的下降沿采數(shù)據(jù),且同步脈沖在0時(shí)隙開始的第一個(gè)C2上升沿處保持低電平。
圖1 類型0幀同步ST-BUS總線信號(hào)時(shí)序
ST-BUS接收模塊
ST-BUS接收模塊主要根據(jù)控制模塊所設(shè)置的ST-BUS時(shí)隙等參數(shù)接收所需時(shí)隙的數(shù)據(jù),并將接收到的數(shù)據(jù)送給控制模塊,其原理結(jié)構(gòu)框圖如圖2(a)所示。
圖2 ST-BUS收發(fā)模塊的原理結(jié)構(gòu)框圖
根據(jù)時(shí)鐘等信號(hào)的提供方式,模塊的工作模式常分為主動(dòng)模式和被動(dòng)模式兩種。由于圖2(a)所示的接收模塊所需時(shí)鐘與同步信號(hào)均來自外部,因此該模塊處于被動(dòng)模式;相反,如果時(shí)鐘和同步信號(hào)由模塊產(chǎn)生,則模塊處于主動(dòng)模式。
被動(dòng)模式下ST-BUS接收模塊的基本工作原理為:上電后,在時(shí)鐘穩(wěn)定的情況下,模塊首先檢測(cè)同步信號(hào);在非同步狀態(tài)下,除同步檢測(cè)以外的其它部件均不能工作;檢測(cè)到同步后(即在同步狀態(tài)下),模塊啟動(dòng)時(shí)隙定位和數(shù)據(jù)位定位的計(jì)數(shù)器工作,此時(shí),模塊根據(jù)參數(shù)設(shè)置進(jìn)行數(shù)據(jù)接收。另外,圖2(a)中的時(shí)隙定位和數(shù)據(jù)位定位在本設(shè)計(jì)中采用2個(gè)計(jì)數(shù)器實(shí)現(xiàn),也可以合并為單計(jì)數(shù)器實(shí)現(xiàn)。ST-BUS總線接收操作的關(guān)鍵之處在于前一幀的最后一時(shí)隙(即31時(shí)隙)與當(dāng)前幀的第一時(shí)隙(即0時(shí)隙)之間的切換操作,因?yàn)樾枰瑫r(shí)檢測(cè)同步信號(hào),而一旦同步信號(hào)沒有檢測(cè)到,則模塊會(huì)進(jìn)入失步狀態(tài)。接收模塊的Verilog HDL實(shí)現(xiàn)(信號(hào)和常數(shù)聲明從略,且代碼已簡(jiǎn)化,下同)可以劃分為以下三部分。
評(píng)論