基于网络单片机PIC18F97J60的开发与应用
Microchip公司生产的PICl8F97J60单片机将PIC18系列高端8位单片机与完整的以太网控制器集成在一起,并且包括了MAC、PHY和RAM收发缓冲器。利用这一64或100引脚封装的系列器件享有的完善网络连接功能,可以实现成本低、简单易用的以太网应用方案。此外,利用Microchip公司免费提供的TCP/IP软件栈,能够大大缩短开发时间。
1、PICl8F97J60网络单片机
1.1 网络特性
PICl8F97J60系列器件具有嵌入式以太网控制器模块。这是一个完整的连接解决方案,完全实现了介质访问控制(Media Access Control,MAC)和物理层收发器(Physical Layer Transcei、ver,PHY)模块,只需使用2个脉冲变压器和一些无源元件就可以将单片机直接与以太网相连。以太网模块符合IEEE 802.3中所有关于双绞线网络10Base—T连接的规定。它在内部实现了一些数据包过滤机制,用于限制传入的数据包。它提供了一个用于实现快速数据吞吐的内置DMA模块,以及硬件IP校验和计算;另外还提供了2个用于指示链路和网络活动的LED输出。以太网模块包含以下5个主要功能模块:
①PHY收发器模块——对传输双绞线接口上的模拟数据进行编码和解码,并通过网络发送和接收;
②MAC模块——实现了符合IEEE 802.3规范的MAC逻辑,并提供了用于控制PHY的MIIM(Media In—dependent Interface Management);
③独立的8 KB RAM缓冲区——用于存储已经接收和将要发送的数据包;
④判优器——在单片机内核、DMA、发送和接收模块发出请求时,控制对RAM缓冲区的访问;
⑤寄存器接口——用作以太网模块和单片机特殊功能寄存器(SFR)之间命令和内部状态信号的译码器。
1.2 应用实例
图1表明,基于互联网的远程控制系统是由连接互联网的主PC机和监测装置构成的。其中,监测装置代表某个接入网络的嵌入式系统,它既可以是工控应用中的温度、压力及流量等监控设备,也可以是家庭应用中的网络家电等。网络单片机为该监测装置的核心,其不仅可以采集和处理温度或流量等传感器数据,还具有嵌入式网关的功能,可以实现监测装置的网络接入。互联网上的主PC机通过Web形式访问监测装置,实现远程监控。
2、开发工具
2.1 PICDEM.net2开发板
PICDEM.net.2开发板除了包含PICl8F97J60核心器件外,与网络接入有关的功能还包括:串行EEPROM提供256 Kb(32 KB)存储空间,可以用来存储网页和一些配置信息;可以通过SPI接口编程;RJ一45(10Base一T)标准连接器,其J1连接到PICl8F97J60;RJ一1l(6线)标准连接器,用于通信和器件编程或调试的USB连接;串口RS232,可以用来配置芯片的IP和以太网地址,也可以用来下载新的网页到EEPROM等。
此外,开发板还提供了Mirochip公司的独立以太网控制器ENC28J60,用来开发不带以太网控制器的单片机,可通过标准的SPI接口连接。开发板提供的其他设备包括LCD显示器、LED指示灯、按钮开关、温度传感器、用于连接扩展卡的插座或边缘连接器、实验用布线区(面包板)及电源等。
通过PICDEM.net2开发板可以方便地开发各种定制的PICl8F97J60应用系统,经裁剪或扩充,完成应用系统的硬件电路设计。
2.2 在线调试器MPLAB ICD2
选择MPLAB ICD2作为在线调试器和烧写器。Microchip公司提供的在线调试器MPIAB ICD2是一款功能强大而成本低的运行时开发工具,通过RS232或高速USB接口与主PC机相连。与ICE相比,其仿真功能有一些限制,但有如下突出的优点:在产品量产后,只要保留6芯插针,就可直接与ICD2相连;ICD2可以在目标应用中对固件再编程,而不需要其他在线烧写器设备。通信方式使用默认的USB接口方式。为了避免目标板负载过重对ICD2带来损害,应采用目标板独立供电。
2.3 Microchip TCP/IP协议栈
Microchip公司提供免费的TCP/IP软件栈,为应用开发提供了便利。Microchip TCP/IP协议栈是一套程序,它服务于标准的、基于TCP/IP的应用程序,或者应用在定制的、基于TCP/IP的应用程序中。本应用系统使用的是该协议栈的4.02版本。
类似于TCP/IP参考模型,Microchip TCP/IP协议栈将TCP/IP协议栈分为多层,如图2所示。每层的实现代码驻留在一个独立的源文件中,而服务和应用程序编程接口(API)是通过头文件或包含文件定义的。与TCP/IP参考模型不同的是,Microchip TCP/IP协议栈中的许多层可以直接访问在它下面的一层或多层。关于一个层是否绕过相邻模块来获得所需的服务,主要根据开销的大小,以及服务是否需要智能处理后才能传递到下一层来决定。与传统TCP/IP协议栈实现方法的不同之处是添加了2个新模块:StackTask和ARPTask。Stackrrask管理协议栈及其所有模块的操作,而ARPTa
PIC18F97J60 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)