当前位置:首页 > 单片机 > 单片机
[导读] 四阶TLT电压增益公式推导及其特性日益普及,信息共享程度的不断提高,给工作和生活带来了极大的方便。现在,上网浏览对于人们来说是一件很平常的事情。不仅如此,架构一个WebServer,做自己的主页也是

四阶TLT电压增益公式推导及其特性日益普及,信息共享程度的不断提高,给工作和生活带来了极大的方便。现在,上网浏览对于人们来说是一件很平常的事情。不仅如此,架构一个WebServer,做自己的主页也是司空见惯的。一般情况下,人们通过一台上网的电脑来建立WebServer。在这里将讨论另外一种方法:通过单片机来建立WebServer。之所以会想到用单片机来实现 WebServer,是因为随着嵌入式系统的迅猛发展和IA(信息电器)的出现,以单片机为中心的应用系统将搭上Internet的快车逐步取代传统的以 PC为中心的应用,成为未来Internet发展中的主力军。


一、 具体应用方案

1. 基于单片机的WebServer方案

基于单片机的WebServer的硬件平台如图1所示。


2. 主要芯片介绍

(1) SX52BD100

SX52BD100 是UBICOM公司生产的一款RISC指令集的单片机,片上带有4K×16 位的Flash存储器和262×8位的RAM。由于采用CPU并行流水线方式及单时钟周期指令,在100MHz晶振驱动下指令执行速度可达 100MIPS。该单片机的最大特点就是虚拟外设功能,即通过软件对I/O口进行灵活的配置,CPU执行虚拟软件模块就可以驱动普通的I/O口来模拟外设的功能,比如UART、SPI、IIC和FSK等。当然,令人惊奇的是,SX52BD100可以通过虚拟外设功能来运行网络协议栈,例如TCP、IP、 HTTP以及SMTP等。

(2)RTL8019AS

RTL8019AS是ReaLTEk公司出品的一种全双工以太网控制器。它自带16KB的SRAM,工作在Ethernet II和IEEE802.3、 10Base5、10Base2、10BaseT下,与NE2000兼容。

(3)24LC256

24LC256是MicroChip公司生产的一种串行32KB的 E2PROM存储器,采用CMOS工艺,通过2根数据线和外界通信,兼容I2C总线接口,可设为硬件写保护,10万次的擦写,200年以上的数据保护。

3.工作流程和软件设计

RJ45为此系统与局域网的接口。由于大部分局域网都采用以太网,这里的RTL8019AS就是处理以太网协议(IEEE802.3)的。数据的流向为:请求信息从局域网中来,通过RJ45送到RTL8019AS,处理后的数据包送入SX52BD100协议栈,由协议栈对数据包进行解析,得到原始请求信息。请求信息再经过SX52BD100的处理,产生回复信息。回复信息到局域网的过程与上面正好相反。

整个系统的软件流程如图2所示。

图1中的E2PROM 24LC256用来存储WebServer的网页信息。它可以处理Web页面、图像文件、PDF文档记忆其它文件。当然,它不能像PC上WebServer中的硬盘那样可以存储大量的页面。它的容量决定了WebServer的资源文件的大小。


二、网络协议栈的实现

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图3所示。每一层负责不同的功能。

(1)数据链路层,有时也称为网络接口层。通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

(2)网络层,有时也称作互联网层。处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议)、ICMP 协议(Internet互联网控制报文协议)以及IGMP 协议(Internet组管理协议)。这里主要讨论IP协议。

(3)传输层主要为两台主机上的应用程序提供端到端的通信。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。

(4)应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些应用:

① HTTP超文本传输控制协议;

② TELNET远程登录;

③ FTP文件传输协议;

④ SMTP简单邮件传送协议;

⑤ SNMP简单网络管理协议。

因为数据链路层主要是网络接口卡及驱动,由RTL8019AS来实现,所以下面讨论网络层、传输层和应用层协议栈的实现。

1. 网络层

(1) IP协议

IP是TCP/IP 协议族中最为核心的协议。Internet所有的数据都以IP 数据报格式传输。IP协议最大的特点是提供不可靠的和无连接的数据包传送服务。

不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。若发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP(Internet控制报文协议)消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。

无连接(connectionless)的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这也说明,IP数据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此, B可能在A到达之前先到达。

IP数据包的格式如图4所示。

版本是指IP协议的版本号。目前的协议版本号是4, 因此IP也称作IPV4。


首部长度指的是首部占32bit字的数目。由于它是一个4位字段,因此首部最长为60个字节。在这里,IP数据报字段的值是5。

服务类型字段包括一个3位的优先权子字段(现在已被忽略)、4位的TOS子字段和1位未用位但必须置0。4bit的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4bit中只能置其中1bit 。如果所有4bit 均为0,那么就意味着是一般服务。

总长度字段是指整个I P 数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道I P 数据报中数据内容的起始位置和长度。

标识字段唯一地标识主机发送的每一份数据报。

标志字段用来指定目的地址是一个完整的主机地址还是一个网络地址。

生存时间字段设置了数据报可以经过的最多路由器数。

首部检验和字段是根据IP首部计算的检验和码。

源地址和目的地址都是32位的数据。

可选项定义安全和处理限制、记录路径、时间戳、宽松的源站选路、严格的源站选路等信息。

(2)SX协议栈对IP层的实现

SX52BD100的协议栈中,IP层的实现就是把要发送出去的消息进行IP打包,即加上IP包头,使之符合IP数据包的格式发送到物理层;将接收到的来自物理层的数据包进行IP解包,即去掉包头,送到TCP层。应注意,协议栈不接收分片的IP包,因为它并不对接收到的数据进行重新打包。

2. 传输层

(1)TCP 协议

TCP提供一种面向连接的、可靠的字节流传送服务。TCP数据包的结构如图5所示。



每个TCP段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上IP包头中的源端IP地址和目的端IP地址,唯一确定一个TCP连接。

序号用来标识从T C P 发端向T C P 收端发送的数据字节流。它表示在这个报文段中的第一个数据字节。

确认序号包含发送确认的一端所期望收到的下一个序号。

首部长度给出首部中32bit字的数目。

紧急指针是一个正的偏移量,与序号字段中的值相加表示紧急数据最后一个字节的序号。其余字段的意义和IP包中的差不多。

为了保证TCP层的数据能有效地传输,在建立TCP连接时,用到了三向握手机制。具体过程如下(假设在A、B间通信,A、B的初始化序号为X、Y):

① 由A向B发出SYN信号,告诉B,A的初始化序号为X。

② 由B向A发出ACK和SYN信号,告诉A,B知道A的初始化序号为X,B的是Y。

③ 由A向B发出ACK信号,告诉B,A知道B的初始化序号是Y。

经过这样的初始化后,TCP连接的建立就完成了,A与B之间的数据传输也可靠了。

(2) SX协议栈对TCP层的实现

在SX52BD100的协议栈中,对TCP层的实现是通过提供的TCP API(应用程序接口)来实现。TCP的API主要包括下面的函数和变量:

TCPApp1Init():建立第一个TCP连接的初始化函数;

TCPApp2Init():建立第二个TCP连接的初始化函数;

TCPAppTxBytes():TCP连接中发送数据的字节数;

TCPAppRxBytes():TCP连接中接收数据的字节数;

TCPAppTxData():发送数据;

TCPAppRxData():接收数据;

TCPAppTxDone():发送完毕;

TCPAppRxDone():接收完毕;

TCPAppPassiveOpen():被动TCP连接;

TCPApPACtiv

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭