《基于MC9S12NE64型单片机的嵌入式以太网连接.docx》由会员分享,可在线阅读,更多相关《基于MC9S12NE64型单片机的嵌入式以太网连接.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于MC9S12NE64型单片机的嵌入式以太网连接基于MC9S12NE64型单片机的嵌入式以太网连接ronggang导语:分析基于单片机的以太网连接方案,介绍MC9S12NE64型16位单片机的特性及其最小系统的硬件设计,给出MC9S12NE64的初始化经过、主程序和TCP/IP协议栈实现的思想摘要:分析基于单片机的以太网连接方案,介绍MC9S12NE64型16位单片机的特性及其最小系统的硬件设计,给出MC9S12NE64的初始化经过、主程序和TCP/IP协议栈实现的思想。关键词:MC9S12NE64;单片机;嵌入式系统;以太网;TCP/IP随着互联网的出现和以太网的迅速开展,基于以太网的设备
2、控制越来越多,开展也越来越快。目前,以太网EtImmet已经广泛地应用于各种计算机网络,通过以太网及TCP/IP协议栈可以使不同的网络设备实现互连、交换数据。用以太网实现嵌入式系统的网络连接有多种方案。传统的多器件以太网连接方案是通过MCU扩展以太网控制器来实现的,必要时还需要扩展外部RAM和ROM。固然这种方案应用起来不是很困难,但所用外部元件数目较多,系统开销较大。稳定性不高。为理解决传统方案的缺乏,本文讨论以集成以太网MAC层和物理层的16位单片机MC9S12NE64来实现单器件以太网连接。与多器件方案相比.单器件连接方案具有所用外部元件少、系统开销小、稳定性高、设计时间短等一系列优点。
3、2MC9S12NE64简介MC9S12NE64是Freescale公司消费的基于HCSl2CPU内核的16位单片机,利用它可以方便地实现单器件以太网连接,构成一个完好的终端节点。MC9S12NE64的内部功能模块框图如图1所示,主要特性如下:采用高性能16位HCSl2CPU内核,3.3V下工作频率可达25MHz或者10MIPS,具有优化的C语言体系构造,可以生成特别简洁的代码。带有片上调试接口,可以进展实时在线仿真和调试,而无需仿真器。集成了64KB的nash内存和8KB的静态RAM,可以知足大多数的应用场合。假如需要还可进展外部扩展。集成了10/100Mbps以太网媒介访问控制器EMAC,内
4、置标准的媒介独立接口MII,可以实现地址识别及过滤、以太类型过滤,支持半双工和全双工通讯,具有和8KBRAM共用可配置的EMAC缓冲区,包括一个发送缓冲区和两个接收缓冲区,MC9S12NE64的RAM以2倍于CPU的速度运行,使得CPU和EMAC缓冲区可以穿插存取数据。集成了10/100Mbps以太网物理层EPHY,支持自动协商形式,支持半双工和全双工的通讯。并具有自诊断功能。带有8通道10位模数转换器fADC、4通道16位定时器、2个串行通讯接口SCI,1个高速串行外设接口SPI、1个具有256种时钟速度选项的I2C接口,具备使用锁相回路的时钟及复位发生器CRG模块,有多达70个通用I/O口
5、。具有80引脚TQFP-EP和112引脚LQFP两种封装。3MC9S12NE64的简单应用3.1硬件设计利用MC9S12NE64可以构成不同功能的网络终端节点,如网络效劳器、带因特网功能的设备、远程监控数据收集,诊断、对现场设备的远程控制、远程设备通过电子邮件或者文字寻呼机发送消息等。基于MC9S12NE64最少外围器件的系统硬件电路原理图如图2所示。此最小系统由80引脚的MC9S12NE64与外围器件组成,电路中带有背景调试接头J1;5个LED状态指示灯分别用来显示网络连接状态,包括EPHY是否冲突、连接是否建立、是否接收数据、连接速度、双工形式;必须的偏置电阻R5;高速局域网电磁隔离模块即
6、RJ45以太网接口。其中PHY_TXP和PHY_TXN为发送线,PHY_RXP和PGY_RXN为接收线。设计时,MC9S12NE64的物理端口与隔离变压器连接时必须符合IEEE802.3对物理层标准的要求,如RJ45的插孔与隔离变压器的间隔应尽量小,输出和输入差分信号对的走线要很好的隔离,确保电源的额定负载电流不小于300mA。设计时还应留意系统时钟的要求,MC9S12NE64只支持皮尔斯型振荡电路,晶振的精度应高于25ppm。系统中MC9S12NE64工作在正常的单片形式,其内部稳压电源处于工作状态。3.2MC9S12NE64的初始化MC9S12NE64单片机在工作之前。必须进展必要的初始化
7、。主要包括时钟及复位发生器CRG模块、EMAC模块、EPHY模块等。固然MC9S12NE64上的EMAC和EPHY被设计为两个独立的模块,但假如用到内部的EPHY,那么EMAC和EPHY必须同时进展初始化。MC9S12NE64的初始化经过如下:1初始化时钟及复位发生器模块来产生25MHz的内部总线时钟,这一经过通过设置时钟及复位发生器CRG模块的存放器表来完成。2设置EPHYCTL0存放器的DIS10和DIS100位为1,使EPHY时钟无效,直到EMAC和EPHY配置完毕。3通过EPHYCTL1存放器的:EPHYADD0、E-PHYADD1、EPHYADD2、EPHYADD3、EPHYADD4
8、来配置MII恳求的EPHY地址。4配置自动协商形式。设置EPHYCTL0存放器的ANDIS位为0.使用自动协商形式。5设置EPHYCTL0存放器的LEDEN位为1允许EPHY驱动LED信号。设置EPHYCTL0存放器的EPHYIEN位为1使EPHY中断有效。设置EPHYCTL0存放器的EPHYEN位为1使EPHY有效工作,这样就可以实现EMAC和EPHY间的介质无关接口MII操纵。6设置MCMST存放器的MDCSEL位为0xA,来配置EMAC治理数据时钟EMACMDC。7设置BUFCFG存放器的BUFMAP位来配置EMAC以太网缓冲区的大小。BUFMAP的值用来确定系统RAM中用户RAM和EM
9、AC缓冲区的比例。BUFMAP最大为4,这时单个缓冲区的大小为1.5K字节,正好可以存放一个最大的以太网帧。大于缓冲区大小的数据包将被过滤掉,设计时应公道选择。设置BUFCFG存放器的MAXFL位来指定承受的最大帧长度,使缓冲区起到了数据过滤的作用。8通过MACAD存放器来配置6字节的MAC地址。假如设备不连接到因特网,那么MAC地址可自行定义。9设置ETCTL存放器为0x17来控制网络上传输的数据类型。10通过设置RXCTL存放器的PROM、CON-MC和BCREJ位来配置EMAC的MAC地址过滤形式。假如不是自动协商形式,那么还需要设置RFCE位来实现接收流控制。11设置NETCTL存放器
10、为0x81来配置EMAC的工作形式,并使EMAC正常工作。12设置IMASK存放器来配置允许的EMAC中断信号,如需要允许某种中断恳求信号,那么将相应的位置1。13设置TXCTS存放器的PTRC位和设置PTI-ME存放器来初始化和传递暂停持续时间。14设置系统中断为允许系统中断。15通过EMACMII治理接口来设置EPHY,包括设置速度、双工形式和流控制,设置EPHY中断控制存放器来配置EPHY中断控制。16在自动协商形式下,通过设置EPHYCTL0存放器的DIS10和DIS100位为0来启动EPHY时钟发生器。当自动协商完成且连接建立后,协商暂定和双工设置由EPHYMII存放器决定。EMAC
11、必须由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层和物理层,用它可以方便地实现单电路以太网连接。适用于工业控制、保安系统、用户卡表、贸易自动化、楼宇控制、照明治理、医疗检测、自动售货机环境监控器、销售设备终端和家庭自动化等。
限制150内