嵌入式同步時(shí)鐘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘 要:本文介紹了一種基于嵌入式微控制器MSP430構(gòu)建的嵌入式同步時(shí)鐘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案,在實(shí)現(xiàn)了網(wǎng)絡(luò)時(shí)鐘同步的基礎(chǔ)上又提供了方便易用的網(wǎng)絡(luò)管理接口。
關(guān)鍵詞:同步時(shí)鐘;MSP430單片機(jī);數(shù)字鎖相環(huán);CPLD
同步時(shí)鐘系統(tǒng)是同步設(shè)備中實(shí)現(xiàn)同步通信的核心,因此,要實(shí)現(xiàn)數(shù)字同步網(wǎng)的設(shè)備同步就要求同步時(shí)鐘系統(tǒng)一方面要能提供精確的定時(shí)同步,另一方面還要能方便實(shí)現(xiàn)網(wǎng)絡(luò)管理中心對(duì)同步時(shí)鐘的管理。本文詳細(xì)介紹了利用嵌入式微控制器MSP430單片機(jī)和數(shù)字鎖相環(huán)(DPLL)來實(shí)現(xiàn)嵌入式同步時(shí)鐘系統(tǒng)的方案和設(shè)計(jì)實(shí)例。
圖1 嵌入式同步時(shí)鐘系統(tǒng)結(jié)構(gòu)圖
圖2 I/O接口模塊設(shè)計(jì)原理圖
圖3 時(shí)鐘定時(shí)模塊的邏輯連接圖
圖4 MSP430單片機(jī)與以太網(wǎng)控制器RTL8019AS的連接示意圖
圖5 同步時(shí)鐘運(yùn)行過程圖
系統(tǒng)總體結(jié)構(gòu)
同步設(shè)備的同步時(shí)鐘系統(tǒng)要求能達(dá)到3級(jí)時(shí)鐘標(biāo)準(zhǔn),可使用從SDH網(wǎng)絡(luò)上提取的時(shí)鐘或外部時(shí)鐘源來作為同步的基準(zhǔn)時(shí)鐘信號(hào),同時(shí)也可以通過時(shí)鐘模塊自振來產(chǎn)生時(shí)鐘信號(hào)。產(chǎn)生的這些同步時(shí)鐘信號(hào)為同步設(shè)備進(jìn)行SDH傳輸和為設(shè)備各單板提供同步時(shí)鐘源,同時(shí)同步時(shí)鐘系統(tǒng)還要能夠通過以太網(wǎng)口和網(wǎng)管通信,從而實(shí)現(xiàn)對(duì)同步時(shí)鐘系統(tǒng)的網(wǎng)絡(luò)管理。為了使時(shí)鐘系統(tǒng)能穩(wěn)定可靠地工作,通常還要求有兩塊時(shí)鐘板同時(shí)在線,一塊處于正常工作狀態(tài),另一塊則處于熱備份工作狀態(tài)。隨時(shí)可以進(jìn)行時(shí)鐘的無縫切換。
在功能上,本系統(tǒng)可以分為I/O接口模塊、時(shí)鐘定時(shí)模塊和控制通信模塊三部分。系統(tǒng)結(jié)構(gòu)如圖1所示。
I/O接口模塊
本模塊由時(shí)標(biāo)選擇和分頻控制驅(qū)動(dòng)兩部分組成。時(shí)標(biāo)選擇部分主要完成對(duì)外部輸入時(shí)鐘信號(hào)的緩沖、解碼,通過單片機(jī)選擇其中的一路輸入產(chǎn)生DPLL的參考時(shí)標(biāo)。該系統(tǒng)可支持2路SDH上傳輸?shù)?9440KHz信號(hào)輸入和2路G.703標(biāo)準(zhǔn)的2048KHz或2048Kbps的信號(hào)(支持75W和120W兩種阻抗比配方式)。
分頻控制驅(qū)動(dòng)部分對(duì)DPLL給出的信號(hào)進(jìn)行分頻,形成19.44MHz和6.48MHz信號(hào),根據(jù)主/備用信號(hào)控制輸出。最后由驅(qū)動(dòng)電路形成8路19.44MHz和10路6.48MHz的輸出信號(hào)送交同步設(shè)備各單板。
時(shí)鐘定時(shí)模塊
DPLL完成時(shí)鐘定時(shí)模塊的核心功能。DPLL利用外來的時(shí)標(biāo)信號(hào),使其處于跟蹤方式工作;同時(shí)也可利用單片機(jī)將控制信號(hào)送到其內(nèi)部,使其運(yùn)行在保持或自由振蕩方式。DPLL在工作的同時(shí)又給出自身的工作狀態(tài),如跟蹤、保持、自由振蕩、失鎖、失效、丟失外標(biāo)信號(hào)等情況報(bào)告,通過將這些信息送交單片機(jī)再上報(bào)給網(wǎng)管系統(tǒng)來實(shí)現(xiàn)對(duì)時(shí)鐘系統(tǒng)的監(jiān)控。
控制通信模塊
此模塊包括單片機(jī)和以太網(wǎng)接口模塊兩部分,主要完成主備時(shí)鐘板間的通信、監(jiān)控并上報(bào)時(shí)鐘工作狀態(tài)、接收并執(zhí)行網(wǎng)管下發(fā)的指令。通過以太網(wǎng)接口和網(wǎng)管通信,將網(wǎng)管下發(fā)的指令處理后分發(fā)給各時(shí)鐘模塊,同時(shí)再把從時(shí)鐘模塊收集來的信息上報(bào)給網(wǎng)管。
系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)
I/O接口模塊
首先,外部輸入時(shí)鐘信號(hào)經(jīng)過輸入緩沖/解碼器進(jìn)行緩沖和解碼后變成標(biāo)準(zhǔn)TTL/CMOS電平再送交CPLD處理。當(dāng)CPLD收到時(shí)鐘輸入信號(hào)時(shí)通過單片機(jī)送來的選擇信號(hào)使能一路時(shí)標(biāo)輸入信號(hào),并通過分頻處理輸出到DPLL。最后,DPLL產(chǎn)生的同步時(shí)鐘信號(hào)通過輸出驅(qū)動(dòng)器生成多路需要的輸出信號(hào)送到同步設(shè)備各單板。其設(shè)計(jì)原理圖如圖2所示。
輸入解碼器通過專用的商用芯片來實(shí)現(xiàn)對(duì)符合ITU-T G.703接口的2Mbps時(shí)鐘信號(hào)源進(jìn)行解碼和對(duì)符合ITU-T G.703接口的2MHz時(shí)鐘源信號(hào)和19.44MHz時(shí)鐘源信號(hào)進(jìn)行緩沖,給下一級(jí)輸出標(biāo)準(zhǔn)TTL/CMOS兼容的信號(hào)。輸出驅(qū)動(dòng)器也采用專用的商用時(shí)鐘驅(qū)動(dòng)芯片將同步時(shí)鐘產(chǎn)生的G.813標(biāo)準(zhǔn)的時(shí)鐘信號(hào)輸出給同步設(shè)備的各單板使用。
對(duì)于兩路2.048M和兩路19.44M信號(hào)的輸入,在CPLD內(nèi)部構(gòu)建三個(gè)二選一的多路選擇器來選擇其中一路信號(hào)使能輸入。這三個(gè)多路選擇器的選擇使能信號(hào)存儲(chǔ)在一個(gè)寄存器中,通過向其中寫入不同的值來使能選擇相應(yīng)的一路輸入信號(hào)。再構(gòu)建分頻電路對(duì)選出的信號(hào)進(jìn)行分頻,從而產(chǎn)生時(shí)標(biāo)信號(hào)輸出到DPLL的時(shí)標(biāo)信號(hào)輸入端。
時(shí)鐘定時(shí)模塊
考慮到設(shè)計(jì)的精度與復(fù)雜性,此模塊利用現(xiàn)有的時(shí)鐘定時(shí)單元來構(gòu)建DPLL,使設(shè)計(jì)的周期大大縮短,穩(wěn)定性得到保證。
該模塊采用JWF02時(shí)鐘模塊,它是一獨(dú)立元件,使用方便。它能自適應(yīng)8K、2048K/1544K、10M、19.44MHz四種參考時(shí)標(biāo)輸入;同時(shí)可支持以1KHz的步長從1KHz到20MHz的用戶編程輸入?yún)⒖紩r(shí)標(biāo);用戶可以選擇8K/2048KHz或38.88MHz/19.44MHz輸出。JWF02時(shí)鐘模塊串口和單片機(jī)的串口相連,接收傳送來的時(shí)鐘調(diào)節(jié)指令;時(shí)鐘輸入腳接由I/O接口模塊選擇的時(shí)標(biāo)信號(hào);時(shí)鐘輸出端口將產(chǎn)生的同步時(shí)鐘傳送到輸出驅(qū)動(dòng)器驅(qū)動(dòng)輸出到同步設(shè)備各單板;其時(shí)鐘工作狀態(tài)也可由輸出部分送單片機(jī)供監(jiān)控。其邏輯連接圖如圖3所示。
控制通信模塊
該模塊是整個(gè)嵌入式同步時(shí)鐘系統(tǒng)的控制中心。它接收到網(wǎng)管下達(dá)的指令,并將這些指令實(shí)施到時(shí)鐘定時(shí)模塊,再將時(shí)鐘的工作狀態(tài)通過以太網(wǎng)接口上報(bào)給網(wǎng)管,從而實(shí)現(xiàn)對(duì)同步時(shí)鐘系統(tǒng)的網(wǎng)絡(luò)管理。
該模塊中的單片機(jī)采用TI公司的FLASH型16位MSP430F149嵌入式微控制器。采用C語言作為開發(fā)語言,采用IAR公司提供的集成開發(fā)環(huán)境:IAR Embedded Workbench嵌入式工作臺(tái)以及調(diào)試器C-SPY,大大提高了開發(fā)的進(jìn)度。
以太網(wǎng)接口模塊采用RealTek公司的RTL8019AS全雙工以太網(wǎng)控制器,處理以太網(wǎng)協(xié)議并實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)的收發(fā)。要接收和發(fā)送數(shù)據(jù)包都必須通過DMA讀寫RTL8019AS內(nèi)部自帶的16K的RAM來實(shí)現(xiàn)。RTL8019AS內(nèi)部支持local DMA和remote DMA兩種操作方式,外部通過RJ45接口與以太網(wǎng)進(jìn)行連接通信。該模塊的連接圖如圖4所示。
通信控制模塊主要由軟件來實(shí)現(xiàn)。首先需要對(duì)RTL8019AS以太網(wǎng)控制器的內(nèi)部寄存器進(jìn)行配置,使其能完成以太網(wǎng)數(shù)據(jù)幀的順利收發(fā)。這部分由三個(gè)函數(shù)組成:初始化,接收分組和發(fā)送分組。初始化函數(shù)完成以太網(wǎng)控制器的上電復(fù)位、MAC地址的配置、收發(fā)緩沖環(huán)首尾地址的配置以及DMA的初始化和收發(fā)數(shù)據(jù)格式的定義等。接收時(shí),通過讀取RTL8019AS的當(dāng)前寄存器CURR和邊界寄存器BNRY的值來確定接收環(huán)中是否有分組存在,當(dāng)兩者的值相等時(shí)(有分組),啟動(dòng)remote DMA將接收環(huán)中的以太網(wǎng)幀送交給單片機(jī)處理。發(fā)送數(shù)據(jù)時(shí),單片機(jī)將封裝好的以太網(wǎng)幀通過remote DMA送到RTL8019AS的發(fā)送緩沖環(huán),同時(shí)再啟動(dòng)local DMA將數(shù)據(jù)幀送到以太網(wǎng)線路上傳輸。
要實(shí)現(xiàn)同網(wǎng)管的順利通信,系統(tǒng)還要實(shí)現(xiàn)對(duì)以太網(wǎng)數(shù)據(jù)幀的封裝與拆封,以及對(duì)IP分組的處理等,這些都可以通過在單片機(jī)內(nèi)部構(gòu)造諸如TCP/IP等相應(yīng)的協(xié)議棧來處理。單片機(jī)收到網(wǎng)管傳輸來的以太網(wǎng)數(shù)據(jù)幀后,先去除封裝的頭部,提取出網(wǎng)管下發(fā)的指令,再由單片機(jī)執(zhí)行相應(yīng)操作,實(shí)現(xiàn)網(wǎng)管對(duì)時(shí)鐘的配置管理。同時(shí),單片機(jī)通過查詢時(shí)鐘系統(tǒng)的工作狀態(tài),將它們進(jìn)行編碼后封裝到標(biāo)準(zhǔn)的以太網(wǎng)幀中通過以太網(wǎng)送到網(wǎng)管中心,作為監(jiān)控同步時(shí)鐘系統(tǒng)的信息使用。
另外,通過使用MSP430F149內(nèi)的另一個(gè)串口同另一塊時(shí)鐘板上的單片機(jī)串口相連接,實(shí)現(xiàn)兩塊板之間的通信,保證在主用時(shí)鐘發(fā)生錯(cuò)誤時(shí)能及時(shí)啟動(dòng)切換,做到始終有一個(gè)正常的時(shí)鐘處于工作狀態(tài),提高系統(tǒng)的可靠性。
系統(tǒng)運(yùn)行過程
嵌入式同步時(shí)鐘系統(tǒng)的運(yùn)行過程如圖5所示。
結(jié)語
本文給出了嵌入式同步時(shí)鐘系統(tǒng)的設(shè)計(jì)方案和具體實(shí)現(xiàn)。在設(shè)計(jì)中采用嵌入式設(shè)計(jì)的方法把同步定時(shí)時(shí)鐘部分和網(wǎng)絡(luò)通信部分嵌入到同一塊電路板上,使系統(tǒng)既降低了成本又方便了在線維護(hù),可用作諸如路由器、交換機(jī)等同步網(wǎng)絡(luò)設(shè)備中的時(shí)鐘模塊?!?/p>
參考文獻(xiàn)
1 魏小龍. MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例. 北京:北京航空航天大學(xué)出版社, 2002.11
2 JWF02 TIMING UNIT Data Sheet. Hutchison Optel Telecom Technology Corporation ,2002
評(píng)論