基于Codex-M3内核处理器的嵌入式Web服务器设计

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:mlgbdwcnm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:以TCP/IP协议栈芯片W5100和具有Cotex-M3内核的STM32F103RB嵌入式处理器为核心,设计了一种嵌入式Web服务器。可以网页形式给用户实时发布信息,也可通过网页上的按钮操作,实现远程数据采集和远程设备控制。
  关键词:嵌入式处理器;Web服务器;网络控制
  
  引言
  
  目前,网络化控制已成为远程控制的主要研究方向,利用网络实现对局域乃至全球范围内设备的监控是工业控制系统的发展趋势。嵌入式Internet远程监控技术作为网络化控制的代表,它解决了工业控制领域中异构网络互联问题,提高了传统装备的智能化水平,促进了传统产业结构的调整。嵌入式Web服务器尤其适用于嵌入式Internet应用,它通过Ethernet或Modem的连接可以轻松连接到任何网络,真正实现对设备的远程管理和控制。
  
  实现方案
  
  嵌入式Web服务器必须具备的基本功能包括:可控制与其连接的设备并获取设备的状态和数据;现场信息可以网页形式发布;可及时响应远程用户的控制命令。此外,嵌入式设备应具有功能简单、功耗低和便携等特点。为此,笔者设计的系统如图1所示。
  


  本系统采用了ST公司的Cortex-M3内核的STM32微处理器STM32F103RB。该芯片属于STM32系列的增强型,提供多达128KB的片内Flah、20KB的RAM和丰富的外设接口。Cortex-M3内核在设计上专门考虑了满足功耗低、实时性强的工业级嵌入式产品领域的特点。在性能相同的条件下,STM32产品功耗比同级别产品要低75%,工作环境温度达105℃。因为集成度很高,除一个电源外,LQFP100封装芯片的最小系统只需要外接7个电容即可。
  TCP/IP协议栈由W5100来支持,它集TCP/IP协议栈、以太网MAC和PHY为一体,其内部16KB的发送/接收缓冲区可快速进行数据交换,最大通信速率达到25Mbps内嵌10BaseT/100BaseTX以太网物理层,支持自动应答;提供多种总线接口方式,可以很方便地与各种MCU连接,简化了硬件电路设计,使嵌入式系统在没有操作系统的支持下,真正实现单芯片接入因特网的理想。
  


  为减少PCB板面积和布线复杂性,考虑到系统的数据传输率要求不高,选择SPI接口作为STM32F103RB和W5100的连接方式。STM32F103RB、W5100和RJ45接口构成一个典型的嵌入式Web服务器。
  作为一个应用实例,本设计利用STM32F103RB的片上ADC和GPIO,将服务器与LED和压力传感器相连,一旦服务器接收到来自浏览器端的连接请求,服务器将及时响应,将当前的压力参数、LED状态和温度等信息嵌入到Web页面并发布到网上,这样现场的各种信息就呈现在浏览器。此外,用户通过网页上的控制按钮可以远程控制LED状态,操作结果能及时反馈在网页上。
  
  硬件设计
  
  图2为嵌入式Web服务器的简化电路图,主要显示了构成服务器的三个核心器件的连接方式。RJ45接口是带有网络变压器的物理层接口。在W5100中,通过将SEN引脚经10KΩ电阻上拉到高电平以使能其处于SPI从模式。CS为片选,MISO和MOSI为两条数据传输线。W5100的SPI工作时钟由处于主模式的STM32F103RB提供。为方便STM32F103RB判断W5100的工作状态,必须将W5100的中断引脚INT与STM32F103RB的外部中断线相连接。W5100的第5、6、8和9引脚是PHY信号线,用于与RJ45接口相连接。除电源相关引脚外,W5100的其它引脚可以选择置空。
  


  
  软件设计
  
  主程序
  主程序流程图如图3所示。
  当程序开始启动时,程序首先初始化STM32和W5100,配置STM32工作在SPI主模式,而W5100工作在从模式,启动STM32的A/D和片上的温度传感器,配置W5100工作于TCP服务器模式,在TCP服务器模式下,端口的状态转换如图4所示。
  在使用内部温度传感器时要注意:温度传感器在从调电模式唤醒后到它能以正常水平输出采样电压前有一段建立时间;ADC唤醒后同样需要一段建立时间,为使延迟最小,ADON位(用于启动A/D转换)和TSVREFE位(用于将温度传感器从调电模式中唤醒)应该同时置位。另外,对温度传感器的采样时间要大于2.2uS。
  接下来是一个无限循环体,程序开始不断检查外部中断状态标志(WinterFiag)和Socket接收数据状态标志(SockRecvFlag)否改变,同时开始处理A/D转换的数据,以保证服务器在产生网页时能得到当前的各种数据。
  一旦W5100的Socket端口有中断事件产生时,W5100将通过其中断引脚INT触发STM32的外部中断,使STM32进入外部中断处理函数改变WinterFlag,程序接着进入处理W5100中断事件函数,在此函数中,STM32通过访问W5100的中断寄存器(IR)和端口0中断寄存器(SO_IR)判断出W5100的端口0产生何种中断事件,若Socket接收到数据,则改变SockRecvFlag。
  


  程序检测到SockRecvFlag发生改变,立即进入处理接收数据函数。处理接收数据函数是整个程序的核心,它主要负责收发数据、解析HTTP协议和响应用户的不同请求。图5为该过程的程序流程图。
  数据处理程序
  HTTP协议是一种请求/响应协议。在基于HTTP的客户/服务器数据交换时,当HTTP请求产生时,就开始一次HTTP通信。过程如下:浏览器提取出URL中的主机后,向DNS发出请求,解析主机名的口地址,DNS解析地址并将结果返回给浏览器;浏览器向该地址请求建立TCP连接;浏览器发出请求报文;服务器向浏览器发送响应报文,并将指定数据发送给浏览器,断开连接。
  根据HTTP协议规定,如果客户端没有发出请求,则服务器不会自动发送页面。因此通过在网页程序中加入<META/>标记,使浏览器在无用户干预下周期性地刷新页面,从而保证用户及时地获得远程现场的信息。
  HTTP消息包括一个起始行、零个或多个消息头域、一个标示头域结束的实体行和一个可能存在的消息体。本程序主要解析消息的起始行,而忽略其它内容,这种处理思路也符合嵌入式系统硬件对软件实现的复杂度要求。请求方法决定了对请求URI所指定的资源进行操作的方式,GET方法读取URL指定的资源,一般用来向服务器传输少量且透明的数据。数据总量被限制在255个字符以内,而POST方法可传输大量数据,与HTML的表单特性相配合以实现远程动态交互控制。
  


  当连接开始时,客户端发送GET方法请求给服务器,以访问服务器网页,为限定特定用户访问,增加数据安全性,在网页中加入基本认证机制。当客户端请求受基本认证机制保护的网页时,服务器即要求用户认证,服务器端对用户的登陆信息按Base64码解码,只有认证成功,浏览器才能获得正确的网页数据。正确的控制网页如图6所示,若用户信息有误,服务器返回以状态码401为起始行的响应消息。
  由于服务器端检测的数据处在不停的变化之中,为使网页的数据也能及时地更新。网页程序初始化时,要显示的数据都使用字符串标记暂时表示,在每次发送响应消息到端口前,再将网页中定义字符串标记用当前设备的实际值替换。
  对LED的控制,网页程序采用HTML语言的表单,HTTP协议请求方法采用POST。POST作为请求方法时,首先和Web服务器建立连接,成功后浏览器将HTML表单中的值发送给Web服务器。这种方式没有字符长度的限制,表单数据是作为附加的文档发送而不是作为URL的一部分发送。服务器程序通过判断客户的不同控制命令即时做出LED灯的开关响应。
  在每次连接成功后,服务器端程序会返回以状态码200开头的响应消息,消息的起始行为:HTTP/1.1200 OK。当用户请求一个服务器端不存在的文件时,服务器返回以状态码404开头的响应消息。
  
  结语
  
  这种利用硬件实现TCP/IP协议的网络芯片W5100及具有Cotex-M3内核的STM32处理器构成嵌入式Web服务器的方案性价比高。通过网络,用户在浏览器端可及时收到远程现场传感器采集的数据,远程现场的开关状态指示灯可实时地响应用户的开关信号操作请求。测试表明该系统传输大块数据文件的速率可达到100kbit/s。为提高网络资源的安全性,可采用AES(先进加密标准)等编码机制来加密必须保护的私有数据。
其他文献
引言    LED作为第三代半导体照明光源,具有工作电压低,耗电量小,发光效率高、寿命长等优点。与传统的白炽灯、荧光灯相比,节电达到90%以上。被认为是21世纪的照明光源。  用LED替代白炽灯或荧光灯,环保无污染,使用安全可靠。便于维护。LED是一个非线性器件,当LED导通时,只要LED上的电压稍微变大,电流就会增加很多。因此,即使电压发生微小变化也会大大影响LED器件的工作,使电流过大甚至导致
期刊
引言    随着技术的不断创新和发展,以及军事和民用需求的促进。航空领域呈现出前所未有的发展形势,航空需求与日俱增,国家和公众对空域的需求与可供使用的空域资源不足的矛盾日益突出,飞行活动出现了许多新情况和新特点。政府职能部门、国内外企业和个人拥有航空器和直升机数量呈逐年上升趋势,且大部分在大中城市和机场密集地区飞行。使空域的飞行活动愈来愈变得错综复杂。根据美国运输部的报告。2007年美国单程飞行数
期刊
UART(UniversalAsynchronous Receiver/Transmitter)即通用异步收发传送器,工作于数据链路层,包含了RS-232、RS-422、RS-485串口通信。它具有传输线少、成本低和可靠性高等优点,广泛应用于通信、医疗及消费电子、汽车电子和工业及数据处理等领域。  Actel公司免费提供两种形式的UART IP核:CoreUART和CoreUARTapb。Core
期刊
摘要:亚微米互补金属氧化物半导体(CMOS)的最新发展,可望进一步扩展RFID技术的应用。高精度供应链管理、无接触POS交易、防伪和资产追踪/监测技术所带来的各项优势,正推动着RFID技术的迅速普及。但是,这种新技术自身也面临着许多测试挑战。本文讨论复杂RFID工作环境中的测试挑战,包括多个阅读器、密集模式环境和预先存在的非RFID信号可能引起的吞吐量和通信问题。  关键词:RF;RFID;测试;
期刊
影响系统功耗的主要因素    对于一个数字系统而言,其功耗大致满足以下公式:P=CV2f,其中C为系统的负载电容。v为电源电压,f为系统工作频率。由此可见,功耗与电源电压的平方成正比,因此电源电压对系统的功耗影响最大,其次是工作频率,再就是负载电容。负载电容对设计人员而言,一般是不可控的,因此设计一个低功耗系统,应该考虑在不影响系统性能的前提下,尽可能地降低电源的电压和使用低频率的时钟。下面对AT
期刊
随着电子设备产业的快速发展。选择适当的元件满足设计规范要求、尽可能降低成本、确保设计方案的功率、特别是控制系统的体积大小等等变得越来越困难。低功耗、小型化设计逐渐成为产品设计的关键。  目前无论国内还是国外,以8位CPU为核的SoC由于价格低廉,应用软件开发成本低。应用广泛而仍旧占据市场主导地位。以国内为例。8位MCU占据50%以上的市场。8位SoC的发展和市场都较其它的SoC成熟,市场的竞争也十
期刊
市场汹涌向前    NetbooK的中文名称为“网本”或“上网本”。英特尔在2008年上海IDF大会上才明确推出了这一概念:“配备Intel Atom处理器的无线联网笔记本,具备互联网、电子邮件、即时通讯等功能,并能作高性能的流式视频和音乐播放。”实际上是英特尔提供的一个采用英特尔技术及核心CPU的解决方案,在此基础上。再由第三方厂商根据自身的需求开发出自己的成型产品。这些易于使用的电脑具备无线上
期刊
摘要:提出了一种基于DSP的工业缝纫机伺服控制系统方案,重点介绍了工业缝纫机控制系统的控制器、驱动器、编码器、机头同步信号定位器的设计及典型应用电路 实践证明该方案在缝纫机针位控制的快速性与准确性及系统的可靠性方面取得了令人满意的控制效果  关键词:工业缝纫机;DSP;永磁电机;伺服控制
期刊
金融危机带来的全球经济衰退直接影响了半导体产业的发展。对于半导体厂商来说,稳定现有客户并寻求新的产品增长点已经成为决定生存还是毁灭的问题。在这个客户变得比自己更重要的时代,供应链发挥着日趋重要的作用。目录分销商反而逆势迎来了属于自己的增长机遇。电子元器件分销市场将会继续发展,占据越来越大的元器件市场份额。这是因为生产厂的直销模式并不能轻易满足不同规模客户的日益增长的需求。这就需要小批量供货的供应商
期刊
摘要:本文给出了一种基于LabVIEW的汽车助力转向系统的设计方案。介绍了测试系统实现的整体思路和测试算法以及软件的设计和开发。给出7系统的测试结果,验证7设计方案的可行性。该系统的成功使用证明了其具有较好的稳定性及可靠性。  关键词:EPS;LabVIEW;扭矩传感器    引言    汽车助力转向系统经历了以机械助力转向、液压助力转向、电控液压助力转向等为主流的阶段。目前电动助力转向系统(EP
期刊