UCGUI 联系客服

发布时间 : 星期三 文章UCGUI更新完毕开始阅读40228020aaea998fcd220e05

10 位A/D 转换器和10 位D/A 转换器;

多个串行接口:3 个I2C、1 个I2S、4 个UART 和3 个SPI/SSP; 4 个32 位的定时器、1 个低功耗的实时时钟和1 个看门狗定时器; 4MHz 的内部RC(IRC)振荡器,可以调节到1﹪的精度; 160 个通用快速I/O;

单个 3。3V 的电源(3。0~3。6V); 含有几种掉电模式,包括“深度掉电” ; 封装

- TFBGA180(12×12×0。8mm) - LQFP208(28×28×1。4mm) - TFBGA208(15×15×0。8mm)

NXP 微控制器LPC2478使用一个工作在72MHz 的高性能32 位ARM7 内核。每个 器件含有512KB 的片内Flash 和98KB 的片内SRAM 存储器。在系统编程(ISP)和在应用编程(IAP)软件将编程时间缩至最短——编程每个256字节行只需要1ms、编程一个扇区或擦除整个芯片只需要400ms。128 位宽的存储器接口和专有的存储器加速器使32 位的代码可以在最高时钟速率下执行,无需使用宝贵的SRAM。 对代码大小有严格要求的应用选择使用16 位Thumb 模式可以减少30﹪的代码规模,损失的性能却最少。该系列的每个微控制器都包含 1 个10/100 Ethernet MAC 接口、1 个支持OTG、主机(OHCI)和设备操作的USB 2。0 全速(12Mbps)设备、2 个CAN2。0B 通道、1 个通用DMA控制器、1 个10 位的A/D 转换器和1 个10 位的D/A 转换器。Ethernet MAC 在独立的AHB总线上有16KB 的SRAM 和一个相关的DMA 控制器。它还有一个媒体独立接口(MII)和简化的 MII(RMII)接口。USB 控制器含有4KB 的USB SRAM 和可存取的DMA,支持32个端点的控制、中断、批量和同步数据传输模式。多个串行通信接口和巨大的外设缓冲区增强了设计的灵活性。LPC24xx 有4 个16C550UART(一个带有IrDA)、3 个I2C 总线接口、3 个SPI/SSP 接口、1 个I2S 接口和1 个SD/MMC存储卡接口。LPC2478 有4 个32 位的捕获/比较定时器、用于三相电机控制的2 个PWM 单元、1 个带有2KB 电池SRAM 的低功耗实时时钟、1 个看门狗定时器(有多种时钟源选择)和1 个可用作主系统时钟的4MHz

8

内部RC 振荡器。LPC2478 的每个外设都有一个独立的时钟分频器,这就使设计者能够将功耗降至最低。而且,P0 口和P2 口的每个管脚都可用作外部中断管脚。该系列的微控制器有160 个以高达18MHz 的速率触发的通用I/O。每个微控制器的工作温度范围为-40~85℃。外部存储器控制器(EMC)支持异步静态存储器器件(例如RAM、ROM 和Flash)和动态存储器(例如SDRAM)。微控制器有4 个静态存储器片选信号、4 个同步存储器器件片选信号(见下图2。1).

2.1 LPC 2478结构图

9

2.2Uc/os2操作系统

uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式(见图1)实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,uC/OS II最大程度上使用ANSI C语言进行开发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。 uC/OS II可以简单的视为一个多任务调度器,在这个任务调度器之上完善并添加了和多任务操作系统相关的系统服务,如信号量、邮箱等。其主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。从1992年开始,由于高度可靠性、鲁棒性和安全性,uC/OS II已经广泛使用在从照相机到航空电子产品的各种应用中。(图2。2为uC/OS系统的简单事例应用流程图)

所谓移植,就是使这个实时内核能在某个微处理器上运行。为了方便移植,大部分的uC/OS II代码是用c语言写的,但仍需要用c和汇编语言写一些与处理器相关的代码,这是因为uC/OS II在读写处理器寄存器时只能通过汇编语言来实现。由于uC/OS II在设计时就已经充分考虑了可移植性,所以uC/OS II的移植相对来说是比较容易的。

a)uC/OSII的正常运行需要处理器平台满足以下要求: a)处理器的C编译器能产生可重入代码。 b)用C语言就可以打开和关闭中断。

c)处理器支持中断,并且能产生定时中断(通常在10至100Hz之间)。 d)处理器支持能够容纳一定量数据(可能是几千字节)的硬件堆栈。

e)处理器有将堆栈指针和其它CPU寄存器读出和存储到堆栈或内存中的指令。 uC/os2最大的特点就是它做为一个实时操作系统相应速度相当快 1.前后台系统

应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作, 这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为后台也可以叫做任务级。前台也叫中断级。

10

2.多任务

多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。CPU 只有一个,轮番服务于一系列任务中的某一个。多任务运行很像前后台系统,但后台任务有多个。多任务运行使CPU 的利用率得到最大的发挥,并使应用程序模块化。在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序将更容易设计与维护。 3.任务切换

提到多任务,就不能不提到任务之间的切换问题了。当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU 寄存器中的全部内容。这些内容保存在任务的当前状况保存区,也就是任务自己的栈区之中。入栈工作完成以后,就是把下一个将要运行的任务的当前状况从该任务的栈中重新装入CPU 的寄存器,并开始下一个任务的运行。 4.任务调度

调度是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法指,CPU 总是让处在就绪态的优先级最高的任务先运行。然而,究竟何时让高优先级任务掌握CPU 的使用权,有两种不同的情况,这要看用的是什么类型的内核,是不可剥夺型的还是可剥夺型内核。

2.2 uc/os2系统简单事例流程图

11