background image

控制器复位电路非常重要,一方面复位电路影响整个控制器的稳定性,另一方面复位电

路的性能直接影响控制器的可靠性和抗干扰能力。因此,本文限于篇幅,只详细介绍控制器
硬件中的复位电路的设计。 

如果使用分立元件实现的复位监控电路,容易外界的影响和干扰。为了解决控制器的稳

定性、可靠性和抗干扰等问题,在设计控制器复位监控电路时,选用集成电路 PHILIPS 

MAX708 来设计控制器的复位电路,如图 3 b 所示。 

3  软件体系 

3.1  软件层次结构 

软件是提供系统运行的内容,硬件系统提供系统运行的物质基础。软件设计包括嵌入式

操作系统的移植、应用程序开发等。嵌入式操作系统的移植,就是将选用的μC/OS-II 移
植到 S3C2410 上。软件系统的架构如图 4 所示。 

人机交互程序

应用程序

应用服务程序

设备驱动程序

操作系统

硬件平台

操作系统抽象

 

图 4  软件体系结构图 

整个软件系统采用模块化程序设计方法。人机交互程序位于整个软件系统的最上层,与

其他各个模块之间通过消息队列进行通讯。 

3.2  μC/OSII 操作系统 

在笔者设计开发中,使用μC/OS-II 实时多任务操作系统,它具有以下一些基本特征: 

1)  采用基于优先级的多任务抢占式调度策略; 

2)  内核短小,实时性好,能进行快速的上下文切换,效率高; 

3)  开放源代码,并且支持一系列的处理器芯片; 

4)   低的内存要求。 
这种高效率的操作系统能够为基于μC/OS-II 的嵌入式系统提供高效的多任务环境,

包括任务调度管理、时钟管理、内存管理、中断处理、通过信号量实现同步和互斥、以及通
过消息队列实现消息通信等等。 

μC/OS-II 可以移植到不同的处理器上。所谓移植,就是使一个实时内核能在其他处理

器或微控制器上运行。μC/OS-II 的代码是用 ANSI C 语言编写的,但仍需用 C 语言和汇
编语言编写一些与处理器硬件相关的代码,而μC/OS-II 设计时,就充分考虑了可移植性。 

4  软件模块设计与实现 

4.1  驱动程序设计 

驱动程序是连接底层硬件和上层的 API 函数的纽带,有了驱动程序,就可以把操作系

统的 API 和底层的硬件分离开来。任何一个硬件的改变、删除或者添加,只需随之改变、
删除或者添加提供给操作系统相应的驱动程序就可以了,并不会影响到 API 函数的功能,
更不会影响到用户的应用程序。 

同时,为了保证在实时多任务操作系统中对硬件访问的唯一性,系统的驱动程序要受控

于相应的操作系统的多任务之间的同步机制。在μC/OS—II 中,使用信号量、邮箱等机制
进行协调。 

在本系统中,驱动程序分为 JTAG 驱动、RS232 驱动、键盘驱动、LCD 驱动和存储器

驱动等。 

4.2  应用程序开发