微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 单片机典型案例开发(四)

单片机典型案例开发(四)

时间:03-26 来源:本站整理 点击:

和重复。

  2.使用简单的确认机制:序列号和确认号这两个字段用于协同完成TCP 协议中的确认工作。对于每个接收到的数据包进行确认号的计算,需要从接收到的数据包中提取TCP 报文的数据部分长度,并进行计算,这增加了处理器的运算量。但如果每次只对单个TCP 报文进行确认的话,并没有太大的难度。TCP 协议主要包含的程序如下:

  (1) init_tcp(void) //初始化TCP 协议

  (1) Tcp_send(UINT flags, DINT hdr_len, UCHAR nr) //发送TCP

  (2) Tcp_retransmit(void) //重发TCP 数据

  (3) Tcp_inactivity(void) //停止TCP

  (4) Tcp_rcve(UCHAR xdata * inbuf, UINT len) //接收TCP 数据

  3.3.4 HTTP 协议简介

  HTTP 协议是TCP 协议的高层协议,HTTP 的请求和应答都是一行或多行文本,它的结束标志是一个换行符[5]。如果请求成功,数据就沿着该连接发送,直到发送完为止。HTTP的端口号为80.HTTP 中的命令称呼为方法(method),其中GET 语句用来获取文档,POST语句用来粘贴文档。通过判断GET 和POST 语句后面的文件名来判断所需要传递的文件的位置。

  请求:

  GET / HTTP/1.1

  响应:

  HTTP/1.1 200 OK

  Content-type: text/html

  ……

  《html》

  《body》

  ……

  《/body》

  《/html》

  4.应用部分

  本 WEB 服务器系统几乎可以应用于所有对实时性要求不是很高的场合,只要对本系统的相关部分做些修改或改进,例如:客户端的访问权限、IP 地址的过滤等,就可应用于诸如远程抄表、信息家电的远程控制等场合。下面图7 为ping 命令测试网络不通到通的连接状态,图8 实现了局域网内任意主机通过ip 地址形式访问单片机内部存诸的网页,从而实现对单片机系统的远程监控。

  

  图7 网络连接测试

  

  图8 远程监控温度

  5.结束语

  实现了基于单片机的 TCP/IP 协议栈,使单片机控制的系统具有了WebServer 的功能,这样可以使用PC 机通过因特网远程访问单片机系统,也可以使用单片机系统将有用的信息通过因特网发送到远端的PC 或其它终端上。为嵌入式设备实现远程数据采集、远程监控、远程诊断、远程帮助、远程升级、远程重构等功能提供了可能,这是嵌入式系统发展的趋势。

  三、基于89C52单片机的微电压信号源设计

  1 设计原理

  被测设备要求提供0.5~50mV的可调直流模拟电压,分辨率达10微伏,精度达±0.01mV,温度跟随性要好,即要求提供高精度的微电压信号。

  如果采用单片机通过D/A转换器输出所需电压,输出范围0~5V,LSB=0.01mV,则D/A转换器的位数:

  X=lg2(5000/0.01)≈19(Bit)

  考虑D/A转换器的量化误差、温漂、噪声和其他各种误差的影响,至少选择21Bit以上的D/A转换器,但目前尚无适合本系统设计的D/A转换器。因此,在考虑系统分辨率和输出电压范围的前提下,采用如下方案:先将小于50 mV的电压数值扩大100倍,再用 16Bit D/A转换器输出,然后通过200倍的高精密分压器和超低漂移的运算放大器缓冲输出。与此同时,采用高位A/D转换器组成电压反馈回路,对输出进行差值补偿,进一步提高信号精度和稳定性。 其原理结构如图1所示。

  

  2 硬件设计

  2.1 电压输出电路

  在单片机(89C52)、D/A转换器、分压、运放组成的微电压输出电路中,设计的要点是如何用单片机控制D/A转换器的输出。本设计采用美国BB公司生产的16位高精度数/模转换器DAC714(单通道、串行通讯方式,工作电压±12V或±15V,能实现±10V、±5V和0~10V的模拟电压输出)。图 2是D/A转换器与单片机的连接电路。DAC714采用 ±15V工作电压,通过外部连接的增益(OFFS)和双极性偏移(GADJ)电位计调整,实现对输出电压的精度要求。在调节这两个参数时,为了避免零点对比例调节的影响,应注意先调整比例系数,后调零点。其中,A0为输入寄存器控制信号,A1为D/A锁存控制信号,SDI为串行数据输入。数据控制均为低电平有效,当A0=0时,当前数据进入移位寄存器;当A1=0时,数据进入D/A锁存。

  

5V满刻度的16位DAC714转换器,1LSB对应76μV。如果输出端的负载电流为5mA,则60mΩ的线路和接触电阻,就会产生300μV的压降;此外,还有印刷电路板产生的压降。因此,将模拟地和数字地分开,采用单点连接,尽量减小接地回路。模拟插钉互相靠近,有利于模拟与数字信号的隔离,而模拟信号应该尽量远离数字信号。为了将D/A转换器与开关电流隔离,模拟地设在D/A周围或者在其下方的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top