(2007)基于ColdFire的评估系统的设计与实现

更新时间:2023-05-11 06:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 中文摘要

中文摘要

嵌入式系统发展的日新月异,芯片制造技术的不断革新,迅速扩展了32位微处理器的应用领域。目前32位微处理器种类繁多,主要有ARM、x86、PowerPC、68K/ColdFire和MIPS等。ColdFire是Freescale公司在68K的基础上推出的高性价比、高集成度32位微处理器,并且该系列还不断有新产品推出。芯片的推广应用离不开功能强大的开发工具。本课题设计并实现了一套基于ColdFire的评估系统,它由硬件评估板和配套的软硬件开发工具组成,可以解决目前国内开发工具严重依赖进口、开发资料较少等一系列问题,为用户提供了一种功能完备、操作简单、价格低廉、能满足学习和开发双重需求的实验平台。

本课题开发了针对ColdFire系列微处理器的BDM调试头以及Windows平台上的SdIDE for ColdFire嵌入式集成开发环境。文中以MCF5271为例,设计并制作了SDEVB5271评估板,将开发工具成功地运用在该评估板之上,构建了整套的SDEVB5271评估系统,可提供性能评估、应用开发等功能。文中详细阐述了整个开发的流程,可以对开发其他ColdFire型号芯片的评估系统以及类似的嵌入式产品提供借鉴和参考。

本文首先给出了SDEVB5271的硬件设计、各硬件模块的原理框图以及硬件测试流程;其次分析了ColdFire的BDM工作原理并给出BDM调试头的硬件设计和底层驱动程序的编写;然后阐述了软件设计中使用的关键技术,包括编译、连接脚本的编写,代码的下载与执行;最后给出了嵌入式应用程序的基础知识和一个IO口的实验程序,同时还给出了μCLinux在SDEVB5271上的移植实例。

关键词:评估系统,ColdFire,MCF5271,交叉编译器,连接器,BDM,μCLinux

基于ColdFire的评估系统的设计与实现

ABSTRACT Design and Implementation of an Evaluation System based on ColdFire

ABSTRACT

The rapid development of embedded system and the continual renovation of

manufacturing process enlarges the fields of 32-bit microprocessor. There are many kinds of 32-bit processors, mainly including ARM, x86, PowerPC, 68K/ColdFire and MIPS. Derived from 68K, ColdFire is a kind of 32-bit microprocessor having the aggressive price/performance and the high integrity. The chip’s applications need powerful development tools. Thus, an evaluation system for ColdFire is designed and implemented, which consists of the hardware evaluation board and the related development tools. So that, a serial of problems such as too much dependency on import tools and lacking of

development documents can be well solved. Additionally, an evaluation system with all-purpose, simple operation, low-price meets the needs of both study and development for all users.

A BDM cable for ColdFire CPUs and an IDE named SdIDE for ColdFire running on windows platform is developed. Taking MCF5271 as an example, this paper has designed an evaluation board SDEVB5271, applied the new development tools to it,constructed the whole evaluation system of SDEVB5271 which can be used to evaluate and develop

applications. The paper describes the flow of the whole development in detail, which can provide reference for the development of other ColdFire chips and other embedded productions.

First, this paper shows the hardware design, the theory block diagram of each

hardware module and the test flow of them. Second, the paper analyses the work theory of the ColdFire BDM and gives the hardware design of BDM cable and the way to write the drivers. Third, it realizes the key technology of the software design such as how to write makefile and linkfile and the download and execution of the code. At last, it gives the basic knowledge of an embedded application and an experiment on I/O port. At the same time, the paper even gives a real example of porting μClinux to SDEVB5271.

Keywords: Evaluation System, ColdFire, MCF5271, Cross-Compiler, Linker, BDM,

μCLinux

基于ColdFire的评估系统的设计与实现

目 录

第一章 概述.................................................................................................11.1 ColdFire系列微处理器...........................................................................................11.2 课题背景.................................................................................................................21.2.1 常见的32位微处理器及其应用......................................................................21.2.2 ColdFire系列微处理器的开发工具及评估板...................................................31.3 设计思路.................................................................................................................41.4 课题意义.................................................................................................................51.5 本文工作和论文结构..............................................................................................61.5.1 本文工作...........................................................................................................61.5.2 论文结构...........................................................................................................6第二章 评估板硬件设计..............................................................................82.1 硬件选型.................................................................................................................82.1.1 CPU的选取.......................................................................................................82.1.2 外围器件的选取...............................................................................................92.2 芯片简介.................................................................................................................92.2.1 MCF5271微处理器...........................................................................................92.2.2 存储器件.........................................................................................................122.2.3 输入输出类器件.............................................................................................142.3 硬件评估板设计...................................................................................................142.3.1 电源................................................................................................................152.3.2 CPU支撑电路.................................................................................................162.3.3 Flash.................................................................................................................172.3.4 SDRAM...........................................................................................................182.3.5 以太网模块.....................................................................................................212.3.6 串口................................................................................................................222.3.7 A/D转换..........................................................................................................222.3.8 与扩展板接口.................................................................................................232.4 硬件评估板测试流程及体会................................................................................232.4.1 测试方法.........................................................................................................232.4.2 测试流程.........................................................................................................242.4.3 测试体会.........................................................................................................25第三章 ColdFire系列BDM调试头的设计与实现.................................27

3.1 芯片调试技术.......................................................................................................27

3.2 ColdFire 微处理器的BDM调试模式..................................................................28

3.2.1 ColdFire调试模块概述...................................................................................28

基于ColdFire的评估系统的设计与实现

3.2.2 不同BDM接口的比较..................................................................................29

3.3 BDM调试头的硬件设计.......................................................................................30

3.3.1 BDM的串行通信时序分析.............................................................................30

3.3.2 XC9536XL芯片介绍......................................................................................31

3.3.3 BDM调试头硬件实现....................................................................................32

3.4 BDM调试头驱动程序的设计...............................................................................34

3.4.1 BDM的数据通信格式....................................................................................34

3.4.2 BDM的串行通信实现....................................................................................35

3.4.3 BDM的调试命令............................................................................................37

3.5 本章小结...............................................................................................................39

第四章 软件设计........................................................................................404.1 SdIDE通用模块介绍.............................................................................................404.1.1 SdIDE简介......................................................................................................404.1.2 SdIDE通用模块..............................................................................................414.2 交叉编译器...........................................................................................................424.2.1 关于交叉编译器.............................................................................................424.2.2 构建嵌入式开发的GCC工具链....................................................................434.2.3 Makefile...........................................................................................................464.3 连接器...................................................................................................................484.3.1 目标文件格式.................................................................................................484.3.2 连接脚本.........................................................................................................494.4 代码的写入及运行...............................................................................................524.4.1 烧写Flash.......................................................................................................524.4.2 程序在SDRAM中运行.................................................................................544.4.3 监控程序.........................................................................................................554.5 本章小结...............................................................................................................56第五章 评估板应用编程示例....................................................................575.1 嵌入式应用程序设计的基本知识........................................................................575.1.1 硬件系统初始化.............................................................................................575.1.2 应用程序初始化.............................................................................................585.2 通用IO口的编程实例.........................................................................................595.2.1 编程基础.........................................................................................................605.2.2 编程步骤.........................................................................................................615.2.3 程序测试与固化.............................................................................................625.3 μClinux的板级移植..............................................................................................625.3.1 bootloader开发与移植....................................................................................635.3.2 μClinux的移植................................................................................................645.4 本章小结...............................................................................................................66第六章 总结与展望....................................................................................686.1 总结.......................................................................................................................68

基于ColdFire的评估系统的设计与实现

6.2 展望.......................................................................................................................68

参考文献.....................................................................................................70附录A MCF5271相关资料..........................................................................73

A.1 MCF5271模块框图..............................................................................................73

A.2 MCF5271芯片引脚图..........................................................................................74

附录B SDEVB5271 硬件原理图..............................................................75

B.1 电源电路及扩展接口电路...................................................................................75

B.2 MCF5271支撑电路..............................................................................................76

B.3 存储扩展电路......................................................................................................77

B.4 CPU配置电路及BDM接口................................................................................78

B.5 以太网接口..........................................................................................................79

附录C BDM调试头原理图.......................................................................80

C.1 BDM调试头硬件原理图......................................................................................80

C.2 XC9536XL内部程序原理图................................................................................81

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第一章 概述

第一章 概述

嵌入式系统是当前最热门最有发展前途的IT应用领域之一。它除了在传统的工业控制、电信设施中发挥巨大的作用,还在家用电器、医疗保健设备、数码相机、多媒体播放设备、手机、PDA、网络设备等各个领域扮演着重要的角色。嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。目前,嵌入式系统中使用的处理器主要有:8位、16位、32位、64位嵌入式处理器和数字信号处理器(DSP),而32位嵌入式处理器已成为主流。

本章首先介绍了Freescale公司(原摩托罗拉半导体部)的ColdFire系列微处理器的基本特性,接着分析了当前ColdFire系列微处理器开发工具的现状,然后给出了基于ColdFire评估系统的设计思路及课题意义,最后为本文的工作和组织结构。

1.1 ColdFire系列微处理器

Freescale 32位微处理器分为PowerPC系列、ColdFire系列以及Dragon Ball系列等。ColdFire系列是重要的组成部分之一,它可以应用于工业控制、仪器仪表、民用产品、网络产品等领域。

ColdFire源于Freescale的传统68K指令集架构(ISA),最初是在20世纪80年代末开发的,在计算和嵌入式应用中得到了广泛使用。由于68K属复杂指令流(CISC)类CPU,不容易做得很小,速度上不去,ColdFire CPU采用指令长度可变的精简指令流(RISC)技术,精简掉部分68K的指令,又与68K指令集兼容,并使多数指令可以在1个周期内完成,使CPU内核可以做得很小,速度可以达到400MIPS,成本可以降到很低,更适用于嵌入式应用[1][2]。

ColdFire CPU的应用领域不断扩大——从工业自动化系统到喷墨打印机和MP3播放器——提供片上功能,满足特定嵌入式应用的需求。ColdFire系列目前已推出50多种型号的芯片,而且还不断有新产品推出。为了适应市场对更多连接的需求,Freescale推出了多种ColdFire连接选择,包括10/100以太网、USB2.0、PCI、CAN和其它串行口;为了适应市场对工业应用进行复杂、实时控制的需求,Freescale又在ColdFire架构产品上集成了增强型时间处理单元(eTPU);为了适应市场对安全性的要

基于ColdFire的评估系统的设计与实现

第一章 概述 基于ColdFire的评估系统的设计与实现 求,Freescale在ColdFire设备上提供了加密加速器,作为可选模块。

ColdFire系列产品由最初的Version 2(包括第一款ColdFire微处理器MCF5206以及MCF52xx)发展到Version 3(MCF5307)、Version 4(MCF54xx),直到最新版的超流水线结构的Version 6,其指令执行速度也相应的由25MIPS@33MHz(0.8μm工艺)提高到610MIPS@333MHz(0.13μm工艺)。目前ColdFire已经推出了采用V2、V3、V4核心的芯片,V5、V6为后续版本。各个版本之间的比较如下[3]:

① V2核心

- 两个独立的、解耦(Decoupled)的两级流水线;

- 单周期局部总线,具有统一的Cache、RAM和ROM。

② V3核心

- 两个独立的、解耦的四级指令获取流水线和两级指令执行流水线;

- 两级流水线局部总线,具有统一的Cache、RAM和ROM。

③ V4核心

- 两个独立的、解耦的四级指令获取流水线和五级指令执行流水线;

- 哈佛结构的指令和数据分开的高速缓冲存储器,可获得更宽的带宽;

- 指令分支加速结构。

④ V5核心

- 和V4基本相同的流水线组织;

- 双执行流水线和大容量分支Cache。

⑤ V6核心

- V6为超流水线结构。

1.2 课题背景

1.2.1 常见的32位微处理器及其应用

目前,在嵌入式领域得到广泛应用的32位嵌入式微处理器主要有Intel开发的嵌入式x86处理器,采用ARM公司ARM核心的ARM7、9、10等系列,Freescale和IBM等公司生产的采用PowerPC内核的PowerPC系列,MIPS公司开发的MIPS系列以及68K/ColdFire系列等。

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第一章 概述

x86系列CPU性价比较高,软件兼容性好,开发资源丰富,开发平台简单,主要应用在工业场合和部分民用市场(例如机顶盒等),相对来讲耗电较大。ARM因其低功耗以及ARM CORE的快速设计发展,在手持设备领域(PDA、手机等)取得了领导地位。PowerPC和MIPS则以其在网络通信处理方面的高速、高可靠性等特点主要应用于数据通信领域。68K/ColdFire凭借其优异的性价比、丰富的外围设备控制接口,在智能家电领域、低端网络设备(远程监控、Internet网络通话等)、数据安全加密设备、以太网集线器、服务器类应用、销售点终端打印机甚至家用路由器等方面得到广泛应用[4][5]。

1.2.2 ColdFire系列微处理器的开发工具及评估板

Freescale推荐的ColdFire开发工具为Metrowerks公司的CodeWarrior,它是专门面向Freescale所有MCU与DSP嵌入式应用开发的软件工具。这类商业的嵌入式开发软件,提供Windows平台上的开发方式,有相当完善的功能,但是这些软件一般价格昂贵,而且界面和帮助文档都是英文,购买和技术支持也不方便,不适合国内用户使用。

相对于商用软件的高昂价格,使用开源的、免费的GCC工具链进行嵌入式开发也是不错的选择。GCC(GNU C Compiler)是GNU推出的在Linux或UNIX环境下运行的功能强大、性能优越的多平台交叉编译器,主要用于对C语言,包括C、C++、Object C等的交叉编译。GCC交叉编译器几乎可以支持所有的32位CPU,也支持像Atmel的AVR单片机,Freescale MC68HC11/12这样的8位、16位MCU[6]。由于GCC是Linux下的编译器,使用GCC一般要求用户装有Linux操作系统。GCC沿用了Linux的命令行方式,且由于其功能强大,命令参数选项特别多,对于初学者来说,要花费相当多的时间来学习如何使用。采用这种开发方式,显然没有那些专门面向某种CPU的商用软件那样方便,特别是所有的操作都是基于命令行的,没有Windows平台下集成开发环境的那种简单、易操作性。

要进行某种CPU的开发,除了有相应的软件开发工具,一般还需要有一块针对该CPU的硬件评估板。使用评估板,可以让用户在进行项目分析初期就可以完成测试,开发,评估,软件升级,产品功能演示等一系列功能,使用户不必制作PCB板就可以熟悉该芯片的指令系统,编程框架,实际性能等,以缩短用户的研发周期。

基于ColdFire的评估系统的设计与实现

第一章 概述 基于ColdFire的评估系统的设计与实现

Freescale对于ColdFire系列的每种型号都提供相应的评估板,其功能完善,外围接口丰富,而且还带有硬件调试工具(如BDM调试头),但价格昂贵,基本在300~900美元之间。而国内主要的嵌入式产品提供商如深圳英蓓特、复旦金海博、上海存思等主要针对ARM市场,提供ARM的开发板产品。目前,只有作为Freescale半导体全球设计联盟成员之一的华恒科技推出了ColdFire的评估板,但其品种较少(只有针对MCF5213/MCF5249的),而且开发资料不够全面,价格也相对较高。

对于国内的开发者来说,国外的软硬件价格昂贵,购买、技术支持不方便;国内的嵌入式产品提供商提供的评估板种类少,可选择性差,而且开发工具均使用Linux环境下的GCC,入门门槛较高。这在一定程度上限制了ColdFire系列CPU在国内的推广与应用,同时也导致开发板价格相对较高、学习资料缺乏等问题。

1.3 设计思路

本课题着眼于ColdFire系列CPU在国内的推广与应用,将构建一套基于ColdFire的评估系统,这套系统具有操作简单,价格低廉,技术资料全面,可扩展性强等特点。整个评估系统由软件开发环境,硬件开发工具,硬件评估板以及一些示例程序组成。

软件开发环境是一套在Windows平台的IDE(集成开发环境),它以工程的方式组织源文件,方便用户编辑。IDE的编译器调用GCC,和Linux下在命令行中使用GCC不同,IDE提供了图形化的使用方式,用户只需要点击鼠标就可以完成编译选项配置、Makefile生成、后台调用GCC编译等工作,并将编译的信息以友好的界面呈现给用户。同时,IDE还提供代码写入、执行、固化等功能。

硬件开发工具主要是指编程、调试工具。代码生成后,要通过某种方式下载到目标板上才能执行。ColdFire系列CPU内部没有任何的监控程序,因此要完成代码的下载,必须要有相应的硬件开发工具。ColdFire系列一般带有BDM(背景调试模式)调试模块,为此,本课题将制作针对ColdFire系列的BDM调试头。

有了软硬件开发工具,还要有这些工具的应用对象——硬件评估板。ColdFire系列目前已推出50多种具体型号的芯片,本课题将从中选取一款CPU制作一套硬件评估板。硬件评估板一般要具有一些常用的对外接口,丰富的外围设备以及引出一些CPU引脚以便以后扩展。最后,编写一些实验程序,来测试软硬件开发工具及评估板硬件各个模块。

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第一章 概述

虽然本课题中以ColdFire的一款芯片为例设计了一块硬件评估板,但所有的软硬件开发工具却是通用的。BDM调试头提供了Freescale的BDM标准接口;编译模块可以通过传递芯片型号,实现对不同芯片的编译优化;写入模块可以根据CPU类型及Flash型号进行程序的下载、固化。整个评估系统为用户进行ColdFire的开发提供了方便、简单的开发模式。

1.4 课题意义

嵌入式系统在我国已逐渐形成产业,其在生产研发、高校教学等方面得到了大力推广。研究基于ColdFire的评估系统具有如下现实意义:

① 为广大嵌入式爱好者提供一套良好的学习平台。目前国内外嵌入式开发人才稀缺。一方面,是因为这一领域的门槛较高,不仅要懂较底层软件,而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、无线传感网络等),掌握这些新技术的人很少。嵌入式人才稀少,根本原因可能是进行嵌入式开发需要相应的开发板和软硬件开发工具,大多数人无条件接触这一领域。本评估系统的推出,正好可以满足这一需求。

② 为广大嵌入式产品研发人员提供一套廉价实用的工具。目前比较流行的32位微处理器主要是Freescale的ColdFire和ARM。ColdFire系列处理器在工业控制中占有绝对地位;而ARM处理器是当今最流行的嵌入式处理器内核,它在家电和通信行业中应用十分广泛。目前市场上针对ARM的开发工具特别多,而ColdFire的却很少。ColdFire不仅具有32位微处理器的高性能,而且还具有8位微控制器的简单、易用等特性,正被越来越多的人所使用。

③ 为研发类似的嵌入式产品提供不可多得的借鉴和经验。本课题详细介绍了整个系统的开发流程及技术细节。文中给出了在Windows平台上执行GCC的方法,交叉工具的构建,Makefile的书写技巧以及连接器的使用都适合开发其他CPU架构的集成开发环境。硬件评估板的设计、测试方法也可在设计其他电路时借鉴。

基于ColdFire的评估系统的设计与实现

第一章 概述 基于ColdFire的评估系统的设计与实现

1.5 本文工作和论文结构

1.5.1 本文工作

本文的主要工作安排如下:

(1) 制作硬件评估板

① 硬件模块划分

② 芯片选型

③ 了解和确定各硬件模块的外围电路

④ 硬件评估板原理图设计

⑤ 绘制PCB,联系厂家制作

⑥ 元件采购

⑦ 焊接、测试、完成调试

(2) 制作硬件开发工具

① 分析ColdFire处理器中BDM调试模块的原理

② 设计并制作BDM调试头

③ 编写BDM驱动程序,实现对目标CPU操作的常用命令

(3) 软件设计与调试

① SdIDE集成开发环境的总体设计

② SdIDE集成开发环境通用部分实现

③ 准备ColdFire的交叉开发工具

④ 了解连接器的工作原理,编写芯片初始化代码和连接脚本文件

⑤ 完成SdIDE对ColdFire的支持,并编写用于代码写入的外部程序

⑥ SdIDE集成开发环境的编程实例

⑦ 移植μCLinux到评估板(板级移植)

⑧ 总结整个开发过程

1.5.2 论文结构

本文第一章介绍了基于ColdFire的评估系统的课题背景、意义以及设计思路;

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第一章 概述

第二章详述了SDEVB5271的硬件设计和现实,介绍了评估板采用的各种芯片的主要特性及电路图,最后还给出了硬件测试流程及测试心得;

第三章首先分析了ColdFire微处理器中BDM调试模块的工作原理,然后阐述了BDM调试头的硬件设计以及驱动程序的编写;

第四章是软件的详细实现,包括交叉开发工具的使用方法以及程序的下载;

第五章给出了在SDEVB5271的应用实例,包括裸机程序的编写以及μCLinux的移植;

最后对全文进行了总结与展望。

基于ColdFire的评估系统的设计与实现

第二章 评估板硬件设计 基于ColdFire的评估系统的设计与实现

第二章 评估板硬件设计

SDEVB5271硬件评估板采用了MCF5271高性能微处理器,包括64K的内部SRAM、16M SDRAM、2M Flash、2个串口、1个以太网口等,可以运行μC/OS、μCLinux等嵌入式操作系统。本章讲述了SDEVB5271设计的详细过程,包括芯片选型原则,各模块使用的芯片介绍,硬件评估板与各模块的电路连接。最后给出了硬件测试方法以及测试体会。

2.1 硬件选型

2.1.1 CPU的选取

一般来说,CPU是一个嵌入式系统的核心。一切外围电路的设计都是围绕CPU的特性来考虑的。因此,选择一个合适的处理器是一件相当重要的事情。选择处理器时,除了技术方面的因素,非技术原因也占了很大成分,其主要原因见表2-1[3]。

表2-1 选择处理器需要考虑的几个问题 序号

1 影响因素 价格 中,十几美元的CPU算是比较昂贵的

仔细评估CPU的性能能否满足系统的处理需求(满负荷运行时),最好使用评估板评

2 性能 估一下实际的处理能力。有的CPU内部有MAC单元,运算密集时应优先选用这

样的CPU

3

4

5

6

7

8

9

10

11 封装 功耗 指令集 EMC 总线形式 MMU 生命周期 工具支持 市场定位 目前,QFP、BGA的封装较多。BGA焊接要求严格,必须使用机器焊接,可测试性差 对于电池供电的产品,需要非常重视CPU的功耗问题 RISC的主频高,但代码密度和运行效率稍低。CISC有时也是不错的选择 应优先选用对EMC(电磁兼容)作过优化设计的CPU 最好能与大多数外围器件实现无缝连接 MMU内存管理单元对于有些操作系统是必需的 选用一种处理器之前,要对它的Roadmap有很清楚的了解。尽量选用生命周期较长的产品 包括编译、调试环境、操作系统支持等 了解芯片的定位,低端还是高端,消费电子还是工业用 原因 在产量和成本约束相当严格的场合,价格是非常重要的因素。在一般的嵌入式系统

本课题的设计目的是设计一套基于ColdFire的评估系统,因此只能从ColdFire系列微处理器中选取一款合适的CPU。由于通用低端外设的联接扩展和网络市场空间的飞速发展,需要高性能、低价位的解决方案。Freescale推出的MCF527x 系列微

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第二章 评估板硬件设计 处理器就是针对这种需求而设计的,其综合性能较以前的产品有了大幅度提高,而功耗及价格却更低,为用户提供了更多的选择。第二代ColdFire V2内核的工作性能也上了一个新台阶,可在166 MHz的时钟频率下提供高达159 MIPS 的处理能力(Dhrystone 2.1)[7]。考虑到本实验室的实际情况,决定选用该系列中的MCF5271,它有QFP和BGA两种封装,可以选择较易焊接的QFP的封装形式,而且其样片可以直接从Freescale网站申请。

2.1.2 外围器件的选取

外围器件决定着CPU能否完成其相应的功能扩展,外围器件的选择原则如下: ① 能否完成系统的要求。在选择时,一定要仔细阅读芯片的参考手册以及一些应用实例,充分了解器件的性能及应用场合。

② 接口电压与形式。外围器件的电压最好能够从电路板上直接获取,避免为此新增多余的电压转换芯片,最好能选用与系统总线无缝接口的芯片。

③ 尽量选用标准产品。选用引脚、封装、功能兼容的产品会降低采购的风险。 根据以上原则,本硬件评估板根据功能需求,选择了以下芯片,如表2-2所示。

表2-2 各模块芯片选型 设备类型

存储 模块名 Flash

SDRAM

以太网

输入/输出 串口

A/D转换 备注 AMD29LV160DB,2Mbyte HY57V641620HG,8Mbyte*2 DM9161,物理层芯片 MAX3232,2路串行口 TLC2543,11路输入10位精度

2.2 芯片简介

2.2.1 MCF5271微处理器

(1) MCF5271微处理器主要性能

MCF5271微处理器是Freescale半导体公司于2004年推出的一款高性能、低成本的32位微处理器。该芯片采用ColdeFire V2内核,内部集成了10/100Mbps快速以太网控制模块FEC;具有硬件DES/3DES/AES加密功能;队列式串行外围接口QSPI、I2C接口、增强乘法加法运算单元eMAC;具有64KB的片内SRAM,8KB的可配置

基于ColdFire的评估系统的设计与实现

第二章 评估板硬件设计 基于ColdFire的评估系统的设计与实现 cache;32位的SDRAM控制器[8]。其引脚图和内部功能模块框分别参见附录A.1和附录A.2。

(2) 快速以太网控制器FEC简介

MCF5271集成的快速以太网控制器(FEC)支持10Mbps和100Mbps的以太网和符合IEEE802.3协议的网络,该模块具有如下特性:

① 支持三种不同的以太网标准物理接口:10Mbps IEEE 802.3 MII接口、100Mbps IEEE 802.3 MII接口和10Mbps 7线接口(工业标准);

② IEEE 802.3 全双工流量控制;

③ 在50MHz的系统时钟下即可支持全双工操作(200Mbps吞吐量),在25MHz的系统时钟下即可支持半双工操作(100Mbps吞吐量);

④ 如果检测到冲突则无需经过处理器总线,直接从发送FIFO缓冲区进行数据重传;

⑤ 自动刷新接收FIFO缓冲区以去除冲突碎片,同时自动进行地址识别,无需利用处理器总线。

图2-1 FEC模块图 FEC模块的内部结构如图2-1所示。图中描述符控制器是一个RISC结构的控制器,该控制器具有以下功能:

① 初始化DMA传输,对DMA通道进行高层控制;

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第二章 评估板硬件设计

② 解释缓冲块描述符;

③ 对接收到的以太帧进行地址识别;

④ 生成用于发送冲突补偿定时器的随机数。

图中的MII模块功能为对外部的网络物理层设备进行控制和读取状态,与标准含义的MII接口不同。其中EMDC为数据管理时钟,EMDIO为串行输入输出引脚,所有的物理设备控制信号和状态信号都从该引脚输入输出。标准MII接口中的数据发送和接收引脚位于图中的发送和接收模块。

DMA模块提供了多个数据传输通道,通过这些通道,FEC模块中的数据发送/接收、描述符发送/接收就可以独立运行,互不干扰。需要注意的是这里的DMA是指快速以太网控制模块的DMA引擎,该DMA引擎只负责对快速以太网的数据进行传输,与通用含义的DMA不相同。

MCF5271微处理器中的FEC模块使用了缓冲块描述符的概念。以太网最大的数据帧长度可以达到1518个字节,而且可能短时间内收到多个以太帧,如果仅仅使用FEC模块中的存储器来存储显然是不够的,所以FEC模块的以太帧数据必须暂存在FEC外部的存储器中,这其中可能存在的一种情况是一帧的数据存放在多个缓冲块中。为了对这种以太帧进行处理,必须有一种方法将这些缓冲块联系起来,缓冲块描述符(Buffer Descriptors)就是起这个作用的。缓冲区描述符包含起始地址(32位对齐的指针)、数据长度和状态/控制信息,DMA引擎根据缓冲区描述符发送数据。

(3) 队列式串行外设接口QSPI简介及内部逻辑功能

串行外设接口SPI是Freescale公司提出的同步串行外设接口,它允许CPU与各种外设接口器件以串行方式进行通信和交换信息[9]。

MCF5271芯片提供队列式串行外围接口(Queued Serial Peripheral Interface),称其为队列式SPI,是因为该模块可以提供可编程传输队列,允许同时有16个用户排队等候数据传输,而且在传输时不需要CPU参与。该模块具有如下特性:

① 无需用户干预,可编程队列最多支持16个传输;

② 支持从8位到16位的传输长度;

③ 4个外设片选信号,最多可以控制15个外围设备;

④ 在主频75MHz的情况下,可以设置的波特率从147.1Kbps到18.75Mbps; ⑤ 可编程控制传输前后的延时时间;

基于ColdFire的评估系统的设计与实现

第二章 评估板硬件设计 基于ColdFire的评估系统的设计与实现

⑥ 可编程QSPI时钟相位和极性;

⑦ 对于连续传输,提供环绕模式。

MCF5271使用80个字节的静态RAM执行队列操作,这部分RAM是QSPI和CPU可以共同访问的静态RAM空间,它分为以下3部分,16个命令控制字节(简称命令RAM),16个数据发送字(简称发送RAM)和16个数据接收字(简称接收RAM)。这80个字节被组织成16个队列项,每个队列项包含1个指令控制字节、2个数据发送字节和2个数据接收字节。

需要进行数据通信时,用户首先要进行QSPI初始化操作:将命令队列写入命令RAM,将待发送的数据写入发送RAM,然后允许QSPI数据传输。QSPI执行队列中的命令并通过QSPI中断寄存器QIR的SPIF标志位指示命令已经执行完毕。当QSPI数据传输结束后,QDLYR寄存器中的SPE位自动清零。此时可以读取接收RAM中收到的数据。

2.2.2 存储器件

(1) Flash

由于成本和制造工艺等原因,很多32位微处理器无法集成足够大的Flash存储器模块,甚至没有Flash模块,这就大大限制了32位微处理器优越的控制和计算功能的发挥。解决这个瓶颈的有效而简单的方法就是对32位微处理器进行Flash存储器扩展。

由于32位微处理器的应用场合较为复杂,所以一般都要架设嵌入式操作系统。Flash存储器的扩展主要目的是对代码存储空间的扩充。通常需要满足以下要求[1]:

① 应用程序可以不需要调入RAM而直接在Flash上运行;

② 可以对 Byte/Word 单位存储单元进行直接操作;

③ 扩展方便,所需额外硬件,软件少;

④ 数据存储可靠性高。

在选择Flash存储芯片时,主要考虑容量和类型两个因素。对于32位微处理器,常用的嵌入式操作系统核心小于1MB,16M位的Flash芯片能完全满足嵌入式操作系统及应用程序的需要。Flash存储器主要有NOR型和NANR型,它们的性能比较如表2-3所示。

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第二章 评估板硬件设计

表2-3 NOR型和NAND型Flash性能比较 项目

程序运行方式

容量

同容量价格

编程单位

接口

使用复杂性 小 高 Byte SRAM接口,足够的地址引脚 有地址线,可以像其他存储器一样使用,

直接,简单 NOR型 直接在Flash上运行 大 低 Block(512Byte) 复杂的I/O口串行存取数据 须先写入驱动程序,写入信息技巧性极强,须有虚拟映射 NAND型 需MTD支持,在RAM中运行

由表2-3中NOR型和NAND型Flash的性能比较可知,NOR型Flash存储器主要用来存储代码,如系统代码空间的扩展。NAND型Flash则适合于大量数据存储,如MP3文件管理等[10]。

本设计采用16M位的NOR型Flash存储器扩展方案。硬件板采用AMD公司生产的AM29LV160DB,它的容量达2Mbyte。AM29LV160DB有如下特性[11]:

- 3.3V单一供电,编程、擦除电压只需要3V;

- 0.23微米芯片制造技术;

- 8个8Kbyte的可引导块、127个32Kbyte的普通块;

- 10万次可重复擦写;

- 125摄氏度下数据仍可保存20年;

- CFI兼容(Common flash Memory Interface)。

(2) SDRAM

与Flash存储器相比较,SDRAM不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性。SDRAM在系统中主要用作程序的运行空间、数据及堆栈区。具有操作系统的系统在启动时,CPU首先读取启动代码,在完成系统初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度。同时系统及用户堆栈、运行数据也都在SDRAM中。

评估板采用了Hynix公司的HY57V641620HG[12],该芯片存储空间达8Mbyte,非常适用于需要高速大容量存储器的应用。它有如下一些特性:

- JEDC标准3.3V单一电源供电;

- 内部分为4块,每块容量1,048,576*16位(16M位);

- 自动刷新和自刷新,刷新速度达4096周期/64ms;

基于ColdFire的评估系统的设计与实现

第二章 评估板硬件设计 基于ColdFire的评估系统的设计与实现

- 总线最高时钟频率可达160MHz。

2.2.3 输入输出类器件

(1) 以太网

MCF5271内部具有FEC模块,提供标准的MII(Media Independent Interface)接口,因此只需要外接一片物理层芯片便可实现以太网通信。评估板选用了Davicom公司的DM9161作为物理层芯片,该器件有如下特点[13]:

- 工作电压3.3V;

- 完全兼容IEEE 802.3u;

- 集成10Base-T和100Base-TX收发器;

- 支持MII或RMII(Reduced MII)接口;

- 支持全双工和半双工;

- 支持连接状态LED。

(2) A/D转换

在嵌入式控制中,通过A/D采样可以感知外部环境的状态等信息,由于MCF5271内部没有集成A/D模块,故评估板采用一片专用的A/D转换芯片来实现类似的功能。评估板采用了Texas Instrument公司的TLC2543模数转换芯片,特性如下[14]:

- 2.7-5.5V工作电压;

- 片内时钟源;

- SPI接口;

- 11路A/D转换,12位精度。

(3) 串行

评估板采用了Maxim公司生产的MAX3232作为串行电路的驱动芯片,该芯片支持两路串行收发。

2.3 硬件评估板设计

SDEVB5271采用2层PCB板的设计,CPU频率100MHz,总线频率50MHz,接口和外围设备丰富,实物如图2-2所示。

基于ColdFire的评估系统的设计与实现

基于ColdFire的评估系统的设计与实现 第二章 评估板硬件设计

与扩展板接口 A/D转换

串行口1 以太网 串行口2 MCF5271

电源开关 直流电源 SDRAM Flash BDM接口 复位按钮

图2-2 评估板硬件板 本节将给出硬件评估板的各外围设备的原理框图,并对各外围设备的接口进行说明,在附录B中给出了硬件评估板的所有原理图。

2.3.1 电源

SDEVB5271硬件评估板采用单一的5V直流电源直接供电。使用了两个电压转换芯片(1085,1117)可以分别提供3.3V和1.5V的直流电源。5V电源可供AD转换芯片(TLC2543)使用,同时和扩展板的5V相连,可以给扩展板供电或者从扩展板取电;

3.3V为存储芯片及网络芯片提供工作电源;1.5V是ColdFire内核使用的工作电压。

电源电路的好坏,直接决定着整个系统能否稳定的工作。通过电源接适当的滤波电容,可以提高整个电路的抗干扰性。为了防止不慎的短路对评估板上的芯片造成损坏,在5V电源的入口处加了一个保险丝,可以在电路电流过大时,自动切断电源,从而保护整个电路板。为了将电源电路和其他的模块隔离,特将3.3V、1.5V与其他模块相接的地方加一个跳线,这样当电源电路不稳定时,可以断开电源电路与其他电

本文来源:https://www.bwwdw.com/article/okbe.html

Top