以太网远程温度监控系统的设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收到的数据包将被丢弃不要, 而不会覆盖旧的数据, 实际上此
时 出现 了 内 存溢 出 。当 CURR=BNRY+1, 网 卡 的 接 收 缓 冲 区 里
没有数据, 表明没有收到数据包。 用户通过这个判断可以知道 有没有数据包可以读。当上述条件不成立时, 表示接收到新的 数据包, 用户读取数据包。直到上述条件成立时, 表示所有数据 包已经读完, 此时停止读取数据包。
嵌 入 式 Web 服 务 器 技 术 , 提 出 了 基 于 以 太 网 的 远 程 温 度 监 控
系 统 的 设 计 方 案 。该 方 案 成 功 的 实 现 了 温 度 采 集 和 控 制 的 网 络
化, 具有结构简单, 成本低, 传输稳定等优点。
2 远程温度监控系统的硬件电路设计
远 程 温 度 监 控 系 统 硬 件 平 台 主 要 由 微 处 理 器 W78E516B、 以 太 网 控 制 器 RTL8019AS、数 据 存 储 器 WS62256、网 络 隔 离 变 压 器 20F- 01、 用 于 片 选 的 ATF16V8B 以 及 数 字 化 温 度 传 感 器 DS18B20 等器件组成。硬件总体框图如图 1 所示。
读出指针, 由主机程序控制 。根 据 CURR、BNRY+1 可以 判 断 是
否收到新的数据 包, 新 收 到 的数 据 包 存于 以 CURR 指 出的 地 址
为首址的 RAM 中。当 CURR=BNRY 时, 表示缓冲区全部 被 存
满 , 数 据 没 有 被 用 户 读 走 , 这 时 网 卡 将 停 止 往 RAM 写 数 据 , 新
嵌 入 式 Web 服 务 器 的 实 现 方 法 。 该 方 案 使 用 户 能 通 过 任 意 IE 浏 览 器 实 现 对 远 程 端 温 度 的 监 控 。
关键词: 单片机; 以太网; TCP/IP 协议; DS18B20
中图分类号: TP393.1
文献标识码: B
Abstr act: This paper provides a solution to design a remote temperature monitoring and controlling system based on 8- bit microcon- troller. The hardware frame pictures of the system, realization of simplified TCP/IP stack and embedded web server have been given.
6 页的发送缓存区, 一个用于数据包发送, 另一个用于构造数据
包, 通过标志位区分, 交替使用, 提高发送效率。
(3) RTL8019AS 接收数据
接收数据采用查询方式。接收数据时, 接收缓冲区构成一
个循 环 FIFO 队 列。PSTART、PSTOP 两 个 寄 存 器 限 定 了 循 环 队
列的开始和结束页; CURR 为写 入 指 针, 受 芯 片 控制 ; BNRY 为
为高 电 平有 效 , 至 少 需 要 800ns 宽 度 的 脉 冲 。 复 位 过 程 将 执 行
一些操作, 至少需 要 2ms 的 时间 , 推 荐 等待 更 久 的时 间 之 后( 如
100ms) 再对它操作, 以确保完全复位。复位后, 应对 RTL8019AS
初始化, 初始化页 0 与页 1 的相关寄存器; 页 2 的寄存器是只
片选问题。片选采用 GAL 器件 ATF16V8B, 其译码逻辑为:
ramlcs=A15;
数据存储器片选
新
的 嵌入 式 Web 服 务 器 技 术 实 现 数 据 交 换 将 具 有 较 高 的 实 用 价
ramhcs=A15&A14&A13&A12&A11&A10&A9#! A15; 数 据
值 。温度 是 程 控机 房 、档 案室 、图 书 馆、农 业 生 产基 地 等 众多 场 存储器片选
⑩ 设置 ISR=0xff, 清除所有中断标志位。
(2) RTL8019AS 发送数据
ห้องสมุดไป่ตู้
发送数据时, 先将待发送的数据按以太网Ⅱ帧格式封装,
通过远程 DMA 操作将数据写入 RTL8019AS 的 RAM, 然后给出
发送缓冲区首地址和数据包长度( 写入 TPSR、TBCR0、TBCR1) ,
存 放 数 据 长 度 是 低 位 放 在 TBCR0, 高 位 放 在 TBCR1, 启 动 发 送
数据 线 和地 址 线 均采 取 总 线方 式 , 即 8 位 数 据 线 和 16 位 地 址 线 。 在 实 际 应 用 中 RTL8019AS 需 要 用 到 的 管 脚 有 , SA0 ̄ SA19 为网卡的地址线, SD0 ̄SD7 为网卡的数据线。RTL8019AS 的 64、74、77 三 个 管脚 悬 空 , RTL8019AS 芯片 会 自 动检 测 , 如 果 检测到 l0BASE- T 信号, 则选择接口类型 UTP, 否 则 选 择接 口 类 型为 BNC。RTL8019AS 提 供 三种 配 置 I/O 端 口 和 中 断 的 模 式 , 由于单片机资源有限, 不需要实现即插即用 , 而 RT 免 跳线 模 式 需要 外 接 一个 E2PROM ( 9346 ), 因 此 这里 选 择 跳 线 模 式 , 虽 然 这是最简单的一种模式, 但是系统需要的功能完全可以实现。 选 择跳 线 模 式, JP 端 接 高 电 平 。RTL8019AS 内 置 了 10BASE- T
新
⑤ DCR=0xc8, 使用 FIFO 缓存, 普通模式, 8 位数据 DMA。 ⑥ IMR=0x00, 设置中断屏蔽寄存器, 屏蔽所有中断。
⑦ 设置组播地址寄存器 MAR0~MAR7, 均设置为 0x00。
⑧ 设置网卡物理地址寄存器 PAR0~PAR5。
⑨ CR=0x22, 选择页 0 的寄存器, 进入正常工作状态。
您的论文得到两院院士关注 文章编号:1008- 0570(2008)09- 1- 0099- 03
控制系统
基于以太网远程温度监控系统的设计
De s ig n o f Re m o te Te m p e ra tu re Mo n ito rin g a n d Co n tro llin g S ys te m Ba s e o n Eth e rn e t
3.2 TCP/ IP 协议栈的实现
图 2 TCP/IP 协议栈主流程框图 TCP/IP 协 议 栈 的 设 计 是 以 TCP/IP 协 议 参 考 模 型 为 核 心 。 参考模型中的物理层和数据链路层由网络接口芯片 RTL8019AS 及其驱动程序完成的。TCP/IP 协议栈的主体设计分 为 横 向 和 纵 向 两 条 主 线 。横 向 主 线 包 括 收 发 缓 存 设 计 和 定 时 器 设计。纵向主线包括 ARP( Address Resolution Protocol, 地址解析 协议 ) 模 块、IP( Internet Protocol, 互 联 网 协议 ) 模 块 、ICMP( Inter- net Control Messages Protocol, 因 特 网 控 制 报 文 协 议 ) 模 块 、TCP ( Transfer Control Protocol, 传 输 控 制 协 议 ) 模 块 和 HTTP ( Hyper Text Transfer Protocol, 超文本传输协议) 模块的 设 计 。在应 用 层 以 HTTP 协 议 和 公共 网 关 接 口 CGI 技 术 为 基 础 , 构 建 了 嵌 入 式 Web 服务器, 实现 浏 览 器和 服 务 器的 动 态 交互 。TCP/IP 协 议 栈 主流程框图如图 2, 各模块的功能如下: ① HTTP 实现 Web 功能。响应客户 机 的 请求 , 实 现 动态 交 互功能。 ② 传输层采用 TCP 方式。TCP 协议是面向连接的、端对端 的可 靠 通信 协 议 。TCP 采取 了 很 多机 制 来 保 证 它 的 可 靠 性 , 包 括 TCP 连 接 的 建 立 与 关 闭 机 制 、超 时 重 传 机 制 、数 据 包 确 认 机 制 、流 量 控 制 机 制 。 ③ IP 实 现 对数 据 包 的 校 验 检 测 和 传 输 , ICMP 是 调 试 响 应 PING 的 请 求 , 检测 网 路 是否 通 顺 。ARP 是地 址 解 析协 议 , 具 体 处理过程为, 当接收到 ARP 数据包, 处理器 就查 看 IP 地 址是 请 求 还是 响 应 , 如果 是 响 应 , 则 将 响 应 中 的 网 卡 地 址 存 到 ARP 高 速 缓 存表 中 ( 该 表保 留 的 是最 近 10 次 与服 务 器 通信 的 网 卡 地 址) ; 如果是请求, 处理器将返回自己的网卡物理地址给对方。 ④ Ethernet 层 即 接 口 层 的 工 作 主 要 由 网 卡 控 制 器 芯 片 RTL8019AS 来完成, 负责接收和发送数据。 3.3 DS18B20 的温度采集程序 温 度 采 集 并 没 有 采 用 传 统 的 温 度 传 感 器 与 A/D 组 合 的 采 集 方 式 , 而 是 采 用 DALLAS 最 新 单 线 数 字 温 度 传 感 器 DS18B20。它 具 有 体 积 更 小 、适 用 电 压 宽 、经 济 便 宜 等 特 点 。简 单 的硬件接口是以相对复杂的接口编程为代价的, 各器件与单片 机 之 间 的 接 口 协 议 ( 包 括 初 始 化 、写 0、写 l、读 0、读 1 等 协 议 ) 要通过严格的时序来保证。
有 64 页 。 页 的 地 址 就 是 地 址 的 高 8 位 , 页 地 址 范 围 为 0x40~
0x7f。这 16k 的 RAM 的一部分用来存放接收的数据包, 一部分
用来存储待发送的数据包。文中使用 0x40~0x4b 为网卡的发送
缓冲 区 ( 共 12 页 ) , 刚 好 可以 存 储 2 个最 大 的 以太 网 数 据 包 ; 使
收发器, 所以网络接口的电路比较简单, 只需外接一个隔离低
术 通滤波器。LED0, LED1 各接一个发光二极管以反映通讯状态。
温度采集采用单总线数字温度传感器 DS18B20。串口主要用于
创 程序下载和调试。由于外部扩展了 64K 的 RAM, 所以这里存在
入式系统选择 Web 服务器的方式与 Internet 进行数据交换。而 以太网 是构 筑 现 代 Internet 网 络 的 基础 , 因 此 选择 基 于 以太 网
(1.西安文理学院;2.西安科技大学) 孙 静 1 王 再 英 2
S UN J ing WANG Zai-ying
摘要: 本 文 提 出 一 种 基 于 8 位 单 片 机 的 远 程 温 控 系 统 的 设 计 方 案 , 文 中 给 出 了 系 统 的 硬 件 框 图 , 以 及 简 化 TCP/IP 协 议 栈 和
Users can monitor the distance temperature through Internet explorer by this scheme.
Key wor ds: Micr ocontr oller ; Ether net; TCP/IP; DS18B20
技
1 引言
随 着 通 讯 技 术 、网 络 技 术 和 半 导 体 技 术 的 飞 速 发 展 , 嵌 入 式 系 统 接 入 网 络 已 成 为 其 应 用 的 一 个 重 要 方 向 。越 来 越 多 的 嵌
所 需 要 实 时 监 控 的 一 个 重 要 物 理 量 。温 度 监 控 系 统 在 实 际 生 活
8019cs ! =(A15&A14&A13&A12&A11&A10&A9);
中有 着 重要 的 作 用。本 文 主 要 针 对 MCS- 51 系 列 单 片 机 , 结 合 RTL8019AS 片选
读 的 , 不 可 以 设 置 ; 页 3 的 寄 存 器 不 是 NE2000 兼 容 的 , 不 用 设
置。具体设置如下:
① CR=0x21, 选 择 页 0 的 寄 存 器, 芯 片 处 于停 止 模 式, 这 时
进行寄存器设置。
② 网卡含有 16K 字节的 RAM, 每 256 个字节称为一页, 共
命令( CR=0x3E) , 启动本地 DMA, 将数据发送网上。RTL8019AS
会自动按以太网协议完成发送并将结果写入状态寄存器。
RTL8019AS 无 法 将 整个 数 据 包通 过 DMA 通 道 一 次 存 入 FIFO,
因此在构成一个新的数据包之前必须先等待前一数据包发送
完成。为提高发送效率, 设计中将 12 页的发送缓存区分为两个
技 前正在写的页的下一页, 那么初始化时应该设置为 0x4d。
③ RCR=0xcc, 使用 接收 缓 冲 区, 仅 接 收 目标 物 理 地址 和 设
术 置物理地址一致的数据包、广播地址数据包和多点播送地址
包, 小于 64 字节的包丢弃, 校验错的数据包不接收。
创
④ TCR=0xe0, 启用 CRC 自动生成和校验, 工作在正常模式。
孙 静: 助教 工学硕士 基金项目: 西安文理学院专项科研基金资助项目(KY200641)
图 1 远程温度监控系统的硬件框图
3 远程温度监控系统的程序设计
系统 程 序在 KEIL C51 下 实 现, 主 要 包 括三 部 分 : 一 是 以 太 网 接 口 驱 动 程 序 的 实 现 ; 二 是 TCP/IP 协 议 栈 的 实 现 ; 三 是 DS18B20 的温度采集程序。
3.1 以太网接口驱动程序的实现 以太网接口驱动程序 相 当 于实 现 PC 机 中网 卡 的 驱动 程 序 功能 , 主 要 通 过 RTL8019AS 处 理 以 太 网 协 议 , 完 成 以 太 网 数 据 帧的收发。首先要对 RTL8019AS 进行复位, 并将其设置为跳线 模 式 , 然 后 设 置 RTL8019AS 的 工 作 参 数 , 使 其 开 始 工 作 。 RTL8019AS 正 常 工 作 后 , 通 过 读 写 RTL8019AS 的 RAM, 完 成 数 据 包 的 接 收 和 发 送 。数 据 传 输 中 介 质 访 问 控 制 逻 辑 由 硬 件 自 动完成。
《P LC 技术应用 200 例》
邮局订阅号: 82-946 360 元 / 年 - 99 -
控制系统
中 文 核 心 期 刊 《 微 计 算 机 信 息 》( 测 控 自 动 化 )2008 年 第 24 卷 第 9-1 期
(1) RTL8019AS 的初始化
RTL8019AS 通过 RSTDRV 管脚来进行复位操作。RSTDRV
用 0x4c~0x7f 为网 卡 的 接收 缓 冲 区( 共 52 页 ) 。因 此, PSTART=
0x4c, PSTOP=0x80( 0x80 为 停 止 页 , 就 是 直 到 0x7f 是 接 收 缓 冲
区, 不包括 0x80) 。刚开始网卡没有接 收 到 任何 数 据 包, 所 以
BNRY 设 置 为 指 向 第 一 个 接 收 缓 冲 区 的 页 0x4c, CURR 指 向 当