本文利用SM8952AC25P、MT8870、TC35 modem和各類家居傳感器設(shè)計(jì)制作一款智能家居控制系統(tǒng)樣機(jī)。實(shí)驗(yàn)樣機(jī)的設(shè)計(jì)包括:系統(tǒng)硬件的設(shè)計(jì)與調(diào)試和控制軟件的編寫(xiě)與調(diào)試。 (1) 硬件部分 智能家居控制系統(tǒng)其硬件部分主要由五大部分構(gòu)成,即電話交換網(wǎng)程控交換信令部分、控制單元、傳感器數(shù)據(jù)采集系統(tǒng)、GSM模塊TC35 modem與接口和電源部分。電話交換網(wǎng)程控交換信令部分主要由MT8870和電壓檢測(cè)元件組成,它是系統(tǒng)中控制部分關(guān)鍵的元件,它與控制單元組成控制部分功能;傳感器數(shù)據(jù)采集系統(tǒng)、GSM模塊TC35 modem和控制單元完成報(bào)警等信號(hào)的處理和發(fā)送;電源部分則為各個(gè)部分提供工作電源。 (2)軟件部分 軟件設(shè)計(jì)部分主要由五大部分構(gòu)成:即數(shù)據(jù)采集與數(shù)據(jù)分析部分、電話交換網(wǎng)程控交換信令識(shí)別與分析部分、GSM模塊TC35 modem接口程序部分、分析控制部分。其中數(shù)據(jù)采集與數(shù)據(jù)分析部分和電話交換網(wǎng)程控交換信令識(shí)別需要作實(shí)時(shí)處理;GSM模塊TC35 modem接口程序部分和分析控制部分則是根據(jù)采集和電話交換網(wǎng)交換信令進(jìn)行分時(shí)操作有利于提高系統(tǒng)效率。
主控單元部分由于任務(wù)多、對(duì)可靠性的要求高,本系統(tǒng)的主控部分軟件設(shè)計(jì)為分時(shí)操作系統(tǒng)控制,采用RTX51 Tiny版操作系統(tǒng)。作為嵌入式系統(tǒng)主控單元的單片機(jī),其軟件一般是一個(gè)微觀的實(shí)時(shí)操作系統(tǒng),是為某種應(yīng)用而專門(mén)設(shè)計(jì)的。系統(tǒng)程序有實(shí)時(shí)過(guò)程控制或?qū)崟r(shí)信息處理的能力,要求能夠及時(shí)響應(yīng)隨機(jī)發(fā)生的外部事件并對(duì)該事件做出快速處理。分時(shí)操作系統(tǒng)是把CPU的時(shí)間劃分成長(zhǎng)短基本相同的時(shí)間區(qū)間,即“時(shí)間片”,通過(guò)操作系統(tǒng)的管理,把這些時(shí)間片依次輪流地分配給各個(gè)用戶使用。如果某個(gè)作業(yè)在時(shí)間片結(jié)束之前,整個(gè)任務(wù)還沒(méi)有完成,那么該作業(yè)就被暫停下來(lái),放棄CPU,等待下一輪循環(huán)再繼續(xù)做。此時(shí)CPU又分配給另一個(gè)作業(yè)去使用。由于計(jì)算機(jī)的處理速度很快,只要時(shí)間片的間隔取得適當(dāng),那么一個(gè)用戶作業(yè)從用完分配給它的一個(gè)時(shí)間片到獲得下一個(gè)CPU時(shí)間片,中間有所“停頓”;但用戶察覺(jué)不出來(lái),好像整個(gè)系統(tǒng)全由它“獨(dú)占”似的。分時(shí)操作系統(tǒng)主要具有以下3個(gè)特點(diǎn):①多路性。用戶通過(guò)各自的終端,可以同時(shí)使用一個(gè)系統(tǒng)。②及時(shí)性。用戶提出的各種要求,能在較短或可容忍的時(shí)間內(nèi)得到響應(yīng)和處理。③獨(dú)占性。在分時(shí)系統(tǒng)中,雖然允許多個(gè)用戶同時(shí)使用一個(gè)CPU,但用戶之間操作獨(dú)立,互不干涉。
RTX51 Tiny可以配置成使用round-robin多任務(wù)。Round-robinp容許quasi-parallel執(zhí)行多任務(wù)。任務(wù)并不是連續(xù)執(zhí)行的,而是分時(shí)間片執(zhí)行的(本系統(tǒng)采用10毫秒作為時(shí)間片,由RTX51 Tiny把時(shí)間片分配給各個(gè)任務(wù))。由于時(shí)間片的時(shí)間很短,因此任務(wù)看起來(lái)像連續(xù)執(zhí)行一樣。
在本系統(tǒng)中RTX51 Tiny(配置見(jiàn)附錄)首先執(zhí)行信號(hào)采集job0的任務(wù)0。本函數(shù)創(chuàng)建了另一個(gè)任務(wù)報(bào)警分析job1。信號(hào)采集執(zhí)行完它的時(shí)間片后,RTX51 Tiny開(kāi)始執(zhí)行報(bào)警分析job1,這個(gè)函數(shù)又創(chuàng)建了另一個(gè)任務(wù)短信發(fā)送job2。如此類推,最后執(zhí)行完它的時(shí)間片后,RTX51 Tiny又返回到j(luò)ob0開(kāi)始執(zhí)行。然后再切換到j(luò)ob1,如此循環(huán)。
void job0 (void) _task_ 0
{
os_create (1);
while (1)
{
job0();
}
}
void job1 (void) _task_ 1
{
os_create (2);
while (1)
{
job1();
}
}
void job2 (void) _task_ 2
{
os_create (3);
while (1)
{
job2();
}
}
文檔51hei提供下載(無(wú)程序):
正文.doc
(263 KB, 下載次數(shù): 16)
2020-5-5 09:43 上傳
點(diǎn)擊文件名下載附件
文檔說(shuō)明
電路圖.rar
(271.49 KB, 下載次數(shù): 26)
2020-5-5 09:43 上傳
點(diǎn)擊文件名下載附件
原理圖和PCB
以下程序和文章不是配套的,大家不要下載,已經(jīng)被管理員刪除
程序.rar
(5.55 KB, 下載次數(shù): 12)
2020-5-5 09:43 上傳
點(diǎn)擊文件名下載附件
控制程序
|