置RXCTL寄存器的PROM、CON-MC和BCREJ位來配置EMAC的MAC地址過濾模式。如果不是自動協商模式,則還需要設置RFCE位來實現接收流控制。
(11)設置NETCTL寄存器為0x81來配置EMAC的工作模式,并使EMAC正常工作。
(12)設置IMASK寄存器來配置允許的EMAC中斷信號,如需要允許某種中斷請求信號,則將相應的位置1。
(13)設置TXCTS寄存器的PTRC位和設置PTI-ME寄存器來初始化和傳遞暫停持續時間。
(14)設置系統中斷為允許系統中斷。
(15)通過EMAC MII管理接口來設置EPHY,包括設置速度、雙工模式和流控制,設置EPHY中斷控制寄存器來配置EPHY中斷控制。
(16)在自動協商模式下,通過設置EPHYCTL0寄存器的DIS10和DIS100位為0來啟動EPHY時鐘發生器。當自動協商完成且連接建立后,協商暫定和雙工設置由EPHY MII寄存器決定。EMAC必須由RXCTS寄存器的FRCE位和NETCTL的FDX位所設定的配置來更新協商暫定和雙工設置。
至此。MC9S12NE64初始化完成,可以完成EMAC和EPHY間的數據接收和發送。要實現系統與以太網上其他設備(如PC機)的通信,只需要實現TCP/IP協議棧就可以了。由于單片機內部資源的不足,難以支持完整的TCP/IP協議棧,故針對各個系統的特點和功能來設定特定的TCP/IP協議棧,僅實現與需要相關的協議即可,如ARP協議、IP協議、ICMP協議、TCP協議、UDP協議、SMTP協議、HTYP協議等。
系統初始化后進入主程序循環,包括單片機的控制作用和網絡數據傳輸。對于以太網傳輸部分來說.主要有兩個作用:一是對要發送的數據按照以太網數據幀格式進行封裝并發送;二是對接收的以太網數據幀進行解包供應用程序使用。主程序通過嵌入TCP/IP協議來實現單片機的以太網通信。
4 結束語
筆者用MC9S12NE64型16位單片機實現了基于TCP/IP協議的嵌入式以太網通信。隨著數字化、智能化儀器的飛速發展,采用以太網進行通信的應用將會越來越廣泛。MC9S12NE64內置了以太網MAC層和物理層,用它可以方便地實現單電路以太網連接。適用于工業控制、保安系統、用戶卡表、商業自動化、樓宇控制、照明管理、醫療檢測、自動售貨機環境監控器、銷售設備終端和家庭自動化等





