《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于LPC2214的家庭智能終端的設計與實現
基于LPC2214的家庭智能終端的設計與實現
林 勇,李因東,嚴彬彬
摘要: 介紹了智能終端的硬件和軟件實現,重點說明了μCOS-II在LPC2214上的移植以及TCP/IP協議棧的API函數Socket API的工作流程。
關鍵詞: ARM LPC2214
Abstract:
Key words :

  摘 要: 介紹了智能終端的硬件和軟件實現,重點說明了μCOS-II在LPC2214" title="LPC2214">LPC2214上的移植以及TCP/IP協議棧的API函數Socket API的工作流程。
  關鍵詞: 家庭智能終端 ARM μCOS-II嵌入實時操作系統 程序層 Socket API函數


  智能家居是指利用先進的計算機技術、網絡通信技術、綜合布線技術,將與家居生活有關的名種子系統有機地結合,通過統籌管理,使家居生活更加舒適、安全、有效。作為小區智能化的重要組成部分,智能家居平臺是通過其核心——家庭智能終端實現家居智能化。智能家居終端可實現系統信息的采集、信息輸入、邏輯處理、信息輸出、聯動控制等功能。早期的家庭智能終端網絡是基于電話網實現遠程監控和遠程控制。由于電話網絡的帶寬限制以及較高的使用成本,使得家庭智能終端無法推廣。隨著計算機技術和通信技術的發展,基于IP技術的遠程通信已經成為家庭智能終端開發的重點。目前,基于8位單片機和TCP/IP協議的遠程通信設備已大量出現。但是由于8位單片機工作頻率和存儲量的限制,使得操作系統和完整的IP協議無法移植,遠程監控和遠程控制的實時性和大數據量可靠通信難以保證,從而成為家庭智能終端開發的瓶頸。利用成熟的ARM芯片和μCOS-II操作系統,可以有效地解決這一難題。
  ARM(Advanced RISC Machines)是精簡指令集計算機,它集成了典型的RISC結構特性。除此之外,ARM體系結構還具有地址自動增加和自動減少的尋址模式、多寄存器加載和存儲指令等特性。
  從最初開發至今,ARM已經經歷了5種主要的ARM指令集體系結構,以版本號V1~V5表示。常見的ARM7、ARM9、ARM10、SecurCore系列芯片都是ARM V4以上的體系結構。ARM7TDMI系列芯片是目前應用最廣泛的ARM芯片。其廣泛應用于多媒體和嵌入式設備,包括Internet設備、網絡和調制解調設備以及移動電話、PDA等無線設備。
  PLC2214是Philips公司生產的一種高性價比的ARM7TDMI(-S)芯片,主要應用于Internet網關、串行協議轉換、訪問控制等領域。
1 家庭智能終端的系統結構與硬件組成
1.1 家庭智能終端的系統結構
  家庭智能終端是家庭智能化的核心設備,是家庭內部網絡與外部網的中轉站。它通過各種協議轉換模塊和組網方式實現各項功能。該文提出的家庭智能終端主要具有以下功能:安全防范、聯動控制、遠程控制和監控、信息采集、家庭信息管理。外部網絡利用局域網與遠程終端(用戶終端、小區管理終端、收費終端等)進行信息傳送。此外考慮到因特網的不穩定性,系統還預留了PSTN接口以增加系統冗余。采用RS-485總線和藍牙技術實現家庭內部網絡,將無線與有線相結合滿足更多設備的需要。家庭智能終端的網絡系統如圖1所示。


1.2 家庭智能終端的硬件實現
  本文以LPC2214-S作為中心控制芯片。LPC2214-S是基于實時仿真和跟蹤的16/32位ARM7TDMI-S CPU的微控制器,并帶有256KB的高速片內Flash存儲器。片內128位寬度的存儲器接口和加速器結構可實現高達60MHz的操作頻率。LPC2214還在片內集成了16KB的SRAM,并且提供了豐富的接口資源,包括2個16C550工業標準UART異步串行口,1個高速I2C接口(400Kbps),2個SPI接口及112個GPIO口。其片內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-II是一種占先式多任務操作系統,可固化、可裁減、移植性好,具有良好的可靠性和穩定性。它支持64個任務,具有信號量、消息郵箱、消息隊列等多種進程間通信機制,已經在商業領域得到了成功的應用。由于μCOS-II操作系統本身并不帶TCP/IP協議棧,因此在操作系統上需要移植IP協議。本文采用μCOS-II+LWIP來實現家庭智能終端的網絡通信。
2.1 家庭智能終端軟件的總體規劃
  家庭智能終端軟件部分包括遠程通信模塊、RS-485通信模塊、無線通信模塊、232通信模塊、報警檢測模塊、聯動控制模塊以及電話和語音控制模塊。根據以上劃分,在μCOS-II操作系統中定義了遠程通信任務、485通信任務、232通信任務、報警檢測任務、聯動控制任務、電話語音控制任務以及藍牙通信任務。各任務的優先級和堆??臻g分配如表1。


  軟件設計采用模塊化設計,保證程序具有良好的可移植性和可重用性,各種軟件模塊分別屬于不同的程序層。如圖3所示,筆者將軟件模塊分為三個程序集合,即軟件的程序層。內層是μCOS-II內核,承擔任務管理、內存管理和時間管理功能。應用程序層主要完成數據處理和請求內核服務的功能。中間件層移植和編寫各部分通信協議和底層接口芯片的驅動程序。圖3中最外圍層為硬件接口層,它不是實際的軟件層,并不做軟件編寫工作。智能終端的軟件部分非常復雜,由于篇幅所限,本文重點介紹操作系統的移植和遠程監控及控制。


2.2 μCOS-II操作系統在LPC2214上的移植
  將μCOS-II操作系統移植到PLC2214上需要OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM三個文件。OS_CPU.H主要定義不依賴于編譯的數據類型、指定堆棧的生長方式以及定義底層接口。
  為了具有良好的可移植性,μCOS-II并不使用C語言中的short、int、long等數據類型,而是以整數數據類型代替。PLC2214有四種堆棧形式:滿遞減、滿遞增、空遞減、空遞增,但是ADS1.2編譯器只支持滿遞減堆棧,即選擇由上向下增長方式。
  定義底層接口是為了在C語言中調用匯編代碼高效地完成某些系統服務功能。本文采用軟中斷指令實現底層接口。底層接口代碼如下:
  #define OS_CRITICAL_METHOD 2
  /*選擇開、關中斷的方式*/
  __swi(0x00) void OS_TASK_SW(void);
  /*任務級任務切換函數*/
  __swi(0x01) void _OSStartHighRdy(void);
  /*運行優先級最高的任務*/
  __swi(0x02) void OS_ENTER_CRITICAL(void);
  /*關中斷*/
  __swi(0x03) void OS_EXIT_CRITICAL(void);
  /*開中斷*/
  __swi(0x40) void*GetOSFunctionAddr(int Index);
  /*獲取系統服務函數入口*/
  __swi(0x41) void *GetUsrFunctionAddr(int Index);
  /*獲取自定義服務函數入口*/
  __swi(0x42) void OSISRBegin(void);
  /*中斷開始處理*/
  __swi(0x43) int OSISRNeedSwap(void);
  /*判斷中斷是否需要切換*/
  __swi(0x80) void ChangeToSYSMode(void);
  /*任務切換到系統模式*/
  __swi(0x81) void ChangeToUSRMode(void);
  /*任務切換到用戶模式*/
  __swi(0x82) void TaskIsARM(INT8U prio);
  /*任務代碼是ARM代碼*/
  __swi(0x83) void TaskIsTHUMB(INT8U prio);
  /*任務代碼是THUMB*/
  OS_CPU_C.C文件首先根據PLC2214體系結構和ADS1.2編譯器定義任務的堆棧結構。在定義堆棧結構的函數:OS_STK OSTaskStkInit(void(*task)void(*pd),void*pdata,OS_STK**ptos,INT16U opt)中定義了一個全局變量OsEnterSum,主要用于對關中斷次數進行計數,這樣可以實現開中斷和關中斷的嵌套。此文件也包括實現軟中斷的詳細代碼。
  void SWI_Exception(int SWI_Num,int*Regs)
  {
  OS_TCB *ptcb;
  switch(SWI_Num)
  {
  case 0x02:/*關中斷函數OS_ENTER_CRITICAL()*/
  __asm
  {
  MRS R0,SPSR
  ORR R0,R0,#NoInt
  MSR SPSR_c,R0
  }
  OsEnterSum++;
  break;
  case 0x03:/*開中斷函數OS_EXIT_CRITICAL()*/
  if (--OsEnterSum == 0)
  {
  __asm
  {
  MRS R0,SPSR
  BIC R0,R0,#NoInt
  MSR SPSR_c,R0
  }
  }
  break;
  ……
  }
  此外,本文件還包括運行多任務時系統啟動前調用最高優先級任務的函數void OSStartHighRdy(void)以及幾個供用戶編寫的Hook函數。
  OS_CPU_A.ASM包括四個簡單的匯編語言函數:調用啟動前最高優先級任務函數OSStartHighRdy( ),從低優先級任務切換到高優先級任務的函數OSCtxSw( )、OSIntCtxSw( ),時鐘節拍中斷處理函數OSTickISR( )。任務切換函數在任務切換之前要利用堆棧保存被切換任務的有用狀態。LPC2214具有17個寄存器,但并不是所有的寄存器都需要進入堆棧。為了節省堆??臻g和減少切換時的時間開銷,建立了一個任務切換時的堆棧結構,如圖4所示。


2.3 遠程監控和遠程控制
  遠程監控與遠程控制的軟件設計采用客戶端-服務器方式。TCP/IP協議的傳輸層有兩個數據傳輸協議:傳輸控制協議TCP和用戶數據報傳輸協議UDP,二者各有特點。UDP協議是提供最少服務和費用的協議,它不基于連接來傳輸數據,因此UDP的傳送數據是不可靠的。TCP協議是基于連接的雙向傳輸的可靠數據傳輸協議,但是TCP協議的使用費用較高。在智能終端的設計中,充分考慮了數據傳輸的便利性和可靠性,并且鑒于ARM系統能夠提供足夠的資源,根據數據的不同要求,采用了不同的傳輸層協議。在軟件設計中使用Socket API函數來編寫UDP和TCP通信任務。TCP和UDP通信時,Socket API的應用流程如圖5所示。


  家庭智能終端是家庭內外信息交換和家電控制的平臺。本文采用Philipes公司的ARM7芯片LPC2214設計了硬件和軟件,克服了8位單片機處理速度慢、接口資源和存儲資源不足的限制。利用RS-485和藍牙網絡作為家庭內部網絡,局域網和電話網絡作為外部網絡,保證了大數據量傳輸的穩定性和可靠性,并且兼顧了傳統的電話網絡遠程控制方式。實踐表明,系統具有良好的實時性和穩定性,在高端家庭智能終端領域具有巨大的發展潛力。
參考文獻
1 周立功.ARM與嵌入式系統基礎教程.北京:北京航空航天大學出版社,2004
2 Labrosse J J.μCOS-II源碼公開的實時嵌入式操作系統.北京:中國電力出版社,2004
3 王田苗.嵌入式系統設計與實例開發.北京:清華大學出版社,2002
4 厲魯衛,包建榮.基于ARM嵌入式WEB服務器的研究與設計.計算機工程與設計,2004;25(5)
5 杜春雷.ARM體系結構與編程.北京:清華大學出版社,2003

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲曰本av电影| 欧美aa在线视频| 亚洲精品一线二线三线无人区| 亚洲欧美日韩成人| 夜夜精品视频一区二区| 亚洲精品一区二区三区樱花| 亚洲国产91色在线| 在线免费观看日本一区| 国一区二区在线观看| 国产视频欧美视频| 国产欧美一区二区三区沐欲| 国产精品视频一区二区三区| 国产精品久久久久免费a∨| 国产精品久久久久久久久久尿| 欧美三级韩国三级日本三斤| 欧美色图五月天| 欧美日韩免费| 欧美视频在线观看免费网址| 欧美日韩三级在线| 欧美色偷偷大香| 国产精品日本| 国产视频在线观看一区二区三区 | 欧美在线视频免费观看| 亚洲欧美影音先锋| 欧美在线观看日本一区| 久久免费视频网| 欧美成人午夜| 欧美日韩一级视频| 欧美视频在线观看免费| 国产精品裸体一区二区三区| 国产欧美日韩综合一区在线播放| 国产欧美一区二区精品婷婷| 韩日视频一区| 亚洲三级性片| 中文久久精品| 欧美一区二区视频在线| 91久久夜色精品国产九色| 亚洲美女啪啪| 午夜精品久久久久久久99热浪潮| 久久九九有精品国产23| 免费欧美电影| 国产精品s色| 国产一区二区三区久久久| 在线日韩中文字幕| 一区二区欧美日韩视频| 欧美在线观看视频一区二区三区| 亚洲黄色大片| 亚洲自拍电影| 久久人人97超碰精品888| 欧美另类专区| 国产欧美视频一区二区三区| 在线免费精品视频| 亚洲日本欧美天堂| 亚洲欧美激情精品一区二区| 亚洲国产精品久久久久秋霞不卡 | 欧美风情在线| 国产精品久在线观看| 国内久久精品视频| 日韩图片一区| 久久国产精品久久久| 99国内精品久久| 久久久国产精彩视频美女艺术照福利| 欧美激情黄色片| 国产精品亚洲片夜色在线| 在线观看91精品国产入口| 亚洲天堂激情| 亚洲黑丝在线| 欧美一区二区三区日韩视频| 欧美国产视频一区二区| 国产欧美日韩一区二区三区在线观看| 亚洲精品1区| 欧美一区国产在线| 亚洲视频碰碰| 农村妇女精品| 国产一区二区三区精品久久久| 日韩一区二区免费看| 久久精品日韩| 午夜视频一区| 欧美日本在线视频| 精品91在线| 亚洲欧美国产另类| 亚洲视频自拍偷拍| 欧美 日韩 国产一区二区在线视频| 国产精品爽黄69| 日韩视频不卡| 亚洲黄一区二区三区| 欧美在线视频全部完| 欧美性猛交xxxx免费看久久久| 亚洲高清在线| 久久精品亚洲精品国产欧美kt∨| 亚洲欧美视频| 欧美性猛交xxxx乱大交蜜桃| 亚洲娇小video精品| 亚洲高清一二三区| 久久riav二区三区| 欧美揉bbbbb揉bbbbb| 亚洲欧洲在线一区| 最新亚洲电影| 久久人人超碰| 韩日精品中文字幕| 欧美亚洲综合网| 欧美一区午夜精品| 国产精品日韩电影| 一区二区三区色| 亚洲天堂男人| 欧美午夜精品久久久久久久| 亚洲精品永久免费精品| 亚洲精品免费在线播放| 美日韩丰满少妇在线观看| 国产一区二区无遮挡| 欧美一级一区| 久久国产精品毛片| 国产视频一区在线观看一区免费| 亚洲欧美视频在线观看| 亚洲一区二区不卡免费| 欧美色精品天天在线观看视频| 亚洲精品极品| 9i看片成人免费高清| 欧美日韩123| 日韩午夜在线电影| 亚洲一二三区视频在线观看| 欧美三级电影大全| 这里只有视频精品| 午夜免费日韩视频| 国产麻豆91精品| 欧美一区二区性| 麻豆91精品| 亚洲福利电影| av成人天堂| 欧美性开放视频| 亚洲制服少妇| 久久激情视频久久| 国产在线精品一区二区夜色| 亚洲大片av| 欧美极品在线观看| 一本色道久久综合| 午夜精品三级视频福利| 国产一区二区福利| 91久久精品国产91久久性色tv| 欧美激情一区二区在线 | 在线视频精品一区| 午夜一区在线| 国产一区二区三区四区hd| 亚洲电影第1页| 欧美精品www| 一本色道久久综合精品竹菊| 性做久久久久久| 黄色资源网久久资源365| 亚洲精品黄色| 欧美四级在线观看| 亚洲欧美卡通另类91av| 久久色在线播放| 亚洲精品免费看| 欧美亚洲一区| 亚洲成人在线视频网站| 亚洲桃花岛网站| 国产综合激情| 一区二区高清| 国产亚洲女人久久久久毛片| 亚洲精品一二三| 国产精品久久一级| 亚洲激情另类| 国产精品久久久久久久9999 | 亚洲欧美日韩一区二区三区在线| 国产一区91| 一区二区三区久久| 国产欧美日韩免费| 亚洲精选成人| 国产精品视频第一区| 亚洲高清久久| 国产精品久久婷婷六月丁香| 亚洲第一中文字幕| 国产精品99免费看| 亚洲激情女人| 国产美女搞久久| 一本久道久久久| 国产尤物精品| 亚洲少妇最新在线视频| 国产亚洲综合精品| 亚洲一区二区3| 亚洲高清免费| 欧美在线亚洲在线| 亚洲精品一区二区三| 久久久精品久久久久| 亚洲精品一线二线三线无人区| 久久久久国产精品午夜一区| 夜久久久久久| 麻豆久久婷婷| 午夜国产精品视频免费体验区| 欧美激情在线有限公司| 欧美一级播放| 国产精品成人免费精品自在线观看| 亚洲激情一区二区| 国产日韩欧美综合一区| 一区二区三区日韩欧美精品| 激情文学一区| 欧美一区二区日韩一区二区| 亚洲肉体裸体xxxx137| 久久综合中文| 香蕉av福利精品导航|