當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]S3C44B0X和μC/OS-Ⅱ應用于嵌入式智能家居設計

隨著社會經濟的飛速發(fā)展及計算機控制技術等科技的進步,人們對自身的生活和工作環(huán)境有了更高的要求,由此對家居智能化控制系統(tǒng)的要求也越來越緊迫。設計家居智能化控制系統(tǒng),對促進住宅現代化建設具有重要意義。

  家居智能化控制系統(tǒng)就是指利用先進的計算機技術、網絡通信技術、綜合布線技術,將與家居生活相關的各種子系統(tǒng)有機結合,從而進行統(tǒng)籌管理,使家居生活更加舒適、安全、有效。

  近年來,嵌入式系統(tǒng)設備全面滲透到人們日常生活的各個領域,本文針對智能家居嵌入式系統(tǒng)的軟硬件設計需求,以S3C44B0X為處理器進行智能家居系統(tǒng)的硬件設計,以實現μC/OS-Ⅱ在S3C44B0X上的移植。

  1 軟硬件選擇

  目前主要的嵌入式處理器類型有386EX,SC-400,Power PC,MIPS,ARM/Strong,ARM系列等,其中ARM以其小體積、低功耗、低成本、高性能成為嵌入式處理器首選。S3C44B0X是Samsung公司推出的16/32位RISC處理器,基于ARM7TDMI內核,提供3級流水線結構。它一方面具有ARM處理器低功耗、高性能的特點,同時又具有非常豐富的片上資源。其特點如下:

(1)內置鎖相環(huán)(PLL),系統(tǒng)主頻最高達66 MHz;
  
(2)8路10位ADC,I2C,I2S總線控制器,6個PWM定時器;
  
(3)4種工作模式,正常、慢速、閑置和停止,可以根據需要切換系統(tǒng)工作方式,使系統(tǒng)功耗降低到最低限度;

(4)內置彩色LCD控制器(最大支持256色的DSTN),71個通用可編程I/O口和實時時鐘(RTC)。

  由此可以看出,S3C44BOX具有高性能、低功耗、接口資源豐富的特點。這些特點可以較好地滿足家居智能控制系統(tǒng)的設計需要。作為家居智能控制系統(tǒng),除了具有局域網接口、PSTN接口、RS 485接口、藍牙接口外,還應提供音頻視頻接口、HUB接口、報警傳感器接口等。這些接口可以實現音頻視頻自動切換、多臺PC同時上網、與各PC機結合完成家庭設備管理等功能。

  μC/OS-Ⅱ是一種源碼公開的實時嵌入式操作系統(tǒng)。它完全是占先式的實時內核,是基于優(yōu)先級的,即總是讓就緒態(tài)中優(yōu)先級最高的任務先運行,因此實時性比非占先式的內核要好。它包含了實時內核、任務管理、時間管理、任務問通信同步(信號量、郵箱、消息隊列)和內存管理等功能;它的絕大部分代碼用C語言編寫,可移植性強。目前,μC/OS-Ⅱ絕大多數可以在8位、16位、32位以至64位微處理器、微控制器、數字信號處理器(DSP)上運行。

  2 智能家居硬件設計

  在選定了處理器之后,外圍電路就可按要求進行設計。其硬件框圖如圖1所示,主要包括:

  2.1 存儲器系統(tǒng)

  其中靜態(tài)存儲器由FLASH組成,用于存儲智能家居中的嵌入式操作系統(tǒng)、HTTP服務器、家庭網絡服務器以及支持各種服務所需的文件系統(tǒng)。動態(tài)存儲器采用SDRAM,以提高系統(tǒng)的允許速度和采用操作系統(tǒng)來保證系統(tǒng)的穩(wěn)定性,整個智能家居系統(tǒng)軟件平臺存儲在FLASH中,在系統(tǒng)啟動時,將從FLASH中運行Boot-loader,解壓縮操作系統(tǒng),并將其搬移到SDRAM中,完成搬移之后,所有程序從SDRAM中運行。其中,FLASH選用SST公司生產的SST39VF160芯片。39VF160采用CMOS工藝設計,支持1 M的地址空間,20條地址總線,16條數據總線。SDRAM選用Hynix公司生產的HY57V641620芯片。HY57V641620存儲容量為4組×16 M(8 MB),由于采用行/列地址鎖存機制,由行列地址共同構成20條地址線,完成1 M的尋址范圍。

  2.2 輸入/輸出系統(tǒng)

  包含LCD液晶顯示、鍵盤以及微型打印機等,可以基本滿足測試數據等顯示以及人機交互的需要。

  2.3 外部通訊接口

  包括RS 232串口、以太網接口。RS 232接口用于系統(tǒng)同PC機之間的通訊,可以把測試系統(tǒng)保存的數據導出來,本系統(tǒng)采用國際通用的RS 232C作為串行接口;以太網接口則可以把整個測試系統(tǒng)連接到互聯網上,從而實現該測試系統(tǒng)的遠程監(jiān)控。

  2.4 藍牙通信模塊  

  在家居控制器上使用藍牙技術主要是為了給家居控制器的各個功能模塊提供無線傳輸的方式。在家居中央控制器上可以采用藍牙模塊加開放藍牙協議的方式開發(fā)藍牙功能,綜合考慮成本、結構等因素,信息家電可以采用藍牙模塊加單片機的方式實現藍牙功能。將整個藍牙核心協議棧移植到單片機中顯然不合實際,可以采用這樣的開發(fā)方案:在藍牙HCI層的基礎上,根據信息家電信息傳輸的實際需求,建立相關協議,利用單片機直接和藍牙硬件模塊交換HCI指令,實現信息交互。單片機采集信息家電的相關信息通過藍牙模塊發(fā)送出去,藍牙模塊也可以將接收到的命令用HCI指令傳遞給單片機執(zhí)行。

 2.5 溫度、濕度檢測和實時時鐘實現模塊

  主要實現對室內環(huán)境的監(jiān)控,便于控制系統(tǒng)采取適當的方式控制室內環(huán)境。其中溫度采用溫度傳感器實現,實時時鐘采用S3C440BX自帶的RTC模塊實現。

  3 μC/OS-Ⅱ在S3C44B0X上的移植

  μC/OS-Ⅱ在S3C44B0X上的移植,需要修改3個與ARM體系相關的文件:OS_CPU.H,OS_CPU_C.C,OS_CPU.ASM。在μC/OS-Ⅱ的移植過程中,采用ADS作為編譯器,ADS由一套完備的應用程序構成,可用來編寫和調試ARM系列的RISC處理器的應用程序,并可通過主機和實時分析工具讓使用者對應用程序進行完整的分析,加速實時嵌入式系統(tǒng)的開發(fā)和測試。

  3.1 設置OS_CPU.H中與處理器和編譯器相關的代碼

  這部分代碼的定義主要包括數據類型的定義、開關中斷代碼的宏定義、任務切換時執(zhí)行代碼的定義和堆棧增長方向的定義。在S3C44B0X中,所有的任務堆棧都是用OS_TSK聲明數據類型,用OS_ENTER_CRITI-CAL()和OS_EXIT_CRITICAL()實現開關中斷,用結構常量OS_STK_GROWTH來指定堆棧的生長方式。

  3.2 編寫與操作系統(tǒng)相關的函數OS_CPU_C.C

  μC/OS-Ⅱ定義了6個函數在該文件中,其中OSTa-skStklnit()是任務堆棧初始化函數,其他5個函數都是Hook函數,即OSTaskCreateHook(),OSTaskDelHook(),OSTaskSwHook(  ),OSTaskStatHook(  ),OsTimeTickHook()等接口函數,是系統(tǒng)預留給用戶添加功能的,只要聲明,可以不包含代碼,當用戶需要額外擴展功能時,在這5個函數中選擇加入就可。實際上需要修改的只有OSTaskStklnit()函數,該函數用來初始化任務堆棧,使得任務堆棧建立時與發(fā)生1次中斷后的堆棧結構相同。S3CA4B0X的堆棧結構如圖2所示。在修改OSTaskStklnit()函數時應依照該結構進行。

  3.3 編寫與處理器相關的函數OS_CPU.ASM

  這部分代碼是對處理器的寄存器進行操作,必須用匯編語言來編寫,包括以下4個子函數:

  3.3.1 OSStanHighRdy()

  運行優(yōu)先級最高的就緒任務,此函數是在OS-Start()多任務啟動后,負責從最高優(yōu)先級任務的TCB控制塊中獲得該任務的堆棧指針SP,通過SP依次將CPU現場恢復,這時,系統(tǒng)就將控制權交給用戶創(chuàng)建的該任務進程,直到該任務堵塞或者被其他更高優(yōu)先級的任務搶占CPU。該函數僅在多任務啟動時被執(zhí)行一次,之后多任務的調度和切換由以下函數實現。

  3.3.2 OSCtxsw()

  可實現任務級的上下切換,任務級切換是通過SWI或者TRAP人為制造的中斷來實現。ISR的向量地址必須指向OSCtxSw(),這一中斷完成的功能為:保存任務的環(huán)境變量(主要是寄存器的值,通過入棧來實現),將當前SP存入任務控制塊中,載入就緒最高優(yōu)先級任務的SP,恢復就緒態(tài)最高優(yōu)先級任務的環(huán)境變量,中斷返回,以完成任務級的切換。

  3.3.3 OSIntCtxSw()

  中斷級的任務切換,在時鐘中斷ISR中(中斷服務例程)如果發(fā)現有高優(yōu)先級等待的時鐘信號到來,則在中斷中退出后并不返回被中斷任務,而是直接調度高優(yōu)先級的任務執(zhí)行,從而能夠盡快地讓高優(yōu)先級任務得到響應,保證系統(tǒng)的實時性能。其原理基本上與任務級的切換相同,但是由于進人中斷時已經保存了被中斷任務的CPU現場,因此不再進行類似的操作,只需對堆棧指針做相應調整。

  3.3.4 OSTicklSR()

  OSTickISR()是一個周期性函數,為內核提供時鐘節(jié)拍中斷。頻率越高、系統(tǒng)負荷越大、其周期的大小決定了內核所能給應用系統(tǒng)提供的最小時間間隔。一般只限于毫秒級(跟處理器有關),對于要求更加苛刻的任務,需要用戶自己建立中斷來解決。該函數具體內容:保存寄存器,調用OSIntEnter(),調用OSTimeTick(),調用OSIntExit(),恢復寄存器,中斷返回。但注意不要在OSStaut()之前調用OSTickISR()。

  完成以上3個程序的改寫,μC/OS-Ⅱ就可以在S3C44BOX上正確運行。

  4 結語

  家居智能控制系統(tǒng)是家庭內外信息交換和家電控制的平臺。本文采用SAMSUNG公司的S3C44BOX芯片設計硬件和軟件,克服8位單片機處理速度慢、接口資源和存儲資源不足的限制。在實驗調試過程中,該系統(tǒng)運行狀況良好、工作穩(wěn)定。證明其設計是實用、有效的。但智能家居嵌入式系統(tǒng)是一個比較大的系統(tǒng),目前只是涉及到其中核心部分,其他部分還需繼續(xù)探討。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉