教学与培训
     
    《飞思卡尔DSC开发实践》简介
    .
    发布人:周欣  发布时间:2016-11-23   动态浏览次数:514


    内容简介

    本书以飞思卡尔半导体公司(原摩托罗拉半导体部)的 16 位 DSC-MC56F8200 系列数字信号控制器中 MC56F8257 为蓝本阐述嵌入式系统的软件与硬件设计。全书共 13 章,其中第 1 章为概述,阐述嵌入式系统的知识体系以及基于硬件构件的嵌入式系统开发方法。第 2 章给出 MC56F8257 硬件最小系统,并简要介绍 DSP56800E 。第 3 章给出第一个样例程序及 CodeWarrior 工程组织,完成第一个 MC56F8257 工程的入门。第 4 章阐述串行通信接口 QSCI ,并给出第一个带中断的实例。 1-4 章完成了学习一个新 DSC 完整要素(知识点)的入门。 5-13 章分别给出 GPIO 的应用(键盘、 LED 及 LCD )、定时器(含 eFlexPWM )、 ADC 、 DAC 、高速模拟量比较模块 HSCMP 、 Flash 存储器在线编程、队列式串行外设接口 QSPI 、内部电路控制模块 I2C 、 CAN 总线、片内时钟合成与片上集成模块等。附录给出相关资料。

    本书提供了所有实例源程序、辅助资料、相关芯片资料及常用软件工具,可在出版社下载中心或苏州大学飞思卡尔嵌入式系统研发中心网站( sumcu.suda.edu.cn )下载。

    本书可供大学有关专业的高年级学生和研究生用作教材或参考读物,也可供嵌入式系统开发与研究人员用作参考和进修资料。


    前言

    嵌入式计算机系统简称为嵌入式系统,其概念最初源于传统测控系统对计算机的需求。随着以微处理器( MPU )为内核的微控制器( MCU )制造技术的不断进步,计算机领域在通用计算机系统与嵌入式计算机系统这两大分支分别得以发展。通用计算机已经在科学计算、事物管理、通信、日常生活等各个领域产生重要的影响。在后 PC 时代,嵌入式系统的广阔应用将是计算机发展的重要特征。一般来说,嵌入式系统的应用范围可以粗略分为两大类:一类是电子系统的智能化(如工业控制、现代农业、家用电器、汽车电子、测控系统、数据采集、传感网应用等);另一类是计算机应用的延伸(如手机、电子图书、通信、网络、计算机外围设备等)。不论如何分类,嵌入式系统的技术基础是不变的,即 要完成一个以 MCU 为核心的嵌入式系统应用产品设计,需要有硬件、软件及行业领域相关知识。但是,随着嵌入式系统中 软件规模日益增大,对嵌入式底层驱动软件的封装提出了更高的要求,可复用性与可移植性受到特别的关注,嵌入式软硬件构件化开发方法逐步被业界所重视。

    本书基本思想

    本书以嵌入式硬件构件与底层软件构件设计为主线,按照嵌入式软件工程的要求,以飞思卡尔半导体公司(原摩托罗拉半导体部)的 16 位 DSC-MC56F8200 系列中 MC56F8257 数字信号控制器为蓝本阐述嵌入式系统的软件与硬件设计。

    我从事单片机与嵌入式系统科研与教学工作是从 1991 年开始的。 1991-1999 年间,使用 MCS-51 系列 MCU 。 2000 年至现在,一直使用飞思卡尔( 2004 年以前是摩托若拉半导体部)的 MCU 。十多年来,陆续以飞思卡尔的 HC08/S08 ( 8 位)、 S12/S12X ( 16 位)、 ColdFire ( 32 位)、 M*Core ( 32 位,该内核转给中国后称为 C*Core )进行科研开发与教学工作,并以这些 MCU 为蓝本先后写了一些嵌入式应用技术入门方面的书,得到了大多数读者的肯定,深受感动。 2010-2011 年,苏州大学嵌入式团队的工作重点是进行 ARM Cortex-M4 核 Kinetis 系列 MCU ( K60 )、新型 Zigbee 芯片 MC1323x 、 DSC 芯片 MC56F825x 等方面的工作,这些工作成果也将会逐步与读者分享。在写书方面,多年来一直在探索如何能够使读者不误入歧途,如何能够快速入门,如何能够规范编程,如何能够由浅入深、循序渐进,如何能够使读者打好嵌入式硬件与软件基础。为此从以下几点把握写作:( 1 )把与芯片无关的通用知识分离出来,从涉及底层编程角度对基本原理进行简明扼要的阐述,分别放入相应章节的前面或网上光盘中。这些知识主要包括通用 I/O 、串行通信、键盘编码原理、 LED 扫描原理、 SPI 、 PWM 、 USB 、 I 2 C 、 CAN 、 A/D 、 D/A 、嵌入式以太网等,并在各书中基本保持不变。这一点是接受了飞思卡尔全球大学计划负责人 Andy Mastronardi 先生的建议,经过几年不断修改完善,可把通用部分斟酌得更好一些,也使得 8 位、 16 位、 32 位的书风格保持一致。新的芯片出来后,书的修改只要更新与芯片的相关部分。( 2 )硬件相关的部分,采用了硬件构件思想,制定了一些基本规范,对底层驱动进行构件化封装,提高了可复用性与可移植性,使程序结构更加清晰,初学者可以“先使用、后理解”。( 3 )不论是 8 位、 16 位、 32 位,也不论是哪个芯片,从编程角度,把与硬件相关的共性和与硬件无关的共性分别抽象出来,力求做到:硬件相关部分风格一致,硬件无关部分程序一致。这样便于融会贯通,不再纠结芯片位数、操作系统等问题。

    关于飞思卡尔微控制器

    飞思卡尔半导体是全球最大半导体公司之一,在微控制器领域长期居全球市场领先地位,以高可靠性获得业界的一致赞誉。该公司的微控制器产品系列齐全,由不同位数(如 8 位、 16 位、 32 位等)、不同封装形式(如 DIP 、 SOIC 、 QFP 、 LQFP 、 BGA 等)、不同温度范围( 0 ~ 70 ℃、 -40 ~ 85 ℃、 -40 ~ 105 ℃、 -40 ~ 125 ℃等)、所含模块不同等构成了庞大的产品系列。飞思卡尔的 S08 ( 8 位)、 S12/S12X ( 16 位)、 ColdFire ( 32 位)、 ARM Cortex ( 32 位)等系列 MCU , DSP56F800 系列、 DSP56F820 系列、 DSP56850 系列、 MC56F8300 系列、 MC56F8100 系列、 MC56F8000 系列、 MC56F8200 系列等 DSC ,广泛地应用于汽车电子、消费电子、工业控制、网络和无线市场等嵌入式系统各个领域。系列齐全的微控制器产品,为嵌入式系统各种应用提供了选择与 解决方案,使得用户可以各取所需。 不论是电子系统智能化还是计算机应用延伸的嵌入式应用设计, 无论需要怎样的系统功能和集成度,总能从 飞思卡尔 庞大产品系列中选取一款合适的芯片进行应用开发。这正是嵌入式系统产品设计者所期望的,也节省了嵌入式学习者的时间,可以加快开发进度,提高开发质量。

    本书特点

    2009 年,我撰写了《基于 32 位 ColdFire 构建嵌入式系统》一书, 2010 年又撰写了《嵌入式技术基础与实践(第 2 版)》。两书中系统阐述和应用了嵌入式构件开发思想,本书秉承这些工作,按照“通用知识—芯片编程结构概要—基本编程方法—底层驱动构件封装—应用方法与举例”的线条,逐步阐述电子系统智能化嵌入式应用的软件与硬件设计。

    ( 1 )把握通用知识与芯片相关知识之间的平衡。书中对于 嵌入式 “通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来,加深对通用知识的理解。

    ( 2 )把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。

    ( 3 )对底层驱动进行构件化封装。书中对每个模块均给出根据嵌入式软件工程基本原则并按照构件化封装要求编制底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间。

    ( 4 )设计合理的测试用例。书中所有源程序均经测试通过,并保留测试用例在本书的网上光盘中,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例,也为读者验证与理解带来方便。

    ( 5 )网上光盘提供了所有模块完整的底层驱动构件化封装程序、文档与测试用例,同时网上光盘中还包含芯片参考手册、写入器安装与使用方法、工具软件(如开发环境、程序写入与读出软件、串口调试工具等)、有关硬件原理图及其他技术资料。

    ( 6 )提供硬件评估版、写入调试器,并给出单独进行程序写入与读出的软件工具,方便读者进行实践与应用。

    本书主要内容

    本书以飞思卡尔半导体公司(原摩托罗拉半导体部)的 16 位 DSC-MC56F8200 系列数字信号控制器中 MC56F8257 为蓝本阐述嵌入式系统的软件与硬件设计。全书共 13 章,其中第 1 章为概述,阐述嵌入式系统的知识体系以及基于硬件构件的嵌入式系统开发方法。第 2 章给出 MC56F8257 硬件最小系统,并简要介绍 DSP56800E 。第 3 章给出第一个样例程序及 CodeWarrior 工程组织,完成第一个 MC56F8257 工程的入门。第 4 章阐述串行通信接口 QSCI ,并给出第一个带中断的实例。 1-4 章完成了学习一个新 DSC 完整要素(知识点)的入门。 5-13 章分别给出 GPIO 的应用(键盘、 LED 及 LCD )、定时器(含 eFlexPWM )、 ADC 、 DAC 、高速模拟量比较模块 HSCMP 、 Flash 存储器在线编程、队列式串行外设接口 QSPI 、内部电路控制模块 I2C 、 CAN 总线、片内时钟合成与片上集成模块等。附录给出相关资料。 本书提供网上光盘,光盘中提供了本书所有实例源程序、辅助资料、相关芯片资料及常用软件工具,可在出版社下载中心或苏州大学飞思卡尔嵌入式系统研发中心网站( sumcu.suda.edu.cn )下载。

    致谢

    本书除封面署名作者外,还有苏州大学计算机科学与技术学院嵌入式应用方向研究生姚丹丹、李翠霞、朱乐乐、冯上栋、石晶、苏勇等协助书稿整理及程序调试工作,他们卓有成效的工作,使本书更加实用。飞思卡尔半导体有限公司的 Andy Mastronardi 先生、马莉女士一直关心支持苏州大学飞思卡尔嵌入式系统研发中心的建设,为本书的撰写提供了硬件及软件资料,并提出了许多宝贵建议。飞思卡尔半导体有限公司的许多技术人员提供了技术支持。北京航空航天大学出版社的董立娟编辑为本书的出版付出了大量细致的工作。在此一并表示诚挚的谢意。

    鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵意见和建议,以便再版时改进。



    王宜怀

    2011 年 3 月于苏州大学