摘 要: 在3G基站控制板設(shè)計中,采用單片機AT89s8252完成了對其他單板信息的采集、網(wǎng)絡(luò)配置、設(shè)備運行監(jiān)控以及與主CPU通信等功能,說明了低檔器件在高檔設(shè)備中同樣具有應(yīng)用價值。
關(guān)鍵詞: 3G WCDMA 基站 控制板 單片機 RS485 SPI
?
第三代移動通信(3G)是一個復(fù)雜而龐大的系統(tǒng),其采用的芯片大都是高端、昂貴和功能強大的,簡單的單片機應(yīng)用在3G系統(tǒng)似乎不可能。事實上,筆者在參與某通信設(shè)備公司的3G設(shè)備設(shè)計時,在某些地方采用了低檔單片機,用它實現(xiàn)了很多功能。這對于精簡電路、節(jié)約成本很有意義。本文僅介紹單片機在3G基站控制板中的應(yīng)用情況。
1 系統(tǒng)總體
3G制式之一的WCDMA網(wǎng)絡(luò)系統(tǒng)由基站(NodeB)、無線網(wǎng)絡(luò)控制器(RNC)和核心網(wǎng)(CN)三部分組成[1]。這三部分之間的連接采用3GPP2規(guī)范的標準接口,以實現(xiàn)不同廠商之間產(chǎn)品的對接,而設(shè)備內(nèi)部的功能實現(xiàn)是自主的。在NodeB設(shè)計中有一塊控制板,主要完成Uu接口和Iub接口信令處理及Node B監(jiān)控維護。控制板的核心是一塊高檔CPU,另外還有一塊AT89s8252單片機,其硬件總體結(jié)構(gòu)如圖1。
單片機在控制板中起承上啟下的作用,主要完成以下任務(wù):
(1)輪詢" title="輪詢">輪詢和搜集RS485總線上單板的串口" title="串口">串口消息。
(2)與串口擴展模塊PCM9576通信,將RS485總線上的單板信息轉(zhuǎn)發(fā)給CPU,同時將CPU命令下發(fā)給RS485總線上的單板。
(3)負責(zé)控制板主備倒換。
(4)配置和監(jiān)控以太網(wǎng)。
單片機部分的設(shè)計可根據(jù)功能要求分為四個模塊:(1)上電" title="上電">上電初始化模塊;(2)串口通信" title="串口通信">串口通信模塊;(3)主備倒換模塊;(4)配置以太網(wǎng)模塊。
2 上電初始化
單片機的上電初始化主要分為兩部分:一是單片機自檢;二是與CPU通信,并上傳初始化信息。
單片機自檢主要是檢測相關(guān)的外圍器件和單片機自身檢測等。
與CPU通信是保證控制板正常工作必不可少的條件??刂瓢逯饕蒀PU和單片機完成控制功能。CPU和單片機同時上電,單片機的初始化工作將先于CPU完成。單片機通過I/O口獲得參與主備競爭的控制板主備狀態(tài)和槽位號等初始化信息,并通過串口向CPU發(fā)送,直到得到CPU回應(yīng)。如在規(guī)定的時間內(nèi)沒有得到CPU響應(yīng),單片機必須發(fā)起主備切換。
3 串口通信
使用FIFO為16B的擴展串行芯片ST16C2552對單片機的串口進行擴展,沒有使用內(nèi)置串口。這樣做的好處是形式統(tǒng)一,利于軟件的統(tǒng)一處理,同時增加了緩沖區(qū)。其中一個串口與CPU相連,另一個串口掛在RS485總線上,與基帶板、射頻板、背板等類型的單板通信。
串口程序分為輪詢RS485總線上單板的模塊和與CPU通信的模塊。其中485總線模塊完成差錯處理、數(shù)據(jù)接收、數(shù)據(jù)發(fā)送、流量控制等功能。單片機與CPU之間主要傳遞主備切換和輪詢單板的信息。
3.1 與485總線的通信
RS485總線上的通信過程主要由三部分組成:建立鏈路" title="鏈路">鏈路、鏈路斷開、數(shù)據(jù)通信。采用主從方式發(fā)送,用停等應(yīng)答機制實現(xiàn)軟件流控。
(1)建立數(shù)據(jù)連接
單片機向485總線上各單板輪詢,分別發(fā)送命令消息或輪詢消息,同時建立鏈路。
(2)數(shù)據(jù)通信
在RS485鏈路上發(fā)送通信數(shù)據(jù)包時,首先設(shè)置一個惟一的編號,并且啟動定時器,等待回應(yīng)。若在定時器到達之前接收到單板回應(yīng),則認為數(shù)據(jù)發(fā)送成功;否則等時間到后重新發(fā)送此數(shù)據(jù)。
(3)鏈路斷開
對于采用RS485方式的串口通信鏈路,單板在規(guī)定時間內(nèi)發(fā)送完數(shù)據(jù)后,該邏輯鏈路斷開,控制板繼續(xù)輪詢下一單板。
3.2 與CPU子板串口通信
單片機與CPU之間的串口通信采用停等式滑動窗口作為差錯和流量控制手段。
在該鏈路上,CPU和單片機是對等的,即都能向?qū)Ψ桨l(fā)送命令,同時也能響應(yīng)對方的命令。
單片機每向CPU發(fā)送一個消息,單片機串口通信處理模塊便啟動一個定時器,等待回應(yīng)數(shù)據(jù)的到來。在定時器到達之前,若成功地接收到串口發(fā)送的數(shù)據(jù),則認為數(shù)據(jù)發(fā)送成功;沒有接收到回應(yīng),則重新發(fā)送這些數(shù)據(jù);多次重新發(fā)送數(shù)據(jù)失敗,則認為鏈路中斷。
單片機收到CPU的消息,必須回應(yīng)CPU。
CPU定期向單片機發(fā)送鏈路檢測幀,單片機給出回應(yīng),以保證鏈路通暢。
4 主備倒換
為了提高控制板的可靠性,模塊采取主備形式進行熱備份??刂瓢迳想姾筮M行模塊自檢,只有自檢成功的單板才能參與主備競爭。主備競爭結(jié)束后,一塊為主板,另一塊為備板;在工作過程中,主板和備板之間通過以太網(wǎng)進行主備之間的數(shù)據(jù)交換,達到熱備份目的。同時,在主板出現(xiàn)異常情況時,會自動進行主備切換。
主備控制板之間有主備競爭連線、在位檢測連線、復(fù)位對板連線以及故障指示連線。主備控制板上電后首先進行主備競爭,由單片機上報主備狀態(tài)。在正常運行過程中,各個單板上的單片機和邏輯電路負責(zé)監(jiān)測本板和對板連接電路的狀態(tài),一旦發(fā)生主板故障立即進行倒換。
控制板內(nèi)單片機通過與相應(yīng)的EPLD邏輯連接實現(xiàn)單板的主備切換邏輯控制;同時單片機通過RS232串口與PCM9576通信,完成整個單板的狀態(tài)監(jiān)測。
在下列情況下,控制板產(chǎn)生主備倒換:
(1)當主板被拔出、掉電和復(fù)位時,主板發(fā)生主備倒換。主板產(chǎn)生一個外部中斷通知對板上的單片機,對板單片機向EPLD中寫控制寄存器實現(xiàn)主備倒換。把該中斷解釋成主備倒換的消息,在50ms內(nèi)通過串口告知本板的CPU模塊。
(2)當以太網(wǎng)失控、OAM發(fā)出切換時,由CPU發(fā)出主備切換命令給單片機,單片機向EPLD中寫控制寄存器實現(xiàn)主備倒換。
這部分軟件模塊主要實現(xiàn)對外部中斷的響應(yīng)和與CPU串口例程間的協(xié)調(diào)。
由于串口鏈路只建立在CPU子板與單片機之間,與外界無任何聯(lián)系,主備倒換發(fā)生時,不進行任何處理,繼續(xù)維持CPU子板與單片機之間的鏈路。
5 配置以太網(wǎng)模塊
控制板中的以太網(wǎng)分為控制網(wǎng)和業(yè)務(wù)網(wǎng)交換兩部分。
控制板內(nèi)部由2片BCM5328構(gòu)成12口的10/100Mbps自適應(yīng)無阻塞以太網(wǎng)交換,實現(xiàn)NodeB內(nèi)部控制網(wǎng)的無阻塞交換。
控制網(wǎng)的路由表采用靜態(tài)路由,上電時由控制板內(nèi)部的PCM9576通過SPI口配置。
業(yè)務(wù)網(wǎng)內(nèi)部由3片BCM5328構(gòu)成25口的10/100Mbps自適應(yīng)無阻塞以太網(wǎng)交換,實現(xiàn)NodeB內(nèi)部業(yè)務(wù)網(wǎng)的無阻塞交換。
業(yè)務(wù)網(wǎng)的路由表采用靜態(tài)路由,上電時由內(nèi)部的PCM9576通過SPI口配置。
控制板板內(nèi)5片BCM5328的路由表設(shè)置和狀態(tài)監(jiān)控都通過SPI接口完成。SPI口的讀寫時序由單片機管腳通過SPI端口實現(xiàn)。由于BCM5328的SPI規(guī)定最多只能尋址4片BCM5328芯片,所以SPI接口連接到EPLD,通過單片機另外連接一個控制腳,控制SPI切換到業(yè)務(wù)網(wǎng)或控制網(wǎng)。單片機配置以太網(wǎng)的SPI讀流程如圖2。
限于篇幅,不能詳盡所有的實現(xiàn)方法和實驗數(shù)據(jù)。本系統(tǒng)經(jīng)過試驗網(wǎng)的測試證明運行穩(wěn)定,單片機完全可以實現(xiàn)許多功能。這充分說明了在大系統(tǒng)設(shè)計中將高端與低端、昂貴與便宜的CPU相結(jié)合,可使它們相互配合共同完成復(fù)雜的功能。
參考文獻
1 孫立新.第三代移動通信技術(shù).北京:人民郵電出版社,2000