基于AT89S52的远程电源监控系统设计

最新更新时间:2011-11-12来源: chinaaet关键字:AT89S52  电源监控  c8051f020 手机看文章 扫描二维码
随时随地手机看文章

  1  引言

  目前,以太网(ethernet)协议已经非常广泛地应用于各种计算机网络,如办公局域网、工业控制网络等场合,并且还不断地发展。基于以太网的新技术和联网设备不断出现,以太网已经成为事实上最常用的局域网络标准之一。但是,基于以太网的嵌入式系统目前并不是很多。其原因除了嵌入式系统本身运行速度较慢、资源较少且不足以实现以太网的各种协议外,更重要是设计以太网的接口及协议相对比较复杂,使人望而却步。本文将研讨基于c8051f系列单片机系统的嵌入式系统与10mbps以太网控制器芯片rtl8019as的接口电路实现及编程方法。

  2  嵌入式以太网接口分析

  2.1  接口组成

  8位mcu的嵌入式设备通过以太网接口,将8位mcu采集的数据信息,传送到远程服务器。在这个过程中需要处理网络接口、接收数据的分析、发送数据段的封装等问题。

  以10baset以太网为例,发送数据时应该做的工作是首先对需要发送的数据进行曼切斯特编码,然后对编码后的数据进行预处理,使其发送的数据适合10baset的以太网传输,最后把处理好的数据以适当的速度发送到以太网。同时为了保证数据的有效性,系统还应具有冲突检测和重发功能。在这个过程中,直接用8位mcu来实现该功能非常困难。解决的方法是用专门的网络接口芯片nic网络接口卡(nic-network interface card)来实现,这类芯片遵循ieee802.3所规定的csma/cd协议,除了提供物理链路所需的电气性能外,还提供曼切斯特编码、冲突检测和重发功能,可以用很少的外围电路一起完成数据的发送和接收功能。这样,8位mcu只需要nic芯片提供初始配置和数据接口,这对于8位mcu是没有问题的。基于以上的分析,8位mcu的嵌入式设备以太网接口部分构成如图1所示:

图1 嵌入式设备以太网接口组成

  2.2  以太网控制芯片——rtl8019as

  (1) rtl8019as的主要性能

  •   符合以太网ii与ieee802.3(10base5、10base2、10baset)标准;
  •   全双工,收发可同时达到10mbit/s的速率;
  •   内置16kb的sram,用于收发缓冲,降低对主处理器的速度要求;
  •   支持8/16位数据总线,8个中断申请线以及16个i/o基地址选择;
  •   支持utp、aui、bnc自动检测,还支持对10baset拓扑结构的自动极性修正;
  •   允许4个诊断led引脚可编程输出;

  采用cmos工艺,功耗低。单一电源5v供电。

  (2) rtl8019as的内部结构

  rtl8019as芯片内部包含远程dma(直接存储器存取)接口、本地dma接口、mac(介质访问控制)逻辑、数据编码解码逻辑和其它接口。这里的dma与平时所说的dma有些不同:rtl8019as芯片的本地dma操作是由控制器本身完成;而远程dma并不是在没有主处理器的参与下数据能自动移到主处理器的内存中,它指主处理器给出起址和长度就可以读写芯片的ram缓冲区,每操作一次ram地址自动加1,而普通ram操作每次要先发地址再处理数据,速度较慢。内部结构如图2所示。

  3  嵌入式设备网络互连设计方案

  3.1  电路原理设计

  c8051f020是美国cygnal公司推出的一种混合信号soc型8位单片机,它是一种完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与mcs-51指令集完全兼容。内核采用流水线结构,机器周期由标准的12个系统时钟周期降为1个系统时钟周期,70%指令的执行时间为1个或2个系统时钟周期,处理能力大大提高,峰值性能可达25mips。

  同时,除具有标准8051的数字外设部件外,c8051- f020片内还集成了构成一个单片机数据采集、控制系统所需要的几乎所有模拟、数字外设及其他功能部件。这些外设或功能部件包括:用于多种模拟信号的模拟多路选择器、真正12位转换精度的adc,还有能满足特殊功能所需的smbus(i2c兼容)、uart、spi、多个多功能计数器/定时器、以及看门狗定时器(wdt)和电源监视器等数字外设。

  c8051f020具有100脚的tqfp封装,功耗低,供电电压为2.7~3.3v,全部i/o、rst、jtag引脚均耐5v电压。其mcu具有p0~p7共64个通用i/o端口,每个端口引脚都可以被配置为推挽输出或漏级开路输出。对于rtl8019as,由于其工作电压是5v,而c8051f020的工作电压是3.3v,所以要c8051f020的输出能更好地驱动5v输入的oled,需要对系统进行额外配置。除了将对应端口的输出方式设置为“漏极开路”外,还应在电路上将每个端口通过一个上拉电阻接到5v电源,这样可以保证c8051f020的逻辑“1”输出能够被提升到5v。

 

  单片机采用c8051f020芯片,以查询工作方式不断读取rtl8019as状态寄存器。以远程dma方式发送或读取rtl8019as的数据。详见图3。

  由于网络控制器具有 ethernet(ieee802.3)协议处理功能,系统便可直接rj45连接到以太网(再通过以太网接入 internet)。本文所设计的系统中选用的rj45连接器为lf1s022,它已经具有电平转换功能,简化了 pcb设计。值得注意的是,设计pcb时,rj45连接器不能与cpu和网络芯片相距太远,以免对数据传输造成影响。

  rtl8019as的tpin+(59脚), tpin-(58脚)脚是tp 的一对输入脚,能以10mbits/s 的速率从双绞线接收差分曼彻斯特编码的数据。tpout+(45脚)、tpout-(46脚)是一对曼彻斯特编码的差分tp输出信号。为了防止双绞线超载,该输出信号会被提前中断,这样可以减少拥塞。连接时,这四个管脚分别接到 lf1s022的7、6、5、4脚。连接器的其他管脚都通过一个电容与地连接。最后,还必须在50、51脚之间接入一个20mhz的晶体振荡器。

  图3中扩展的rj45口接入互联网,rtl8019as通过本地dma方式将接收到的数据送到片内sram,或者从片内sram读取数据从rj45口发送出去。

  网卡的复位信号rstdrv由单片机的p5.2产生,rstdrv为高电平有效,至少需要800ns的宽度。由p5.2引脚产生一个1μs以上的高电平就可以使rtl- 8019as芯片复位。

  rstdrv从高电平到低电平之后要等多久,单片机才可以对网卡进行操作?复位的过程将执行一些操作,比如将内部寄存器初始化等。这些至少需要2ms的时间。为确保完全复位,应该等待更久的时间之后才对网卡操作,比如100ms之后才对它操作。

  对rstdrv可以接单片机的一个i/o口线进行网卡的复位,也可以直接将rstdrv跟单片机的reset引脚并联,单片机复位的时候,网卡也复位,以减少一个单片机的引脚使用。

  3.2  网卡的初始化

  网卡在能够正常工作以前,必须先对其进行初始化,一般带有操作系统的计算机上,网卡的初始化由其驱动程序完成。此例中由于c8051f020单片机是全裸机(不含驱动程序),不仅需要用户自己完成网卡的初始化,还需要用户自己设置网卡的mac(介质访问控制)地址以及对网卡进行读写访问。

  初始化需要设置页0与页1的相关寄存器,页2的寄存器是只读的,不可以设置,页3的寄存器不是ne2000兼容的,不用设置。需初始化的寄存器包括cr、dcr、pbcr、pstart、pstop、isr、imr、par0~par5、mar0~mar7、curr、tcr、rcr等寄存器。初始化函数主要要完成以下诸项工作。

  (1) 调用复位子程序队rtl8019as进行复位。有两种复位方式:一是硬件复位,通过拉高拉低reset引脚达到复位rtl8019as的目的;二是软件复位,向if端口读写数据从而使rtl8019as复位。

  (2) 向命令寄存器cr写入0x21h使rtl8019as处于停止模式,设置寄存器。

  (3) 设置数据配置寄存器dcr为使用fifo缓存、普通模式、8位数据传输模式,字节顺序为高位字节在前,低位字节在后。设置rbcr0、rbcr1寄存器为0,即读取ram字节数。

  (4) 设置接收和发送缓冲区起止地址。pstart接收缓冲区的起始页地址0x46;pstop接收缓冲区的结束页地址0x80;bnry指向最后一个已经读取页的指针0x46;tpsr发送页的起始地址0x40;curr芯片写内存指针,它指向当前正在写的页的下一个页,即初始化时指向0x47。

  (5) 设置rcr接收配置寄存器为0xcc,使用接收缓冲区,仅接收自己的地址的数据包(以及广播地址数据包)和多点播送地址包,小于64字节的包丢弃,校验错的数据包不接收。设置tcr发送配置寄存器为0xe0,启用crc自动生成和自动校验,工作在正常模式。

  (6) 设置mar0~mar8为0,清除多播地址寄存器;设置isr为0xff,清除中断状态寄存器;设置中断屏蔽寄存器imr为0,屏蔽所有中断请求。

  (7) 将物理地址写入par0~5物理地址寄存器。

  (8) 最后设置tcr发送配置寄存器为0xe0;设置命令寄存器cr为0x22,芯片进入正常工作状态,rtl8019as初始化完成。

  初始化时,必需指明嵌入式设备的48位硬件地址和广播地址,并正确设置它的ip地址、子网掩码和默认网关。工业控制一般都在一个同级局域网内部进行,因此可以直接令网关的ip地址为0。其主控制流程如图4所示。

 

  4  结束语

  本文分析了嵌入式设备与以太网接口的组成,简要介绍了rtl8019as和c8019f芯片,并给出了嵌入式mcu与以太网控制芯片的硬件连接及其软件设计。该设计以数据采集为例的,在工业生产中有很大的现实意义。

关键字:AT89S52  电源监控  c8051f020 编辑:探路者 引用地址:基于AT89S52的远程电源监控系统设计

上一篇:通信系统电源设计
下一篇:几种实用的直流开关电源的保护电路设计

推荐阅读最新更新时间:2023-10-18 16:04

一种基于DSP芯片与CAN总线的电源监控系统设计
  电源技术发展的方向之一是运用电源模块并联技术实现功率合成,组成积木式、智能化的分布式大功率电源系统。为使并联的各个模块协调工作,对分布式电源系统进行可靠的监控是电源技术发展的热点之一。   目前对分布式电源监控普遍采用的做法存在的问题主要在数字化程度不高,速度不够快,精度和可靠性不够高等问题,然而在工业控制中电源控制显的十分的重要。   1电源监控系统总体设计   传统电源系统并联系统多是采用模拟的方法实现模块间的电流均流的,但存在着一些共同的不足:必须有均流控制母线,需要增加专门的均流控制器。且均流母线属于模拟电平信号线,抗干扰能力较弱;难于保证电源模块调制频率的一致。同时,当多个子并联电源单元组成分布式电源系统时,对
[嵌入式]
一种基于DSP芯片与CAN总线的<font color='red'>电源</font><font color='red'>监控</font>系统设计
C8051F020的端口配置
C8051F020引入了交叉开关的概念,即单片机的管脚必须在交叉开关使能的情况下才能被配置。因此初始化时,首先要使能交叉开关,官方有个配置工具Config2,很方便,推荐大家使用。管脚内部自带弱上拉(管脚与VDD之间阻性连接,约100K ),因此在弱上拉未被禁用的情况下,管脚可以输出0和1。在弱上拉被禁用后,管脚输出可以被配置为推挽和漏极开路,推挽和弱上拉一样,都可输出0和1,但驱动能力大,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。对与C8051F的很多型号片子,将I/O口设
[单片机]
步进电动机程序
#include c8051F020.h //1s25000 个脉冲,频率输出方式(行走1 米) #define SYSCLK 2000000 #define Motol_Run PCA0CN=0x40 // :允许PCA0 计数器/定时器 #define Motol_stop PCA0CN=0x00 //sbit Motol_dir=P3^0; void PORT_Init(void) { //P0MDOUT&=0xfe; P0MDOUT=0x00; // 端口引脚的输出方式为漏极开路 XBR0=0x08; // CEX0 连到端口引脚。 XBR2|=0x40; } void SYSCLK_Init(void) { // uns
[单片机]
基于C8051F020的示波器监控程序设计
  一、设计概况   本制作采用USB口作为供电端口,用DS18B20温度 传感器 进行温度信息采集,用AT89C2051单片机进行控制,采用四位共阳数码管显示,从而实现对温度的测量显示(系统框图如图1所示)。本设计可培养学生对单片机学习的兴趣,提高其制作与编程能力。 图1 系统框图   二、电路原理   采用PROteUS 仿真 软件进行原理图设计与程序仿真。电路如图2所示。 图2 电路图   1、电源   采用USB口供电,可将USB适配器接人电路板的USB口或直接接 计算机 USB口。这样,既节省了资源,又能够获得
[单片机]
三相电源监控保护器控制原理及设计
众所周知用电器如果不能在正常电压范围内工作,轻则影响用电器的安全,重则损坏用电器。因此,应尽量使用电器工作在正常电压下。但我们由于各种原因不能经常检查电压的状况,所以作者设计了这款三相电源监控器。 下面介绍的这款三相电源监控保护器,能对三相电源过压、欠压及缺相做出及时的控制动作,以保护使用三相电源的负载工作在安全电压范围之内。本保护器的保护范围为:220V±10%(根据需要可作适当调整)。电路典型接线应用如下图所示: 控制电路原理如下图所示:     控制电路原理 电路组成 U、V、W输入端后的整流稳压滤波电路产生直流电源,以U相输入端为例:C1、R1、R6、D2、D3、D4组成整流稳压电路,C12
[电源管理]
三相<font color='red'>电源</font><font color='red'>监控</font>保护器控制原理及设计
基于AT89S52单片机的多功能电子万年历
引言 随着生活节奏的日益加快,人们的时间观也越来越重,同时对电子钟表、日历的需求也随之提高。因此,研究实用电子时钟及其扩展应用,有着非常现实的意义,具有很大的实用价值。 本系统程序由主程序、中断服务函数和多个子函数构成。主函数主要完成各子函数和中断函数的初始化。定时中断函数主要完成时钟芯片的定时扫描及键盘扫描。时钟芯片的读写函数主要是将时间、日历信息读出来,并把要修改具体值写入时钟芯片内部。 系统的硬件设计与电路原理 电路设计框图 系统硬件概述 本电路是由AT89S52单片机为控制核心,具有在线编程功能、低功耗、能在3V的超低压工作。时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的
[单片机]
基于<font color='red'>AT89S52</font>单片机的多功能电子万年历
AT89S52单片机的外部引脚及功能
AT89S52是一种带8K字节FPEROM的低电压、高性能CMOS 型8位单片机。AT89S52具有以下主要基本特征: 8位CPU,和MCS-51单片机产品完全兼容 8K字节在系统可编程Flash存储器 1000次擦写周期 振荡器和时钟电路的全静态操作:0Hz~33Hz 三级加密程序存储器 32个可编程I/O口线 3个16位定时器/计数器 8个中断源,6个中断矢量,2级优先权的中断系统 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 具有看门狗定时器 双数据指针DPTR0和DPTR1 具有掉电标识符POF 常见
[单片机]
<font color='red'>AT89S52</font>单片机的外部引脚及功能
一种智能高频开关电源监控模块的设计
自90年代以来,国家电信部门对通信设备的网络化管理要求逐步加快,要求组成通信网络的各种设备都必须具备智能化和通信的能力,电源设备也不例外 。计算机技术的应用,使通信电源成为集计算技术、控制技术、通信技术于一体的高科技产品,使产品的性能、功能大大提高,从而可实现系统的自动测试、自动诊断、自动控制,实现电源系统的遥信、遥测、遥控 。因此,高频开关电源也进入了智能化控制阶段。本文设计实现了一种智能高频开关电源的的监控模块。    1.高频开关电源的原理及其特点 智能化高频开关电源具有高度灵活组合、自主监控的特点,尤其是在通信领域,因其具有体积小、噪声低、维护方便又可被纳入通信系统的计算机监控系统等特点,所以运用十分广泛
[应用]
小广播
热门活动
换一批
更多
最新电源管理文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved