ARM-Cortex-M4学习与实践——纪成_第1页
ARM-Cortex-M4学习与实践——纪成_第2页
ARM-Cortex-M4学习与实践——纪成_第3页
ARM-Cortex-M4学习与实践——纪成_第4页
ARM-Cortex-M4学习与实践——纪成_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东大学Kinetis系列培训,ARMCortex-M4学习与实践,山东大学智能车工作室纪成2013年3月,基于飞思卡尔Kinetis系列,山东大学Kinetis培训,飞思卡尔Kinetis功能特性,K60开发生态系统介绍,IAR+Jlink开发K60方法,K60代码框架分析,K60外设资源在智能车中的应用,K60学习资源整理,1、ARM发展史,一、飞思卡尔Kinetis功能特性,山东大学Kinetis培训,2、ARMv7处理器分类,3、ARMCortex-M4特性,4、飞思卡尔Kinetis家族介绍,5、K60内部资源介绍,ARM发展史,山东大学Kinetis培训,ARM架构发展历程,ARMv7处理器分类,山东大学Kinetis培训,ARMv7根据应用分类:,应用处理器(Cortex-A系列)AplicationProcessor,实时控制器(Cortex-R系列)Real-timeProcessor,微控制器(Cortex-M系列)MicroController,ARMCortex-M4特性,ARMCortex-M4处理器是在M3的基础上强化了运算能力,采用一个扩展的单时钟周期乘法累加(MAC)单元,优化的单指令多数据(SIMD)指令,饱和运算指令和一个可选的单精度浮点单元(FPU),源于Cortex-M4系列一些创新性的技术,包括:RISC处理器内核,高性能32位CPU、具有确定性的运算、低延迟3阶段管道,可达1.25DMIPS/MHz;Thumb-2指令集,16/32位指令的最佳混合,提供最佳代码密度;低功耗模式,支持多种状态低功耗模式;嵌套矢量中断控制器(NVIC),低延迟、低抖动中断响应、支持以纯C编写中断服务例程,能出色的完成中断处理;广泛的工具和RTOS支持,广泛的第三方工具支持、Cortex微控制器软件接口标准(CMSIS)最大限度缩短开发周期和难度;CoreSight调试和跟踪,JTAG和2针串行线调试(SWD)连接、支持多处理器、支持实时跟踪。,山东大学Kinetis培训,飞思卡尔Kinetis家族,山东大学Kinetis培训,飞思卡尔Kinetis家族,山东大学Kinetis培训,飞思卡尔KinetisK系列,山东大学Kinetis培训,增加段式液晶的驱动,增加USB功能,增加模拟测量引擎,以太网和硬件加密,增加USB功能,增加图形液晶驱动,增加以太网,硬件加密,温度检测和DRAM控制器,Kinetis命名规则,山东大学Kinetis培训,K60内部资源介绍,山东大学Kinetis培训,K60内部资源介绍,山东大学Kinetis培训,K60内部资源介绍,山东大学Kinetis培训,K60内部资源介绍,山东大学Kinetis培训,山东大学Kinetis培训,二、K60开发生态系统,软件应用,调试工具,开发环境,其他支持,Kinetis开发环境,支持Kinetis开发的IDE(集成开发环境)目前主要包括CodeWarrior10.1及以上版本,IAR6.1及以上版本和KeilMDK(即KeilforARM)等。,山东大学Kinetis培训,Kinetis开发环境,山东大学Kinetis培训,CodeWarrior10.2,Kinetis开发环境,山东大学Kinetis培训,IAR6.3,Kinetis开发环境,山东大学Kinetis培训,开发环境对比,山东大学Kinetis培训,Kinetis调试工具,目前Kinetis的调试工具主要有飞思卡尔自己的OSBDM及USBDM、P/使能PTE10为GPIOGPIOE_PDDR|=110;/设置PTE10为输出GPIOE_PDOR/设置PTE10输出为0,A/D模块,山东大学Kinetis培训,K60的AD模块特点:,(1)最高16位AD转换精度,逐次逼近型的,所以速度没问题,而且能做到如此精度已实属不易了,再往高估计就该换-的了;(2)最多4对差分模拟输入通道和24个单端模拟输入通道,对一般工业应用足够了;(3)输出精度可选,差分模式可编程16位,13位,11位和9位模式,单端模式可编程为16位,12位,10位和8位;(4)输入时钟可选四种时钟,即bus_clock,bus_clock/2,ALTCK,ADACK;(5)内设内部温度传感器,用于监控芯片温度;(6)硬件平均功能,对AD转换结果在队列里平均之后输出;(7)带自校准模式;(8)最高64倍PGA(programablegainAmplifier)。,A/D模块,山东大学Kinetis培训,A/D模块需要考虑如下几个寄存器:ADCx_SC1nADC状态及控制寄存器1ADCx_CFG1ADC配置寄存器1ADCx_CFG2ADC配置寄存器2ADCx_RnADC结果寄存器ADCx_SC2ADC状态及控制寄存器2,A/D模块,山东大学Kinetis培训,voidADC_Init1(void)SIM_SCGC3|=(SIM_SCGC3_ADC1_MASK);/打开ADC1门控时钟ADC1_CFG1=ADC_CFG1_ADIV(3)/输入时钟8分配|ADC_CFG1_MODE(0)/8位精度|ADC_CFG1_ADICLK(0);/时钟源为BusclkADC1_SC2=0;ADC1_SC1A=ADC_SC1_ADCH(20);/选择AD1_20通道ADC1_SC1A/禁止转换完成中断,ADC初始化函数:,A/D模块,山东大学Kinetis培训,voidRead_ATD1(uint8*pbuf,uint16len)doADC1_SC1A|=ADC_SC1_ADCH(20);/写入ADCx_SC1A触发转化while(!(ADC1_SC1A,ADC读函数:,PWM模块,山东大学Kinetis培训,FTM模块的特点:1、时钟源可选择,FTM的时钟源可以来自系统时钟或外部时钟。可对时钟分频,分频比为1,2,4,8,16,32,64,128,这属于定时器的特性;2、最多3个FTM定时器FTM0、FTM1、FTM2,即可以有3个自由计数器,也即可以存在独立的3路PWM模块;3、所有的通道都可以设置为中心对齐的PWM输出模式,且某个FTM定时器中的每对通道都可以级联以产生PWM信号;4、PWM通道可成对工作在相同输出或互补输出,也可各通道独立输出,当通道成对互补输出时可使用死区插入功能,这对一些全桥控制电路有很大意义,省去了外围死区电路;5、可软件控制PWM的输出,即屏蔽或者开启单独某个通道。,PWM模块,山东大学Kinetis培训,PWM模块需要考虑如下几个寄存器:PORTx_PCR端口控制寄存器FTMx_MODE特征模式选择寄存器FTMx_SC状态及控制寄存器FTMx_OUTINT通道输出初始状态寄存器FTMx_CNT计数寄存器FTMx_OUTMASK输出屏蔽寄存器FTMx_MOD模数寄存器(周期寄存器)FTMx_CnSC通道状态及控制寄存器FTMx_CnV通道值寄存器(占空比寄存器)FTMx_CNTIN计数器初始值寄存器,PIT模块,山东大学Kinetis培训,PIT模块,山东大学Kinetis培训,PIT模块需要考虑如下几个寄存器:PIT_MCRPIT模块控制寄存器PIT_LDVALn定时器加载寄存器PIT_TCTRn定时器控制寄存器PIT_TFLGn定时器标志寄存器,PIT模块,山东大学Kinetis培训,PIT_MCR,PIT模块,山东大学Kinetis培训,PIT_LDVALn,PIT模块,山东大学Kinetis培训,PIT_TCTRL,PIT模块,山东大学Kinetis培训,voidPIT_Init(void)SIM_SCGC6|=SIM_SCGC6_PIT_MASK;/打开PIT时钟PIT_TCTRL0/开始定时,PIT初始化函数:,PIT模块,山东大学Kinetis培训,voidPIT0_ISR(void)PIT_TCTRL0/*InsertyourCode*/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论