首页 > 评测 > 一睹汽车级微控制器真容——TRK-USB-MPC5643L评测

一睹汽车级微控制器真容——TRK-USB-MPC5643L评测

  • 作者:Airwill
  • 来源:21ic
  • [导读]
  • TRK-USB-MPC5643L为搭载Freescale公司的Qorivva系列MPC5643L微控制器的汽车安全开发套件,这是一块接近于核心板式的MPC5643L低成本开发套件。
1.前言
 
     TRK-USB-MPC5643L为搭载Freescale公司的Qorivva系列MPC5643L微控制器的汽车安全开发套件。采用飞思卡尔特有的模块化塔式系统开发平台的接口。由于只提供简易usb调试器和微控制器,这是一块接近于核心板式的MPC5643L低成本开发套件。
 
      顺便介绍一下:塔式系统是一种多类型多板卡的集成模块化开发系统,核心思想是模块化设备的核心板与底板扩展的即插即用开发,不过飞思卡尔对其进行了更多优化。在塔式系统中,两侧的背板在承载开发板的同时,提供多个标准的接口,在这两块背板的插槽上可以插CPU板和各种外设模块板。用两块背板的好处是用户可以根据自己的需要任意组合购买相应的demo板或evb板,实现不同板级产品的协同工作调试与验证,从而提供更好的模块化,更大的灵活性,并且相同类型的开发板在不同开发中还可以复用,节省了成本。
来一睹汽车级微控制器真容46.png
 
2.初见&板载资源分析
 
      来自Mouser,外包装除了快递单,上面看不到任何有关开发板的细节,再加上快递大哥的搅和,刚收到快递时还让我迷惑了一下。晚上回家打开包装,里面是一张送货单,还要这个灰色防静电袋包装的开发板。打开防静电袋包装,里面是印有原厂标志的纸袋,纸袋里面是绿色开发板包装和一张说明书。看看这个全家福图:
来一睹汽车级微控制器真容609.png
      还有这个漂亮的绿色盒子,装有 TRK-USB-MPC5643L 开发板的盒子,颇有清新亮丽之感。
 
      开发板正面图:
来一睹汽车级微控制器真容670.png
      开发板反面图:
来一睹汽车级微控制器真容681.png
 
 
      整个PCB尺寸90x45mm,采用4层板,双面均焊有元器件。细看这个开发板,布局非常紧凑,器件排布整齐,丝印清晰简洁,加之采用深灰色阻焊层,感觉小巧精致又不失档次。不失飞思卡尔大厂的风范。
 
      TRK-USB-MPC5643L 开发板主要资源介绍:
Qurivva MPC5643L MCU.jpg
 
      飞思卡尔的塔式系统金手指接口,主芯片为 SPC5643LML Q1,一个板载的USB 接口调试器,这是个采用MC9S08JM60的开源OSBDM 简易型 OSJTAG 调试器。此外还有两个供用户编程的按键,两个 LED 指示灯,一个温度传感器,一个复位按钮。
 
      特别介绍一下板载的这个核心微控制器:Qorivva MPC5643L 32位MCU 基于Power Architecture技术,专为要求汽车安全完整性等级较高的一系列广泛汽车应用而设计。该芯片通过了ISO 26262标准有关MCU部分的评估和认证。并符合所有汽车安全完整性等级(ASIL),达到并满足最严格的等级ASIL D。
QQ图片20160111003758.png
      内核方面:MPC5643L内有两个高性能32位 PowerPC e200z4d 内核, 主频最高达 120MHz, 运行性能 >240 MIPS,片内1MB 带 ECC 校验 FLASH,128KB具有 ECC 校验 SRAM,工作的环境温度 -40℃~125℃,内部结温范围 -40℃~150℃。每个处理器有32个64位通用寄存器, 采用哈佛架构, 32位地址64位数据总线, 具有特权模式和用户模式,并支持虚拟内存管理。
 
1.指令单元特点:
  • 64位组相连高速缓存支持预取两条32位指令或四条16位指令;
  • 指令预取缓冲队列最大支持八条32位指令或十六条16位指令;
  • 专用的程序计数器递增器来支持指令预取;
  • 专用的分支地址加法器和分支目标缓冲用于实现分支预测能力,预测命中时实现单周期分支转移能力。
2.整数单元特别支持单周期执行绝大多数整数指令:
  • 32位算术单元执行算术和比较操作;
  • 32位逻辑单元执行逻辑操作;
  • 32位优先译码器用于计数到0的功能;
  • 32位桶形移位器执行逻辑和循环移位;
  • 32为掩码单元用于数据掩码和插入功能;
  • 分立的有符号和无符号除法单元,让除法计算不超过14个周期;
  • 管道 32x32 硬件乘法器阵列支持 32x32->32 乘法单时钟完成能力 (两时钟延迟)。
3.单精度浮点单元:
  • 单周期 32x32 浮点乘法能力 (两时钟延迟);
  • 标称9周期(最差12周期)  32x32 浮点除法;
  • 特有的平方根和最小最大值计算单元;
  • 信号处理支持: APU-SPE 1.1, 支持矢量模式, 每周期两条浮点数指令;
4.内存存取单元特征:存取单元支持载入,存储,多载入,多存储指令:
  • 32位有效地址加法器用于数据地址计算;
  • 管道操作支持单周期的载入和存储能力;
  • 专用的 64位内存接口支持保存和恢复单周期两个寄存器的能力;
  • 2个周期的载入延迟;
  • 支持大小端模式;
  • 支持未对准数据操作;
5.L1 高速缓存特点:
  • 4KB 可配置2或4路组相连指令缓存;
  • 64位数据, 32位地址总线加属性和控制位。
  • 6.内存管理单元特征:
  • 支持虚拟内存;
  • 32位虚拟和物理地址。
 
3.CodeWarrior安装&上电测试
 
      按照开发板手册的说明,在上电前先安装集成开发环境。由于处理器采用的是 Power 架构,官方推荐飞思卡尔公司专门集成开发环境CodeWarrior用于MPC55/56系列的CodeWarrior Development Studio for MPC55xx/MPC56xx (Classic IDE) v2.10,好像没有别的第三方集成环境可选。相对于当今流行的开发环境动辄就是多少G的安装文件,这个集成开发环境不足 250MB 的安装文件让人感觉好生的简练,当然我想这应该是因为该系列的MCU为数不多的缘故吧。
来一睹汽车级微控制器真容1403.png
  
      除了集成开发环境,还要再介绍一下FreeMaster这个调试器,FreeMaster是飞思卡尔为嵌入式系统开发的运行在PC机上的图形化在线调试工具,最初是方便在线实时调试电机应用而开发的,只不过后来大家都发现了它的好用,所以才在各个领域上发展起来了。都说飞思卡尔的汽车电子很厉害,看这调试工具就已为人先了,目前包括汽车电子的很多领域在广泛地使用这类图形调试工具了。很多公司还成立了专业的上位机图形调试开发团队。
 
      接下来连接 USB 线上电。和其它带 USB 板上调试器的开发板一样,上电的第一次就是要先安装板载调试器的Windows驱动,所以这个板也不例外,但是例外的是,不容易找到这个驱动程序,找到官网却没有提供下载,在这块板的姊妹板TRK-USB-MPC5602P 的中文页面,“重要提示 – 在插入USB电路板之前, 需从PEMicro OSBDM网页下载并安装最新的OSJTAG驱动器。”  
QQ截图20160111002700.jpg
      终于发现了这个驱动的下载网页,不过似乎还是要我继续折腾,在这个提供的网站点击驱动下载却总是打不开网页!反复试了很多次都没有能够打开,后来又让搜索引擎帮助,找OSJTAG的驱动倒是不难,试了好几个都没有对上这个USB调试设备!
 
      真是山重水复, 又来个柳暗花明。随意地翻看飞思卡尔网的OSBDM资料,意外看到原来这个 OSBDM 在Kinetis系列ARM的开发板上也有使用,于是就想 ARM 的开发环境也会使用到这个驱动程序,于是很幸运地在 Keil 的网站找到了这个的驱动,安装后顺利找到和识别了设备。为此特把这个驱动下载地址保留在后边的资料下载区。
来一睹汽车级微控制器真容2234.png来一睹汽车级微控制器真容2236.png
      总共有两个设备,1个是CDC的串口设备,一个是调试器。
 
      上电,有指示灯亮了, 是在调试器那边的一个黄灯, 一个绿灯,不知道mcu的默认代码是什么,好像什么动静都没有。除了按下复位键能够亮出边上的一个红灯,没有任何反应。
来一睹汽车级微控制器真容2348.png
      看来上电固件测试至此也只能作罢。
 
4.例程测试
 
      TRK-USB-MPC5643L 的例程也不好找,官网开发板页面也没有找到,不过搜索引擎帮我找到了一些简单的例程。下面是集成开发环境界面,加载了一个测试温度传感器的例程。
来一睹汽车级微控制器真容2465.png
      简单的设计一下编译配置(可以设置在 SRAM 里运行),编译成功。加载调试的界面:从调试器能开到其实这个处理器里面的通用寄存器是64位的。很强劲吧?
来一睹汽车级微控制器真容2542.png
 
5.自定义测试
 
      简单修改一下代码,目标是点亮板载的 LED 指示灯,通过指令延时翻转输出端口实现流水灯的显示。下图是流水灯显示的执行效果。顺便提一下专业配置工具,Processor Expert软件是飞思卡尔的一套开发系统,专为创建、配置、优化、迁移和生成源代码的软件组件而设计。不过在MPC5643L的网页并没有见提到这个工具,特意下载个最新版 Processor Expert Microcontroller Driver Suitet V10.4.0,确实未支持。
来一睹汽车级微控制器真容2784.png
 
6.小结
 
      以Power e200z4d 为内核的 MPC5643L是性能非常强劲处理器,相比ARM的CortexM 和R系列,虽然内核有16个通用寄存器,但R13~15却是专用寄存器,而R8~R12这些高寄存器的使用能力也有限,所以使用 ARM 这些系列编程,为了得到较好的性能,应该多使用较小的函数和较少的参数传递以减少内存局部变量的访问,而这又导致耗时的分支挑战指令执行的增多,影响性能。然而MPC5643L处理器则具有32个通用寄存器,大大提高应付复杂函数和计算的能力。而内核中的指令Cache将访问FLASH的能力大幅提升,再加上高级的分支预测执行,大幅减少分支指令的消耗,提升了处理器的性能。当然数量较多的寄存器也会影响到代码的效率。
 
      此外MPC5643L汽车级符合ISO 26262安全标准的MCU 设计,满足最严格要求的ASIL D级规范,为汽车电子安全关键部件提供了不可多得的高性能处理器。现已经为电动助力转向(EPS)、PSI5安全气囊系统、雷达系统、中短距离自动巡航控制、车辆动力和底盘控制、制动与稳定控制、主动悬架、电动汽车(HEV)逆变器控制器等设备所采用,是当之无愧的微控制器里的贵族。
 
资源下载:
 
TRK-USB-MPC5643L微控制器资料和开发板技术资料: TRK-USB-MPC5643L
 
集成开发环境:CodeWarrior Development Studio for MPC55xx/MPC56xx (Classic IDE) v2.10
 
学习引导手册:StarterTRAK USB Development System (TRK-USB-MPC5602P)
 
板载OSJTAG 驱动下载:Freescale Kinetis OSJTAG Drivers V1.20
 
——————本文系21ic原创,未经许可严禁转载——————

 

  • 本文系21ic原创,未经许可禁止转载!

网友评论