基于ARM7的单片机实现32位系统
意法半导体发布了一个以ARM7核心为基础的STR7单片机系列。STR7单片机内置闪存存储器以支持片内的程序运行。ST提供多种开发支持,如评估板和应用笔记。本文介绍了STR7系列单片机的特性和应用。
随着全球化工业生产的发展与深入,终端产品功能的多样化,8位或8051的工程师在设计工业控制器和模块时,越来越需要复杂的以RISC(精简指令系统)为基础的微处理器。由于有机能源的短缺和全球气候变暖,对电子设备能耗的要求越来越高。意法半导体的STR7系列单片机内置闪存存储器,寄存器以一种很简单的方式排列。STR7可以很方便地连接各种外部设备。ST提供丰富的应用笔记和例行程序,有效地降低了应用和学习的入门门槛。目前意法半导体提供三种评估板,STR710、STR720和STR730。
图1. 评估板
有效地用好用熟一款单片机,最大限度地发挥硬件的效能是每一个工程师的目标;首次接触ARM的系统,要想达到上述目标,对于一个用惯8位或16位单片机的工程师来说,最简单及最有效的方法就是以较短的时间快速地浏览和学习,然后迅速地进入一个设计项目,在工作中边干边学。STR7是一款以AR
M7TDMI为核心的通用单片机,它拥有复杂的内部结构,包含丰富的外设和复用的I/O端口,所有的片上外设都有对应的寄存器控制。学好用好单片机,首先就是要熟练地掌握各种寄存器所控制的功能和它们的用法。有效地用好单片机的另个重要的问题是代码执行的效率,ARM7TDMI核心是RISC的结构,C语言是最常用的编程工具,因此代码的执行效率与编译器的效率密切相关,目前市面上所有支持ARM7的C语言编译器都可用于STR7系列单片机,常见的编译器有ARM公司的RealView和ADS、IAR公司的编译器、KEIL公司的编译器和在开放软件协议框架下的GCC编译器。
STR7系列特性
STR7系列单片机有三个子系列,即STR710、STR720和STR730。以下是他们的共同特性,表一和表二列出了STR710和STR720系列的主要参数。
- 操作温度范围是-40℃到80℃。所以STR7单片机适合于设计工业应用器材、需要户外使用的产品以及需要苛刻工作环境的产品。
- 尽管拥有外部存储器接口(EMI),许多单片机还内嵌了80K字节至272K字节不等的闪存存储器,每款STR710系列的单片机更另外内嵌16K字节的闪存存储器作为额外的数据存储区。闪存存储器可擦写10万次,数据可保存20年。
- STR710和STR720系列单片机工作于3至3.6伏电压,STR730系列单片机工作于4.5至5.5伏电压;内置的电压转换器产生ARM7核心所需的1.8伏电压,省却了外接的电压转换器。
- 电源供电管脚、A/D采样的参考电压和I/O管脚的供电均是独立的输入端;这一特性使得产品的电源设计更加方便和灵活,为产品设计的多样性提供了方便,也有利于有效地处理电源的干扰问题。
- 在不同的STR7产品上分别配置了USB(2.0全速)或CAN总线接口,这两种串行通信接口已经非常广泛地应用在许多工业及汽车领域。
- 与其他ARM7的产品不同,STR7单片机配备了HDLC(高级数据链路控制),这个串行通信协议广泛地应用于仪器设备的互连接口。
- STR7单片机拥有多达4个UART接口。
- 通用输入输出端口(GPIO)可由寄存器的设置配置成多种不同的电气特性:推拉输出、内置上拉输入、开路输出、TTL输入、中断触发输入、模拟输入等。
- 六种电源功耗模式提供了多种优化能耗的手段和可能,这六种电源功耗模式为:全速、慢速、等待与低功耗等待、暂停和停止。
- 所有STR7单片机都有独立的JTAG调试接口,这个接口与所有的ARM产品的JTAG接口兼容,用户可以使用任何的ARM工具调试开发任一款STR7的产品。
表 1. STR710产品和特性
STR7的应用
- 配备ARM7核心的单片机拥有相同的指令运行平台,但不同的产品间仍有很大的差别;因此,应用工程师必须详细了解具体产品的存储器映像、各种内置外设的操作与特性,更重要的是各个寄存器的构造和控制细节。在STR7中,所有的内置外设都联结在高速外设总线(APB)上,每一种外设的控制寄存器被有效地分配在一个4K字节的地址空间内,所有外设的4K字节寄存器映像空间是按照一个特定的顺序排列在制定的寻址范围中。熟悉8位或16位单片机的工程师会发现,掌握STR7的技术难度相对较低,通常一个熟练的工程师只需二至三个月的时间即可有效地使用STR7进行产品设计。
图 2. STR710的寻址空间分布
- 为简化用户的开发工作,意法半导体开发了71xLibraryR.lib和71xLibraryD.lib 程序库,它们集成了对STR710系列中各种外设的操作功能;使用STR710系列设计产品的工程师只要掌握相应的应用程序界面,即可方便地操作和使用各种STR7的外设,有效地缩
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)