基于ARM芯片LPC2214和μCOS-II的家庭智能终端设计实现

发布者:collectors最新更新时间:2021-07-09 来源: eepw关键字:ARM芯片  LPC2214  μCOS-II  家庭智能终端 手机看文章 扫描二维码
随时随地手机看文章

  智能家居是指利用先进的计算机技术、网络通信技术、综合布线技术,将与家居生活有关的名种子系统有机地结合,通过统筹管理,使家居生活更加舒适、安全、有效。作为小区智能化的重要组成部分,智能家居平台是通过其核心——家庭智能终端实现家居智能化。智能家居终端可实现系统信息的采集、信息输入、逻辑处理、信息输出、联动控制等功能。早期的家庭智能终端网络是基于电话网实现远程监控和远程控制。由于电话网络的带宽限制以及较高的使用成本,使得家庭智能终端无法推广。随着计算机技术和通信技术的发展,基于IP技术的远程通信已经成为家庭智能终端开发的重点。目前,基于8位单片机和TCP/IP协议的远程通信设备已大量出现。但是由于8位单片机工作频率和存储量的限制,使得操作系统和完整的IP协议无法移植,远程监控和远程控制的实时性和大数据量可靠通信难以保证,从而成为家庭智能终端开发的瓶颈。利用成熟的ARM芯片和μCOS-Ⅱ操作系统,可以有效地解决这一难题。


  ARM(Advanced RISC Maehines)是精简指令集计算机,它集成了典型的RISC结构特性。除此之外,ARM体系结构还具有地址自动增加和自动减少的寻址模式、多寄存器加载和存储指令等特性。


  从最初开发至今,ARM已经经历了5种主要的ARM指令集体系结构.以版本号V1-V5表示。常见的ARM7、ARM9、ARMl0、SecurCore系列芯片都是ARM V4以上的体系结构。ARM7TDMI系列芯片是目前应用最广泛的ARM芯片。其广泛应用于多媒体和嵌入式设备,包括Intemet设备、网络和调制解调设备以及移动电话、PDA等无线设备。


  LPC2214是Philips公司生产的一种高性价比的ARM7TDMI(-S)芯片,主要应用于Intemet网关、串行协议转换、访问控制等领域。


  1 家庭智能终端的系统结构与硬件组成

  1.1 家庭智能终端的系统结构

  家庭智能终端是家庭智能化的核心设备,是家庭内部网络与外部网的中转站。它通过各种协议转换模块和组网方式实现各项功能。该文提出的家庭智能终端主要具有以下功能:安全防范、联动控制、远程控制和监控、信息采集、家庭信息管理。外部网络利用局域网与远程终端(用户终端、小区管理终端、收费终端等)进行信息传送。此外考虑到因特网的不稳定性,系统还预留了PSTN接口以增加系统冗余。采用RS-485总线和蓝牙技术实现家庭内部网络,将无线与有线相结合满足更多设备的需要。家庭智能终端的网络系统如图1所示。

  

 

  1.2 家庭智能终端的硬件实现

  本文以LPC2214-S作为中心控制芯片。LPC2214-S是基于实时仿真和跟踪的16/32位ARM7TDMI-S CPU的微控制器,并带有256KB的高速片内Flash存储器。片内128位宽度的存储器接口和加速器结构可实现高达60MHz的操作频率。LPC2214还在片内集成了16KB的SHAM,并且提供了丰富的接口资源,包括2个16C550工业标准UART异步串行口,1个高速PC接口(400Kbps),2个SPI接口及112个GPl0口。其片内Boot装载程序可实现在系统编程(ISP)和在应用编程(IAP)。此外芯片提供空闲和掉电两种低功耗模式。


  由此可以看出,LPC2214-S具有高性能、低功耗、接口资源丰富的特点。这些特点可以较好地满足基于网络的家庭智能终端的设计需要。


  作为家庭自动化的控制中心,家庭智能终端除了具有局域网接口、PSTN接口、RS-485接口、蓝牙接口外,还提供音频视频接口、HUB接口、RS-232接口、报警传感器接口等。这些接口可以实现音视频自动切换、多台PC同时上网、与PC机结合完成家庭事物管理等功能。图2为家庭智能终端主控模块的硬件实现图。

  

 

  1.3 家庭智能终端工作原理

  利用基于蓝牙技术的遥控设备或基于RS-485总线的有线键盘,可以设置家庭智能终端的各项参数,打开或关闭485总线或具有蓝牙模块的电器设备,设置报警模块的报警方式、撤布防等。此外遥控设备和键盘上还有紧急求助按钮,可以通过电话和网络向远程管理中心发送报警信号。家庭智能终端还具有联动控制模块,当485总线或蓝牙网络上的一个设备发生某个特定的动作时.可以引发另外一些设备做设定的状态变化,从而达到方便用户和节省能耗的效果。以上介绍的是本地操作的工作原理。关于远程控制和远程监控,本文提供了两种方式:基于电话网络和基于互联网。由于基于电话网络的远程控制和远程监控已经有了大量介绍,这里主要介绍互联网方式的远程控制和监控。


  家庭智能终端是通过Web技术提供远程监控和控制服务的。用户在任意一台连接到因特网的PC机上打开Windows IE,登录小区服务器,输入家庭智能终端的IP地址和相关密码,使可以看到智能终端上的Web页。在Web页上可以查看家庭内部网络各种设备的状态.并且可以改变某些设备的状态。这里利用小区网关完成小区局域同与外网的连接,小区内部局域网上的IP地址可以使用私有地址,从而节省费用。


  2 家庭智能终端软件设计

  嵌入实时操作系统μCOS-Ⅱ是一种占先式多任务操作系统.可固化、可裁减、移植性好,具有良好的可靠性和稳定性。它支持64个任务,具有信号量、消息邮箱、消息队列等多种进程间通信机制,已经在商业领域得到了成功的应用。由于μCOS-Ⅱ操作系统本身并不带TCP/IP协议栈,因此在操作系统上需要移植IP协议。本文采用μCOS-Ⅱ+LWIP来实现家庭智能终端的网络通信。


  2.1 家庭智能终端软件的总体规划

  家庭智能终端软件部分包括远程通信模块、RS-485通信模块、无线通信模块、232通信模块、报警检测模块、联动控制模块以及电话和语音控制模块。根据以上划分,在μCOS-Ⅱ操作系统中定义了远程通信任务、485通信任务、232通信任务、报警检测任务、联动控制任务、电话语音控制任务以及蓝牙通信任务。各任务的优先级和堆栈空间分配如表l。

  

 

  软件设计采用模块化设计,保证程序具有良好的可移植性和可重用性,各种软件模块分别属于不同的程序层。如图3所示,笔者将软件模块分为三个程序集合,即软件的程序层。内层是μCOS-Ⅱ内核,承担任务管理、内存管理和时间管理功能。应用程序层主要完成数据处理和请求内核服务的功能。中间件层移植和编写各部分通信协议和底层接口芯片的驱动程序。图3中最外围层为硬件接口层,它不是实际的软件层,并不做软件编写工作。智能终端的软件部分非常复杂,由于篇幅所限,本文重点介绍操作系统的移植和远程监控及控制。

  

 

  2.2 μCOS-Ⅱ操作系统在LPC2214上的移植

  将μCOS-Ⅱ操作系统移植到LPC2214上需要0S_CPU.H、OS_CPEL_C.C、OS_CPU_A.ASM三个文件。OS_CPU.H主要定义不依赖于编译的数据类型、指定堆栈的生长方式以及定义底层接口。


  为了具有良好的可移植性,μCOS-Ⅱ并不使用C语言中的short、im、long等数据类型,而是以整数数据类型代替。LPC2214有四种堆栈形式:满递减、满递增、空递减、空递增,但是ADS1.2编译器只支持满递减堆栈,即选择由上向下增长方式。


  定义底层接口是为了在C语言中调用汇编代码高效地完成某些系统服务功能。本文采用软中断指令实现底层接口。底层接口代码如下:

  

 

  OS_CPU_C.C文件首先根据LPC2214体系结构和ADSl.2编译器定义任务的堆栈结构。在定义堆栈结构的函数:OS_STK OSTaskStkInit(void(*task)void(*pd).void*plat,OS_STK**ptos,INT16U opt)中定义了一个全局变量OsEnterSum,主要用于对关中断次数进行计数,这样可以实现开中断和关中断的嵌套。此文件也包括实现软中断的详细代码。

  

 

  此外,本文件还包括运行多任务时系统启动前调用最高优先级任务的函数void0SStartHighRdy(void)以及几个供用户编写的Hook函数。


  OS_CPU_A.ASM包括四个简单的汇编语言函数:调用启动前最高优先级任务函数OSStartHigh Rdy(),从低优先级任务切换到高优先级任务的函数OSCtxSw()、OS-IntCtxSw(),时钟节拍中断处理函数OSTickISR()。任务切换函数在任务切换之前要利用堆栈保存被切换任务的有用状态。LPC2214具有17个寄存器,但并不是所有的寄存器都需要进入堆栈。为了节省堆栈空问和减少切换时的时间开销,建立了一个任务切换时的堆栈结构,如图4所示。

  

 

  2.3 远程监控和远程控制

  远程监控与远程控制的软件设计采用客户端一服务器方式。TCP/IP协议的传输层有两个数据传输协议:传输控制协议TCP和用户数据报传输协议UDP,二者各有特点。UDP协议是提供最少服务和费用的协议,它不基于连接来传输数据,因此UDP的传送数据是不可靠的。TCP协议是基于连接的双向传输的可靠数据传输协议,但是TCP协议的使用费用较高。在智能终端的设计中,充分考虑了数据传输的便利性和可靠性,并且鉴于ARM系统能够提供足够的资源,根据数据的不同要求,采用了不同的传输层协议。在软件设计中使用Socket API函数来编写UDP和TCP通信任务。TCP和UDP通信时,Socket API的应用流程如图5所示。

  

 

  家庭智能终端是家庭内外信息交换和家电控制的平台。本文采用Philipes公司的ARM7芯片LPC2214和μCOS-Ⅱ操作系统设计了硬件和软件,克服了8位单片机处理速度慢、接口资源和存储资源不足的限制。利用RS-485和蓝牙网络作为家庭内部网络,局域网和电话网络作为外部网络,保证了大数据量传输的稳定性和可靠性,并且兼顾了传统的电话网络远程控制方式。实践表明。系统具有良好的实时性和稳定性,在高端家庭智能终端领域具有巨大的发展潜力。


关键字:ARM芯片  LPC2214  μCOS-II  家庭智能终端 引用地址:基于ARM芯片LPC2214和μCOS-II的家庭智能终端设计实现

上一篇:ARM如何实现延时
下一篇:基于DSP ARM的并联有源电力滤波器控制器

推荐阅读最新更新时间:2024-11-03 15:34

第010课 掌握Jz2440_ARM芯片时钟体系
第001节_S3C2440时钟体系结构 S3C2440是System On Chip(SOC),在芯片上不仅仅有CPU还有一堆外设。 至于有哪些外设,可以查看参考手册。在S3C2440参考手册的第一章PRODUCT OVERVIEW里面有个BLOCK DIAGRAM图: 可以把该图分为上中下三块,上面的是与CPU密切相关的,工作于FCLK;中间的一些对性能要求较高的设备,像LCD显示、相机等,在AHB BUS,H即为High,高速之意,工作于HCLK;下面的是一些对性能要求不那么高的低速设备,在APB BUS,P即为Peripheral之意,工作在PCLK。 在参考手册的特性里介绍了S3C2440的工作频率,Fclk最
[单片机]
第010课 掌握Jz2440_<font color='red'>ARM芯片</font>时钟体系
基于ARM9-μC/OS-II软硬件平台的SD卡文件系统的设计与实现
随着嵌入式式技术的不断发展,ARM处理器凭借其高性能、廉价、耗能低的优质特性而得到广泛应用。文中主要针对货车动态称重系统中大量实时载重数据存取的需求,在ARM9嵌入式处理器和μC/OS-II操作系统基础上,设计实现了一种SD卡文件系统。该系统具有实时性强、存取速率高、易维护,易移植等特点。 1 硬件接口电路设计 本系统硬件开发平台处理器为S3C2440A,是三星公司推出的16/32位RISC微处理器,ARM920T内核,主频400 MHz,最高可达533 MHz,内部具有丰富的系统外围控制器和多种通信接口。SD卡支持SPI和SD两种通信模式,S3C2440A具有SD卡接口,支持SD总线模式,所以不再像低端的ARM处理器那样采用
[单片机]
基于ARM9-μC/OS-II软硬件平台的SD卡文件系统的设计与实现
采用LH7A404和LPC2214两款CPU芯片实现绣花机控制系统的设计
随着全自动绣花机的不断发展,机械方面的改进对机器的性能改善已经没有太大的效果。因而,控制系统就成为了绣花机提高性能和降低成本的关键,也是各大绣花机厂商的竞争重点。控制系统的硬件决定了整个系统的可靠性和稳定性,硬件质量的好坏除了 CPU 芯片之外,外围芯片的选择和电路的设计也起着至关重要的作用。而控制系统所有的功能都 需要通过软件来实现,软件的设计对于将来系统的稳定运行至关重要。 由于市场上绝大部分微处理器芯片都是以 ARM 为基础,本文研究了基于 ARM 的绣 花机控制系统的软硬件设计。首先在 LH7A404 和 LPC2214 的基础上确定了绣花机控制系统的硬件框架,详细设计了电源电路、复位电路、存储器接口电路、键盘与显示电
[单片机]
采用LH7A404和<font color='red'>LPC2214</font>两款CPU芯片实现绣花机控制系统的设计
32位RISC CPU ARM芯片的应用和选型
摘要:ARM公司以及ARM芯片的现状和发展,从应用的角度介绍了ARM芯片的选择方法,并介绍了具有多芯核结构的ARM芯片。列举了目前的主要ARM芯片供应商,其产品以及应用领域。举例说明了几种嵌入式产品最佳ARM芯片选择方案。 关键词:ARM MMU SOC RISC CPU ARM公司自1990年正式成立以来,在32位RISC(Reduced Instruction Set Computer)CPU开发领域不断取得突破,其结构已经从V3发展到V6。由于ARM公司自成立以来,直以IP(Intelligence Property)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有功耗低、成
[嵌入式]
微软或开发自家ARM芯片:用于Surface与服务器领域
苹果的 M1 芯片可能已经成为许多准备投资,并开始开发自己基于 ARM 芯片的科技公司的动力。 根据最新报告,微软就是其中之一,其定制的芯片将在公司未来的 Surface 系列及其服务器中找到。 微软的许多 Surface 型号均采用英特尔处理器,只有 Surface Laptop 3 与 AMD 芯片一起推出。 但是,微软确实转用了与高通公司合作的名为 SQ1 的基于 ARM 的芯片,以引入便携式和高端的 Surface Pro X。遗憾的是,Surface Pro X 上乏善可陈的软件优化意味着它只是另一款价格过高,但表现不佳的产品。 据彭博社报道,微软正在为 Surface 部门开发单独的芯片,但是目前尚不清楚它的名
[手机便携]
μC/OS-II下通用驱动框架的设计与实现
  1、概述   在嵌入式应用系统中使用嵌入式操作系统可以提高应用系统的开发效率和提升嵌入式应用系统的稳定可靠性,因此,在嵌入式应用系统中使用嵌入式操作系统将成为嵌入式应用系统的设计主流 。μC/OS-II是由美国学者Labrosse设计的一个优秀的嵌入式实时操作系统 ,它是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统,目前已经得到广泛应用。   μC/OS-II提供了操作系统必须具备的基本功能,包括:任务管理、信号量管理、邮箱管理、消息队列管理、事件管理、时间管理、内存管理,但它不提供设备管理和文件系统管理,已有研究者对μC/OS-II进行了文件子系统功能扩展 。在实际应用中,对系统设备的有效管理也是一个
[单片机]
μC/OS-II下通用驱动框架的设计与实现
Intel开放代工22nm/10nm ARM芯片:单核3.5GHz
据外媒报道,在今年的TechCon大会上,在某些领域已经形成比较胶着竞争关系的Intel和AMD宣布将建立广泛的合作关系。 其中一个表现形式就是,基于ARM IP的很多芯片将采用Intel的22nm FFL和10nm HPM/GP工艺代工。 比如,ARM今年年中发布的Cortex-A55,已经基于Intel的22nm FFL,实验在了智能手机上实现主频2.35GHz(0.45V电压)。 更令人激动的是,基于Intel 10nm HPM/GP工艺的ARM架构SoC将不迟于今年底流片。它基于的是下一代Cortex-A(A75或者更高?),实现了3.5GHz主频、0.5V电压,而单核最高功耗只有不到0.9瓦(骁龙820单个K
[手机便携]
Intel开放代工22nm/10nm <font color='red'>ARM芯片</font>:单核3.5GHz
LPC2214芯片的外部中断0应用
因为最初没有看到NXP的一个纠错文件,所以把P0.16设置为外部中断0,这么一个简单的问题弄了很长时间,真的是非常的痛苦,在此写下来,也让同行有机会可以参考一下,虽然我现在还是不能够完全的把握,可总之是我现在的项目能用了,此项目中,我只开外部中断EINT0,另外几个外部中断不用。 首先要把的就是LPC_2212_2214_err.pdf这个文件关于EINT1的部分看明白,在此部分中,有个例子,如下: VPBDIV=0; EXTMODE=0x01; VPBDIV=1; VPBDIV=0; EXTPOLAR=0x01; VPBDIV=0x01; VPBDIV=0; 但是我按这个还是不能中断,到现在还不知道
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved