基于AVR的网络用具接口的设计与实现

发布者:asa1670最新更新时间:2015-04-15 来源: eechina关键字:AVR  网络用具接口 手机看文章 扫描二维码
随时随地手机看文章
1 引言

家庭网络是指融合控制网络和多媒体信息网络于一体的家庭信息化平台,是在家庭范围内。实现各种电子设备互联和管理的系统。一个典型的家庭网络结构如图1所示.一般由一个家庭网关(home gateway或resident gateway)和若干个网络用具(network apphanees)组.成。组网的方式可以是有线的,也可以是无线的,可采用TCP/IP、以太网方案、xlO电力线方案、Zigbee、超宽带(Ultra Wide Band,简称uwB)通信、近场通信(Near Field Communication,NFC)、蓝牙等方式。

1.jpg 
图1家庭网络结构图

家庭网关是网络的管理控制核心,负责把家庭中彼此孤立分散的子网系统或网络用具终端设备互联起来,实现信息的交互和共享,同时作为家庭内网和外部网连接的枢纽,以满足内网和外网的信息交互。网络用具,又称网络家电、信息家电,在IETF草案中按功能把它分成胖网络用具(fat IPA)和瘦网络用具(Thin IPA)两种。功能比较复杂的胖网络用具定义为:IPA=
[network interface][apphcation control][I/O control]。即具备网络接口和控制本地系统的I/O端口,并具有嵌入式应用程序的设备。家用电器如冰箱、空调等需要实现复杂控制功能,一般需要有网络接口和I/O端口控制功能,同时需要开发m控制应用程序,就成为了胖网络用具;家用电器如灯、门等实现简单控制功能,只要具备网络接口和I/O端口控制功能,它们就是瘦网络用具。

可见网络用具实际上是指包含一个网络处理器并具备特定功能的消费设备,郎在传统家用电器中加入网络接口使之成为具有远程遥控、信息访问、获取、存储以及联网等功能的信息家电,如此—来,我们不仅可以在本地对家电进行控制,还可以通过Internet网络远程控制家电,家电也可以把自身的状态信息上报到家庭网关中。可以简单地认为,普通的家用电子设备增加一个网络接口,就可以成为网络用具。因此,网络用具的网络接口是家用电子设备网络化的关键部件。

本文提出—种网络用具网络接1:3的。方案,在本方案中.组网力式基于以太网的TCP/IP,硬件采用ATMEL公司的AVR单片机和RTL8019以太网芯片。该方案成本低,便于组网,易于实现。

2 网络用具接口的硬件设计

2.1系统结构

网络用具接口硬件结构如图2,可以看到网络用具通过10口与AVR单片机通讯,单片机中内嵌TCP/IP协议栈,会话层、传输层在单片机中实现,RTL8019AS实现数据链路层和物理的功能。

2.gif 
图2网络用具接口硬件结构图

当家庭网关控制网络用具时,数据通过带隔离变压器的RJ45接口.进入RTL8019AS的缓冲区,经RTL8019AS处理后被单片机读入到单片机的RAM暂存,暂存的数据通过IO口或RS-232串口传送到刚络用具,在向家庭嘲关发送数据时,网络用具经IO口或RS-232串口发送数据包至单片机的数据缓冲区,把数据打包,然后通过远程DMA操作将组帧后的数据写入到RTL8019AS的内部SRAM,再经RJ45接口发送给家庭网关。如此,就实现了家庭网关与家电的双向通讯,以及家电设备连接到Internet。

2.2硬件电路设计

硬件连接图如下: 

3.gif 
图3 MCU与RTL8019AS硬件连接图

这里选用的控制芯片是AVR单片机。本项目所用的单片机ATMEGA32L是一款高性能低功耗AVR8位单片机。这款芯片有32K的FLASH,足够烧写TCP/IP协议栈。

RTL8019AS是REALTEAK公司的一款10M以太网芯片,内部嵌入16KB的SRAM,它用于实现网络的物理层协议,主要实现网卡和网络电缆的物理连接.介质访问控制(MAC),数据帧的开拆,数据帧的发送和接收,错误校验、数据信号的编,解码以及数据的串/并变换。[page]

RTL8019AS片内有16K的SRAM,地址0X40000-0X7FFF,这16KRAM被初始化成2个部分:①接收以太网数据缓冲②发送以太网数据缓冲,具体2个缓冲大小可编程设定。

电路连接如图3,RTL8019AS电源采用直流5V.它的SDOSD7数据总线,通过一个74HC573锁存器与单片机连接,单片机用LE使能控制锁存器。RTL$019AS采用8位总线,SA地址总线只使用SA0-SA4与单片机连接,其它SA5-SAl9都接地。这里基址为0。INTO为RTL8019AS8个中断之一,与单片机的外部中断连接,在接收数据时使用。RSTDRV为复位线,高电平有效,要求复位时间长于800ms。IOR/10W为读写控制线。AEN为地址使能,低电平有效。

芯片与网线接口RJ45通过TPIN+、TPIN-、TPOUT+、TPOUT-连接。TPIN+/TPIN-为双绞线接收,TPOUT+、TPOUT-为双绞线的发送脚。但是不能直接连接,要经过网络隔离变压器隔离,本设计采用20F—Ol。它起的作用主要有两个,一是传输数据,把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到不同电平的连接网线的另外一端;二是隔离网线连接的不同网络设备问的不同电平,以防止不同电压通过网线传输损坏设备。

3 RTL8019驱动程序

RLS019AS包含大量的片内寄存器单元,在工作的过程中需要实现数据包的接收和发送,必须正确的对相关的寄存器进行设置。对RTLSOl9AS的驱动程序主要包括3个部分:RTL80l 9AS初始化部分,数据包接收部分,数据包发送部分。

3.1初始化

初始化主要是对寄存器的初始化,主要包括初始化复位寄存器,初始化RTLS019AS的配置寄存器:CONFIG0-CONFIG3,初始化接收和发送缓冲区,初始化RTL9019AS的中断,初始化接收配置,发送配置等,设置以太网物理地址等。

3.2数据接收

数据的接收可以用查询方式,芯片不断向网络中查询是否有信息到达本节点;也可以用中断方式,这里选择中断方式。RTL8019AS的INTO接ATMEGA32的INT0,当有中断发生。AVR进入中断服务,先通过读取ISR,对中断类型进行判断,看是否正确接收。根据先前工程定义好的网卡接收缓存区地址,用CURR指针将接收到的数据读取到内存中。当CURR指针同BURY指针地址相同时说明接收数据结束。所以要先判断是否接收结束,再调用取包函数WY_GETPACK()。

取包函数主要包括停止8019的工作,复位中断,判断是否边界寄存器是否越界,启动DMA操作,读取DMA,计算数据包长度.移动接收地址然后再读。接收流程图如图4所示。

4.gif 
图4数据接收流程图

3.3数据发送

发送过程分为3个步骤:封装数据包;将数据送至发送缓冲区;发送数据。发送缓冲区空问为3k,可以保存2个完整的数据帧。可以把缓冲区分为两部分,一部分用来发送,另一部分用来封装数据包,达到提高效率的目的。如果发送的数据少于60字节,则将数据填充至60个字节再发送出去。若数据大于1514个字节就要将数据分割到小于1514个字节后再发送。所以—个数据包的数据字节数必须控制在60—1514字节.这是以太网8023协议规定的。如果发送失败则重发。发送流程如下图5所示。

5.gif 
图5数据发送流程图

4 结束语

网络用具义称网络家电、信息家电,是未来家用电器的主要发展方向。在未来家庭中。多台网络用具设备协调工作,并组成一个互动的网络环境,以方便用户的使用,这个网络环境被称为数字家庭网络,简称家庭网络。家庭网络是信息技术发展创新的必然趋势。

本文创新点在于,设计了基于AVR的网络用具接口方案,简单易用,成本低,符合了信息家电的要求,更可以应用于远程工业控制,远程仪表抄表等领域。目前开发的开发板,使用单片机直接通过RTLSOl9AS芯片,用网线与PC机通讯,工作正常。
关键字:AVR  网络用具接口 引用地址:基于AVR的网络用具接口的设计与实现

上一篇:基于AVR的笔记本电池检测仪
下一篇:采用AVR单片机对FPGA进行配置

推荐阅读最新更新时间:2024-03-16 13:58

AVR单片机实现LED彩灯控制器设计
如果你想改变LED接的管脚,请修改hardware.h文件。如果想修改LED的亮度,请修改globals.h 中的Timings 段定义。本设计外接了两个按钮,一个是选择工作模式,另一个是电源的开关。当你按下模式按钮1.5秒以上时,进入自动模式,会自动演示所有的预设模式。 8个LED灯直接连接到Vcc 上,不需要限流电阻。本制作利用到同步定时器,及使用睡眠的方式节省电力。 实物图: 电路图:(点击可以放大) PCB图:(点击可以放大)
[工业控制]
<font color='red'>AVR</font>单片机实现LED彩灯控制器设计
AVR 字库如何存储在程序存储区?
编译器对于flash的常量定义采用关键词const就可以。比如keil,ICC等定义常量采用 const unsigned char data=0;则data的类型为常量存储在flash中。 如下定义: typedef struct typFNT_ASC16 { char Index ; char Msk ; }; const struct typFNT_ASC16 ASC_16 = { 1 ,0x00,0x00,0x08,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x04,0x04,0x00, 2 ,0x00,0x00,0x08,0x04,
[单片机]
Atmega16L的模/数转换器—AVR单片机入门篇
ATMEAG16L中有8个十位精度的ADC(模/数转换器),它包括一个8通道的模拟开关、一个采样保持比较器、一个转换逻辑和4个控制/状态寄存器。其中,8通道10位模拟开关的输入端同PORTA口相连复用,用于输入模拟信号。模拟开关的输出则接至采样保持比较器的输入上,采样保持比较器可以确保模数转换逻辑的输入在转换过程中保持不变,它的输出接至模数转换逻辑 由于模拟开关的输入端同PORTA口相连复用,当一个应用系统不需要或者只需要少数的模/数转换器时,这个端口的其他引脚可以当作普通的1/0口使用。但是要注意,尽量不要在用到/VD转换器时,再将PORTA口作为普通I/O口使用,因为这会影响到A/D的转换精度。 模/数转换器可将输入的
[单片机]
Atmega16L的模/数转换器—<font color='red'>AVR</font>单片机入门篇
基于tc2的实时时钟设计 AVR
//***************FileName:RTC.C***************// //***************ICCAVR V6.30编译*****************// #include io8535v.h #define uchar unsigned char #define uint unsigned int //数码管字型表,对应0,1,2,3,4,5,6,7,8,9// uchar Table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar Da ta ={0,0,0,0}; //定义初始时间:0
[单片机]
AVR单片机(学习ing)—(一)、ATMEGA16的I\0端口的使用—01
一、ATMEGA16的I\0端口的使用:(只有一个实验,下面的部分每个小节可能有几个实验验证,你懂得) 一—(01)、)—使用4*4行列式按键开关的使用 I/O端口介绍: 直接一个图就哦了,因为根本没什么,就是控制寄存器(这里一定要注意,后面的ATmega16的引脚的功能都是控制寄存器来实现引脚或者器件的功能的,说白了,知道了寄存器,会用了寄存器,再来点51的基础,那这些东西真的就没什么了,AVR单片机很简单的~~~) 我用的就是IAR和Proteus(我这还有AVRStudio和WinAVR,有要的Q我,哈哈 好了先给个图,这个是按照手机上的设计的~~你看了就懂了 别的就不费话了,一看图不就全明白了 然后就是今天的
[单片机]
<font color='red'>AVR</font>单片机(学习ing)—(一)、ATMEGA16的I\0端口的使用—01
avr单片机串口多机通讯及实例
在多机通信过程中,所有设备的 RS232接口是并在通信线上的,其中只能有一个设备为主机,其他为从机,通信由主机发起。数据帧一般采用1位起始位、9位数据位,其中第9位(RXB8)被用作为表征该帧是地址帧还是数据帧。当帧类型表征位为 1 时,表示该帧数据为一个地址帧;当帧类型表征位为 0 时,表示这个帧为一个数据帧。   在AVR中,通过设置从机的UCSRA寄存器中标志位MPCM,可以使能USART接收器对接收的数据帧进行过滤的功能。如果使能了过滤功能,从机接收器对接收到的那些不是地址信息帧的数据帧将进行过滤,不将其放入接收缓冲器中,这在多机通信中有效的方便了从机MCU处理数据帧程序的编写(同标准51 结构相比)。而发送器则不受MP
[单片机]
AVR_点亮LED程序
//++++++++++++++++++++++++++++++++++ 很纠结的用ICC AVR写了个程序。调试通过 +++++++++++++++++++++++++++++++++++// #include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int void delay(uint ms) { uint i,j; for(i=0;i ms;i++) { for(j=0;j 1141;j++); } } void main() { uchar k; DDRA|=BIT(2); PORTA
[单片机]
AVR单片机视觉智能寻迹车设计与实现
0 引 言 智能运输系统是未来交通运输系统发展的趋势,智能汽车在智能运输系统中扮演着十分重要的角色。作者提出智能寻迹车作为构建未来智能交通运输系统中重要部分,针对未来交通运输系统有导航线的环境命题假设下智能汽车的自主寻迹问题,提出一种基于视觉的智能寻迹车模设计方案,作为该假设问题的解决方案。 基于视觉的智能寻迹车模设计方案能够在线型复杂,转弯半径不确定性大的情况下,利用视觉自主寻迹前进,分级精确转向。 1 系统总体设计 基于视觉的智能寻迹车模系统以AVR单片机MEGAl6为核心,由单片机模块、路径识别模块、直流电机驱动模块、舵机驱动模块等组成,如图1所示。 直流电动机为车辆的驱动装置,转向电动机用于控
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved