打印
[Kinetis]

【Kinetis分享】+个人的飞思卡尔Kinetis的奋斗之路

[复制链接]
楼主: 偏爱番茄酱
手机看帖
扫描二维码
随时随地手机跟帖
21
偏爱番茄酱|  楼主 | 2014-11-29 19:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
Kinetis MCU 使用注意事项
Kinetis 系列 MCU 是 FSL 的最新的 MCU,在设计上由于追求了超低电压工
作环境,严谨的保密机制以及合理的观察等理念,因此在使用 Kinetis 系列 MCU
进行产品设计时要注意以下几点.
1,Kinetis 的复位 PIN 在任何复位后都会输出一段时间的低电平,这个信号可以用
来确认 MCU 是否复位.因此,如果想对 MCU 外接复位芯片,须提供 Open
Drain 模式的复位信号.在使用某些廉价工具时,尽量尝试使用不连接 Reset Pin
的方式.
2,由于 Kinetis 系列 MCU 可以设置将 MCU 完全锁死的模式,所以必须保证调
试接口工作稳定,以防止执行意外误操作而将 MCU 完全锁死.因此,设计上
需要使仿真接口的连接线尽量短.在仿真接口的连接线必需比较长的情形下,在
通讯线上加上 1-5 pf 的下拉电容.如果条件允许的话,可以用低容值的探头测
试一下调试接口的通讯波型.
3,对于自制烧写器,在执行 Flash 操作的时,可以考虑增加命令回读的方法来确
保写数据无误.

使用特权

评论回复
22
偏爱番茄酱|  楼主 | 2014-12-5 14:38 | 只看该作者
最近一直都很忙,现在更新一下

使用特权

评论回复
23
偏爱番茄酱|  楼主 | 2014-12-5 14:41 | 只看该作者
我还用过FRDM KL25Z,这个板子非常好玩,板载资源很丰富,而且能玩出很多花样,并且一位工程师就利用它,做了一个微信打飞机的游戏,下面介绍隆重介绍一下KL25高性能32位单片机

使用特权

评论回复
24
jxyggg| | 2014-12-5 15:28 | 只看该作者
偏爱番茄酱 发表于 2014-11-29 19:31
最后就对小白来的礼物了:KE02的开发函数库

请教楼主,我是飞思卡尔新人,被MQX开源系统吸引过来,目前需要开发一款电容触屏图形LCD的设备。选择Kinetis系列是否合适呢?不知道有没有该系列相应的LCD控制器?

使用特权

评论回复
25
偏爱番茄酱|  楼主 | 2014-12-5 16:03 | 只看该作者
Kinetis L系列微控制器现已大量供货全球能效最高的MCU,基于低功耗、低成本的飞思卡尔Freedom开发平台
飞思卡尔半导体公司(NYSE:FSL)屡获大奖的Kinetis L系列是世界上能效最高的微控制器(MCU),也是首个基于ARM® Cortex™-M0 +处理器的产品,现已大量供货。

Kinetis L系列32位器件最早于今年稍早的时间发布,是首个基于飞思卡尔新推出的Freedom开发平台的产品。该平台是一个低功耗、低成本的小型评估和开发系统,适用于快速实现应用原型和演示

100039334-31174-01.jpg (162.24 KB )

100039334-31174-01.jpg

使用特权

评论回复
26
偏爱番茄酱|  楼主 | 2014-12-5 16:04 | 只看该作者
KL25的特性
每个Kinetis L系列家族包括可扩展的闪存、引脚数及模拟、通信、定时和控制外设,从而为产品线的终端扩展提供了简单的迁移路径。KL25 MCU的特性包括:
• 48 MHz ARM Cortex-M0+内核
• 闪存的代码执行降至40 uA/MHz
•从32 KB至128 KB的 闪存
• 高速12/16位模数转换器
• 12位数模转换器
• 高速模拟比较器
• 低功率触摸感应
• 强大的定时器,适用于电机控制等广泛应用
• USB 2.0全速主机/器件/ OTG
• 与Kinetis K20系列在引脚和软件方面兼容,提供实现DSP性能和高级功能集成的迁移路径

使用特权

评论回复
27
偏爱番茄酱|  楼主 | 2014-12-5 16:04 | 只看该作者
一流的支持工具
飞思卡尔Freedom 开发平台和Processor Expert软件均支持Kinetis L系列,包括MQX™ Lite RTOS组件,MCU Solution Advisor和Tower System模块化开发平台,可以快速实现原型构建,支持来自广泛ARM生态系统的第三方开发资源。

飞思卡尔 Freedom 硬件拥有一套丰富的第三方扩展卡选件,可方便地接入采用行业标准形状的MCU I/O引脚。OpenSDA是一个集成的基于开放标准的串行和调试接口,提供一个易于使用的大容量存储设备模式闪存编程器、一个虚拟串口和常用的编程与运行控制能力。

此外,飞思卡尔通过推出 TWR-KL25Z48M控制器模块,不断扩展Tower System产品组合。这个新型Kinetis L系列模块提供先进的评估和快速原型化能力,可以充分利用不断扩展的Tower System产品组合。TWR-KL25Z48M的特色包括OpenSDA调试接口、电容触控板、Tower System 插座等。

使用特权

评论回复
28
偏爱番茄酱|  楼主 | 2014-12-5 16:12 | 只看该作者
FRDM-KL25Z平台RTC模块应用举例
通常,RTC 模块用来提供可靠的系统时间,包括时分秒和年月日等,其外围电路通常由一个高精度的32.768KHz 晶体和一些电阻电容组成。飞思卡尔 Kinetis 家族 MCU 也同样包含RTC 模块,但是同一家族不同的系列MCU 的RTC 模块内外部电路也不相同,其根本目的都在于产生一个32KHz 的RTC 时钟,如 K60 系列MCU,其RTC 模块时钟的输入只能外部输入,但可以外接有源时钟信号或者无源晶振,而 KL25 系列MCU 的RTC 模块时钟输入选择如图1 所示,可以来自外部有源时钟、外部系统晶振(振荡频率在32-40KHz 之间)和内部 PMC 的 LPO 输出。飞思卡尔 FRDM-KL25Z 评估板以价格低、易学习的优点,在网友手中有比较大的保有量,所以在本应用中选用 FRDM-KL25Z 开发板作为验证RTC 模块时钟功能的平台,方便大家学习。

但是,使用 FRDM-KL25Z 开发板进行RTC 模块功能验证的不足在于:1. 系统外部EXTAL0 和XTAL0 之间连接晶振为8M,不能作为RTC 时钟的输入;2. 外部时钟输入RTC_CLKIN 引脚没有板载有源时钟;那么除了采用PMC 的LPO 输出外,还能怎么获得32KHz 的时钟呢?于是想到了MCG 的内部32KHz 的IRC 时钟,那么下一步的就是考虑如何把这个时钟连接到RTC_CLKIN 引脚呢,这也正是本实验的巧妙之处:它充分利用板载的资源,以尽可能少的外围连接验证RTC 模块的计时功能。如图2 所示,在飞思卡尔 KL25Z 的FRDM 开发板上,RTC_CLKIN 信号引脚被引出,在硬件上对应的引脚为PTC3/CLKOUT,MCGIRCLK 信号引脚也被引出,在硬件上对应的引脚为PTC1/RTC_CLKIN,所以只需把这两个引脚通过导线连接起来,即可将内部32KHz 的慢速IRC 时钟输出到RTC 模块的RTC_CLKIN 引脚。

使用特权

评论回复
29
偏爱番茄酱|  楼主 | 2014-12-5 16:14 | 只看该作者

100048545-41637-designfreescalefigure-2.jpg (98.18 KB )

100048545-41637-designfreescalefigure-2.jpg

100048545-41636-designfreescalefigure-1.jpg (53.61 KB )

100048545-41636-designfreescalefigure-1.jpg

使用特权

评论回复
30
偏爱番茄酱|  楼主 | 2014-12-5 16:14 | 只看该作者
这里介绍两种RTC 模块配置的方法,分别是使用PE 和不使用PE 配置RTC 模块,下面分别讨论,最后附上应用程序代码(硬件平台为 FRDM-KL25Z 评估板)。

1.使用 Processor Expert软件完成RTC 模块配置
在建立一个带PE 的空工程后,我们首先需要在Component Inspector 设置CPU 组件,设置如图2 所示,步骤如下:

[1]. 在 Clock settings >RTC clock input 项中,使能RTC 时钟输入,设置Clock Frequency 为32Khz,并选择PTC1 作为RTC_CLKIN 输入引脚
[2]. Clock Source Settings > Clock Source Setting 0 > Internal reference clock > MCGIRCLK source 中,使能MCG 内部时钟MCGIRCLK,选择系统内部IRC 时钟源位Slow,即内部32Khz 时钟;
[3]. 在 Clock Source Settings > Clock Source Setting 0 > External reference clock > ERCLK32KClock Source 中,设置RTC 模块时钟输入源,选择RTC Clock Input;
[4]. 在 Internal peripherals > System Integration Module > CLKOUT pin control 中,设置32Khz 时钟输出到PTC3 引脚作为CLKOUT;

100048545-41638-designfreescalefigure-3.jpg (111.12 KB )

100048545-41638-designfreescalefigure-3.jpg

使用特权

评论回复
31
偏爱番茄酱|  楼主 | 2014-12-5 16:16 | 只看该作者
在完成以上设置后,从PTC3 引脚得到了一个输出的32K 时钟,PTC1 引脚作为RTC模块的时钟输入, MCG 模块配置为PEE 模式: PLL clock 96 MHz、Core Clock 48 MHz 、Bus clock 24 MHz。下面就要对RTC 模块进行配置了,设置如图3 所示,步骤比较简单,只需配置Clock source 为ERCLK32K 即可。

100048545-41639-designfreescalefigure-4.jpg (136.81 KB )

100048545-41639-designfreescalefigure-4.jpg

使用特权

评论回复
32
偏爱番茄酱|  楼主 | 2014-12-5 16:16 | 只看该作者
完成以上步骤,点击Generate Processor Expert Code 生成代码,然后再写入时间处理的应用代码即可,具体应用代码可以参见附件程序1。需要指出的是,在采用FRDM-KL25Z的OpenSDA 调试过程中,串口接收终端波特率设置应为115200,调试结果如图4 所示,每隔一秒更新一次输出结果。

100048545-41640-designfreescalefigure-5.jpg (48.96 KB )

100048545-41640-designfreescalefigure-5.jpg

使用特权

评论回复
33
偏爱番茄酱|  楼主 | 2014-12-5 16:17 | 只看该作者
1.RTC 模块bare-metal 程序配置
对于一个非PE 的应用,需要去自己直接操作寄存器完成相关的功能配置。同样,也需要完成两个方面的配置:对CPU 的配置(主要是时钟的配置)和RTC 模块的配置。对CPU 的配置步骤如下:

[1].使能内部参考时钟,选择内部32Khz 慢速时钟作为OUTCLK 输出时钟源;
MCG_C1 |= MCG_C1_IRCLKEN_MASK;
MCG_C2 &= ~(MCG_C2_IRCS_MASK);

[2].设置 PTC1 引脚的功能为RTC_CLKIN ,并选择32 KHz 时钟输入作为 RTC 模块时钟的输入源;
PORTC_PCR1 |= (PORT_PCR_MUX(0x1));
SIM_SOPT1 |= SIM_SOPT1_OSC32KSEL(0b10);

[3].设置 PTC3 引脚的功能为CLKOUT,并选择MCG 内部 32 KHz 慢时钟输出到CLKOUT 引脚
SIM_SOPT2 |= SIM_SOPT2_CLKOUTSEL(0b100);
PORTC_PCR3 |= (PORT_PCR_MUX(0x5));

同样,在完成CPU 的配置后,还需要配置RTC 模块,其中重要的是其秒中断的设置。

1.使能软件可触发中断;
SIM_SCGC6 |= SIM_SCGC6_RTC_MASK;

2.清除所有的 RTC 寄存器;
RTC_CR = RTC_CR_SWR_MASK;
RTC_CR &= ~RTC_CR_SWR_MASK;
if (RTC_SR & RTC_SR_TIF_MASK)
{

RTC_TSR = 0x00000000;
}

3.设置时间补偿参数,这个参数会根据应用的不同而不同;
RTC_TCR = RTC_TCR_CIR(1) | RTC_TCR_TCR(0xFF);

4.使能模块的秒中断;
enable_irq(INT_RTC_Seconds - 16);
RTC_IER |= RTC_IER_TSIE_MASK;

5.启动时间计数器,并写秒寄存器;
RTC_SR |= RTC_SR_TCE_MASK;
RTC_TSR = 0xFF;

使用特权

评论回复
34
偏爱番茄酱|  楼主 | 2014-12-5 16:18 | 只看该作者
完成以上工作后,还需要添加中断服务程序,编写应用程序。同样,在调试过程中,串口接收终端波特率设置也应为115200,调试结果如图5 所示,每隔一秒更新一次输出结果,只显示分和秒的值。

100048545-41640-designfreescalefigure-5.jpg (48.96 KB )

100048545-41640-designfreescalefigure-5.jpg

使用特权

评论回复
35
偏爱番茄酱|  楼主 | 2014-12-5 16:18 | 只看该作者
今天就先更新到这里,谢谢大家

使用特权

评论回复
36
偏爱番茄酱|  楼主 | 2014-12-5 16:23 | 只看该作者
jxyggg 发表于 2014-12-5 15:28
请教楼主,我是飞思卡尔新人,被MQX开源系统吸引过来,目前需要开发一款电容触屏图形LCD的设备。选择Kine ...

选择kinetis,是完全没问题的,可以考虑选择MK20、MK60等K系列

使用特权

评论回复
37
jxyggg| | 2014-12-5 16:28 | 只看该作者
偏爱番茄酱 发表于 2014-12-5 16:23
选择kinetis,是完全没问题的,可以考虑选择MK20、MK60等K系列

谢谢楼主|!有没有带图形LCD的MK20/MK60开发板型号可以推荐呢?我想去买一块来学习学习。。。

使用特权

评论回复
38
偏爱番茄酱|  楼主 | 2014-12-5 20:46 | 只看该作者
jxyggg 发表于 2014-12-5 16:28
谢谢楼主|!有没有带图形LCD的MK20/MK60开发板型号可以推荐呢?我想去买一块来学习学习。。。 ...

MK20开发套件,这是我的开发例程。https://bbs.21ic.com/icview-793590-1-1.html

使用特权

评论回复
39
jxyggg| | 2014-12-6 10:15 | 只看该作者
偏爱番茄酱 发表于 2014-12-5 20:46
MK20开发套件,这是我的开发例程。https://bbs.21ic.com/icview-793590-1-1.html

OK 非常感谢!!!!!

使用特权

评论回复
40
sharknarduo| | 2014-12-6 11:21 | 只看该作者
碰见高手了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则