电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1989|回复: 0
收起左侧

清华远见嵌入式培训收费_基于Rabbit2000的嵌入式家庭网关设计

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-8-11 10:34:21 | 显示全部楼层 |阅读模式
清华远见嵌入式培训收费_基于Rabbit2000的嵌入式家庭网关设计,   


Internet的日益普及,信息共享程度的不断提高,使得网络和信息家电(IA)已越来越多的出现在人们的生活之中。家庭信息化网络技术也成为世界上各大家电制造厂商研发的主要方向。信息家电是将普通家用电器利用数字技术、网络技术及智能控制技术设计改进的新型家电产品。家电网络化方案如图1所示,信息家电可以实现家电互联组成一个家庭内部网络,同时这个家庭网络又可以与外部互联网相连接。从而可实现对家电的集中控制,根据个人习惯设定所有网络家电的自动起停时间与自动运转方式。同时可对家用电器的运行状态进行远程控制与故障监测,为人们提供一个高效、便捷、现代化的生活环境。  


图1:家电网络化方案 家电的网络化过程有两个关键技术需要解决,一是家庭网关的设计 ;二是家庭内部组网方式的实现。目前,家庭内部基本连网方式包括有线和无线两种。其中有线方式以双绞线、电话线、电力线等最为典型。而无线方式则以HomeRF、BlueTooth为代表,它们在实现过程中各有优缺点。而嵌入式家庭网关则是家庭局域网的核心部分,它主要完成家庭内部网络各种不同通信协议之间的转换和信息的共享,以及同外部通信网络之间的信息交换功能,从而实现家庭智能设备的远程管理和控制。



系统方案的提出



作为家庭内部局域网与外部网络交换信息的中间媒介,家庭网关应实现如图2所示的基本功能。


图2 : 家庭网关基本功能小型嵌入式插座, 大四想学嵌入式, python嵌入式, 无人机的嵌入式软件, 阻止嵌入式页面显示, 嵌入式主要设计什么, 嵌入式培养高考, 嵌入式系统可靠性设计, 海尔嵌入式工作, 嵌入式培养要出国吗, 嵌入式中国地质大学, 构建嵌入式软件工程, 版图和嵌入式比较, 嵌入式nvidia, 北京航空航天嵌入式, 嵌入式仿真图下载, 嵌入式屏幕怎么固定, 国嵌嵌入式百度云, 上海志盟嵌入式培训, 嵌入式实验汇编代码, 嵌入式音频处理芯片, 就各种功能介绍如下:



● 嵌入式TCP/IP协议栈



TCP/IP协议是一个四层协议系统,包括数据链路层、网络层、传输层和应用层,每一层负责不同的功能。其结构框图如图3所示。嵌入式TCP/IP协议栈是家庭网关和外部Internet网络通信的协议基础。在复杂系统中,TCP/IP协议栈一般都作为操作系统的一部分,通过软件实现。当前比较流行的嵌入式操作系统基本上都包含TCP/IP协议栈,适合于中高档微处理器实现。但对于一般的以8/16位微处理器和单片机为代表的低成本嵌入式系统而言,TCP/IP协议应尽可能精简,一般仅取其内核部分。鉴于单片机内部资源有限,本设计中仅实现ARP、IP、ICMP、UDP、HTTP五种协议,提供了一个从网络层到应用层的完整通道。


图3: TCP/IP协议层次结构● 嵌入式Web服务器(WebServer)



嵌入式Web服务器是家庭网关面向外部通信网络和远程监控用户的窗口,家庭内部各种智能应用终端的信息和状态均以网页的形式通过Web服务器传送给远程监控用户,远程监控用户通过网页以CGI形式改变和控制家庭智能终端的参数和状态。根据目前技术背景和应用前景,Web服务器有三种不同的形式 :WWW Web服务器、WAP Web服务器、电话控制服务器。WWW Web服务器是指当前应用最为广泛的以HTTP协议和CGI为基础的网络服务器;WAP Web服务器是指以移动电话为代表的移动终端所支持的无线应用协议为基础的网络服务器,是最为便捷最有前途的网络服务器 ;电话控制服务器则是指支持用户通过电话实现对家庭智能终端的监视和控制的服务程序,这种方式技术含量较低,且一般只能控制少数家庭智能终端,无法实现对复杂家庭局域网的有效控制。



● 内部网络协议转换



智能家庭局域网的枢纽,担负着智能家庭局域网内部各种不同协议子网之间的协议转换工作,是处于智能家庭网关中与物理层接口的底层软件,也是智能家庭网关的基础。由于家庭内部网络有高速和低速之分,本设计仅侧重于以信息家电为对象的低速家庭网络,并不涉及具体的计算机网络和高速多媒体网络,故网络协议转换部分实现起来相对容易。



● 家庭智能控制与管理程序



家庭智能控制与管理程序是智能家庭网关,乃至整个智能家庭局域网的核心,负责所有智能应用终端的控制和管理功能。家庭智能控制与管理程序不仅需要根据远程监控用户的指令完成对各种不同智能应用终端的参数设置和控制,而且还要根据各种不同智能应用终端的特性和家居生活的特点,制定一套有效合理的控制和管理策略,从而给家庭用户提供一个舒适、便捷、安全的生活环境。家庭智能控制与管理是一个涉及技术领域广泛、工程比较庞大的系统工程,研制一套切实有效的家庭智能控制与管理程序将是一个比较漫长的反复探索过程。因此,本设计仅针对某些特定类型的智能应用制定一套比较合理的智能控制和管理程序。



硬件设计实现方案



本设计采用Z-WORLD公司推出的低成本的嵌入式微控制器Rabbit 2000作为主控制器。它是一种高性能的8位微处理器,带RJ-45插口的内置10Base-T端口简化了网络连接,便于开发带以太网接口的监控、通信设备;配备有4个串行口,方便扩展连接;拥有26根并行的I/O引线以及16根可设置的I/O引线,无须扩展即可完成一般的I/O任务;拥有512k Flash,128k SRAM,用于程序代码和数据的存储。这种结构促进了嵌入式系统的快速开发,并可实现集成的以太网连接。



设计中采用稳定、可靠的RS-485总线连接到本地机MCU的UART接口上,以主机轮询方式通信,从而实现家用电器的工作状态及参数的远程监控。同时在板上预留了无线射频模块接口,方便系统扩展。家庭网关的硬件结构如图4所示。


图4:家庭网关硬件结构图4中,家庭网关可连接10Base-T以太网络,为实现该模块的功能,方案中将采用两个控制器。以太网控制器负责物理介质上的底层通信,而主控制器负责以太控制器的设置和命令操作。并在主控制器中完成精简TCP/IP协议栈的嵌入以及与内部网络的通信。精简TCP/IP协议栈软件由以太控制器的接口驱动程序和各种网络协议组成,这些网络协议可以用于网络家电的远程通信。所有其它的组件和电路则用于对基本以太网组件的支持和完成其它附加功能。



家庭网关中的Web服务器由存储在EEPROM存储器上的程序和数据所支持,它们包括HTML文件和少量图像数据等。主控制器可以取得来自于Internet上的远程浏览器对网络家电的操作请求,并提取出串行存储器上相应的HTML文件和图像内容。主控制器通过RS-485总线连接接口与传统家电相连,向相应的家电设备传递操作请求,同时将家电状态反馈数据打包成TCP包,并发送到以太网上,返回到发出请求的Web浏览器,完成其网关的的功能。



系统软件设计



● 系统软件流程设计



软件设计是整个系统设计的重点和难点。采用模块化编程的方法,首先按照功能将程序分成几个协议模块。每一个模块放在一个独立的文件中,最后由主程序模块调用各功能模块实现协调工作。



系统工作流程图如图5所示。上电后首先开始初始化工作,包括单片机及其外围电路,串口和以太网控制芯片的初始化。接着检查是否有串口发送或接收中断标志,如有转入相应子程序进行串行数据处理。本系统中,仅有串口使用中断的操作方式,网络芯片的控制采用查询方式。单片机的处理速度有限,如果响应以太网控制芯片中断将花费大量中断处理时间,这势必会影响通信数据的丢失或超时。因此用查询法控制网络芯片,并将TCP/IP协议的处理放到主程序顺序循环中,以牺牲响应时间来保证系统稳定可靠工作。当然这种可能造成响应不及时,出现缓冲区溢出或丢包的现象,这可以通过TCP协议来保证可靠传输。当需要向网络发送数据时,首先检查发送缓冲区是否为空,如果没有数据帧正在发送,则依次对数据进行TCP和IP打包后,将数据交给以太网控制芯片发出。网络数据的接收过程则与发送相反。

● TCP/IP协议栈的实现



Dynamic C编译器是专门为Z-World 产品创建的软件平台,它使得在功能强大的嵌入式系统上进行实时编程易于实现。利用Dynamic C提供的TCP/IP协议包,用户可以很容易建立起TCP/IP通信。当通信建立以后,就可以在此基础上进行后续的功能扩展及代码编制与优化,从而极大地提高了开发进度。以下是用Dynamic C实现TCP/IP协议通信的程序主体框架。程序中起始宏定义为默认IP配置信息;“memmap”语句可以使程序在芯片中运行时,如同在扩展代码窗口下被编译;“use”语句使编译器按照库文件配置编译代码。



#define TCPCONFIG 1

#memmap xmem

#use dcrtcp.lib

main() {

sock_ init();

for( ; ; ) {

tcp_ tick(NULL) ; }

}



其中sock_init()和tcp_tick()都是TCP/IP函数库的基本函数,前者为初始化TCP/IP协议栈函数,使协议栈开始处理入栈数据帧;后者主要实现支持后台处理的最新信息与测试TCP 套接字状态两个用途。



● UDP协议的实现



UDP协议是传输层协议之一,使用IP作为网络层协议,为应用程序发送和接收数据报。但它提供无链接服务,是不可靠传输。因此UDP报文主要用于需要实时数据传输的情况,一次传输少量数据。在某些对实时性要求较高的场合,利用UDP报文进行传输是必要的,但需采用一些可靠性方案,防止漏传、误传现象的发生。



数据报套接字(socket)是通信的基础,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包括网络通信必须的五种信息:链接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。UDP协议支持数据报套接字。这种套接字可以采用客户/服务器模式,以全双工方式工作,接收、发送可同时进行,但并不保证数据传输的可靠性、有序性和无重复性。



● HTTP协议的实现



HTTP服务器可使HTML(超文本链接标示语言)页面,如Web页和其它文件为客户端所使用。在Dynamic C中,HTTP协议由http.Lib来负责实现。HTTP服务器实现的主体框架如下:



# define TCPCONFIG 1

# memmap xmem

#use“dcrtcp.lib”

#use“http.lib”

main() {

sock_init();

http_init();

tcp_reserveport(80);

while (1) {

http_handler(); }

}



在以上基础上,可以根据自己的需要在程序框架上添加构成WebServer的所有其它动态或静态元素(无论是否符合HTML标准)。



结论:本设计中以Rabbit 2000为主控芯片,嵌入TCP/IP协议栈,实现了家庭网关的基本功能,完成了家庭内部局域网与Internet的对接与信息交互。在此基础上仍有提高其协议转换性能的措施,如增加TCP协议中对滑动窗口协议的支持及嵌入式系统网络管理功能的加强。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


联系客服 关注微信 下载APP 返回顶部 返回列表