源于中国市场而生——MAPS-KS22套件评测
扫描二维码
随时随地手机看文章
全球领先的嵌入式应用安全连接技术领导者恩智浦公司于去年针对中国市场推出了一款微控制器(MCU)产品——KS22,同时推出了一款低成本以及具有良好扩展性的快速评估硬件平台——MAPS-KS22开发套件。从2015年底得知这款MAPS-KS22开发套件生产,到今天市场上能够获得,足足等了近半年时间,今天21ic测评栏目给大家带来了这款久违的开发板!
一、开箱
MAPS四色板系列是恩智浦携本地合作伙伴(万利公司)共同研发出全新的MCU开发平台,该开发平台是由MCU主板、通用外设板、专业应用板、桥接扩展板四部分组成,按电路板的底板颜色进行区分,不同系列的评估板只MCU主板不同,共用相同的外设板,具有低成本、扩展性强、易于复制等特点。
打开MAPS-KS22开发套件,可以看到三个独立包装的纸盒组成,整个包装白色底色,配以深蓝色,让人感觉非常简洁、专业。通过包装我们可以看出,MAPS四色板系列是针对恩智浦的Kinetis MCU而设计的开发套件,同时包装上还印有MAPS的图标和飞思卡尔公司Freescale的标志,可以出这是在飞思卡尔被恩智浦公司正式收购之前的产品,在包装的侧面还印有Manley的标志,说明此款开发板是恩智浦与我国万利公司共同开发的套件。
图1 MAPS-KS22开发套件包装
打开包装,可以看到这套MAPS-KS22开发套件分别是MCU主板、通用外设板和通信线组成,套件内并不包括专业应用板、桥接扩展板等产品。
图2 MAPS-KS22开发套件
首先来认识一下MAPS-KS22开发套件的MCU主板,整个电路板以橙色为底色,这与其它MCU主板的颜色一样,所有功能元件全部在电路板的正面,背面非常干净。整个MCU主板可分为三个部分:右半部分是主控MCU(MKS22FN256VLL12)的最小系统,同时为了用户方便使用,将所有的I/O全部扇出,可自行焊接排针;左半部分是板载的外设,包括一个2.8寸LCD显示器、ISO7816智能卡接口、CAN接口等,用户可单独使用MCU主板即可对MCU进行评估;最后是MCU主板用于扩展的两个PM接口,可与套件中其他通用外设板或桥接板(例如:MAPS-Dock,MAPS-Bridge,MAPS-Arduino)对接,提供更为丰富用户体验。
图3 MAPS-KS22 MCU主板正面
图4 MAPS-KS22 MCU主板背面
MCU主板的主要特点及配置
• 板载一颗LQFP-100封装的MKS22FN256VLL12 CPU,基于120 MHz的ARM Cortex-M4内核,具有256KB Flash,64KB RAM,支持低功耗I2C,可灵活配置模拟各类协议的FlexIO,以及强大的FlexCAN。
• 提供独立的电源配置跳线,可对VDD/VDDA/VBAT各路的功耗进行测量。
• 提供一个Micro-B型USB接口,可用于供电和USB功能测试。
• 一个CAN收发器及其接口。
• 一个SPI 总线接口的2.8寸彩色LCD液晶屏,分辨率320x240。
• 一个ISO7816 智能卡卡槽。
• 一个纽扣电池,可为VBAT供电。
• 一个只支持SWD协议的20脚2.54mm标准调试接口,可外接仿真调试器。
• 一个4脚UART扩展接口和一个5脚I2C扩展接口。
• 一个复位按钮(黑色)和唤醒(蓝色)按钮,以及显示复位状态的LED。
• 扇出所有MCU引脚,可方便用户使用。
• 提供MPM接口(2 x 32 DIN 41612),可与MAPS-Dock,MAPS-Arduino,MAPS-Bridge链接,实现更为复杂丰富的功能测试。
图5 MAPS-KS22 MCU主板布局1
图6 MAPS-KS22 MCU主板布局2
图7 MAPS-KS22 MCU主板布局3
接下来看一下通用外设板(MAPS-Dock),在MAPS系列评估板中,所有的MCU主板共用了相同的通用外设板,这也体现了MAPS系列开发套件的设计思想,可为有效降低用户的成本。整个通用外设板以绿色为底板颜色,电路板的正面布局非常紧凑,具备Audio、SD、USB、SPI Flash、EEPROM、LCD、CAN、PWM、IR、RS232、RS485等多个功能模块,空间利用率非常高,让人感觉再也放不下一个元件了!通过PM接口与MCU板连接,可通过USB调试器接口5V供电,或可经PM接口互连的MCU板取电。
图8 MAPS-KS22通用外设板正面
图9 MAPS-KS22通用外设板背面[!--empirenews.page--]
通用外设板(MAPS-Dock)的主要特点及配置:
• 板载飞思卡尔基于Cortex-M4内核K20微控制器实现的USB调试器,支持CMSIS-DAP协议,同时支持USB转UART功能。
• 一个Micro-SD卡插槽,一个8 Mbit SPI Nor Flash和一个2 Kbit EEPROM存储器。
• 一个USB全速接口,红外收发接口,两个UART接口,一个CAN接口。
• I2S音频编解码器,支持一路立体声耳机输出,两路Speaker输出,一路麦克风输入。
• 一个DAC/PWM Audio输出接口,两路单端或一路差分ADC输入。
• 一个支持SPI接口的128x64单色LCD屏。
• 四个物理按键,四个LED显示,一个五向按键,六个触摸按键。
图10 MAPS-KS22通用外设板布局1
图11 MAPS-KS22通用外设板布局2
图12 MAPS-KS22通用外设板布局3
图13 MAPS-KS22通用外设板布局4
MAPS-KS22开发板采用模块设计,MCU主板提供核心微控制器MKS22FN256VLL12和其主要特色外设的评估,提供独立的仿真调试接口和供电接口,因此可供用户单独使用,所有I/O引脚均扇出,可方便用户测试;与所有MAPS系列MCU主板复用的通用外设板(MAPS-Dock)板载仿真调试器和丰富的外设模块。
图14 MAPS-KS22开发套件结构
MAPS-KS22开发板套件的电源可单独由MCU主控板和通用外设板提供,电源可分为两个区域,分别是5V和3.3V以及其他模拟电源和外设电源构成。
图15 MAPS-KS22开发套件电源拓扑
另外MAPS-KS22套件MCU主板通过MPM接口和通用外设板的FPM接口直接对接,可使用户不需要插接一根线就可体验丰富的外设资源,但是通用外设板的元件并不是生硬的直接与FPM接口连接,而是通过跳线连接,这样可方便用户选择只是用某些外设,同时可利用插接线更改原有默认的接口,使用非常灵活、巧妙,这点设计非常值得称赞。
图16 MAPS-KS22开发套件连接
当然,这里也有一点点小的问题,就是当MCU主板和通用外设板插接到一起时,2块电路板并不是在一个平面上,而是中间低,两边高,电路板两边微微上翘,有些不平整,可能是在制作时的问题。
二、上电
MAPS-KS22开发套件在出厂时,自带了一个例程。拿到开发板,当然第一件事情是上电运行一下演示例程。
需要首先将MCU主板和通用外设板连在一起,然后将通用外设板上的串口UART1(CN7)和串口UART2(CN12)用套件附带的交叉串口线连接在一起,MCU主板的跳线全部采用默认配置,并将通用外设板的仿真调试器的USB接口连接电脑,为开发板供电,板载例程便开始运行。
图17 MAPS-KS22开发套件运行板载DEMO
在2.8寸的LCD屏幕上显示“MAPS-KS22F256 Testing…”和“MAPS-DOCK Testing…”的字样,可以看出开发板出厂所带的例程是MAPS-KS22套件的MCU主板和通用外设板硬件自检程序,用于检测系统硬件是否有问题。
下面来看一下都进行了哪些检测:
对于MAPS-KS22F256的MCU主板的检测主要有两项:MCU和LCDM的检测,如果MCU正常,在屏幕上显示 “Pass”字样,LCDM的检测,大家只需要看到显示屏显示了正常信息及说明2.8寸显示器正常。
图18 MAPS-KS22开发套件板载DEMO显示
对于通用外设板MAPS-DOCK的检测内容比较多,首先在通用外设板上显示飞思卡尔的图标,说明LCD128X64运行正常,然后是SPI Flash和I2C EEPROM的检测,应该是对存储器进行读写操作来判断硬件是否正常,还有DAC和ADC的检测,可以调整通用外设板右侧的两个可调电位器,查看AD转换是否正常,按下通用外设板上左下方的四个按键,可以在显示器上显示按键值,来判断按键是否正常,按下同游外设板右下角的五向按键,在显示器上显示你按下那个按键,最后是串口UART1和UART2的检测,通过交叉串口线实现两个串口通信来判断是否正常,显示器上显示 “Pass!”表示串口检测正常,如果你拔下串口线,显示器上就会显示“Fail!”表示通信错误。
图19交叉串口线拔掉后的现象[!--empirenews.page--]
图20 1.8寸显示
通过上面的MAPS-KS22自带硬件检测例程,可以查看整个开发板一切正常!
看了演示例程,有没有谁想研究一下板载例程代码呢?你会发现在恩智浦官网上是无法找到MAPS-KS22自带的硬件检测例程,我们说MAPS开发套件是恩智浦与国内万利公司共同开发的,其实这个例程是万利公司在生产MAPS-KS22时提供的检测程序,在万利的ftp上提供有源码下载,地址:ftp://222.186.63.138,用户名密码均为:guest。
图21MAPS-KS22板载自检DEMO源码下载
自检例程只提供了IAR环境,需要大家安装集成开发环境IAR,整个自检工程是一个很不错的学习工程,有些小遗憾是例程没有太多的注释,不过并不是很复杂!
图22板载DEMO源程序
三、主控
MAPS-KS22开发板套件的最大特点便是板载的这颗源于中国需求的通用微控制器MCU——MKS22FN256VLL12,该MCU定位于于车载信息娱乐系统、工业及消费类等应用领域。
图23 MAPS-KS22主控MCU
MKS22FN256VLL12隶属于全新的KS22系列MCU,基于ARM® Cortex®-M4内核,支持最高120MHz CPU主频,配备64KB大容量SRAM和高达256KB Flash,能够更好地支持一些复杂算法的应用(如车载语音识别、指纹识别、智能语音设备等);同时为了降低功耗,KS22系列MCU采用了Kinetis L系列的低功耗平台,具备良好的动态功耗和超低的静态功耗,并配置多种低功耗外设(包括LPUART,LPI2C等),以满足市场对高性能和低功耗应用的需求;另外KS22系列MCU具备丰富的通用外设接口(包括USB OTG,双CAN,双I2S,UART,SPI,I2C),以及特有的FlexIO模块,可以模拟多种外设接口(如UART,SPI,I2C,I2S等)。
图24 KS22系列MCU内部结构
KS22系列MCU的主要特点和优点可见官方提供的数据:
图25 KS22系列MCU特点
目前恩智浦公司为KS22系列MCU推出了LQFP-100、LQFP-64和QFN-48三种封装的十余种产品信号,最小封装是7mmx7mm的QFN48封装。KS22具有1.71V-3.6V供电的宽工作电压以及-40度到105度的宽工作温度,恩智浦保证供货周期至少为10年。
图26 KS22系列MCU种类
由于KS22系列MCU是针对中国市场设计的,恩智浦公司提供了提供全方位的本地化支持,包括丰富的中文技术文档(数据手册和参考手册)、本地化开发套件(MAPS-KS22)、全新的软件开发套件(SDK)和本地工程师技术支持。这些特点是非常难得的!
目前50章的英文参考手册以翻译30章的中文版,这是国内工程师不可多得的资料。
图27 KS22系列MCU中文参考手册1
图28 KS22系列MCU中文参考手册2[!--empirenews.page--]
四、开发
恩智浦公司为KS22系列MCU提供全方位的本地化支持,不仅包括丰富的中文技术文档(数据手册和参考手册)、和本地工程师技术支持,而且提供了全新的软件开发套件(SDK),MAPS-KS22开发套件是目前能够在恩智浦官网查到了唯一一款与国内第三方合作开发的本地化开发套件,支持所有的主流开发工具,比如ARM® MDK开发工具、IAR Embedded Workbench®、mbed开发平台、Atollic® TrueSTUDIO®、CodeWarrior等,此外恩智浦专为Kinetis MCU/单片机而开发的Kinetis Design Studio集成开发环境,引脚配置工具Pins Tool v1.0方便的实现图形化的引脚配置,完美支持KSDK V2.0。
1、开发准备
要进行MAPS-KS22开发,首先要将开发环境搭建好,这里我选择Kinetis Design Studio(KDSV3.0)集成开发环境,KINETIS-SDK(KSDK V2.0)集成开发套件。
(1)Kinetis Design Studio(KDSV3.0)集成开发环境
Kinetis Design Studio (KDS)是恩智浦公司专为Kinetis MCU开发的完全免费的集成开发环境,可提供强大的编辑、编译和调试功能。Kinetis Design Studio IDE基于包括Eclipse、GNU编译器套装(GCC)、GNU调试器(GDB)等开源软件,为设计人员提供了一种不限制代码大小的简单开发工具,此外,Processor Expert(PE)软件是一种图形化的配置工具,只需几次鼠标点击即可创建强大的应用。
图29 KDS软件结构
安装完成,可以看到KDS V3.0是基于Eclipse的集成开发环境。
图30 KDS软件界面
(2)KINETIS-SDK(KSDK V2.0)集成开发套件
Kinetis软件开发套件(SDK)是恩智浦公司开发的旨在简化和加速基于所有Kinetis MCU的软件库,它由强大的外设驱动、堆栈、中间件和示例应用组成,而且Kinetis SDK开发套件是完全免费的,包含所有硬件抽象和外设驱动软件的完整源代码。
图31 KSDK软件库结构
Kinetis SDK包含以C语言编写的以下运行时软件组件:
• ARM® CMSIS Core和DSP标准库,以及兼容CMSIS的器件标头文件
• 支持在所有Kinetis MCU间移植的开源硬件抽象层
• 用于集中处理资源的系统服务,包括时钟管理器、中断管理器、低功耗管理器和硬件定时器
• 开源高层外设驱动
• 一种操作系统抽象(OSA)层,用于调整应用,以配合实时操作系统(RTOS)或裸机(无RTOS)应用使用。
若要下载KSDK V2.0软件库,需要登录恩智浦官网。
按链接进入Kinetis Expert主页。
图32 Kinetis Expert主页
新版本的KSDK V2.0软件库与原先的版本不同,需要大家在官网针对具体的评估板或 MCU选择一项配置,然后使用 Kinetis Exper构建一个符合MAPS-KS22开发板的软件库。
图33配置MAPS-KS22开发套件的KSDK软件包
下载对应的MAPS-KS22的KSDK V2.0软件库,将其解压。
图34 KSDK V2软件库结构
KSDK V2.0版本的软件库的目录非常清晰,具体每个文件夹的作用可参看下表。
图35 KSDK V2软件库目录说明
特别是在\boards\mapsks22文件夹下面提供了丰富的MAPS-KS22的例程,可帮助大家快速建立基于MAPS-KS22的工程,了解KS22系列微控制器的使用。
图36 KSDK中包含丰富的例程
(3)Pins Tool引脚配置工具
由于Kinetis MCU的引脚有很多复用功能,为了方便用户对引脚进行配置,恩智浦提供了这个引脚配置工具——Pins Tool,使用它可以方便的配置引脚路由/多路复用、管理路由初始化的不同功能、配置引脚功能/电气属性和生成用于路由和功能/电气属性的代码等功能,该工具有在线网页版和本地安装版,它是一个图形化的配置工具,可使用保存好的配置文件或生成的C文件来共享配置(通过导入/导出或通过拷贝粘帖生成的源代码),属于Kinetis Expert系统配置工具的一部分,在线版的地址在与KSDK在同一页面。
图37在线Pins Tool工具界面
(4)板载调试器
在MAPS-KS22开发套件的MAPS-Dock扩展板上默认板载了CMSIS-DAP调试器。板载调试器程序运行在扩展板的一颗Kinetis K20芯片上,通过SWD(Serial Wire Debug)接口调试KS22,并通过USB接口连接到上位机。上位机可以通过各种支持CMSISDAP的集成开发环境(IDE)对目标设备进行调试。但是在很多情况下感觉CMSIS-DAP下载速度比较慢一些,恩智浦为大家提供了OpenSDA-JLink v2.0调试器来替代板载的CMSISDAP。OpenSDA-JLink调试器可以使得上位机将Dock板上的板载调试器视为JLink,基于JLink的工具都可以使用。
图38 MAPS-KS22开发套件快速上手包
解压后可得到OpenSDA-JLink v2.0固件。
图39 OpenSDA-JLink v2.0固件
升级固件时,首先要使仿真调试器进入CMSIS-DAP Bootloader模式,将连接到通用外设板Dock的USB连接线拔掉,按住MCU板上的K1 Reset按键,将USB线的一端插入Dock,一端插入PC,释放K1 Reset 按键,如果在计算机“我的电脑”中显示一个名为“BOOTLOADER”的可移动存储设备表面调试器已进入Bootloader模式。
图40板载调试器的Bootloader模式
然后在上述MAPS-KS22F256快速上手包中的JLink_OpenSDA_V2.bin拷贝到到BOOTLOADER的可移动驱动器内,最后重新插拔USB连接线,可在设备管理器中查看新的OpenSDA JLINK调试器已经运行起来。
图41板载调试器识别为OpenSDA JLINK[!--empirenews.page--]
2、开发
在MAPS-KS22开发套件上,有一个SPI接口的彩色LCD显示器,支持像素320x240,接下来通过在LCD显示器上显示如下图片,来测试一下MAPS-KS22的开发过程。
图42测试图片
首先打开KDS软件,新建一个KSDK V2.0的工程,在如下输入工程名称和基于的KSDK库。
图43新建KDS工程1
下一步,选择基于MAPS-KS22新建空的工程。
图44新建KDS工程1
完成后即可生成基于KDS软件的工程,可以看到整个工程目录非常清楚。
图45生成工程
接下来要对KS22微控制器的引脚进行配置,这里首先要知道整个测试中用到哪些引脚,这需要查看MAPS-KS22的原理图,找到显示器使用的接口,这里主要使用PD1、PD4、PD5和PD6四个引脚。
图46 LCD显示器引脚1
图47LCD显示器引脚2
之后在网页版的引脚配置工具中,选择需要的引脚。
图48引脚配置工具
在进行配置中,每操作一步,都会更改右侧pin_mux.c和pin_mux.h文件的内容。
图49完成引脚配置
当配置引脚完成后,将引脚配置工具的pin_mux.c和pin_mux.h文件内容拷贝到KDS工程的相应文件中。
图50复制到KDS文件中
由于MAPS-KS22开发板上的彩色LCD显示器采用ili9341驱动,接下来编写相应的驱动文件ili9341.c和ili9341.h文件。
图51 LCD显示器驱动
使用Image2Lcd工具将需要显示的图片转换成c代码。
图52图片转换成C代码
将生成的代码复制到KDS工程中。
图53图片文件复制到KDS工程
接下来编写主函数,将需要显示的图片显示出去。
图54编写主程序
最后编译成功后,点击Debug按钮下载调试程序。
图55下载调试
通过显示效果可以看出达到了预期的目标。
图56运行效果
通过以上使用KDS+KSDK+Pins Tool组合进行MAPS-KS22开发套件的开发,整体感觉非常快捷方便:其中KDS是恩智浦公司针对Kinetis系列MCU开发的集成开发工具,该工具完全免费而且没有代码限制,只是运行时占用计算机资源稍微多一些;KSDK是恩智浦针对Kinetis系列MCU开发完全开源的软件库,功能十分强健,可帮助用户快速使用目标微控制器,而且可以和KDS软件完美结合;Pins Tool提供了图形化的引脚配置工具,可帮助用户只需要点击鼠标便可对系统微控制器引脚功能进行配置。
最后有一点小遗憾就是目前KSDK V2软件库不支持恩智浦的Processor Expert软件,该软件是一套图形化的软件管理系统,可创建、配置、优化、迁移和发布各种软件组件,快速帮助用户开发系统,希望能够早日支持新版本的软件开发套件(KSDK)。[!--empirenews.page--]
五、总结
KS22系列单片微控制器是恩智浦针对中国市场需求设计的一款通用MCU,基于ARM® Cortex®-M4内核,支持最高120MHz CPU主频,配备64KB大容量SRAM和高达256KB Flash,为降低功耗,采用Kinetis L系列的低功耗平台,并配置多种低功耗外设(包括LPUART,LPI2C等),此外该系列微控制器具备丰富的通用外设接口(包括USB OTG,双CAN,双I2S,UART,SPI,I2C),以及特有的FlexIO模块。该MCU定位于车载信息娱乐系统、物联网、可穿戴设备、医疗/保健、智能能源、数据连接、工业及消费类等应用领域,并具有一定的竞争力。
MAPS-KS22是恩智浦为用户针对KS22系列微控制器提供的一个快速评估、低成本以及有良好扩展性的硬件平台,并且复用了现有的外设板(MAPS-Dock)及桥接板(MAPS-Arduino, MAPS-Bridge)来扩展其功能。支持主流的开发工具,提供功能强大的KINETIS-SDK(KSDK V2.0)集成开发套件,可方便用户快速进入开发。
本文系21ic原创,未经许可禁止转载