有关飞思卡尔单片机官网A/D采集模块的问题,求助

飞思卡尔单片机 DG128 AD寄存器说明_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
飞思卡尔单片机 DG128 AD寄存器说明
&&飞思卡尔单片机 DG128 AD寄存器说明
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢当前位置: >>
飞思卡尔单片机快速上手指南(1)
Freescale Semiconductor, Inc.用户指南Document Number: MCUGSUG Rev. 1.1, 01/2015飞思卡尔单片机快速上手指南作者:飞思卡尔半导体IMM FAE团队飞思卡尔半导体是全球领先的单片机供应商,其单片机产品包含多种内核,有数百个系列。为支 持用户使用这些产品,飞思卡尔提供了丰富的网站资源、文档及软硬件工具,另外,我们还有众 多的第三方合作伙伴及公共平台的支持。对于不熟悉飞思卡尔产品和网站的初学者来说,了解和 使用这些资源这无疑是一个令人望而生畏的浩瀚工程。本指南的目的,就是给初学者提供一个指 导,让他们不被这些海量信息淹没;用户根据本指南提供的操作步骤,应该能迅速找到所需的资 源,了解如何使用相关的工具。在本指南中,文档、软件和工具等资源的链接都提供在文中,用 户直接点击即可访问。 在本指南中,我们以飞思卡尔的新一代Kinetis单片机K22系列为例,介绍了如何获取各种资源, 如何对其进行软硬件设计和开发。实际上,Kinetis全系列单片机的使用差别都不大,不管针对那 一款单片机,用户都可以参照本指南来进行开发。当然,对于少量差别相对较大的产品,我们也 会继续推出相应的文档,供广大用户参考。 飞思卡尔的单片机广泛应用于工业、家电、消费类、汽车和通讯设备等各种市场应用,针对不同 的市场,飞思卡尔提供不同系列的单片机,其内核和外围模块的功能也各不相同。总的来说,飞 思卡尔的单片机可分为传统内核的单片机和新的ARM? Cortex?-M内核的单片机两大类。传统内 核主要包括8位的S08和RS08,16位的S12,16位及32位的DSC,32位的CodeFire(冷火);新的 ARM内核包括M4和M0+两大系列,称为Kinetis系列;M7内核的高性能MCU也即将推出。另外, 飞思卡尔也有M4+A5及M4+A7等异构双核的MCU。适应于全球单片机发展的潮流,飞思卡尔今 后的单片机将以Kinetis系列为主打产品。针对Kinetis系列,飞思卡尔提供了完备的开发环境和工 具的支持,包括全免费的开发环境KDS,免费的独立图形化代码生成工具Processor Expert,免费 的开放源代码操作系统MQX,免费开源的驱动代码库KSDK,免费的人机交互图形界面开发软件 PEG-Lite,以及各种硬件开发调试工具,编程工具,还有众多的第三方合作伙伴的支持。本指南 正是以Kinetis单片机中的K22子系列为例,介绍了一些基本的资源、工具的使用方法和开发芯片 的基本方法,对于广大用户来说,相信会是一个很好的参考和指导材料。对于其他非ARM?内核 的MCU 来说,获取支持、查找资料甚至软硬件开发工具的使用方法都大同小异,也可以参考本 指南进行操作。Confidentiality statement, as appropriate to document/part status. ___________________________________________________________________ 目录1 如何获取技术资料与支持 ................................................................................................................. 4 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.1 4.2 4.3 4.4 4.5 5 5.1 5.2 5.3 概述............................................................................................................................................. 4 如何查找芯片的技术资料......................................................................................................... 4 如何得到技术支持..................................................................................................................... 6 如何查找中文文档................................................................................................................... 12 概述........................................................................................................................................... 13 芯片选型................................................................................................................................... 13 申请免费样片与购买芯片....................................................................................................... 22 概述........................................................................................................................................... 28 集成开发环境(IDE) ............................................................................................................ 28 调试与烧写工具(Debugger&Programmer) ........................................................................ 40 量产烧录工具........................................................................................................................... 42 Bootloader(引导加载程序) ................................................................................................. 43 评估板(EVB)....................................................................................................................... 47 Kinetis 软件开发套件(Kinetis SDK, Kinetis Software Development Studio) .................. 52 如何获取参考代码和参考设计............................................................................................... 55 飞思卡尔单片机的生态系统(Ecosystem) ......................................................................... 61 概述........................................................................................................................................... 63 数据手册(Datasheet) ........................................................................................................... 63 参考手册(Reference Manual) ............................................................................................. 64 用户指南(User Guide) ........................................................................................................ 70 其它的技术文档....................................................................................................................... 71 概述........................................................................................................................................... 72 电源电路的设计....................................................................................................................... 73 时钟电路................................................................................................................................... 75如何选择产品、申请样片及购买少量芯片和开发工具 ............................................................... 13飞思卡尔单片机的开发环境、开发工具和生态系统 ................................................................... 28如何阅读飞思卡尔的技术文档 ....................................................................................................... 63飞思卡尔单片机硬件设计指南 ....................................................................................................... 72飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 2 Freescale Semiconductor, Inc. 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 6 6.1 6.2 6.3 6.4 6.5复位电路设计........................................................................................................................... 79 调试接口................................................................................................................................... 80 ADC 模拟输入 ......................................................................................................................... 81 USB 电路设计 .......................................................................................................................... 82 板级 EMC 性能改善与 PCB 布线的注意事项 ....................................................................... 83 Kinetis MCU 的封装类型和一些特殊引脚说明 .................................................................... 84 设计最小系统硬件电路的 Check List .................................................................................... 86 K22 最小系统原理图 ............................................................................................................... 88 概述........................................................................................................................................... 88 开发环境设置与开发工具使用............................................................................................... 88 基本外设模块编程举例......................................................................................................... 110 基于 Kinetis SDK 的开发 ...................................................................................................... 127 怎样移植客户的应用............................................................................................................. 131飞思卡尔单片机软件开发指南 ....................................................................................................... 88飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 3 1 如何获取技术资料与支持1.1 概述当用户使用飞思卡尔单片机芯片时, 如何获取芯片的数据手册(Datasheet)、参考手册(Reference Manual)和官方例程等资源呢?另外当用户遇到了技术问题该如何获得帮助和解答呢?这里以 Kinetis的K22系列芯片为例为大家介绍如何解决这些问题。1.2 如何查找芯片的技术资料1. 飞思卡尔芯片的资料全都可以在飞思卡尔的官网上免费下载。进入飞思卡尔官网 www.freescale.com, 如果您习惯使用中文, 可点击右上角的 “English” , 在 “Select language” 下选择“中文”,选择显示中文,如图 1所示,用户以后再进入该网站时,它就会自动默 认为中文显示。图 1 飞思卡尔网站中文语言选择2. 然后选择“产品”?“微控制器”?“Kinetis ARM ? MCU”,如图 2所示。图 2 选择Kinetis ARM MCU飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 4 Freescale Semiconductor, Inc. 3. 在Kinetis微控制器/单片机界面中,在左下方选择K22_120 (120 表示主频为120 M),如 图 3所示。点击此链接,可进入K22_120的产品页面。图 3 选择K22_120图 4 K22_120资源集合4. 如图 4所示,进入产品页面之后,可以看到这里包含很多信息和资源。例如在“文档”栏 目中能找到芯片的数据手册、参考手册、应用笔记、用户指南等;在“软件和工具”栏目 中能找到该芯片的仿真调试器、评估开发板、软件开发工具等的详细资料,包括原理图, 源代码等。所有这些资源都可以免费下载。 另外,用户也可以通过飞思卡尔官方网站的搜索功能进行查找。例如要查找与K22相关的资料, 可以先进入飞思卡尔官网www.freescale.com, 在右上角的搜索框中输入“K22”,然后点击搜索 图标或按回车键键开始搜索,如图 5所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 5 图 5 搜索关键字/芯片型号搜索得到的结果如图 6所示,在搜索结果中点击所需的条目,就可以跳转到相关资源的页面。图 6 搜索结果1.3 如何得到技术支持当您在使用飞思卡尔芯片的过程中遇到问题时,您可以通过以下的途径得到支持:TIC、在线论 坛和当地FAE直接支持。1.3.1 技术信息中心(TIC)通过TIC,您可以提交技术服务请求SR(支持使用中文),之后会有专业的技术支持工程师为您 在线解答。TIC工程师都是飞思卡尔的资深工程师,他们分布在飞思卡尔全球各地的机构中,专 门负责解答客户通过网络提交的问题。每个服务请求完成之后,飞思卡尔还会向客户发送满意度 调查表,用以不断提升技术服务的质量。 提交SR的具体操作步骤如下:飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 6 Freescale Semiconductor, Inc. 1. 进入飞思卡尔官网www.freescale.com,点击“培训与网络社区”?“支持资源”?“销售 与技术支持”,如图 7所示。进入“销售与支持”页面,点击“创建服务请求”,如图 8 所示。图 7 销售与技术支持图 8 创建服务请求2. 选择技术服务类别和主题,如图 9所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 7 图 9 技术类别与主题图 10 选择器件3. 选择器件,如图 10所示。 之所以要将问题进行分类,是为了将问题细化归类,从而有利于我们后台的TIC工程师进 行问题分拣,进而能找到对所提交问题最有经验的工程师来解答。 4. 录入问题描述,可以添加附件,如图 11所示。这里您既可以输入中文,也可以输入英文, 我们鼓励用户的描述能尽可能的详细和清楚,以便于TIC工程师了解问题的细节。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 8 Freescale Semiconductor, Inc. 图 11 问题描述5. 最后提交技术服务请求 (需要在飞思卡尔官网注册账号并登陆) 。 用户可以随时查看SR (服 务请求)的处理状态。正常情况下,我们的TIC工程师会在24小时内回复到用户注册的邮 箱。之后用户就可以直接通过回复邮件的方式直接跟这个工程师沟通,而不需要再去重新 提交问题,直到问题解决。如果是新的问题,则需要重新提交一次。在用户的问题解决完 之后,系统会自动发送一份满意度调查表到用户的邮箱,用户可以给本次服务作一个满意 度评估。飞思卡尔会根据用户的评估和意见来不断提高服务质量。1.3.2 在线论坛飞思卡尔在线技术论坛包括两大类: 1. 飞思卡尔的官方技术论坛,链接为:community.freescale.com/welcome。 在这里用户可以先搜索是否有人曾遇到过类似的问题,或者创建自己的问题。提问时可以 用中文,但最好用英文,这样就可以有全世界的技术人员进行解答,如图 12所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 9 图 12 Community搜索与提出问题2. 飞思卡尔第三方中文论坛,主要包括以下三个: ? ? ? 与非网: 21ic: www.freescaleic.org/bbs/ bbs.21ic.com/iclist-192-1.html阿莫论坛: www.amobbs.com/forum-9936-1.html用手机扫描下面的二维码可进入它们的移动网站:与非网21ic阿莫论坛无论是飞思卡尔自己的论坛还是第三方的论坛, 都有飞思卡尔的FAE和专门支持论坛的TIC工程师 支持和回复。这里以与非网为例,可以看到有很多飞思卡尔的工程师在这里作版主。图 13 第三方论坛的飞思卡尔工程师版主飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 10 Freescale Semiconductor, Inc. 1.3.3 通过FAE得到技术支持另外您还可以与代理商FAE或者飞思卡尔原厂FAE进行联系以获取相关的技术支持,建议您先与 相应的代理商FAE联系。 飞思卡尔目前有六家代理商,分别为Arrow(艾睿电子)、Avnet(安富利)、WT(文晔科技)、 Weikeng(威健国际)、Comtech(科通)和CEAC(中电器材)。 通过点击“样品与购买”?“从分销商处购买”,可查看代理商的相关信息,如图 14所示。图 14 进入代理商信息页面进入页面之后,选择国家和城市,就可以查看到相应的代理商联系方式,如图 15所示。图 15 代理商信息飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 11 1.4 如何查找中文文档飞思卡尔为中国用户提供了很多中文文档,而且更多的中文文档正在陆续发布。为方便用户,部 分使用频率比较高的中文文档被整理在一起。用户点击“培训与网络社区”,在“支持资源”栏 目下即可看到,如图 16所示。图 16 飞思卡尔网站的中文文档这个方法可能无法找到所有的中文文档。 对于某个具体的芯片来说, 如本指南中作为例子的K22, 在其产品主页的文档项中也可以找到相关的中文文档, 如图 17所示, 如果是中文文档, 会显示 “下 载中文版”的提示。图 17 产品页面里面的中文文档飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 12 Freescale Semiconductor, Inc. 2 如何选择产品、申请样片及购买少量芯片和开发工具2.1 概述本章将介绍如何确定飞思卡尔单片机的具体型号,如何申请样片、购买芯片及开发工具。本章仍 以Kinetis K22系列MCU为例进行说明。2.2 芯片选型飞思卡尔单片机的种类非常多,那么该如何获取合适的芯片呢?飞思卡尔提供了多种不同的方法 和工具来帮助用户找到合适的产品。根据对飞思卡尔产品的了解程度和查找目的的不同,用户可 以采用不同的方法进行选择。2.2.1 主页产品查找如果用户已经知道要查找的产品的基本信息,例如已经知道要找带USB功能的K22系列的MCU, 但是需要找到一个具体的芯片型号,最常用的方法是在主页进行查找,具体步骤如下: 1. 进入飞思卡尔官网www.freescale.com,选择“产品”?“微控制器”?“Kinetis ARM? MCU”,之后就会进入到Kinetis微控制器/单片机主页,如图 18所示。图 18 Kinetis微控制器/单片机主页2. 在主页的左下方Kinetis微控制器处,可以进入到每个系列MCU的各个子系列,在这里我们 选择K22_120,如图 19所示。这里120表示芯片的主频为120 MHz。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 13 图 19 选择K22_120子系列3. 进入K22_120主页之后,选择“购买/参数”,就会出现该系列所有芯片的参数信息,如封 装形式,管脚数量,内存大小等,可通过这些参数选择最合适的芯片,如图 20所示。图 20 K22_100购买/参数飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 14 Freescale Semiconductor, Inc. 2.2.2 辅助选型工具如果用户并不清楚需要查找的芯片基本信息,飞思卡尔还提供了一些辅助的选型工具来帮助用户 进行芯片的选型,分别介绍如下。 2.2.2.1 参数选型工具 如果用户知道需要什么内核的产品,则可以通过“参数选型工具”来辅助进行芯片选型。步骤如 下: 1. 进入飞思卡尔官网www.freescale.com ,点击产品中的“参数选型工具”。如图 21所示。图 21 参数选型工具2. 选择“微控制器”?“Kinetis MCU(基于Cortex-M内核)”,如图 22所示。图 22 选择Kinetis MCU3. 在器件类型中,我们选择“K2x USB MCU”,如图 23所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 15 图 23 选择器件类型4. 之后您可以进行多种操作,以辅助您选取到合适的芯片。比如您可以通过“显示/隐藏”参 数来调整页面的参数显示类型,如图 24所示。您还可以通过调整参数的范围来进行芯片的 选取,如图 25所示。图 24 显示/隐藏参数飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 16 Freescale Semiconductor, Inc. 图 25 调整参数范围2.2.2.2 选型神器Cross Check 您还可以通过选芯神器Cross Check(目前最新版本为V4.0)来帮助您快速找到合适的飞思卡尔芯 片,该软件具有以下功能: ? ? 根据输入的芯片型号或参数特性来显示飞思卡尔相关器件的预算价,并能够订购样品或购 买器件。 根据用户输入的竞争对手的芯片型号,给出4款最适合的飞思卡尔器件。该软件的下载地址为:www.freescale.com/zh-Hans/webapp/sps/site/overview.jsp?code=MOBILE打开该网页后,可以扫描右侧的二维码进行下载手机应用软件,如图 26所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 17 图 26 Cross Check软件下载您也可以使用网页版的工具,方法是先登陆飞思卡尔官方网站,在“我的账号”?“安全应用” 下,可以找到选型神器的应用,包括“部件预算价”和“竞争对手交叉参考”两个工具,如图 27 所示。图 28和图 29是两个工具的使用界面。图 27 部件预算价和竞争对手交叉参考飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 18 Freescale Semiconductor, Inc. 图 28 部件预算价工具图 29 竞争对手交叉参考工具注 对于“竞争对手交叉参考”,可以不用登陆就能使用,位置在“Kinetis 微控制器/单片机”主页,右侧的“辅助工具”?“交叉参考工具”以 及下方的“设计资源”?“支持和专业服务”?“MCU竞争对手交叉 参考”。如图 30所示。或者通过网址www.freescale.com/crosscheck进 入。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 19 图 30 竞争对手交叉参考工具2.2.2.3 解决方案顾问(Solution Advisor) 飞思卡尔解决方案顾问是一款基于Web的互动式应用向导和动态产品选型工具。如果用户完全不 知道要使用哪个芯片,则可以通过这个工具来查找合适的芯片。使用步骤如下: 1. 通过freescale.transim.com/solutionadvisor/LandingPage.aspx进入到“Solution Advisor”的主 页,如图 31所示:飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 20 Freescale Semiconductor, Inc. 图 31 “Solution Advisor”主页2. 选择“产品选择器”,如图 32所示。在这里按照提示的先后步骤您可以快速找到最合适的 处理器和工具。图 32 产品选择器3. 此工具还提供了电机控制向导,如图 33所示。它可以帮助您快速找到最合适的电机控制解 决方案。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 21 图 33 电机控制向导图 34 HMI向导4. 您还可以使用HMI向导,如图 34所示。它可以帮助您快速找到最合适的HMI解决方案。2.3 申请免费样片与购买芯片2.3.1 如何申请免费样片1. 在官网点击“样品与购买”?“ 样品与购买”,可以进行免费样片的申请,如图 35所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 22 Freescale Semiconductor, Inc. 图 35 免费样片申请2. 选择微控制器,以K22举例,经过检索可以找到K22的相关样品,或者您可以直接通过“微 控制器”?“Kinetis”?“K系列”?“K2x”?“K22”的方式找到该芯片,检索界面如 图 36所示。图 36 检索样品3. 检索到样片之后,点击黄色的“样品”按钮。如图 37所示。图 37 选择样品飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 23 注 我们的样品在一定数量内为免费样品,并且快递费用全免。关于样片 具体申请的个数及费用等相关信息,可以在“常见问题解答”中得到 相关解释。如图 38所示。图 38 常见问题解答2.3.2 如何购买少量芯片2.3.2.1 在飞思卡尔官网上购买 1. 在飞思卡尔官网上注册。如果您已经是会员,请登录网站。 2. 搜索器件。找到可订购器件的 “直接购买”按钮,该图标位于器件号右侧。如图 39所示。图 39 直接购买图标3. 点击“直接购买”按钮图标,将产品添加到您的购物车中。当您将产品添加到购物车后, 您可以更新您的购物车,继续购物或结帐。如图 40所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 24 Freescale Semiconductor, Inc. 图 40 购物车目前,我们支持支付宝、VISA和Master卡来进行网上直接在线支付。但是客户需要自己负 责清关。(手续并不麻烦,但是在海关要求的情况下需要客户自己处理。因为是小批量订 单,而且我们不知道客户的具体用途,所以需要客户自己清关。) 4. 您在下订单之后, 将会收到一封确认电子邮件。 您可以对已注册用户主页进行个性化定制, 随时跟踪订单情况。(到货时间视产品供货情况和配送方式而定。) 2.3.2.2 通过第三方供应商小批量芯片购买 除了飞思卡尔官网之外,客户还可以用过以下与飞思卡尔有官方合作的芯片在线销售公司来购买 小批量芯片,网址链接如下: ? ? ? ? ? Element14: www.element14.com/community/welcome E 络盟:cn.element14.com/ 周立功:www.zlgmcu.com/ DigiKey: www.digikey.com/ Mouser: eu.mouser.com/2.3.3 如何购买开发板当您需要购买开发板时,可以在飞思卡尔官网上进行购买,步骤如下: 1. 点击 MCU 界面的软件与工具, 在硬件开发工具中查看该系列 MCU 有哪些开发板。 这里还 以 K22 举例说明,如图 41 和图 42 所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 25 图 41 软件与工具图 42 硬件开发工具2. 点击相应的开发板之后,可以进入这个开发板的主页,这里以FRDM-K22F为例。可以看到 相关的各种资源,在“文档”栏目中能找到开发板的用户指南等;在“下载”栏目中能找 到开发板的原理图、Sample code、快速开发包等;选择“购买/规格”就可以进行购买。如 图 43所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 26 Freescale Semiconductor, Inc. 图 43 购买开发板另外从飞思卡尔的第三方合作伙伴,如uCDragon(优龙科技)、Manley(万利电子)、周立功和 lierda(利尔达―),同样可以购买到他们为飞思卡尔芯片定制的开发板。 他们的网址分别为: ? ? ? ? 优龙科技:www.ucdragon.cn 万利电子:www.manley.com.cn 周立功: www.zlgmcu.com 利尔达: www.lierda.com以优龙科技为例,首先进入官网www.ucdragon.cn,在“产品分类”中的“ARM开发板”中可以 找到飞思卡尔相关的开发板。如图 44所示。图 44 uCdragon freescale开发板飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 27 点击相应的开发板之后,可以获得该开发板的信息,通过页面左下方的联系方式,用户可以购买 到该开发板,如图 45所示。图 45 优龙的销售联系方式3 飞思卡尔单片机的开发环境、开发工具和生态系统3.1 概述在根据需求完成选型之后,用户应开始了解相关的开发环境、开发工具和生态系统,评估飞思卡 尔提供的工具和资源是否能够满足用户的开发需要。本章节将会介绍集成开发环境(IDE)、评 估板(EVM)、调试器(Debugger)、参考代码与设计(Sample code with documents & Existing Reference Design)以及生态系统(ecosystem)。希望本章节的内容能让用户快速准确地找到相关 资源来完成评估与开发。3.2 集成开发环境(IDE)集成开发环境就是针对可编程器件的集编辑、编译和调试功能于一体的开发调试工具。以Kinetis 系列MCU为例,一般通用的IDE均可支持,例如IAR、Keil等。另外飞思卡尔也有自己的IDE,分 别是KDS(Kinetis Development Studio)和CodeWarrior,本节将会主要介绍这两个工具及内嵌在 这两个IDE中的代码生成工具“处理器专家”(Processor Expert)。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 28 Freescale Semiconductor, Inc. 3.2.1 KDS (Kinetis Design Studio)KDS是飞思卡尔在2014年刚刚推出的专门用于支持Kinetis系列MCU的一款集成开发环境软件, 能够 提供代码编辑到调试的完整功能。KDS的特点如下: ? ? ? ? ? ? 支持目前Kinetis全系列的产品,并将不断更新对新产品的支持; 开源免费,且不受软件代码大小的限制(提醒:Keil、IAR等IDE均需要收费); 支持在32/64位的Windows 7/8的操作系统上运行; 使用Elipse界面风格,并且支持其他可下载的插件,如Processor Expert; 支持SEGGER J-Link/P&E USB Multilink Universal/CMSIS-DAP/OpenSDA等调试接口; 专门为Kinetis系列MCU开发,因此具有内核编译器小、响应速度快的优势。3.2.1.1 KDS软件下载与安装 目前KDS的最新版本是V2.0.0,以下描述均以该版本为例。软件与相关说明文档的下载路径及链 接如下: ? ? 软件:中文首页-&软件和工具-&软件中心-&IDE-调试、编译与构建工具-&微控制器-&Kinetis Design Studio-&下载 文档:中文首页-&软件和工具-&软件中心-&IDE-调试、编译与构建工具-&微控制器-&Kinetis Design Studio-&文档在Windows系统上安装KDS很简单,只需双击KDS-v2.0.0.exe,根据向导即可完成。另外,飞思卡 尔还提供了一个工具,叫做Kinetis软件开发套件(KSDK),它可以嵌入KDS中使用,为用户提 供丰富的外设驱动代码、协议栈代码、中间件代码和示例代码。关于KSDK的详细介绍,请参见 飞思卡尔单片机软件开发指南章节中的的内容。 在完成KDS的安装后,如果需要在KDS中嵌入KSDK,则还要下载和安装KSDK软件包,软件与文 档的下载路径如下: ? ? 软件:中文首页-&软件和工具-&软件中心-&中间件-&用于 Kinetis MCU 的软件开发套件-&下载 文档:中文首页-&软件和工具-&软件中心-&中间件-&用于 Kinetis MCU 的软件开发套件-&文档在下载安装KSDK后,要嵌入KDS中使用要完成以下步骤: 1. 启动KDS并在“Help”选项中选择“Intall New Software”,如图 46所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 29 图 46 在KDS中安装KSDK步骤一2. 在“Available Software”的窗口中,点击“Add”并找到KSDK安装目录中的.zip文件,点 击“OK”。图 47 在KDS中安装KSDK步骤二3. 找到文件位置后,在“the Processor Expert Software category”的项目下显示有“Eclipse Update for KSDK”;在勾选框内打勾,并点击“Next”并完成安装。图 48 在KDS中安装KSDK步骤三飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 30 Freescale Semiconductor, Inc. 另外,如果需要在 KDS 中使用 Processor Expert,还需要安装一个更新补丁。该补丁名为 Processor Expert for KDS 1.1-Updata 1,下载路径与 KSDK 相同,安装方法也与安装 KSDK 相同,可参照上述 步骤进行操作。 3.2.1.2 在KDS中新建工程与导入已有工程 在KDS中新建一个工程可参考以下步骤: 1. 在打开KDS后,选择新建工程“File”?“New”?“Kinetis Design Studio Project”。 2. 输入工程名,并在选择工程的存储位置后,点击“Next”。图 49 在KDS中新建工程步骤二图 50 在KDS中新建工程步骤三飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 31 3. 选择需要评估的芯片型,点击“Next”。 4. 在“Rapid Application Development”中,可以在新建工程中加入Process Expert和KSDK (Kinetis SDK)来简化底层驱动代码的编写工作,如图 51所示。Processor Expert已包含在 KDS中,但加入KSDK需要按照KDS软件下载与安装中的步骤手动安装。图 51 在KDS中新建工程步骤四图 52 在KDS中新建工程步骤五飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 32 Freescale Semiconductor, Inc. 5. 在完成上述配置后,点击“Finish”可以看到如图 52所示的“Project Explorer”界面。 6. 在工程中,可以通过右击项目名选择“New”?“Source File”来新建文件,也可以通过拖 拽功能将已有的源文件、头文件和目录等加入到工程中。 导入已有工程可参考以下步骤: 1. 在打开KDS后,选择“File”?“Import”。 2. 在“Import”页中,选择“Existing Projects into Workspace”并点击“Next”。 3. 在“Import Projects”页中,选择“Select root directory”并点击“Browse”来选择已有工程 的目标文件夹,选好后点击“OK”。图 53 在KDS中导入已有工程4. 在“Projects”框中会列举出目标文件夹中所有的工程,在需要导入的工程前的选项框内打 勾,并点击“Finish”,如图 53所示。 3.2.1.3 编译与调试 在开始编译程序之前,需要预先配置好工程的一些编译参数。右击要编译的Project并选择 “Properties”,在“Proporties for example”页中可以看到工程的所有参数,如图 54所示。点击展 开“C/C++Build”后在Settings中可以看到跟编译有关的参数,默认的参数一般无需修改,如需修 改,请参照说明文档。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 33 图 54 在KDS中配置编译参数在点击编译图标后,在相应的工程文件中看到编译生成的.elf文件,如图 55所示。图 55 编译后生成的可下载文件在开始下载之前,需要先配置相关调试参数,如选择调试接口等。右击需要调试的工程并选择 “Debug As”?“Debug Configurations”进入“Debug”配置页面,如图 56所示。也可以通过点 击调试按键右侧的向下箭头来进入“Debug”配置页面。在“Main”选项卡中,需保证“C/C++ Application”一栏中所选的.elf文件为需要调试的工程对应产生的编译文件。对于“Debugger”和 “Startup”两栏,根据调试器的不同,需要进行不同的配置,如图 56所示。这部分内容会在调试 与烧写工具(Debugger&Programmer)中作具体介绍。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 34 Freescale Semiconductor, Inc. 图 56 在KDS中调试配置图 57 在KDS中进行调试飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 35 配置完成后, 将目标板与PC机通过USB线和相关调试器连接起来, 依次点击 “Apply” 和 “Debug” 两个按键进入“Debug Perspective”,如图 57所示,可以程序已暂停在main()函数的初始处。这样 就可以实际调试程序了。表 1列出了工具条中各按键的主要作用。表 1 在KDS中调试按键功能按键 说明 按键 说明开始/继续执行单步返回函数暂停执行复位使能汇编单步执行断开仿真器单步执行结束调试单步进入函数开始下载与调试3.2.1.4 下载 在程序调试完成后,需要将调试好的程序下载到FLASH中。 点击下载按钮 ,进入“Flash Configurations”界面。配置可参考编译与调试中的要求相同。在 完成配置后,依次选择“Apply”和“Flash”,等待程序下载完成后,重新上电或手动复位后程 序开始运行。3.2.2 CodeWarrior集成开发环境CodeWarrior(简写为CW)原是Metroworks公司的产品,后来该公司被飞思卡尔收购,因此CW也 就成为了飞思卡尔自己的IDE系统, 目前已在业内使用多年。 从10.0版本以后, CW开始使用Eclipse 界面,能够支持不同架构的芯片,包括ColdFire、ColdFire+、DSC、Kinetis、PowerPC、Qorivva、 RS08、S08和S12Z等。 目前针对飞思卡尔单片机的CW的最新版本是CodeWarrior for Microcontrollers v10.6。另外根据客 户的用途和需求不同分为评估版、基础版、标准版和专业版,其中评估版是免费的,其支持代码 和数据大小也是有限制的。以Kinetis系列MCU为例,K系列的限制为128 KB,E/L/M/V系列的限 制为64 KB,如超出限制,则需要申请更高级的版本。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 36 Freescale Semiconductor, Inc. 另外需要提醒的是,对于v10.6以后的版本,CodeWarrior不会再支持其后发布的Kinetis系列的产 品,因此对于使用Kinetis新产品的用户,需要将软件平台逐步转移到其他IDE上,由于 CodeWarrior与KDS所建立的工程兼容,因此推荐使用KDS完成IDE平台的切换。 CodeWarrior软件的安装包和相关文档的下载路径为: ??软件:飞思卡尔中文首页-&软件和工具-&软件中心-&IDE-调试、编译与构建工具-&微控制器-&CodeWarrior 文档:飞思卡尔中文首页-&软件和工具-&软件中心-&IDE-调试、编译与构建工具-&微控制器-&CodeWarriorfor MCUs-&下载 for MCUs-&文档在支持的调试接口、新建工程与导入工程、调试与编译等方面,CodeWarrior与KDS基本相同,此 处就不作介绍,具体细节可以参照相关说明文档。3.2.3 处理器专家(Processor Expert)PE(Process Expert)是一款支持Kinetis、ColdFire等多种不同内核的MCU的快速应用开发软件。 该软件以图形化界面的方式快速配置MCU的内核及外设,生成相应的初始化及应用代码,省去手 动编写底层驱动代码的繁复工作,从而大大提高了软件工程师的工作效率。其生成的代码可以支 持KDS、CodeWarrior、IAR和Keil等多种IDE;另外,PE还以嵌入到基于Eclipse架构的IDE中,例 如在KDS和CodeWarrior,可以直接使用嵌入的PE功能,PE所产生的代码将自动放置在相关工程 下,然后在此基础上修改主程序就可以进行编译和调试。 KDS和CodeWarrior这两种IDE安装后都带有内置的PE,无需再额外安装。因此其安装过程就不再 介绍。 3.2.3.1 在KDS或CW10.6中新建基于PE的工程 下面以Kinetis K22为例,创建一个使用PE的KDS工程。使用KDS和CW的操作方法完全相同,下 面以KDS为例说明操作的具体步骤: 1. 首先,在KDS的选项栏中,点击“File”栏并选择“New”?“Bareboard Project”来创建 一个新的工程。 2. 出现工程向导界面如图 58,输入工程名并点击“Next”。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 37 图 58 工程设置向导3. 选择芯片类型,此处选择“Kinetis K Series”?“K2x Family”?“K22”。点击“Next”。 4. 在“Language and Build Tool Options”页中,选择C语言并 点击“Next”。 5. 在“Rapid Appliation Developmen”页中,在“Rapid Appliation Developmen”组中,选中 “Processor Expert”并点击“Finish”。至此一个包含PE功能的工程已建好,下面开始添加 元件来配置所需的外设。 6. 在“Component Library”中,找到相应组件(如FTM)并右击选择“Add to project”选项。 7. 点击打开添加的组件,其具体配置显示在“Component Inspector”中。 8. 根据所需要求进行以下配置初始化等参数。 9. 在配置完成后,点击图标 产生相应代码。10. 所产生的代码存放在“Generated_Code”文件夹中。可以看到FTM的相关初始化代码已自 动完成,点击功能键即可编译运行。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 38 Freescale Semiconductor, Inc. 图 59 在KDS中使用Processor Expert生成代码3.2.3.2 使用独立的PE创建工程 如果希望使用独立的Processor Expert生成驱动代码,并用于IAR、Keil等第三方开发工具中,则需 要安装独立的PE软件。当前最新版本是V10.4。另外,对于使用一些最新器件的开发,如K22F, KV31等,还需安装相应的补丁包。软件及补丁包的下载地址及链接如下: ? 软件:飞思卡尔中文首页-&软件和工具-&软件中心-&嵌入式组件-&Processor Expert 软件-&下载 如需在PE软件中使用KSDK, 也需要安装KSDK的插件, 步骤可参考KDS软件中安装KSDK的方法。 另外,对于生成适用于第三方软件 的工程,在新建工程时,需要勾选相应的编译器,以便生成对 应的链接器文件等,如图 60所示。图 60 在PE下建立适用于IAR开发环境的工程对于PE软件的具体使用方法,可参见飞思卡尔单片机软件开发指南中的介绍。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 39 3.3 调试与烧写工具(Debugger&Programmer)调试工具是开发工具链中的重要一环,方便耐用的开发工具对用户非常重要。接下来就介绍三种 常用的调试工具。3.3.1 OpenSDAOpenSDA是飞思卡尔自主开发的一种调试平台。在该平台中烧写不同的调试固件,可以使其兼容 不同的调试工具(如实现PEMicro Segger的JLink接口等)。下面介绍如何在FRDM-K22F板上使用 OpenSDA来实现Jlink调试。 1. 在Segger的官网上下载用于OpenSDA的固件库。下载地址为: www.segger.com/opensda.html。 2. 如果FRDM-K22板通过USB线连接到PC机上,请将其拔下。 3. 按住SW1键,然后用USB线连接PC机与板上的SDA USB接口。 4. 松开 SW1键, 可见板上一个LED灯在有规律地闪烁, 且在PC机上能看到一个移动存储设备, 其盘符为BOOTLOADER,表示目标板进入了bootloader模式,如图 61所示。图 61 OpenSDA处于BOOTLOADER模式下的显示5. 将1中所下载的压缩包Jlink_OpenSDA_V2_1.zip解压缩,得到Jlink_OpenSDA_V2_1.bin文 件。 6. 将上述.bin文件复制粘贴到BOOTLOADER设备中并拔下USB线。 7. 重新插上该USB线,在设备管理器中可见到如图 62所示的设备,表示固件烧写成功。图 62 固件下载成功后设备管理器中显示这样在IDE中就可以选择以Jlink调试下载程序了。另外OpenSDA还带有虚拟串口调试功能,串口 格式如下: 波特率:115200 bps;1位起始位;8位数据位;无校验位;1位停止位。 在KDS中关于使用OpenSDA设置如图 63所示。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 40 Freescale Semiconductor, Inc. 图 63 在KDS中使用Jlink调试配置3.3.2 JLinkJlink是SEGGER公司为支持仿真ARM 内核芯片推出的JTAG仿真器,支持Cortex M0/M1/M3/M4 等内核芯片,并与KDS、CodeWarrior、IAR 和keil等多种开发环境无缝连接,使用方便。 Jlink驱动的下载地址如下:www.segger.com/jlink-software.html,该驱动软件不仅提供了程序下载 功能,另外J-Flash软件还可以不需要IDE软件独立地擦除与烧写程序,以及实现查看芯片的ID、 RAM/FLASH大小、解锁芯片等功能。 图 64为Jlink的20脚的接口图。图 64 JLink的标准20芯接口3.3.3 MultilinkP&E推出的USB Multilink Universal (FX) 是一款高速一体化开发接口 (USB Multilink Universal FX 比USB Multilink Universal下载速度更快),它支持Kinetis、DSC等多种MCU。因此其包含多种调 试接口以匹配不同种类的MCU,图 65为支持Kinetis系列相关的三种调试接口。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 41 图 65 Multilink用于Kinetis系列调试的的3种接口在使用时,其连接顺序如下: 1. 确保目标板断电,并断开USB Multilink Universal与外部的连接。 2. 打开Multilink的塑料外壳,选择合适的接口将其与目标板的调试接口连接起来。 3. 将Multilink与PC机通过USB线相连。此时蓝灯亮。 4. 将目标板上电,此时黄灯亮。 在断开连接时,请先将目标板断电。使用时请遵守连接顺序,否则可能到损坏调试器。3.4 量产烧录工具量产烧录工具多用于大规模烧写可编程控制器的场合,具有离线烧写,速度快,操作简单方便等 优点。在大规模量产时,可用来节省人工成本并提高生产效率。下面给出四种烧录厂商及工具。 ? PEmicro PEmicro针对不同的型号有两种烧录工具,分别为cyclone pro和cyclone max。其中 cyclone max支持Kinetis全系列的MCU型号。除了作为烧录工具,cyclone max还可以作为在线调试 工具。如需购买,请登陆以下网址:www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=CYCLONEMAX_PE&cof=0&a m=0&tab=Buy_Parametric_Tab&fromSearch=false或者登陆 PEmicro 的官网:www.pemicro.com。 ? 上海祥佑(MICETEK) Web: www.micetek.com.cn TEL:021--8044飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 42 Freescale Semiconductor, Inc. ?南京西尔特(XELTEK) Web:www.xeltek-cn.com TEL:025-?深圳鹏远电通(Eagle Comm) Web:www.mcuisp.com TEL:如果在使用上述烧录工具遇到问题时,可与烧录器厂家或技术支持联系。3.5 Bootloader(引导加载程序)bootloader是一种面向用户应用程序的引导代码,可以在没有烧写器的情况下烧录用户程序,也可 以用于在线更新程序,因此得到了广泛的实际应用。bootloader主要包含两部分功能,即利用外设 接口(如UART/SPI/IIC/USB等)接收上位机发来的程序,以及将接收到的程序利用MCU内置的 FLASH编程模块进行烧写。这两部分功能与MCU内部的外设及FLASH的配置密切相关,因此, 飞思卡尔提供了三种实现bootloader的方式,用户可以直接使用或很方便地进行移植。在飞思卡尔 官方网站的主页搜索栏中输入“Kinetis bootloader”或“Kinetis引导加载程序”,可以搜索到相关的 资料,如图 66所示。图 66 搜索Kinetis bootloader飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 43 点击上图中的“Kinetis引导加载程序”,可以进入Kinetis bootloader的主页。在此页面的下方,可 以看到飞思卡尔支持三种不同的bootloader实现方式的芯片列表,如图 67所示。图 67 支持不同bootloader实现方式的Kinetis芯片列表3.5.1 预烧写在ROM中的bootloader图 68 预烧写在ROM中的bootloader飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 44 Freescale Semiconductor, Inc. 飞思卡尔某些型号的MCU中内置了专用的ROM来存放bootloader。对于某一型号的MCU是否带有 ROM型的bootloader,可以从相对应的参考手册(RM)中是否有Kinetis ROM bootloader这一章节 来确定,或者在数据手册(datasheet)的内存(memory)介绍中查找。另外,对于MCU复位后是 先执行ROM中的bootloader还是直接执行用户的应用程序,是由内置FLASH中FOPT寄存器(偏移 地址为0x40D)决定的。具体配置选择请参看参考手册(RM)中的Reset and Boot章节中的描述。 关于使用哪一种外设接口来接收外部程序,接口功能复用在哪些引脚上等问题,都可以在参考手 册(RM)的Kinetis ROM bootloader章节中找到具体的配置方法。 目前支持ROM型bootloader的Kinetis系列MCU包括KL03,KL27和KL43等。其中KL03的ROM bootloader包含SPI/UART/IIC三种接收方式,KL27和KL43还增加了USB的方式。3.5.2 预烧写在FLASH中一次性bootloader图 69 预烧写在FLASH中一次性的bootloader这种类型的bootloader在芯片出厂前预写在FLASH中,因此可以像ROM型bootloader一样直接使用。 但与ROM型不同的是,上电后bootloader会从FLASH搬移到RAM 中运行,再将FLASH整片擦除 并烧写用户程序,因此这种bootloader是一次性的。其优点是不需要片内ROM且方便量产烧写, 缺点是无法支持以后的程序更新。 目前支持预烧写在FLASH中一次性bootloader的Kinetis系列MCU包括K22、K24和KV3x等。 类似于 FLASH型的bootloader的使用细节,也可在对应参考手册(RM)中的Kinetis Flashloader章节中找 到。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 45 3.5.3 开放源码的bootloader图 70 提供开放源码可修改的bootloader这类bootloader的工作方式与前两种稍有不同, 也是最常用的一种。 这种方式将FLASH空间分为两 个部分, 一部分用于存储bootloader代码; 另一部分用于存储用户应用程序代码。 可以理解为FLASH 中存储了两套完整的程序,在上电初始化时,首先执行bootloader程序,待其执行结束后再跳转到 应用程序执行。由于应用代码的基址不再为0x0000,在切换过程中需要修改SCB_VTOR,来实现 中断向量表的重映射。对于这种bootloader的细节描述,可参照应用笔记的说明。 对于希望定制自己的bootloader的开发者而言,这种提供开放源码的方式似乎更为合适。在Kinetis Bootloader页面的“下载”栏中,可以下载到针对K64的bootloader软件包,目前可支持K63和K64两 种型号。 用户可以根据MCU型号的不同, 修改对应的外设驱动与FLASH烧写命令程序来实现移植。 Kinetis bootloader的下载地址如下:www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=KBOOT&fpsp=1&tab=Design_Tools_Tab另外,上述三种方式bootloader在使用时,外部输入命令的格式是一致的。在Kinetis bootloader的 下载包\bin\win文件夹中,有一个可执行文件blhost,可以在PC主机上使用命令行的方式完成上 位机传送应用代码的功能。 对于目前芯片内部还没有嵌入bootloader的MCU,如Kinetis E系列、K60/K64、8位/16位MCU,32 位ColdFire等,都可以在官网对应的下载页面内找到对应的通用型bootloader代码及说明文档。以 KE02为例,在其主页上可以找到应用笔记AN4775,如图 71所示。图 71 KE02_IIC_bootloader文档及代码飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 46 Freescale Semiconductor, Inc. 这部分通用型bootloader的上位机,可以参照文档AN2295(中文名为:开发人员的串行引导加载 程序)及软件AN2295SW。AN2295的文档中不仅介绍了通用型bootloader针对不同MCU的工作原 理及特性,还介绍了运用AN2295SW将bootloader的S19文件与主应用程序的S19文件合成一个S19 文件的方法:这种做法简化了首次下载的过程。图 72 通用型bootloader说明文档及上位机软件下载3.6 评估板(EVB)为了缩短用户评估所选芯片以及提供硬件设计参考,飞思卡尔提供了大量的评估板,大部分评估 板不仅包含了MCU的最小系统、 引出的通用IO口、 提供JTAG调试接口、 提供板载调试器OpenSDA, 还针对不同应用的芯片配置了USB口,触摸滑条和液晶显示等功能电路和接口。另外,这些外设 的驱动程序在官网上也都一应俱全。针对Kinetis系列的评估,评估板按结构分为两种,分别是 FRDM板和Tower板(塔式系统板)。一般来说FRDM板相对便宜,功能简单,而Tower板功能更 加丰富,如图 73所示。图 73 FRDM板与Tower板如何根据所选的MCU型号找到最适合用于评估的EVM板是评估的第一步。下面以K22为例,用两 种方法来找到所需的评估板。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 47 1. 首先找到介绍K22的官网主页,路径为“产品”?“Kinetis ARM@ MCU”?“K系列”? “K2x USB MCU” ? “K22_120MHz” 。在该主页的右栏中间可以看到 “推荐软件和工具” , 其中可以看到针对K22有FRDM-K22F和TWR-K22F120M两种评估板。图 74 搜索合适的评估板的方式一2. 在飞思卡尔的中文首页中,在“软件和工具”一栏中选择硬件开发工具。在该页面中,可 以找到针对Kinetis系列的评估,有塔式系统模块化开发平台和飞思卡尔Freedom开发平台。 这里选择塔式系统模块开发平台。在该页中,选择“展开MCU与处理器模块”?“Kinetis MCU模块”,如图 75所示。可见所有的Tower板都已列举出,在其中总可以找到跟您所选 用的型号相同或相近的评估板。图 75 搜索合适的评估板的方式二下面就以FRDM-K22F和TWRCK22F120M为例,介绍如何使用评估板。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 48 Freescale Semiconductor, Inc. 3.6.1 Freedom开发平台(FRDM板)飞思卡尔Freedom开发平台是一种小型化、低功率和高性价比的评估和开发系统,十分适合针对 Kinetis MCU系列器件进行快速应用原型设计和制作演示。关于FRDM-K22F的原理图/软件包和说 明文档的下载路径如下: ? ? 下载路径:中文首页-&产品-&KinetisARM@MCU-&K系列-&K2x USB MCU-&K22_120-&推荐软件与工具(FRDM-K22)-&下载文档路径:中文首页-&产品-&Kinetis ARM@MCU-&K系列-&K2x USB MCU-&K22_120-&推荐软件与工具(FRDM-K22)-&文档K22的FRDM板上基本硬件单元包括: ? 电源电路 板上K22F的输入5V电源可由直流插座J23或用SDA的USB口提供,输入的5V电源经过LDO 输出3.3V供给板上主MCU及其他外设。在测量MCU功耗时,可将R62和R63两电阻取下, 将J15线引出即可测量供给MCU的电流值以便测量功耗。 ? JTAG调试电路 板上引出了SWD的调试接口, 只需通过拿掉J10和J13的跳线来断开OpenSDA与主MCU的连 接即可。J11的封装为标准的10脚封装(脚间距0.05’)。 ? 晶振电路 MCU上电后初始化为使用内部时钟源,可以通过修改软件选择外部时钟源,所支持的外部 主晶振的频率范围为32-40 KHz以及3-32 MHz。该板上的晶振频率为8 MHz。另外板上的 32.768 KHz的晶振用于给RTC提供时钟源。 ? 复位电路 板上按键SW2给主芯片提供复位信号,同时SW2也与OpenSDA连接,长按SW2也可使 OpenSDA进入booloader模式。3.6.2 塔式系统模块化开发平台(Tower板)飞思卡尔塔式系统是一个为8位、16位和32位微控制器设计的模块化开发平台,基于该平台,研发 人员可通过开速原型技术进行样机研制。通过这个平台,用户可以采用搭积木的方式将各种功能 板组合在一起,实现用户需要的各种功能。它为设计者提供了基本的模块单元,以满足微控制器 进一步开发的需要。关于TWR-K22F120M的原理图/软件包和说明文档的下载路径如下:??下载路径:中文首页-&产品-&Kinetis ARM@MCU-&K系列-&K2x USB MCU-&K22_120-&推荐软件与工具(TWR-K22F12M)-&下载 文档路径:中文首页-&产品-&Kinetis ARM@MCU-&K系列-&K2x USB MCU-&K22_120-&推荐软件与工具(TWR-K22F12M)-&文档3.6.3 如何申请EVB关于如何得到相关的评估板,有两种方法。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 49 1. 直接联系代理商,向其索要评估板。代理商的具体联系方法请参见通过FAE得到技术支持 小节的介绍。 2. 在飞思卡尔网上订购,如图 76所示。图 76 获取评估板的方式3.6.4 按产品分类的开发板及相关资料列表及链接表 2列出了Kinetis系列带有开发板的主要芯片, 并给出了参考手册、 数据手册以及开发板的链接, 一些开发板还可以兼容其他系列的芯片。表 2 Kinetis系列主要芯片产品 主频 MHz 引脚/pin 参考手册 数据手册 开发板L series (超低功耗) KL02 48 32 24 KL05 KL15 KL25 48 48 48 48 35 80 KL25P80M48SF0RM KL26 48 36 KL26P121M48SF4RM KL25P80M48SF0 KL26P36M48SF5 KL05P48M48SF1RM KL15P35M48SF0RM KL02P32M48SF0RM KL02P32M48SF0 KL03P24M48SF0 KL05P48M48SF1 KL15P35M48SF0 FRDM-KL25Z TWR-KL25Z48M FRDM-KL26Z FRDM-KL02Z FRDM-KL03Z FRDM-KL05Z飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 50 Freescale Semiconductor, Inc. 产品主频 MHz引脚/pin参考手册数据手册开发板KL36 KL43 KL4648 48 48121 64 121KL36P121M48SF4RM KL43P64M48SF6RM KL46P121M48SF4RMKL36P121M48SF4 KL43P64M48SF6 KL46P121M48SF4 FRDM-KL43Z TWR-KL43Z48M FRDM-KL46Z TWR-KL46Z48MK series (性能和集成) K02 K10 K20 100 50 50 72 K21 K21 K22 K24 K30 K40 50 120 120 120 72 100 64 32 32 64 80 121 64 121 64 81 81 K53 K60 100 100 144 100 100 120 K64 K70 120 120 144 142 256 K02P64M100SFARM K10P32M50SF0RM K20P32M50SF0RM K20P64M72SF1RM K21P80M50SF4RM K21P121M120SF5RM K22P64M120SF5RM K24P121M120SF5RM K30P64M72SF1RM K40P81M100SF2V2RM K40P81M100SF2RM K53P144M100SF2V2RM K60P100M100SF2V2RM K60P100M100SF2RM K60P144M150SF3RM K64P144M120SF5RM K70P256M150SF3RM K02P64M100SFA K10P32M50SF0 K20P32M50SF0 K20P64M72SF1 K21P80M50SF4 K21P121M120SF5 K22P64M120SF5 K24P121M120SF5 K30P64M72SF1 K40P81M100SF2V2 K40P81M100SF2 K53P144M100SF2V2 K60P100M100SF2V2 K60P100M100SF2 K60P144M120SF3 K64P142M120SF5 K70P256M120SF3 TWR-K40D100M TWR-K40X256 TWR-K53N512 TWR-K60D100M TWR-K60N512 TWR-60F120M FRDM-K64F TWR-K64F120M TWR-K70F120M FRDM-K20D50M TWR-K20D50M TWR-K20D72M TWR-K21D50M TWR-K21F120M FRDM-K22F TWR-K22F120M TWR-K24F120ME Series (5v/稳定可靠) KE02 20 40 KE04 48 64 64 24 80 KE06 48 80 MKE02Z64M20SF0RM MKE02P64M40SF0RM MKE04P24M48SF0RM MKE04P80M48SF0RM MKE06P80M48SF0RM MKE02P64M20SF0 MKE02P64M40SF0 MKE04P24M48SF0 MKE04P80M48SF0 MKE06P80M48SF0 FRDM-KE06Z FRDM-KE02Z FRDM-KE02Z40M FRDM-KE04ZEA Series (汽车级) KEA8 48 24 KEA8RM S9KEA8P44M48SF0 TRK-KEA8飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 51 产品主频 MHz引脚/pin参考手册数据手册开发板KEA64 KEA12864 80KEA64RM KEA128RMS9KEA64P64M20SF0 S9KEA128P80M48SF0TRK-KEA64 TRK-KEA128V Series (电机控制和电源转换) KV10 KV30 KV31 50 100 100 120 M Series (计量) KM1x 50 100 MKMxxZxxCxx5RM MKMxxZxxACxx5RM KM3x 50 100 MKMxxZxxCxx5RM MKMxxZxxACxx5RM W Series (无线连接) KW0x(Sub-GHz射频MCU);KW2x(2.4 GHz射频MCU) KW0x KW2x 48 50 60 63 MKW01xxRM MKW2xDxxxRM MKW01Z128 MKW2xDxxx TWR-KW2x MKMxxZxxCxx5 MKMxxZxxACxx5 MKMxxZxxCxx5 MKMxxZxxACxx5 TWR-KM34Z50M 48 64 100 100 KV10P48M75RM KV30P64M100SFARM KV31P100M100SF9RM KV31P100M120SF7RM KV10P48M75 KV30P64M100SFA KV31P100M100SF9 KV31P100M120SF7 TWR-KV10Z32 TWR-KV10Z323.7 Kinetis 软件开发套件(Kinetis SDK, Kinetis Software Development Studio)Kinetis SDK是针对于Kinetis系列MCU所做的软件开发套件,又称为KSDK。它由强大的外设驱动 代码库,协议栈库与示例代码库等部分组成,能够简化和加快对于 Kinetis系列MCU的应用开发。 另外,Kinetis SDK是免费的工具,而且所有的硬件抽象和外设驱动软件均开放完整源代码。目前 最新版本为1.1.0,支持KL03、KL43、K02、K22、K24、K63、K64和KV3x这八种型号的MCU, 随后会不断更新完善,直至能覆盖支持所有的Kinetis系列MCU。对于SDK支持MCU的更新情况, 可登陆以下KSDK的下载页面了解。3.7.1 KSDK的下载与安装以下是Kinetis SDK的下载路径及相关文档路径。 ??下载路径:中文首页-&软件和工具-&软件中心-&软件开发套件-&用于Kinetis MCU的软件开发套件-&下载 文档路径:中文首页-&软件和工具-&软件中心-&软件开发套件-&用于Kinetis MCU的软件开发套件-&文档飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 52 Freescale Semiconductor, Inc. 下载安装包后,只需根据向导即可完成安装。安装结束后,在安装路径中可看到如下文件夹,这 些就是Kinetis SDK的主要内容,如图 77所示。图 77 KSDK的完整文件开始使用SDK之前,还需要完成以下两个步骤: 1. 在KDS中安装于SDK有关的eclipse插件。这一部分内容已在KDS软件下载与安装中有介绍, 这里不再重复。 2. 设置环境变量。右击“我的电脑”,依次点击“属性”?“高级系统设置”?“环境变量” 可以看到如何添加新的环境变量,并按图 78方式相应设置。图 78 设置环境变量飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 53 3.7.2 KSDK的结构介绍Kinetis SDK的结构如图 79所示,它包含了由底层头文件到硬件抽象和外设驱动软件、以及用户应 用的完整功能。由图中不同模块的放置位置,可以看出模块之间调用与被调用的关系。下面对各 个模块逐一进行介绍。图 79 KSDK的总体结构1. CMSIS Core Header Files/SOC Header, IP Extension Header Files/CMSIS DSP 这一层是芯片主要寄存器的地址定义,包含了与CMSIS兼容的内核定义头文件和DSP运算 库。此外,还有针对不同型号芯片的外设定义头文件。所在位置路径为:“安装目录”? “platform”?“CMSIS”。 2. Hardware Abstraction Layer 这一模块称为硬件抽象层,简称HAL,主要负责基础模式的设置,可以理解为对底层寄存 器的设置,省去了手工配置寄存器的麻烦。针对每个外设IP,都有相应的HAL文件与之对 应。同时每个HAL文件也只负责与该外设IP的配置。因此,HAL层具有一定底层驱动的抽 象意义, 但所完成的功能相对简单。 所在位置路径为: “安装目录” ? “platform” ? “drivers” 。 3. System Services 系统服务模块主要涉及一些常见的系统功能,包括中断管理、时钟管理、功耗管理和定时 器管理。这一模块常与HAL配合使用,提供给上层的OSA和Peripheral Drivers模块以完成更 多的功能。所在位置路径为:“安装目录”?“platform”?“system”。 4. Peripheral Drivers 这一模块称为外设驱动层, 简称PD。 PD所完成的功能比HAL更加丰富, 主要通过调用HAL 和System Svevices来实现,通常PD可能调用一个以上的HAL模块。它们两者是不同的,以 UART模块举例来说,UART的HAL模块只是完成了字节形式的收发功能,而其PD模块则飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 54 Freescale Semiconductor, Inc. 能支持基于中断的数据流传送,或将DMA与UART配合使用。目前PD模块支持了多数的典 型用法,但也没有列举完全,如UART的PD模块不支持智能卡等,这些应用会在以后更新 中陆续加入。所在位置路径为:“安装目录”?“platform”?“drivers”。 5. OSA OSA的全称为Operating System Abstraction,操作系统抽象层。OSA用于设置SDK在一些操 作系统上运行,对于不同的操作系统,在OSA层上进行了统一的封装,比如MQX和 FreeRTOS信号量的使用存在很大差异,但利用OSA提供的函数,可以完全屏蔽不同操作系 统的差异, 当然也支持裸板模式。 目前的版本包含了操作系统Kernel的大多数服务的抽象, 这些操作系统包括MQX、FreeRTOS、μC/OS-II、μC/OS-III。所在位置路径为:“安装目 录”?“platform”?“osa”。 6. Stacks and Middleware 这一层包含了一些软件堆栈与协议等,如USB协议栈、TCP/IP协议栈和文件系统等。 7. Board Configration 针对不同的EVM板, 都有相应的SDK例程与之对应。 这一模块用于配置不同EVM上的管脚 复用、外设时钟给定等来实现兼容。“安装目录”?“boards”。 另外,KSDK提供了许多完整例程,可以基于EVM板运行,帮助用户学习KSDK的结构与功能, 所在位置路径为:“安装目录”?“demos”。关于如何移植KSDK来完成用户应用的开发,请参 考飞思卡尔单片机软件开发指南的介绍。3.8 如何获取参考代码和参考设计在开发应用软件时,用户不仅可能需要针对底层单个外设的驱动,还需要比较复杂功能的软件实 现,甚至是一个产品或应用的整体方案。飞思卡尔有许多资源能够帮助用户在不同的开发状态下 顺利完成项目。3.8.1 例程代码(Sample Code)例程代码对于MCU软件开发上手十分重要。下面给出四种找到相关代码例程的方法。 ? Kinetis SDK(适合于已涵盖型号的MCU) 如上述介绍,KSDK是一种功能强大的软件开发套件,但目前还没有覆盖所有的型号。对 于已经涵盖的型号,除了通过前面介绍的路径直接找到外,也可从所涵盖型号的主页下的 “软件与工具”选项页中找到。 ? Sample Code Package(SC,适合于尚未被SDK包含的MCU) 对于目前还没有被SDK涵盖的MCU型号, 会由包含了针对某个型号的几乎所有模块驱动库 的例程代码来支持。相比较SDK而言,SC的结构简单,更易于上手,但功能较弱。另外其 一般被放置在对应型号的Tower板的主页中,以K64为例,路径如下:飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 55 下载路径:“K64主页”?“软件和工具”?“硬件开发工具-评估/开发板与系统”? “TWR-K64F120M”?“下载”?“软件开发工具”。 点击此处可进入下载链接。图 80 在对应MCU下的sample Code?IDE安装路径下的Sample Code(适合于安装CodeWarrior等IDE的用户) 对于安装了CodeWarriord的用户,在其安装目录下也能找到针对不同系列的许多Sample Code。对于Kinetis的K系列为例,其路径如下: “CodeWarrior的安装根目录” ? “MCU” ? “CodeWarrior_Examples” ? “Kinetis_Examples”图 81 CodeWarrior安装目录下的Sample Code?代码片段等 同样在某个型号MCU的主页中的软件开发工具中也有相应的实现某个具体功能的代码片 段、引导代码等可供参考。例如:图 82 代码片段飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 56 Freescale Semiconductor, Inc. 3.8.2 应用笔记对于比较复杂功能的软件实现,例如如何在Sigma-Delta ADC上实现FFT、如何使用DMA和GPIO 来模拟PWM等,有关实现的功能原理与实现步骤都会以应用笔记的形式记录下来,而且一部分应 用笔记还带有示例程序。 要准确快速地找到相关应用笔记, 首先应该在所选芯片的文档中查找, 对于带有例程的应用笔记, 也会有图标显示。图 83 搜索应用笔记的方式一另外,使用文档搜索功能,能够更全面地查找到已有的AN。下面以K22为例给出搜索所有相关AN 的步骤。 1. 点击首页上的搜索按键。图 84 搜索应用笔记的方式二步骤12. 点击左边栏中的“文档”。 3. 在“过滤方式”中,依次选择Kinetis_MCU、K2x_USB_MCU。文档类型中选择“应用说 明”。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 57 图 85 搜索应用笔记的方式二步骤2、33.8.3 参考设计参考设计通常是针对某个应用的完整解决方案,包括硬件设计、软件代码和原理说明等。 3.8.3.1 如何搜索参考设计 使用“软件和工具”中的高级搜索功能能够帮助您找到最合适的参考设计。下面介绍如何搜索与 Kinetis 的K系列相关的DRM(Design Reference Manual)。 1. 点击飞思卡尔官网主页上的 “软件和工具” 。在中间一栏的下方找到该功能“高级搜索”。 2. 在软件和工具一栏中选择“参考设计”。 3. 在支持的器件中递进式地选择“微控制器”?“Kinetis MCU”?“K系列”。 4. 在应用领域中选择 “工业”,如图 86所示。图 86 CodeWarrior安装目录下的Sample Code飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 58 Freescale Semiconductor, Inc. 在选择“提交”后,就能看到应用K系列MCU在工业领域中的参考设计。搜索到的结果如 图 87所示。图 87 参考设计的搜索结果注 由于飞思卡尔网站上的中文搜索功能不是很完善,建议用户使用英文 进行搜索。 3.8.3.2 按应用分类的参考设计列表 飞思卡尔在消费电子、工业、健康医疗、电机控制、智能能源等领域都具有较为完善的参考设计 和解决方案,包括相关的应用文档和开发环境。以下列出了主要的参考设计,点击对应参考设计 的链接,可以到飞思卡尔官网下载相关资料,了解更多信息。 1. 消费电子 ? 智能手机/平板电脑配件: o 智能手机附件 o 心电图仪(ECG)配件 o 充电器节能解决方案 o 无线充电飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 59 互联家庭: o 遥控器 o 空鼠 o 家庭能源管理系统 o 游戏耳机 ? 家用电器: o 烹饪电器 o 洗碗机 o 室内空调系统 ? 手机: o LCD 背光 o 电子书阅读器 ? 可穿戴设备 o 可穿戴无线医疗保健贴片 o 持续血糖监测仪 o 智能手表 2. 工业控制 ? 工厂自动化: o 输入输出控制(l/O 控制) o 人机接口(HMI) o 以太网转换器(桥) o 机器视觉与摄像头 o 工业机器人 ? 楼宇控制: o IP 摄像头 o 门禁与遥控 o 恒温器 o 大功率 LED ? 零售终端与售卖亭 o 固定式 ePOS 终端 o 便携式 ePOS 终端 3. 医疗保健 ? 持续气道正压通气(CPAP)呼吸机 ? 脉搏血氧测量 ? 活动与健康监测仪 ? 血压计 ? 胎心监测仪 4. 电机控制 ? 三相交流感应电机 ? 永磁同步电机?飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 60 Freescale Semiconductor, Inc. 单相交流感应电机 无刷直流电机(BLDC) 有刷直流电机 步进电机 通用电机 开关磁阻电机 5. 智能电源 ? 智能电网与智能仪表 o 智能计量设备连接 o 基于 IPv6 的智能城市连接 o 燃气表和水表 o 3 相电表 o 智能互联家电 ? 数字功率变换 o 商用太阳能逆变器 o 开关电源? ? ? ? ? ?3.9 飞思卡尔单片机的生态系统(Ecosystem)飞思卡尔积极与嵌入式企业合作,为方便MCU的开发与应用,建立了工具链、操作系统、中间件 等不同合作联盟,此外在汽车、通信、工业与消费电子等领域企业合作,为客户提供了强大完善 的生态体系。图 88 飞思卡尔单片机的生态系统飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 61 上述不同企业根据其擅长领域的不同, 为飞思卡尔提供了诸多支持, 有的提供了基于 CAN 和 TCP/IP 的协议栈,有的提供了适用于物联网的 WiFi 技术,还有的提供了车载信息娱乐系统的解决方案。 这些技术领先的企业对于飞思卡尔产品广泛深入的支持使得这个生态系统愈发丰富和强大,也使 得用户的产品开发更加得心应手。 用户可以在飞思卡尔网站上查询到相关合作伙伴和生态合作系统的信息,如图 89所示,点击“支 持服务与网络社区”?“支持资源”?“Freescale Connect合作伙伴计划”,就出现了搜索页面。图 89 搜索飞思卡尔和合作伙伴和生态系统飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 62 Freescale Semiconductor, Inc. 4 如何阅读飞思卡尔的技术文档4.1 概述在嵌入式系统的研发过程中,技术文档的阅读是一个基础。对一款芯片或者一个开发平台从入门 到熟悉再到深入的研究,都离不开对其相关文档的查阅。而如今不同的半导体厂家针对其自家的 芯片或者开发平台都有其自己一套风格的文档体系结构,这就给一些客户的平台移植或者新手的 学习入门都带来了一定程度的障碍和门槛。 本章节以飞思卡尔的Kinetis K22系列MCU为例,详细介绍了飞思卡尔公司提供的包括Datasheet、 Reference Manual、User Guide、Application Note以及一些其他相关技术文档的组织结构和阅读方 法,提高客户阅读文档的效率,从而进一步帮助缩短客户的研发周期。4.2 数据手册(Datasheet)与一些其他的半导体厂商不同,飞思卡尔提供的数据手册和参考手册是分开的,即两个独立的技 术文档,其中数据手册(Datasheet)可以查阅到芯片相关的电气参数和封装尺寸等信息,而参考 手册(Reference Manual)则主要介绍芯片具体的架构、技术细节和寄存器配置等内容,这种结构 有效地避免了单一文档的臃肿庞杂,有助于客户清晰地进行芯片选型和电气性能评估。本节主要 介绍数据手册(Datasheet)的结构和阅读方法,参考手册(Reference Manual)的内容将在下一小 节再做介绍。4.2.1 Datasheet的命名规则Datasheet,即芯片的数据手册,也跟芯片一样有其相应的命名规则,掌握了这种命名规则有助于 用户更方便的找到相应芯片的数据手册。飞思卡尔根据芯片的家族系列、最大管脚数和主频高低 对Datasheet进行了细分和命名,例如对型号为MK22FN512VLH12的芯片,与其对应的Datasheet 的最新文档为K22P121M120SF7, 其中K22为家族系列, P121为最大121管脚 (涵盖64 Pin、 100pin) , M120为120 M主频,SF为Sub-Family的缩写,数字7则为文档的版本号。 注 最新的版本号命名规则相较之前版本号做了些改变,加入了根据Flash 大小的分类,例如,K22FN系列512K Flash的版本号为SF7,而256K Flash的版本号为SF8。4.2.2 Datasheet的文档结构介绍Datasheet的内容包括Ratings、 General、 Peripheral Operating Requirements and Behaviors、 Dimensions、 Pinout和Part Identification等几个部分。其中: ? Ratings:即额定值参数,介绍了包括温湿度额定值和芯片的工作电压电流等额定值参数。 其中特别需要注意的是, 针对本文档芯片MK22FN512VLH12的最高焊接温度建议不要超过 260° C,客户在焊接操作和工艺设计的时候需要参考此部分内容。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 63 ?General:即芯片的通用参数,既介绍了芯片的电压电流工作范围、低功耗模式下的唤醒时 间和功耗参数、 工作模式下的功耗/频率比和EMC特性等非开关量参数, 也介绍了芯片内部 时钟范围和一些外部接口的时序约束等开关量参数。 Peripheral Operating Requirements and Behaviors:即芯片的外设模块的工作参数,是我们做 软硬件开发时最常用的部分,该部分给出了内核模块、时钟模块、内存接口、模拟外设模 块和通信接口的工作参数,其中常用到的包括MCG和Oscillator时钟模块的时钟约束范围 (用于倍频或者分频的配置和外部晶振的选择等)、Flash模块烧写的时间、 EzPort/FlexBus的时序要求、ADC模块的采样率和有效精度、Comparator模块的带宽、 DAC的有效精度和USB/SPI/I2C/UART/I2S等通信接口模块的工作参数,可以帮助客户最 大程度地有效利用芯片内部的功能模块,并做相应的功能实现的预评估和测试。 Dimensions:芯片的封装尺寸,客户在PCB layout的过程中如果需要手工画出该芯片PCB封 装的话,可以根据该部分提供的对应封装的文档序号到飞思卡尔官网搜索并下载,再参照 该文档给出的封装尺寸手工画出相应芯片的封装。以MK22FN512VLH12为例,其封装为 LQFP-64,Datasheet给出的对应封装的文档号为98ASS23234W。 Pinout:管脚分配表,K22F内部提供了丰富的外设资源,由于管脚数量的限制,其外部管 脚一般需要复用成多个外设功能,除了电源管脚、晶振管脚和个别的模拟输入管脚。该管 脚复用分配表可以结合Reference Manual中的管脚复用模块寄存器配置,根据客户的实际 功能需求做相应的复用功能配置。 Part Identification:芯片具体型号的命名规则,以MK22FN512VLH12为例,M表示量产型 号,K22表示Kinetis家族K22系列,F表示带浮点运算单元FPU,N表示只有Program Flash 没有FlexMemory,512表示Flash空间大小为512字节,V表示工业扩展级温度-40-105° C, LH表示芯片封装为LQFP-64,12则表示芯片的主频为120 MHz。????4.3 参考手册(Reference Manual)Reference Manual,即芯片的参考手册,详细介绍了芯片的内核结构、内存映射、时钟分配、电源 管理、安全加密、烧写调试、管脚复用以及所有外设模块等的技术细节,是客户开发软件必须了 解也是最常需要查阅的技术手册。但是动辄上千页的参考手册,包容了如此多的技术信息,要从 里面找到自己想要获取的相关资料对一个新手来说实属不易,因此有必要理清整个参考手册的结 构,有针对性的攫取相关信息,掌握阅读FSL参考手册的方法。本章节以系统时钟配置、管脚复 用和中断管理这三个难点也是重点的部分为例介绍飞思卡尔Reference Manual的阅读方法, 并在最 后以ADC外设模块章节为例,详细介绍参考手册的具体某一外设章节的组织结构和阅读方法。4.3.1 “万金油”之第三章 Chip Configuration在介绍上述三部分的配置之前,需要重点提一下飞思卡尔参考手册非常重要的一章,即第三章 Chip Configuration,这也是飞思卡尔文档的特色之一。几乎其所有的Reference Manual中,第三章 的地位一直很稳固;作为一个统领全篇的章节,其内容概述了芯片各个模块配置所需要参考的信 息和功能架构并给出了一些模块更详细的配置信息和注意事项,所以我们在进行软件编程对某个飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 64 Freescale Semiconductor, Inc. 外设进行配置的时候除了查看该外设相应的章节之外,第三章也是最常需要参考的一章。这里仍 然以MK22FN512VLH12为例列出第三章中我们常需要参考的一些模块的配置信息: 1. ARM Cortex-M内核的System Tick Timer的时钟源; 2. 系统中断优先级的配置和中断向量表的分配; 3. 低功耗异步唤醒管理模块(AWIC)的唤醒源; 4. 极低功耗唤醒单元(LLWU)的唤醒源; 5. DMA模块的多路请求信号源; 6. 系统内存Flash和SRAM空间分配和相关注意事项; 7. FlexBus信号线的复用管理; 8. ADC模块采样通道号及硬件触发信号的分配; 9. 内部模拟比较器输入通道的分配; 10. Flex Timer的通道数、硬件触发机制和输入捕捉等参数配置; 11. USB模块的工作机制; 12. SPI模块发送和接收FIFO深度; 13. UART模块的中断源分配; 14. GPIO高驱动能力管脚的分配。 以对ADC模块进行软件配置为例, 在ADC模块的章节中,ADCx_SC1n寄存器中ADCH位即定义了 ADC模块对模拟输入采样的通道号,而具体涉及到相应通道号的管脚映射分配则可以在第三章的 ADC Configuration中找到,如图 90所示。图 90 ADC通道分配图飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 65 4.3.2 系统时钟配置系统时钟的配置是入门一款芯片平台的敲门砖,不同于以前的8位机和16位机简单的时钟管理, ARM平台提供了非常强大而丰富的时钟管理机制, 满足其内部各个功能模块的正常运行和低功耗 机制的实现,但由此带来的是复杂且繁琐的时钟配置,这让很多新手望而却步只能用拿来主义的 方法去使用封装好的函数库,但是出现问题或者根据实际需要进行微调配置的时候就会常常束手 无策或者拆西墙补东墙,因此通过参考手册深入地了解ARM平台的时钟管理机制之后,用户才能 熟练地对系统的时钟进行配置。图 91 系统时钟总体框图通常的建议是以图文结合的形式去了解和熟悉系统的时钟管理机制。如图 91所示,将 MK22FN512VLH12参考手册中“第五章 Clock Distribution”的系统时钟总体框图拆分开来看,就可 以清晰的了解其平台的时钟管理机制主要是由MCG模块、SIM模块、System Oscillator模块,RTC 模块、IRC48M internal oscillator和PMC这六个子模块构成,各模块之间以不同的颜色区分。飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 66 Freescale Semiconductor, Inc. 图 92 MCG模块内部框图从总体到局部的角度来看,在对总体结构有了全局的认识之后,则可以通过查看图 91中对应的六 个子模块来深入了解其寄存器级的配置实现,以MCG子模块为例,可以在与其对应的章节里找到 该模块的结构框图如图 92所示,图中给出了与System Oscillator和SIM这两个子模块的接口,对 MCG内部的寄存器级的实现也给出了详细的比特位的配置, 而且最重要的是还清晰地描绘出了时 钟Clock从输入到输出的路径配置,帮助用户理清整个系统时钟管理的结构。4.3.3 管脚复用ARM平台丰富的外设资源与有限的管脚封装之间的矛盾造成了其管脚复用的必然性 (除了个别敏 感的管脚外),而不同于时钟管理部分的复杂,飞思卡尔对其芯片管脚复用的配置却非常简单。 对芯片管脚复用的配置需要结合Datasheet中“Pinout”章节的管脚分配图,如图 93,而所需要配 置的寄存器可以在 “Port Control and Interrupt” 这一章中找到, 即PORTx_PCRn (其中x表示A、 B、 C、D、E、F等管脚组,而n则表示0-31之间的管脚号),如图 94所示,通过这种PORT分类的方 式来映射芯片所有管脚。该寄存器中3位MUX即表示复用功能的选择,如图 95,最多8个复用的飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 67 选项一般就足够了。当然,对于配置成输入功能的引脚来说可以通过该寄存器使能上拉下拉电阻 功能避免悬空引入不可预料的干扰,还有相应的I/O外部中断也需要在此寄存器里做相应配置。图 93 Pinout管脚复用分配图图 94 PORTx_PCRn寄存器映射图 95 管脚复用配置位结合上述三图,以配置64 pin LQFP封装的芯片MK22FN512VLH12的PTE0和PTE1这两个管脚为UART 功能为例,它们默认的配置为ADC的模拟输入端口功能,通过图 93所示的管脚复用分配图找到 UART1的复用索引号为ALT3选项, 则只需要将PORTE_PCR0和PORTE_PCR1这两个寄存器中MUX位写 入3即可实现UART1_TX和UART1_RX端口的配置,操作代码如下:飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 68 Freescale Semiconductor, Inc. PORTE_PCR0 |= 3 && 8; PORTE_PCR1 |= 3 && 8;4.3.4 中断管理图 96 NVIC模块框图ARM平台的中断管理引入了NVIC即嵌套向量中断控制器这个模块,其负责接管芯片运行状态下 所有的中断源,是ARM内核不可分离的一部分,它与内核的逻辑紧密耦合完成相应的中断处理工 作。而且由于其为内核的一部分,因此关于NVIC相关寄存器的配置需要结合ARM公司的架构技 术文档,具体见内核架构参考手册(Architecture Reference Manual。不过,NVIC对中断的管理是 建立在中断向量表上的,这张表的数量是固定的,但是除了前16个内核中断之外,剩余的IRQ中 断不同的半导体厂家可以根据自己的需要来定制映射不同的外设中断,也就是说各大半导体厂家 定义的这个中断向量表可能不一致,飞思卡尔ARM平台的中断向量表映射可以在其Reference Manual的 “第三章 Chip Configuration” 中 “Core Modules的Nested Vectored Interrupt Controller (NVIC) Configuration”小节中找到,用户可以根据这张表的索引号来使能或者禁用相应的IRQ中断,或者 配置相应中断的优先级。4.3.5 外设模块章节的组织结构与阅读方法本小节以参考手册中ADC模块为例,详细介绍针对具体某个外设模块章节的组织结构和阅读方法, 方便用户编写相应外设的初始化函数和具体功能的实现函数。ADC章节主要由Introduction,ADC signal descriptions,Memory map and register definitions,Functional description,Initialization information和Application information等五个部分组成,其中: ? Introduction:主要介绍内部 ADC 模块的技术特性和功能指标,并给出该模块的内部功能 框图,该功能框图不但有助于理解该外设的内部组成和功能原理,而且给出了清晰的寄存 器相关的位域配置路径, 帮助用户理清相应的功能实现路线图, 从而方便用户软件的编写; ADC signal descriptions:该部分给出了 ADC 模块相关的管脚信号和输入输出属性等信息, 帮助用户实现相应外设模块功能管脚的定义; Memory map and register definitions:即 ADC 模块相关的寄存器地址映射和功能定义,这 部分是一个章节的核心内容,是我们编写外设模块底层驱动主要参考的部分,其详细介绍? ?飞思卡尔单片机快速上手指南, Rev. 1.1, 01/2015 Freescale Semiconductor, Inc. 69 了外设相关的所有寄存器的定义和相关寄存器位所代表的含义,结合 Introduction 部分的 功能框图,可以更有效地实现对外设模块的功能配置; ? Functional description:功能描述部分,也是我们常需要参考的部分,作为寄存器映射和定 义部分的补充和扩展,其详细描述了对外设进行相应功能配置时所需要考虑和注意的技术 细节。对 ADC 模块来说,该部分详细描述了 ADC 输入时钟源和电压参考源的选择,硬件 触发和具体通道号的选择以及转换控制和 ADC 低功耗相关的细节,一般来说在 Memory map and register definitions 部分没有详细描述的功能都可以在这部分找到相应的细节描述; Initialization information 和 Application information:这两部分分别给出了外设模块初始化相 关信息和应用相关的信息,即用户可以根据初始化信息部分给出的外设模块初始化的配置 流程编写相应的外设初始化底层驱动,而应用信息部分则主要给出了在实际应用中使用相 应外设模块时需要注意的问题。?4.4 用户指南(User Guide)为了方便新用户快速入门和熟悉飞思卡尔的产品、开发工具和开发环境,飞思卡尔针对其相关产 品提供了相应的用户指导手册,包括部分外设资源模块的编程指导手册和相应的开发板工具使用 手册。4.4.1 外设模

我要回帖

更多关于 飞思卡尔单片机书籍 的文章

 

随机推荐