当前位置:首页 > 嵌入式 > 嵌入式硬件


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


图1:家电网络化方案

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

系统方案的提出

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


图2 : 家庭网关基本功能

就各种功能介绍如下:

● 嵌入式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协议中对滑动窗口协议的支持及嵌入式系统网络管理功能的加强。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭