這部分代碼的定義主要包括數(shù)據(jù)類型的定義、開關(guān)中斷代碼的宏定義、任務(wù)切換時(shí)執(zhí)行代碼的定義和堆棧增長方向的定義。在3C44B0X中,所有的任務(wù)堆棧都是用O_K聲明數(shù)據(jù)類型,用O_ENER_CRIICAL( )和O_EXI_CRIICAL( )實(shí)現(xiàn)開關(guān)中斷,用結(jié)構(gòu)常量O_K_GROW來指定堆棧的生長方式。
32 編寫與操作系統(tǒng)相關(guān)的函數(shù)O_CPU_CC
μC/O-Ⅱ定義了6個(gè)函數(shù)在該文件中,其中Oasktklnit( )是任務(wù)堆棧初始化函數(shù),其他個(gè)函數(shù)都是ook函數(shù),即OaskCreateook( ),OaskDelook( ),Oaskwook( ),Oasktatook( ),0simeickook( )等接口函數(shù),是系統(tǒng)預(yù)留給用戶添加功能的,只要聲明,可以不包含代碼,當(dāng)用戶需要額外擴(kuò)展功能時(shí),在這個(gè)函數(shù)中選擇加入就可。實(shí)際上需要修改的只有Oasktklnit( )函數(shù),該函數(shù)用來初始化任務(wù)堆棧,使得任務(wù)堆棧建立時(shí)與發(fā)生1次中斷后的堆棧結(jié)構(gòu)相同。3C44B0X的堆棧結(jié)構(gòu)如圖2所示。在修改Oasktklnit( )函數(shù)時(shí)應(yīng)依照該結(jié)構(gòu)進(jìn)行。
33 編寫與處理器相關(guān)的函數(shù)O_CPUAM
這部分代碼是對(duì)處理器的寄存器進(jìn)行操作,必須用匯編語言來編寫,包括以下4個(gè)子函數(shù):
331 OtanighRdy( )
運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù),此函數(shù)是在O-tart( )多任務(wù)啟動(dòng)后,負(fù)責(zé)從最高優(yōu)先級(jí)任務(wù)的CB控制塊中獲得該任務(wù)的堆棧指針P,通過P依次將CPU現(xiàn)場恢復(fù),這時(shí),系統(tǒng)就將控制權(quán)交給用戶創(chuàng)建的該任務(wù)進(jìn)程,直到該任務(wù)堵塞或者被其他更高優(yōu)先級(jí)的任務(wù)搶占CPU。該函數(shù)僅在多任務(wù)啟動(dòng)時(shí)被執(zhí)行一次,之后多任務(wù)的調(diào)度和切換由以下函數(shù)實(shí)現(xiàn)。
332 OCtxsw( )
可實(shí)現(xiàn)任務(wù)級(jí)的上下切換,任務(wù)級(jí)切換是通過WI或者RAP人為制造的中斷來實(shí)現(xiàn)。IR的向量地址必須指向OCtxw( ),這一中斷完成的功能為:保存任務(wù)的環(huán)境變量(主要是寄存器的值,通過入棧來實(shí)現(xiàn)),將當(dāng)前P存入任務(wù)控制塊中,載入就緒最高優(yōu)先級(jí)任務(wù)的P,恢復(fù)就緒態(tài)最高優(yōu)先級(jí)任務(wù)的環(huán)境變量,中斷返回,以完成任務(wù)級(jí)的切換。
333 OIntCtxw( )
中斷級(jí)的任務(wù)切換,在時(shí)鐘中斷IR中(中斷服務(wù)例程)如果發(fā)現(xiàn)有高優(yōu)先級(jí)等待的時(shí)鐘信號(hào)到來,則在中斷中退出后并不返回被中斷任務(wù),而是直接調(diào)度高優(yōu)先級(jí)的任務(wù)執(zhí)行,從而能夠盡快地讓高優(yōu)先級(jí)任務(wù)得到響應(yīng),保證系統(tǒng)的實(shí)時(shí)性能。其原理基本上與任務(wù)級(jí)的切換相同,但是由于進(jìn)人中斷時(shí)已經(jīng)保存了被中斷任務(wù)的CPU現(xiàn)場,因此不再進(jìn)行類似的操作,只需對(duì)堆棧指針做相應(yīng)調(diào)整。
334 OicklR( )
OickIR( )是一個(gè)周期性函數(shù),為內(nèi)核提供時(shí)鐘節(jié)拍中斷。頻率越高、系統(tǒng)負(fù)荷越大、其周期的大小[LL]決定了內(nèi)核所能給應(yīng)用系統(tǒng)提供的最小時(shí)間間隔。一般只限于毫秒級(jí)(跟處理器有關(guān)),對(duì)于要求更加苛刻的任務(wù),需要用戶自己建立中斷來解決。該函數(shù)具體內(nèi)容:保存寄存器,調(diào)用OIntEnter( ),調(diào)用Oimeick( ),調(diào)用OIntExit( ),恢復(fù)寄存器,中斷返回。但注意不要在Otaut( )之前調(diào)用OickIR( )。
完成以上3個(gè)程序的改寫,μC/O-Ⅱ就可以在3C44BOX上正確運(yùn)行。
4 結(jié) 語
家居智能控制系統(tǒng)是家庭內(nèi)外信息交換和家電控制的平臺(tái)。本文采用AMUNG公司的3C44BOX芯片設(shè)計(jì)硬件和軟件,克服8位單片機(jī)處理速度慢、接口資源和存儲(chǔ)資源不足的限制。在實(shí)驗(yàn)調(diào)試過程中,該系統(tǒng)運(yùn)行狀況良好、工作穩(wěn)定。證明其設(shè)計(jì)是實(shí)用、有效的。但智能家居嵌入式系統(tǒng)是一個(gè)比較大的系統(tǒng),目前只是涉及到其中核心部分,其他部分還需繼續(xù)探討。
參 考 文 獻(xiàn)
�。�1]戚繼忠,王自強(qiáng)基于ARM7DMI實(shí)現(xiàn)CF卡存儲(chǔ)的文件系統(tǒng)設(shè)計(jì)[J]微處理機(jī),2007,28(1):114-11,118
�。�2]王田苗嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)——基于ARM處理器與μC/O-Ⅱ?qū)崟r(shí)操作系統(tǒng)[M]北京:清華大學(xué)出版社,2003
�。�3]李蘭英,楊晨基于3C44BOX的智能家居終端控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]哈爾濱理工大學(xué)學(xué)報(bào),2007,12(3):87-89,93
�。�4]宋寅卯,張青波μC/O-Ⅱ在3C44B0X上的移植[J]微計(jì)算機(jī)信息,200(4):131-132
[]蔣小平,施衛(wèi)東,郎濤,等基于ARM 的水泵性能測試系統(tǒng)開發(fā)[J]中國農(nóng)村水利水電,2007(10):102-104
�。�6]Jean JLabrose嵌入式實(shí)時(shí)操作系統(tǒng)基于μC/O-Ⅱ[M]2版邵貝貝,譯北京:北京航空航天大學(xué)出版社,2003
[7]俞露基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)[D]杭州:浙江大學(xué),2003
�。�8]楊連沁基于嵌入式3G44BOX 的家居智能控制系統(tǒng)設(shè)計(jì)[J]儀器儀表標(biāo)準(zhǔn)化與計(jì)量,2007(3):-6
�。�9]劉卉,劉建輝,李新嵌入式技術(shù)推動(dòng)家居智能化發(fā)展[J]中國科技信息,2007():144-14
�。�10]張明健,趙乃卓無線藍(lán)牙技術(shù)在智能家居中的應(yīng)用[J]遼寧師范大學(xué)學(xué)報(bào):自然科學(xué)版,2007(4):18-21
�。�11]薛宏全,楊琳嵌入式智能家居系統(tǒng)連入Internet的研究和實(shí)現(xiàn)[J]現(xiàn)代電子技術(shù),2007,30(13 ):17-17
摘 要:為了提高家居的智能化水平,給出一種基于3C44B0X芯片和藍(lán)牙通信技術(shù)的智能家居控制器的硬件設(shè)計(jì)和軟件設(shè)計(jì)。該系統(tǒng)主要由存儲(chǔ)器系統(tǒng)、以太網(wǎng)接口、藍(lán)牙通信模塊、溫度檢測和實(shí)時(shí)時(shí)鐘等組成。介紹源碼開放的實(shí)時(shí)多任務(wù)的μC/O-Ⅱ操作系統(tǒng)在ARM微處理器3C44BOX上的移植方法,并簡要說明移植的主要步驟。
關(guān)鍵詞:μC/O-Ⅱ;3C44B0X;智能家居;嵌入式系統(tǒng)
Embedded ystem Design of Intelligent ome Based on 3C44B0X & μC/O-Ⅱ
LIU Gang
(Wenzhou Vocational College of cience & echnology,Wenzhou,32006,China)
Abstract:In order to improve the intelligence level of home,offering one hardware and software design for an intelligent home controller based on the 3C44BOX CMO chip and Bluetooth communication technologyIt is composed of memory systems,Ethernet,Bluetooth communication,temperature detecting and real-time testing systemhe methods to transplant the open-resourced,real-time and multitask μC/O-Ⅱ operating system on the ARM microprocessor and 3C44BOX are introduced,also the main steps for it are explained in brief
Keywords:μC/O-Ⅱ;3C44B0X;intelligent home;embedded system
隨著社會(huì)經(jīng)濟(jì)的飛速發(fā)展及計(jì)算機(jī)控制技術(shù)等科技的進(jìn)步,人們對(duì)自身的生活和工作環(huán)境有了更高的要求,由此對(duì)家居智能化控制系統(tǒng)的要求也越來越緊迫。設(shè)計(jì)家居智能化控制系統(tǒng),對(duì)促進(jìn)住宅現(xiàn)代化建設(shè)具有重要意義。家居智能化控制系統(tǒng)就是指利用先進(jìn)的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、綜合布線技術(shù),將與家居生活相關(guān)的各種子系統(tǒng)有機(jī)結(jié)合,從而進(jìn)行統(tǒng)籌管理,使家居生活更加舒適、安全、有效。
近年來,嵌入式系統(tǒng)設(shè)備全面滲透到人們?nèi)粘I畹母鱾(gè)領(lǐng)域,本文針對(duì)智能家居嵌入式系統(tǒng)的軟硬件設(shè)計(jì)需求,以3C44B0X為處理器進(jìn)行智能家居系統(tǒng)的硬件設(shè)計(jì),以實(shí)現(xiàn)μC/O-Ⅱ在3C44B0X上的移植。
1 軟硬件選擇
目前主要的嵌入式處理器類型有386EX,C-400,Power PC,MIP,ARM/trong,ARM系列等,其中ARM以其小體積、低功耗、低成本、高性能成為嵌入式處理器首選。3C44B0X是amsung公司推出的16/32位RIC處理器,基于ARM7DMI內(nèi)核,提供3級(jí)流水線結(jié)構(gòu)。它一方面具有ARM處理器低功耗、高性能的特點(diǎn),同時(shí)又具有非常豐富的片上資源。其特點(diǎn)如下:
(1)內(nèi)置鎖相環(huán)(PLL),系統(tǒng)主頻最高達(dá)66 Mz;
(2)8路l0位ADC,I2C,I2總線控制器,6個(gè)PWM定時(shí)器;
(3)4種工作模式,正常、慢速、閑置和停止,可以根據(jù)需要切換系統(tǒng)工作方式,使系統(tǒng)功耗降低到最低限度;(4)內(nèi)置彩色LCD控制器(最大支持26色的DN),71個(gè)通用可編程I/O口和實(shí)時(shí)時(shí)鐘(RC)。
由此可以看出,3C44BOX具有高性能、低功耗、接口資源豐富的特點(diǎn)。這些特點(diǎn)可以較好地滿足家居智能控制系統(tǒng)的設(shè)計(jì)需要。作為家居智能控制系統(tǒng),除了具有局域網(wǎng)接口、PN接口、R 48接口、藍(lán)牙接口外,還應(yīng)提供音頻視頻接口、UB接口、報(bào)警傳感器接口等。這些接口可以實(shí)現(xiàn)音頻視頻自動(dòng)切換、多臺(tái)PC同時(shí)上網(wǎng)、與各PC機(jī)結(jié)合完成家庭設(shè)備管理等功能。
μC/O-Ⅱ是一種源碼公開的實(shí)時(shí)嵌入式操作系統(tǒng)。它完全是占先式的實(shí)時(shí)內(nèi)核,是基于優(yōu)先級(jí)的,即總是讓就緒態(tài)中優(yōu)先級(jí)最高的任務(wù)先運(yùn)行,因此實(shí)時(shí)性比非占先式的內(nèi)核要好。它包含了實(shí)時(shí)內(nèi)核、任務(wù)管理、時(shí)間管理、任務(wù)問通信同步(信號(hào)量、郵箱、消息隊(duì)列)和內(nèi)存管理等功能;它的絕大部分代碼用C語言編寫,可移植性強(qiáng)。目前,μC/O-Ⅱ絕大多數(shù)可以在8位、l6位、32位以至64位微處理器、微控制器、數(shù)字信號(hào)處理器(DP)上運(yùn)行。
2 智能家居硬件設(shè)計(jì)
在選定了處理器之后,外圍電路就可按要求進(jìn)行設(shè)計(jì)。其硬件框圖如圖1所示,主要包括:
21 存儲(chǔ)器系統(tǒng)
其中靜態(tài)存儲(chǔ)器由FLA組成,用于存儲(chǔ)智能家居中的嵌入式操作系統(tǒng)、P服務(wù)器、家庭網(wǎng)絡(luò)服務(wù)器以及支持各種服務(wù)所需的文件系統(tǒng)。動(dòng)態(tài)存儲(chǔ)器采用DRAM,以提高系統(tǒng)的允許速度和采用操作系統(tǒng)來保證系統(tǒng)的穩(wěn)定性,整個(gè)智能家居系統(tǒng)軟件平臺(tái)存儲(chǔ)在FLA中,在系統(tǒng)啟動(dòng)時(shí),將從FLA中運(yùn)行Bootloader,解壓縮操作系統(tǒng),并將其搬移到DRAM中,完成搬移之后,所有程序從DRAM中運(yùn)行。其中,F(xiàn)LA選用公司生產(chǎn)的39VF160芯片。39VF160采用CMO工藝設(shè)計(jì),支持1 M的地址空間,20條地址總線,16條數(shù)據(jù)總線。DRAM選用ynix公司生產(chǎn)的Y7V641620芯片。Y7V641620存儲(chǔ)容量為4組×16 M(8 MB),由于采用行/列地址鎖存機(jī)制,由行列地址共同構(gòu)成20條地址線,完成1 M的尋址范圍。
22 輸入/輸出系統(tǒng)
包含LCD液晶顯示、鍵盤以及微型打印機(jī)等,可以基本滿足測試數(shù)據(jù)等顯示以及人機(jī)交互的需要。
23 外部通訊接口
包括R 232串口、以太網(wǎng)接口。R 232接口用于系統(tǒng)同PC機(jī)之間的通訊,可以把測試系統(tǒng)保存的數(shù)據(jù)導(dǎo)出來,本系統(tǒng)采用國際通用的R 232C作為串行接口;以太網(wǎng)接口則可以把整個(gè)測試系統(tǒng)連接到互聯(lián)網(wǎng)上,從而實(shí)現(xiàn)該測試系統(tǒng)的遠(yuǎn)程監(jiān)控。
24 藍(lán)牙通信模塊
在家居控制器上使用藍(lán)牙技術(shù)主要是為了給家居控制器的各個(gè)功能模塊提供無線傳輸?shù)姆绞健T诩揖又醒肟刂破魃峡梢圆捎盟{(lán)牙模塊加開放藍(lán)牙協(xié)議的方式開發(fā)藍(lán)牙功能,綜合考慮成本、結(jié)構(gòu)等因素,信息家電可以采用藍(lán)牙模塊加單片機(jī)的方式實(shí)現(xiàn)藍(lán)牙功能。將整個(gè)藍(lán)牙核心協(xié)議棧移植到單片機(jī)中顯然不合實(shí)際,可以采用這樣的開發(fā)方案:在藍(lán)牙CI層的基礎(chǔ)上,根據(jù)信息家電信息傳輸?shù)膶?shí)際需求,建立相關(guān)協(xié)議,利用單片機(jī)直接和藍(lán)牙硬件模塊交換CI指令,實(shí)現(xiàn)信息交互。單片機(jī)采集信息家電的相關(guān)信息通過藍(lán)牙模塊發(fā)送出去,藍(lán)牙模塊也可以將接收到的命令用CI指令傳遞給單片機(jī)執(zhí)行。
2 溫度、濕度檢測和實(shí)時(shí)時(shí)鐘實(shí)現(xiàn)模塊
主要實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境的監(jiān)控,便于控制系統(tǒng)采取適當(dāng)?shù)姆绞娇刂剖覂?nèi)環(huán)境。其中溫度采用溫度傳感器實(shí)現(xiàn),實(shí)時(shí)時(shí)鐘采用3C440BX自帶的RC模塊實(shí)現(xiàn)。
3 μC/O-Ⅱ在3C44B0X上的移植
μC/O-Ⅱ在3C44B0X上的移植,需要修改3個(gè)與ARM體系相關(guān)的文件:O_CPU,O_CPU_CC,O_CPUAM 。在μC/O-Ⅱ的移植過程中,采用AD作為編譯器,AD由一套完備的應(yīng)用程序構(gòu)成,可用來編寫和調(diào)試ARM系列的RIC處理器的應(yīng)用程序,并可通過主機(jī)和實(shí)時(shí)分析工具讓使用者對(duì)應(yīng)用程序進(jìn)行完整的分析,加速實(shí)時(shí)嵌入式系統(tǒng)的開發(fā)和測試。3.1設(shè)置O_CPU中與處理器和編譯器相關(guān)的代碼
32 編寫與操作系統(tǒng)相關(guān)的函數(shù)O_CPU_CC
μC/O-Ⅱ定義了6個(gè)函數(shù)在該文件中,其中Oasktklnit( )是任務(wù)堆棧初始化函數(shù),其他個(gè)函數(shù)都是ook函數(shù),即OaskCreateook( ),OaskDelook( ),Oaskwook( ),Oasktatook( ),0simeickook( )等接口函數(shù),是系統(tǒng)預(yù)留給用戶添加功能的,只要聲明,可以不包含代碼,當(dāng)用戶需要額外擴(kuò)展功能時(shí),在這個(gè)函數(shù)中選擇加入就可。實(shí)際上需要修改的只有Oasktklnit( )函數(shù),該函數(shù)用來初始化任務(wù)堆棧,使得任務(wù)堆棧建立時(shí)與發(fā)生1次中斷后的堆棧結(jié)構(gòu)相同。3C44B0X的堆棧結(jié)構(gòu)如圖2所示。在修改Oasktklnit( )函數(shù)時(shí)應(yīng)依照該結(jié)構(gòu)進(jìn)行。
33 編寫與處理器相關(guān)的函數(shù)O_CPUAM
這部分代碼是對(duì)處理器的寄存器進(jìn)行操作,必須用匯編語言來編寫,包括以下4個(gè)子函數(shù):
331 OtanighRdy( )
運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù),此函數(shù)是在O-tart( )多任務(wù)啟動(dòng)后,負(fù)責(zé)從最高優(yōu)先級(jí)任務(wù)的CB控制塊中獲得該任務(wù)的堆棧指針P,通過P依次將CPU現(xiàn)場恢復(fù),這時(shí),系統(tǒng)就將控制權(quán)交給用戶創(chuàng)建的該任務(wù)進(jìn)程,直到該任務(wù)堵塞或者被其他更高優(yōu)先級(jí)的任務(wù)搶占CPU。該函數(shù)僅在多任務(wù)啟動(dòng)時(shí)被執(zhí)行一次,之后多任務(wù)的調(diào)度和切換由以下函數(shù)實(shí)現(xiàn)。
332 OCtxsw( )
可實(shí)現(xiàn)任務(wù)級(jí)的上下切換,任務(wù)級(jí)切換是通過WI或者RAP人為制造的中斷來實(shí)現(xiàn)。IR的向量地址必須指向OCtxw( ),這一中斷完成的功能為:保存任務(wù)的環(huán)境變量(主要是寄存器的值,通過入棧來實(shí)現(xiàn)),將當(dāng)前P存入任務(wù)控制塊中,載入就緒最高優(yōu)先級(jí)任務(wù)的P,恢復(fù)就緒態(tài)最高優(yōu)先級(jí)任務(wù)的環(huán)境變量,中斷返回,以完成任務(wù)級(jí)的切換。
333 OIntCtxw( )
中斷級(jí)的任務(wù)切換,在時(shí)鐘中斷IR中(中斷服務(wù)例程)如果發(fā)現(xiàn)有高優(yōu)先級(jí)等待的時(shí)鐘信號(hào)到來,則在中斷中退出后并不返回被中斷任務(wù),而是直接調(diào)度高優(yōu)先級(jí)的任務(wù)執(zhí)行,從而能夠盡快地讓高優(yōu)先級(jí)任務(wù)得到響應(yīng),保證系統(tǒng)的實(shí)時(shí)性能。其原理基本上與任務(wù)級(jí)的切換相同,但是由于進(jìn)人中斷時(shí)已經(jīng)保存了被中斷任務(wù)的CPU現(xiàn)場,因此不再進(jìn)行類似的操作,只需對(duì)堆棧指針做相應(yīng)調(diào)整。
334 OicklR( )
OickIR( )是一個(gè)周期性函數(shù),為內(nèi)核提供時(shí)鐘節(jié)拍中斷。頻率越高、系統(tǒng)負(fù)荷越大、其周期的大小[LL]決定了內(nèi)核所能給應(yīng)用系統(tǒng)提供的最小時(shí)間間隔。一般只限于毫秒級(jí)(跟處理器有關(guān)),對(duì)于要求更加苛刻的任務(wù),需要用戶自己建立中斷來解決。該函數(shù)具體內(nèi)容:保存寄存器,調(diào)用OIntEnter( ),調(diào)用Oimeick( ),調(diào)用OIntExit( ),恢復(fù)寄存器,中斷返回。但注意不要在Otaut( )之前調(diào)用OickIR( )。
完成以上3個(gè)程序的改寫,μC/O-Ⅱ就可以在3C44BOX上正確運(yùn)行。
4 結(jié) 語
家居智能控制系統(tǒng)是家庭內(nèi)外信息交換和家電控制的平臺(tái)。本文采用AMUNG公司的3C44BOX芯片設(shè)計(jì)硬件和軟件,克服8位單片機(jī)處理速度慢、接口資源和存儲(chǔ)資源不足的限制。在實(shí)驗(yàn)調(diào)試過程中,該系統(tǒng)運(yùn)行狀況良好、工作穩(wěn)定。證明其設(shè)計(jì)是實(shí)用、有效的。但智能家居嵌入式系統(tǒng)是一個(gè)比較大的系統(tǒng),目前只是涉及到其中核心部分,其他部分還需繼續(xù)探討。
參 考 文 獻(xiàn)
�。�1]戚繼忠,王自強(qiáng)基于ARM7DMI實(shí)現(xiàn)CF卡存儲(chǔ)的文件系統(tǒng)設(shè)計(jì)[J]微處理機(jī),2007,28(1):114-11,118
�。�2]王田苗嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)——基于ARM處理器與μC/O-Ⅱ?qū)崟r(shí)操作系統(tǒng)[M]北京:清華大學(xué)出版社,2003
�。�3]李蘭英,楊晨基于3C44BOX的智能家居終端控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]哈爾濱理工大學(xué)學(xué)報(bào),2007,12(3):87-89,93
�。�4]宋寅卯,張青波μC/O-Ⅱ在3C44B0X上的移植[J]微計(jì)算機(jī)信息,200(4):131-132
[]蔣小平,施衛(wèi)東,郎濤,等基于ARM 的水泵性能測試系統(tǒng)開發(fā)[J]中國農(nóng)村水利水電,2007(10):102-104
�。�6]Jean JLabrose嵌入式實(shí)時(shí)操作系統(tǒng)基于μC/O-Ⅱ[M]2版邵貝貝,譯北京:北京航空航天大學(xué)出版社,2003
[7]俞露基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)[D]杭州:浙江大學(xué),2003
�。�8]楊連沁基于嵌入式3G44BOX 的家居智能控制系統(tǒng)設(shè)計(jì)[J]儀器儀表標(biāo)準(zhǔn)化與計(jì)量,2007(3):-6
�。�9]劉卉,劉建輝,李新嵌入式技術(shù)推動(dòng)家居智能化發(fā)展[J]中國科技信息,2007():144-14
�。�10]張明健,趙乃卓無線藍(lán)牙技術(shù)在智能家居中的應(yīng)用[J]遼寧師范大學(xué)學(xué)報(bào):自然科學(xué)版,2007(4):18-21
�。�11]薛宏全,楊琳嵌入式智能家居系統(tǒng)連入Internet的研究和實(shí)現(xiàn)[J]現(xiàn)代電子技術(shù),2007,30(13 ):17-17
摘 要:為了提高家居的智能化水平,給出一種基于3C44B0X芯片和藍(lán)牙通信技術(shù)的智能家居控制器的硬件設(shè)計(jì)和軟件設(shè)計(jì)。該系統(tǒng)主要由存儲(chǔ)器系統(tǒng)、以太網(wǎng)接口、藍(lán)牙通信模塊、溫度檢測和實(shí)時(shí)時(shí)鐘等組成。介紹源碼開放的實(shí)時(shí)多任務(wù)的μC/O-Ⅱ操作系統(tǒng)在ARM微處理器3C44BOX上的移植方法,并簡要說明移植的主要步驟。
關(guān)鍵詞:μC/O-Ⅱ;3C44B0X;智能家居;嵌入式系統(tǒng)
Embedded ystem Design of Intelligent ome Based on 3C44B0X & μC/O-Ⅱ
LIU Gang
(Wenzhou Vocational College of cience & echnology,Wenzhou,32006,China)
Abstract:In order to improve the intelligence level of home,offering one hardware and software design for an intelligent home controller based on the 3C44BOX CMO chip and Bluetooth communication technologyIt is composed of memory systems,Ethernet,Bluetooth communication,temperature detecting and real-time testing systemhe methods to transplant the open-resourced,real-time and multitask μC/O-Ⅱ operating system on the ARM microprocessor and 3C44BOX are introduced,also the main steps for it are explained in brief
Keywords:μC/O-Ⅱ;3C44B0X;intelligent home;embedded system
隨著社會(huì)經(jīng)濟(jì)的飛速發(fā)展及計(jì)算機(jī)控制技術(shù)等科技的進(jìn)步,人們對(duì)自身的生活和工作環(huán)境有了更高的要求,由此對(duì)家居智能化控制系統(tǒng)的要求也越來越緊迫。設(shè)計(jì)家居智能化控制系統(tǒng),對(duì)促進(jìn)住宅現(xiàn)代化建設(shè)具有重要意義。家居智能化控制系統(tǒng)就是指利用先進(jìn)的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、綜合布線技術(shù),將與家居生活相關(guān)的各種子系統(tǒng)有機(jī)結(jié)合,從而進(jìn)行統(tǒng)籌管理,使家居生活更加舒適、安全、有效。
近年來,嵌入式系統(tǒng)設(shè)備全面滲透到人們?nèi)粘I畹母鱾(gè)領(lǐng)域,本文針對(duì)智能家居嵌入式系統(tǒng)的軟硬件設(shè)計(jì)需求,以3C44B0X為處理器進(jìn)行智能家居系統(tǒng)的硬件設(shè)計(jì),以實(shí)現(xiàn)μC/O-Ⅱ在3C44B0X上的移植。
1 軟硬件選擇
目前主要的嵌入式處理器類型有386EX,C-400,Power PC,MIP,ARM/trong,ARM系列等,其中ARM以其小體積、低功耗、低成本、高性能成為嵌入式處理器首選。3C44B0X是amsung公司推出的16/32位RIC處理器,基于ARM7DMI內(nèi)核,提供3級(jí)流水線結(jié)構(gòu)。它一方面具有ARM處理器低功耗、高性能的特點(diǎn),同時(shí)又具有非常豐富的片上資源。其特點(diǎn)如下:
(1)內(nèi)置鎖相環(huán)(PLL),系統(tǒng)主頻最高達(dá)66 Mz;
(2)8路l0位ADC,I2C,I2總線控制器,6個(gè)PWM定時(shí)器;
(3)4種工作模式,正常、慢速、閑置和停止,可以根據(jù)需要切換系統(tǒng)工作方式,使系統(tǒng)功耗降低到最低限度;(4)內(nèi)置彩色LCD控制器(最大支持26色的DN),71個(gè)通用可編程I/O口和實(shí)時(shí)時(shí)鐘(RC)。
由此可以看出,3C44BOX具有高性能、低功耗、接口資源豐富的特點(diǎn)。這些特點(diǎn)可以較好地滿足家居智能控制系統(tǒng)的設(shè)計(jì)需要。作為家居智能控制系統(tǒng),除了具有局域網(wǎng)接口、PN接口、R 48接口、藍(lán)牙接口外,還應(yīng)提供音頻視頻接口、UB接口、報(bào)警傳感器接口等。這些接口可以實(shí)現(xiàn)音頻視頻自動(dòng)切換、多臺(tái)PC同時(shí)上網(wǎng)、與各PC機(jī)結(jié)合完成家庭設(shè)備管理等功能。
μC/O-Ⅱ是一種源碼公開的實(shí)時(shí)嵌入式操作系統(tǒng)。它完全是占先式的實(shí)時(shí)內(nèi)核,是基于優(yōu)先級(jí)的,即總是讓就緒態(tài)中優(yōu)先級(jí)最高的任務(wù)先運(yùn)行,因此實(shí)時(shí)性比非占先式的內(nèi)核要好。它包含了實(shí)時(shí)內(nèi)核、任務(wù)管理、時(shí)間管理、任務(wù)問通信同步(信號(hào)量、郵箱、消息隊(duì)列)和內(nèi)存管理等功能;它的絕大部分代碼用C語言編寫,可移植性強(qiáng)。目前,μC/O-Ⅱ絕大多數(shù)可以在8位、l6位、32位以至64位微處理器、微控制器、數(shù)字信號(hào)處理器(DP)上運(yùn)行。
2 智能家居硬件設(shè)計(jì)
在選定了處理器之后,外圍電路就可按要求進(jìn)行設(shè)計(jì)。其硬件框圖如圖1所示,主要包括:
21 存儲(chǔ)器系統(tǒng)
其中靜態(tài)存儲(chǔ)器由FLA組成,用于存儲(chǔ)智能家居中的嵌入式操作系統(tǒng)、P服務(wù)器、家庭網(wǎng)絡(luò)服務(wù)器以及支持各種服務(wù)所需的文件系統(tǒng)。動(dòng)態(tài)存儲(chǔ)器采用DRAM,以提高系統(tǒng)的允許速度和采用操作系統(tǒng)來保證系統(tǒng)的穩(wěn)定性,整個(gè)智能家居系統(tǒng)軟件平臺(tái)存儲(chǔ)在FLA中,在系統(tǒng)啟動(dòng)時(shí),將從FLA中運(yùn)行Bootloader,解壓縮操作系統(tǒng),并將其搬移到DRAM中,完成搬移之后,所有程序從DRAM中運(yùn)行。其中,F(xiàn)LA選用公司生產(chǎn)的39VF160芯片。39VF160采用CMO工藝設(shè)計(jì),支持1 M的地址空間,20條地址總線,16條數(shù)據(jù)總線。DRAM選用ynix公司生產(chǎn)的Y7V641620芯片。Y7V641620存儲(chǔ)容量為4組×16 M(8 MB),由于采用行/列地址鎖存機(jī)制,由行列地址共同構(gòu)成20條地址線,完成1 M的尋址范圍。
22 輸入/輸出系統(tǒng)
包含LCD液晶顯示、鍵盤以及微型打印機(jī)等,可以基本滿足測試數(shù)據(jù)等顯示以及人機(jī)交互的需要。
23 外部通訊接口
包括R 232串口、以太網(wǎng)接口。R 232接口用于系統(tǒng)同PC機(jī)之間的通訊,可以把測試系統(tǒng)保存的數(shù)據(jù)導(dǎo)出來,本系統(tǒng)采用國際通用的R 232C作為串行接口;以太網(wǎng)接口則可以把整個(gè)測試系統(tǒng)連接到互聯(lián)網(wǎng)上,從而實(shí)現(xiàn)該測試系統(tǒng)的遠(yuǎn)程監(jiān)控。
24 藍(lán)牙通信模塊
在家居控制器上使用藍(lán)牙技術(shù)主要是為了給家居控制器的各個(gè)功能模塊提供無線傳輸?shù)姆绞健T诩揖又醒肟刂破魃峡梢圆捎盟{(lán)牙模塊加開放藍(lán)牙協(xié)議的方式開發(fā)藍(lán)牙功能,綜合考慮成本、結(jié)構(gòu)等因素,信息家電可以采用藍(lán)牙模塊加單片機(jī)的方式實(shí)現(xiàn)藍(lán)牙功能。將整個(gè)藍(lán)牙核心協(xié)議棧移植到單片機(jī)中顯然不合實(shí)際,可以采用這樣的開發(fā)方案:在藍(lán)牙CI層的基礎(chǔ)上,根據(jù)信息家電信息傳輸?shù)膶?shí)際需求,建立相關(guān)協(xié)議,利用單片機(jī)直接和藍(lán)牙硬件模塊交換CI指令,實(shí)現(xiàn)信息交互。單片機(jī)采集信息家電的相關(guān)信息通過藍(lán)牙模塊發(fā)送出去,藍(lán)牙模塊也可以將接收到的命令用CI指令傳遞給單片機(jī)執(zhí)行。
2 溫度、濕度檢測和實(shí)時(shí)時(shí)鐘實(shí)現(xiàn)模塊
主要實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境的監(jiān)控,便于控制系統(tǒng)采取適當(dāng)?shù)姆绞娇刂剖覂?nèi)環(huán)境。其中溫度采用溫度傳感器實(shí)現(xiàn),實(shí)時(shí)時(shí)鐘采用3C440BX自帶的RC模塊實(shí)現(xiàn)。
3 μC/O-Ⅱ在3C44B0X上的移植
μC/O-Ⅱ在3C44B0X上的移植,需要修改3個(gè)與ARM體系相關(guān)的文件:O_CPU,O_CPU_CC,O_CPUAM 。在μC/O-Ⅱ的移植過程中,采用AD作為編譯器,AD由一套完備的應(yīng)用程序構(gòu)成,可用來編寫和調(diào)試ARM系列的RIC處理器的應(yīng)用程序,并可通過主機(jī)和實(shí)時(shí)分析工具讓使用者對(duì)應(yīng)用程序進(jìn)行完整的分析,加速實(shí)時(shí)嵌入式系統(tǒng)的開發(fā)和測試。3.1設(shè)置O_CPU中與處理器和編譯器相關(guān)的代碼