关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于嵌入式系统的温室远程监控设计

基于嵌入式系统的温室远程监控设计

作者: 时间:2012-08-29 来源:网络 收藏

3.2 单片机控制以太网卡工作过程

在上电工作时首先要进行初始化,即初始化单片机C8051F020和RTL8019AS,进行工作参数和条件的设置,主要是一些寄存器的配置和内置RAM空间的分配。初始化之后,由于MCU中的TCP/IP是直接面向硬件的,没有实时操作的支持,程序结构一般采用顺序执行和硬件中断相结合的方式,与操作系统的多进程并发执行的方式截然不同。当所有初始化完成之后,就采用查询方式开始工作,程序流程图见图2。

当系统接入以太网开始运行时,首先进行地址解析,在网络内进行“身份识别”,当用户通过浏览器发出请求时,网络芯片驱动程序接收以太网帧形式的用户请求,然后传输给上层协议逐层分离取出用户请求,控制系统根据用户请求调用单片机C8051F020外围传感器采集内相应的状态数据,再将数据逐层打包,最后交给以太网芯片RTL8019AS封装成以太网帧发送出去。如果传输的数据量比较大,则重复多次数据发送过程,便可完成一个数据的完整传输。在终端可以以Web网页的形式供用户浏览和做出进一步的判断控制。

控制系统中单片机主要完成来自网络数据的解包和接受传感器采集的数据的打包,当以太网有数据到达该设备时,单片机采用查询方式读取网络数据并分析,先将其目的地址与系统的物理地址相比较,如果地址不相符,则将该数据丢弃,如果相符,则判断是否是ARP数据包,是则转入ARP处理程序,并发送RARP数据包。如果是UDP数据包且IP地址和端口号正确,则开始数据接收。当传感器传来的数据要发送时,单片机先将待发送的数据按UDP 协议格式打包进行封装,需要设置以太网目的地址、源地址、协议类型,再按所设置的协议类型来设置数据段。然后给出发送缓冲区首地址和数据包长度,启动发送命令。通过远程DMA通道送到RTL8019AS中的发送缓冲区,即可实现RTL8019AS的发送功能,并将结果写入状态寄存器中。再启动本地DMA,将数据发送到网络上。


图2 系统程序流程图

4 结论

(1)提出将单片微处理器提升为具有系统软件和TCP/IP协议的Web服务器,并用于温室环境控制的方案。这种嵌入TCP/IP协议的单片机系统成本低、硬件少、传输速度快、使用方便,可在远程数据采集和传输、等方面有广泛应用前景。

(2)了系统的软硬件,通过用单片机控制网络接口芯片RTL8019AS,同时嵌入精简的TCP/IP协议,将温室控制器扩展成Web服务器,实现温室内各种状态数据的采集与控制。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

tcp/ip相关文章:tcp/ip是什么



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭