跟着互联网的日益遍及,各种家电设备、仪器外表以及工业生产中的数据收集与操控设备在逐渐地走向网络化,以完结分布式长途监控、信息交流与同享。目 前广泛运用的以太网以及TCP/IP 协议现已成为最常用的网络规范之一,其高速、牢靠、分层以及可扩充性使其在各个范畴的运用越来越灵敏,许多情况下选用以太网和TCP/IP,能够简化结构 和降低成本。
现在大多数智能设备和外表都是选用RS232/485 或USB通讯办法,不具备长途操控和数据传输才能。 运用以太网完结工业体系长途操控, 经过互联网同享小型嵌入式设备的信息,是工业操控研讨的发展趋势。本体系选用高速单片机ATmega64及RTL8019AS 以太网操控器,用嵌入式TCP/IP 协议能够完结TCP和UDP等网络功用,进一步完结HTTP协议服务,完结Web Sever 及接入Internet 的功用。
1、 体系硬件规划
体系的结构框图如图1所示, ATmega64是依据增强的AVR RISC 结构的低功耗8位CMOS微操控器。内带64KB的Flash、2KB的E2PROM、4KB的SRAM。因为其先进的指令集以及单时钟周期指令执行时 间,ATmega64 的数据吞吐率高达1MIPS/MHz,然后能够满意体系在功耗和处理速度方面的要求。
RTL8019AS 是一种高度集成的10MB以太网操控器,与NE2000兼容, 支撑8位、16位数据总线;内置16KB SRAM缓存;可衔接同轴电缆和双绞线,并可主动检测所衔接的介质。以太网阻隔滤波器选用20F00IN。
RTL8019AS 与主处理器的接口办法有三种:跳线办法、PNP(即插即用)办法和免跳线办法。RTL8019AS 的第65 脚JP 决议网卡的作业办法,本规划中JP脚接高电平(VCC),即运用跳线办法,此刻能够省掉外部E2PROM 93C46芯片。单片机经过I/O 形式拜访以太网操控器。RTL8019AS 有必要作业在8位形式下,其引脚IOCS16B经电阻接地。电路框图如图2所示。
RTL8019AS自身具有地址译码功用,一切的操控功用或数据传输都是经过拜访地址偏移为00H~1FH的寄存器完结的,所以只需求5条地址 线(SA4~SA0)。在跳线办法下RTL8019AS的I/O 地址由引脚 IOS3~IOS0决议,将IOS3~IOS0对应引脚悉数接低电平,这时RTL8019AS的I/O 基地址为300H,因而能够用SA8 和SA9进行片选接至单片机的PC7。当PC7引脚置高电平时选中RTL8019AS ,当PC7引脚置低电平时选中外部RAM,而将片选信号AEN接地,这种片选办法能够节约一个反向器。AUI 用来检测在AUI接口外部MAU 的运用情况。当该引脚未用时,应该接地。
介质的挑选由引脚PL1和PL0决议,RTL8019AS 还具有主动测验介质衔接是否成功的功用。无屏蔽双绞线(UTP)电缆是现在运用最为遍及的电信介质类型。为了更方便地将嵌入式以太网模块接入到局域网中, 本规划选用RTL8019AS 与双绞线衔接的接口电路,行将PL0、PL1 接地。
2、 以太网操控器的作业进程
以太网操控器的 RAM 以 256 字节为一页,是按页存储的结构,16位RAM地址的高 8位又名页码。以太网操控器的16KB RAM的地址从0x4000~0x7FFF,即从页0x40 到页0x7F,共有64 页用来接纳和发送数据包。这64页RAM是一块双端口RAM。所谓双端口就是说有两套总线衔接到该RAM,总线A 用于以太网操控器读/写片上RAM,总线B 用于单片机读/写以太网操控器上的 RAM。总线A又名Local DMA,总线B 又名 Remote DMA。
2.1 数据包的发送进程
(1) 封装数据包:数据包在发送前,单片机将其按如图3所示的以太网帧格局封装好,并存放在外部SRAM。
(2)经过长途DMA将数据包写入到 RLT8019AS 的数据发送缓冲区, 数据的意图缓冲区首地址和字节数由内部寄存器RSCR0、1设定。
(3) 经过RTL8019AS的本地DMA将数据送入FIFO 缓冲器进行发送。
2.2 数据包的接纳进程
(1)本地 DMA 将需求接纳的数据包存入到接纳缓冲环中。
(2)由长途 DMA 将接纳缓冲环中的数据包写入到外部 SRAM 中。
假如以太网操控器运转正常,接纳到数据包时主动发动本地 DMA 将数据存入接纳缓冲环中,也就是说第一步是由 RTL8019AS 主动完结的。可是,接纳缓冲环的规模需求设置,PSTART、PSTOP 别离用于设置接纳缓冲环的起始页和发送页,设置了接纳缓冲环之后,接纳到的第一个数据包放置的方位由当时页面寄存器CURR 决议。[page]
3、 服务器端作业进程
图4 所示为本体系 TCP/IP 各层协议,链路层协议由单片机操控RTL8019AS 完结,而其他协议由单片机内部程序完结。
服务器接纳数据时,以太网驱动程序担任接纳数据,由以太网操控器中止处理程序唤醒数据接纳使命,由数据接纳使命将接纳到的数据帧交给网络接口 层,网络接口层取出帧头,判别接纳数据的类型,假如是ARP 报文,则将ARP 报文交给ARP 协议模块处理;假如是IP 数据包,则将IP数据包交给IP 协议模块处理,IP协议模块取出IP 首部信息,然后依据数据包的类型,将报文交给相应的协议模块(UDP 模块、TCP 模块或ICMP 模块)处理,UDP 模块或TCP 模块收到报文后,取出首部进行处理,并将用户数据交给运用程序。
服务器发送数据时,将用户数据交给UDP协议模块或TCP 协议模块处理,UDP协议模块或TCP协议模块将其首部和数据封装成UDP数据包或TCP数据包,然后将封装好的数据包交给IP协议模块,IP模块在上层 交给的数据包上增加IP首部,并封装成IP数据包,然后为 IP 数据包寻觅路由,假如找不到相应路由,则向ICMP 协议发送犯错报文,由ICMP 协议模块进行处理,在找到了适宜的路由后,假如是以太网办法,则将数据包发送到网络接口层,运用ARP协议找到意图IP对应的物理地址,然后封装成以太网 帧,由网卡驱动程序将以太网帧发送出去。
4 、运用HTTP协议完结Web接纳与发送操控数据
在单片机体系中完结HTTP 协议服务端的功用,就能够为其他的客户机供给超文本信息,客户端只需求运用一致的浏览器就能够与服务器进行信息交流。
超文本传输协议(HTTP)是现在经过Internet进行信息交流最主要的办法。在Internet上HTTP 通讯常常发生在 TCP/IP 衔接之上。其缺省端口是TCP 协议的80 端口,当然,其他的端口也是能够运用的。HTTP 协议是树立在恳求/呼应(request/response) 模型上的。首先由客户树立一条与服务器的TCP链接,并发送一个恳求到服务器,恳求中包含恳求办法、URI、协议版别以及相关的 MIME(Multipurpose Internet Mail Extensions) 款式的音讯。服务器呼应一个状况行,包含音讯的协议版别、一个成功或失利码以及相关的MIME 款式的音讯(包含服务器的信息、资源实体的信息和或许的资源内容)。
单片机服务器除了包含HTML 文件以外,还有一个HTTP 驻留程序,用于呼应计算机端的操控恳求。用HTML 文件编写的网络界面,能够经过浏览器拜访并运用相应的按扭向服务器发送HTTP 恳求,此恳求被送往由IP地址指定的URL。驻留程序接纳到恳求,在进行必要的操作后回送所要求的文件。在这一进程中,在网络上发送和接纳的数据现已被分 成一个或多个数据包(packet),每个数据包包含:要传送的数据;操控信息,即告知网络怎样处理数据包。TCP/IP决议了每个数据包的格局。
图5 是经过Web 浏览器看到的网络操控界面,必需将客户计算机与服务器体系的IP地址设置在一个段内。如本体系服务器IP地址设为192.168.0.10,客户机IP地址设为192.168.0.11,默许网关均为255.255.255.0。
(1) 发送操控数据进程:①经过浏览器向服务器体系(单片机)发送HTTP 恳求;②服务器体系经过HTTP服务程序检查网页程序中表单内输入变量的改动;③取出变量值,调用串口程序将数据宣布。
(2)接纳收集数据进程:①体系HTTP 协议程序的http_serve 中调用串口程序接纳串口数据,并用此数据替代其内部网页中的表格内“NO DATA”符号;②服务器体系把Web页面传送给用户界面的浏览器。
用低成本的AVR单片机和以太网操控器,配适宜当的网络协议,完结了经过网络对RS232接口设备的数据收集及体系操控。如对其进行恰当的改动与扩展,便能够用于其他接口的仪器外表,并运用于更广泛的范畴。因为体系的操控器运用的是单片机,限于其内部资源,所以网页文件不能过大。
责任编辑:gt