当前位置:首页 > 电源 > 数字电源
[导读]嵌入式系统的网络接入技术的发展,大大地促进了工业控制、信息家电等应用领域向数字化、网络化以及智能化方向的迅速发展。本文利用PICDEM.net2开发板,以PICl8F97J60单片机为核心,开发基于互联网的远程监控系统,非常实用,而且使用B/S的架构也会使系统应用更加方便。该系统可以取得连接到互联网上任意监测点的包括温度在内的多种数据,并且可以简单地控制单片机端进行一些操作,因此可以直接用于一些需要远程监控的场合。

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应用系统,经裁剪或扩充,完成应用系统的硬件电路设计。[!--empirenews.page--]
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协议栈中的所有模块,但是在需要时可以将它们作为单独的任务或模块来实现。

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()函数,以确保及时处理所有进入的包,以及所有的超时和错误条件。[!--empirenews.page--]
2.5 MicrOChip HTTP服务器
    Microehip HTTP服务器以协同式任务处理方式实现,它与Microchip TCP/IP协议栈以及用户的主应用程序共存。这个服务器自身在源文件“HTTP.c”中实现,使用一个用户应用程序实现2个回调函数。
    这里提供的HTTP服务器不会实现所有的HTTP功能,它是面向嵌入式系统的最小型服务器。用户可以按需要方便地添加新功能。HTTP服务器主要功能包括:支持位于内部程序存储器或外部串行EEPROM中的网页、简单文件系统(MPFS)、动态网页内容生成和基于PC的程序,以及从给定目录创建MPFS映像等。
    对于Microchip协议栈及其HTTP服务器,特定格式是MPFS。如果MPFS映像要存储在外部EEPROM中,则可能需要在应用程序中包含编程方法。HTTP服务器使用文件“index.htm'’作为它的缺省网页。这要求所有应用程序都将名为“index.htm"的文件作为它们MPFS映像的一部分。

3 系统开发过程
3.1 动态HTTP页面生成

    本应用系统实例中服务器端网页的设计涉及2项网页开发技术:AJAX和CGI。篇幅所限,网页编程代码略。AJAX全称为“Asynchronoous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。与传统的Web应用不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其他一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,因此就能看到响应更快的应用。同时,很多的处理工作可以在发出请求的客户端机器上完成,所以web服务器的处理时间也缩短了。
    CGI(Common Gate Interface,通用网关接口)是Web服务器与客户端HTML页面的接口。通俗地讲,CGI就像是一座桥,把网页和Web服务器中的执行程序连接起来,把HTML接收的指令传递给服务器,同时把服务器执行的结果返还给HTML页。CGI可以实现处理表格、据库查询、送电子邮件等许多操作,常见的cGI就是计数器。CGI使网页不再是静态的,而变成是交互式的。
3.2 集成环境设计
    MPLAB IDEv8.OO提供了一个编程环境,由于使用C语言编程,故下载并安装了免费的C编译器MPLAB—C18一Student Edition—v3_16.exe。MPLAB集成环境是Micro—chip公司为其所有的开发工具研发的,使用前需要选择MPLAB ICD2。ICD2可以充当调试器和烧写器,debug—ger和programmer在菜单中都可以进行选择。在debug—ger模式下,Program按钮表示把目标文件和监控程序一起烧写入待调试的MCU中。
    MPLAB ICD2通过USB线连接主机,但不能使用默认的驱动。手动在MPLAB IDE软件中找到ICD2_USB驱动。这个路径包含1CD2W2K.INF、ICD2W2K.SYS、ICD2W2K L.SYS等文件。
    运行MPLAB.exe后,选择PICl8F97J60及MPLABICD2,则系统可下载配合该芯片使用的硬件操作系统。完成下载后,系统会检查ICD2的连接情况。
    建立工程项目包括下载安装Microchip TCP/IP协议栈、修改编译选项等。要将TCP/IP协议栈集成在主应用程序中,较容易实现且节省存储空间的方法是调用堆栈文件。但是当集成很多的应用程序时,使用该专用协议栈可能会产生特殊问题。本系统应用只是进行数据采集等简单应用,因此不必考虑此问题,只需要修改主应用程序MainDemo.c。这是Demo Application的核心文件,用来调用标准的Microehip TCP/IP堆栈文件。
    主应用程序MainDemo.c是服务器端程序执行的入口。它首先配置硬件,然后调用TCP/IP堆栈,运行检测程序,并等待客户端的请求。通过编译主程序生成.0结尾的目标文件,连接生成.hex和.cof文件。最后,结合Microchip公司的编程工具ICD2将映像烧写到单片机。
    Microchip HTTP服务器使用简单文件系统(Micro—chip文件系统或MPFS)来存储网页。MPFS映像可以存储在片上程序存储器或外部串行EEPROM中,它采用特殊的格式在给定的存储介质上存储多个文件。
    Microchip提供了MPFS.exe程序将网页转换为MPFS映像。在创建MPFS映像之前,用户必须先创建所有的网页和相关文件,并保存在同一个目录中。如果文件扩展名是“htm”,则Image Builder将去掉所有回车和换行字符来减小MPFS映像的大小。需要注意的是,生成的映像文件大小不要超过32 KB。接着需要把MpfsHan—Img.bin映像使用堆栈所提供的ftp服务上传到EEP-
ROM。也可以利用超级终端,通过串口将MPFS映像传送到EEPROM。
    此外,还要通过串口对单片机进行IP地址的设定,这样就完成了整个系统架构的设计。打开主PC机浏览器,输入远程单片机的IP地址,可以看到主控制监测页面,通过网页即可实现对远程单片机监测装置的控制,以及对温度、流量等信息的监测等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭