查看: 38418|回复: 104

[求助] 8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

[复制链接]

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-3-26 14:47:17 | 显示全部楼层 |阅读模式
现在有很多工程师想从8位芯片转到ARM的产品,本人觉得[url=https://www.freescale.co
m/zh-Hans/webapp/sps/site/taxonomy.jsp?code=KINETIS_L_SERIES]Kinetis的L[/url]系列就是一个不错的入门级产品。

于是,我想在论坛里面开这样一个专帖,每天和大家讨论KL的一个小部分。可能是讲解一个模块的使用,或是分享一个小的例程,可能是工作中客户碰到的一个问题,或是自己的一点点小心得。总之希望可以和大家一起进步。

如果能够通过这个帖子帮助一些8位的工程师顺利过渡到KL系列,那我就更加开心了。
欢迎大家多多出点子,也欢迎童鞋们拍砖。
 
注:标红为当日更新
#每日一课#不断更新中
五月的第一个工作日,给大家分享一个修改后的程序吧。也许已经有人发现了,Freedom板跑飞思卡尔官方提供的USB stack是会跑不起来的。 一直会停留在系统时钟初始化的里面。这个原因是这样的。这个USB stack并不是基于Freedom板开发的。所以会出现大家发现的问题。我这里分享一下修改和测试好的代码,只要大家用这个代码替换掉stack里面已有的代码,就可以顺利跑过时钟初始化部分,实现相应的功能了。希望对大家有帮助。(代码详见第68楼)
#每日一课#
今天继续和大家说KL系列和S08系列的不同。也许大家都发现了在GPIO中KL系列多了一个filter。有很多客户比较关心这个filter是什么类型的filter。是高通还是低通还是带通的?这里可以和大家简单的讲一下。这个filter并不像大家所想的那样,是一个传统的filter。大家可以把它理解成一个小脉冲的计时器,就是相当于把一些保持时间不够的小脉冲给过滤掉。比如说目前GPIO是一个高电平,如果产生了几个时间很短的低脉冲,那么这个filter使能后,就会不识别这种短暂的低脉冲。
#每日一课#
接下来和大家聊聊以前使用过飞思卡尔S08系列单片机的系统,怎样移植到KL系列的芯片。今天说说系统唤醒的不同。KL系列多了一个新的特性就是LLWU。LLWU根据唤醒前模式的不同,唤醒后的状态也不一样。如果是从LLS模式下唤醒的,LLWU就处于静止状态。如果是从VLLS模式下唤醒的,LLWU将继续检测唤醒的事件,所以需要我们写一下PMC_REGSC[ACKISO]。KL系列芯片共支持16个外部LLWU输入脚和8个内部的LLWU输入源。都有哪些资源呢?还是希望大家自己阅读一下手册。
#每日一课#
今天和大家说一个有关USB供电的话题吧。大家都知道USB有自供电和总线供电的两种模式。在Kinetis这个系列中,稍稍有些不同,那就是Kinetis里面有一个USB的regulator。这个regulator的输入电压范围是2.7V到5.5V。这个输入电压必须加,不论是从VBUS上给出还是VDD给出。都是可以的。输出的VOUT33必须加电容。原因是由于USB的收发器的供电来自于这个regulator。希望大家在使用Kinetis做USB电路设计的时候注意这一点。
#每日一课#
按照之前的计划,今天和大家分享一下TSI通道layout上需要注意的一些问题。
1. 与时钟线,晶振,电源模块,总线隔离开。
2. 走线尽可能的细一些,推荐5-7mil。
3. 线距要10mil 以上。
4. 走线长度尽可能的短。
5. 走线不可和电极同层。
6. 电极的背面不可放置器件。
7. 线路上要增加限流电阻和TVS管。
8. 电极下面的铺铜,需要使用网格状。
如果注意了以上几点,基本可以保证布线上带来的干扰很小了。

#每日一课#
承接上文,今天主要说说怎样配置一个TSI。配置一个TSI大概由如下步骤完成。
1. 使能TSI的时钟。这里需要设置的是寄存器SIM_SCGC5中的TSI这一位。
2. 将要使用的TSI通道进行使能。这里举例的是TSI的channel2和3。
3. 使能TSI的中断。
4. 设置寄存器TSI0_GENS。
5. 然后触摸后,就可以看见进入TSI中断了。
下面的是TSI初始化的参考代码。
SIM_SCGC5 |= SIM_SCGC5_TSI_MASK; // Enable clock gating for TSI

/* Enable proper GPIO as TSI channels */
PORTA_PCR1 = PORT_PCR_MUX(0); // PTA1 as TSI channel 2
PORTA_PCR2 = PORT_PCR_MUX(0); // PTA2 as TSI channel 3
enable_irq(TSI_irq_no);

TSI0_GENCS |= (TSI_GENCS_ESOR_MASK
| TSI_GENCS_MODE(0)
| TSI_GENCS_REFCHRG(4)
| TSI_GENCS_DVOLT(0)
| TSI_GENCS_EXTCHRG(6)
| TSI_GENCS_PS(2)
| TSI_GENCS_NSCN(11)
| TSI_GENCS_TSIIEN_MASK
| TSI_GENCS_STPE_MASK
//| TSI_GENCS_STM_MASK //Trigger for the module 0=Sofware
);
#每日一课#
 
今天想和大家聊聊FSL的Kinetis L系列芯片模块中比较特殊的一个。那就是TSI模块。TSI模块主要的作用是通过检测电极的电容充放电的时间来判断电极的电容的增减。从而获得触摸面积的变化。在没有TSI这个模块之前,单片机通常是使用GPIO对电极进行充放电,然后用ADC和定时器去检测电极到达一定电压的时间,从而获得触摸面积的大小。而TSI通过一个内部的电流源来代替之前的GPIO给电极充电,这样做的好处是比GPIO要稳定和准确。也省去了一个AD脚。后续几天,我想从以下的几个角度来和大家分享一下TSI这个模块的用法。1.怎样设置一个TSI通道。2.怎样layout TSI通道。2.简单介绍一下TSS Library。
 
#每日一课#
FSL的8位产品转到Kinetis L系列其中比较明显的一个变化是增加了一个DMA功能。DMA的基本应用比较简单,其中大体上需要设置的是DMA触发源,DMA的源地址和DMA的目标地址。附件是一个ADC的DMA操作源码。这个源码实现了用两个DMA对ADC进行自动扫描。仅供大家参考。(程序附件请详见第38楼)
 
#每日一课#
今天分享一个小程序,最近很多使用KL系列的工程师都写邮件问我要KL的EEPROM例程。现在就将源程序放在网站上。仅供大家参考。(程序附件请详见第36楼)
#每日一课#不断更新中
今天继续聊一下KL系列的ADC。讲到ADC我们就会想到参考电压,转换精度和转换时间。这些指标不单单在用单片机的ADC模块的时候要注意,在系统设计选择外部ADC芯片的时候也要注意。KL系列ADC的参考电压有的封装具有VREF的引脚,有的这些引脚是和VDDA内部连接了。比如说48脚及以上产品就具备单独的VREF脚。
这里注意的是,无论你用不用ADC功能,你的VDDA引脚的电压都要和单片机的供电电压保持一致。否则会出现问题的。
关于精度,希望大家参考datasheet。里面提供的数据都是有保证的。
 
#每日一课#不断更新中
 
从今天开始,花几天的时间和大家一起聊聊Kinetis L系列的ADC这个经典模块。今天我们先从ADC的输入端说起吧。KL系列的ADC输入引脚内部有一个RC的滤波电路。R的取值一般是100欧左右。所以要注意外部输入的阻抗。
 
 
#每日一课#不断更新中
 
 今天的话题是承接上个周末的电源部分的。因为电源的话题还是比较大的,所以不免多多啰嗦两句。记得很多人问过我,电源的旁路电容,耦合电容有什么区别呀?我个人觉得就是同一个东西了。其原理都是利用电容的储能特性。当然正如大家知道的,这些旁路电容要靠近单片机的电源脚。从布线的角度,大家可能需要考虑以下三个方面:
1.旁路电容为了尽量靠近电源脚,可以放置在板子的背面。
2.每一个电源脚都要有旁路电容。
3.如果多层板,旁路电容可以通过过孔到电源平面和地平面。
明天和大家聊聊KL的ADC,敬请期待!
 
#每日一课#不断更新中
 
今天来聊聊KL系列的电源的布线。
电源部分的布线基础理论就是保证单片机和其他数字器件和电源之间是一个低阻抗状态。如果是单面板或者是双面板的话,电源的处理方法是使用宽的走线和少量的铺铜。在高速和多层的系统中,通常是使用电源平面和地平面的方法了。电源平面和地平面尽量不要被走线破坏。所有的电源引脚都用过孔直接连接到电源平面。整个电源平面可以根据电压的不同,分割成若个的电源部分。
 
#每日一课#不断更新中
 
总所周知,Kinetis L系列的最大优势就是它的低功耗。今天我们来聊一聊Kinetis L系列的工作模式吧。总结下来,KL系列一共有10中工作模式。

1. Normal Run。这个模式没有什么好说的,就是单片机正常运行模式。

2. VLPR(Very Low Power Run)。这个模式的时候,单片机是工作在低频(2MHz)下面。

3. Wait。这个模式下面,内核已经进入休眠状态,各个模块的时钟仍然工作,NVIC仍然工作。

4. VLPW(Very Low Power Wait)。这个模式下,内核已经进入深度休眠状态。NVIC关掉,NVIC将用来唤醒单片机,外设时钟停止。单片机工作在低频。

5. Stop。这个模式下面,内核已经进入深度休眠状态。NVIC关掉,WIC将用来唤醒单片机,外设时钟停止。

6. VLPS(Very Low Power Stop)。这个模式下面,内核已经进入深度休眠状态。NVIC关掉,WIC将用来唤醒单片机,外设时钟停止。单片机工作在低频。

7. LLS(Low Leakage Stop)。在这个模式下面,内核进入深度睡眠状态,NVIC禁止,LLWU被用于唤醒,外设时钟停止但现有状态保持,只是不能操作。SRAM工作。GPIO状态保持。

8. VLLS3(Very Low Leakage Stop3)。在这个模式下面,内核进入深度睡眠状态,NVIC禁止,LLWU被用于唤醒,外设时钟停止,SRAM工作。GPIO状态保持。

9. VLLS1(Very Low Leakage Stop 1)。在这个模式下面,内核进入深度睡眠状态,NVIC禁止,LLWU被用于唤醒,外设时钟停止,SRAM不供电,GPIO状态保持。

10. VLLS0(Very Low Leakage Stop 0)。在这个模式下面,内核进入深度睡眠状态,NVIC禁止,LLWU被用于唤醒,外设时钟停止,SRAM不供电,GPIO状态保持,LPO禁止。

休眠的程度越来越深,耗电量越来越小。越到耗电量低的模式,唤醒的资源越少,所以在最初系统设计的时候,需要统筹考量。
 
#每日一课#不断更新中
 
今天想和大家聊聊Kinetis L系列引脚的状态。大家可以看到Kinetis产品,不论是L系列还是S系列,引脚有很多复用的功能,有的是模拟的功能,比如说AD,有的是数字的功能,比如说UART。引脚在芯片刚刚上电的时候,如果这个引脚有模拟功能,一般为模拟功能。
 
如果这个引脚没有模拟功能,那么就是高阻状态。这个和手册中的默认状态是一样的。这个状态将保持到用户将引脚设置好之前。Kinetis L系列在引脚的使用方面还是有一些需要注意的地方,今天先提醒大家一个吧,后面有机会再和大家慢慢分享。

"VOUT33这个引脚,在使用USB的功能的时候,即使你不使用它,也要在这个引脚上加上耦合电容。"
 
 
更多更全社区Kinetis KL 25 教程资料
我知道答案 目前已有104人回答
回复

使用道具 举报

该用户从未签到

17

主题

113

帖子

0

注册会员

Rank: 2

积分
130
最后登录
1970-1-1
发表于 2013-3-26 14:52:23 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

 对Kinetis L挺感兴趣的,可能会在接下来的产品中定位一下,希望到时候多多帮助哈。
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

288

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
610
最后登录
1970-1-1
发表于 2013-3-26 14:56:01 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

楼主的建议非常好,大家有问题赶快来问吧。
回复 支持 反对

使用道具 举报

该用户从未签到

37

主题

327

帖子

1

高级会员

Rank: 4

积分
886
最后登录
2023-7-19
发表于 2013-3-26 15:31:08 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

L好是好,不知道 价格,和供货怎样。 前2天大概玩了一下L,能和K系列比较好的兼容,这点确实挺爽。 不过山寨JLINK不支持 嘿嘿。。元芳。。这怎么办。。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
发表于 2013-3-26 16:09:44 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

KL25Z用山寨JLINK在KEIL上面不能使用,但是可以用IAR,那个就完全没压力了。
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
 楼主| 发表于 2013-3-26 16:35:38 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

KL的性价比很好,而且重点是功耗很低。
回复 支持 反对

使用道具 举报

该用户从未签到

131

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10021
最后登录
1970-1-1
发表于 2013-3-26 16:42:05 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

回复第 6 楼 于2013-03-26 16:35:38发表:
KL的性价比很好,而且重点是功耗很低。 

讨论的真热闹哈,我。。班门弄斧一下下。。在和工程师打交道的过程中,觉得他们除了会关注新品本身外,可能更多的会在乎产品周边的开发工具、开发环境的便利性,是否可以快速入手。
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-3-26 16:53:22 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

希望大家多多支持。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

41

帖子

0

注册会员

Rank: 2

积分
137
最后登录
1970-1-1
发表于 2013-3-26 19:55:56 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

我觉得FSL的东西是不错,但是开发工具的支持有点单调目前
回复 支持 反对

使用道具 举报

该用户从未签到

131

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10021
最后登录
1970-1-1
发表于 2013-3-27 09:30:42 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

回复第 9 楼 于2013-03-26 19:55:56发表:
我觉得FSL的东西是不错,但是开发工具的支持有点单调目前 

还是那句话,把开发工具还开发环境做上去,飞思卡尔就无敌了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-23 20:48 , Processed in 0.106669 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表