设为首页
收藏本免费论文网
老版首页
老版首页2
经济学论文 财政税收论文 证券金融论文 管理学论文 会计审计论文 工商管理论文 财务管理论文 公共管理论文 法学论文
理学论文 医药学论文 政治论文 社会学论文 教育类论文 工学论文 计算机论文 艺术类论文 哲学论文
文化论文 英语论文 应用文论文 论文指导论文 文学论文 老版免费论文 老版2免费论文 本站导航
本站已收录十余万免费论文,并不断增加中,想要什么论文资料,轻松一搜便得! 关键词:
免费理学论文免费论文网首页 --> 理学论文 --> 微电子学论文 -->基于sx52的嵌入式web服务器的快速实现

基于sx52的嵌入式web服务器的快速实现

 摘要:介绍了如何利用现有软件虚拟模拟高效构筑可现场控制的嵌入式Web服务器,一些方法也可用于其他资源有限的小型嵌入式网络设备中。 关键词:单片机 嵌入式系统 Internet Web服务器随着互联网的日益普及,信息共享的程度不断提高,网络仪表及网络控制设备的流行逐渐成为趋势。如何通过互联网共享以单片机应用系统为中心的小型嵌入式设备的信息,成为当今电子界的热门话题。传统的互联网应用以PC为中心。如今,互联网应用正在转到以嵌入式设备为中心。用单片机实现嵌入式互联网方案的技术难点是:如何利用单片机本身有限的资源对信息进行TCP/IP协议处理,使之变成可以在互联网上传输的IP数据包。目前解决这个问题有两种方案:一种是PC网关+专用网,缺点是要增加布线和第三方协议转换软件;另一种是32位MCU+RTOS,弊端是开发难,成本极高。而用软件方法实现网络协议比采用集成网络协议的芯片,具有节省空间、降低成本的优点,更重要的是可以随意配置甚至修改各种协议,且能通过软件升级方式跟随未来的发展。八位单片机目前仍占有很大的市场份额,而通过美国Ubicom公司的SX52微控器进行网络控制更具其独特优势,主要体现在:(1)速度快,在100MHz频率下能达到100MIPS;(2)现成的协议模块供使用,即使对不熟悉网络协议的开发人员也能简单套用。虽然其它八位单片机也能用软件实现精简的TCP/IP协议,如PICl6C76等,但上面所说两大优点是采用SX52MCU的充分理由。套用成熟的现有程序是最具效率的开发办法,这也是避免目前国内普遍存在的低水平开发的有效途径。虽然目前还没有单独的TCP/IP软件虚拟模块提供,但在演示板程序的基础上,可以采用其成功的网络协议模块和一些适用于小型嵌入系统的做法构筑现场控制Web服务器。1 SX52控制器简介SX52 MCU与PIC单片机有很多地方相似,它也采用RISC指令系统,带可擦写上万次的片上Flash程序存储器,具在系统编程等。SX52的流水线指令操作可1个时钟周期执行一条指令。没有中断嵌套使中断响应时间固定为3个时钟周期,适用于一些要求强实时性的系统。5个可驱动30mA电流的I/O口可自由设置为TI'L或CMOS输入电子,262×8bit的SRAM数据空间,4096×12bit的EE/Flash程序空间。内部集成有模拟比较器、定时器、捕捉/PWM比较器、欠压检测、看门狗等多种功能部件。具有三个特殊器件配置寄存器,其长度分别为12位,(FUSE、FUSEX、DEVICE),硬件配置灵活多样,加密性能好,能有效地防止产品被盗版或仿制的可能性。已提供的软件虚拟模块有UART、A/D、DTMF、PWM、FSK、IRDA、VC等众多常用功能块。应用微控器用软件方法替代硬件功能是一大特色,可以避免一些常用功能的重复开发。


2 联网的实现对于资源紧缺的小型嵌入系统,一般都要对TCP/IP协议族做一些精简处理。Wing Poon等提供的演示板程序集合了如下模块:ARP、DHCP、ICMP的echo响应,精简的TCP/IP、HTYP、SMTP等;还可以看到应用了I2C以及∑-△A/D的软件虚拟模块。由于程序空间的限制,当实现DHCP时,只能用SMTP。底层采用8019AS网络接口芯片。网页通过12C存储于24C256中,中断程序可用于A/D虚拟模块的计数及TCP/IP协议族的各个定时器。系统设计主程序流程如图1。当IP包头有选项或存在分片时,此包被简单丢弃而不处理。TCP能同时打开两个连接,连接1用于SMTP(套接字用Bank 3,TCBI_BANK),连接2用于HTTP(套接字用Bank 4,TCB2_BANK)。TCP不使用滑动窗口的流量控制,发送时每发一个分组就停下来等待确认。程序中发送的数据长度放在变量Tcp2Un-AckMSB、Tcp2UnAckLSB中。在接收模块TcpProcPktln中只有接收到Ack包后才复位这两个变量;而发送模块Tcp·Transmit中只有这两个变量为零才允许发送下一段数据,否则检查Tcp2TimeMSB是否超时;如是则重发。TCP接收模块TcpProcPktln检查端口号及32序列号是否与套接字内的相符,如不符则可能是收到重发的包,TCP简单地发Ack的空包并丢弃本包;否则处理本包数据同时清除上次发送数据长度变量Tcp2UnAckMSB、Tcp2UnAckLSB,以便在TcpTransmit中能发送下一段数据。子模块TcpAppTxBytes、TcpAppRxData是TCP处理发送及接收数据的模块。用户如不变更原TCP/IP的精简设计,只要修改这两个模块就能实现自己特定的应用功能。16位校验和Checksum的计算对于很少或没有数据缓冲的系统来说并不容易,一般有两种方法处理。一是在TCP头的检验和域放任意一个16位数,数据发送的同时计算Checksum,然后在数据最后附加2个字节以保证之前任意取值的正确。这种方法的缺点是要让接收的应用程序忽略最后2个字节的数据,可能导致许多程序的运行异常。二是先对产生的数据计算Checksum,但不发送,然后再产生同样的数据加上正确的校验和发送。显然要求系统产生重复的数据有时是不现实的,利用网卡芯片8019的缓冲可以解决这一问题,将数据写入8019的同时计算Checksum,最后将Checksum写入8019后调用NicSendTxFrame才真正发送数据。3 Web服务器实现TCP在Web服务器下采用的状态转移见图2。(1)服务器在closed状态下主动打开端口80进入listen状态;(2)经过3次常规握手后进人establish的数据传送状态;(3)服务器发完数据发fin关闭请求进入fin wait-1状态;(4)收到对方发来的Ack后进入fin wait-2状态;(5)收到对方发来的fin关闭请求后回送Ack回到closed状态。考虑HTYP常用的abs_单片机 嵌入式系统 Internet Web服务器形式的统一资源标识符URI,在资源紧缺的系统中实现完整的文件结构如"images.gif''的查询与定位,如果采用一般计算机程序中常用的方法则代价很高。一种简便有效的方法是计算URI各字符的ASCII码之和。网页存放于SX52的外部EEPROM中。假设利用前512字节存放最大256个网页的地址,绝对路径".btm"的不带进位ASCII码之和为#$be,可以到2x#$be+#$17c的地方找到要发送回客户浏览器的数据存放地址;下载网页到服务器时也用一个程序按上述方法将各网页排好即可,当然网页前都加了一段HTYP 1.0的标准响应头信息。这正是Ubicom公司提供的E2File程序所做的,也可以自己编写一个这样的程序以实现HTFP 1.1的除GET、POST方法外的其它方法或扩展功能。除了用Java Applet实现动态网页外,利用post方法也可与服务器交互。例如通过IE浏览器用复选框按钮控制并显示一组灯的开与关的基本Web控制,其HTML网页的提交表单FORM内应该包含有的类似语句,其中0~n为欲控制灯的编号,name的取值为一位数字或字符,有利于节省SX52的查询匹配程序空间,E2File程序将网页中如下显示灯的状态的HTML超链接语句中的"?"编号为非ASCII字符#$f0~#$fn等下载存储到服务器的EEPROM中。当n用POST方法发送数据给服务器时,SX52服务器计算两个空格间的abs_单片机 嵌入式系统 Internet Web服务器形式的URI的ASCII字符之和后到相应EEPROM中,用上述下载网页的计算方法找到该网页的地址后,跳过HTTP的请求头匹配l=0&…l=n表示复选框被选中的数据并对相应编号的灯开关后,返回该网页给IE时会根据实际灯的状态将EEPROM中存储网页的非ASCII字符#$f0~#$fn退换为ASCII字符"n"或"f"。这样IE就能正确地通过超链接再次与服务器交互(GET方法),下载显示ledon.gif或ledof.gif显示实际灯的状态了。而要在IE上正确显示现场某个控制变量的值时,同样可以将n位显示数值编号为非ASCII字符#$f0#$fl…#$fn的形式存储到服务器中,SX52服务器端先将实际的数值转换为BCD码后再用对应的ASCII字符将#Sf0#$f1…#$fn替换返回,从而能在浏览器端显示服务器端控制变量的变化。国内用户使用的北京革新提供的开发演示板程序较充分地提供了常用的Intemet网络协议软件虚拟模块,也提供了一个基本可实际应用的Web演示控制,只要做较少改动就可以用于实际控制中。不过它只能一次控制一个灯的开关,且任何人都可以轻易地更改。现要求一次能控制所有的灯,但需要在IE浏览器上输入密码123abc方可生效。程序修改如下:(5)在模块TcpAppRxData的分支:lookforl的开头增加以下语句:当然以上密码通过IE仍以明文传送,不安全,但是它可以通过常用的IE浏览器操作,不需要专用的客户端软件。这适用于大企业,它们有局域网,电脑上只能用固定的几种软件。当然编写客户端软件加入加密解密算法来适应各种应用环境也是容易实现的。用SX52构建各种小型的现场控制Web服务器只要合理利用相应的网络协议软件虚拟模块,参照演示板的做法在应用子模块TcpAppTxBytes、TcpAppRxData中对发送及接收数据按照自己特定的要求做处理即可。它还可以通过UDP的方式同时与客户端软件传送语音或视频数据流,只要增加很少的外围接口电路并改动相应的UDP处理模块UDPProcPktIn即可。而如果未来协议的更新也只要下载最新的程序替换即可,开发人员单独修改特定协议模块的一些实现方式如增加滑动窗口的TCP/IP等也比重新编写一个完整的协议族远为轻松。(完)
基于sx52的嵌入式web服务器的快速实现 来自: 免费论文网www.paper800.com

 如果觉得本篇论文可以,添加到收藏夹! [返回顶部↑
搜 索 其 它
相 关 论 文
近年来我国地方文献研究综述
做好地方文献工作,为赤峰市各项事业的发展服务
浅谈地方文献的开发和利用
青年心理健康的性别差异
广东省中山图书馆地方文献发展概述
日本宪政的哈耶克哑剧
采用s3c2410和linux系统的指纹识别管理系统
vxworks中怎么从flash
相 关 类 别
物理学论文
统计学论文
数学论文
农林学类论文
地理地质论文
理学其它论文
微电子学论文
生物技术论文
应用化学论文
电子信息科学与技术论文
环境科学论文
生态学论文
材料物理论文
材料化学论文
心理学论文
生物科学论文
资源环境与城市规划管理论文
地理科学论文
应用心理学论文
海洋科学论文

免费论文网包含:各类免费毕业论文下载、免费法律论文、免费计算机论文、免费会计论文、免费英语论文、免费经济论文、免费管理论文、免费金融论文、大学生社会实践论文、三个代表论文、三农问题论文等所有论文均来源于网上的共享资源以及一些期刊杂志,所有论文仅供网友间相互学习交流之用,请特别注意勿做其他非法用途!如果我们有侵犯你的版权或其他有损您利益的行为,请联系我们指出,我们会立即进行改正或删除有关内容!
广告服务 | 关于我们 | 加盟合作 | 免责条款 | 人才招聘 | 联系我们