本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

超频中的战斗机----Freescale之KL25Z单片机最小系统板评测
发布时间:2014-12-15
分享到:
超频中的战斗机----Freescale之KL25Z单片机最小系统板评测
发布时间:2014-12-15
分享到:

自ARM公司推出的Cortex-M架构,一时间众多公司纷纷推出各自基于该架构的MCU产品,微控制器市场呈现一个百家争鸣的局面,而在去年飞思卡尔更是推出了其基于最新的Cortex-M0+内核的KL25Z系列单片机,主打高性能低功耗,大有横扫8位和16位单片机市场之势。近日,笔者也拿到了一款由蓝宙电子科技开发的采用飞思卡尔KL25Z128VLK4KL25Z128VLK4数据手册单片机的最小系统板。究竟这块小板有什么独特之处了,看完本文相信你的心中就会有答案。

板卡外观

首先呈上的是开箱照片

产品的外包装看起比较精美,蓝宙电子的各种电路模块均采用这样的包装。

打开盒子,里面采用防静电袋封口,并且在电路板下放入一包干燥剂,看来蓝宙在细节方便做的挺不错,防静电防潮工作做的足够细细致,对产品的要求也精益求精。这也提醒了各位工程师朋友在设计产品过程当中对这些产品之外的细节要格外注意。

landzo-kl25z-review-3

与爱板网名片的合照,可以看到整块板只有名片一半大小,非常精致。

从前面的照片可以看到,整块板卡正反两面均涂有透明的防静电胶,板材本身也采用了沉金工艺,复位按键更是使用了跟飞思卡尔官方FRDM-KL25Z评估板一样的长寿命按键,整块板正反两面也都进行了大面积覆铜,保证了性能的足够稳定,再次证明了这块小板并不是初次看上去那么简单。

板载资源

  • 飞思卡尔KL25Z128VLK4微控制器
  • SWD仿真调试接口,需外接仿真器
  • OLED接口,可以配套蓝宙电子的OLED模块
  • 1个红色电源LED,1个绿色调试LED
  • 引出一路TTL,包含TX,RX,GND
  •  microUSB接口供电,并连接MCU的USB IO口
  • 5V-3.3V稳压芯片,电源保护电路
  • 引出全部IO口

板子正面,可以看到主芯片KL25Z128VLK4和一些接口,以及LED和复位按键

板子背面,有microUSB,5V转3.3V稳压电路,电源保护电路,以及晶振,还有若干排针

KL25Z128VLK4微控制器是飞思卡尔Kenetis L系列微控制器L25型号中的最高配,芯片内置了128K大容量FLASH、16K的RAM以及64B的cache,工作频率48Mhz,LQFP80封装,同时也包含了常见的低功耗UART,I2C,SPI,USB等常见接口以及ADC,DAC等常见功能模块,更多详细数据参见《KL25Z128VLK4数据手册》。足够多的引脚,足够丰富的片上资源以及极高的能效比,使这款芯片在一推出立即获得了广泛的应用,使用范围覆盖了医疗电子,智能家居,可穿戴设备,智能三表,汽车电子等诸多领域。

调试方法介绍

1. 介绍所用到的调试方法(jlink V4.8固件+mdk4.7)工欲善其事,必先利其器,既然硬件资源足够强大和丰富,那么软件开发工具自然必不可少,我们有了好的集成开发环境IDE,必然会大大提高我们的开发效率。幸运的是,这个问题已经有厂商帮我们解决了。这个IDE就是我们非常熟悉的ARM Keil MDK。笔者初次接触飞思卡尔单片机,就是在这个环境下测试demo程序的。这里先说明笔者的环境:仿真器用的jlink,segger版本4.8(低于此版本会无法识别KL25Z的SWD接口),MDK版本V4.7(低于此版本会找不到KL25Z单片机的选择项)

版本4.8的segger驱动可以识别目标板SWD

版本4.40的segger驱动无法识别目标板SWD

2. 由于这款最小系统板没有板载调试器,所以需要外接一个仿真器才能完成调试。笔者用的是JLINK V8,segger版本4.8。这里要注意的是,KL25Z只支持SWD接口,因此需要跟仿真器20PIN引脚连接的方式和通常的JTAG口有所不同,SWDIO接TMS,SWCLK接TCK,此外还需要连接VCC和GND。

按图上连接好仿真器和系统板,就可以进入到下面的调试环节了。SWD接口比20PIN JTAG大大节省了单片机IO口,也减少了板载接口的面积,使板卡的集成度得到极大提高,这对于在产品中的应用有很大的帮助。

除了JLIKN之外,KL25Z系列单片机还可以使用USBDM,openSDA等仿真调来调试,鉴于笔者目前手中没有这些仿真器,在此不做赘述,有条件的朋友可以一一尝试。

上电调试程序

根据从蓝宙电子科技的FAE处得到的测试例程,笔者很顺利的建立了一个简单的工程,粗略阅读代码可以看到,这是一个控制板载LED灯闪烁的BLINK程序。

按照惯例,在option里选择好相应型号的单片机,在debugger里选择好仿真器J-LINK\J-TRACE,在选择单片机flash配置的时候选择了这个配置。

之所以选择这个配置,是因为在前面分析板载资源的时候看到了,这款最小系统板使用了一片50Mhz外接有源晶振。接下来,所有配置都完成,点击编译,没有问题,点击download,噔的一下,弹出错误。

奇怪的现象,重新检查之前的各项选择,都没有错误,难道是SWD连接有错。于是笔者立即检查SWD和JLINK连接线,并用万用表检查是否导通。检查结果没有任何问题。前面已经在仿真器配置里看到,仿真器已经识别了KL25Z的内核,这说明连接线没有任何问题,那么问题就应该出在其他某些设置。看错误提示显示,这个错误是跟Flash有关系,莫非是设置Flash的时候出了错误么。打开flash选项,看到有4个128K 的Flash可以选择。

笔者一一进行了试验,只有MKXX 48Mhz 128Kb Prog Flash这个选项才能最终完成程序下载。看到这里,也许细心的读者会问,这款单片机不是最高主频只有48Mhz吗,为什么却用了一个50Mhz的晶振呢?

带着这样的疑问,我仔细研究了一下demo工程的代码。该工程里面的库函数均由蓝宙电子开发完成,并且采用了大量中文注释,方便新手快速学习入门。

首先看主函数main(),其中有一个SystemClockSetup(ClockSource_EX50M,CoreClock_120M);

这个函数选择了外部50M晶振,内核时钟居然配置成120Mhz!这也太夸张了吧,继续  goto看这个函数是如何实现的。原来蓝宙电子的工程师经过试验发现,这款MCU的主频可以跑到120Mhz,只要外部总线和FLASH频率不超过40M,就可以稳定运行。

首先将50Mhz外部频率输入经过20分频,得到2.5Mhz的频率,再将2.5M经过48倍频,得到120Mhz的频率,最后将120Mhz频率设置成内核主频,同时将总线频率设置成主频的4分频也就是30Mhz,这样就完成了整个超频过程。不得不说,这段代码也向笔者展示了KL25Z单片机的时钟源选择多样性和便捷性。作为一个通常不会超过48Mhz主频的cortex-M0+内核单片机,居然跑到了120Mhz主频,不得不让人感叹这些开发人员的聪明头脑。

而且代码里还贴心的编写了获取MCU信息的函数,通过板载TTL串口在电脑上展示了配置成功后的各个参数。

更多的例程包含在蓝宙电子提供的资料文件当中,对于新手来说,学习阅读并动手实验例程是最快速的上手方法。

小结

本文介绍了蓝宙电子科技出品的基于飞思卡尔MKL25Z128VLK4单片机的最小系统板。这款小板结构紧凑,布局合理,做工优良,支持目前常见的开发软件和调试工具,如MDK+JLINK。在细节上,很多设计都为用户进行了足够的考量,也为初学者准备了大量详实严谨的例程和配套资料,加之作为国内公司,不管是FAE还是资料汉化程度都是初学者的福音。综合评价,这是一款不可多得的,非常适合各个层次开发人员快速完成原型设计的最小系统板。

参考资料

 原创申明:本文为爱板网原创,谢绝转载! 
加入微信技术交流群

技术交流,职业进阶

关注电路设计技能公众号

了解最新技术方案

加入电路城 QQ 交流群

与技术大牛交朋友

讨论 (2)

讨论区
xujian2000 ·  2014-12-18
keen9327 ·  2014-12-16
powerdruy ·  2014-12-16

MCG->C6=MCG_C6_VDIV0(24);//表示24+24=48倍频,参数为0的时候才是24倍频

展开