菜单

乐游娱乐:基于串口设备的嵌入式Web服务器系统

2017.10.18

admin

未知


  乐游娱乐官网:跟着因特网和通讯财产的迅猛成长, 人们的糊口、事情、头脑体例都产生了庞大变迁。 嵌入式体系给消息社会带来了新的朝气, 而嵌入式Internet 手艺的呈现和成长无疑给这种趋向起到了火上加油的感化。

  目前, 跟着互联网手艺使用的日益普遍, 收集传输曾经成为一种最为经济无效的数据传输体例,越来越多的设施必要设置装备安排收集接入功效, 以实现对体系的近程监测和数据集中处置。

  本文提出了一种嵌入式Web 体系方案, 操纵基于TCP/IP 和谈的串口/以太网数据转换手艺实现串口设施数据的收集化传输, 监测数据存储在非易失性存储器中, 并实时公布到互联网上更新监测网页。 用户能够通过Internet 拜候体系Web 办事器近程获取所需消息, 实现无效的近程监控和消息处置。

  近年来, 互联网以其高速便利传输数据的特点越来越遭到人们的青睐。 而在工控和通讯设施中, 更多的倒是合适RS-232/485 尺度的串行口设施。 与基于RS-232/485 尺度的串行通讯比拟, TCP/IP 收集拥有带宽、高速、远距离及通讯营业普遍的长处, 并且连网通讯距离能够有限耽误, 而且相对RS 尺度的通讯抗滋扰威力差, 消息传输容易犯错, 收集是基于庞大情况设想的, 拥有主动纠错功效, 通讯品质不变不易受外界滋扰。 因而, 将串口数据通过收集传输成为串口设施收集化历程的研发烧点。

  串口以太网转换器(如图1 所示)的呈现使得基于TCP/IP 的串口数据传播输成为可能, 它能够毗连多个串口设施并将串口数据流进行取舍和处置, 把现有的RS 尺度接口数据转化成IP 端口数据, 然后IP 化办理, IP 化存取, 如许就能将保守的串行数据奉上风行的收集通道, 无需过早裁减现有串口设施, 提高设施操纵率。 各类转换器完成的是一个面向RS 尺度的链接和无毗连的以太网通讯数据存储节制器, 对各类来自串口设施的数据流进行格局转换使之成为能够在以太网中传布的数据帧并对来至以太网的数据帧进行果断转换成串行数据投递响应的串口设施。 这包罗三个环节手艺:

  ① TCP / IP 和谈的事情模式: 串行转以太网, 不是简略的物理层和数据链路层的转换, 而是串口的数据作为TCP/IP 的使用层数据, 用TCP/IP 封装传输的体例。 如用户通过socket 的recv()和send()函数领受和发送的现实是使用层数据。 可是TCP/IP 并不仅是recv()和send()这么简略, 按照事情模式的分歧, 它关系到毗连、监听、封闭等, 这是串口转网口后必要添加处置的部门。 TCP/IP 的事情模式能够分为: TCP 办事端模式(TCP Server)、TCP 客户端模式(TCP Client)、UDP 模式。 UDP 模式: UDP 模式是基于非毗连的模式,只需无数据发送即可发送, 不必要事先毗连。 TCP 模式: TCP 模式采用数据靠得住传输机制, 所以能够包管数据根基不误码、不遗失。

  ② 串口分帧手艺: 串口数据是能够接二连三发送的, 而以太网数据则是以数据包为单元发送的。 如许就关系到将多长的串口数据打包后作为一个以太网数据包发送的问题。 目上次要采用数据包长度或数据包间隔两种体例。

  ③ 9 位手艺: 以太网数据是以字节Byte 计较的每个字节都是8 位, 可是串口数据则有可能呈现9 位, 第9 位每每用于区分是地点帧仍是数据帧, 1 暗示地点帧0 暗示数据帧。 那么在当串口转化为以太网之后, 若何将第9 位也传递出去就成了一个环节手艺。 在浩繁的串口转网口方案中都是将第9 位间接舍弃的, 目前据领会上海卓岚消息科技的方案拥有倏地地顺应9 位的功效, 实在现方式中采用了称之为RealCom 的和谈。

  因为添加了第9 位, 所以串口数据不成以大概间接通明地转化为TCP/IP 使用层数据, realcom 和谈将串口数据打包之后整个作为TCP/IP 的使用数据传输。 如许能够在realcom和谈的和谈头部插手该数据包的第9 位是1仍是0 的消息, 从而实现了9 位传输手艺。

  要将嵌入式接入以太网到达通过收集进行数据传输的要求, 起首要准确设置RTL8019AS 的事情体例和形态, 通过对响应地点和数据端口的读写操作完成以太网帧的接管和发送。 RTL8019AS 内部拥有近程DMA 接口、当地DMA 接口、MAC 逻辑、数据编码解码逻辑和其他端口。 近程DMA 接口是MCU 对网卡内部RAM 进行读写操作的总线, 当地DMA 接口是RTL8019AS 与网线的毗连通道, 完成节制器与网线的数据互换。

  MAC 次要完成下面两功效: (1)当MCU 向网上发送数据时, 先将一帧通过近程DMA 通道送到网卡的发送缓冲区, 然后发送传递死令, 待网卡发送完上一帧数据后, 在起头发送以后帧。 (2)网卡领受到的数据通过MAC 比力和CRC 校验后, 由FIFO 存到领受缓冲区。 收满一帧后, 以中缀体例通知主处置器。 当RTL8019AS 有关参数设置完毕后, 体系进入一般事情形态, 施行与Internet 毗连有关功效。

  体系有两部门形成: 嵌入式Web 办事器和串口终端设施, 如图2 所示。

  嵌入式Web 是体系的焦点, 采用B/S 机制。 对外间接毗连Internet, 对内毗连串口终端, 并供给Web办事和用户交互。 用户可通过网页情势向办事器发送指令。 体系领受到消息落伍行和谈阐发转换, 并向响应的串口终端发送节制号令。 串口终端施行完有关操作后, 将施行成果通过Web 办事器以网页情势反馈给用户。

  嵌入式Web 办事器次要形成有: 微节制芯片(s3c44b0x), 以太网节制芯片(RTL8019AS), 多串口和谈处置器, 外扩Flash ROM芯片等。 外扩ROM用于存放IP 地点, 网卡物理地点和其他有关参数, 同时还能够保留法式和网页数据。

  微节制器采用Samsung 公司的16/32 位的RISC布局的s3c44b0x 芯片。 该芯片是一款高机能低本钱的微处置器, 内部集成了丰硕的片表里设, 包罗: 8K 的cache, 可选的SRAM 节制器, 带有握手信号的双通道UART 和RTL时钟。 S3C44B0X极低的功耗和简略的全静态设想使其很是适合低本钱和对功耗敏感的项目。

  收集节制器采用Realtek 公司的收集接口芯片RTL8019AS 进行收集毗连, 通过RJ45 接入局域网, 在经局域网联入Internet. 44B0X 拥有高达66MHZ 的主频处置威力, 操纵一个8 位I/O 作为体系数据总线AS, 实现对收集数据的倏地封装、编码与发送。 RTL8019AS 通讯以单字节体例, 采用8 位数据总线与MCU 进行数据互换。

  44B0X 自身带有2 个UART 串行接口能够模仿多串口之间的通讯, 但与保守单级数据收罗体系分歧,本体系串口模块可接较多串口设施, 实现多种和谈串口设施的挂接, 同时要求各设施同时事情, 但移植的uClinux 是一个桌面体系, 其串口I/O 顺应威力较弱,多串口I/O 通讯会占领体系很大开销, 为使主节制器从沉重的I/O 事件中解脱出来, 同时使串口设施可以大概矫捷的与主节制器进行通讯, 引入了嵌入式串口和谈处置器的本串口模块, 如图3 所示。 其次要担任多个串口设施的数据收罗和节制, 完成对串口数据流的电平转换和数据格局处置, 果断串行数据的肇始位及遏制位, 完成对数据和校验位的提取, 在电路设想上采用MAX232/485 芯片实现对响应电平的转换。

  多串口通讯电路采用1 片带有收发各64 Byte 的FIFO 的扩展通用异步收发器ST16C654 扩展出4 路RS232 和RS485 通讯串口COMC, COMD, COME 和COMF, 此中COMD 和COME 未在图中暗示, 其布局与COMC 和COMF 不异。 ST16C654 与S3C44B0X 之直接口如图4 所示, 地点线取舍要进行读写的寄放器;数据线进行数据、号令和形态的读写; 中缀信号线路UART 的中缀信号, 间接与MCU 的中缀引脚相连,作为领受和发送的中缀信号。 扩展的4 路串口通道,每个通道有15 个或16 个内部寄放器, 用来存放收发数据以及设置装备安排该串口的事情模式, 必要在初始化时对各寄放器进行设置装备安排, 事情模式有中缀模式和按时查询模式, 中缀模式及机会能好, 适于告急环境, 按时查询体例具备正常及时性, 数据不遗失。 本文采用中缀和并行体例通讯, 提高通讯速率; 发送、领受和节制信号通过光耦器和5V DC/DC 断绝电源模块彻底断绝,预防外部信号对CPU 等焦点电路的滋扰, 4 路串口别离通过短路块实现RS232 和RS485 通讯体例的切换。

  为了实现用户通过Internet 近程拜候Web, 本体系在TCP/IP 和谈根本上采用B/S 通讯模式进行收集通讯编程。整个办事器主法式框图如图5 所示。

  体系初始化后起首设置MCU 内部按时器事情体例, 轮询查找串口模块能否无数据必要接管, 再设置RTL8019AS 芯片参数毗连Internet 网, 初始化顺利后体系会得到一个IP 地点, 用户能够通过该地点实现远端节制。 同时为了包管收集一般事情, 体系必要监听收集形态, 对从RTL8019AS 接管的数据帧进行解包阐发, 按照阐发成果别离进入ARP, ICMP, TCP, UDP 和HTTP 处置子法式, 将串口数据发往以太网, 使采用TCP/IP 和谈的以太网内所有计较机都能收到此数据。

  uClinux 是基于linux 内核的一种开源操作体系,分歧的是它能够餍足没有内存办理单位(MMU)的微处置器的必要, 而且拥有优良的可移植性, 因为采用模块化内核设想, 很多功效能够独立加上或卸下, 以到达节流资本实现所需的目标。 对付分歧的处置器和开辟板, uClinux 的移植[5]可分为3 个条理:

  架构级: 目前uClinux 能支撑较多的系统布局,但若是要移植的处置器不在uClinux 支撑的处置器系统之内, 则必要增添或点窜linux/arch 目次下有关处置器架构的文件, 包罗中缀处置、内存映照的维护、使命上下文切换和初始化历程等。

  平台级: 对付uClinux 已支撑系统的分支处置器,则必要在有关系统布局目次下成立响应目次并参照统一架构其他系列的处置器编写响应代码。

  板级: 对付uClinux 支撑的处置器, 只要要板级移植了。 针对分歧的开辟板硬件资本完成驱动法式编写和情况变量设置等内容。

  本文采用的 uClinux2.4.x 版本并不支撑S3C44B0X 处置器, 参照其对统一ARM 架构下S3C4510 处置器的支撑, 对内核进行改写使其支撑S3C44B0X 处置器, 移植历程中通过设置装备安排响应模块和点窜源代码[6]实现了对串口和收集的支撑。 别的, 本文还同时移植了指导加载法式(uboot1.1.4)和uClinux的根文件体系ROMFS.

  Boa 是基于GNU/Linux 平台的嵌入式Web 办事器[7], 速率和安满是它的最大特点。 Boa 源码开放、机能优良、支撑CGI, 出格适合使用在嵌入式体系中。

  ① 针对ARM9 平台网上下载BOA 源码, 编译成bin 文件后, 把二进制代码放进根文件体系里, 再设置装备安排f 既可。

  ② 针对uClinux 在编译内核时, 定制用户法式, 选中BOA, 然后编译内核下到开辟板中, ARM7 正常采用此方式。

  为了便于Boa 办事器的调试点窜二次编译, 本文间接将uClinux 源代码下的boa 文件夹拷贝出来, 采用雷同ARM9 的编译体例。 然后通过移植CGI205 库以实现使用法式与Web 办事器的交互, 从而实现客户端对办事器真个操作。 简略来说, CGI 法式的事情历程[8]

  ① 客户端通过浏览器把请求发送到web 办事器;② Web 办事器领受请求后, 将请求消息发送给指定的CGI 法式;③ CGI 法式对客户真个请求进行处置, 并把处置成果传递给web 办事器;④ Web 办事器把CGI 法式的处置成果前往给客户端浏览器。

  串口终真个运转必要对44B0X 微处置器编程, 次要完成串口模块的数据互换, 处置体系发来的指令,前往操作成果等功效。

  当今时代, 在计较机进行收集互连的同时, 各类家电设施, 通讯设施以及工业出产中的数据收罗节制设施也在逐渐收集化。 本文连系以后串口设施收集化的高潮, 提出了一种嵌入式Web 体系方案, 实现了嵌入式体系收集接入、消息处置、web 办事等功效。 体系拥有以下特点:

  ① 使用web 机制, 用户能够通过Internet 浏览拜候节制页面, 不在必要特地的软件, 使体系的拜候和操作愈加便利。 采用MCU 片内可编程手艺, 使体系功效可调, 拥有优良的可扩展性, 可使用于分歧场所。

  ② 将串口设施实现收集化的传输, 避免在收集化趋向下串口设施过早被裁减, 实现了产物升级, 节约本钱。

  嵌入式Web 体系实现互联网接入, 能够便利的将终端设施所收罗的各类数据通过收集倏地传送给上位机, 节制终端用户能够随时拜候Web 办事器供给的最新网页, 实现倏地便利的消息交互, 以浏览器为载体的Web 手艺与嵌入式终真个连系, 必将鞭策嵌入式终端体系的普遍使用。 本体系的设想能够合用于近程工业监控, 情况温湿度主动监测, 大坝水位的及时观测等, 为近程监控和数据集中处置供给了一种新的取舍。