<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式同步時鐘系統(tǒng)的設(shè)計與實(shí)現(xiàn)

          嵌入式同步時鐘系統(tǒng)的設(shè)計與實(shí)現(xiàn)

          作者:■中國人民解放軍信息工程大學(xué) 國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心 趙俊鵬 陳學(xué)梁 時間:2004-11-22 來源:電子設(shè)計應(yīng)用2004年第10期 收藏

          摘    要:本文介紹了一種基于嵌入式微控制器MSP430構(gòu)建的嵌入式系統(tǒng)的設(shè)計與實(shí)現(xiàn)方案,在實(shí)現(xiàn)了網(wǎng)絡(luò)時鐘同步的基礎(chǔ)上又提供了方便易用的網(wǎng)絡(luò)管理接口。
          關(guān)鍵詞:;;;

          本文引用地址:http://www.ex-cimer.com/article/3921.htm

          系統(tǒng)是同步設(shè)備中實(shí)現(xiàn)同步通信的核心,因此,要實(shí)現(xiàn)數(shù)字同步網(wǎng)的設(shè)備同步就要求同步時鐘系統(tǒng)一方面要能提供精確的定時同步,另一方面還要能方便實(shí)現(xiàn)網(wǎng)絡(luò)管理中心對同步時鐘的管理。本文詳細(xì)介紹了利用嵌入式微控制器(DPLL)來實(shí)現(xiàn)嵌入式同步時鐘系統(tǒng)的方案和設(shè)計實(shí)例。

          圖1  嵌入式同步時鐘系統(tǒng)結(jié)構(gòu)圖

          圖2  I/O接口模塊設(shè)計原理圖

          圖3  時鐘定時模塊的邏輯連接圖

          圖4  與以太網(wǎng)控制器RTL8019AS的連接示意圖

          圖5  同步時鐘運(yùn)行過程圖

          系統(tǒng)總體結(jié)構(gòu)
          同步設(shè)備的同步時鐘系統(tǒng)要求能達(dá)到3級時鐘標(biāo)準(zhǔn),可使用從SDH網(wǎng)絡(luò)上提取的時鐘或外部時鐘源來作為同步的基準(zhǔn)時鐘信號,同時也可以通過時鐘模塊自振來產(chǎn)生時鐘信號。產(chǎn)生的這些同步時鐘信號為同步設(shè)備進(jìn)行SDH傳輸和為設(shè)備各單板提供同步時鐘源,同時同步時鐘系統(tǒng)還要能夠通過以太網(wǎng)口和網(wǎng)管通信,從而實(shí)現(xiàn)對同步時鐘系統(tǒng)的網(wǎng)絡(luò)管理。為了使時鐘系統(tǒng)能穩(wěn)定可靠地工作,通常還要求有兩塊時鐘板同時在線,一塊處于正常工作狀態(tài),另一塊則處于熱備份工作狀態(tài)。隨時可以進(jìn)行時鐘的無縫切換。
          在功能上,本系統(tǒng)可以分為I/O接口模塊、時鐘定時模塊和控制通信模塊三部分。系統(tǒng)結(jié)構(gòu)如圖1所示。
          I/O接口模塊
          本模塊由時標(biāo)選擇和分頻控制驅(qū)動兩部分組成。時標(biāo)選擇部分主要完成對外部輸入時鐘信號的緩沖、解碼,通過單片機(jī)選擇其中的一路輸入產(chǎn)生DPLL的參考時標(biāo)。該系統(tǒng)可支持2路SDH上傳輸?shù)?9440KHz信號輸入和2路G.703標(biāo)準(zhǔn)的2048KHz或2048Kbps的信號(支持75W和120W兩種阻抗比配方式)。
          分頻控制驅(qū)動部分對DPLL給出的信號進(jìn)行分頻,形成19.44MHz和6.48MHz信號,根據(jù)主/備用信號控制輸出。最后由驅(qū)動電路形成8路19.44MHz和10路6.48MHz的輸出信號送交同步設(shè)備各單板。
          時鐘定時模塊
          DPLL完成時鐘定時模塊的核心功能。DPLL利用外來的時標(biāo)信號,使其處于跟蹤方式工作;同時也可利用單片機(jī)將控制信號送到其內(nèi)部,使其運(yùn)行在保持或自由振蕩方式。DPLL在工作的同時又給出自身的工作狀態(tài),如跟蹤、保持、自由振蕩、失鎖、失效、丟失外標(biāo)信號等情況報告,通過將這些信息送交單片機(jī)再上報給網(wǎng)管系統(tǒng)來實(shí)現(xiàn)對時鐘系統(tǒng)的監(jiān)控。
          控制通信模塊
          此模塊包括單片機(jī)和以太網(wǎng)接口模塊兩部分,主要完成主備時鐘板間的通信、監(jiān)控并上報時鐘工作狀態(tài)、接收并執(zhí)行網(wǎng)管下發(fā)的指令。通過以太網(wǎng)接口和網(wǎng)管通信,將網(wǎng)管下發(fā)的指令處理后分發(fā)給各時鐘模塊,同時再把從時鐘模塊收集來的信息上報給網(wǎng)管。

          系統(tǒng)的設(shè)計實(shí)現(xiàn)
          I/O接口模塊
          首先,外部輸入時鐘信號經(jīng)過輸入緩沖/解碼器進(jìn)行緩沖和解碼后變成標(biāo)準(zhǔn)TTL/CMOS電平再送交處理。當(dāng)收到時鐘輸入信號時通過單片機(jī)送來的選擇信號使能一路時標(biāo)輸入信號,并通過分頻處理輸出到DPLL。最后,DPLL產(chǎn)生的同步時鐘信號通過輸出驅(qū)動器生成多路需要的輸出信號送到同步設(shè)備各單板。其設(shè)計原理圖如圖2所示。
          輸入解碼器通過專用的商用芯片來實(shí)現(xiàn)對符合ITU-T  G.703接口的2Mbps時鐘信號源進(jìn)行解碼和對符合ITU-T  G.703接口的2MHz時鐘源信號和19.44MHz時鐘源信號進(jìn)行緩沖,給下一級輸出標(biāo)準(zhǔn)TTL/CMOS兼容的信號。輸出驅(qū)動器也采用專用的商用時鐘驅(qū)動芯片將同步時鐘產(chǎn)生的G.813標(biāo)準(zhǔn)的時鐘信號輸出給同步設(shè)備的各單板使用。
          對于兩路2.048M和兩路19.44M信號的輸入,在CPLD內(nèi)部構(gòu)建三個二選一的多路選擇器來選擇其中一路信號使能輸入。這三個多路選擇器的選擇使能信號存儲在一個寄存器中,通過向其中寫入不同的值來使能選擇相應(yīng)的一路輸入信號。再構(gòu)建分頻電路對選出的信號進(jìn)行分頻,從而產(chǎn)生時標(biāo)信號輸出到DPLL的時標(biāo)信號輸入端。
          時鐘定時模塊
          考慮到設(shè)計的精度與復(fù)雜性,此模塊利用現(xiàn)有的時鐘定時單元來構(gòu)建DPLL,使設(shè)計的周期大大縮短,穩(wěn)定性得到保證。
          該模塊采用JWF02時鐘模塊,它是一獨(dú)立元件,使用方便。它能自適應(yīng)8K、2048K/1544K、10M、19.44MHz四種參考時標(biāo)輸入;同時可支持以1KHz的步長從1KHz到20MHz的用戶編程輸入?yún)⒖紩r標(biāo);用戶可以選擇8K/2048KHz或38.88MHz/19.44MHz輸出。JWF02時鐘模塊串口和單片機(jī)的串口相連,接收傳送來的時鐘調(diào)節(jié)指令;時鐘輸入腳接由I/O接口模塊選擇的時標(biāo)信號;時鐘輸出端口將產(chǎn)生的同步時鐘傳送到輸出驅(qū)動器驅(qū)動輸出到同步設(shè)備各單板;其時鐘工作狀態(tài)也可由輸出部分送單片機(jī)供監(jiān)控。其邏輯連接圖如圖3所示。
          控制通信模塊
          該模塊是整個嵌入式同步時鐘系統(tǒng)的控制中心。它接收到網(wǎng)管下達(dá)的指令,并將這些指令實(shí)施到時鐘定時模塊,再將時鐘的工作狀態(tài)通過以太網(wǎng)接口上報給網(wǎng)管,從而實(shí)現(xiàn)對同步時鐘系統(tǒng)的網(wǎng)絡(luò)管理。
          該模塊中的單片機(jī)采用TI公司的FLASH型16位MSP430F149嵌入式微控制器。采用C語言作為開發(fā)語言,采用IAR公司提供的集成開發(fā)環(huán)境:IAR Embedded Workbench嵌入式工作臺以及調(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)。首先需要對RTL8019AS以太網(wǎng)控制器的內(nèi)部寄存器進(jìn)行配置,使其能完成以太網(wǎng)數(shù)據(jù)幀的順利收發(fā)。這部分由三個函數(shù)組成:初始化,接收分組和發(fā)送分組。初始化函數(shù)完成以太網(wǎng)控制器的上電復(fù)位、MAC地址的配置、收發(fā)緩沖環(huán)首尾地址的配置以及DMA的初始化和收發(fā)數(shù)據(jù)格式的定義等。接收時,通過讀取RTL8019AS的當(dāng)前寄存器CURR和邊界寄存器BNRY的值來確定接收環(huán)中是否有分組存在,當(dāng)兩者的值相等時(有分組),啟動remote DMA將接收環(huán)中的以太網(wǎng)幀送交給單片機(jī)處理。發(fā)送數(shù)據(jù)時,單片機(jī)將封裝好的以太網(wǎng)幀通過remote DMA送到RTL8019AS的發(fā)送緩沖環(huán),同時再啟動local DMA將數(shù)據(jù)幀送到以太網(wǎng)線路上傳輸。
          要實(shí)現(xiàn)同網(wǎng)管的順利通信,系統(tǒng)還要實(shí)現(xiàn)對以太網(wǎng)數(shù)據(jù)幀的封裝與拆封,以及對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)管對時鐘的配置管理。同時,單片機(jī)通過查詢時鐘系統(tǒng)的工作狀態(tài),將它們進(jìn)行編碼后封裝到標(biāo)準(zhǔn)的以太網(wǎng)幀中通過以太網(wǎng)送到網(wǎng)管中心,作為監(jiān)控同步時鐘系統(tǒng)的信息使用。
          另外,通過使用MSP430F149內(nèi)的另一個串口同另一塊時鐘板上的單片機(jī)串口相連接,實(shí)現(xiàn)兩塊板之間的通信,保證在主用時鐘發(fā)生錯誤時能及時啟動切換,做到始終有一個正常的時鐘處于工作狀態(tài),提高系統(tǒng)的可靠性。

          系統(tǒng)運(yùn)行過程
          嵌入式同步時鐘系統(tǒng)的運(yùn)行過程如圖5所示。

          結(jié)語
          本文給出了嵌入式同步時鐘系統(tǒng)的設(shè)計方案和具體實(shí)現(xiàn)。在設(shè)計中采用嵌入式設(shè)計的方法把同步定時時鐘部分和網(wǎng)絡(luò)通信部分嵌入到同一塊電路板上,使系統(tǒng)既降低了成本又方便了在線維護(hù),可用作諸如路由器、交換機(jī)等同步網(wǎng)絡(luò)設(shè)備中的時鐘模塊?!?/p>

          參考文獻(xiàn)
          1 魏小龍. MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計實(shí)例. 北京:北京航空航天大學(xué)出版社, 2002.11
          2 JWF02 TIMING UNIT Data Sheet. Hutchison Optel Telecom Technology Corporation ,2002



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();