手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

基于TCP/IP协议的网络家电控制器

刘霞辉; 段承先| TCP/IP协议,嵌入式系统,智能家电控制器| 2010-11-29
1702 收藏
分享到: 
每日精选
热门文章
热门方案

【中心议题】

  • 提出了基于InternetTCP/IP协议的网络智能家电控制器
  • 提出了一套可靠而简单易行的网络监控协议

【解决方案】

  • 借助家庭网关的通信功能实现从Internet至家庭网络的远程监控
  • 基于TCP/IP协议的网络家电控制器的软件模拟和硬件仿真

0 引言

嵌入式系统是指被嵌入到各种产品或工程应用中的以微处理器或微控制器为核心的软、硬件系统。嵌入式系统与Internet技术相结合,形成的嵌入式Internet技术是近几年随着计算机网络技术的普及而发展起来的一项新兴技术,它通过现有的嵌入式系统,增加因特网接入能力来扩展其功能,创造性地提出以低价位单片机作为微处理器,使嵌入式设备而非PC系统直接接入Internet。在本文中,采用ARM内核的LPC2210外接以太网控制芯片RTL8019AS实现了嵌入式Web服务器的硬件结构和软件功能,使传统的基于DCS结构的工控系统向嵌入式Web结构转移,可有效降低成本,方便最终用户,并改善故障检测和设备维护的远程访问能力。

在比较了现有的几种网络化方案的基础上,提出了通过为单片机系统增加嵌入式TCP/IP协议栈实现嵌入式Internet的方案,实现了网络智能家电控制器远程模拟。

1 设计思想

1.1 单片机系统连接Internet的方案

单片机系统接入Internet的典型方案有3:MCU+内部固化TCP/IP协议的芯片接入Internet;②采用由emWare公司开发的EMIT技术,即在应用系统的单片机内部使用emNet协议,再通过emGatewayInternet网连接;MCU+Webchip接入Internet

综合比较这3种典型方案,我们选择第三种,它具有以下特点:

(1)应用系统的设计更简单。在MCU系统中使用Webchip,统一了MCU对外的通信接口,应用时不需要考虑MCUGateway之间复杂的通信协议,只需要解释并执行Webchip传送过来的命令;WebchipMCU之间的命令只有十多条,传送格式简单易懂。

 

(2)降低了对应用系统中MCU性能的要求,减少了应用系统的硬件开支。由于MCUGateway之间的通信协议都是由Webchip来处理,因此极大地减少了应用系统中MCU的工作量,使MCU可以去处理其它更多的事务。

(3)成本低廉。由于应用系统设计简单,从而缩短了软、硬件的开发周期。

1.2 系统总体硬件连接图

本设计通过网络实现控制家电的运作,其控制方式模拟图见图1。其目的是使远程监控主机通过以太网控制器发给CPU信号,然后由CPU通过I/O口控制家电的运作,2为其硬件连接图。

2 嵌入式操作系统

uC/OS-IIuClinux是两个优秀的嵌入式操作系统,而进程调度、文件系统支持和系统移植是嵌入式操作系统实际应用中最常见的问题,因此就从以下几个方面入手对uC/OSuClinux进行分析比较:

2.1 进程调度

进程调度又称为CPU调度,其根本任务是按照某种原则为处于就绪状态的进程分配CPU,可分为“剥夺型调度”和“非剥夺型调度”两种基本方式。“非剥夺型调度”是指:一旦某个进程被调度执行,则该进程一直执行下去直至该进程结束,或由于某种原因自行放弃CPU进入等待状态,才将CPU重新分配给其它进程。而“剥夺型调度”指:一旦就绪状态中出现优化权更高的进程,或者运行的进程已用满了规定的时间片时,便立即剥夺当前进程的运行(将其放回就绪状态),CPU分配给其它进程。

 

 

uC/OS采用的是可剥夺型实时多任务内核,最多可以支持64个任务,分别对应优先级063,其中0为最高优先级。

uClinux的进程调度沿用了Linux的传统。即系统每隔一定时间挂起进程,同时产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进程何时拥有它的时间片,然后进行相关的进程切换。

2.2 文件系统

所谓文件系统是指负责存取和管理文件信息的机构,也可以说是负责文件的建立、撤销、组织、读写、修改、复制及对文件管理所需要的资源(如目录表、存储介质等)实施管理的软件部分。

uC/OS是面向中小型嵌入式系统的,如果包含全部功能(信号量、消息邮箱、消息队列及相关函数),编译后的uC/OS内核仅有6kB10kB,所以系统本身并没有对文件系统的支持。但是uC/OS具有良好的扩展性能,如果需要也可自行加入文件系统的内容。

uClinux则是继承了Linux完善的文件系统性能,其采用的是romfs文件系统,这种文件系统要求更少的空间。uClinux还继承了Linux网络操作系统的优势,可以很方便地支持网络文件系统且内嵌TCP/IP协议,这为uClinux开发网络接入设备提供了便利。

2.3 操作系统的移植

uC/OS的移植只需要修改与处理器相关的代码即可,具体有如下内容:OS_CPU.H中需要设置一个常量来标识堆栈增长方向;声明用于开关中断和任务切换的宏;需要针对具体处理器的字长重新定义一系列数据类型;OS_CPU_A.ASM需要改写4个汇编语言的函数;OS_CPU_C.C需要用C语言编写6个简单函数;④修改主头文件INCLUDE.H,将上面的.H后缀文件和其它的头文件加入。

通过对uC/OSuClinux的比较可以看出: uC/OS占用空间少、执行效率高、实时性能优良,且针对新处理器的移植相对简单; uClinux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。

但是,uClinux具有对多种文件系统的支持能力、内嵌了TCP/IP协议,可以借鉴Linux丰富的资源,对一些复杂的应用,uClinux具有相当优势。小型控制系统可充分利用uC/OS小巧且实时性强的优势;如果开发PDA和互联网连接终端等较为复杂的系统,uClinux是不错的选择。

 

3 系统软件和调试部分

3.1 开发平台和编译器

开发平台选择EasyARM2200,它是以16位单片机LPC2210为主处理器的开发板,ARM7DMI内核。开发板集成了网络芯片RTL8019AS,一个FLASH,一个RAM,很好地满足了本设计需要的全部元件;编译器选择ADS1.2,它是ARM公司专为ARM内核芯片开发的编译器,性能优秀。

3.2 TCP/IP软件协议层调用关系

系统软件主要实现链路层协议、网络层协议、传输控制层协议和用户数据包协议。图3为软件协议层,图中实线箭头表示正常的调用关系,模块所在水平位置代表其所在的网络层次。

3.3 调试

该系统运用Easy JTAG仿真器下载程序到目标板EasyARM2200,通过编译,软件仿真,脱机运行,实现了从PC的浏览器浏览预先写到目标板存储器中的WebServer,然后通过控制I/O口的开关量的打开和关断来控制LED模拟基本的家电开关控制。

4 结论

本文成功地将嵌入式实时操作系统μC/OS-II移植到ARM处理器上,通过该操作系统的支持,使嵌入式TCP/IP协议栈有了支持多用户任务的功能。在了解了TCP/IP协议标准和TCP/IP内核源代码的基础上,实现了一个支持多任务、多用户的嵌入式TCP/IP协议栈的基本框架,成功建成了EmbeddedWebServer,并完成了实验和调试。实现了基于TCP/IP协议的网络家电控制器的软件模拟和硬件仿真。

点赞

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号