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()函数时应依照该结构进行。
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 OSTicklS模压电感R()
OSTickISR()是一个周期性函数,为内核提供时钟节拍中断。频率越高、系统负荷越大、其周期的大小决定了内核所能给应用系统提供的最小时间间隔。一般只限于毫秒级(跟处理器有关),对于要求更加苛刻的任务,需要用户自己建立中断来解决。该函数具体内容:保存寄存器,调用OSIntEnter(),调用电感测量OSTimeTick(),调用OSIntExit(),恢复寄存器,中断返回。但注意不要在OSStaut()之前调用OSTickISR()。
完成以上3个程序的改写,μC/OS-Ⅱ就可以在S3C44BOX上正确运行。
4 结语
家居智能控制系统是家庭内外信息交换和家电控制的平台。本文采用SAMSUNG公司的S3C44BOX芯片设计硬件和软件,克服8位单片机处理速度慢、接口资源和存储资源不足的限制。在实验调试过程中,该系统运行状况良好、工作稳定。证明其设计是实用、有效的。但智能家居嵌入式系统是一个比较大的系统,目前只是涉及到其中核心部分,其他部分还需继续探讨。
UBA2032T全桥驱动芯片在PWM中的应用摘要:介绍了一种新型的全桥电路驱动芯片UBA2032T,重点阐述了芯片的结构特点、基本原理、应用设计中的接线方法。给出了UBA20321T与C805lF330D高速单片机在PWM设计中的应用。利用仿真
电源管理发展问题分析过去十年间,电源管理技术发生了巨大的变化。电子产品的便携化、个性化浪潮改变了消费电子市场的版图,进而改写了电源设计、集成特性和效率方面的规则,并将智能电源管理和系统知识推到了产品设计的最前线。飞速发展
[开关电源]三极管总是烧坏本帖最后由北宸x于2014-10-1811:24编辑
file:///C:\Users\Thinkpad\AppData\Roaming\Tencent\Users\970839038\QQ\WinTemp\RichOle\9Q{1_@97I2N]__1_H]ST3II.jp