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

  • 秦时茗月
  • LV5工程师
  • |      2015-04-09 10:19:53
  • 浏览量 4149
  • 回复:2
现在有很多工程师想从8位芯片转到ARM的产品,本人觉得Kinetis的L系列就是一个不错的入门级产品。

于是,我想在论坛里面开这样一个专帖,每天和大家讨论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。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初始化的参考代码。
8位工程师转型篇 - 每天一起学习Kinetis L系列一点点
今天想和大家聊聊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的功能的时候,即使你不使用它,也要在这个引脚上加上耦合电容。"
 
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:2
原来你也在这里 2015-10-08
谢谢分享!
0   回复
举报
发布
Alax 2015-09-29
谢谢分享!!
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子