在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于S3C44B0X和μC/OS-Ⅱ智能家居嵌入式系統設計

電子工程師 ? 來源:電子技術應用 ? 作者:劉剛 ? 2021-04-05 10:49 ? 次閱讀

隨著社會經濟的飛速發展及計算機控制技術等科技的進步,人們對自身的生活和工作環境有了更高的要求,由此對家居智能控制系統的要求也越來越緊迫。設計家居智能化控制系統,對促進住宅現代化建設具有重要意義。家居智能化控制系統就是指利用先進的計算機技術、網絡通信技術、綜合布線技術,將與家居生活相關的各種子系統有機結合,從而進行統籌管理,使家居生活更加舒適、安全、有效。

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

1 軟硬件選擇

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

(1)內置鎖相環(PLL),系統主頻最高達66 MHz;

(2)8路10位ADCI2C,I2S總線控制器,6個PWM定時器

(3)4種工作模式,正常、慢速、閑置和停止,可以根據需要切換系統工作方式,使系統功耗降低到最低限度;

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

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

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

2 智能家居硬件設計

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

pIYBAGBb_EOAbT5EAAA_j8P1afQ805.png

2.1 存儲器系統

其中靜態存儲器由FLASH組成,用于存儲智能家居中的嵌入式操作系統、HTTP服務器、家庭網絡服務器以及支持各種服務所需的文件系統。動態存儲器采用SDRAM,以提高系統的允許速度和采用操作系統來保證系統的穩定性,整個智能家居系統軟件平臺存儲在FLASH中,在系統啟動時,將從FLASH中運行Boot-loader,解壓縮操作系統,并將其搬移到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 輸入/輸出系統

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

2.3 外部通訊接口

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

2.4 藍牙通信模塊

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

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

主要實現對室內環境的監控,便于控制系統采取適當的方式控制室內環境。其中溫度采用溫度傳感器實現,實時時鐘采用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處理器的應用程序,并可通過主機和實時分析工具讓使用者對應用程序進行完整的分析,加速實時嵌入式系統的開發和測試。

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

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

3.2 編寫與操作系統相關的函數OS_CPU_C.C

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

pIYBAGBb_FmAfrwkAAAZQAE6Q0U343.png

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

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

3.3.1 OSStanHighRdy()

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

3.3.2 OSCtxsw()

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

3.3.3 OSIntCtxSw()

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

3.3.4 OSTicklSR()

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

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

4 結語

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

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3598

    瀏覽量

    129558
  • 智能家居
    +關注

    關注

    1928

    文章

    9578

    瀏覽量

    185519
  • ISR
    ISR
    +關注

    關注

    0

    文章

    38

    瀏覽量

    14446
收藏 人收藏

    評論

    相關推薦

    新手怎么學嵌入式?

    新手怎么學嵌入式? 在科技飛速發展的今天,嵌入式技術已經滲透到我們生活的各個角落,從智能手機到智能家居,從汽車電子到醫療設備。對于新手而言,嵌入式
    發表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術應用于嵌入式系統中的一種技術。嵌入式
    的頭像 發表于 12-11 09:23 ?334次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工<b class='flag-5'>智能</b>

    嵌入式和人工智能究竟是什么關系?

    應用場景。例如,在智能家居領域,嵌入式系統可以控制各種智能設備,如智能燈泡、智能空調等,而人工
    發表于 11-14 16:39

    嵌入式系統的未來趨勢有哪些?

    智能家居領域,嵌入式系統可以集成語音識別和自然語言處理技術,去實現智能家電的語音控制。 2. 更強大的處理能力 在未來的嵌入式
    發表于 09-12 15:42

    C28x嵌入式應用程序二進制接口

    電子發燒友網站提供《C28x嵌入式應用程序二進制接口.pdf》資料免費下載
    發表于 08-31 09:39 ?0次下載
    <b class='flag-5'>C28x</b><b class='flag-5'>嵌入式</b>應用程序二進制接口

    嵌入式熱門領域有哪些?

    通過物聯網連接各種物理設備和傳感器,促使它們之間實現信息的交換和數據的共享。從智能家居智能城市,物聯網的應用不斷擴展,為嵌入式系統工程師帶來了廣泛的就業機會和發展前景。 自動駕駛
    發表于 07-16 09:23

    適合初學者的嵌入式項目有哪些?

    驅動直流電機來控制小車的運動,你可以學習如何處理無線通信、電機控制、中斷處理和嵌套循環等高級概念,從而提升嵌入式系統的實時性和穩定性。 4.智能家居控制系統 詳細描述:這個項目將
    發表于 07-11 10:23

    嵌入式系統怎么學?

    嵌入式系統怎么學? 隨著物聯網、智能制造等新技術的興起,嵌入式系統的應用范圍更加廣泛。包括但不限于工業控制、汽車電子、醫療設備、
    發表于 07-02 10:10

    嵌入式開發就業前景怎么樣?

    開發的就業前景。 1)智能家居 智能家居是指通過智能化設備和系統,將家庭生活變得更加便捷、舒適和安全。隨著人們生活水平的提高和科技的發展,智能家居
    發表于 06-07 14:51

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統是當今科技領域的核心,而C語言則是嵌入式
    發表于 04-07 16:03

    嵌入式人工智能的就業方向有哪些?

    操作系統使用及C高級編程 數據結構與算法 二:嵌入式Linux應用工程師,Linux網絡開發工程師 文件IO 并發程序設計 項目實戰:基于Linux的Flappybird游戲開發 網絡編程開發及實戰上
    發表于 02-26 10:17

    給大家講講嵌入式系統中I2C總線的時序

    I2C總線在嵌入式系統中很常見,今天就來給大家講講I2C總線的時序。
    的頭像 發表于 02-23 09:47 ?1694次閱讀
    給大家講講<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>中I2<b class='flag-5'>C</b>總線的時序

    嵌入式學習步驟

    嵌入式行業是一個涉及廣泛領域的行業,嵌入式、物聯網、人工智能智能與科學、電子信息工程、通信工程、自動化工程、測控、計算機科學等專業在嵌入式
    發表于 02-02 15:24

    聊一聊嵌入式C語言

    作為一名嵌入式軟件開發者,熟練掌握嵌入式C語言對我的日常工作至關重要。
    的頭像 發表于 01-22 09:28 ?556次閱讀

    飛凌嵌入式這2款核心板已完成“礦鴻OS”適配,礦企伙伴看過來

    飛凌嵌入式FETA40i-C和FETMX6ULL-S兩款核心板成功完成“礦鴻OS”的系統適配,嵌入式
    的頭像 發表于 01-17 11:25 ?902次閱讀
    飛凌<b class='flag-5'>嵌入式</b>這2款核心板已完成“礦鴻<b class='flag-5'>OS</b>”適配,礦企伙伴看過來
    主站蜘蛛池模板: 免费看很黄很色裸乳视频| tom影院亚洲国产| 天堂网在线最新版官网| 在线日本人观看成本人视频| 青娱乐伊人| 亚洲综合啪啪| 在线二区| 国产精品久久1024| 天天操夜夜爱| 亚洲精品九色在线网站| 激情六月婷婷开心丁香开心| 四虎影视最新| 亚洲香蕉视频| 婷婷色网| 午夜影视啪啪免费体验区入口| 久久国产美女免费观看精品| 高清欧美色欧美综合网站| 黄黄视频在线观看| 人人干夜夜操| 天天操天天干天天透| 看片在线观看免费| 天天干天天谢| 天天想天天干| 天天躁日日躁狠狠躁一级毛片| 色v在线| 色天天网| 国产午夜久久影院| 成人午夜精品久久久久久久小说| 欧美超级碰碰| 久久久精品波多野结衣| 欧美黄又粗暴一进一出抽搐| 在线观看黄色网| 亚洲成成品网站有线| 午夜在线观看cao| 精品女同同性视频很黄很色| 特黄aaaaa日本大片免费看 | 久青草国产手机在线视频| 天天操一操| 青青伊人91久久福利精品| 激情六月丁香| 亚洲色图图片专区|