置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层和物理层,用它可以方便地实现单电路以太网连接。适用于工业控制、保安系统、用户卡表、商业自动化、楼宇控制、照明管理、医疗检测、自动售货机环境监控器、销售设备终端和家庭自动化等