Windows CE嵌入式导航系统研究(硬件设计1)

来源:互联网 发布:《入骨相思知不知》 编辑:程序博客网 时间:2024/04/29 16:58

1.1 ARM微处理器的选择

1.1.1 ARM微处理器系列

ARM 微处理器目前包括下面几个系列,其它厂商基于ARM 架构的处理器,除了具有ARM 架构的共同特点以外,每一个系列的ARM 微处理器都有各自的特点和应用领域。

l ARM7 系列

l ARM9 系列

l ARM9E 系列

l ARM10E 系列

l SecurCore 系列

l Inter 的Xscale

l Inter 的StrongARM

其中,ARM7、ARM9、ARM9E 和ARM10E 为4 个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。其中SecurCore系列是专门为安全要求较高的应用而设计的。以下我们来详细了解一下ARM7、ARM9、ARM9E 和ARM10E四种处理器的特点及应用领域。

1. ARM7微处理器系列

ARM7系列微处理器为低功耗的32 位RISC 处理器,最适合用于对价位和功耗要求较高的消费类产品中,ARM7 微处理器系列具有如下特点;

l 具有嵌入式ICE-RT 逻辑,调试开发比较方便。

l 极低的功耗,适合对功耗要求较高的产品,如便携式产品。

l 能够提供0.9MIPS/MHz 的三级流水线结构。

l 程序代码密度高并兼容16 位的Thumb 指令集。

l 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS 等。

l 指令系统与ARM9 系列、ARM9E 系列和ARM10E 系列兼容,便于用户的产品升级换代。

l 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。

ARM7 系列微处理器的主要应用领域为:工业控制、Internet 设备、网络和数据设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI 是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM 处理器。

2. ARM9 微处理器系列

ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点;

l 5 级流水线结构,指令执行效率更高。

l 提供1.1MIPS/MHz 的哈佛结构。

l 支持32位ARM 指令集和16 位Thumb 指令集。

l 支持32位的高速AMBA 总线接口。

l 全性能的MMU,支持Windows CE、Linux、Palm OS 等多种主流嵌入式操作系统。

ARM9系列微处理器适用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等领域。

3. ARM9E微处理器系列

ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。 ARM9E系列微处理器的主要特点如下;

l 支持DSP指令集,适合于需要高速数字信号处理的场合。

l 5级整数流水线,指令执行效率更高。

l 支持32位ARM指令集和16位Thumb指令集。

l 支持32位的高速AMBA总线接口。

l 支持VFP9浮点处理协处理器。

l 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

l MPU支持实时操作系统。

l 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

l 主频最高可达300MIPS。

ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用场合。

4. ARM10E微处理器系列

ARM10E 系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的 ARM9器件相比较,在同样的时钟频率下,性能提高了近 50%,同时, ARM10E 系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10E 系列微处理器的主要特点如下;

l 支持 DSP 指令集,适合于需要高速数字信号处理的场合。

l 6 级整数流水线,指令执行效率更高。

l 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。

l 支持 32 位的高速 AMBA 总线接口。

l 支持 VFP10 浮点处理协处理器。

l 全性能的 MMU ,支持 Windows CE 、 Linux 、 Palm OS 等多种主流嵌入式操作系统。

l 支持数据 Cache 和指令 Cache ,具有更高的指令和数据处理能力

l 主频最高可达 400MIPS 。

l 内嵌并行读 / 写操作部件。

ARM10E 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。ARM10E 系列微处理器包含 ARM1020E 、 ARM1022E 和 ARM1026EJ-S 三种类型,以适用于不同的应用场合。

1.1.2 S3C2440A与S3C2410A的比较

S3C2440A是一款专用的以手持设备为主而设计的芯片,其特点有低功耗,高速的处理计算能力。为了减少系统的耗费,2440使用了如下组件:2440基于ARM920T内核的,0.13Um cmos 标准单元和存储单元复合体,它功耗及小、简单、稳定的设计非常适合对电源要求较高的产品上。在选择芯片的时候,我有段时间在S3C2440A与S3C2410A之间无法权衡,通过各方面参数对比之后,我选择S3C2440A,如下介绍S3C2440A与S3C2410A参数对比;

1. 最高主频不相同

S3C2410A为200M,S3C2440A为400M。我们在用这两款处理器时,一般使用的主频是不相同的,而这个不相同,不仅影响是的运行的速度,最主要的是会影响一些外设(如串口)的时钟,这些外设的时钟如果不正确,就会出现问题。又比如内存总线设置,2410 和 2440 主频不一样,总线定时所要求的时钟数也会不一样。

2. MPLL和UPLL的计算公式不相同[17]

S3C2440A的MPLL是S3C2410A的两倍,S3C2440A的MPLL计算与UPLL的计算不相同。S3C2410A输出时钟频率 MPLL/UPLL 相对于参考输入时钟频率 Fin 如以下公式所示;

PLL Control Register (MPLLCON and UPLLCON)

(M/U) pll = (m * Fin) / (p * 2s)

m = (MDIV + 8),p = (PDIV + 2),s = SDIV

S3C2440A输出时钟频率 MPLL 相对于参考输入时钟频率 Fin 如以下公式所示;

MPLL Control Register

Mpll = (2 * m * Fin) / (p * 2^S)

m = (MDIV + 8),p = (PDIV + 2),s = SDIV

S3C2440A输出时钟频率UPLL相对于参考输入时钟频率 Fin 如以下公式所示;

UPLL Control Register

UPLL= (m * Fin) / (p * 2^S)

m = (MDIV + 8),p = (PDIV + 2),s = SDIV

3. CPU需从快速总线模式转变为异步模式的条件不同

(1) S3C2410A

If HDIVN=1, the CPU bus mode has to be changed from the fast bus mode to the asynchronous bus mode using following instructions.

程序清单 4‑1 S3C2410A转变为异步模型代码

MMU_SetAsyncBusMode

mrc p15,0,r0,c1,c0,0

orr r0,r0,#R1_nF:OR:R1_iA

mcr p15,0,r0,c1,c0,0

(2) S3C2440A

If HDIVN is not 0, the CPU bus mode has to be changed from the fast bus mode to the asynchronousbus mode using following instructions(S3C2440 does not support synchronous bus mode).

程序清单 4‑2 S3C2440A转变为异步模型代码

MMU_SetAsyncBusMode

mrc p15,0,r0,c1,c0,0

orr r0,r0,#R1_nF:OR:R1_iA

mcr p15,0,r0,c1,c0,0

4. 其他对比

l S3C2440A比S3C2410A新增加AC'97编解码器接口。

l S3C2440A比S3C2410A新增加Camera interface,摄像头的接口。

l S3C2440A比S3C2410A具有更多可用的I/O口,主要增加了DPJ端口组,其13个。

l S3C2440A和 S3C2410A的串口结构几乎一样,但、S3C2410A的串口 FIFO是 16 字节,而 S3C2440A是 64 字节。由于 FIFO深度不同,导致 UFSTAT 寄存器中个位的定义不一致。