tag 标签: kinetis

相关博文
  • 热度 18
    2013-9-3 22:05
    1747 次阅读|
    3 个评论
    今天说说关于Kinetis KL25芯片内部的SPI模块!KL25内部的SPI模块可把我整惨了,今天FreeScale的 FAE终于跟我发来了邮件,问题也就解决了,下面来总结关于Kinetis KL系列内部的SPI模块! Kinetis与传统MCU一样内部提供了SPI模块,在KL系列中一般为两个SPI模块,SPI0和SPI1.SPI0使用的 是Bus Clock,SPI1使用的是System Clock传输速率最高可达时钟源的1/2,已经算是相当快了,但在 有些情况下需要注意传输速率不要超过DataSheet中给出的参数。Kinetis MCU的SPI模块支持DMA传输 ,能大大加快数据传输的速度。 其实Kietis内部的SPI模块操作起来并不复杂,甚至于比16位MCU内部的SPI模块都要简单,如PIC系列M CU。那为什么会出现它困扰了我这么长时间呢!第一:FreeScale的芯片稍微有点操蛋,第二:我连线 的方法有点问题。首先说说我的解决过程,本来是想用Kinetis内部的SPI去驱动一块SPI接口的液晶屏 结果没有搞成功,于是单步调试,问题就出在我用单步调试上,我想通过单步调试看相关寄存器标志位 的变化,以及SPI数据缓冲寄存器的值,结果就是不管怎么调SPI模块寄存器的标志位和数据寄存器的 反应跟它的数据手册上完全不同,于是便将自己的代码上传到论坛去问FreeScale的FAE,他们都说代码 没有问题,也不知道怎么回事,今天终于收到了苏州总部的邮件原来它娘的SPI模块不能单步调试,单步 就有问题,标志位的变化就会不同,会把SPI的时序打乱,这告诉我们一点有些东西并不能完全以标志位判断,还是根据老示波器之类的仪器(可怜我没有示波器)。还有就是我的连线有点问题,我接成了MOSI- MISO,MISO-MOSI,真是一失足成千三古恨啊!下面我将基于IAR的SPI代码上传,希望能对其它人有所帮 助! SPI模块图 SPI操作流程图
  • 热度 17
    2013-8-19 14:42
    2030 次阅读|
    2 个评论
      Kinetis L系列MCU内部集成的有一个TPM(Timer/PWM)模块。在KL25内部共有三个TPM,其中TPM1和TPM2具有2个通道,TPM0具有6个通道。TPM的功能很多,主要分为以下几个方面,第一,作为普通定时器,它是一个16位的定时器,可根据时钟的选择设置不同的定时时间。第二,作为PWM产生器,它能准确的产生PWM信号,用于类似于电机控制等速度方面的应用。第三,它具有输入捕获,输出比较功能,因为它是具有多通道的所以用起来很是方便。Kinetis L系列的时钟很具有特色,同样此特色也运用到了TPM模块上,TPM具有四种可选的时钟源,分别为MCGIRCLK,OSCERCLK,MCGFLLCLK,MCGPLLCKL这四种时钟源可通过人为的进行设置为不同的时钟,就可以获取不同最大时限的定时值。TPW的使用没有很重要的注意要点,基本上按照数据手册上做基本上不会有问题。
  • 热度 14
    2013-8-15 08:33
    1338 次阅读|
    0 个评论
      个人觉得当入手一款新单片机时最先需要明白的是它的时钟部分,因为时钟就是单片机的心脏,不把心脏的具体过程搞明白,也就没法去正确的操作其外设部分。   Kinetis L系列的单片机时钟部分比较复杂,原因在于它有许多可选的时钟源与众多的时钟模式以及产生时钟的方式。它的时钟源和外设之间的关系主要是系统先将时钟产生好然后外设根据需要进行选择。它的主要时钟源为内部的Multipurpose Clock Generator(MCG)和System Oscillator。MCG主要由锁相环和锁频环构成通过其内部的参考时钟或外部的参考时钟产生相应的时钟,此模块产生的时钟源较多。System OSC则主要是通过XTAL和EXTAL引脚连接的外部晶振或共鸣器为MCU产生系统时钟,System OSC则主要能通过MCG对其进行控制如选择OSC的频率范围,增益控制以及外部是晶振还是外部时钟等。与时钟相关设置有较多的模块并且相互之间又具有一定的联系,主要用到的模块是MCG,SIM,OSC。MCG的主要功能是选择系统时钟源,SIM主要功能是为系统设置时钟分频数和相关外设的时钟门控选择。大部分的外设都是具有很多的可选时钟源,必须要通过SIM模块将其时钟门控选择打开,否则在不打开其时钟门控的情况下则会出现内核硬件故障错误。同样在对MCU相关时钟进行设置编程时一定要注意其数据手册上时钟输出的最大限制,一旦你超过其限值,可能出现无法预料的错误,如任何总线访问一个没有开启时钟的外设将产生一个终止错误!   下面根据数据手册对MCG模块进行简单的翻译和理解: MCG主要由两部分组成一个是PLL,另一个FLL。FLL能通过外部或内部的参考时钟控制而PLL只能通过外部的参考时钟进行配置。MCG能选择PLL或FLL输出来作为系统时钟或者是选择内部或外部的参考时钟来作为系统时钟源。MCG模块结合一个晶体振荡器运行,它允许外部晶振,陶瓷振荡器,或其它的外部时钟源来作为其本身的参考时钟。MCG具有九种工作模式分别为FEI,FEE,FBI,FBE,PBE,PEE,BLPI,BLPE,STOP,如此多的工作模式同样就加大了操作的难度,但为芯片运行于低功耗方式下也提供了更多的选择。MCG具有很多的寄存器,在对它们进行操作下需要注意所有的寄存器只有在管理模式下才能写,在用户模式下写这些寄存器会导致总线错误,读操作则能在任何模式下进行。MCG的操作在IAR中提供的启动代码里已经将其进行了正确的设置与初始化可以直接进行使用,但是如果个人想重新编写的话,确实具有一定的工作量。   下面对SIM模块进行简单的翻译和理解: SIM的功能具体要根据其寄存器进行,它的寄存器很多,但功能描述上还算清晰。它的主要特点为: 系统时钟控制 系统时钟分频值 时钟门控结构 ERCLK32K时钟选择 USB时钟选择 UART和TPM时钟选择 FLASH和系统RAM大小配置 USB稳压器配置 TPM外部时钟和输入捕获配置 UART接收/发送源选择/配置 同样SIM的寄存器也只有在管理模式下才能进行写操作,否则会导致总线错误。   下面对OSC进行简单描述: OSC是一个晶体振荡器。结合外部晶体和共鸣器,为MCU产生参考时钟。它的关键特点为: 支持32K晶振(小范围模式) 电压和频率滤波器为了保证频率的稳定性 选择外部输入时钟信号直接从EXTAL绕过 一个时钟为了MCU时钟系统 两个时钟为了芯片外设能工作在停止模式 在使用外部晶振时一定要注意其和外部器件的连接方式,否则很可能出现无法起振或振荡器不稳定的情况。同样OSC也具有多种工作模式,也主要是为了MCU的低功耗运行吧!   Kinetis L的时钟部分比较复杂,这同样也成为了它的一个特色,据说,它的时钟部分和TI的很类似,不知道是不是相互借鉴。还是有很多地方需要总结,由于个人暂时只用到了这些,目前就写这么多吧
  • 热度 17
    2013-8-13 09:56
    1631 次阅读|
    0 个评论
      KL25系列和其它的单片机一样为了实现在有限的引脚封装内实现更多的功能每个引脚基本上都是多路复用,当然有些引脚例外,如VDD,VSS,RESET等等。它和有些单片机有所区别,有的单片机多路复用的引脚只要你使能相关的功能,此引脚便自动的成为了该功能相关引脚,而KL25不仅需要使能将用到的功能模块并且还要配置I/O口引脚,而与这个功能设置相关的模块便是MCU内部的Signal Multiplexing and Signal Descriptions Module和Port Control and interrupts Module(PORT)。KL25的端口中不是所有的端口都具有外部中断能力只有PortA和PortD具有中断能力。同样KL25独特的时钟模式即如要想要使用某一功能模块必须要先使能其时钟源,同样在使用PORT模块时首先就是要使能其时钟源。在进行端口引脚分配时注意不要为一个引脚分配多个功能还有具有相同功能的引脚分配的相互之间应尽量靠近如分配I2C功能引脚时CLK和DATA引脚应尽量靠近KL25 PORT模块具有以下特点:1.引脚中断选择。2.端口控制。PORT模块具有以下四种工作模式:1.运行模式。PORT运行正常。2.等待模式。PORT运行正常,如果使能了中断检测能让MCU从低功耗下唤醒,DMA请求仍然可以但不能让MCU从低功耗下唤醒。3.停止模式。在停止模式下PORT能配置为如果中断使能检测的情况下能通过异步的唤醒信号将MCU进行唤醒。4.调试模式。PORT运行正常。PORT模块的相关寄存器不多,主要为PORTx_PCRn,PORTx_GPCLR,PORTx_GPCHR,PORTx_ISFR。设置起来相对较简单。PORTx_PCRn主要是端口相关功能设置,PORTx_GPCLR,PORTx_GPCHR主要是为了同时让几个端口具有相同的设置而不用单独的去进行设置,减小了麻烦。PORTx_ISFR为端口中断状态寄存器主要是相关位的中断标志,如果该位置1后需通过软件对相关位进行重写1,便可清除中断标志位,如果电平检测,当中断产生后如果电平有效状态依旧存在则马上又产生中断。总的来说,KL25的端口操作较为简单。以配置外部中断为例简单说说步骤:1.使能PORTx时钟源。2.为I/O口选择功能。3.配置中断发生模式(电平,边沿,DMA)。
  • 热度 21
    2013-8-11 16:08
    1603 次阅读|
    0 个评论
      今天说说相对较简单的Kinetis KL25单片机的I/O口部分。Kinetis L系列单片机的I/0口根据不同的型号数量上可能有所不同,但大体上操作基本一致。 Kinetis L系列单片机和大多数单片机的I/O口操作一样,也主要分为方向寄存器,数据寄存器,为了增强单片机的I/O操作位处理能力,I/O模块对数据的操作划分了Set,Clear,和Toggle寄存器。通过使能端口的中断功能能产生相应的中断事件。I/O模块的时钟来源为系统时钟。 KL25 I/O口的特点: 1.       在所有数字端口引脚复用模式下,端口输入数据寄存器是有效的 2.       端口数据输出为相应的Set/Clear/Toggle寄存器 3.       端口数据方向寄存器 4.       通过IOPORT零等待的访问GPIO寄存器 KL25 I/O口功能描述: 1.       通用的输入端口。每个引脚的逻辑状态是有效的,能提供数字功能配置和相关端口控制和中断模块使能。 2.       通用的输出端口。每个引脚的逻辑状态通过数据方向寄存器和数据输出寄存器进行配置,能让端口配置为GPIO功能。它的方向位的设置和有些单片机的不同,当方向位设为1时代表输出,设为0时代表输入,此种形式和PIC系列的方式就是相反,不过记忆起来都比较形象。值得注意的是为了加强MCU的位操作处理能力,对于输出的操作划分了几个寄存器如Port Set Output Register,Port Clear Output Register,Port Toggle Output Register。 3.       IOPORT功能。关于这点功能我还没具体用过,不是很清楚,就照PDF进行简单翻译吧! 此MCU的GPIO口是具有多口功能它能通过内核直接在F800_0000进行零等待状态的访问,也能通过cross bar/AIPS接口在4000_F000进行访问。当Cortex MO+内核从F800_0000开始进行访问时它又被称之为IOPORT接口。通过IOPORT接口访问时和其它的取指令是平行的,因此是在单周期内完成的(不是很明白,通过查看汇编代码没发现和直接通过GPIO寄存器访问有什么不同,可能主要还是快些吧!) I/O口的工作模式分为四种:Run,Wait,Stop,Debug.只有在Stop模式下GPIO模块是关闭的,其它三种模式下GPIO是同样处于正常工作模式下。PTB0,PTB1,PTD6,PTD7是具有高电流驱动能力,能直接的驱动LED和MOSET。相对而言,此单片机对于GPIO的操作还算比较简单,但由于具有ARM内核所以很多模块的操作都是和其它模块相关联的,比如时钟模块,端口引脚复用模块等等。 一般操作I/O口的步骤为: 1.       使能此端口的时钟,默认下Clock Gating是关闭的。 2.       通过多路复用单元选择GPIO的功能,一般GPIO引脚是具有很多其它功能,需要人为根据需要进行选择。 3.       设置端口方向。 4.       设置数据逻辑状态。  
相关资源
  • 所需E币: 1
    时间: 2022-1-22 13:53
    大小: 1.24MB
    上传者: Argent
    [LPLDKinetis底层库V2]函数手册
  • 所需E币: 0
    时间: 2021-9-15 18:45
    大小: 807.88KB
    上传者: Argent
    FPGA是一个技术密集型的行业,没有坚实的技术功底,很难形成有竞争力的产品。从技术上来看FPGA未来的发展有广阔的空间,嵌入式开发需要了解不同领域的产品工作原理,包括快速读懂数据手册,搜集了部分数据手册,第三方教育机构的指导性文档,希望对您有所帮助。
  • 所需E币: 5
    时间: 2021-9-9 21:32
    大小: 2.94MB
    上传者: czd886
    基于Kinetis的BLDCM无位置传感器控制系统设计
  • 所需E币: 0
    时间: 2020-11-17 00:08
    大小: 3.88MB
    上传者: xgp416
    ARMCortex-M4Kinetis微控制器实践资料
  • 所需E币: 1
    时间: 2020-5-13 11:37
    大小: 683.74KB
    上传者: 电子阔少
    飞思卡尔Kinetis单片机IAR使用详解
  • 所需E币: 3
    时间: 2019-12-28 19:19
    大小: 11.79MB
    上传者: 微风DS
    UsingLowPowermodesonKinetisfamily……
  • 所需E币: 5
    时间: 2019-12-24 16:19
    大小: 7.12MB
    上传者: 微风DS
    如何用32位ARM处理器打造Different,Smarter,Better的嵌入式世界?业界率先推出基于ARMCortex-M0+的MCU的Freecale做了最好的诠释。讲演者为大家细数基于M0+的KinetisL系列的benchmark;不仅如此,由于价格从0.49美元起,因此可覆盖传统的8位高端、16位MCU市场;还有,在高端32位处理器市场,Freescale的基于ARMCortex-M4的系列——KinetisK是个良好的对接和补充。TM韩向阳飞思卡尔多媒体应用处理器部亚太区平台和应用总监刘海宁飞思卡尔技术销售经飞思卡尔技术销售经理技术销售经理Oct2012Freescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,the……
  • 所需E币: 3
    时间: 2019-12-24 10:33
    大小: 361.49KB
    上传者: 2iot
    Cortex-M4自学笔记-基于KinetisK60Cortex-M4自学笔记――基于KinetisK60杨东轩王嵩编著Cortex-M4自学笔记――基于KinetisK60内容简介本书介绍了飞思卡尔(Freescale)半导体公司推出的Kinetis系列微控制器K60的学习与开发方法。该书一共分为20个章节,内容由浅入深,依次介绍了ARMCortex-M4内核、K60微控制器、K60各个模块的使用方法、操作系统的移植以及快速开发工具的使用等方面的内容。在模块介绍等章节中,主要介绍了K60的通用输入输出、异步通信串口、周期中断定时器、模数/数模转换器、eDMA、可编程延时、FTM、实时时钟、低功耗定时器、I2C、SPI、CAN总线、USB、以太网和SDHC等模块。本书在详细介绍了主要模块的使用方式之后,还介绍了基于K60的操作系统及图形系统的移植方法。本书所有的章节共涉及20多个示例工程,所有示例工程均基于代码开源的“拉普兰德K60底层库”而开发。通过学习本书配合运行这些示例工程,读者可以快速地从实践中掌握K60系列微控制器的开发要领。通过学习底层库的编写方法也可以极大的提供读者的编程与开发能力。ICortex-M4自学笔记――基于KinetisK60……
  • 所需E币: 4
    时间: 2020-1-9 12:57
    大小: 244.3KB
    上传者: rdg1993
    基于KinetisEA系列MCU和电子开关(MC10XS3425)的照明控制模块参考设计32位MCU基于KinetisEA系列MCU和电子开关(MC10XS3425)的照明控制模块参考设计面向汽车应用的KinetisEA系列MCU可为概述广泛的汽车应用提供经济高效的基于KinetisEA照明控制解决方案基于KinetisKEA128MCU并采用64LQFP封装,其MC10XS3425eXtreme开ARMCortex-M0+的解决方案,并且与关可控制汽车照明并诊断汽车前灯状态;该解决方案基于真实汽车的远近光、转向和制动,并通过所有KinetisEA系列产品和Kinetis汽车系SPI实现系统通信。飞思卡尔收发器可用于LIN和CAN通信,电位器可控制灯泡的亮度和状态。列产品实现引脚兼容。供货关键特性该整套解决方案现面向设计人员全面出售,价格为39美元。该套件包……
  • 所需E币: 4
    时间: 2019-12-22 04:12
    大小: 409.09KB
    上传者: 238112554_qq
    在KinetisK系列上使用DMA模拟ADC灵活扫描模式FreescaleSemiconductorDocumentNumber:AN4590应用笔记Rev0,9/2012在KinetisK系列上使用DMA模拟ADC灵活扫描模式作者:LukasVaculikRonovpodRadhotemCzechRepublic内容1简介1简介..........................................................................1KinetisK系列微控制器所提供的模数转换器(ADC)支持2实施细节...................................................................1针对两条以上输入通道的嵌入式扫描模式。通道数由2.1DMA传输术语.............................................1ADCx……
  • 所需E币: 5
    时间: 2019-12-22 04:13
    大小: 297.78KB
    上传者: rdg1993
    KinetisE系列上的UART引导加载程序设计FreescaleSemiconductorDocumentNumber:AN4767应用说明Rev.0,7/2013KinetisE系列上的UARTBootLoader设计通过:WangPeng在一个特定的场合,很多应用或产品都需要升级固件,内容1.简介......................................1以修复Bug或提高性能。大多数人都不愿意使用专用2.软件体系结构..............................2的调试接口,而是使用UART、USB、I2C等通信接3.结论......................................5口。这种情况下,就需要一个串行BootLoader通过其4.参考...........……
  • 所需E币: 3
    时间: 2019-12-22 04:13
    大小: 477.94KB
    上传者: 16245458_qq.com
    KinetisE系列上的IIC引导加载程序设计FreescaleSemiconductorDocumentNumber:AN4775ApplicationNoteRev0,07/2013KinetisE系列上的IICBootLoader设计通过:WangPeng内容1概述1概述..........................................................................1在一个特定的场合,很多应用或产品都需要升级固件,以2简介..........................................................................1便修复某些发现的Bug或提高性能。其中大多数的应用3软件体系结构...........................................................2或产品都不使用专用的调试接口,而是使用UART、USB、IIC等通信接口。这种情况下,就需要一个串行Boot3.1转接板........……
  • 所需E币: 5
    时间: 2019-12-22 04:12
    大小: 1.06MB
    上传者: givh79_163.com
    将FlexBus接口用于Kinetis微控制器飞思卡尔半导体DocumentNumber:AN4393应用笔记Rev.0,05/2012将FlexBus接口用于Kinetis微控制器CarlosMusich和AlejandroLozano技术信息中心1简介1.目录简介......................................12.功能说明..................................2很多情况下,需要将外部器件连接到微控制器。例如,3.示例...……
  • 所需E币: 3
    时间: 2019-12-22 04:12
    大小: 544.84KB
    上传者: wsu_w_hotmail.com
    优化KinetisK系列MCU的性能FreescaleSemiconductorDocumentNumber:AN4745应用笔记Rev1,06/2014优化KinetisK系列MCU的性能作者:MelissaHunter内容1简介1简介..........................................................................1在嵌入式系统中,资源通常有限,因而如何利用这些资源2KinetisK系列架构概述...........................................1获得最佳性能显得至关重要。虽然高性能和低功耗看起来3KinetisSRAM...........................................................3是相互对立的概念,但是若能快速地执行任务然后进入低功耗模式,则可从整体上降低系统的功耗。因此,几乎任4系统缓存..............................................……
  • 所需E币: 3
    时间: 2019-12-22 04:12
    大小: 546.11KB
    上传者: 微风DS
    使用Kinetis系列中的增强型EEPROM功能FreescaleSemiconductorDocumentNumber:AN4282应用说明Rev0,03/2011使用Kinetis系列中的增强型EEPROM功能作者:MelissaHunter和DerrickKlotz内容1简介1简介..........................................................................1某些Kinetis系列处理器包含FlexMemory功能。2增强型EEPROM(EEE)功能...................................1FlexMemory可让用户将某些片上闪存配置为增强型3使用EEE................................................................11EEPROM、附加闪存或此两者的组合。……
  • 所需E币: 3
    时间: 2019-12-19 14:02
    大小: 11.45MB
    上传者: 微风DS
    Kinetis教学课件V1.1(20120306)……