本文利用SM8952AC25P、MT8870、TC35 modem和各类家居传感器设计制作一款智能家居控制系统样机。实验样机的设计包括:系统硬件的设计与调试和控制软件的编写与调试。 (1) 硬件部分 智能家居控制系统其硬件部分主要由五大部分构成,即电话交换网程控交换信令部分、控制单元、传感器数据采集系统、GSM模块TC35 modem与接口和电源部分。电话交换网程控交换信令部分主要由MT8870和电压检测元件组成,它是系统中控制部分关键的元件,它与控制单元组成控制部分功能;传感器数据采集系统、GSM模块TC35 modem和控制单元完成报警等信号的处理和发送;电源部分则为各个部分提供工作电源。 (2)软件部分 软件设计部分主要由五大部分构成:即数据采集与数据分析部分、电话交换网程控交换信令识别与分析部分、GSM模块TC35 modem接口程序部分、分析控制部分。其中数据采集与数据分析部分和电话交换网程控交换信令识别需要作实时处理;GSM模块TC35 modem接口程序部分和分析控制部分则是根据采集和电话交换网交换信令进行分时操作有利于提高系统效率。
主控单元部分由于任务多、对可靠性的要求高,本系统的主控部分软件设计为分时操作系统控制,采用RTX51 Tiny版操作系统。作为嵌入式系统主控单元的单片机,其软件一般是一个微观的实时操作系统,是为某种应用而专门设计的。系统程序有实时过程控制或实时信息处理的能力,要求能够及时响应随机发生的外部事件并对该事件做出快速处理。分时操作系统是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。如果某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃CPU,等待下一轮循环再继续做。此时CPU又分配给另一个作业去使用。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片,中间有所“停顿”;但用户察觉不出来,好像整个系统全由它“独占”似的。分时操作系统主要具有以下3个特点:①多路性。用户通过各自的终端,可以同时使用一个系统。②及时性。用户提出的各种要求,能在较短或可容忍的时间内得到响应和处理。③独占性。在分时系统中,虽然允许多个用户同时使用一个CPU,但用户之间操作独立,互不干涉。
RTX51 Tiny可以配置成使用round-robin多任务。Round-robinp容许quasi-parallel执行多任务。任务并不是连续执行的,而是分时间片执行的(本系统采用10毫秒作为时间片,由RTX51 Tiny把时间片分配给各个任务)。由于时间片的时间很短,因此任务看起来像连续执行一样。
在本系统中RTX51 Tiny(配置见附录)首先执行信号采集job0的任务0。本函数创建了另一个任务报警分析job1。信号采集执行完它的时间片后,RTX51 Tiny开始执行报警分析job1,这个函数又创建了另一个任务短信发送job2。如此类推,最后执行完它的时间片后,RTX51 Tiny又返回到job0开始执行。然后再切换到job1,如此循环。
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提供下载(无程序):
正文.doc
(263 KB, 下载次数: 16)
电路图.rar
(271.49 KB, 下载次数: 26)
以下程序和文章不是配套的,大家不要下载,已经被管理员删除
程序.rar
(5.55 KB, 下载次数: 12)
|