基于VLSI 平台的AVR 处理器仿真与设计
0 引言
随着社会发展,工业控制及人们日常生活越来越追求精密控制,为满足这种需求,微控制器得到了快速发展。微控制器(Micro Control Unit,MCU)又称单片微型控制计算机或单片机。随着大规模集成电路(LargeScale Integration,LSI)发展,MCU将原本分散的中央处理器(Central Processor Unit,CPU)、随机存储器(Ran-dom Access Memory,RAM)、只读存储器(Read OnlyMemory,ROM)、输入/输出接口(In/Out Ports,I/O)等集中于一块单晶芯片内,形成一种芯片级计算系统。MCU主要用于控制,MCU构成的系统有实时、快速的外部响应,能迅速采集到大量数据,做出逻辑判断与推理后实现对被控制对象的参数调整与控制。但是随着对控制的要求增大,传统MCU也越来越显得捉襟见肘。为此使用专用应用集成电路(Application Specific IntegratedCircuit,ASIC)器件在片内实现与传统MCU相兼容的核心,选用合适的片内总线来连接外设,构成一个兼容传统MCU平台,这种方法必会延续传统MCU的生命力,使其获得更大的发展。
1 MCU 简介
若将4位单片机的出现作为MCU的起点,MCU的发展大致可以分为如下阶段:初级阶段(1971年-1976年)、8 位低性能阶段(1976 年-1980 年)、8 位高性能阶段(1980年-1983年)、16位阶段(1983年至80年代末)、片上系统(System On-Chip,SoC)阶段(1990-)。一个通用的MCU 由ROM、RAM、GPIO、串行设备(UART/SPI/IIC)、计数器/定时器(TIMER)等组成,并通过总线连接,如图1所示。
传统MCU 都需要一套指令集结构(Instruction SetArchitecture,ISA)。从现阶段主流体系结构讲,主要分为复杂指令集(Complex Instruction Set Computer,CISC)和精简指令集(Reduced Instruction Set Computer,RISC)。
RISC增加了运行速度,大大减小了指令集数目,方便使用多级流水线结构,可增加寄存器数量。AVR单片机就是一款内置FLASH的增强型RISC处理器[4].
另外MCU需要将数据和指令存储于存储器中。目前使用最多的两种存储器组织结构分别为冯·诺依曼结构(Von Neumann Architecture)和哈佛结构(Harvard Ar-chitecture)。冯·诺依曼结构将处理器指令和数据合并在一起存储,指向同一存储器的不同物理地址。哈佛结构将程序指令存储和数据存储分开,中央处理器先从程序指令存储器中获得指令译码后得到数据地址,再由此从数据存储器中取得数据,并进行下一步操作。哈佛结构的微处理器通常有很高的执行效率。Atmel公司的AVR系列就是采用的哈佛结构。
AVR单片机是由Atmel公司在1997年推出的高速8位MCU,内置FLASH的增强型RISC处理器,可广泛应用于计算机外部子系统、工业生产和控制、仪器仪表、通信设备、家用电器等各个领域。大部分AVR片上资源丰富:如E2PROM,PWM,RTC,SPI,USART,TWI,ISP,AD,Analog Comparator,WDT等。AVR单片机内嵌高质量的FLASH程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的E2PROM可长期保存关键数据,避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效地支持使用高级语言开发系统程序,并可像8051单片机那样扩展外部RAM.
2 FPGA 简介
ASIC 是指依特定用途而设计的特殊规格逻辑电路。ASIC的最显着特点是面向特定用户需求,与通用集成电路相比有更小的体积、更低的功耗、较高的可靠性、较强的保密性和低成本等优点,但因为开发较为复杂,所以研发周期较长。
随着电子工业技术的发展,ASIC的设计方法变得越简单,效率越高,可编程ASIC就是一个很有特色的设计分支,它主要利用可编程的集成电路如PLD(Program-mable Read Only Memory)等可编程逻辑电路来设计。
主要特点是直接提供软件设计编程,完成ASIC电路功能,而不再通过集成电路工艺加工后得到成品。这种方法大大降低了开发周期,且缩小了成本。
现场可编程门阵列(Field Programmable Gate Ar-ray,FPGA)就是众多PLD产品中应用最为广泛的一种,它采用了逻辑单元阵列(Logic Cell Array,LCA),内部包含了可配置的逻辑模块(Configurable Logic Block,CLB)、输入/输出模块(Input Output Block,IOB)和内部连线(Interconnect)。FPGA采用的是小型查找表来实现组合逻辑的,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他的逻辑电路或者I/O,由此构成即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,通过内部连线互相连接。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定
- Flash损耗均衡的嵌入式文件系统设计(06-01)
- 锁相环控制及初始化简析(08-27)
- 基于AVR单片机的ISP1362OTG设计(09-06)
- 基于AVR单片机的串口转FSK的通信模块设计(01-23)
- 案例分析:基于AVR32的隧道环境监测系统(03-18)
- 科技帮我们远离灾难:灾难检测飞行器(03-18)