當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:本文分析基于單片機(jī)的以太網(wǎng)連接方案,介紹MC9S12NE64型16位單片機(jī)的特性及其最小系統(tǒng)的硬件設(shè)計(jì),給出MC9S12NE64的初始化過(guò)程、主程序和TCP/IP協(xié)議棧實(shí)現(xiàn)的思想。1 引言  隨著互聯(lián)網(wǎng)的出現(xiàn)和以太網(wǎng)的迅速發(fā)

摘要:本文分析基于單片機(jī)的以太網(wǎng)連接方案,介紹MC9S12NE64型16位單片機(jī)的特性及其最小系統(tǒng)的硬件設(shè)計(jì),給出MC9S12NE64的初始化過(guò)程、主程序和TCP/IP協(xié)議棧實(shí)現(xiàn)的思想。

1 引言

  隨著互聯(lián)網(wǎng)的出現(xiàn)和以太網(wǎng)的迅速發(fā)展,基于以太網(wǎng)的設(shè)備控制越來(lái)越多,發(fā)展也越來(lái)越快。目前,以太網(wǎng)(EtImmet)已經(jīng)廣泛地應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò),通過(guò)以太網(wǎng)及TCP/IP協(xié)議棧可以使不同的網(wǎng)絡(luò)設(shè)備實(shí)現(xià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)銷較大。穩(wěn)定性不高。為了解決傳統(tǒng)方案的不足,本文討論以集成以太網(wǎng)MAC層和物理層的16位單片機(jī)MC9S12NE64來(lái)實(shí)現(xiàn)單器件以太網(wǎng)連接。與多器件方案相比.單器件連接方案具有所用外部元件少、系統(tǒng)開(kāi)銷小、穩(wěn)定性高、設(shè)計(jì)時(shí)間短等一系列優(yōu)點(diǎn)。

2 MC9S12NE64簡(jiǎn)介

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

  采用高性能16位HCSl2CPU內(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的nash內(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ò)濾、以太類型過(guò)濾,支持半雙工和全雙工通信,具有和8KB RAM共用可配置的EMAC緩沖區(qū),包括一個(gè)發(fā)送緩沖區(qū)和兩個(gè)接收緩沖區(qū),MC9S12NE64的RAM以2倍于CPU的速度運(yùn)行,使得CPU和EMAC 緩沖區(qū)可以交叉存取數(shù)據(jù)。

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

帶有8通道10位模數(shù)轉(zhuǎn)換器fADC)、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兩種封裝。

[!--empirenews.page--]
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引腳的MC9S12NE64與外圍器件組成,電路中帶有背景調(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)。

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í)鐘及復(fù)位發(fā)生器(CRG)模塊的寄存器表來(lái)完成。
 (2)設(shè)置EPHYCTL0寄存器的DIS10和DIS100位為1,使EPHY時(shí)鐘無(wú)效,直到EMAC和EPHY配置完畢。
 (3)通過(guò)EPHYCTL1寄存器的:EPHYADD0、E-PHYADD1、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í)鐘(EMACMDC)。
 (7)設(shè)置BUFCFG寄存器的BUFMAP位來(lái)配置EMAC以太網(wǎng)緩沖區(qū)的大小。BUFMAP的值用來(lái)確定系統(tǒng)RAM中用戶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ù)類型。
 (10)通過(guò)設(shè)置RXCTL寄存器的PROM、CON-MC和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è)置PTI-ME寄存器來(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é)議、HTYP協(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ǔ)

隨著數(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)、用戶卡表、商業(yè)自動(dòng)化、樓宇控制、照明管理、醫(yī)療檢測(cè)、自動(dòng)售貨機(jī)環(huán)境監(jiān)控器、銷售設(shè)備終端和家庭自動(dòng)化等。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉