飞思卡尔K60入门
飞思卡尔K60 DMA 中文手册
/*----------------------------------------------------------------------------------------------------------------------------- 桂林电子科技大学物联网工程Editor:JaceLin Date:2014.2.5-------------------------------------------------------------------------------------------------------------------------------- 一、DMA特性1)k60有16个DMA通道二、寄存器1)控制寄存器:DMA_CR31-18 reserved17 CX 取消转移,0正常操作,1取消剩下数据转移16 ECX 错误取消转移,0正常操作,1取消转移15-8 reserved14 EMLM 使能副循环映射0 禁止,TCDn.word2 为32位1 使能,TCDn.word被重新定义6 CLM 持续连接模式,0当副循环结束后,再次激活DMA要通过裁决,1不用裁决5 HALT 停止DMA操作,0正常模式,1停止DMA操作4 HOE 错误时停止,0正常操作,1当有错误时HALT=1,也就是DMA停止3 reserved2 ERCA 使能循环通道裁决,1 EDBG 使能调试,写0,调试也用DMA,写1,调试时DMA不可用0 reserved2)错误状态寄存器DMA_ES31 VLD 所有错误状态位逻辑或,0没有错误,1表示至少有1个错误没有清除30-17 保留16 ECX 转移被取消0没有被取消的转移,1最后一次记录是被取消的转移15 保留14 CPE 通道优先错误,0没有通道优先错误,1有13-12 保留11-8 ERRXHN 错误通道位/被取消的位(最多16位)7 SAE 源地址错误,0没有源地址配置错误,1有错误6 SOE 源偏移错误,0没有源偏移配置错误,1有偏移配置错误5 DAE 目标地址错误,0没有错,1有错误4 DOE 目标偏移错误,0没有错误,1有3 NCE NBYTES/CITER配置错误,0没有,1有2 SGE Scatter/Gather配置错误,0没有,1有1 SBE 源总线错误,0没有错误,1有0 DBE 目标总线错误,0没有,1有3)使能请求寄存器DMA_ERQ (16个通道的请求信号寄存器)以下都是0禁止,1使能:31-16 保留15-0 ERQ15-ERQ04)使能错误中断寄存器DMA_EEI (16个通道的错误中断寄存器)以下都是0禁止,1使能:31-16 保留15-0 EEI15-EEI05)清除使能中断寄存器DMA_CEEI(清除EEI的使能中断)7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 CAEE 清除所有使能错误中断,写0清除特定EEI,写1清除所有EEI5-4 保留3-0 清除使能错误中断(一共16位,写相应位表示选定,通过CAEE清除)6)设置使能错误中断寄存器DMA_SEEI7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 SAEE 设置所有使能错误中断,写0设置特定EEI,写1设置所有EEI5-4 保留3-0 设置使能错误中断(一共16位,写相应位表示选定,通过SAEE设置)7)清除使能请求寄存器DMA_CERQ(清除ERQ的请求中断)7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 CAER 清除所有使能请求,写0清除特定ERQ,写1清除所有ERQ5-4 保留3-0 清除使能请求中断(一共16位,写相应位表示选定,通过CAER清除)8)设置使能请求寄存器DMA_SERQ7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 SAER 设置所有使能请求,写0设置特定ERQ,写1设置所有ERQ5-4 保留3-0 设置使能请求(一共16位,写相应位表示选定,通过SAER设置)9)清除完成状态位寄存器DMA_CDNE7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 CADN 清除所有完成位,0清除特定位,1清除所有位5-4 保留3-0 CDNE 清除(特定完成位,共16位)10)设置状态位寄存器DMA_SSRT7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 SAST 配置所有完成位,0设置特定位,1设置所有位5-4 保留3-0 SSRT 设置(特定完成位,共16位)11)清除错误寄存器DMA_CERR7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 CAEI 清除所有完成位,0清除特定位,1清除所有位5-4 保留3-0 CERR 清除(特定位,共16位)12)清除中断请求寄存器DMA_CINT7 NOP 0正常操作,1没有操作,这个寄存器所有脱下可以忽略6 CAIR 清除所有中断请求位,0清除特定位,1清除所有位5-4 保留3-0 CINT 清除(特定位,共16位)13)中断请求寄存器DMA_INT (16个通道)以下都是0禁止,1使能:31-16 保留15-0 INT15-INT014)错误寄存器DMA_CRR (16个通道)以下都是0禁止,1使能:31-16 保留15-0 ERR1-ERR015)硬件请求状态寄存器DMA_HRS(16个通道)以下都是0禁止,1使能:31-16 保留15-0 HRS15-HRS016)通道n优先级寄存器DMA_DCHPIn7 ECP 使能通道优先权写0不支持高优先级,写1支持高优先级6 DPA 禁止优先级功能写0支持低优先级,写1不支持任何优先级5 5-4 保留3-0 CHPRI 通道n优先级设定,共16个优先级-----------------------------------------------------------------------------17)TCD源地址(DMA_TCD_SADDR)31-0 SADDR 源地址18)TCD信号源地址偏移(DMA_TCD_SOFF),表示下一个数据的存储地址15-0 SOFF 源地址信号偏移19)TCD传输属性(DMA_TCD_ATTR)15-11 SMOD 源地址模数10-8 SSIZE 源数据转换大小000 8位001 16位010 32位011 保留100 16字节其它保留7-3 DMOM 目标地址模数详见SMOD定义2-0 DSIZE 目标数据转换大小详见SSIZE定义20)TCD副循环计数器(DMA_TCD_NBYTES_MLNO)31-0 NBYTES 副循环转换计数,也就是副循环每次传输的字节数,21)TCD有符号副环路偏移(DMA_NBYTES_MLOFFNO)31 SMLOE 副循环源地址使能0没有应用SADDR,1应用于SADDR32 DMLOE 副循环目标地址偏移使能0没有应用DADDR,1应用于DADDR29-0 NBYTES 副循环偏移计算---- 22)TCD有符号副循环偏移(DMA_NBYTES_MLOFFYES)31 SMLOE 源副循环偏移使能0没有应用SADDR,1应用于SADDR32 DMLOE 目标副循环偏移使能0没有应用SADDR,1应用于SADDR29-10 MLOFF 当SMOE和DMOE为1,这里是偏移量,或者说是下次数据地址9-0 NBYTES 副循环字节转换计算23)TCD末尾(结束)源地址调整(DMA_TCD_SLAST)31-0 SLAST 末尾(结束)源地址调整24)TCD目标地址(DMA_TCD_DADDR)31-0 DADDR 目标地址25)TCD有符号目标地址偏移(DMA_TCD_DOFF),每次传输完存储目标地址增量15-0 DOFF 目标地址偏移* 26)TCD当前副循环连接(主循环计数)DAM_TCD_CITER_ELINKYES* 15 ENLINK 当副循环结束时,是否使能通道连接,0禁用,1使能* 14-13 保留* 12-9 LINKCH LINKCH连接通道号* 8-0 CITER 当前主循环迭代计数器,用于对主循环总次数计算(也就是副循环循环次数)** 27)TCD当前副循环连接(主循环计数)DMA_TCD_CITER_ELINKNO15 ELINK 使能通道对通道最小循环0不用,1使能14-0 CITER 循环数28)TCD末尾(结束)目标地址调整(DMA_TCD_DLASTSGA)31-0 SLASTSGA29)TCD控制与状态(DMA_TCD_CSR)15-14 BWC 带宽控制00 没有DMA 引擎停止01 保留10 DMA每读写一次停止4个周期11 DMA每读写一次停止8个周期13-12 保留11-8 MAJORLINKCH 连接通道号(16位)7 DONE 通道完成,该位标志DMA主循环完成,6 ACTIVE 通道执行,该位标志通道已经执行5 MAORELINK 使能通道对通道连接在一个主循环完成后0禁止通道连接,1使能通道连接4 ESG 使能散/聚模式0禁用,1使能3 DREQ 禁止请求,0通道ERQ位不作用,1通道ERQ位清除当主循环完成后2 INTHALF 使能一个中断当主计数完成一半时0禁止,1使能1 INTMAJOR 使能一个中断当主循环计数完成时0禁止,1使能0 START 通道开始,0没有开始,1开始* 30)TCD起始副循环连接(DMA_TCD_BITER_ELINKYES)** 15 ELINK 使能通道对通道连接当副循环完成时0禁止,1使能* 14-13 保留* 12-9 LIMKCH 连接通道号* 8-0 BITER 开始主循环计数,该值必须和CITER相同** 31)TCD起始副循环连接(DMA_TCD_BITER_ELINKNO)15 ELINK 使能通道对通道连接当副循环完成时0禁止,1使能14-0 BITER开始主循环计数------------------------------------------------------------------------------1)通道配置寄存器(DMAMUX_CHCFGn)7 ENBL DMA通道使能6 TRIG DMA通道触发使能0触发禁止,1触发使能5-0 source DMA通道源(64个DMA源,可映射16个中任何一个DMA通道)------------------------------------------------------------------------------DMA 请求复用配置---DMA request multiplexer configuration这个选项总结了这个DMA模块是怎么配置的,-------------------------------------------------------------------------*/。
飞思卡尔新手攻略
自己写的简单攻略,有不全的,大家提出来,我再补充修正详尽下~~刚开始智能车制作的同学看到一大堆的东西,可能都有点迷茫,貌似什么都不会,又貌似什么都会点,有点发憷,不知道从何开始,下面我把制作过程需要准备的硬件、软件和你需要学习的知识给大家系统一下,就是一个简单的入门攻略~~~入门攻略~~解决的问题:需要准备的硬件、软件和所用知识,以及简单的制作过程~入门攻略~~预期的目的:~~~~1.~入门攻略~~硬件准备篇下面列出的就是你需要的一些基本的硬件了,以飞思卡尔车模为例(1)车模(带舵机)(晕了,以下这几个都附有图片,可惜传不上来,我给大家一个链接地址吧/myspace/blog/show_144764.html )(2)清华做的S12最小系统板,芯片是16位的MC9S12DG128这个板子用起来还行,大家可以自己设计,也可以选择自己学校的板子,还可以用站长demon设计的(3)摄像头或者是光电传感器组(下图为摄像头)根据你的需要选择合适的型号的摄像头或光电传感器(具体怎么选,将在高级篇中介绍一下)(4)BDM(注意实际用时还需要一个USB数据线,用于连接到电脑上)这个是下载程序到单片机和在线调试用的,这个有时候使用不当经常出问题,常见问题都有一些解决方法,也将在高级攻略篇给出一些问题的解决方法。
(5)电源一块以上这些都是最基本的硬件东东,必须具备,为了把车模组装好,甚至弄的特别合理,使车的性能达到最好,有些需要调整,有些需要撤换,大家根据自己情况选择就可以,具体硬件优化攻略将在智能车制作高级攻略中介绍~~2. ~入门攻略~~软件准备篇(1)CodeWarrior 5.0最新版本应该在5.0以上了,它是完整的用于编程应用中硬件bring-up的集成开发环境。
CodeWarrior包括构建平台和应用所必需的所有主要工具- IDE、编译器、调试器、编辑器、链接器、汇编程序等。
这个软件能满足飞思卡尔智能车的编程、调试、仿真等(2)窜口调试软件在我们学习和调试串口与计算机通讯时发挥很大的作用(3)PDF2Word 可轻松将PDF转换为Word格式,转换稳定,出错机率小,是我们编辑文稿的必备软件(可选软件:DXP2004,其库元件已经包含飞思卡尔16位HCS控制器,是设计HCS12系列单片机PCB系统板的理想工具)3. ~入门攻略~~知识准备篇(1) 学习C语言编程及应用(建议大家用C语言编程序,如果你是汇编高手那就另当别论了)(2)单片机由浅入深攻略(单片机学习详细攻略网址:/thread-288-1-1.html)根据这个攻略去把飞思卡尔单片机去学习和练习应用下,一定要自己动手去编程和设计,把实验板都尽量弄熟练了(3)了解舵机,电机和传感器的性能及如何用单片机去控制它们(这个可以结合单片机去学习,最好能参考一些前辈做过的程序学习,多多问问老师和同学,自己再多多动手和思考)(4)学习用编程调试软件CodeWarrior,论坛里有不少教程,你们可以去下载看看,不是很难学的,不懂的多思多问多练(5)接口电路设计这里涉及的知识较广,模电、数电等等~~4. ~入门攻略~~简单制作过程以上三个准备工作都准备好了,你就可以开始整车的制作了第一步:硬件组装把你的电路板在车模上固定好,把电机、舵机、测速传感器,摄像头都连接到电路板对应的接口处,再接上电源第二步:程序编制及调试在CodeWarrio中新建一个工程,然后根据你的硬件条件在里面编制自己的程序,最好先在CodeWarrio里仿真一下看程序有没有错误,然后再用BDM下载到单片机上运行,看车能按你的设计跑吗,如此反复调试直到达到你的目标~~~智能车制作高级攻略将陆续推出,敬请留意~~。
k60在KEIL中的使用手册
K60是飞思卡尔公司的cortex m4系列CPU,目前技术较为新,市面上的开发板使用的芯片大部分是144pin的PK60X256VLQ100的样品,其主频正常使用为100MHz,其超频可以到达150作用。
下面我以KEIL MDK4.23和J-Link V8作为开发环境和下载器,下面是简单的使用手册(以图文形式向大家介绍)。
一、首先下载和安装KEIL MDK4.2.3地址:/download/product/选择MDK-ARM后,填写信息就可以直接下载。
二、安装省略啦,window下软件安装就是傻瓜式的了,只要会单机和双击就可以了,呵呵。
三、创建项目1.首先打开安装好的keil mdk,他的IDE采用的是keil4:如下图2.选择项目菜单Project,点击New uVision Project。
3.选择存储路径,写好项目名称test,点击保存。
4.选择CPU型号,我们这里使用的是飞思卡尔公司的MK60系列CPU,所以我们选择如下图所示。
5.点击ok,点击是。
出现如下图所示,其中startup_MK60DZ10.s为K60系列CPU的启动文件的汇编源代码。
6.设置J-LINK下载器,点击Flash中的Configure Flash Tool…如图所示。
(1)、Utilties选项卡中的Use Taget Driver for Flash Programming选择Cortex-M/R J-LINK/J-Trace。
(2)、Debug选项卡中的Use选择Cortex-M/R J-LINK/J-Trace。
(3)、C/C++选项卡中的Include Paths点击后面按钮。
添加K60头文件路径C:\Keil\ARM\INC\Freescale\Kinetis。
红色为安装目录。
7.下面我们新建个文件,点击File中的New,然后保存为main.c。
然后右键Source Group1添加TYS_system_k60.c和main.c文件到项目中。
K60 介绍 (中文)
第2章简介2.1 概要本章提供了Kinetis组合和K60系列产品的概述。
同时,本章提供了本文件所包涵设备的高水准的描述。
2.2 Kinetis组合Kinetis是低功耗可扩展和在工业上使用混合信号ARM®Cortex™-M4系列MCU的最好的组合。
第一部分介绍超过200引脚、外围设备和软件兼容性的5个MCU系列。
每个系列提供了优良的性能,与普通外设内存,内存映射,并提供内部和系列之间轻松迁移包和功能可扩展性。
Kinetis MCUs使用了飞思卡尔的新的90nm带有独特FlexMemory的薄膜存储器(TFS)闪存技术。
Kinetis系列MCU结合了最新的低功耗革新技术和高性能,高精密混合信号功能与连通,人机界面,安全及外设广泛。
Kinetis MCUs使用了飞思卡尔和ARM第三方合作伙伴的市场领先的捆绑模式。
表示低功耗混合信号USB 段LCD以太网加密和篡改检测DDR所有Kinetis系列都包涵强大的逻辑、通信和时序阵列和带有伴随着闪存大小和I/O数量的集成度等级的控制外围部件。
所有的kinetis系列包涵一下共同特征:· 内核:· ARM Cortex-M4内核提供1.25 DMIPS / MHz的DSP指令(浮点单元在kinetis系列可用)。
· 高达32位的DMA,同时尽可能减小CPU干预。
· 提供50MHz、72MHz和100MHz几种CPU频率(120MHz和150MHz在kinetis可用)。
· 超低功耗:· 10种低功耗操作模式通过优化外设执行和唤醒时间来延长电池寿命。
· 为了增加低功耗的灵活性,增加了低漏唤醒单元、低功耗定时器和低功耗RTC。
· 业界领先的快速换醒时间。
· 内存:· 从32 KB闪存/ 8 KB的RAM可扩展为1 MB闪存/128 KB的RAM。
同时使空白的独立闪存执行代码和固件更新。
飞思卡尔技术报告
K60模块分配K60的简介,我们本次使用了以下模块。
1. FTM模块:K60中集成3个FTM模块,而今年我们选用两个B车进行追踪循迹。
B车模使用单电机、单舵机,另外需要一个编码器。
所以对3个FTM模块进行如下配置:FTM0用以产生300Hz PWM信号控制舵机,FMT1用以产生18.5KHz PWM信号控制电机,FTM2用以采集编码器数据。
2. 定时器模块:K60中有多个定时器模块,我们使用了其中2个。
其一用以产生5ms 中断,处理相关控制程序。
另一个用以超声波模块的计时。
3. SPI模块:我们使用了K60的一个SPI模块,用以和无线射频模块NRF24L01P通信。
4.外部中断:我们使用了三个外部中断。
第一个是PORTA的下降沿中断,用以响应干簧管检测到磁铁。
第二个是PORTD的跳变沿中断,用以响应超声波模块的输出信号。
最后一个是PORTE的下降沿中断,用以响应NRF24L01P模块的相关操作。
数据采集算法传感器是智能车的眼睛,它们给智能车循迹和追踪提供了必不可少的信息。
因此,在智能车软件设计中必须保证数据采集算法的稳定性,同时兼顾其快速性。
本车比赛,我们的智能车主要采集以下传感器的数据:电感传感器电路板、编码器、超声波、干簧管。
下面主要详述超声波模块、电感传感器电路板的数据采集。
1 .超声波模块数据采集我们使用的超声波模块的DO引脚输出50Hz的矩形波信号,通过高电平的时间向单片机传递数据。
本超声波传感器的高电平时间为声波单程传输的时间,通过这个时间可计算出两车之间的距离。
我们使用外部中断和计时器结合的方式测量高电平时间。
首先配置PORTD11为跳变沿中断。
中断被触发时,如果PORTD11为高电平则开始计时,如果PORTD11为低电平则停止计时并记录时间间隔。
2. 电感传感器电路板的数据采集电感传感器电路板通过输出电压的大小反应响应位置和方向的磁场强度。
本次比赛中,我们使用了10个电感分布在6个不同位置,因此每个周期都要采集10路ADC数据,每路ADC数据采集32次进行平均滤波。
飞思卡尔智能车入门资料大全概要共35页文档
▪
28、知之者不如好之者,好之者不如乐之者。——孔子
▪
29、勇猛、大胆和坚定的决心能够抵得上武器的精良。——达·芬奇
▪
30、意志是一个强壮的盲人,倚靠在明眼的跛子肩上。——叔本华
谢谢!
35
飞思卡尔智能车入门资料大 全概要
41、实际上,我们想要的不是针对犯 罪的法 律,而 是针对 疯狂的 法律。 ——马 克·吐温 42、法律的力量应当跟随着公民,就 像影子 跟随着 身体一 样。— —贝卡 利亚 43、法律和制度必须跟上人类思想进 步。— —杰弗 逊 44、人类受制于法律,法律受制于情 理。— —托·富 勒
45、法律的制定是为了保证每一个人 自由发 挥自己 的才能 ,而不 是为了 束缚他 的才能 。—— 罗伯斯 庇尔
▪
26、要使整个人生都过得舒适、愉快,这是不可能的,因为人类必须具备一种能应付逆境的态度。——卢梭
▪
27、只有把抱怨环境的心情,化为上进的力量,才是成功的保证。——罗曼·罗兰
K60各模块入门培训教程
北京理工大学智能车俱乐部程序培训K60各模块入门前言这个小文档是对k60单片机的各模块进行了初步的介绍,以便大家在之后车队的k60实际培训演示中能更好地理解,能更快的上手单片机,另外说一下车队用的K60单片机型号是MK60DN512ZVLL10,不同型号的k60单片机各模块基本操作有些小区别。
本文档是基于给大家实际演示的各模块功能来撰写的,里面讲的各个模块在以后的做车过程中基本上都会用到。
实际上一个智能车上所实现的功能都是由这些最基本的小模块组合而成的,把这些小模块各个击破了,都理解了,以后看智能车的整体程序也就容易得多了~另外注意:在我没实际操作讲解之前,大家看这些模块的时候可以不用纠结一些细节的问题,大致有个概念即可~在我讲的时候好好听我讲各个模块的例程,做好笔记,然后看实验现象,进行进一步的理解。
之后自己再回去仔细看例程、笔记和这个文档,并且自己可以对程序进行一些改动,然后烧写程序看现象仔细研究。
PS:我们第十届包括之前的学长们都没有进行这样专门的比较系统的单片机各模块的培训,也没有学长们亲自给我们写这些入门的学习文档,基本都是自己去查资料学习,所以你们这一届算是很走运的了!不要错失良机不好好学习哦~话说回来,毕竟车队是一年比一年进步嘛,培训会慢慢地变得更加有条理!还有你们明年培训下一届的时候也是哦学完了单片机各个模块后,以后你们要是想对车进行哪个模块的调试不会出现不知道程序在哪、不知道怎样去调试这些最基本、较Low的问题~你们对各个模块理解透了,智能车整体的程序架构你们会轻而易举的掌握。
以后想调那个模块调哪个,整个程序也不会乱,以后要在车上增加新模块新功能也会容易得多!所以......仓鼠们打起精神~好好学吧!!!第十届摄像头游清目录一、GPIO模块 (5)1、GPIO概述 (5)2、I/O口的使用方法 (6)二、FTM占空比(PWM)模块 (9)1、PWM概述 (9)2、PWM程序讲解 (10)三、中断模块 (13)1、中断概述 (13)2、GPIO(I/O)口外部中断 (13)2.1I/O口外部中断概述 (13)2.2I/O口外部中断程序讲解 (14)3、PIT定时器中断 (16)3.1PIT定时器中断概述 (16)3.2PIT定时器中断程序讲解 (16)四、A/D(模数)转换模块 (18)1、A/D模块概述 (18)2、A/D模块程序讲解 (19)五、串口通信(UART)模块 (21)1、串口(UART)模块概述 (21)1、串口(UART)模块程序讲解 (22)后记 (25)一、GPIO模块车队用的K60单片机有100个引脚,如下图:其中大部分引脚有GPIO模块的功能,GPIO模块可以输出指定的高低电平,或读入输入电平,在实际智能车上可以用于调试用的小灯、蜂鸣器、拨码开关和摄像头信号数据采集及外部中断等。
K60各模块入门培训教程
K60各模块入门培训教程K60是一款ARM Cortex-M4内核的微控制器系列,由恩智浦半导体(NXP)公司推出。
K60系列微控制器具有高性能、低功耗、丰富的外设和丰富的开发工具支持等特点,适用于各种应用场景。
本教程将重点介绍K60微控制器的各个模块,包括GPIO(通用输入输出)、UART(串口通信)、SPI(串行外设接口)、I2C(串行接口)、ADC(模拟数字转换器)、PWM(脉冲宽度调制)等。
每个模块都将详细介绍其功能和使用方法。
一、GPIO模块GPIO模块是K60微控制器的通用输入输出模块,用于控制外部硬件设备。
K60系列微控制器通常具有多个GPIO引脚,可以配置为输入或输出。
在本教程中,我们将介绍如何配置GPIO引脚的方向(输入或输出)、读取输入引脚的状态和设置输出引脚的状态等。
二、UART模块UART模块是K60微控制器的串口通信模块,用于与外部设备进行异步通信。
K60系列微控制器通常具有多个UART模块,每个UART模块都包含发送和接收功能。
在本教程中,我们将介绍如何配置UART模块的波特率、数据位、停止位和校验位等,并编写代码实现通过UART与外部设备进行通信。
三、SPI模块SPI模块是K60微控制器的串行外设接口模块,用于与外部设备进行全双工的串行通信。
K60系列微控制器通常具有多个SPI模块,每个SPI模块都包含主机和从机模式。
在本教程中,我们将介绍如何配置SPI模块的工作模式(主机或从机)、时钟极性和相位等,并编写代码实现通过SPI与外部设备进行通信。
四、I2C模块I2C模块是K60微控制器的串行接口模块,用于与外部设备进行双向的串行通信。
K60系列微控制器通常具有多个I2C模块,每个I2C模块都可以配置为主机或从机。
在本教程中,我们将介绍如何配置I2C模块的工作模式(主机或从机)、时钟频率和从机地址等,并编写代码实现通过I2C与外部设备进行通信。
五、ADC模块ADC模块是K60微控制器的模拟数字转换模块,用于将模拟信号转换为数字信号。
飞思卡尔K60入门资料课件
将JTAG调试器连接到计算 机,并下载和安装相应的 驱动程序。
打开Keil MDK-ARM软件 ,创建一个新项目,选择 正确的芯片型号(K60), 并配置项目属性,如工作 空间、工具链等。
使用串口通信线将开发板 与计算机连接起来,以便 在开发过程中进行调试和 数据传输。
使用Keil MDK-ARM软件 编写代码,并进行编译和 调试。
K60在图像处理中的应用
K60芯片具有高速的图像处理能力,可以用于实现各种图像处理算 法,如图像增强、目标检测、人脸识别等。
图像处理实例代码
提供一些基于K60芯片的图像处理实例代码,包括图像增强、目标 检测等。
通信系统实例
通信系统概述
通信系统是实现信息传输和交换的技术体系,包括无线通信、有 线通信、卫星通信等。
软件问题及解决方案
总结词
软件问题通常涉及到编程环境、编译错误、烧录程序等,需要检查软 件配置和代码错误。
编程环境配置
确保你使用的编程环境(如IAR Embedded Workbench、Keil uVision等)已正确配置,包括驱动程序安装、工具链设置等。
编译错误
检查代码是否有语法错误或逻辑错误,仔细阅读编译器给出的错误提 示,定位并修复问题。
K60在通信系统中的应用
K60芯片具有高速的通信接口和强大的数据处理能力,可以用于实 现各种通信系统,如无线通信网络、卫星通信系统等。
通信系统实例代码
提供一些基于K60芯片的通信系统实例代码,包括无线通信网络协 议栈的实现、卫星通信系统的数据处理等。
05
K60芯片常见问题及解决方案
硬件问题及解决方案
开发环境常见问题及解决方案
1. Keil MDK-ARM软件安装问题:确保从官方网 站下载正确的版本,并按照安装向导进行操作。 如果遇到问题,可以查阅Keil官方文档或寻求技 术支持。
k60
• • • • •
通用寄存器R0~R12 堆栈指针R13 连接寄存器R14(LR) 程序计数寄存器R15 特殊功能寄存器(程序状态字、中断、控 制)
• 串行外设接口(SPI,Serial Peripheral Interface) 是Freescale公司推出的一种同步串行通讯接口, 用于微处理器和外围扩展芯片之间的串行连接。 SPI全双工主--从连接,四线同步传输。从机,主 机(串行时钟)。主入从出 ,主出从如。低功耗 模式。选择从机:主机将该从机的选择线拉低。 • I2C:在硬件上,二线制的I2C串行总线使得各IC 只需最简单的连接,而且总线接口都集成在IC中, 不需另加总线接口电路。支持多主控。主机提供 时钟信号,每个设备有独立地址。采用了独特的 寻址约定,规定了起始信号后的第一个字节为寻 址字节,用来寻址被控器件,并规定数据传送方 向。半双工。
• 控制器局域网CAN(Controller Area Network):CAN网络上的任何一个节点均 可作为主节点主动地与其他节点交换数据; CAN网络节点的信息帧可以分出优先级, 这为有实时性要求的控制提供了方便; CAN的物理层及数据链路层有独特的设计 技术,使其在抗干扰以及错误检测等方面 的性能大大提高。
K60可选择的芯片类型
芯片类型 CPU频 率 (MHz) 100 100 100 100 100 100 引脚 数 封装 Flash容 量(KB) 程序空间 (KB) EEPRO M(KB) SRAM(K B) GPIO
MK60N256VLQ100 MK60X256VLQ100 MK60N512VLQ100 MK60N256VMD100 MK60X256VMD100 MK60N512VMD100
144 144 144 144 144 144
飞思卡尔智能车入门指南
飞思卡尔智能车入门指南概述智能车巡线是一个半实时随动系统。
系统不断传感前方赛道的信息,根据赛道偏转情况计算前轮转向角度,再配合后轮的动力,达到巡线的目的。
如下图:该系统主要涉及知识领域有:单片机、传感器、电机、舵机、电路等,附带着涉及到一些调试手段知识。
以下就从这几方面简要介绍。
速度控制给电机加一个恒定的电压,电机最终会以某个恒定速度转动。
适当增加电压,电机速度会加快,最终稳定在一个更快的速度。
故调节电机所加电压即可调节电机转速。
由于单片机是数字电路,只能控制电压为“有”或“无”,于是我们让电压在“有”和“无”之间反复跳动,那么电压的有效值在电池电压到0之间可连续变化。
实际加载在电机上的电压是一个方波,方波的高电平时间长度比方波周期为占空比,占空比越高电压的有效值越高。
100%占空比相当于电池直接接在电机上,0%占空比相当于断路,0~100%相当于降压。
单片机普通输出口只能提供小电流的信号电,无法给电机提供功率,故使用MOS管。
用单片机的信号控制MOS管的通断,起到开关的作用。
开关串联在电池与电机之间,即可给电机提供功率。
单片机方波信号的频率一般在K的数量级(1000Hz)。
假设现在给电机50%占空比的方波,信号频率为1K,电机以某个恒定速度转动。
适当改变信号周期会发现电机转速略有变化。
信号频率很小(例如几十赫兹)或者很大(例如几兆赫兹)时,电机转速会较慢,在某个适中的值时速度达到最大值。
此时电机能量转化效率最高。
此时固定信号频率不变,改变信号占空比,电机转速和占空比基本成正比。
若以恒定占空比驱动电机,在负载发生变化时,电机速度也会发生变化。
若希望电机负载变化而电机仍能匀速转动,应采用闭环控制。
给电机安装速度传感器(例如:光电编码器),每隔固定的时间检测光电编码器旋转的圈数(例如:每10ms检测一次光电编码器在过去的10ms内旋转了多少圈),该圈数即可换算成速度。
当发现实际转速比目标转速慢时,适当增加占空比,反之适当减小占空比,则可实现在负载变化时电机转速基本不变。
MK60最小系统板使用说明书
MK60系统板模块使用说明书一简介:K60系列微控制器具有IEEE 1558以太网,全速和高速USB 2.0 On-The-Go带设备充电探测、硬件加密以及防篡改探测能力,具有丰富的模拟、通信、定时和控制外设,从100LQFP封装256KB闪存开始可扩展到256MAPBGA 1MB内存。
大内存的K60系列微控制器还提供可选的单精度浮点单元、NAND闪存控制器和DRAM控制器。
144脚LQFP封装的K60的引脚分布图如图1所示,很多引脚都是功能复用引脚,至于引脚选择哪个功能取决于相关寄存器的配置。
图1 K60 144 LQFP引脚分布图由功能框图可知,K60含有的功能模块包括:串行通信UART、GPIO、定时器、A/D、D/A、CMP、TSI、SPI、I2C、I2S、CAN、USB、SDHC以及存储模块。
不同单片机的相同功能模块用法是基本一样的,因此,这里的UART、GPIO、定时器、A/D、SPI、CAN与XS128的功能模块用法是一样的,CMP与XS128的PWM模块功能类似,都可以输出PWM波形。
关于其他模块的功能这里不再进行介绍,请大家参考K60的datasheet或者reference manual。
二模块特点:1.模块将单片机的引脚基本上全部引出,便于进行二次开发;2.模块电源设计了过流和过压保护,进一步增加系统抗电压和电流冲击能力;3.特别提醒大家的是,该模块不和5V接口兼容,所以使用时一定要小心,别直接使用5V电源供电,否则可能烧坏模块。
三模块使用注意事项◆板子为镀金板,使用过程中要轻拿轻放同时不要用手触摸金面,因为手上汗液容易引起金面氧化,产品使用久了,易导致接触不良等故障;◆产品放置时,因为焊接元器件个别高度凸出,因此不要有其它重物压在上面,以防压坏电路板上的贴片元件,进而影响板子性能;◆电路板存放温度不要超过55°,湿度小于60%;◆板子放置不要靠近潮湿地方,以防板子受潮影响使用,如果板子受潮,请将板子至于通风干燥地方进行干燥处理,如空调下,利用空调热风进行干燥;◆由于板子的引脚是裸露设计,请不要用手触摸相关引脚,以防静电损坏芯片引脚,影响板子性能。
飞思卡尔K60CH45ENET中文
飞思卡尔K60CH45ENET中文飞思卡尔K60 参考手册2012年6月2日版Chapter45 ENET·实现802.3规范,支持前导码/SFD产生,帧填充,CRC产生和校验·支持0长度前导码·可动态配置为支持10/100Mbps·支持10/100Mbps全双工,可配置为半双工·与AMDmagic包检测兼容·可以支持PHY:>4比特MII,工作于25MHz>2比特RMII,工作于50MHz·64比特FIFO用户应用接口·全速CRC32校验,可配置是否转发FCS给客户层·CRC32产生并添加到发送帧中,也可直接由用户应用提供FCS·全双工模式下:>实现自动pause帧产生和终止,允许没有用户应用干预的流控。
>pause时长可动态编程>pause帧生产可以有用户应用产生来进行流控>可配置是否将pause帧转发给应用>实现标准的流控机制。
·半双工模式下:提供完整的冲突检测,包括jamming,backoff 和自动重传等·支持VLAN帧·可编程的MAC地址:插入到发送帧,接收时丢弃地址不匹配的帧(广播帧和pause帧除外)·可编程为混杂模式,接收时不检查MAC地址·接收时采用hash开展多播地址和组播地址过滤,节省上层处理负担·可编程的最大帧长,支持标准和专有帧长·统计·简单握手的用户应用FIFO接口,提供完全可编程的深度和门限·用户接口收到的每个帧都提供各自的状态,如帧长,类型,错误信息等·多种内部loopback选项·MDIO主接口用于PHY的配置,采用两个可编程MDIO基地址·支持传统的FEC缓冲区描述符45.1.2.2 IP协议性能优化·只对协议数据和IP头优化·支持线速处理·支持IPV4和IPV6·其他类型和协议数据透传·指示VLAN帧·接收时自动进行IP头和载荷校验计算和检查·自动IP收和载荷简要产生并自动插入到发送帧中·支持IP、TCP、UDP、ICMP数据校验和产生和检查·支持IPV4和TCP协议头部的所有可选项·支持IPV6·支持接收IP和协议错误的统计信息·可配置自动丢弃错误帧·可配置自动进行收发期间IP和TCP.UDP.ICMP头字节顺序的转换·可配置接收时丢弃短IP帧的填充·可配置以太网载荷对齐,以允许头部和载荷的32比特对齐处理·FIFO可配置为存储转发45.3.1 ENET_EIR事件发生时会设置EIR中的一个比特,如果相应的EIMR位置位,则会产生一个中断。
飞思卡尔光电组套件智能车XS128K60介绍
此智能车模,配套的电机型号为RN260-CN-2875。智能车的控制采用的是双后轮驱动方案。智能车的外形大致如下:
智能汽车外形图
2.2
车模中的传感器包括有:速度传感器,车模姿态传感器(陀螺仪、加速度计)以及线形CCD。下面分别介绍这些传感器的安装。
2.2.1
速度编码器我们采用了编码器,安装方法如下:
为了保护模型车传感器支架,在车模机械设计的时候,增添了防撞保护装置,使一旦车模倾倒或者失控,防撞保护装置可保护车模机械的安全性,保证小车状态的稳定性。
飞思卡尔光电组套件智能车XS128 K60介绍
智能汽车外形图
第一章
智能汽车系统总体设计思路,后面将整个系统分为机械结构、控制模块、控制算法等三部分对智能汽车控制系统进行深入的介绍。光电组用了线性ccd,但是由于需要镜头成像,所以会带来成像失真,静电干扰严重等问题。由于平衡车的特殊性,车身在循迹前进的过程中,必须保持车身的平衡。根据最基本保持车身平衡的基本原理,需要知道车身当前的角度和角速度。因此在保持车身平衡方面,以加速度计作为角度传感器,陀螺仪作为角速度传感器。
用十字扳手套筒将车的后轮拆卸后,安装编码器,固定编码器的固定件是根据
车得尺寸及与编码器的相对位置手工制作的连接固定件。
在安装完后轮后,在利用十字扳手套筒将后轮装上。
安装时应注意调整好齿轮间隙。齿轮传动机构对车模的驱动能力有很大的影响。齿轮传动部分安装位置的不恰当,会大大增加电机驱动后轮的负载,会严重影响最终成绩。调整的原则是:两传动齿轮轴保持平行, 齿轮间的配合间隙要合适,过松容易打坏齿轮,过紧又会增加传动阻力,浪费动力;传动部分要轻松、顺畅,不能有迟滞或周期性振动的现象。判断齿轮传动是否良好的依据是,听一下电机带动后轮空转时的声音。声音刺耳响亮,说明齿轮间的配合间隙过大,传动中有撞齿现象;声音闷而且有迟滞,则说明齿轮间的配合间隙过小,或者两齿轮轴不平行,电机负载变大。调整好的齿轮传动噪音很小,并且不会有碰撞类的杂音,后轮减速齿轮机构就基本上调整好了,动力传递十分流畅。如图所示。
飞思卡尔K60入门课件
K60芯片内置硬件浮点单元,支持浮点运算 和数字信号处理。
外设接口丰富
可扩展性
K60芯片集成了多种外设接口,如UART、 SPI、I2C等,方便开发者进行硬件连接和 通信。
K60芯片支持多种外设扩展,可以根据不同 的应用需求进行功能扩展。
02 K60开发环境搭建
开发环境概述
嵌入式系统开发环境
用于编写、编译、调试嵌入式系统程序的环境。
飞思卡尔官方网站和开发者社区提供了丰富的教程资源,从入门到进阶,涵盖 了K60微控制器的各种应用场景和开发技巧。
参与开源项目
开源项目
参与开源项目是学习K60的一种有效 方式,可以了解其他开发者是如何使 用K60进行开发的,并从中获取灵感 和学习经验。
贡献社区
通过参与开源项目,不仅可以学习到 其他人的开发经验,还可以将自己的 经验和技巧分享给社区,与其他开发 者共同进步。
电平;在读操作时,可以读取引脚的电平状态。
中断编程
中断概述
中断是一种常见的硬件机制,用于处理紧急事件或异常情况。在微控制器中,中断可以由 外部事件或内部事件触发,打断当前正在执行的程序,转而执行相应的中断处理程序。
中断配置
配置中断的触发方式、优先级和中断处理程序。在飞思卡尔K60微控制器中,可以通过编 程配置中断的属性。
连接调试接口
将调试器正确连接到K60开发板的调试接口上, 确保物理连接稳定。
ABCD
驱动安装
根据调试器型号,安装相应的驱动程序,以便于 与开发环境进行通信。
配置调试参数
在开发环境或调试软件中设置调试参数,如波特 率、数据位、停止位等,确保通信正常。
系统烧写
准备烧写文件
根据K60的硬件配置和开发 需求,准备相应的系统烧写
Kinetis K60核心板套件用户手册V2.0
通联物网Kinetis K60 Cortex ™-M4 核心板+扩展板用户手册(ARM ® Cortex ™-M4 V2.0)北京通联物网教育咨询有限公司更新说明1、本次更新为2.0版本2、本次更新了K60套板的全部基础案例,共计59个案例。
后续基于KL04的传感器模块基础实验会不断更新到本文档目录更新说明 (2)目录 (3)一、Kinetis K60 Cortex ™-M4 (4)二、产品介绍 (6)1、产品简介 (6)2、开发板硬件资源 (10)2.1、核心开发板硬件资源 (10)2.2、通用扩展开发板硬件资源 (11)2.3 K60 核心板+通用扩展板配套光盘资料 (12)2.4 K60 核心板+扩展板C语言代码实验案例 (13)三、实验案例操作方法 (13)3.1搭建开发环境 (13)3.2安装串口转USB接口驱动 (15)3.3建立实验调试“超级终端”环境 (15)3.4注意事项及建立IAR6.3调试环境 (18)3.5基础案例 (23)一、Kinetis K60 Cortex ™-M4核心板+扩展板及配件照片:图1-1 K60/K10 核心板(正面)图1-2 K60/K10 核心板(反面)图1-3 K60 完全版扩展板(正面)图1-4 K60/K10 核心板+简化扩展板+JLINK 仿真器连接图图1-5 JLINK V8 仿真器二、产品介绍1、产品简介Cortex-M 系列内核是ARM 公司针对低功耗和高性能的嵌入式控制市场而开发的内核。
Cortex-M0 和Cortex-M3 系列芯片广泛的应用于智能仪表、智能卡、智能家电、智能玩具、短距离联网应用(Zigbee 和NFC)、汽车电子和高效电机控制等领域。
ST、TI、NXP、Atmel 和东芝等芯片设计公司都已经推出Cortex-M3 的MCU。
Cortex-M4 是ARM 公司于2009 年下半年推出的内核,其性能比Cortex-M3 提高20%。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、飞思卡尔Kinetis功能特性
1、ARM发展史 2、ARMv7处理器分类 3、ARM Cortex-M4特性 4、飞思卡尔Kinetis家族介绍 5、K60内部资源介绍
山东大学 Kinetis培训
ARM发展史
ARM架构发展历程
山东大学 Kinetis培训
ARMv7处理器分类
ARMv7根据应用分类:
• 应用处理器(Cortex-A系列) Aplication Processor • 实时控制器(Cortex-R系列) Real-time Processor • 微控制器(Cortex-M系列) Micro Controller 山东大学 Kinetis培训
最快频率、最高性能、合理功耗 即
模拟比较器
开发环境
3通道
CW10.1、IAR、MDK
山东大学 Kinetis培训
软件应用
调试工具
开发环境
二、K60开发生态系统
其 他 支 持
山东大学 Kinetis培训
Kinetis开发环境
支持Kinetis开发的IDE(集成开发环境)目 前主要包括CodeWarrior10.1及以上版本, IAR6.1及以上版本和Keil MDK(即Keil for ARM)等。
山东大学 Kinetis培训
飞思卡尔Kinetis家族
Kinetis系列是由飞思卡尔推出的业界第一款基于ARM
Cortex-M4内核的混合信号微控制器,采用飞思卡尔创新的 90nm薄膜存储器(TFS)闪存技术,具有独特的Flex存储器
(可配置的内嵌 EEPROM)。
Kinetis 微控制器系列融合了最新的低功耗革新技术,具有 高性能、高精度的混合信号能力,宽广的互连性,人机接口和
安全外设。飞思卡尔公司以及其他大量的ARM第三方应用商提
供对Kinetis 微控制器的应用支持。
山东大学 Kinetis培训
飞思卡尔Kinetis家族
山东大学 Kinetis培训
飞思卡尔Kinetis K系列
增加以太网,硬件 加密,温度检测和 DRAM控制器 增加图形液 晶驱动
增加USB 功能
增加模拟测量引 擎,以太网和硬 件加密
SD卡控制器 外部中断 DMA控制器 山东大学 Kinetis培训
K60内部资源介绍
K60(K60N512VLL100)
ADC通道数 ADC精度 ADC最大速度 ADC特殊功能 DAC 4组差分输入,24个单端 差分模式可编程16位,13位,11位和9位精度 单端模式可编程为16位,12位,10位和8位精度 361ksps/16bit, 818ksps/<=13bit 可编程增益的放大器(PGA) 硬件平均功能(Hardware Average Function) 12bit/1通道
四、K60代码框架分析
山东大学 Kinetis培训
K60上电启动顺序
(1)上电起初,单片机的电压调节器会把整个系统置于POR(上 电复位)状态的上电阶段,一直到工作电压达到了可以让单片机 正常工作的电压阈值之后才释放这个上电阶段,进入复位阶段; (2)在复位保持期间,由单片机内部的模式控制复位逻辑统筹支 配整个复位阶段的执行顺序; (3)首先MCG模块使能,并默认为FEI时钟模式; (4)相应模块的时钟使能,包括Coreclock,Systemclock, Flashclock,busclock等这些不需要门控(clock gate,M4的特色) 控制的时钟; (5)Flash控制器从复位状态释放(注意这时外部RESET脚仍然保 持低电平),并且执行一系列的初始化操作(因为要为接下来的 代码执行做准备了);
山东大学 Kinetis培训
K60上电启动顺序
(6)单片机/RESET引脚释放,但是系统复位状态继续保持, 一直到上面的Flash控制器初始化完毕(如果Flash控制器提前 初始化好,则/RESET引脚释放后立即从POR状态苏醒); (7)Kinetis从复位状态唤醒之后,开始设置堆栈(stack), 程序计数器(PC)和连接寄存器(LR),即从中断向量表地 址0读取内容给堆栈指针,地址4读取内容给PC指针,LR寄存 器设置为0xFFFF_FFFF。 (8)上面三个寄存器设置好了之后,单片机就开始从PC指针 指向的地址开始执行代码了,即进入启动代码阶段,最后才转 到main开始执行。
山东大学 Kinetis培训
K60内部资源介绍
山东大学 Kinetis培训
K60内部资源介绍
K60(K60N512VLL100)
封装 可用IO FLASH RAM LQFP100(14mm*14mm) 70 512kbyte 128kbyte
非易失存储
CPU类型 CPU最大速度 完整并行IO
无
ARM Cortex-M4 100M PTC0-15,PTD0-7
山东大学 Kinetis培训
Kinetis开发环境
CodeWarrior10.2 山东大学 Kinetis培训
Kinetis开发环境
IAR 6.3 山东大学 Kinetis培训
Kinetis开发环境
山东大学 Kinetis培训
开发环境对比
Codewarrior
优 点
IAR
Keil MDK
1、基于Eclipse开发 1、界面简洁,操作 1、界面简洁而且 平台,编辑界面交互 方面; 友好,上手简单; 功能强大; 2、老牌编译器厂商, 2、被ARM收购, 2、采用GCC编译器 自家的IAR编译器的 编译器对ARM内核 和GDB调试器; 编译效率较高; 支持相对较好; 3、对飞思卡尔的 3、第三方插件支持 3、可以向导化生 MCU支持较好。 丰富; 成启动代码,方面 4、可以向导化生成 4、支持在线实时仿 开发。 启动代码,上手简单。 真。
山东大学 Kinetis培训
Kinetis开发板
山东大学 Kinetis培训
三、IAR+Jlink开发K60方法
山东大学 Kinetis培训
IAR+Jlink开发K60方法
1、IAR代码模板结构分析 2、IAR模板移植 3、IAR项目工程设置技巧 4、Jlink调试技巧
山东大学 Kinetis培训
实时响应、合理性能、较低功耗
一般性能、最低成本、极低功耗
ARM Cortex-M4特性
ARM Cortex-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培训
K60内部资源介绍
K60(K60N512VLL100)
UART SPI I2C 4个(UART0~UART3) 3个(SPI0~SPI2) 2个(I2C0~I2C1)
Input Capture输入捕捉
PWM
Flex Timer模块,有硬件16bit计数器,至少8通道
Flex Timer模块,16bit计数器 FTM0——8通道 FTM1——2通道 FTM2——2通道 1个(SDHC0) 所有IO都可触发中断(PTA~PTE) 56个源,16通道
Flash存储类型 N=仅包含程序Flash;X=包含程序Flash和FlexMemory 程序Flash大小 32 = 32 KB;64 = 64 KB;128 = 128 KB;256 = 256 KB; 512 = 512 KB;1M0 = 1 MB 硅材料版本 温度范围 空=主要使用的版本;Z=初始版本;A=主要使用版本的 更新 V = –40到105摄氏度;C = –40到85摄氏度
山东大学 智能车工作室
By jicheng0622 /jihceng0622
ARM Cortex-M4学习与实践
——基于飞思卡尔Kinetis系列
山东大学智能车工作室 纪成 2013年3月
山东大学 Kinetis培训
内容安排
1
2 3 4 5 6
飞思卡尔Kinetis功能特性 K60开发生态系统介绍 IAR+Jlink开发K60方法 K60代码框架分析 K60外设资源在智能车中的应用 K60学习资源整理
清零RAM中初始化为 0的.BSS段
初始化锁相环PLL
跳转到main函数
山东大学 Kinetis培训
内存映射.map文件分析
山东大学 Kinetis培训
ቤተ መጻሕፍቲ ባይዱ
五、K60外设资源在智能车 中的应用
山东大学 Kinetis培训
K60外设资源在智能车中的应用
K60高精度高速的AD,可以有效的采集传感器模拟参数; K60的每个IO都可以设置为中断触发源,为智能车硬件设 计提供更大的灵活性; K60的FTM模块可以提供PWM通道,控制智能车的舵机和 电机; K60的PIT模块实现周期性中断,提供时间基准,或者与 LPTMR模块的脉冲累加功能实现速度测量; K60使用ARM Cortex-M4的核,具有1.25DMIPS/MHz的运 算能力,另外还有单时钟周期乘法累加(MAC)单元,优 化的单指令多数据(SIMD)指令、饱和运算指令等,使 更加复杂的处理算法的实现成为可能。