新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 网络单片机PIC18F97J60的开发与应用

网络单片机PIC18F97J60的开发与应用

作者:时间:2009-01-14来源:网络收藏

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管理协议栈及其所有模块的操作,而ARPTask管理地址解析协议(Address ResohJtion Protocol,ARP)层的服务。Microchip TCP/IP协议栈使用了协同式多任务处理技术。在协同式多任务处理系统中,同时存在多个任务,每个任务执行自己的作业然后交回控制权,这样下一个任务才能够执行作业。StackTask和ARPTask都是协同式任务。Microchip TCP/IP协议栈尽管没有实现通常TCP/IP协议栈中的所有模块,但是在需要时可以将它们作为单独的任务或模块来实现。

本文引用地址:http://www.eepw.com.cn/article/173912.htm

2.4 Stack Manager
Microchip TCP/IP协议栈由多个模块组成。在使用模块之前,用户必须查阅并了解它的用途和API。函数的语法、参数、返回值、前提条件等具体问题可以在编程时针对具体的问题单独查阅。
使用Microchip TCP/IP协议栈的任何应用程序都必须执行一定的步骤,以确保在适当的时间调用相应的模块(例如IP、TCP、UDP和ICMP)。无论主应用程序逻辑如何,管理协议栈模块的任务都始终相同。
为了减轻主应用程序管理各个模块的负担,Micro―chip TCP/IP协议栈使用了一个特殊的应用程序层模块,称为“StackTask”或“Stack Manager”。Stack Manager以协同式任务处理方式来实现。被赋予处理时间后,它将轮询MAC层是否存在有效的数据包。若接收到一个包,它将对其进行解码并路由到相应的模块做下一步的处理。
Stack Manager。不是Mirochip TCP/IP协议栈的一部分,它与协议栈一起提供给用户。这样主应用程序除了自己的工作以外,不需要管理协议栈模块。执行StackManager任务之前,必须通过调用StackInit()函数来对其进行初始化。这个函数按正确的顺序初始化Stack Man―ager变量和各个模块。一旦调用Stacklnit(),主程序就必须定期调用StackTask()函数,以确保及时处理所有进入的包,以及所有的超时和错误条件。



评论


相关推荐

技术专区

关闭