飛思卡爾MC9S12NE64以太網(wǎng)模塊介紹
MC9S12NE64是Freescale公司生產(chǎn)的基于HCS12 CPU內(nèi)核的16位單片機,內(nèi)嵌EMAC和EPHY模塊。
NE64的以太網(wǎng)模塊實現(xiàn)了以太幀的收發(fā)功能。其中包括以太網(wǎng)介質(zhì)訪問控制模塊(Ethernet Media Access Controller,EMAC)和以太網(wǎng)物理層驅(qū)動模塊(Ethernet PhysicalTransceiver,EPHY),這兩個模塊都遵循IEEE802.3標(biāo)準(zhǔn)。NE64的EMAC模塊和EPHY模塊的內(nèi)部結(jié)構(gòu)如圖所示。
圖中NE64的EMAC模塊和EPHY模塊可以獨立使用,也可以集成使用。如果分開使用則通過MII接口的18個引腳與外界EMAC模塊或者EPHY模塊通信;如果使用內(nèi)部模塊,那么MII接口引腳對這兩個模塊均不可見,這樣以太網(wǎng)模塊對外通信的引腳只有4個:2差分個輸入(RXN、RXP)和2個差分輸出(TXN、TXP)。
1.EPHY模塊
EPHY模塊是物理接口收發(fā)器。支持IEEE-802.3定義的MII(Medium-independentinterface)介質(zhì)無關(guān)端口。MII層定義了MAC和各種物理層之間的標(biāo)準(zhǔn)電氣和機械接口,它們使得EPHY與EMAC之間的數(shù)據(jù)通信、EPHY的配置及通信狀態(tài)的判斷得以實現(xiàn)。EPHY模塊一端與EMAC通信,另一端與傳輸介質(zhì)進行通信。EPHY模塊提供4個存儲映射寄存器和18個MII寄存器,通過設(shè)置這些寄存器,使EPHY模塊正常工作。
EPHY模塊是遵循IEEE 802.3標(biāo)準(zhǔn)并兼容10/100Mbps的以太網(wǎng)收發(fā)器??梢耘渲贸?0BASE-T或者100BASE-TX模式。需要注意的是在外部總線模式下只能選擇10BASE-T模式。
① 10BASE-T模式
10BASE-T模式中10表示傳輸速率為10Mb/S,BASE表示采用基帶傳輸,T(twisted)為雙絞線,每個網(wǎng)段最大傳輸距離為100M,實際傳輸距離受物理連線影響。使用曼徹斯特編碼方式。可以采用3類UTP(Unshielded Twisted-Pair cable 非屏蔽雙絞線)、集線器、RJ-45連接器連接。雙絞線是兩根絕緣導(dǎo)線互相絞結(jié)在一起的一種通用的傳輸介質(zhì),它可減少線間電磁干擾,適用于模擬、數(shù)據(jù)通信。
以太網(wǎng)通信是一種不可靠通信,實際它并不知道通信的對方有沒有真正收到自己發(fā)出的數(shù)據(jù)。以太網(wǎng)中半雙工模式下采用CSMA/CD ( Carrier Sense MultipleAccess/Collision Detect),即載波監(jiān)聽多路訪問/沖突檢測方法。CSMA/CD是一種分布式介質(zhì)訪問控制協(xié)議,網(wǎng)中的各個站(節(jié)點)都能獨立地決定數(shù)據(jù)幀的發(fā)送與接收。每個站在發(fā)送數(shù)據(jù)幀之前,首先要進行載波監(jiān)聽,只有介質(zhì)空閑時,才允許發(fā)送幀。
這時,如果兩個以上的站同時監(jiān)聽到介質(zhì)空閑并發(fā)送幀,則會產(chǎn)生沖突現(xiàn)象,這使發(fā)送的幀都成為無效幀,發(fā)送隨即宣告失敗。每個站必須有能力隨時檢測沖突是否發(fā)生,一旦發(fā)生沖突,則應(yīng)停止發(fā)送,以免介質(zhì)帶寬因傳送無效幀而被白白浪費,然后隨機延時一段時間后,再重新爭用介質(zhì),重發(fā)送幀。
假設(shè)A檢測到網(wǎng)絡(luò)是空閑的,開始發(fā)數(shù)據(jù)包,盡力傳輸,當(dāng)數(shù)據(jù)包還沒有到達B時,B也監(jiān)測到網(wǎng)絡(luò)是空閑的,開始發(fā)數(shù)據(jù)包,這時就會發(fā)生碰撞,B首先發(fā)現(xiàn)發(fā)生碰撞,開始發(fā)送碰撞信號,所謂碰撞信號,就是連續(xù)的01010101或者10101010,十六進制就是55或AA。這個碰撞信號會返回到A,如果碰撞信號到達A時,A還沒有發(fā)完這個數(shù)據(jù)包,A就知道這個數(shù)據(jù)包發(fā)生了錯誤,就會重傳這個數(shù)據(jù)包。但如果碰撞信號到達A時,數(shù)據(jù)包已經(jīng)發(fā)完,則A不會重傳這個數(shù)據(jù)包。
② 100BASE-TX模式
快速以太網(wǎng)技術(shù)100Base-TX是由10Base-T標(biāo)準(zhǔn)以太網(wǎng)發(fā)展而來的,主要解決網(wǎng)絡(luò)帶寬在局域網(wǎng)絡(luò)應(yīng)用中的瓶頸問題??芍С?00Mbps的數(shù)據(jù)傳輸速率,在交換式以太網(wǎng)環(huán)境中可以實現(xiàn)全雙工通信。在編碼上,采用了效率更高的編碼方式4B/5B編碼。對NE64 EPHY模塊的實際通信速度可以采用一些方法進行測試。比如將NE64通過網(wǎng)線(5類UTP)接到交換機的端口上,指示燈閃爍表示連接有效,并以顏色表示數(shù)據(jù)
速率:綠色-100Mbps,黃色-10Mbps。
2.EMAC模塊
MC9S12NE64的EMAC實現(xiàn)了數(shù)據(jù)鏈路層的功能,提供將一臺設(shè)備的網(wǎng)絡(luò)層數(shù)據(jù)傳輸至另一臺設(shè)備的機制。EMAC主要負(fù)責(zé)數(shù)據(jù)的傳輸,具有10Mbps/100Mbps的傳輸能力。在數(shù)據(jù)傳輸之前,EMAC自動對以太幀進行封裝:添加幀的前導(dǎo)位、幀起始位以及CRC校驗碼。此外,EMAC具有MAC地址識別和濾波功能,并能進行錯誤檢測。在半雙工模式下,EMAC采用載波多路訪問和沖突檢測(CSMA/CD)機制;在全雙工模式下,可采用流量控制機制。因此,EMAC模塊的初始化應(yīng)該是包括這些功能在內(nèi)的初始化,它可以通過讀寫EMAC模塊提供的21個寄存器來實現(xiàn)。