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

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

ID:23707863

大小:52.00 KB

页数:6页

时间:2018-11-10

基于sx52的嵌入式web服务器的快速实现_第1页
基于sx52的嵌入式web服务器的快速实现_第2页
基于sx52的嵌入式web服务器的快速实现_第3页
基于sx52的嵌入式web服务器的快速实现_第4页
基于sx52的嵌入式web服务器的快速实现_第5页
资源描述:

《基于sx52的嵌入式web服务器的快速实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于SX52的嵌入式Web服务器的快速实现

2、第1内容显示中关键词:单片机嵌入式系统InterCU+RTOS,弊端是开发难,成本极高。而用软件方法实现网络协议比采用集成网络协议的芯片,具有节省空间、降低成本的优点,更重要的是可以随意配置甚至修改各种协议,且能通过软件升级方式跟随未来的发展。八位单片机目前仍占有很大的市场份额,而通过美国Ubi公司的SX52微控器进行网络控制更具其独特优势,主要体现在:(1)速度快,在100MHz频率下能达到100MIPS;(2)现成的协议模块供使用,即使对不熟悉网络协议的开发人员也能简单套用。虽然其

3、它八位单片机也能用软件实现精简的TCP/IP协议,如PICl6C76等,但上面所说两大优点是采用SX52MCU的充分理由。套用成熟的现有程序是最具效率的开发办法,这也是避免目前国内普遍存在的低水平开发的有效途径。虽然目前还没有单独的TCP/IP软件虚拟模块提供,但在演示板程序的基础上,可以采用其成功的网络协议模块和一些适用于小型嵌入系统的做法构筑现场控制CU与PIC单片机有很多地方相似,它也采用RISC指令系统,带可擦写上万次的片上Flash程序存储器,具在系统编程等。SX52的流水线指令操作可1个时钟周期执行一条指令。没有中断

4、嵌套使中断响应时间固定为3个时钟周期,适用于一些要求强实时性的系统。5个可驱动30mA电流的I/O口可自由设置为TI'L或CMOS输入电子,262×8bit的SRAM数据空间,4096×12bit的EE/Flash程序空间。内部集成有模拟比较器、定时器、捕捉/P比较器、欠压检测、看门狗等多种功能部件。具有三个特殊器件配置寄存器,其长度分别为12位,(FUSE、FUSEX、DEVICE),硬件配置灵活多样,加密性能好,能有效地防止产品被盗版或仿制的可能性。已提供的软件虚拟模块有UART、A/D、DTMF、P、FSK、IRDA、VC

5、等众多常用功能块。应用微控器用软件方法替代硬件功能是一大特色,可以避免一些常用功能的重复开发。2联网的实现对于资源紧缺的小型嵌入系统,一般都要对TCP/IP协议族做一些精简处理。P的echo响应,精简的TCP/IP、HTYP、SMTP等;还可以看到应用了I2C以及∑-△A/D的软件虚拟模块。由于程序空间的限制,当实现DHCP时,只能用SMTP。底层采用8019AS网络接口芯片。网页通过12C存储于24C256中,中断程序可用于A/D虚拟模块的计数及TCP/IP协议族的各个定时器。系统设计主程序流程如图1。当IP包头有选项或存在分

6、片时,此包被简单丢弃而不处理。TCP能同时打开两个连接,连接1用于SMTP(套接字用Bank3,TCBI_BANK),连接2用于HTTP(套接字用Bank4,TCB2_BANK)。TCP不使用滑动窗口的流量控制,发送时每发一个分组就停下来等待确认。程序中发送的数据长度放在变量Tcp2Un-AckMSB、Tcp2UnAckLSB中。在接收模块TcpProcPktln中只有接收到Ack包后才复位这两个变量;而发送模块Tcp·Transmit中只有这两个变量为零才允许发送下一段数据,否则检查Tcp2TimeMSB是否超时;如是则重发。

7、TCP接收模块TcpProcPktln检查端口号及32序列号是否与套接字内的相符,如不符则可能是收到重发的包,TCP简单地发Ack的空包并丢弃本包;否则处理本包数据同时清除上次发送数据长度变量Tcp2UnAckMSB、Tcp2UnAckLSB,以便在TcpTransmit中能发送下一段数据。子模块TcpAppTxBytes、TcpAppRxData是TCP处理发送及接收数据的模块。用户如不变更原TCP/IP的精简设计,只要修改这两个模块就能实现自己特定的应用功能。16位校验和Checksum的计算对于很少或没有数据缓冲的系统来说

8、并不容易,一般有两种方法处理。一是在TCP头的检验和域放任意一个16位数,数据发送的同时计算Checksum,然后在数据最后附加2个字节以保证之前任意取值的正确。这种方法的缺点是要让接收的应用程序忽略最后2个字节的数据,可能导致许多程序的运行异常。二是先对产生的数据计算Checksum,但不发送,然后再产生同样的数据加上正确的校验和发送。显然要求系统产生重复的数据有时是不现实的,利用网卡芯片8019的缓冲可以解决这一问题,将数据写入8019的同时计算Checksum,最后将Checksum写入8019后调用NicSendTxFr

9、ame才真正发送数据。3中。假设利用前512字节存放最大256个网页的地址,绝对路径".btm"的不带进位ASCII码之和为#$be,可以到2x#$be+#$17c的地方找到要发送回客户浏览器的数据存放地址;下载网页到服务器时也用一个程序按上述方法将各网页排好即

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。