当前位置:首页 > 单片机 > 单片机
[导读]0 前言随着信息化、智能化、网络化的发展,嵌入式系统技术也将获得广阔的发展空间。以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注人了新的生命,同时也对嵌入式系统技术提出了新的挑

0 前言

随着信息化、智能化、网络化的发展,嵌入式系统技术也将获得广阔的发展空间。以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注人了新的生命,同时也对嵌入式系统技术提出了新的挑战。这主要包括:支持日趋增长的功能密度、灵活的网络联接、轻便的移动应用和多媒体的信息处理。

由于因特网技术的成熟、带宽的提高,ICP和ASP在网上提供的信息内容日趋丰富、应用项目多种多样,像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。

ARM微处理器因其卓越的低功耗、高性能在32位嵌入式应用中已位居世界第一,是高性能、低功耗嵌入式处理器的代名词。为了顺应当今世界技术革新的潮流,了解、学习和掌握嵌入式技术,就必然要学习和掌握以ARM微处理器为核心的嵌入式开发环境和开发流程,这对于研究和开发高性能微处理器、DSP以及开发基于SOC芯片设计及应用系统是非常必要的。作为电子信息专业的本科生很有必要了解和掌握32位嵌入式应用的开发技术。所以,通过对嵌入式系统设计课程的学习和本次设计的实践,一方面使学生具有较强的综合素质,成为具有良好的实际操作能力设计能力符合社会需求的开拓性电子应用人才,另一方面也可为高年级本科生提供一个可扩展的嵌入式系统设计平台。

1 STR710FZ2TB微处理器介绍

嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,嵌入式处理器目前主要有Power PC, 68000, MIPS, ARM系列等。

STR710F 系列产品以工业标准的ARM7TDMI 32位RISC CPU为内核,特别适用于需要尺寸紧凑、CPU功能强大的嵌入式系统和可升级的解决方案如用户界面、工厂自动化系统和销售点(POS)应用等。该系列微控制器提供同级产品中最佳的闪存随机存取时间,直接从闪存的速率高达33MHz;由于采用突发加速技术,顺序代码零等待状态,最大存取速率50MHz,因此这个系列产品非常适合实时应用。该系列配备多达10个通信接口,包括CAN、 USB、HDLC (高级数据链路控制)、MMC (多媒体卡)和智能卡接口。灵活的封装选择包括有小型低量引脚的64引脚TQFP64和外置存储器总线的144引脚TQFP144。该系列包括内置USB 和CAN接口的低成本64k字节闪存版微控制器STR711和 STR712,以及内置128或256字节程序闪存的经典型微控制器,和对于无需USB和CAN接口的成本更低的“裸”微控制器STR715,该芯片内置 64千字节代码闪存、16字节数据闪存和16字节RAM,没有USB和CAN模块,这个成本优化型32位微控制器采用 64引脚的TQFP64封装,专门为占板尺寸小的低成本应用而设计,例如:需要多用途和高性能处理器而不需要USB和CAN接口的工业系统和消费家电。

STR710工业级微控制器以ARM7TDMI 16/32处理器为内核,内带Flash、SRAM、EMI、USB、CAN、5个定时器、12位ADC、10个通信接口。

2 uC/OS-II操作系统介绍

嵌入式系统的软件一般由嵌入式操作系统和应用软件组成, 编译过程是一起进行的。而操作系统的软件又与硬件紧密相关, 必须与具体应用相结合才能发挥其优势, 即必须结合实际系统的需求进行合理的裁剪。所以, 如果能够建立相对通用的软硬件基础, 然后在其上开发出需要的系统, 是一种比较好的发展模式。从某种程度上来说, 嵌入式系统是指能够运行操作系统的软硬件综合体。就实时嵌入式操作系统(operation system )而言, 它可大致分为商用嵌入式OS与源码开放的嵌入式OS, 前者如WindRiver公司的Vxworks、ISI公司的pSOS和Quan- tum公司的QNX 等, 后者如免费的嵌入式Linux, 以及本文中所用到的uC/OS-II。

μC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它提供信号量、带互斥机制的信号量、事件标志、消息信箱、消息队列、内存管理、时钟管理、任务管理等服务,适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中),同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。

3 嵌入式系统设计

3.1 硬件设计

该系统的硬件主要由STR710F微处理器,电源、复位、时钟电路,JTAG调试电路,基本的按键和LED显示等人机接口电路和时钟电路所组成。系统设计结构如图1所示。

在硬件上,系统包括基于STR710FZ2TB的ARM开发平台和时钟电路两大部分,其中ARM开发平台由电源部分,复位电路,时钟电路,JTAG调试电路,Boot模式配置电路,ADC接口等组成。

电源部分电路见图2所示。


                       
其中LM1117是稳压集成电路,输入5V,输出3.3V。

复位芯片采用 IMP809S,系统主时钟为16MHz,ADC接口电路可外接模拟信号或用板上模拟电压。

3.2 软件设计

3.2.1 BootLoader设计

简单地说,BootLoader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。另外,由于 Boot Loader 的实现依赖于 CPU 的体系结构,因此大多数 Boot Loader 都分为 stage1 和 stage2 两大部分。依赖于 CPU 体系结构的代码,比如设备初始化代码等,通常都放在 stage1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。而 stage2 则通常用C语言来实现,这样可以实现给复杂的功能,而且代码会具有更好的可读性和可移植性。

Boot Loader 的 stage1 通常包括以下步骤(以执行的先后顺序):

硬件设备初始化。

为加载 Boot Loader 的 stage2 准备 RAM 空间。

拷贝 Boot Loader 的 stage2 到 RAM 空间中。

设置好堆栈。

跳转到 stage2 的 C 入口点。

Boot Loader 的 stage2 通常包括以下步骤(以执行的先后顺序):

初始化本阶段要使用到的硬件设备。

检测系统内存映射(memory map)。

将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中。

为内核设置启动参数。

调用内核。

3.2.2 应用程序设计

本实例主要用FIQ来设计一个时钟,实现一小时计时,由于需要4个7段数码管,考虑到I/O口的数量,所以采用动态显示方式。要点是要掌握ARM7TDMI的快速中断原理和定时器原理,能正确地分配时钟。程序流程图如图8 所示。


图8 时钟程序流程框图

4 开发环境介绍

硬件开发主要采用Protel 99se。软件开发主要采用ADS1.2集成开发环境和EMBEST PowerICE For ARM仿真器。下面着重对ADS1.2集成开发环境进行介绍。

ADS 集成开发环境是ARM 公司推出的ARM 核微控制器集成开发工具,英文全称为ARM Developer Suite,成熟版本为ADS1.2。ADS1.2 支持ARM10 之前的所有ARM 系列微控制器,支持软件调试及JTAG 硬件仿真调试,支持汇编、C、C++源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、Windows XP、Windows2000 以及RedHat Linux上运行。

ADS 1.2 由6 个部分组成,如表1 所示

表1 ADS 1.2 的组成部分

5 结束语

本次设计基本完成预期目标,时钟计时精确稳定可靠。通过本次设计实践,使嵌入式系统课程知识得到了回顾,加深了理解,基本掌握了ARM系统的软硬件开发流程,无论是;理论知识还是实际动手能力都到了较大提高。

参考文献
[1] 田泽.嵌入式系统开发和应用教程[M].北京:北京航空航天大学出版社,2005:1-9.
[2] STR71xF 参考指南(意法半导体公司);
[3] 嵌入式实时操作系统uC/OS-II(第2版) 2003.5 北京航空航天大学出版社 邵贝贝;
[4] 张锡鹤 盛鸿宇.印制电路板电路设计实训教程[M].北京:科学出版社,2005。
[5] Samuel P.Harbison III, Guy L.Steele Jr.C:A Reference Manual Fifth Edition.China Machine Press,2003.
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭