32位精简指令集架构的AT91M42800A的设计与应用

时间:2020-10-09 12:21:13 理工毕业论文 我要投稿

32位精简指令集架构的AT91M42800A的设计与应用

摘要:介绍了ATMEL公司生产的基于32位精简指令集(RISC)架构的单片机AT91M42800A的特点,提出了一种基于AT91M42800A的应用设计方案,给出该设计的硬件原理图,同时针对AT91M42800A的存储器空间分配问题,给出了分散装载的程序代码举例,从而为基于AT91M42800A的嵌入式系统设计提供了一个思路。

1 引言

目前,嵌入式产品逐步占领了PC市场,而其核心部分——处理器的性能则决定了产品的设计和性能。在32位嵌入式处理器中, 由ATMEL 公司生产的AT91系列芯片之一AT91M42800A是基于ARM7TDMI 处理器内核的16/32位微控制器,它除具有ARM处理器的低功耗、低成本、高性能等优点外,还具有非常丰富的片内资源,特别适合于嵌入式产品的设计开发。

2 AT91M42800A 的基本特性

AT91M42800A采用32位精简指令集(RISC)架构,因此,它既支持16位Thumb指令集,又支持32位的Arm指令集。它采用三级流水线结构,可在同一时间内,一条指令在执行,第二条指令在译码,第三条指令在取指,这样,在每个周期都有一条指令在执行,因此,指令执行速度很快。AT91M42800A的基于先进微控制器总线结构(AMBA)的模块化设计方法具有综合、快速、高性能价格比的特点。该微控制器的内部工作寄存器很多,非常适合实时控制应用。其主要特点如下:

●内核电压和锁相环电压为2.7~3.6V, I/O口操作电压为2.7~5.5V;

●内部带有8kB静态RAM;

●具有完全可编程外部总线接口(EBI),且多达8个片选,寻址空间很大;

●内含8通道外设数据控制器(PDC);

●带有54个可编程I/O口;

●内含6通道16位定时/计数器;

●具有2个通用串行异步接收/发送器(USART)和2个主/从SPI接口;

●内含3个系统定时器;

●时钟可由32768 Hz 晶体和内部锁相环(PLL)电路产生,最高可编程至33MHz,也可由外部时钟信号提供;

●内置嵌入式在线仿真电路(Embedded ICE)?可通过JTAG口对AT91M42800A进行测试。

3 基本组成系统

由AT91M42800A构成的最基本的系统至少应包括以下几个部分:

(1)程序存储器(ROM)

由于AT91M42800A 内部没有ROM,因此,必须外扩一片程序存储器。应当注意的是:AT91M42800A的8位总线和16位总线的FLASH接法不同,具体接法如图1所示。

(2)数据存储器?RAM?

如果设计的系统比较复杂,数据比较多,当单片机内部8kB SRAM不能满足要求时,还要外扩一片数据存储器。AT91M42800A能够支持两种“写”方式,但对8位数据总线和16位数据总线的操作也是不同的,因此,对于不同的存储器,其接法不同。对于8位总线的存储器,只需接D0~D7,将D8~D15悬空,并将其地址线对接,而单片机的NWE/NWR0接到存储器的NWE上。对于16位总线的存储器,则将其数据线对接,A1~A17接存储器的A0~A16,并将其NWE/NWR0接存储器的NWE,NUB/NWR1接存储器的NUB,NLB/A0接存储器的NLB。外扩的RAM 的接法与外扩FLASH的接法类似。

(3)时钟发生电路

AT91M42800A的时钟既可以外接晶体,也可外接时钟信号。当外接晶体时,由于其内带振荡电路,因此,外接32.768 kHz 的晶体后,可产生慢时钟(SLCK)。由于SLCK频率低,所以系统的功耗也很低。若想提高系统的工作频率,则可通过PLLA或PLLB对其倍频,以达到所要求的工作频率。如果所需频率不能通过PLL倍频得到,则可由外接时钟信号来提供。当外接时钟信号时,可直接把时钟信号接到XIN引脚上,XOUT引脚悬空。