控制器复位电路非常重要,一方面复位电路影响整个控制器的稳定性,另一方面复位电
路的性能直接影响控制器的可靠性和抗干扰能力。因此,本文限于篇幅,只详细介绍控制器
硬件中的复位电路的设计。
如果使用分立元件实现的复位监控电路,容易外界的影响和干扰。为了解决控制器的稳
定性、可靠性和抗干扰等问题,在设计控制器复位监控电路时,选用集成电路 PHILIPS
MAX708 来设计控制器的复位电路,如图 3 b 所示。
3 软件体系
3.1 软件层次结构
软件是提供系统运行的内容,硬件系统提供系统运行的物质基础。软件设计包括嵌入式
操作系统的移植、应用程序开发等。嵌入式操作系统的移植,就是将选用的μC/OS-II 移
植到 S3C2410 上。软件系统的架构如图 4 所示。
人机交互程序
应用程序
应用服务程序
设备驱动程序
操作系统
硬件平台
操作系统抽象
图 4 软件体系结构图
整个软件系统采用模块化程序设计方法。人机交互程序位于整个软件系统的最上层,与
其他各个模块之间通过消息队列进行通讯。
3.2 μC/OS-II 操作系统
在笔者设计开发中,使用μ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 应用程序开发