大厂商的小情怀:XMC1100 Bootkit开发板评测
扫描二维码
随时随地手机看文章
简介与资源
XMC1100Bootkit的最大特点是使用方便,上手容易.从外表上看来,Bootkit比较像ArduinoUno.事实上这个开发板也能使用ArduinoIDE来开发,后文也会介绍到.
英飞凌的处理器大致分为以下几大类:
1. Aurix/Tricore系列:这个系列是英飞凌自己开发的内核.主要针对汽车电子领域的应用.这个内核较为特殊,以后笔者也会推出一些内核的评测.
2. XMC1x,XMC4x:这是基于CortexM系列的处理器,其中XMC1x基于Cortex M0,而XMC4x基于Cortex M4.这个系列主要面向工业控制领域的应用.本文要讲的XMC1100属于XMC1x系列.
3. C166系列:基于英飞凌自己的C166内核,主要用于汽车电子领域.
4. XC800系列:基于增强型8051内核,也适用于汽车领域.
5. TLE98x系列:这是个小系列,是控制器+功率器件的组合型产品.目前有基于8051,Cortex M0,Cortex M3内核的产品.
回到本文主题,XMC1100 Bootkit上的资源如下:
1. XMC1100T038F0064AB芯片,64KB Flash, 16KB SRAM, 1.8V-5.5V工作电压,板上5V,3.3V可选,默认5V供电.注意XMC4x系列的工作电压范围是3.13V-3.63V与XMC1x不同.
2. 使用XMC4200制作的板上JLink(带有虚拟串口)
1. 3.7个可控制的LED
3. 可以USB供电,也可外加电源供电(5.5V-45V)
4. XMC1100所有IO口都引出来了.
XMC1100Bootkit板上的主角是XMC1100,芯片框图如下:
外观
XMC1100Bootkit与ArduinoUno对比:
原理图简析
因为XMC1100Bootkit板子的风格是简洁,做实验的时候大多还要外接其他板子或外设.所以原理图也不复杂,以下就几个值得一提的地方说一说:
外部电源
当有外接电源时,运放的输出脚为高,Q101关断,这样USB来的电源就与LDO的输出5V隔离开了,否则就是USB来的电压连接到板子上的5V节点.
Arduino接口
这几个接口与上图中的Power接口一起构成了Arduino兼容接口.对Arduino比较熟的同学应该看起来很亲切.值得注意的是板上将IOREF下面的那个IO丝印标成了RESET,其实该pin并非RESET引脚.这也是与Arduino接口不兼容的地方,因为XMC1100并无外部RESET引脚.不过这也不是什么大事情,只要了解这点就可以了.
板上JLink
这是使用XMC4200制作的板上Jlink,还带有虚拟串口.这应该是英飞凌与Segger合作的成果,XMC1x与XMC4x系列的开发板子上基本上都用这个设计.
开发程序:使用Keil
既然是Cortex M0,那么开发工具可选的很多,Keil是其中一种选择.先说一说Keil开发XMC1100的步骤.
先下载XMC1100的DFP:
建立新工程,选择XMC1100-T038x0064:
选择要使用的外设,这里要使用的是必须的Startup,UART,GPIO与LED:
就可以写代码了,代码较长,打包在后面的附件请下载使用.
调试器这样设置,选择Jlink+SWD接口,注意XMC1100属于Cortex M0,没有SWO接口.[!--empirenews.page--]
开发程序:使用Dave
Dave是英飞凌官方出的一个基于Eclipse定制的开发环境,目前可以开发的处理器类型有:XMC1x, XMC4x还有TLE98x系列,都是Cortex M内核的.
下载地址:https://infineoncommunity.com/dave-download_ID645
这个开发工具除了一般的Eclipse的特点之外,还有一个重要的功能,就是图形化编程.这种图形化编程跟ST的CubeMX有点相似,但是概念上更加先进一点,这里我们体验一下子这个编程方式.程序设计的目标是做一个闪烁的LED程序,闪烁频率1Hz.
第一步,建立Dave CE工程,注意工程类型:
再选器件封装类型:
添加一个PWM模块,Dave中称之为APP:
右击PWM模块配置参数:
再配置IO口,板上有个IO口P0.7上有LED,就把PWM输出配在这个IO口上.
看看资源报告:
到这里就可以生成代码编译下载了.
一切无误后可以运行,记得配置Jlink为调试器,不过已经有默认模板可以直接点.
至此为止,应该可以看到XMC1100Bootkit板上的LED以1Hz的频率开始闪了.一句代码也没有写,就能流水灯,可谓开发效率高.但是有一点注意,因为使用了图形化界面,生成的代码较为臃肿,适合快速原型开发,如果要优化则只能一点点写代码了.
开发程序:使用Arduino
首先添加XMC1100板的Arduino驱动:
要写的下载地址:
https://github.com/Infineon/Assets/releases/download/current/package_infineon_index.json
下载板子驱动:
选择板子XMC1100Bootkit:
简单测试代码:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
delay(1); // delay in between reads for stability
}[!--empirenews.page--]
选择测试串口:
烧写代码,运行,看结果:
注意:这个Arduino支持包的Github项目访问不是很稳定,有时能下载有时不能下载.大家不能下载的话主要还是用Keil/Dave开发吧.
总结与参考
XMC1100Bootkit简单易用,开发工具多样化.Dave的图形化开发程序的方式更是划时代的创新.总之该板子是一款英飞凌用户用来评估XMC1x系列处理器不可多得的神板.
Keil工程示例: https://pan.baidu.com/s/1hsLwl1a 密码: 89yb