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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MC9S12NE64型單片機(jī)的嵌入式以太網(wǎng)連接

          基于MC9S12NE64型單片機(jī)的嵌入式以太網(wǎng)連接

          ——
          作者:胡榮強(qiáng),李濤,徐丹 (武漢理工大學(xué) 自動(dòng)化學(xué)院 湖北 武漢 430070) 時(shí)間:2007-01-26 來(lái)源:《國(guó)外電子元器件》 收藏

          1 引言

          隨著互聯(lián)網(wǎng)的出現(xiàn)和以太網(wǎng)的迅速發(fā)展,基于以太網(wǎng)的設(shè)備控制越來(lái)越多,發(fā)展也越來(lái)越快,目前,以太網(wǎng)(ethernet)已經(jīng)廣泛地應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò),通過(guò)以太網(wǎng)及tcp/ip協(xié)議??梢允共煌木W(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)互聯(lián)、交換數(shù)據(jù)。
          用以太網(wǎng)實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)連接有多種方案,傳統(tǒng)的多器件以太網(wǎng)連接方案是通過(guò)mcu擴(kuò)展以太網(wǎng)控制器來(lái)實(shí)現(xiàn)的,必要時(shí)還需要擴(kuò)展外部ram和rom。雖然這種方案應(yīng)用起來(lái)不是很困難,但所用外部元件數(shù)量較多,系統(tǒng)開(kāi)銷(xiāo)較大,穩(wěn)定性不高。為了解決傳統(tǒng)方案的不足,本文討論以集成以太網(wǎng)mac層和物理層的16位單片機(jī)mc9s12ne64來(lái)實(shí)現(xiàn)單器件以太網(wǎng)連接。與多器件方案相比,單器件連接方案具有所用外部元件少、系統(tǒng)開(kāi)銷(xiāo)小、穩(wěn)定性高、設(shè)計(jì)時(shí)間短等一系列優(yōu)點(diǎn)。

          2 mc9s12ne64簡(jiǎn)介

          mc9s12ne64是freescale公司生產(chǎn)的基于hcs12 cpu內(nèi)核的16位單片機(jī),利用它可以方便地實(shí)現(xiàn)單器件以太網(wǎng)連接,構(gòu)成一個(gè)完整的終端節(jié)點(diǎn)。mc9s12ne64的內(nèi)部功能模塊框圖如圖1所示,主要特性如下:

          采用高性能16位hcs12cpu內(nèi)核,3.3v下工作頻率可達(dá)到25mhz或10mips,具有優(yōu)化的c語(yǔ)言體系結(jié)構(gòu),可以生成十分簡(jiǎn)潔的代碼。

          帶有片上調(diào)試接口,可以進(jìn)行實(shí)時(shí)在線仿真和調(diào)試,而無(wú)需仿真器。
          集成了64kb的flash內(nèi)存和 8kb的靜態(tài)ram,能夠滿足大多數(shù)的應(yīng)用場(chǎng)合,如果需要還可進(jìn)行外部擴(kuò)展。

          集成了10/100mbps以太網(wǎng)媒介訪問(wèn)控制器(emac),內(nèi)置標(biāo)準(zhǔn)的媒介獨(dú)立接口(mii),可以實(shí)現(xiàn)地址識(shí)別及過(guò)濾,以太類(lèi)型過(guò)濾,支持半雙工和全雙工通信,具有和8kb ram共用可配置的emac緩沖區(qū),包括一個(gè)發(fā)送緩沖區(qū)和兩個(gè)接收緩沖區(qū),mc9s12n64的ram以2倍于cpu的速度運(yùn)行,使得cpu和emac緩沖區(qū)可以交叉存取數(shù)據(jù)。

          集成了10/100mbps以太網(wǎng)物理層(ephy),支持自動(dòng)協(xié)商模式,支持半雙工和全雙工的通信,并具有自診斷功能。

          帶有8通道10位模數(shù)轉(zhuǎn)換器(adc)、4通道16位定時(shí)器、2個(gè)串行通信接口(sci),1個(gè)高速串行外設(shè)接口(spi),1個(gè)具有256種時(shí)鐘速度選項(xiàng)的i2c接口,具備使用鎖相回路的時(shí)鐘及復(fù)位發(fā)生器(crg)模塊,有多達(dá)70個(gè)通用i/o口,具有80引腳tqfp-ep和112引腳lqfp兩種封裝。

          3 mc9s12ne64的簡(jiǎn)單應(yīng)用

          3.1 硬件設(shè)計(jì)

          利用mc9s12ne64可以構(gòu)成不同功能的網(wǎng)絡(luò)終端節(jié)點(diǎn),如網(wǎng)絡(luò)服務(wù)器、帶因特網(wǎng)功能的設(shè)備、遠(yuǎn)程監(jiān)控(數(shù)據(jù)采集/診斷)、對(duì)現(xiàn)場(chǎng)設(shè)備的遠(yuǎn)程控制、遠(yuǎn)程設(shè)備通過(guò)電子郵件或文字尋呼機(jī)發(fā)送消息等。

          基于mc9s12ne64最少外圍器件的系統(tǒng)硬件電路原理圖如圖2所示。此最小系統(tǒng)由80引腳的bc9s12ne64與外圍器件組成,電路中帶有背景調(diào)試接頭j1;5個(gè)led狀態(tài)指示燈(分別用來(lái)顯示網(wǎng)絡(luò)連接狀態(tài),包括ephy是否沖突、連接是否建立、是否接收數(shù)據(jù)、連接速度、雙工模式);必需的偏置電阻r5;高速局域網(wǎng)電磁隔離模塊(即rj45以太網(wǎng)接口)。其中phy_txp和phy_txn為發(fā)送線,phy_rxp和pgy_rxn為接收線。設(shè)計(jì)時(shí),mc9s12ne64的物理端口與隔離變壓器連接時(shí)必須符合ieee802.3對(duì)物理層規(guī)范的要求,如rj45的插孔與隔離變壓器的間隔應(yīng)盡量小,輸出和輸入差分信號(hào)對(duì)的走線要很好的隔離,確保電源的額定負(fù)載電流不小于300ma。設(shè)計(jì)時(shí)還應(yīng)注意系統(tǒng)時(shí)鐘的要求,mc9s12ne64只支持皮爾斯型振蕩電路,晶振的精度應(yīng)高于25ppm。系統(tǒng)中mc9s12ne64工作在正常的單片模式,其內(nèi)部穩(wěn)壓電源處于工作狀態(tài)。

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

          3.2 mc9s12ne64的初始化

          mc9s12ne64單片機(jī)在工作之前,必須進(jìn)行必要的初始化,主要包括時(shí)鐘及復(fù)位發(fā)生器(crg)模塊、emac模塊、ephy模塊等。雖然mc9s12ne64上的emac和ephy被設(shè)計(jì)為兩個(gè)獨(dú)立的模塊,但如果用到內(nèi)部的ephy,則emac和ephy必須同時(shí)進(jìn)行初始化。

          mc9s12ne64的初始化過(guò)程如下:

          (1)初始化時(shí)鐘及復(fù)位發(fā)生器模塊來(lái)產(chǎn)生25mhz的內(nèi)部總線時(shí)鐘,這一過(guò)程通過(guò)設(shè)置時(shí)鐘及服務(wù)發(fā)生器(crg)模塊的寄存器表來(lái)完成。
          (2)設(shè)置ephyctl0寄存器的dis10和dis100位為1,使ephy時(shí)鐘無(wú)效,直到emac和ephy配置完畢。
          (3)通過(guò)ephyctl1寄存器的ephyadd0、ephyadd1、ephyadd2、ephyadd3、ephyadd4來(lái)配置mii請(qǐng)求的ephy地址。
          (4)配置自動(dòng)協(xié)商模式。設(shè)置ephyctl0寄存器的andis位為0,使用自動(dòng)協(xié)商模式。
          (5)設(shè)置ephyctl0寄存器的leden位為1允許ephy驅(qū)動(dòng)led信號(hào)。設(shè)置ephyctl0寄存器的ephyien位為1使ephy中斷有效。設(shè)置ephyctl0寄存器的ephyen位為1使ephy有效工作,這樣就可以實(shí)現(xiàn)emac和ephy間的介質(zhì)無(wú)關(guān)接口(mii)操作。
          (6)設(shè)置mcmst寄存器的mdcsel位為0xa,來(lái)配置emac管理數(shù)據(jù)時(shí)鐘(emac mdc)。
          (7)設(shè)置bufcfg寄存器的bufmap位來(lái)配置emac以太網(wǎng)緩沖區(qū)的大小。bufmap的值用來(lái)確定系統(tǒng)ram中用戶(hù)ram和emac緩沖區(qū)的比例。bufmap最大為4,這時(shí)單個(gè)緩沖區(qū)的大小為1.5k字節(jié),正好可以存放一個(gè)最大的以太網(wǎng)幀。大于緩沖區(qū)大小的數(shù)據(jù)包將被過(guò)濾掉,設(shè)計(jì)時(shí)應(yīng)合理選擇。設(shè)置bufcfg寄存器的maxfl位來(lái)指定接受的最大幀長(zhǎng)度,使緩沖區(qū)起到了數(shù)據(jù)過(guò)濾的作用。
          (8)通過(guò)macad寄存器來(lái)配置6字節(jié)的mac地址。如果設(shè)備不連接到因特網(wǎng),則mac地址可自行定義。
          (9)設(shè)置etctl寄存器為0x17來(lái)控制網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)類(lèi)型。
          (10)通過(guò)設(shè)置rxctl寄存器的prom、conmc和bcrej位來(lái)配置emac的mac地址過(guò)濾模式。如果不是自動(dòng)協(xié)商模式,則還需要設(shè)置rfce來(lái)實(shí)現(xiàn)接收流控制。
          (11)設(shè)置netctl寄存器為0x81來(lái)配置emac的工作模式,并使emac正常工作。
          (12)設(shè)置imask寄存器來(lái)配置允許的emac中斷信號(hào),如需要允許某種中斷請(qǐng)求信號(hào),則將相應(yīng)的位置1。
          (13)設(shè)置txcts寄存器的ptrc位和設(shè)置ptime寄存器來(lái)初始化和傳遞暫停持續(xù)時(shí)間。
          (14)設(shè)置系統(tǒng)中斷為允許系統(tǒng)中斷。
          (15)通過(guò)emac mii管理接口來(lái)設(shè)置ephy,包括設(shè)置速度、雙工模式和流控制, 設(shè)置ephy中斷控制寄存器來(lái)配置ephy中斷控制。
          (16)在自動(dòng)協(xié)商模式下,通過(guò)設(shè)置ephyctl0寄存器的dis10和dis100位為0來(lái)啟動(dòng)ephy時(shí)鐘發(fā)生器。當(dāng)自動(dòng)協(xié)商完成且連接建立后,協(xié)商暫定和雙工設(shè)置由ephy mii寄存器決定。emac必須由rxcts寄存器的frce位和netctl的fdx位所設(shè)定的配置來(lái)更新協(xié)商暫定和雙工設(shè)置。

          至此,mc9s12ne64初始化完成,可以完成emac和ephy間的數(shù)據(jù)接收和發(fā)送。要實(shí)現(xiàn)系統(tǒng)與以太網(wǎng)上其他設(shè)備(如pc機(jī))的通信,只需要實(shí)現(xiàn)tcp/ip協(xié)議棧就可以了。由于單片機(jī)內(nèi)部資源不足,難以支持完整的tcp/ip協(xié)議棧,故針對(duì)各個(gè)系統(tǒng)的特點(diǎn)和功能來(lái)設(shè)定特定的tcp/ip協(xié)議棧,僅實(shí)現(xiàn)與需要相關(guān)的協(xié)議即可,如arp協(xié)議、ip協(xié)議、icmp協(xié)議、tcp協(xié)議、udp協(xié)議、smtp協(xié)議、http協(xié)議等。

          系統(tǒng)初始化后進(jìn)入主程序循環(huán),包括單片機(jī)的控制作用和網(wǎng)絡(luò)數(shù)據(jù)傳輸。對(duì)于以太網(wǎng)傳輸部分來(lái)說(shuō),主要有兩個(gè)作用:一是對(duì)要發(fā)送的數(shù)據(jù)按照以太網(wǎng)數(shù)據(jù)幀格式進(jìn)行封裝并發(fā)送;二是對(duì)接收的以太網(wǎng)數(shù)據(jù)幀進(jìn)行解包共應(yīng)用程序使用。主程序通過(guò)嵌入tcp/ip協(xié)議來(lái)實(shí)現(xiàn)單片機(jī)的以太網(wǎng)通信。

          4 結(jié)束語(yǔ)

          筆者用mc9s12ne64型16位單片機(jī)實(shí)現(xiàn)了基于tcp/ip協(xié)議的嵌入式以太網(wǎng)通信,隨著數(shù)字化、智能化儀器的飛速發(fā)展,采用以太網(wǎng)進(jìn)行通信的應(yīng)用將會(huì)越來(lái)越廣泛。mc9s12ne64內(nèi)置了以太網(wǎng)mac層核物理層,用它可以方便地實(shí)現(xiàn)單電路以太網(wǎng)連接。使用于工業(yè)控制、保安系統(tǒng)、用戶(hù)卡表、商業(yè)自動(dòng)化、樓宇控制、照明管理、醫(yī)療檢測(cè)、自動(dòng)售貨機(jī)環(huán)境監(jiān)控器、銷(xiāo)售設(shè)備終端和家庭自動(dòng)化等。

          tcp/ip相關(guān)文章:tcp/ip是什么




          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();