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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 一種基于VPN網(wǎng)關(guān)的電原理設(shè)計(jì)與實(shí)現(xiàn)

          一種基于VPN網(wǎng)關(guān)的電原理設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2009-03-25 來(lái)源:網(wǎng)絡(luò) 收藏

          1.引言
          PowerPC MPC8xx(Power QUICC[1],Quad Integrated Communications Controller)是一款集成了微處理器和外圍器件控制器的通信處理器,可以用于多種通信設(shè)備中。PowerPC有優(yōu)異的通信和網(wǎng)絡(luò)性能,同x86 CPU的工控機(jī)平臺(tái)相比,PowerPC更適合用于專門的網(wǎng)絡(luò)設(shè)備,可以提高產(chǎn)品的性價(jià)比和可靠性,使產(chǎn)品具有更強(qiáng)的競(jìng)爭(zhēng)力。
          在PowerPC MPC8xx系列中,根據(jù)要求,選擇性價(jià)比較高的作為安全的控制器。由三個(gè)模塊組成,每一個(gè)模塊使用32-bit的內(nèi)部總線:PowerPC核、系統(tǒng)接口單元(SIU)和通信處理模塊(CPM)。
          2.
          2.1 總體結(jié)構(gòu)

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

          硬件由主板、加密算法板、LCD顯示板、燈板、電源、風(fēng)扇、機(jī)殼組成。其中主板和加密算法板的,占整個(gè)硬件設(shè)計(jì)任務(wù)量的90%以上,本論文只針對(duì)這兩個(gè)板的設(shè)計(jì)。
          主板由CPU部分、存儲(chǔ)器部分、通信接口部分、加密算法及隨機(jī)序列產(chǎn)生模塊部分、調(diào)試及配置接口部分、電源等部分組成。主板的電框圖由圖1所示。
          2.2 復(fù)位電路
          復(fù)位控制器對(duì)出現(xiàn)的復(fù)位源作出響應(yīng)。所采取的動(dòng)作決定于復(fù)位源,但通常它執(zhí)行異常處理向量表中0x100位置的程序并初始化MODCK[1-2]和總線管腳0到14的特殊參數(shù)。
          有幾個(gè)復(fù)位源連接到復(fù)位邏輯,其中3個(gè)復(fù)位源為管腳。即上電復(fù)位(Power-On Reset),硬復(fù)位(Hard Reset),軟復(fù)位(Soft Reset)。上電時(shí)產(chǎn)生硬和軟復(fù)位管腳設(shè)置,這時(shí)硬和軟復(fù)位管腳為輸出。但是,當(dāng)系統(tǒng)已上電并運(yùn)行時(shí),可以配置按鈕或相似設(shè)備以產(chǎn)生外部軟或硬復(fù)位,在這種模式,管腳為輸入。圖2為上電復(fù)位和硬復(fù)位順序圖。

          由圖2可知,當(dāng)上電(Power-On)設(shè)置時(shí),MPC855T進(jìn)入上電復(fù)位狀態(tài)。在該狀態(tài)下設(shè)置硬復(fù)位和軟復(fù)位。隨后,855T采樣MODCK管腳,并初始化系統(tǒng)時(shí)鐘。設(shè)備保持在上電復(fù)位狀態(tài)直到上電復(fù)位翻轉(zhuǎn),鎖相環(huán)(PLL)鎖定。最后,芯片進(jìn)入內(nèi)部初始化的硬復(fù)位狀態(tài)。
          2.3 時(shí)鐘電路
          MPC855T時(shí)鐘模塊包含主晶體振蕩器(OCSM)、系統(tǒng)鎖相環(huán)(SPLL)、低功耗除法器和時(shí)鐘產(chǎn)生/驅(qū)動(dòng)模塊,在復(fù)位時(shí),MPC855T讀MODCK[1-2]管腳。

          在XTAL和EXTAL端,外接32.768kHz的晶體時(shí)鐘電路作為CPU的實(shí)時(shí)時(shí)鐘源。在斷電的瞬間,要求PORESET保持高電平,否則會(huì)引起CPU進(jìn)入不定狀態(tài),其內(nèi)部的實(shí)時(shí)時(shí)鐘不能正常工作。通過(guò)實(shí)驗(yàn),在復(fù)位芯片MAX811_EUS-T的電源端接一47µF的電解電容,以使在斷電瞬間,保持PORESET為高電平。經(jīng)反復(fù)測(cè)試,工作可靠。在XFC管腳上,應(yīng)連接一片外電容器,用于片內(nèi)系統(tǒng)鎖相環(huán)(SPLL)濾波器。電容器的一端連到XFC。電容器的值與PLPRCR[MF]有關(guān),其取值由表1決定。在本設(shè)計(jì)中,MF+1=8。由表1可知,XFC的電容值為6640-11760pF,故使用0.01µF的電容器。
          2.4 串行管理控制器(SMC)接口電路
          SMC有2個(gè)全雙工通道,可以編程配置它們獨(dú)立支持UART,透明方式和GCI。SMC使用緩存描述字符,緩存在存儲(chǔ)器中,SMC向CPM RISC提供請(qǐng)求,使SDMA傳送數(shù)據(jù)。每個(gè)SMC有3個(gè)管腳,一個(gè)發(fā)送管腳,一個(gè)接收管腳步和一個(gè)同步管腳,同步管腳在發(fā)送和接收開始后,只用于透明方式。圖3說(shuō)明了端口B中這些管腳的位置。有的管腳可以共用,必須根據(jù)需要配置這個(gè)端口,它可以通過(guò)端口配置寄存器。
          根據(jù)設(shè)計(jì)要求,將SMC1和SMC2配置成UART,外接232電平轉(zhuǎn)換芯片MAX3232,其中SMC1用于控制臺(tái)(Console)接口,由DB9座(針或孔可選)引出;SMC2分時(shí)用于前面板LCD顯示控制和與IC卡讀寫器(可選)的通信,通過(guò)模擬開關(guān)74HCT4053進(jìn)行切換,其控制由口線PB[30]完成。

          2.5 串行通信控制器(SCC)接口電路
          串行通信控制是MPC855T中最強(qiáng)大的通信設(shè)備,它可以以多種不同的協(xié)議傳送數(shù)據(jù),比如UART HDLC,以太網(wǎng)等等。圖4說(shuō)明在不考慮使用什么協(xié)議下的數(shù)據(jù)通信工作流程。
          在接收數(shù)據(jù)的FIFO中,當(dāng)接收FIFO開始充滿時(shí),CPM向SCC發(fā)請(qǐng)求。然后請(qǐng)求CPM RISC寫SDMA,以將接收的FIFO數(shù)據(jù)移到當(dāng)前接收緩存,接收緩存通常在外部存儲(chǔ)器。有一個(gè)為發(fā)送數(shù)據(jù)的發(fā)送FIFO,當(dāng)發(fā)送FIFO空時(shí),SCC向請(qǐng)求優(yōu)先器發(fā)一個(gè)請(qǐng)求,CPM RISC響應(yīng)這個(gè)請(qǐng)求后,寫SDMA,將從當(dāng)前激活的發(fā)送緩存來(lái)的操作碼移入發(fā)送FIFO。發(fā)送緩存描述符與接收緩存描述符功能相同,在雙端口RAM中有一組發(fā)送緩存描述符,開始的描述符逐個(gè)激活,指針從一個(gè)描述符移向另一個(gè)描述符。緩存描述符總是在雙端口RAM中,由用戶初始化。圖5為SCC管腳,SCC連接5個(gè)管腳:發(fā)送、接收、載波檢測(cè)、清發(fā)送和請(qǐng)求發(fā)送。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();