基于凌阳SPCE061A的嵌入式应用系统设计

技术分类: 微处理器与DSP  | 2008-05-04
来源:电子产品世界 | 作者:管晓春

  引言

  SPCE061A是凌阳科技新推出的u課SP内核的十六位单片机,内嵌32K字 Flash的SPCE061A时是适用于数字语音识别应用领域的一种经济的选择。它支持精简指令系统,片内具有丰富的硬件资源。只需设计少量的片外扩展电路即可实现应用系统的硬件功能要求。μC/OS-II是一个源代码公开的精简的实时性很强的操作系统内核,移植性强,基于μC/OS-II来设计系统可以提高系统软件开发的效率。将μC/OS-II移植到SPCE061A上,在μC/OS-II的平台上设计软件对于提高相关嵌入式应用系统产品的质量,减少开发周期和降低成本方面有着重要的意义。

  基于SPCE061A的硬件最小系统的设计

       SPCE061A的系统结构

SPCE061A的系统结构

       SPCE061A具有丰富的片上系统资源,结构如图1所示,其片内包括:

  • 16位的高性能u課sp内核单片机
  • CPU时钟范围:0.32MHz~ 49MHz
  • 片内32k字的Flash程序存储器、2k字的SRAM数据存储器
  • 2个16位I/O端口
  • 14个中断源
  • 1通道专用音频A/D转换通道
  • 7通道A/D转换通道
  • 内置MIC放大电路和自动增益(AGC)放大电路
  • 2路电流输出型的D/A转换通道
  • 2个16位通用定时器/计数器
  • 实时实钟(RTC)
  • 低电压复位、低电压监测
  • 内置在线仿真接口(ICE)
  • 具有保密功能
  • 具有WatchDog功能

  基于SPCE061A的最小应用系统的构建

  基于SPCE061A丰富的片内资源,在它的OSCO、OSCI端接上32768 Hz晶体振荡器及谐振电容,在锁相环压控振荡器的阻容输入VCP端接上相应的电容、电阻后,再加上复位电路即可构成一个最小系统。如图2所示。外围电路接口可扩展LCD液晶显示器用于对有关数据的实时显示。

μC/OS-II软硬件体系结构

  μC/OS-II 在SPCE061A上的移植

  μC/OS-II内核移植的主要内容

  μC/OS-II是为微控制器和应用软件开发而设计的抢占式实时多任务操作系统,其内核主要实现任务调度、任务间的通信、内存管理和时间管理。其软件体系结构以及与硬件的关系如图3所示.

软件体系结构以及与硬件的关系

  多任务应用程序位于最上层,通过调用内核的API函数来实现任务的调度和切换、存储管理和任务进程的通讯. μC/OS-II的大部分代码是用C语言编写,而与硬件相关的三个源程序文件0S_CPU.H,OS_CPU_A.A,OS_CPU_C.C含有与硬件处理器相关的汇编语言代码,来实现对处理器寄存器的访问以及堆栈的操作.因而μC/OS-II操作系统在SPCE061A上的移植主要是对0S_CPU. H,OS_CPU_A.A,OS_CPU_C.C三个源程序的编写。

  其中OS_CPU.H 中包括了用#define定义的与处理器相关的常量,宏和类型定义.这样与μC/OS-II所定义的变量类型相一致.OS_CPU_A.A 中要求用户编写四个简单的汇编函数:(1)OSStartHighRdy()函数的作用是用于运行最高优先级的就绪任务.(2)OSCtxSw()是实现 CPU 在正常运行时任务间的切换,即对当前任务堆栈的保存和对高优先级任务堆栈的弹出,使最高优先级任务获取CPU 的控制权. (3)OSIntCtxSw()是在中断服务程序中执行任务切换功能的函数.(4)OSTickISR()是系统时钟的中断服务程序.该程序执行频率为10~100 Hz,主要功能是检查是否有由于延时而被挂起的任务成为就绪任务,如果有就调用OSIntCtxSw()进行任务切换,从而运行高优先级的任务. OS_CPU_C.C中主要是编写任务堆栈初始化函数OSTaskStklnit().

  移植中的关键问题

  多任务系统在运行时,任一当前正在运行的任务好像独占CPU一样,需要为每个任务开辟一段内存空间作为该任务的任务堆栈,该堆栈的作用是保存任务被切换前时CPU各寄存器的值以及系统堆栈的数据。由于不同的处理器其内部的寄存器分配不一样,有时堆栈的增长方式也不一样,因而移植的关键问题就是要针对不同的处理器如何在任务切换时做好寄存器的状态的保护,以及系统堆栈和任务堆栈的切换,从而编写好介于底层硬件和操作系统之间的软件层。凌阳 SPCE061A单片机有R1~R5五个通用寄存器,以及段寄存器SR, 程序计数器PC,共有7个CPU内部寄存器在任务切换前需要保存。μC/OS-II系统通过调用OSCtxSw()来实现任务的切换。

0
0
(请您对文章做出评价)
1】【2
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会