当前位置:首页 > 飞思卡尔
  • 飞思卡尔智能电池传感器保障汽车安全

    飞思卡尔智能电池传感器保障汽车安全

    每辆汽车中都至少有一个蓄电池,它通常有两个功能:启动发动机;给车内的电气装置供电,例如电动车窗,车载收音机等。在汽车发动机启动后,发动机将会通过发电机把动能转化为电能,然后给汽车电池充电来实现这个功能。为了满足以上两个功能,汽车的电池需要提供一个稳定的12伏的直流电源。电池工作异常,是很多汽车电气故障的主要原因,其中与发动机有关的问题将可能引发一系列的安全隐患。汽车发展的主流趋势就是车载电子设备和电子应用越来越多,混合动力和纯电动汽车逐渐流行,这都直接导致汽车电力负荷越来越高,不断增加电池的压力,要求对电池的工作情况尽可能多的实现实时监控,以分析可能出现的故障原因。另一个市场需求来自于气候的变化,极端天气的频繁出现让车载电池的故障率持续攀升,2012年底的欧洲和2013年底的美国,都因为极端气候导致的电池故障事故率大幅攀升。随着全新的关键任务需求(如发动机启停功能)越来越常见,分析公司Strategy Analytics的报告指出,截至2020年,全球预计将有超过5200万辆汽车可支持启停功能。启停需求以及其他需求(如再生制动和智能交流发电机控制)正促使传感器对电池状态进行更加精确的传感,以提供早期故障告警。智能电池管理系统(BMS)持续监控电池性能,包括电池充电状态,电池生命周期状态和电池对各种应用供电支持的状态,监控电池工作的性能可减少因电池亏电造成车辆抛锚的风险。这种系统基于智能电池传感器(IBS),可直接测量电池电流、电压和温度。测量数据传送给电池监控运算程序(BatMon)。BatMon计算电池状态并通知能量管理器电池所含能量、性能水平和使用寿命。这种信息反过来可用于支持启动-停车功能。当检测到电池接近临界状态时,立即提示驾驶者更换电池。为了可以更好地支持面向汽车和工业应用的传统和新兴电池化学品,飞思卡尔半导体业内首款面向普通市场的符合AEC-Q100标准的智能电池传感器已开始供货。该传感器在单一封装内集成了4路电压检测通道、5路温度采集通道和1路电流采集通道、3个模数转换器、1个16位MCU和CAN协议模块。MM9Z1J638电池传感器测量了多项关键电池参数,以监控电池的健康状态(SOH)、电荷状态(SOC)和功能状态(SOF),从而进行早期故障预测。灵活的4通道电压采集架构可支持传统12V铅酸电池和其他新兴的电池应用,如14V堆叠锂电池、高压接线盒和24V卡车电池。相比于其他竞争对手的分立方案,MM9Z1J638电池传感器集成了1个带有128K闪存、8K RAM和4K EEPROM 的16位S12Z 微控制器,和1个CAN协议模块、LIN接口和3个模数转换器电路,该传感器将模拟、处理器和通信功能集于一身,有助于降低物料成本并采用更加先进的电池监控算法。该模拟前端包括两个16位ΣΔ模数转换器(ADC),用于同步测量电池电压和电流,另外还有第三个16位ΣΔ 模数转换器(ADC)用于温度监控,采用集成式传感器和冗余测量真实性检查以保证功能安全。全新飞思卡尔产品的输入电池电压测量功能可支持高达52V的电压直接接入设备,并且当与外部分压电路配合使用时,可支持更高的电压电池配置。其定期唤醒功能可使器件长时间以低功耗模式运行,从而降低系统平均功耗。MM9Z1J638完全符合AEC-Q100汽车标准,可满足严苛的汽车业ESD、EMC标准并达到零缺陷质量水平。飞思卡尔开发的具有CAN/LIN接口的四节锂电池智能管理单元解决方案,支持功能包括:4个电压输入通道(从1.3 V最高至50 V)电压检测;4个外部温度检测和1个内部温度检测通道;多达+/-2000 A电流检测,外接100 μΩ分流器电阻;4个电池单体被动均衡通道(基于MC33879);两个低边和两个高边开关控制(基于MC33879); 供电电压范围3.5 V至28 V;支持CAN (物理层MC33901)、LIN、SPI、UART 通讯接口。今年5月即将深圳举行的飞思卡尔技术论坛将在现场演示基于该产品的相关解决方案,感兴趣的用户可以亲临现场的展位进行观摩。大多数飞思卡尔模拟产品均可满足工业市场的关键需求,如在更大的温度范围内运行。这些产品的设计和制造都经过严格的流程控制,并采用行业标准方法进行了检验,达到汽车市场严格的低缺陷率要求。MM9Z1J638电池传感器已纳入飞思卡尔产品长期供货计划,该器件的供货期最短为10年或15年。

    时间:2019-03-15 关键词: 飞思卡尔 传感器 电源技术解析 智能电池

  • 让atmega8可以和飞思卡尔xs128一样对IO引脚进行定义

    好吧,不得不承认,我使用飞思卡尔的XS128单片机已经非常之习惯了,结果一上手atmega8,最令我反感的就是atmega8不能对IO引脚进行操作,非要用些繁琐的位操作。我就不,我就要像飞思卡尔那样操作。。。于是。。。。。把我写的下面这个头文件塞到winavr目录的include/avr中,并在io.h头文件的最后包含这个头文件。嘿嘿,一切变得是那么的亲切与熟悉。。。。。。/************************************************************ 函数库说明:ATMEGE8 * 版本: v1.0 * *************************************************************注意: 无 ***********************************************************/ #ifndef _BIT_ #define _BIT_ //定义一个8字节的位段 bit0~7是每个位段名称 1代表一位 PBIT就是整个位段的名称 typedef struct { unsigned bit0 : 1 ; unsigned bit1 : 1 ; unsigned bit2 : 1 ; unsigned bit3 : 1 ; unsigned bit4 : 1 ; unsigned bit5 : 1 ; unsigned bit6 : 1 ; unsigned bit7 : 1 ; }PBIT; //强制转换 #define PORTABIT (*(volatile PBIT *)0x3B) #define DDRABIT (*(volatile PBIT *)0x3A) #define PINABIT (*(volatile PBIT *)0x39) #define PORTBBIT (*(volatile PBIT *)0x38) #define DDRBBIT (*(volatile PBIT *)0x37) #define PINBBIT (*(volatile PBIT *)0x36) #define PORTCBIT (*(volatile PBIT *)0x35) #define DDRCBIT (*(volatile PBIT *)0x34) #define PINCBIT (*(volatile PBIT *)0x33) #define PORTDBIT (*(volatile PBIT *)0x32) #define DDRDBIT (*(volatile PBIT *)0x31) #define PINDBIT (*(volatile PBIT *)0x30) //继续封装 #define PORTA_PA0 PORTABIT.bit0 #define PORTA_PA1 PORTABIT.bit1 #define PORTA_PA2 PORTABIT.bit2 #define PORTA_PA3 PORTABIT.bit3 #define PORTA_PA4 PORTABIT.bit4 #define PORTA_PA5 PORTABIT.bit5 #define PORTA_PA6 PORTABIT.bit6 #define PORTA_PA7 PORTABIT.bit7 #define PORTB_PB0 PORTBBIT.bit0 #define PORTB_PB1 PORTBBIT.bit1 #define PORTB_PB2 PORTBBIT.bit2 #define PORTB_PB3 PORTBBIT.bit3 #define PORTB_PB4 PORTBBIT.bit4 #define PORTB_PB5 PORTBBIT.bit5 #define PORTB_PB6 PORTBBIT.bit6 #define PORTB_PB7 PORTBBIT.bit7 #define PORTC_PC0 PORTCBIT.bit0 #define PORTC_PC1 PORTCBIT.bit1 #define PORTC_PC2 PORTCBIT.bit2 #define PORTC_PC3 PORTCBIT.bit3 #define PORTC_PC4 PORTCBIT.bit4 #define PORTC_PC5 PORTCBIT.bit5 #define PORTC_PC6 PORTCBIT.bit6 #define PORTC_PC7 PORTCBIT.bit7 #define PORTD_PD0 PORTDBIT.bit0 #define PORTD_PD1 PORTDBIT.bit1 #define PORTD_PD2 PORTDBIT.bit2 #define PORTD_PD3 PORTDBIT.bit3 #define PORTD_PD4 PORTDBIT.bit4 #define PORTD_PD5 PORTDBIT.bit5 #define PORTD_PD6 PORTDBIT.bit6 #define PORTD_PD7 PORTDBIT.bit7 //********************** #define DDRA_DDRA0 DDRABIT.bit0 #define DDRA_DDRA1 DDRABIT.bit1 #define DDRA_DDRA2 DDRABIT.bit2 #define DDRA_DDRA3 DDRABIT.bit3 #define DDRA_DDRA4 DDRABIT.bit4 #define DDRA_DDRA5 DDRABIT.bit5 #define DDRA_DDRA6 DDRABIT.bit6 #define DDRA_DDRA7 DDRABIT.bit7 #define DDRB_DDRB0 DDRBBIT.bit0 #define DDRB_DDRB1 DDRBBIT.bit1 #define DDRB_DDRB2 DDRBBIT.bit2 #define DDRB_DDRB3 DDRBBIT.bit3 #define DDRB_DDRB4 DDRBBIT.bit4 #define DDRB_DDRB5 DDRBBIT.bit5 #define DDRB_DDRB6 DDRBBIT.bit6 #define DDRB_DDRB7 DDRBBIT.bit7 #define DDRC_DDRC0 DDRCBIT.bit0 #define DDRC_DDRC1 DDRCBIT.bit1 #define DDRC_DDRC2 DDRCBIT.bit2 #define DDRC_DDRC3 DDRCBIT.bit3 #define DDRC_DDRC4 DDRCBIT.bit4 #define DDRC_DDRC5 DDRCBIT.bit5 #define DDRC_DDRC6 DDRCBIT.bit6 #define DDRC_DDRC7 DDRCBIT.bit7 #define DDRD_DDRD0 DDRDBIT.bit0 #define DDRD_DDRD1 DDRDBIT.bit1 #define DDRD_DDRD2 DDRDBIT.bit2 #define DDRD_DDRD3 DDRDBIT.bit3 #define DDRD_DDRD4 DDRDBIT.bit4 #define DDRD_DDRD5 DDRDBIT.bit5 #define DDRD_DDRD6 DDRDBIT.bit6 #define DDRD_DDRD7 DDRDBIT.bit7 //***************** #define PINA_PA0 PINABIT.bit0 #define PINA_PA1 PINABIT.bit1 #define PINA_PA2 PINABIT.bit2 #define PINA_PA3 PINABIT.bit3 #define PINA_PA4 PINABIT.bit4 #define PINA_PA5 PINABIT.bit5 #define PINA_PA6 PINABIT.bit6 #define PINA_PA7 PINABIT.bit7 #define PINB_PB0 PINBBIT.bit0 #define PINB_PB1 PINBBIT.bit1 #define PINB_PB2 PINBBIT.bit2 #define PINB_PB3 PINBBIT.bit3 #define PINB_PB4 PINBBIT.bit4 #define PINB_PB5 PINBBIT.bit5 #define PINB_PB6 PINBBIT.bit6 #define PINB_PB7 PINBBIT.bit7 #define PINC_PC0 PINCBIT.bit0 #define PINC_PC1 PINCBIT.bit1 #define PINC_PC2 PINCBIT.bit2 #define PINC_PC3 PINCBIT.bit3 #define PINC_PC4 PINCBIT.bit4 #define PINC_PC5 PINCBIT.bit5 #define PINC_PC6 PINCBIT.bit6 #define PINC_PC7 PINCBIT.bit7 #define PIND_PD0 PINDBIT.bit0 #define PIND_PD1 PINDBIT.bit1 #define PIND_PD2 PINDBIT.bit2 #define PIND_PD3 PINDBIT.bit3 #define PIND_PD4 PINDBIT.bit4 #define PIND_PD5 PINDBIT.bit5 #define PIND_PD6 PINDBIT.bit6 #define PIND_PD7 PINDBIT.bit7 #endif

    时间:2018-10-01 关键词: 飞思卡尔 atmega8 io引脚 xs128

  • DSP系列为下一代无线基站部署提供更高的性能支持

    DSP系列为下一代无线基站部署提供更高的性能支持

    随着行业向速度更高、延迟更低且以数据为中心的3G-LTE移动网迁移,OEM厂商需要能够提供更高吞吐量的DSP,以满足日益复杂的基站计算要求。飞思卡尔最新的DSP通过其MAPLE-B基带加速计增强版本满足该需求。灵活的MAPLE-B2加速计在小块硅中提供高水平的吞吐量,从而在优化成本和功耗的同时在高级天线处理算法的实施中实现低延迟。继两年前推出业内性能最高的可编程基带DSP 并完成多个部署后,飞思卡尔半导体宣布推出的两款新产品,其吞吐量超过先前推出的业界领先产品的两倍多。飞思卡尔MSC8157和MSC8158新产品是现已广泛部署的MSC8156 DSP的下一代产品。新DSP基于运行频率为1.2GHz的飞思卡尔SC3850内核,最近在由独立信号处理公司Berkley Design Technology, Inc (BDTI)进行的DSP架构测试中,它取得了最高BDTIsimMark2000™定点性能评分。MSC8157产品符合3G和4G无线标准,MSC8158则实行了成本优化,以便在WCDMA网络实现效率及吞吐量更高的部署。这两款产品都有助于通过整合技术来降低材料成本,不需要计算解决方案额外所需的昂贵的ASIC和FPGA。飞思卡尔高级副总裁兼网络与多媒体部总经理Lisa Su 表示,“随着MSC8157/58产品系列的推出,飞思卡尔利用其对无线网络技术的深入了解,来满足服务提供商大幅降低网络成本同时增加带宽的需求。这些新产品实现了性能、成本和能源效率的适当平衡,满足下一代3G/4G网络的需求。”在MSC8157和MSC8158 DSP里,许多数学和基带密集型任务分流到增强型MAPLE-B2模块上,以释放处理器的六个内核来处理其它任务。例如,浮点MIMO处理由MAPLE-B2模块执行,显著改善了浮点DSP 内核实现的时延。另外,MAPLE–B2模块还为OEM提供了单个的硬件平台来支持多种模式的操作,并允许通过一个简单的软件交换机满足额外标准。这种灵活性能加快高扩展设备的创建,有助于服务提供商缩减成本,降低资本开支和提高吞吐量。Forward Concepts 公司的Will Strauss 表示:“飞思卡尔新的MSC8157和MSC8158 DSP采用创新的系统级方法,解决了无线通信设备市场对功率、性能和成本的独特要求。这一系统级创新方法反映出公司在为世界顶级网络设备生产商提供QorIQ和PowerQUICC微控制器产品线方面具有长期、可靠的记录。”技术特性• MSC8157提供3G-LTE 20 MHz带宽可能实现的最高吞吐量,分别在下行和上行交付300Mbps和150Mbps的速率,通过4x4 DL、2x4 UL MiMO和各种消除干扰的方法支持数百名用户。另外,DSP可以支持下行为42Mbps上行为11Mbps的多个WCDMA扇区,以多种模式同时运行3G-LTE和WCDMA。• 硬件加速功能包括FEC、FFT/DFT、MiMO MMSE(最小均方误差)和MLD(最大似然解码器)灵活均衡器、以及通过浮点运算和IRC(组合抗干扰功能)接收器实现的矩阵反转。• MSC8157集成了高速DDR接口、充足的内部存储器、CPRI(通用公共无线电接口)6G天线接口和两个串行RapidIO Gen 2接口,从而在每通道上实现5G的功能和先进的通讯能力。• MSC8157和MSC8158 DSP都带有先进的WCDMA 芯片级加速度,因而OEM厂商不必自行开发ASIC或FPGA。高吞吐量和灵活的芯片级加速度以及512个物理信道让OEM厂商能够根据需要部署自己的芯片级算法。开发支持飞思卡尔提供完整的CodeWarrior开发工具套件,帮助OEM厂商缩短面市时间。该工具嵌入了高度优化的编译器、MSC8157ADS评估板,以及经过挑选、全面优化的3G-LTE和WCDMA软件内核。供货情况飞思卡尔将在2011年第一季度向选定客户提供MSC8157/58 DSP样品。如需了解定价信息,请与当地的飞思卡尔销售办事处或授权经销商联系。

    时间:2018-09-18 关键词: 无线基站 DSP 飞思卡尔 嵌入式处理器

  • 飞思卡尔数字信号控制器简化高性能助听器设计

    飞思卡尔 的 MC56F8006 数字信号控制器 (DSC) 为脉搏血氧仪或设计说明书第 15 页上的助听器等医疗设备以及感应和电机控制等其他应用提供了一个高度集成的开发平台。 MC56F8006 DSC 集成了飞思卡尔 56800E 内核,该内核心由三个并行工作的执行单元构成,允许在每个指令循环进行多达六次操作,将处理性能提升 至最高 32MIPS。MCU 型编程模式和经过优化的指令集允许直接产生高效、紧凑的 DSP 和控制代码。指令集对 C 编译器同样十分高效,可以使用飞思卡尔的CodeWarrior 开发工具套件快速开发经过优化的控制应用。 可编程的外围设备例如该器件的两个 12 位 ADC、6个PWM输出和两个 16 位定时器可让设计师集成以前由分散的多个元件来实施的信号采集等功能。由于元件数量的降低和更少的连接,这可以让小型、轻薄的产品例如个人医疗设备可靠性更高、性能更稳定。在便携式医疗设备中,实现更长的电池寿命通常 是重要的设计目标,MC56F8006’的诸多节电特征可让设计师以较低的功率预算实现较高的性能。本设备支持三种低功率和超低功率模式,其中一种模式允许限制外围设备的使用。在最低功率模式下,在 3V 电压下工作时,处理器只需要 1μA 电流,同时在 RAM 中储存关键状态信息。此外,设备可以快速从低功率状态中唤醒,让设计师在所有使用模式中实现最高的功率节省。 应用: 个人医疗设备 助听器 脉搏血氧仪 临床诊断和治疗设备 智能传感器 电机控制器 仪表 特点: 高达 16Kbyte 编程闪存 多达 40 GPIO 两个差分可编程增益放大器 (PGAs) 三个模拟比较器 宽工作电压范围:1.8V 至 3.6V 系统保护和时钟控制 片上系统集成模块 (SIM)

    时间:2017-05-25 关键词: 飞思卡尔 数字信号 助听器

  • 情非得已!恩智浦愿被高通收购

     2015年,恩智浦斥资118亿美元收购了飞思卡尔(Freescale)半导体公司,使得恩智浦成为全球最大的汽车半导体供应商,如果包括债务在内,两者合并后的市值约为400亿美元。 “全球第一”、“400亿美元”,这些看似风光的收购案数据,却给恩智浦带来了巨额资本压力。 恩智浦收购飞思卡尔的一个很大前提是“包括债务在内”,这也就意味着,飞思卡尔在被恩智浦收购之前是有债务缠身的,而恩智浦要想收购飞思卡尔,就必须承担起“还债”的责任。 据悉,在被恩智浦收购之前,飞思卡尔的财务压力已经到了非处理不可的尴尬境地。事实上,财报显示,截止2014年底,飞思卡尔的长期负债金额已经高达55.35亿美元,但总资产却仅有32.75亿美元,可以说,飞思卡尔当时已经处于资不抵债的状况。 尽管恩智浦今年上半年的营收达到45.9亿美金,还算相当可观,不过,不可忽略的是,其收购飞思卡尔的成本消耗还在继续,而且很高。 在这种情况下,对于恩智浦而言,被高通收购,也许是帮助其降低成本消耗的最好方式。 降低成本消耗固然是恩智浦愿意被高通收购理由之一,但对于长期发展而言,提高营收,拓展市场才是其更重要的发展目标。 显然,以恩智浦目前的状况而言,仅仅依靠单打独斗很难在短时间内有更大的成就,而高通作为一个目前市值超900亿美元的全球芯片巨头,对恩智浦的帮助是毋庸置疑的。 尽管通过收购飞思卡尔,恩智浦成为了全球最大的汽车半导体厂商,但在营收上,恩智浦与高通依然相距甚远。 恩智浦2016年第三财季财务报告显示,截至2016年7月3日,恩智浦总营收为23.7亿美元,而高通第三财季报告则显示,截至2016年6月27日,高通总营收已经达60亿美元。 不难看出,在2016年的第三财季中,高通营收已经接近恩智浦的3倍。与高通达成收购协议,无疑将为恩智浦的营收带来锦上添花的效果。 同时,在业务上,高通和恩智浦可以形成很好的业务互补优势,强强联手进一步为双方拓展市场。 据悉,高通专注的是数字设计方面,如数字滤波器、数字信号处理器等,其中最强的是处理器、收发机等。恩智浦擅长的则是在物联网、汽车电子和移动支付领域所需的射频、传感器和模拟及电源等非数字器件,NFC和智能卡IC更是成为其杀手锏产品。 如果此次并购成功,高通可以依靠恩智浦的非数字器件技术抢占汽车电子和物联网市场,而恩智浦不仅可以通过高通积累的广大客户群体进一步扩展其原有市场的,同时也可以凭借高通在数字设计方面的优势开拓新的市场。 所以从各个方面来看,高通都有实力帮助恩智浦实现降低成本、增加营收以及业务扩展的目标。因此,恩智浦如果答应高通的收购提议也自然是顺理成章。 近两年,NXP做了很多事情,买进卖出。2015年,斥资118亿美元收购了飞思卡尔(Freescale)半导体公司;同年,将RF功率部门出卖给北京建广资产管理有限公司(简称“JAC Capital”);今年1月NXP与建广资产共同投资建立的瑞能半导体(WeEn)正式在上海开业;现在,NXP再度与建广资产“握手”,卖出其标准产品部门。 今年9月30日,传言全球最大的通信芯片设计公司高通正在就收购NXP(恩智浦半导体)的事宜进行谈判,此次高通提出的收购要约或将超过300亿美元。最后,NXP终将自己全部卖出吗?

    时间:2016-10-19 关键词: 高通 恩智浦 飞思卡尔

  • 永远的飞思卡尔——FRDM-KEAZ128评测

    永远的飞思卡尔——FRDM-KEAZ128评测

    恩智浦与飞思卡尔完成合并后,一跃成为全球第一大的汽车电子半导体厂商,凭借着14%的比重遥遥领先着其他半导体公司。据统计,一辆最新宝马7系轿车上竟使用了超过300美元的恩智浦产品,新恩智浦在全球汽车电子领域可谓独领风骚! 在两家公司未完成合并之前,恩智浦在汽车安全门禁以及汽车总线接口SOC芯片上有着领先的优势,而合并之后,飞思卡尔更是带来了汽车安全微控制器,这使得恩智浦在汽车电子市场上更是如虎添翼!开篇扯了那么多恩智浦的东西,说到底,无非也就是要引出飞思卡尔的安全汽车微控制器,这篇文章将会继续评一评永远的飞思卡尔的汽车安全微控制器开发板FRDM-KEAZ128。 初看外包装,FRDM-KEAZ128套件继续沿用Freedom开发套件一贯的风格,但细看会发现,相对于一般的Freedom开发套件,FRDM-KEAZ128套件包装要稍微长一些,这也预示着此款套件的与众不同。 土黄色的硬纸盒,抽屉式的设计,是飞思卡尔永恒的经典,抽开包装,可以惊喜地发现,FRDM-KEAZ128套件居然为用户配套了一根USB调试数据线,这在以往的Freedom开发套件中是从来没有过的。 俗话说,有得必有失,得到一根USB调试数据线的同时,FRDM-KEAZ128套件取消了为用户准备快速入门彩页。整个套件包含了一块FRDM-KEAZ128板卡以及一根数据线。 因为取消了快速入门彩页,为了照顾第一次使用Freedom板卡的用户,套件专门使用贴纸,给出了该板卡相关资料的下载地址。 在PCB的设计上,FRDM-KEAZ128开发板卡延续了Freedom的传统,通过对比可以发现,该板卡在板载传感器的搭配、元器件的布局以及板卡接口设计等方面,都与其他Freedom开发板相似,PCB焊盘的沉金工艺,更是显得高端大气上档次。 不同的是,FRDM-KEAZ128板卡要比其他的Freedom板卡长出不少,这应该也是板卡外包装比其他Freedom套件包装长的原因所在。 FRDM-KEAZ128板载资源 1) S9KEA128AMLK 2) OpenSDAv1调试下载器 3) 虚拟USB串口 4) 高速CAN和LIN SBC芯片MCZ33903 5) 圆盘电位器 6) RGB3色LED 7) 用户按键 8) CAN总线接口 9) LIN总线接口 10) Arduino UNO接口 在FRDM-KEAZ128板子的背面,所有接口的功能、引脚定义都已经用白色丝印打出,清晰明了,这样一来我们在使用的时候,就不用再去对照着硬件原理图,直接接线即可,十分方便。另外,考虑到工程师的开发桌面永远的凌乱的,板卡配置了四个橡胶垫圈,避免了短路的风险。 FRDM-KEAZ128板卡板载芯片为S9KEA128AMLK,该芯片是针对汽车市场开发Kinetis EA 系列中性能最优越的一款,其内核基于 32 位 ARM Cortex-M0+,且具有高度可扩展性。Kinetis EA 系列MCU具有极低功耗的工作状态。2.7~5.5V宽电压供电及优异的EMC/ESD兼容性,因此非常适合车身安全或汽车传感器节点的应用,如车身控制、网关模块以及车窗、天窗、车锁、座椅、后视镜控制。 S9KEA128AMLK特性 1) ARM Cortex-M0+,具备单周期32位x32位乘法器,最高频率48MHz 2) 80bit唯一标识UID 3) 一个MSCAN 4) 一个16bit ADC以及两个DAC 5) 三个灵活定时器FTM,一个周期中断定时器PIT,一个脉宽定时器PWT 6) 两个SPI,两个IIC,三个USART 7) 汽车级温度范围:-40℃~125℃ 8) 宽电压工作范围:2.7V~5.5V 9) 128Kb Flash以及16kB SRAM Kinetis EA系类MCU主要面对的是汽车级的应用,因此FRDM-KEAZ128板卡板载了一颗SBC芯片MC33903,该芯片是飞思卡尔第二代系统基础芯片系列中的一款器件,片上包含了一路CAN和两路LIN,并对外输出一路的5V LDO给MCU供电,这样一来在汽车12V系统之中,MCU或是传感器节点就可以省下一颗电压转换芯片的成本。 不过恩智浦和飞思卡尔合并之后,因为恩智浦嫡系CAN LIN系统基础芯片,如UJA1071、UJA113X或是UJA116X等SBC的存在,飞思卡尔的SBC芯片地位十分尴尬。 上电体验 FRDM-KEAZ128出厂预加载了两个例程。上电之后,通过旋转板载圆盘电位器,可以改变RGB LED的颜色和闪烁的频率速度。 按下用户按钮SW2后,板卡进入第二个例程,通过旋转板载圆盘电位器,可以改变RGB LED的亮度。 CodeWarrior软件体验 在恩智浦官网可以找到CodeWarrior软件页面,注册后NXP官方会发送一封包含下载地址的邮件。最新版本是10.6版本。值得注意的是CodeWarrior软件是收费软件,下载后可以免费评估一个月。对于KEA芯片除CodeWarrior软件,NXP(准确来说是飞思卡尔)还免费提供了S32 Design Studio以及Kinetis Design Studio两个软件的支持。这三个开发环境都是基于eclipse,所以开发界面,流程大致一样,只是针对的芯片不同,比如CodeWarrior几乎支持所有的飞思卡尔芯片,而Kinetis Design Studio仅支持Kinetis系类芯片。 CodeWarrior10.6的安装过程并不复杂,但在安装的后期,会顺带安装OpenSDAv1调试下载器的驱动和虚拟串口的驱动,此时要注意安全杀毒软件的拦截。 安装完CW10.6和相应的驱动之后,连接计算机与板卡,计算机便会自动寻找驱动。 CodeWarrior10.6开发环境中内嵌了Processor Expert处理器专家系统工具,相当于意法半导体的STM32 CUBE软件,利用PE工具可以配置MCU,快速生成代码,十分方便。 CodeWarrior软件安装完成后,可以在软件安装目录eclipse文件夹下找到cwide.exe,双击打开CodeWarrior10.6。 接下来新建一个板载工程,在CW软件的菜单栏找到File,依次单击file-> New->Bareboard Project。 接着为新建的工程命名,点击“Next”进入下一步。 紧接着选择芯片,依次点击Kinetis E Series->KEA Family->KEA128 Family->SKEA128,并点击“Next”。 在随后弹出的窗口中,勾选“OpenSDA”,并点击“Next”进入下一个设置。 在这一个页面不需太多的设置,直接点击“Next”即可。 在最后一个页面中,选中“Processor Expert”,并点击“Finish”,工程便新建完成了。 接着使用PE工具配置一个点灯程序,在菜单栏单击“Processor Expert”,并选择“Show Views”。 这时,CW环境界面会出现KEA128的组件库。 点击展开“Port I/O”组件,并右击“BitIO”,选择“Add to project”,这样就新建了一个IO口。 在KEA128的组件目录中便可以找到刚刚新建的IO口。 紧接着,双击“BitIO”组件,在弹出的窗口中可以对其进行配置。 在“Methods”选项卡中,可以配置关于此组件的函数。 右击“BitIO”组件,在选择菜单中选择“Rename Component”,可以对其重命名。 配置完成之后,点击工程组件窗口右上方的第三个按钮,便可生成代码。 接着在main.c添加LED IO口置低的代码。 点击下图所示图标,进行工程的编译。 编译完成之后,右击工程名称,单击“Debug As”并选择“Debug Configurations”进行配置。 在弹出的窗口中,选择“KEA-128 FLASH OpenSDA”,并点击“Debug”下载程序。 第一次配置后,以后下载调试程序只需单击下图的按钮便可。 下载完程序后,点击开始运行按钮,便可以观察到板子蓝色LED点亮。 小结 Freedom FRDM-KEAZ128开发平台是一种小型化、高性价比的评估和开发系统,配合Processor Expert处理器专家系统,可简化工作量,是面向Kinetis KEA系列的超高可靠性微控制器(MCU)快速设计应用原型和制作演示的理想之选。   本文系21ic原创,未经许可禁止转载

    时间:2016-08-04 关键词: NXP 飞思卡尔 MCU frdm kinetis keaz128 s9kea128

  •  源于中国市场而生——MAPS-KS22套件评测

    源于中国市场而生——MAPS-KS22套件评测

    全球领先的嵌入式应用安全连接技术领导者恩智浦公司于去年针对中国市场推出了一款微控制器(MCU)产品——KS22,同时推出了一款低成本以及具有良好扩展性的快速评估硬件平台——MAPS-KS22开发套件。从2015年底得知这款MAPS-KS22开发套件生产,到今天市场上能够获得,足足等了近半年时间,今天21ic测评栏目给大家带来了这款久违的开发板! 一、开箱 MAPS四色板系列是恩智浦携本地合作伙伴(万利公司)共同研发出全新的MCU开发平台,该开发平台是由MCU主板、通用外设板、专业应用板、桥接扩展板四部分组成,按电路板的底板颜色进行区分,不同系列的评估板只MCU主板不同,共用相同的外设板,具有低成本、扩展性强、易于复制等特点。 打开MAPS-KS22开发套件,可以看到三个独立包装的纸盒组成,整个包装白色底色,配以深蓝色,让人感觉非常简洁、专业。通过包装我们可以看出,MAPS四色板系列是针对恩智浦的Kinetis MCU而设计的开发套件,同时包装上还印有MAPS的图标和飞思卡尔公司Freescale的标志,可以出这是在飞思卡尔被恩智浦公司正式收购之前的产品,在包装的侧面还印有Manley的标志,说明此款开发板是恩智浦与我国万利公司共同开发的套件。 图1 MAPS-KS22开发套件包装 打开包装,可以看到这套MAPS-KS22开发套件分别是MCU主板、通用外设板和通信线组成,套件内并不包括专业应用板、桥接扩展板等产品。 图2 MAPS-KS22开发套件 首先来认识一下MAPS-KS22开发套件的MCU主板,整个电路板以橙色为底色,这与其它MCU主板的颜色一样,所有功能元件全部在电路板的正面,背面非常干净。整个MCU主板可分为三个部分:右半部分是主控MCU(MKS22FN256VLL12)的最小系统,同时为了用户方便使用,将所有的I/O全部扇出,可自行焊接排针;左半部分是板载的外设,包括一个2.8寸LCD显示器、ISO7816智能卡接口、CAN接口等,用户可单独使用MCU主板即可对MCU进行评估;最后是MCU主板用于扩展的两个PM接口,可与套件中其他通用外设板或桥接板(例如:MAPS-Dock,MAPS-Bridge,MAPS-Arduino)对接,提供更为丰富用户体验。 图3 MAPS-KS22 MCU主板正面 图4 MAPS-KS22 MCU主板背面 MCU主板的主要特点及配置 • 板载一颗LQFP-100封装的MKS22FN256VLL12 CPU,基于120 MHz的ARM Cortex-M4内核,具有256KB Flash,64KB RAM,支持低功耗I2C,可灵活配置模拟各类协议的FlexIO,以及强大的FlexCAN。 • 提供独立的电源配置跳线,可对VDD/VDDA/VBAT各路的功耗进行测量。 • 提供一个Micro-B型USB接口,可用于供电和USB功能测试。 •  一个CAN收发器及其接口。 • 一个SPI 总线接口的2.8寸彩色LCD液晶屏,分辨率320x240。 • 一个ISO7816 智能卡卡槽。 • 一个纽扣电池,可为VBAT供电。 • 一个只支持SWD协议的20脚2.54mm标准调试接口,可外接仿真调试器。 • 一个4脚UART扩展接口和一个5脚I2C扩展接口。 • 一个复位按钮(黑色)和唤醒(蓝色)按钮,以及显示复位状态的LED。 • 扇出所有MCU引脚,可方便用户使用。 • 提供MPM接口(2 x 32 DIN 41612),可与MAPS-Dock,MAPS-Arduino,MAPS-Bridge链接,实现更为复杂丰富的功能测试。 图5 MAPS-KS22 MCU主板布局1 图6 MAPS-KS22 MCU主板布局2 图7 MAPS-KS22 MCU主板布局3 接下来看一下通用外设板(MAPS-Dock),在MAPS系列评估板中,所有的MCU主板共用了相同的通用外设板,这也体现了MAPS系列开发套件的设计思想,可为有效降低用户的成本。整个通用外设板以绿色为底板颜色,电路板的正面布局非常紧凑,具备Audio、SD、USB、SPI Flash、EEPROM、LCD、CAN、PWM、IR、RS232、RS485等多个功能模块,空间利用率非常高,让人感觉再也放不下一个元件了!通过PM接口与MCU板连接,可通过USB调试器接口5V供电,或可经PM接口互连的MCU板取电。 图8 MAPS-KS22通用外设板正面 图9 MAPS-KS22通用外设板背面[!--empirenews.page--] 通用外设板(MAPS-Dock)的主要特点及配置: • 板载飞思卡尔基于Cortex-M4内核K20微控制器实现的USB调试器,支持CMSIS-DAP协议,同时支持USB转UART功能。 • 一个Micro-SD卡插槽,一个8 Mbit SPI Nor Flash和一个2 Kbit EEPROM存储器。 • 一个USB全速接口,红外收发接口,两个UART接口,一个CAN接口。 • I2S音频编解码器,支持一路立体声耳机输出,两路Speaker输出,一路麦克风输入。 • 一个DAC/PWM Audio输出接口,两路单端或一路差分ADC输入。 • 一个支持SPI接口的128x64单色LCD屏。 • 四个物理按键,四个LED显示,一个五向按键,六个触摸按键。 图10 MAPS-KS22通用外设板布局1 图11 MAPS-KS22通用外设板布局2 图12 MAPS-KS22通用外设板布局3 图13 MAPS-KS22通用外设板布局4 MAPS-KS22开发板采用模块设计,MCU主板提供核心微控制器MKS22FN256VLL12和其主要特色外设的评估,提供独立的仿真调试接口和供电接口,因此可供用户单独使用,所有I/O引脚均扇出,可方便用户测试;与所有MAPS系列MCU主板复用的通用外设板(MAPS-Dock)板载仿真调试器和丰富的外设模块。 图14 MAPS-KS22开发套件结构 MAPS-KS22开发板套件的电源可单独由MCU主控板和通用外设板提供,电源可分为两个区域,分别是5V和3.3V以及其他模拟电源和外设电源构成。 图15 MAPS-KS22开发套件电源拓扑 另外MAPS-KS22套件MCU主板通过MPM接口和通用外设板的FPM接口直接对接,可使用户不需要插接一根线就可体验丰富的外设资源,但是通用外设板的元件并不是生硬的直接与FPM接口连接,而是通过跳线连接,这样可方便用户选择只是用某些外设,同时可利用插接线更改原有默认的接口,使用非常灵活、巧妙,这点设计非常值得称赞。 图16 MAPS-KS22开发套件连接 当然,这里也有一点点小的问题,就是当MCU主板和通用外设板插接到一起时,2块电路板并不是在一个平面上,而是中间低,两边高,电路板两边微微上翘,有些不平整,可能是在制作时的问题。 二、上电 MAPS-KS22开发套件在出厂时,自带了一个例程。拿到开发板,当然第一件事情是上电运行一下演示例程。 需要首先将MCU主板和通用外设板连在一起,然后将通用外设板上的串口UART1(CN7)和串口UART2(CN12)用套件附带的交叉串口线连接在一起,MCU主板的跳线全部采用默认配置,并将通用外设板的仿真调试器的USB接口连接电脑,为开发板供电,板载例程便开始运行。 图17 MAPS-KS22开发套件运行板载DEMO 在2.8寸的LCD屏幕上显示“MAPS-KS22F256 Testing…”和“MAPS-DOCK Testing…”的字样,可以看出开发板出厂所带的例程是MAPS-KS22套件的MCU主板和通用外设板硬件自检程序,用于检测系统硬件是否有问题。 下面来看一下都进行了哪些检测: 对于MAPS-KS22F256的MCU主板的检测主要有两项:MCU和LCDM的检测,如果MCU正常,在屏幕上显示 “Pass”字样,LCDM的检测,大家只需要看到显示屏显示了正常信息及说明2.8寸显示器正常。 图18 MAPS-KS22开发套件板载DEMO显示 对于通用外设板MAPS-DOCK的检测内容比较多,首先在通用外设板上显示飞思卡尔的图标,说明LCD128X64运行正常,然后是SPI Flash和I2C EEPROM的检测,应该是对存储器进行读写操作来判断硬件是否正常,还有DAC和ADC的检测,可以调整通用外设板右侧的两个可调电位器,查看AD转换是否正常,按下通用外设板上左下方的四个按键,可以在显示器上显示按键值,来判断按键是否正常,按下同游外设板右下角的五向按键,在显示器上显示你按下那个按键,最后是串口UART1和UART2的检测,通过交叉串口线实现两个串口通信来判断是否正常,显示器上显示 “Pass!”表示串口检测正常,如果你拔下串口线,显示器上就会显示“Fail!”表示通信错误。 图19交叉串口线拔掉后的现象[!--empirenews.page--] 图20  1.8寸显示 通过上面的MAPS-KS22自带硬件检测例程,可以查看整个开发板一切正常! 看了演示例程,有没有谁想研究一下板载例程代码呢?你会发现在恩智浦官网上是无法找到MAPS-KS22自带的硬件检测例程,我们说MAPS开发套件是恩智浦与国内万利公司共同开发的,其实这个例程是万利公司在生产MAPS-KS22时提供的检测程序,在万利的ftp上提供有源码下载,地址:ftp://222.186.63.138,用户名密码均为:guest。 图21MAPS-KS22板载自检DEMO源码下载 自检例程只提供了IAR环境,需要大家安装集成开发环境IAR,整个自检工程是一个很不错的学习工程,有些小遗憾是例程没有太多的注释,不过并不是很复杂! 图22板载DEMO源程序 三、主控 MAPS-KS22开发板套件的最大特点便是板载的这颗源于中国需求的通用微控制器MCU——MKS22FN256VLL12,该MCU定位于于车载信息娱乐系统、工业及消费类等应用领域。 图23 MAPS-KS22主控MCU MKS22FN256VLL12隶属于全新的KS22系列MCU,基于ARM® Cortex®-M4内核,支持最高120MHz CPU主频,配备64KB大容量SRAM和高达256KB Flash,能够更好地支持一些复杂算法的应用(如车载语音识别、指纹识别、智能语音设备等);同时为了降低功耗,KS22系列MCU采用了Kinetis L系列的低功耗平台,具备良好的动态功耗和超低的静态功耗,并配置多种低功耗外设(包括LPUART,LPI2C等),以满足市场对高性能和低功耗应用的需求;另外KS22系列MCU具备丰富的通用外设接口(包括USB OTG,双CAN,双I2S,UART,SPI,I2C),以及特有的FlexIO模块,可以模拟多种外设接口(如UART,SPI,I2C,I2S等)。 图24 KS22系列MCU内部结构 KS22系列MCU的主要特点和优点可见官方提供的数据: 图25 KS22系列MCU特点 目前恩智浦公司为KS22系列MCU推出了LQFP-100、LQFP-64和QFN-48三种封装的十余种产品信号,最小封装是7mmx7mm的QFN48封装。KS22具有1.71V-3.6V供电的宽工作电压以及-40度到105度的宽工作温度,恩智浦保证供货周期至少为10年。 图26 KS22系列MCU种类 由于KS22系列MCU是针对中国市场设计的,恩智浦公司提供了提供全方位的本地化支持,包括丰富的中文技术文档(数据手册和参考手册)、本地化开发套件(MAPS-KS22)、全新的软件开发套件(SDK)和本地工程师技术支持。这些特点是非常难得的! 目前50章的英文参考手册以翻译30章的中文版,这是国内工程师不可多得的资料。 图27 KS22系列MCU中文参考手册1 图28 KS22系列MCU中文参考手册2[!--empirenews.page--] 四、开发 恩智浦公司为KS22系列MCU提供全方位的本地化支持,不仅包括丰富的中文技术文档(数据手册和参考手册)、和本地工程师技术支持,而且提供了全新的软件开发套件(SDK),MAPS-KS22开发套件是目前能够在恩智浦官网查到了唯一一款与国内第三方合作开发的本地化开发套件,支持所有的主流开发工具,比如ARM® MDK开发工具、IAR Embedded Workbench®、mbed开发平台、Atollic® TrueSTUDIO®、CodeWarrior等,此外恩智浦专为Kinetis MCU/单片机而开发的Kinetis Design Studio集成开发环境,引脚配置工具Pins Tool v1.0方便的实现图形化的引脚配置,完美支持KSDK V2.0。 1、开发准备 要进行MAPS-KS22开发,首先要将开发环境搭建好,这里我选择Kinetis Design Studio(KDSV3.0)集成开发环境,KINETIS-SDK(KSDK V2.0)集成开发套件。 (1)Kinetis Design Studio(KDSV3.0)集成开发环境 Kinetis Design Studio (KDS)是恩智浦公司专为Kinetis MCU开发的完全免费的集成开发环境,可提供强大的编辑、编译和调试功能。Kinetis Design Studio IDE基于包括Eclipse、GNU编译器套装(GCC)、GNU调试器(GDB)等开源软件,为设计人员提供了一种不限制代码大小的简单开发工具,此外,Processor Expert(PE)软件是一种图形化的配置工具,只需几次鼠标点击即可创建强大的应用。 图29 KDS软件结构 安装完成,可以看到KDS V3.0是基于Eclipse的集成开发环境。 图30 KDS软件界面 (2)KINETIS-SDK(KSDK V2.0)集成开发套件 Kinetis软件开发套件(SDK)是恩智浦公司开发的旨在简化和加速基于所有Kinetis MCU的软件库,它由强大的外设驱动、堆栈、中间件和示例应用组成,而且Kinetis SDK开发套件是完全免费的,包含所有硬件抽象和外设驱动软件的完整源代码。 图31 KSDK软件库结构 Kinetis SDK包含以C语言编写的以下运行时软件组件: • ARM® CMSIS Core和DSP标准库,以及兼容CMSIS的器件标头文件 • 支持在所有Kinetis MCU间移植的开源硬件抽象层 • 用于集中处理资源的系统服务,包括时钟管理器、中断管理器、低功耗管理器和硬件定时器 • 开源高层外设驱动 • 一种操作系统抽象(OSA)层,用于调整应用,以配合实时操作系统(RTOS)或裸机(无RTOS)应用使用。 若要下载KSDK V2.0软件库,需要登录恩智浦官网。 按链接进入Kinetis Expert主页。 图32 Kinetis Expert主页 新版本的KSDK V2.0软件库与原先的版本不同,需要大家在官网针对具体的评估板或 MCU选择一项配置,然后使用 Kinetis Exper构建一个符合MAPS-KS22开发板的软件库。 图33配置MAPS-KS22开发套件的KSDK软件包 下载对应的MAPS-KS22的KSDK V2.0软件库,将其解压。 图34 KSDK V2软件库结构 KSDK V2.0版本的软件库的目录非常清晰,具体每个文件夹的作用可参看下表。 图35 KSDK V2软件库目录说明 特别是在\boards\mapsks22文件夹下面提供了丰富的MAPS-KS22的例程,可帮助大家快速建立基于MAPS-KS22的工程,了解KS22系列微控制器的使用。 图36 KSDK中包含丰富的例程 (3)Pins Tool引脚配置工具 由于Kinetis MCU的引脚有很多复用功能,为了方便用户对引脚进行配置,恩智浦提供了这个引脚配置工具——Pins Tool,使用它可以方便的配置引脚路由/多路复用、管理路由初始化的不同功能、配置引脚功能/电气属性和生成用于路由和功能/电气属性的代码等功能,该工具有在线网页版和本地安装版,它是一个图形化的配置工具,可使用保存好的配置文件或生成的C文件来共享配置(通过导入/导出或通过拷贝粘帖生成的源代码),属于Kinetis Expert系统配置工具的一部分,在线版的地址在与KSDK在同一页面。 图37在线Pins Tool工具界面 (4)板载调试器 在MAPS-KS22开发套件的MAPS-Dock扩展板上默认板载了CMSIS-DAP调试器。板载调试器程序运行在扩展板的一颗Kinetis K20芯片上,通过SWD(Serial Wire Debug)接口调试KS22,并通过USB接口连接到上位机。上位机可以通过各种支持CMSISDAP的集成开发环境(IDE)对目标设备进行调试。但是在很多情况下感觉CMSIS-DAP下载速度比较慢一些,恩智浦为大家提供了OpenSDA-JLink v2.0调试器来替代板载的CMSISDAP。OpenSDA-JLink调试器可以使得上位机将Dock板上的板载调试器视为JLink,基于JLink的工具都可以使用。 图38 MAPS-KS22开发套件快速上手包 解压后可得到OpenSDA-JLink v2.0固件。 图39 OpenSDA-JLink v2.0固件 升级固件时,首先要使仿真调试器进入CMSIS-DAP Bootloader模式,将连接到通用外设板Dock的USB连接线拔掉,按住MCU板上的K1 Reset按键,将USB线的一端插入Dock,一端插入PC,释放K1 Reset 按键,如果在计算机“我的电脑”中显示一个名为“BOOTLOADER”的可移动存储设备表面调试器已进入Bootloader模式。 图40板载调试器的Bootloader模式 然后在上述MAPS-KS22F256快速上手包中的JLink_OpenSDA_V2.bin拷贝到到BOOTLOADER的可移动驱动器内,最后重新插拔USB连接线,可在设备管理器中查看新的OpenSDA JLINK调试器已经运行起来。 图41板载调试器识别为OpenSDA JLINK[!--empirenews.page--] 2、开发 在MAPS-KS22开发套件上,有一个SPI接口的彩色LCD显示器,支持像素320x240,接下来通过在LCD显示器上显示如下图片,来测试一下MAPS-KS22的开发过程。 图42测试图片 首先打开KDS软件,新建一个KSDK V2.0的工程,在如下输入工程名称和基于的KSDK库。 图43新建KDS工程1 下一步,选择基于MAPS-KS22新建空的工程。 图44新建KDS工程1 完成后即可生成基于KDS软件的工程,可以看到整个工程目录非常清楚。 图45生成工程 接下来要对KS22微控制器的引脚进行配置,这里首先要知道整个测试中用到哪些引脚,这需要查看MAPS-KS22的原理图,找到显示器使用的接口,这里主要使用PD1、PD4、PD5和PD6四个引脚。 图46 LCD显示器引脚1 图47LCD显示器引脚2 之后在网页版的引脚配置工具中,选择需要的引脚。 图48引脚配置工具 在进行配置中,每操作一步,都会更改右侧pin_mux.c和pin_mux.h文件的内容。 图49完成引脚配置 当配置引脚完成后,将引脚配置工具的pin_mux.c和pin_mux.h文件内容拷贝到KDS工程的相应文件中。 图50复制到KDS文件中 由于MAPS-KS22开发板上的彩色LCD显示器采用ili9341驱动,接下来编写相应的驱动文件ili9341.c和ili9341.h文件。 图51 LCD显示器驱动 使用Image2Lcd工具将需要显示的图片转换成c代码。 图52图片转换成C代码 将生成的代码复制到KDS工程中。 图53图片文件复制到KDS工程 接下来编写主函数,将需要显示的图片显示出去。 图54编写主程序 最后编译成功后,点击Debug按钮下载调试程序。 图55下载调试 通过显示效果可以看出达到了预期的目标。 图56运行效果 通过以上使用KDS+KSDK+Pins Tool组合进行MAPS-KS22开发套件的开发,整体感觉非常快捷方便:其中KDS是恩智浦公司针对Kinetis系列MCU开发的集成开发工具,该工具完全免费而且没有代码限制,只是运行时占用计算机资源稍微多一些;KSDK是恩智浦针对Kinetis系列MCU开发完全开源的软件库,功能十分强健,可帮助用户快速使用目标微控制器,而且可以和KDS软件完美结合;Pins Tool提供了图形化的引脚配置工具,可帮助用户只需要点击鼠标便可对系统微控制器引脚功能进行配置。 最后有一点小遗憾就是目前KSDK V2软件库不支持恩智浦的Processor Expert软件,该软件是一套图形化的软件管理系统,可创建、配置、优化、迁移和发布各种软件组件,快速帮助用户开发系统,希望能够早日支持新版本的软件开发套件(KSDK)。[!--empirenews.page--] 五、总结 KS22系列单片微控制器是恩智浦针对中国市场需求设计的一款通用MCU,基于ARM® Cortex®-M4内核,支持最高120MHz CPU主频,配备64KB大容量SRAM和高达256KB Flash,为降低功耗,采用Kinetis L系列的低功耗平台,并配置多种低功耗外设(包括LPUART,LPI2C等),此外该系列微控制器具备丰富的通用外设接口(包括USB OTG,双CAN,双I2S,UART,SPI,I2C),以及特有的FlexIO模块。该MCU定位于车载信息娱乐系统、物联网、可穿戴设备、医疗/保健、智能能源、数据连接、工业及消费类等应用领域,并具有一定的竞争力。 MAPS-KS22是恩智浦为用户针对KS22系列微控制器提供的一个快速评估、低成本以及有良好扩展性的硬件平台,并且复用了现有的外设板(MAPS-Dock)及桥接板(MAPS-Arduino, MAPS-Bridge)来扩展其功能。支持主流的开发工具,提供功能强大的KINETIS-SDK(KSDK V2.0)集成开发套件,可方便用户快速进入开发。  本文系21ic原创,未经许可禁止转载

    时间:2016-08-03 关键词: NXP 飞思卡尔 MCU maps ks22 manley

  • 永远的飞思卡尔——FRDM-KV10Z评测

    永远的飞思卡尔——FRDM-KV10Z评测

    虽然早在去年的12月,NXP收购飞思卡尔,并完成了合并,但今天评测文章的板卡FRDM-KV10Z却是飞思卡尔时期的作品,所以暂且给他贴上个标签——永远的飞思卡尔。 FRDM-KV10Z套件是一款面向Kinetis V系列MCU的低成本开发工具,Kinetis KV10则是V系列的入门级产品,其外设模块,如多个电机控制定时器,专门用于电机控制应用。典型应用领域包括 BLDC 无传感器、PMSM无传感器FOC(低动态)以及ACIM V/Hz和 FOC(低动态)等电机控制应用。 从外包装上看,FRDM-KV10Z套件延续了Freedom开发板一贯的风格,土黄色的硬纸盒,抽屉式的设计,一成不变的外观,成就了永恒的经典。 抽出盒子,整个套件其实也就一张彩印的快速入门手册,以及FRDM-KV10Z板卡。按照惯例,来个合照哈哈。 快速入门彩页上简单介绍了板卡的各个组成部分,这样一来,使用者对 板卡便有了一个大致的了解。另外彩页上还打印了板卡接口的IO引脚号,方便开发者查看,以便快速接线,加快开发速度。 在PCB的设计上,FRDM-KV10Z开发板卡延续了Freedom的传统,通过对比可以发现,该板卡与其他Freedom板卡在大小、板载传感器的搭配以及板卡接口设计等方面,都与其他Freedom开发板类似,pcb焊盘的沉金工艺,更是显得高端大气上档次。 不同的是,FRDM-KV10Z板卡并没有像其他Freedom板卡一样,把接插件焊盘放空,除了5V的power inpuy接口之外,其余的接口均焊上了,这无疑大大方便了工程师朋友的设计开发工作。 FRDM-KV10Z板载资源 1) MKV10Z32VLF7 2) OpenSDAv2调试下载器 3) 虚拟USB串口 4) 3轴加速度和3轴磁力计传感器FXOS8700CQ 5) 热敏电阻 6) RGB3色LED 7) 用户按键 8) Arduino UNO接口 在板子的背面,所有接口的功能、引脚定义都已经用白色丝印打出,清晰明了,这样一来我们在使用的时候,就不用再去对照着硬件原理图,直接接线即可,十分方便。另外,考虑到工程师的开发桌面永远的凌乱的,板卡配置了四个橡胶垫圈,避免了短路的风险。 仔细观察可以发现,板卡背面还用丝印打上了一个二维码,通过手机扫描二维码,可以看到里面包含了一个网址。 但是打开网址,却指向了404界面。 FRDM-KV10Z板载芯片为MKV10Z32VLF7,该芯片基于ARM Cortex-M0+内核,具备硬件平方根和除法功能,最高频率可达75MHz,且带电机和功率控制专用的正交解码器。 MKV10Z32VLF7特性 1) ARM Cortex-M0+,具备硬件平方根和除法功能,最高频率75MHz 2) 80bit的UID 3) 4通道DMA 4) 两个16位ADC 5) 两个6通道和4个双通道可编程FlexTimer 6) 12位DAC和两个ACPM (模拟比较器) 7) 一个SPI,一个IIC,两个USART 8) 双看门狗 9) 32Kb Flash以及8kB SRAM [!--empirenews.page--] FRDM-KV10Z板载新一代开源调试下载器OpenSDAv2.1,配合开源固件mbed CMSIS-DAP,可实现U盘拖曳下载程序,并支持虚拟串口功能,是调试KV10芯片的得力助手! OpenSDAv2.1调试下载器特性 1) 大容量存储设备(MSD)闪存编程接口 2) 支持虚拟串口功能 3) 支持mbed CMSIS-DAP、P&E Micro以及Segger JLink的固件 上电体验 连接计算机与micro usb接口之后,计算机便会出现一个USB盘符。打开USB,里面有一个网页文件指向MBED的官网,不过笔者在MBED官网却找不着FRDM-KV10Z这款开发板的支持,看来还需要等些时日,才可以用MBED来开发FRDM-KV10Z。 FRDM-KV10Z预装了”水准仪“演示,可充分利用板载加速度传感器。当电路板处于水平时,RGB LED熄灭;当电路板倾斜时,绿色或蓝色LED根据X轴和Y轴上的倾斜度逐渐发亮 驱动安装 虽然OpenSDAv2.1采用了免驱动的设计,即插即用,直接连接计算机便可以调试下载程序,但如果需要使用虚拟串口功能,还是需要安装相应的驱动才可使用。 在FRDM-KV10Z快速入门网址上可以找到mbedWinSerial_16466.exe。下载完成后,首先连接计算机和FRDM-KV10Z的OpenSDAv2.1(J6 Micro usb),然后双击打开mbedWinSerial驱动。 在弹出的窗口中,点击“Install”进行驱动的安装。在安装的过程中,弹出驱动安装确认窗口,点击“安装”即可。 安装完成后,计算机需要重新扫面硬件变更。此时点击“跳过从Window Update获得驱动程序软件”。 稍等片刻,驱动便安装完成了。 此时,在计算机的设备管理器中也可以看到虚拟串口“mbed Serial Port”。 接下来需要打开KEIL软件的PACK,下载并安装飞思卡尔KV1x芯片的支持包,在PACK的右侧可以快速找到freescale并展开,点击KV1x系列,并在软件左侧找到kinetis_KVxx_DFP,点击“Install”进行安装。 安装完成后,KV1x系列下方的微控制器符号将会由未安装支持包前的白色,变为安装后的绿色。 功耗测试 在板卡的设计中预留了一个功耗检测的接口J20,不过J20两个焊盘却在PCB的处理上直接相连接,若是需要进行功耗的评测、需要用小刀割线。 割开连接后,需要焊上排针,为了保持板卡的无铅属性,特意挑了一卷德国SN100C无铅焊锡(最近玩焊锡有点走火入魔了哈哈)。 紧接着,借助NXP官方提供的功耗检测相应代码,通过putty软件和虚拟串口,我们可以控制KV10运行在不同的模式。 通过测试,KV10在各个模式下的功耗情况如图所示:     小结 虽然FRDM-KV10Z在板载资源上,相比于MAPS四色板系列,实在没法相提并论,但是利用这些有限的资源却可以把KV10芯片外设功能发挥得淋漓精致。而且这款板卡在贸泽电子的报价仅仅为154.0188,性价比极高,小巧的板卡结合板载新一代OpenSDAv2.1调试器,绝对称得上是KV10微控制器最佳的开发利器![!--empirenews.page--] 资源连接 MKV10Z32VLF7参考手册 MKV10Z32VLF7数据手册 FRDM-KV10Z用户手册 FRDM-KV10Z硬件原理图 OpenSDAv2虚拟串口驱动程序 本文系21ic原创,未经许可禁止转载

    时间:2016-07-27 关键词: NXP 飞思卡尔 MCU frdm kv10z

  • 致我们逝去的飞思卡尔——FRDM-KL05Z评测

    致我们逝去的飞思卡尔——FRDM-KL05Z评测

    一、开篇介绍 FRDM-KL05Z是一款超低成本开发平台,由基于ARM Cortex-M0+处理器的Kinetis L 系列 KL0xMCU组成。特点包括易于访问MCU I/O、配备电池管理功能、低功率运行和标准外形规格(可搭配扩展板使用),内置的调试接口可进行闪存编程和运行控制。FRDM-KL05Z受到众多飞思卡尔和第三方开发软件的支持。 图1 FRDM-KL05Z板卡 二、FRDM-KL05Z开箱 FRDM-KL05Z包装盒使用FRDM系列传统的牛皮纸盒,盒子上标着大大的FRDM标志,下面露出的红色部分写着板子的具体型号,包装盒采用抽屉式设计,非常的贴心。 图2 板子包装盒子 轻轻抽出盒子,可以看到板子安静地躺在盒子内,完全拉出盒子就可以看到板子的真容了。 图3 板子盒子内部 红色的用户指南,告诉你从哪里开始体验FRDM-KL05Z,让开发者能快速进行开发。 图4 快速开发指南卡片正面 和其他板子不一样,FRDM-KL05Z基本将所有的引脚都用排针座引出,便于开发人员扩展,快速入门指南卡片大体介绍板子的资源。开发板体积虽小巧,还是提供了一些基本的外设如RGB三色LED,MMA8451Q三轴陀螺仪,另外开发板也提供了Arduino UNO兼容接口,提供Arduino UNO接口早已成了许多开发板的标配。 图5 快速开发指南卡片背面 FRDM-KL05Z开发板使用绿色油墨覆盖,PCB设计得很好,元件布局合理,走线清晰,焊接工艺非常不错!开发板四角使用圆角设计,整体看起来非常圆润,使用过程中也不用担心边角硌手的问题了,mini USB接口用于引出OpenSDA调试接口。 图6 板子正面图 FRDM-KL05Z开发板背面丝印列出了接口的位置及名称,在连接外设时更得心应手,右边还预留了锂电池接口,默认没有配备,需要自行添加,用于评估低功耗运行情况。开发板背面还提供了4个橡胶脚垫,增加稳定性的同时也可以避免与其它金属部件的接触而导致短路等问题。 图7 板子背面图 特性 MKL05Z32VFM4 MCU – 48 MHz、32 KB闪存、4 KB SRAM、32QFN,Cortex™-M0+内核,带有一个SPI接口,一个I2C接口,一个串口,8路PWM,6路ADC,一个12位的DAC。 电容滑动触摸感应板,MMA8451Q加速度传感器,三色LED 灵活的电源的选择,可以选择纽扣电池供电,或者外部电源供电 易于访问MCU I/O 成熟的OpenSDA调试接口 大容量存储设备闪存编程接口(默认) – 无需安装任何工具即可评估演示 app P&E Multilink接口具有运行控制调试功能并兼容IDE工具 三、FRDM-KL05Z深入了解 板子引出大量常用接口,方便开发者扩展使用。 图8 板子引脚图 用三路PWM来控制RGB灯,I2C接口控制MMA8451Q三轴陀螺仪。 图9 板子引脚图 图10 官方快速开发包中的例子 装好驱动,用mini USB数据线连接板子和电脑,即可看到名为FRDM-KL05Z的可移动硬盘,官方快速开发包中带有三个例子,分别是出厂demo,RGB灯交替闪烁,低功耗demo,将srec文件拖到移动盘即可完成下载程序,板子复位后即可看到效果。 板子第一次上电,RGB灯首先各种颜色先变换一次,然后利用MMA8451Q加速度传感器,变换板子的角度,RGB灯随之改变,操作电容滑动触摸感应板可以改变灯的亮度。 FRDM系列开发板的openSDA固件基本类似,除了有v1和v2之分,固件升级和使用方法基本相同。可以参考FRDM-KL25Z的固件升级方法。 [!--empirenews.page--] 图11 查看OpenSDA版本 看到Application Version is:1.18,这是最新的固件版本了。从固件的修改日期看,最后修改日期是2015年12月4日,表明官方一直在维护着KL-05Z的相关代码,并没有弃之不顾! 这么老的板子,没想到mbed居然支持该硬件平台,可以在硬件平台上找到FRDM-KL05Z的板子信息,mbed上对FRDM-KL05Z板子的参数有详细的介绍,并给出快速入门指南,能共享其他开发者开发的教程。 图12 ARMmbed 平台介绍板子参数 将FRDM-KL05Z板子添加到自己的工程下,打开mbed 编译器后可以看到工程代码。 图13 ARMmbed web IDE编辑器 以下是具体代码,从宏定义可以看出,此套代码适应于KL25Z、KL46Z、KL05Z和K20D50M平台,兼容性做得相当不错。通过读取MMA8451三轴陀螺仪的数据,改变RGB灯的颜色,从而实现改变板子的角度灯的颜色随之改变的功能,并把数据通过串口打印出来。 #include "mbed.h" #include "MMA8451Q.h" #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) PinName const SDA = PTE25; PinName const SCL = PTE24; #elif defined (TARGET_KL05Z) PinName const SDA = PTB4; PinName const SCL = PTB3; #elif defined (TARGET_K20D50M) PinName const SDA = PTB1; PinName const SCL = PTB0; #else #error TARGET NOT DEFINED #endif #define MMA8451_I2C_ADDRESS (0x1d<<1) int main(void) { MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); PwmOut rled(LED1); PwmOut gled(LED2); PwmOut bled(LED3); printf("MMA8451 ID: %d\n", acc.getWhoAmI()); while (true) { float x, y, z; x = abs(acc.getAccX()); y = abs(acc.getAccY()); z = abs(acc.getAccZ()); rled = 1.0f - x; gled = 1.0f - y; bled = 1.0f - z; wait(0.1f); printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z); } } [!--empirenews.page--] 修改好代码,点击Compile按钮,即可编译代码。web IDE的使用这里就不详细讲解了,请参考网上的教程。 图14 编译代码 编译完成后系统会生成一个可执行文件,供用户下载。 图15 下载可执行文件 将可执行文件FRDM_MMA8541Q_KL05Z.bin复制到如下图FRDM-KL05Z的虚拟硬盘即完成程序下载,待班子复位之后即可看到实验现象。 图16 FRDM-KL05Z虚拟移动盘内容 可以看到在串口助手上打印出x、y、z三个轴的数据,并实时更新。 图17 实验现象 四、总结 FRDM-KL05Z是一款价格便宜的开发板,使用ARM Cortex-M0+内核,板载外设除了常见的RGB灯外,还提供了MMA8451Q加速度传感器,用来开发和搭建外设非常方便,一方面节省了开支,另外也为爱好者提供了快速体验的机会。简洁是它的风格,低价是它的目标,实用是它的内涵! 五、设计资源 OPENSDAUG.pdf LSERIESKL0FS.pdf KINETISLMCUSELGD.pdf FREEDEVPLTOVERFS.pdf FRDM-KL05Z_SCH.pdf FRDMKL05ZUM.zip FRDM-KL05Z_QSP.zip 看官打赏扫码:     本文系21ic原创,未经许可禁止转载  

    时间:2016-07-26 关键词: NXP 飞思卡尔 MCU m0 frdm kl05z

  • 专注汽车电子应用——TRK-USB-MPC5604B评测

    专注汽车电子应用——TRK-USB-MPC5604B评测

     一、前言 说到汽车电子,人们都会想到恩智浦(NXP)和飞思卡尔(Freescale),而去年恩智浦将飞思卡尔收购,组建了一个庞大的汽车电子供应商,提供了从车载联网、照明、媒体、电源以及门禁防盗等广泛的产品和解决方案。今天21 IC给大家带来了NXP的用于评估MPC5604B微控制器的StarterTrak USB套件——TRK-USB-MPC5604B。 二、开箱 拿到TRK-USB-MPC5604B套件采用纸盒包装,整体绿白色调,是不是很节能环保?上面印有汽车图案,然人一眼就可以认出此套件是针对汽车应用的评估工具,整体让人感觉一种很专业的气息。下面还印有Freescale的LOGO,很明显是两公司合并之前的产品。 图1 TRK-USB-MPC5604B包装正面 在包装的背面,有此款开发板的特点和支持的软件开发工具。 图2 TRK-USB-MPC5604B包装背面 翻开包装,就可以看到一个非常小巧的开发板嵌入到包装盒内,在包装的左面印有如何使用TRK-USB-MPC5604B的操作步骤说明。 图3 TRK-USB-MPC5604B包装 拿出TRK-USB-MPC5604B开发板,可以看到这款开发板非常小巧,黑白色调,板子正中间主芯片MPC5604B微控制器占据了很大的空间,左面板载了USB连接的OSBDM调试器,是用户获得开发板后,不需要再购买仿真调试器,节省了成本,同时可使用USB接口为开发板供电,除此之外,它还具有一个可与恩智浦塔式系统兼容的PCI卡边,可使用恩智浦提供的丰富而专业的塔式开发系统来完成自己的设计工作,同时使用户可以根据设计需要自己定制开发系统,这也是此款开发板的一大亮点。 此外TRK-USB-MPC5604B开发板还未用户提供了2个用户按键、2个双色LED和一个唯独传感器等简单的外围资源,帮助用户单独使用TRK-USB-MPC5604B时实现一些简单的评估和入门工作。 图4 TRK-USB-MPC5604B开发板正面 图5 TRK-USB-MPC5604B开发板背面 TRK-USB-MPC5604B开发板的主要软硬件资源及特点: o 板载1颗LQFP-100封装的汽车级微控制器MPC5604B o 两个双色LED o 两个按钮 o 温度传感器 o 塔式系统主连接器 o 通过USB连接的OSBDM调试器 o 可支持恩智浦推出的集成开发环境CodeWarrior Development Studio(需授权) o 可支持恩智浦推出的图形化工具RAppID(需授权) 三、硬件 TRK-USB-MPC5604B开发板设计非常紧凑,双面都有元件,结构比较简单,可大致分成2部分,一个是具有USB接口的OSBDM仿真调试器,同时具有虚拟串口与主MCU相连,另一个MPC5604微控制器及其外围资源及接口部分。 图6 TRK-USB-MPC5604B开发板布局 1、核心微控制器 TRK-USB-MPC5604B开发板板载了一颗恩智浦的汽车级微控制器MPC5604B(SPC5604CF2MLL6),LQFP100封装。 图7 TRK-USB-MPC5604B开发板核心微控制器 MPC5604B微控制器是基于恩智浦的Power Architecture处理器,该处理器产品可分为5大类,可支持网络、汽车、消费电子和工业控制等领域。 图8 Power Architecture处理器家族 其中MPC5xxx微控制器具有32位的e200或e300内核,适用于汽车应用和工业控制的高可靠性处理器,可面向汽车和工业动力总成、发动机管理、电机控制、车身控制、网关、底盘和安全、仪表板和显示屏管理应用,该系列MCU由单核到多核,高达55纳米技术符合ISO 26262等功能安全标准。又分成5类,其中MPC56xx子系列广泛应用于汽车应该用。 图9 MPC5xxx微控制器家族 按照恩智浦官方分类,MPC56xxx的分类和适用为: o MPC560xB:超可靠的32位MCU,适用于汽车和工业通用应用 o MPC560xE:超可靠的32位MCU,适用于汽车ADAS和工业控制应用 o MPC560xP:超可靠的MPC560xP MCU,适用于汽车和工业安全应用 o MPC560xS:超可靠的32位MCU,适用于仪表板和工业控制应用 o MPC563xM:超可靠的32位MCU,适用于动力总成和工业控制应用 o MPC564xA:超可靠的32位MCU,适用于动力总成、变速箱和工业控制应用[ o MPC564xB-C:超可靠的MPC564xB-C MCU,适用于汽车和工业控制应用 o MPC564xL:超可靠的32位MCU,适用于工业、底盘和安全应用 o MPC5668G:超可靠的双核32位MCU,适用于网关和工业控制应用 o MPC5674F:超可靠的32位MCU,适用于动力总成和工业控制应用 o MPC5676R:超可靠的32位MCU,适用于动力总成和工业控制应用 o MPC567xK:超可靠的32位MCU,适用于ADAS和工业控制应用 其中MPC560xB/C/D系列32位微控制器是面向汽车车身电子和工业控制应用的器件。[!--empirenews.page--] 图10 MPC560xB/C微控制器内部结构 MPC560xB/C的主要特性: 闪存:高达1.5 MB EEPROM:64 KB DataFlash® RAM:高达96 KB 定时器:16位,多达64个通道 ADC:10位,多达36通道;12位,多达16通道 6个CAN 6个SPI 10个LINFlex 其中LINFlex模块提供完全自动化局域互联网络(LIN)消息管理,从而减少CPU干预和消息延迟。eMIOS定时器在一个非常灵活的模块中结合了多个计数器源,如输入捕获、输出比较和PWM功能,PWM功能支持移相信号输出来提高电磁兼容性。交互触发单元CTU同步PWM输出信号与模数转换。FlexCAN模块同时支持FIFO,适合控制器区域网络(CAN)网关管理事件驱动的总线流量和周期性总线流量。而且恩智浦保证微控制器产品自自推出后至少保证15年供货。 2、仿真调试器 TRK-USB-MPC5604B开发板的设计者为用户提供了板载的仿真调试器OSBDM,OSBDM是一个开源的硬件/软件/固件设计,提供了不同的一种对恩智浦处理器的低速调试通信。是用户不需要额外购买调试器,从而降低成本。同时支持固件升级功能,可刷入不同的固件,实现对不同MCU的调试功能。 图11 TRK-USB-MPC5604B板载OSBDM调试器 3、跳线 在TRK-USB-MPC5604B开发板上,为用户提供了3个跳线:J3、J6、J7。在使用开发板时,需要注意它们的设置功能,其中J3是用于升级OSBDM仿真调试器固件的,当需要升级固件时,需要将J3跳线短接,然后将开发板重新插入USB接口就可以进入升级固件模式。J6和J7是对MPC5604B主为控制的Flex LIN引脚功能的选择,当J6和J7跳线的1-2引脚短接,就将LIN接口连接到板载的仿真调试器的虚拟串口上,通过USB接口可连接电脑,对系统进行串口调试功能,如果使2-3引脚短接,就将LIN引脚连接到PCI接口,可与塔式系统连接,使用功能丰富的外设资源。 图12 TRK-USB-MPC5604B开发板跳线位置 图13 TRK-USB-MPC5604B开发板跳线功能 这里要注意,跳线编号在电路板正面标出,但引脚编号在电路板的正面没有标出,不过设计者非常人性化的在电路板的背面标出了引脚编号,使用的时候要注意查看。 图14 TRK-USB-MPC5604B开发板跳线编号 4、PCI接口 TRK-USB-MPC5604B开发板虽然小巧,板载资源不多,但是提供了PCI接口,可连接到恩智浦推出的塔式系统上。 图15 TRK-USB-MPC5604B开发板PCI接口 恩智浦的塔式系统是一个为恩智浦8位、16位和32位微控制器而设计的极为丰富的模块化开发平台,可使开发人员通过快速原型技术进行样机研制,具有可互换、可重复利用的开发板(模块),以及开源设计文件,让您轻松定制设计,减少底层设计工作,使用户拥有更多时间专注于开发与众不同的解决方案。 图16 塔式系统结构 塔式系统由三种基本类型的电路板组成:MCU与处理器模块,外设及插件和侧板模块。MCU与处理器模块(主电路板)作为开发平台的控制中心,提供了针对ColdFire/ColdFire+MCU模块、DSC模块、KinetisMCU模块、PowerQUICC和QorIQ处理器模块等几十种,可实现对不同的MCU产品进行评估。外设及插件提供了非常丰富的(例如模拟技术、音频、传感器、图形LCD、触摸板、传感器、无线电和其他插件等)外围模块和插件,可以快速接入各种塔式系统配置中,实现轻松、快速的原型设计。侧板模块是塔式系统的基本标准构件,侧板模块可连接MCU和外设模块,为所有配置的组装塔式系统提供所需的功率调节电路和结构完整性。塔式系统模块可以用作独立的调试工具,或者作为组装塔式系统的一部分,它具有集成调试接口,可以通过标准的USB线进行轻松编程和运行控制。[!--empirenews.page--] 四、开发 了解了TRK-USB-MPC5604B开发板的硬件之后,下面来体验一下它开发环境以及开发过程。MPC5604B微控制器是恩智浦的32位MCU,面向汽车车身电子应用的集成器件,它有一个庞大的支持生态合作体系,其中包括软件驱动程序、操作系统和配置代码,以帮助快速实现用户的设计。 1、准备 (1)要使用TRK-USB-MPC5604B开发板,恩智浦为它提供了CodeWarrior Development Studio集成开发环境,官方提供了CodeWarrior Development Studio for MPC55xx/MPC56xx (Classic IDE) v2.10版本的IDE。不过目前CW开发环境有最新的CodeWarrior for Microcontrollers v10.6版本,该版本是在Eclipse开放开发平台上将面向ColdFire®、ColdFire+、DSC、Kinetis、MPC5xxx、RS08、S08和S12Z架构的开发工具集成为一个单一产品。下载地址:http://www.nxp.com/zh-Hans/products/software-and-tools/software-development-tools/codewarrior-development-tools/codewarrior-development-studios/codewarrior-for-microcontrollers/codewarrior-for-mcus-eclipse-ide-coldfire-56800-e-dsc-kinetis-freescale-56xx-rs08-s08-s12z-v10.6:CW-MCU10 图17 CW10.6集成开发环境地址 CodeWarrior for Microcontrollers v10.6支持恩智浦的多种产品开发,下载后安装时,记得勾选Qorivva选项以便对MPC5604B微控制器进行开发。   图18 CW10.6安装 (2)恩智浦还为TRK-USB-MPC5604B开发板提供了图形化的配置工具RAppID,这是一款面向MPC5XXX系列Power Architecture®控制器的图形开发工具系列,可让用户快速轻松地配置控制器并生成完整的文档。RAppID不仅能够生成用于初始化寄存器的C语言代码,而且还提供一个系统初始化函数,有序地激活控制器。使用RAppID能帮助用户节省时间。下载地址:http://www.nxp.com/zh-Hans/products/software-and-tools/hardware-development-tools/startertrak-development-boards/rappid-initialization-for-power-architecture:RAPPID。不过该工具需要许可才可以使用,大家下载后可向恩智浦发申请邮件,获得1个月的试用许可。 图19 RAppID图形配置工具地址[!--empirenews.page--] (3)最后还要安装TRK-USB-MPC5604B开发板的驱动,以便使用仿真调试器OSBDM。驱动地址:http://www.pemicro.com/osbdm/。   图20 OSBDM调试器主页 可以看到该网站不但有OSBDM调试器的驱动程序,还有调试器的最新固件版本和一些使用与塔式系统的工具等。在该网站下载驱动程序和固件时,需要注册用户才可以,需要使用有限才能注册,但要注意不能使用163等公共邮箱,否则无法完成注册下载。 首先下载驱动程序和固件程序。 图21 OSBDM调试器驱动与固件 安装驱动程序后,如果在设备管理器中查看TRK-USB-MPC5604B开发板被识别出了仿真调试器和虚拟串口即为正确安装驱动程序。 图22 TRK-USB-MPC5604B驱动安装 接下来把固件也更新一下,已获得更好的调试性能。首先安装并打开固件更新程序,将TRK-USB-MPC5604B开发板插入电脑,就可以检测到开发板目前固件版本。 图23 OSBDM调试器固件更新选项 按照提示选择正确的固件版本,点击更新后,将开发板的USB接口从电脑上移除,然后将J3跳线短接后,重新插入电脑,点击确认按钮开始更新固件。 图24 OSBDM调试器固件更新跳线设置 图25 OSBDM调试器固件更新 待固件更新完毕,将开发板从计算机移除,去掉J3的跳线帽,重新插入计算机,可以看到固件更新完成。 图26 OSBDM调试器固件更新完毕 2、测试 工具准备好了,接下来对开发过程进行简单测试,体验一下开发过程。在TRK-USB-MPC5604B开发板上有2个红绿双色LED发光二极管D4和D5,写个程序来控制一下LED亮灭。 图27 TRK-USB-MPC5604B开发板用户LED电路 打开CW10.6软件,新建一个基于MPC5604B的空白工程。可以看到CW10.6给我们自动新建了一个工程,很多工程文件给大家准备好了。   图28 CW10.6新建工程 根据要求写一下程序并编译。 图29 编写程序[!--empirenews.page--] 完整测试代码如下: #include "MPC5604B.h" void initModesAndClock(void) { ME.MER.R = 0x0000001D; /* Enable DRUN, RUN0, SAFE, RESET modes */ /* Initialize PLL before turning it on: */ /* Use 1 of the next 2 lines depending on crystal frequency: */ CGM.FMPLL_CR.R = 0x02400100; /* 8 MHz xtal: Set PLL0 to 64 MHz */ /*CGM.FMPLL_CR.R = 0x12400100;*/ /* 40 MHz xtal: Set PLL0 to 64 MHz */ ME.RUN[0].R = 0x001F0074; /* RUN0 cfg: 16MHzIRCON,OSC0ON,PLL0ON,syclk=PLL0 */ ME.RUNPC[1].R = 0x00000010; /* Peri. Cfg. 1 settings: only run in RUN0 mode */ ME.PCTL[68].R = 0x01; /* MPC56xxB/S: select ME.RUNPC[1] */ /* Mode Transition to enter RUN0 mode: */ ME.MCTL.R = 0x40005AF0; /* Enter RUN0 Mode & Key */ ME.MCTL.R = 0x4000A50F; /* Enter RUN0 Mode & Inverted Key */ while (ME.GS.B.S_MTRANS) {} /* Wait for mode transition to complete */ /* Notes: */ /* 1. I_TC IRQ could be used here instead of polling */ /* to allow software to complete other init. */ /* 2. A timer could be used to prevent waiting forever.*/ while(ME.GS.B.S_CURRENTMODE != 4) {} /* Verify RUN0 is the current mode */ /* Note: This verification ensures a SAFE mode */ /* tranistion did not occur. SW could instead */ /* enable the safe mode tranision interupt */ } void disableWatchdog(void) { SWT.SR.R = 0x0000c520; /* Write keys to clear soft lock bit */ SWT.SR.R = 0x0000d928; SWT.CR.R = 0x8000010A; /* Clear watchdog enable (WEN) */ } void initLedGpio(void) { SIU.PCR[68].R = 0x0220; SIU.PCR[69].R = 0x0220; SIU.PCR[70].R = 0x0220; SIU.PCR[71].R = 0x0220; SIU.GPDO[68].B.PDO = 1; SIU.GPDO[69].B.PDO = 1; SIU.GPDO[70].B.PDO = 1; SIU.GPDO[71].B.PDO = 1; } void delay(void) { vuint32_t i; for (i = 0; i < 800000; i++) {} } int main(void) { volatile int i = 0; initModesAndClock(); /* Initialize mode entries and system clock */ disableWatchdog(); /* Disable watchdog */ initLedGpio(); /* Loop forever */ for (;;) { SIU.GPDO[68].B.PDO = 0; SIU.GPDO[69].B.PDO = 0; SIU.GPDO[70].B.PDO = 0; SIU.GPDO[71].B.PDO = 0; delay(); SIU.GPDO[68].B.PDO = 1; SIU.GPDO[69].B.PDO = 1; SIU.GPDO[70].B.PDO = 1; SIU.GPDO[71].B.PDO = 1; delay(); } } 接下来点击调试按钮,可以将程序装载到RAM或FLASH中运行,这里选择RAM。之后弹出了提示要求更新仿真调试器的固件。看来之前我们在官网上下载了最新固件并不是最新的,在CW10.6软件中还有更新的固件。(可能是由于PE被恩智浦(即之前的飞思卡尔)收购后,只在CW10.6中更新了固件,并没有在PE网站上进行更新),按照提示更新固件,就可以在CW10.6上面使用OSBDM仿真调试器了。注意,不更新是无法在新版本的CW10.6上面使用TRK-USB-MPC5604B开发板的! 图30 CW10.6要求更新开发板固件 在调试界面点击运行,即可运行查看效果,可以看出实现预期要求。 图31 CW10.6调试界面 图32 测试运行效果 整个开发过程基本还算顺利。在使用TRK-USB-MPC5604B开发板的过程中,个人感觉基于Power Architecture®架构的MCU芯片使用有许多与其它系列MCU(比如ARM)有较大差异,资源相对比较少,因此入门有些门槛,当然,这样更需要一块合适的入门级开发板。现在恩智浦也推出了基于ARM架构的Kinetis系列MCU,其中KEA系列同样是面向汽车及的微控制器。[!--empirenews.page--] 五、总结 总之,StarterTrak USB套件(TRK-USB-MPC5604B)是一款恩智浦的低成本开发板,板载一颗汽车级的微控制器MPC5604B,带有USB接口的OSBDM仿真调试器,同时兼做虚拟串口功能,可方便用户调试使用,开发板还具有一个可与恩智浦塔式系统兼容的PCI卡边,可以与恩智浦的塔式系统无缝连接,使用即为丰富的塔式系统资源,可帮助工程师快速的对汽车车身电子和工业控制等应用进行设计实现。 六、参考 1、TRK-USB-MPC5604B: MPC5604B StarterTRAK USB 开发系统 2、MPC560xB: 超可靠的MPC56xB MCU,适用于汽车和工业通用LIN应用 3、EMBEDDED OSBDM 4、CodeWarrior for MCUs (Eclipse IDE) 本文系21ic原创,未经许可禁止转载

    时间:2016-06-30 关键词: 汽车电子 NXP 飞思卡尔 MCU trk-usb mpc5604b

  • 尚堪大用?——FRDM-KL25Z评测

    尚堪大用?——FRDM-KL25Z评测

    FRDM-KL25Z是Freescale(现在已被NXP收购)推出的一款低成本、高效率的开发板,面向基于ARM Cortex-M0+处理器的Kinetis L系列KL1x (KL14/15)和KL2x (KL24/25) MCU。主要特性包括:可轻松访问MCU I/O,配备电池,低功耗运行,采用可搭配扩展板的标准规格,以及用于闪存编程和运行控制的内置调试接口;软件支持包括NXP和众多第三方开发软件。 FRDM-KL25Z推出的时间较早,但如果需要评估及体验FRDM KL系列产品,该板仍不失为一款优秀的评估工具。 让我们一起来进行简单的体验。 图1:包装 FRDM-KL25Z包装盒使用牛皮纸盒,没有使用过多的装饰,只有大大的FRDM标志,表明这是属于Freedom系列,自由!中间是freescale的标志,可惜已成绝唱!下面红色部分露出的是产品的具体型号FRDM-KL25Z。这个露出的部分也用来抽出里面的开发板,抽屉式设计,狠贴心。 图2:开箱 轻轻抽取里面的FRDM-KL25Z开发板包装内盒,呈现在眼前的是红与黑的世界,简单的用户指南采用红色基调,包装内盒则使用黑色基调,神秘而又奔放! 图3:入门指南 红色的用户指南,告诉你从哪里开始体验FRDM-KL25Z,富有科技感且解决了从哪里开始的问题。 图4:FRDM-KL25Z(正面) FRDM-KL25Z开发板使用黑色油墨覆盖。近距离观察,PCB设计得非常不错,元件布局合理,走线清晰,焊接工艺非常不错!开发板四角使用圆角设计,整体看起来非常圆润,使用过程中也不用担心边角硌手的问题了。注意开发板上预留两个mini USB接口,其中一个用于引出OpenSDA调试接口,另一个用作USB设备。 图5:FRDM-KL25Z(背面) FRDM-KL25Z开发板背面丝印列出了接口的位置及名称,在连接外设时更得心应手,右边还预留了锂电池接口,默认没有配备,需要自行添加,用于评估低功耗运行情况。开发板背面还提供了4个橡胶脚垫,增加稳定性的同时也可以避免与其它金属部件的接触而导致短路等问题。 最后来一张45度视角照,好好认识下。 图6:FRDM-KL25Z图赏 颜值不错,不知内在如何? FRDM-KL25Z开发板使用的MCU是MKL25Z128VLK4,这是一款基于ARM Cortex M0+的产品,主频最高48 MHz,MCU本身包含的资源有:2xSPI, 2xI2C, 3xUART, 6xPWM, 6xADC,资源非常丰富,关于MCU的更详细的介绍,请参考官方数据手册。存储器组合为128 KB闪存/16 KB SRAM,支持USB OTG (FS),MCU封装采用80LQFP。板载电容滑动触摸传感板,MMA8451Q加速度传感器,三色LED等。默认GPIO口全部引出,除板载设备保留使用的部分GPIO口外,其余都通过开发板上的J1, J2, J9, J10接口引出,默认没有焊接排针,需用户自行焊接。 板载先进的OpenSDA调试接口,不仅方便了整个开发平台的建立,而且提供了多种串行通信,flash编程和调试运行的方式,P&E Multilink接口具有运行控制调试功能并兼容IDE工具。 图7:开发板资源及分布 附送的简明用户指南列出了板载主要设备及接口,帮助用户快速认识开发板,同是列出的还有GPIO的位置及名称,与开发板背面的丝印标注配合使用,连接外设设备将更加便捷! FRDM-KL25Z开发板尺寸为81mm x 53mm,如一张信用卡大小。可以使用5V USB 或4.5-9V 外部电源供电。 大体来说,硬件配置算是不错。你可能觉得MCU的最高48Mhz不算高,但是在不同的应用场景下,没有最好,只有合适,合适就好! 接下来咱们上电体验,官方的快速开始指南里介绍了开箱即用的特性,让我们一起来见证。准备一根mini USB转USB Type A转接口,按下图方式连接开发板和PC端 图8:上电 上电后,开发板上的PWR及三色LED灯同时点亮,见上图。开发板上出厂时固化的程序读取板载MMA8451Q加速度传感器的信息,利用反馈的信息值来控制三色LED灯的变化。拿起开发板,调整开发板的旋转方向,会发现LED灯的颜色及亮度值会发生变化。具体变化情况如下 图9:三轴测试[!--empirenews.page--] 好,不愧为开箱即用。不过这仅仅只是体验,看看热闹而已。接下来正式来准备点个灯,目的当然是为了体验开发流程。 因为开发过程要使用到OpenSDA来进行下载和调试,所以先介绍下OpenSDA的基本知识,这也算是FRDM系列开发板的一大特色。 OpenSDA是一种内置在多款恩智浦评估板中的串行调试器。它是计算机(或其他USB主机)和嵌入式目标处理器之间的桥梁,只需通过一根简单的USB线缆,便可用它进行调试、闪存编程和串行通信。 OpenSDA硬件包含一个采用Kinetis K20微控制器(MCU)的电路和一个集成式USB控制器。在软件方面,它集成了大容量存储设备引导加载程序,可以快速、轻松地加载OpenSDA应用,例如闪存编程器、运行控制调试接口、串行至USB转换器等。 图10:OpenSDA原理 OpenSDA有两个版本:原始版本为OpenSDAv1,新版本是OpenSDAv2。OpenSDAv2使用与原始版本OpenSDAv1解决方案完全相同的硬件电路,并仍可通过一根USB线缆提供调试器、拖放式闪存编程器及虚拟串行端口。FRDM-KL25Z上使用的OpenSDA是老版本,基于P&E Micro 固件,固件不开源。而新版的V2使用的是开源代码。 在系统上电之后,需要安装OpenSDA的驱动程序。从官网下载最新的驱动,然后安装,如下图 图11:安装驱动 安装完成后,在系统的设备管理器中会出现如下的设备 图12:设备管理器中的OpenSDA 补充:FRDM-KL25Z的OpenSDA对Windows 10的支持不算完善,可能会出现插上设备后无响应等问题,建议在Windows 7环境下操作。 接下来准备更新OpenSDA的固件。固件是硬件的灵魂,最新的固件可以解决一些已知的bug,增强功能,提升稳定性等。先按住开发板上的Reset键不放,然后再连接USB至PC端,PC端会出现一个新的移动磁盘,里面包含如下内容 图13:BOOTLOADER映射磁盘 将下载好的最新固件(扩展名为.SDA的二进制文件)拖入到这个移动磁盘中就完成了固件的升级。如果不知道到哪里下载最新的固件,这里介绍一个简单的方法。看到上图中的SDA_INFO.HTM文件了么,双击它就会直接找到最新固件的下载地址。同时在打开的WEB窗口里还可以看到当前固件的版本号。如下图如示,这是升级之前的固件版本,其中Application Version就是固件版本号,当前固件的版本号为v 1.05。 图14:出厂默认固件版本 下面是升级到最新版本的情况,可以看到最新的固件版本为v 1.18。 图15:升级的最新固件版本 现在,咱们只差一段代码,就能真正进入FRDM-KL25Z的深处,洞悉力量的源泉。FRDM系列开发板都支持mbed开发环境,这是由ARM发起并维护的一个云端IDE,其目的是真正实现代码的共享,进一步加快开发的速度,集中全球的智慧!打开developer.mbed.org网站,使用注册的账号进入mbed开发环境。如果还没有注册mbed开发者账号,强烈建议注册一个,体验云端开发的便捷。 图16:mbed IDE 进入mbed开发环境后的第一件事就是选择对应的开发平台,大部分主流的硬件平台都在支持之列,当然FRDM-KL25Z也不例外。如上图所示,点击平台选择按钮,在硬件平台选择窗口中选择FRDM-KL25Z,如下图 图17:选择FRDM-KL25Z硬件平台 在新窗口中选择好开发平台后,就可以建立一个简单的程序来体验mbed的开发流程。Mbed对几乎所有的硬件平台都提供了一个blinky程序,方便用户快速入门。点击工具栏上的new命令,对新建的工程做如下设置,注意选择硬件平台时要与当前的硬件匹配。可以方便的选择一个模板来建立自己的代码,另外就是指定程序名称了。 图18:新建演示工程[!--empirenews.page--] 点击OK,生成的主要代码如下 #include "mbed.h" DigitalOut myled(LED1); int main() { while(1) { myled = 1; wait(0.2); myled = 0; wait(0.2); } } 你一定会好奇,如此简单的代码,怎么就能完成咱们需要的实现的任务。这一切的底层,都由mbed给你完成并实现了,你只要关注要实现什么功能,然后简单的几行代码就能完成需要的功能!会不会太简单了而不能完成复杂的操作呢,比如跑个RTOS什么的。不用担心,这一切都不是问题,随着你对mbed环境的熟悉和深入,你会发现一切担心都是多余的。 然而问题来了,我的代码都在云端托管,怎么才能将我的代码下载到开发板呢? 点击IDE工具栏中的compile命令,mbed就会对代码进行编译并将生成的二进制代码下载到本地,如下图 图19:编译及下载代码 这个下载到本地的二进制代码文件怎么写入到开发板上去呢?打开电脑资源管理器,如果驱动安装正常的话,应该会有一个类似如下的磁盘 图20:FRDM-KL25Z映射到电脑的磁盘 将刚才下载下来的文件直接拖入到这个磁盘,稍等片刻,代码就会开始运行了。 确实,mbed为我们隐藏了太多的细节,如果你想深究mbed背后的细节,可以将云端代码导出到本地,然后使用合适的文本编辑器或代码编辑工具慢慢研究其中的细节。这里就不详细介绍了。 现在,我们已经认识了FRDM-KL25Z开发板,对驱动安装、固件升级也熟悉了,更重要的是,我们使用了mbed开发平台对FRDM-KL25Z编写了第一个程序,并成功将代码下载到了开发板上运行。接下来就是发挥你的才华的时候,请任性的使用并发挥你的创意!记住,一定要任性! FRDM-KL25Z虽然不是很新的开发板,但是技术的沉淀并非取决你的开发板有多新,徐娘未老,风骚更胜!更兼有丰富的资料可供参考,FRDM-KL25Z,你值得一试! 参考资源 FRDM-KL25Z介绍 Mbed开发平台 P&E Micro官网   本文系21ic原创,未经许可禁止转载

    时间:2016-06-30 关键词: NXP 飞思卡尔 MCU frdm kl25z

  • 主要看气质——FRDM-KL02Z评测

    主要看气质——FRDM-KL02Z评测

     FRDM-KL02Z是一款超低成本开发平台,由基于ARM Cortex-M0+处理器构建的Kinetis L系列KL02系列器件组成,主要面向超低功耗产品如可穿戴设备,小家电等。软件方面支持NXP及三方开发软件,如MDK,IAR及NXP提供的Kinetis Design Studio (KDS)。 FRDM-KL02Z算是一款比较老的开发板了,最早由freescal于2013年推出。以今天的眼光,来品评一款早期的开发板,寻求它的亮点,同时发掘它的优势并发现它的不足,这就是这篇文章的主旨。 先来看外观是否有气质,因为主要是看气质。 图1:外包装  FRDM-KL02Z开发板包装比较朴实,甚至可以说是比较低调,FRDM字样告诉我们,这是一款FRDM系列之一。当freescale已成绝唱,不知这个freescale的商标会不会勾起你那已渐渐淡去的惆怅! 图2:开箱 包装采用抽屉式设计,非常方便就能取出开发板。和朴实的外包装相比,内部却极具冲击效果。红黑色系搭配,应该会触动你的某些感触。 图3:FRDM-KL02Z(正面) FRDM系列向来以色彩丰富著称,科技不仅仅是严肃的代名词,也可以有着丰富的色彩。KL02Z使用绿色设计,是否意味着环保与低功耗? 事实就是KL02Z确实使用的ARM Cortex M0+的MCU,主要面向低功耗应用。开发板上主要的外设都集中在开发板的正面,元器件排列整齐,配以绿色的基调,看起来非常舒适! 图4:FRDM-KL02Z(背面)  FRDM-KL02Z开发板背面丝印标注了主要引出引脚的位置及名称,方便连接外部设备。右边预留锂电池接口,如果需要使用该接口,需自行焊接。 图5:FRDM-KL02Z图赏 从外观看,气质尚可!  FRDM-KL02Z除了MCU之外,另外还提供了哪些资源呢? 下图标出了KL02Z开发板上的主要外设及对应位置,开发板体积虽然小巧,还是提供了一些基本的外设如RGB三色LED,MMA8451Q三轴陀螺仪。另外开发板也提供了Arduino UNO兼容接口,似乎提供Arduino兼容接口早已成了许多开发板的标配。 图6:开发板主要资源及位置 FRDM-KL02Z包括的主要特性如下 l KL02Z32VFM4 MCU – 48 MHz、32 KB闪存、4 KB SRAM、32QFN封装 l 电容滑动触摸感应板、MMA8451Q加速度传感器、三色LED l 灵活的电源选择 – 纽扣电池、外部电源 l 易于访问MCU的I/O接口 l 配备电池管理功能,电源测量接入点 l 新型OpenSDA调试接口: 1. 大容量存储设备闪存编程接口(默认);无需安装任何工具即可评估演示程序 2. P&E调试接口具有运行控制调试功能并兼容IDE工具 3. CMSIS-DAP接口:面向嵌入式调试接口的ARM新标准 准备一根mini USB转USB Type A转接钱,准备上电及升级OpenSDA固件。 开发板上包含MMA8451Q加速度传感器,出厂程序会读取该传感器的各项数据信息,根据加速度传感器反馈的信号来调整板载三色LED灯来显示不同的颜色及亮度。FRDM系列开发板的OpenSDA固件基本类似,除了有v1和v2之分,固件升级和使用方法基本相同。关于FRDM-KL02Z的上电体验及固件升级,请参考(FRDM-KL25Z)。 下面是升级到最新版固件后的情况 图7:最新固件 看到Application Version is: 1.18,这是最新的固件版本了。 从固件的修改日期看,最后的修改日期是2015年12月4日,表明官方一直在维护着KL-02Z的相关代码,并没有弃之不顾! 现在开始尝试在KL02Z上写几个程序,体验开发流程及应用。 原本准备用mbed来测试,不过实际使用后发现mbed居然不支持该硬件平台。在硬件平台上能找到FRDM-KL05Z的支持信息,KL05Z和KL02Z的硬件区别极小,理论上应该可以使用KL05Z的软件支持包来开发KL02Z。如下图 图8:mbed支持FRDM-KL05Z 不过该硬件平台提供的模板代码非常乱,所以还是老老实实使用MDK来进行代码测试。先安装freescale的KLxx系列的支持包,如下图 图9:安装FRDM-KL02Z的MDK硬件支持包 接下来到官方下载SDK支持包,SDK里面包含了相关的底层库函数及相应的samples,可以快速体验。这里直接使用的samples包,里面已包含库函数[!--empirenews.page--] 图10:官方资源 Samples软件包里包含3个基本的例程:KL02_Freedom_Demo,KL02_GPIO_TSS_Demo以及Kl02_LowPower_Demo。打开KL02_GPIO_TSS_Demo文件夹,找到MDK工程文件,双击打开工程文件。接下来编译工程文件,按F7进行编译,这个是官方提供的配套代码,不用担心有错误。稍等片刻,代码就编译好了,现在要对工程属性进行一些基本的设置,主要是代码优化、下载/调试设置等。打开工程属性设置对话框,选择Debug选项卡 图11:选择下载/调试器 因为v1版的OpenSDA使用的是PEMicro调试器,确保选择了该设备,如果当前的调试/下载器不是PEMicro Debugger,从下拉列表中选择它,然后点击Settings按钮,进行更详细的设置 图12:PEMicro Debugger配置 按上图中标注的顺序依次配置,注意如果第3步中的内容是空白的话,需要点击旁边的Select New Device按钮,然后选择与FRDM-KL02对应的设备,因为MCU的型号为KL02Z32VFM4,所以这里选择的是与它对应的型号。 图13:选择MCU型号 一切准备就绪,现在可以下载代码到开发板上了。 此时,用手触摸 FRDM-KL02Z开发板上的触摸区域,会发现LED灯的亮度也会发生变化。 图14:触摸测试 使用终端软件连接OpenSDA串口,看到如下输出信息: External Pin Reset K0232pin SRAM Size: 4 KB Silicon rev 15 Flash size: 32 KB program flash, 1 KB protection region ******************************************************************************* Running in KL02_GPIO_TSS_Demo. Slide on the electrode to change the LED's brightness. KL02 has no TSI, but TSSW takes the GPIO method to realize touch sensor. ******************************************************************************* 这一段话告诉我们,KL02没有TSI设备,而是使用TSSW的GPIO方法来实现触摸效果。别说,效果还行! 通过分析程序代码可知,LED灯使用PWM输出模式来控制其亮度,然后程序在动态读取用户的触摸设置值后,再通过回调函数来设定PWM的值,关键代码如下 void TSS1_fCallBack1(TSS_CONTROL_ID u8ControlId) { /* Set LED brightness */ SET_LED_BLUE(cASlider1.Position * 4); (void) u8ControlId; return; }  FRDM-KL02Z上的外设相对有限,为了更好的体验,我们准备了一块FRDM专用的mini扩展板,来体验更多更实用的功能,注意这是一块三方提供的扩展板。 图15:FRDM迷你扩展板[!--empirenews.page--] 下面是将扩展板插到 FRDM-KL02Z上后的效果 图16:安装扩展板 插上去,咱们也来享受一个塔式设备的体验,虽然只有两层,但也算是塔式设备了! 扩展板上提供了4个LED灯,4个按键,I2C接口的EEPROM及SPI接口的Flash存储器,另外还有ADC接口,UART串口等功能,作为一般的学习和体验足够了。使用扩展板配套的BSP软件包,接下来咱写个GPIO点灯程序。 #include #include #include "gpio.h" #include "common.h" #include "uart.h" /* LED pin */ #define LED0_PORT HW_GPIOB #define LED0_PIN 11 #define LED1_PORT HW_GPIOB #define LED1_PIN 10 #define LED2_PORT HW_GPIOB #define LED2_PIN 7 #define LED3_PORT HW_GPIOB #define LED3_PIN 6 int main(void) { DelayInit(); /* LED */ GPIO_QuickInit(LED0_PORT, LED0_PIN, kGPIO_Mode_OPP); GPIO_QuickInit(LED1_PORT, LED1_PIN, kGPIO_Mode_OPP); GPIO_QuickInit(LED2_PORT, LED2_PIN, kGPIO_Mode_OPP); GPIO_QuickInit(LED3_PORT, LED3_PIN, kGPIO_Mode_OPP); UART_QuickInit(UART0_RX_B2_TX_B1, 9600); printf("1-LED demo hello world!\r\n"); while(1) { GPIO_ToggleBit(LED0_PORT, LED0_PIN); GPIO_ToggleBit(LED1_PORT, LED1_PIN); GPIO_ToggleBit(LED2_PORT, LED2_PIN); GPIO_ToggleBit(LED3_PORT, LED3_PIN); DelayMs(500); } }[!--empirenews.page--] 使用扩展板提供的BSP软件包,代码看起来结构非常清晰并且代码也很短。下面是将代码下载到开发板后运行的效果 图17:LED测试效果 接下来,咱们来看看EEPROM编程。EEPROM用来永久保存一些用户配置还是很不错的,价格便宜,保存时间长且可多次擦写。先看硬件连接图 图18:EEPROM连接方式 其中SCL/SDA分别连接到MCU的PTA8/PTA9两个引脚,明白了硬件原理图,写一段简单的代码来测试 int main(void) { int ret; DelayInit(); GPIO_QuickInit(HW_GPIOB, 6, kGPIO_Mode_OPP); UART_QuickInit(UART0_RX_B2_TX_B1, 9600); UART_ITConfig(HW_UART0, kUART_IT_Rx, true); /* do test */ printf("I2C_EEPORM demo\r\n"); ret = cmd_i2c(0, NULL); if(ret) { printf("EEPOEM test failed\r\n"); } else { printf("EEPORM test ok!\r\n"); } while(1) { GPIO_ToggleBit(HW_GPIOB, 6); DelayMs(500); } } 这一段代码将信息写入到扩展板上的EEPROM,然后再读取写入的信息并进行比较,如果二者一致,表明写入是成功的。实际执行的代码如下 int at24cxx_self_test(void) int ret; //uint8_t buf[128],buf1[128],buf2[128]; uint8_t buf[64],buf1[64],buf2[64]; ret = at24cxx_read(0, buf, sizeof(buf)); if(ret) { return ret; } memset(buf1,'Y',sizeof(buf1)); ret = at24cxx_write(0, buf1, sizeof(buf1)); if(ret) { return ret; } ret = at24cxx_read(0, buf2, sizeof(buf2)); if(ret) { return ret; } ret = at24cxx_write(0, buf, sizeof(buf)); if(ret) { return ret; } if(!memcmp(buf1, buf2, sizeof(buf1))) { return 0; } return 1; }{[!--empirenews.page--] 运行时终端显示信息如下 I2C_EEPORM demo EEPORM test ok! 现在如果需要将一些重要的信息预先保存的话,就可以将它们存储到EEPROM里面,再也不用担心掉电丢失的问题了。  FRDM-KL02Z是一款价格便宜的开发板,使用ARM Cortex-M0+内核,板载外设除了常见的LED灯外,还提供了MMA8451Q加速度传感器,用来评估及体验可穿戴设备非常方便,不需要额外添加加速度传感器就可以直接评估,一方面节省了开支,另外也为爱好者提供了快速体验的机会。就这一点来讲,FRDM-KL02Z还是有他的优势。另外FRDM-KL02Z作为FRDM系列中的一员,可以用来对FRDM系列选型提供参考,至于是否符合你的需求,则要看产品的定位了。至于说不足,板载的外设还是太少,不过这也是FRDM系列中低价开发板的一贯风格,如FRDM-KL25Z也是一样! FRDM-KL02Z官方页面 扩展板资源:见附件 FRDM-KL25Z评测   本文系21ic原创,未经许可禁止转载

    时间:2016-06-30 关键词: NXP 飞思卡尔 MCU frdm kl02z

  • 重温飞思卡尔——YL-KL26Z开发板评测

    重温飞思卡尔——YL-KL26Z开发板评测

     飞思卡尔是世界著名的老牌半导体公司,同时也是全球领先的汽车电子供应商。主要为汽车、网络、无线通信、工业控制和消费电子等行业提供产品。由于种种原因,飞思卡尔半导体在2015年与NXP达成合并协议,并于下半年完成收购。虽然从此飞思卡尔的一切业务由NXP接收,但是飞思尔卡的影响力还在发挥着作用,尤其是全国大学生“飞思卡尔”杯智能汽车竞赛,每年都会吸引国内上百所高校参加,形成了巨大的社会影响(笔者有幸参加过)。今天21ic评测频道给大家评测的正是飞思卡尔的一块经典板卡YL-KL26Z-V2。 YL-KL26Z-V2 开发板采用飞思卡尔 Kinetis L 系列的 KL26Z128V4(ARM Cortex-M0+内核,主频 48MHZ)做为主控芯片。对于 Kinetis L系列微控制器而言,该系列不仅汲取了新型ARM Cortex-M0+处理器的卓越能效和易用性,而且体现了 Kinetis 32 位微控制器产品优质的性能、多元化的外设、广泛的支持和可扩展性。同时YL-KL26Z-V2开发板带有板载调试下载器(USBDAP),支持 U 盘模式烧写,开发方便,外围资源丰富,适用于马达控制、智能家电、工业自动化等领域。 一、开箱 拿到YL-KL26Z-V2开发套件后,第一印象是套件外包装的长宽比例非常符合笔者的审美。斯始终认为,一款套件的优劣与它的包装也是有紧密的联系的。所以从我开始收藏各种各样的套件开始,我就对包装精美的套件情有独钟。开发套件的外包装如下图所示: 整个套件分为三部分: 1、KL26配套光盘:主要包括数据手册、测试源码、开发工具、原理图以及开发所需要的驱动等等。 2、Mini-Usb线缆:主要负责程序的下载,从某种意义上来讲,也可以负责供电。现在市面上绝大多数套件都是用的是Mini-Usb作为通信线缆,但有很大一部分套件并没有配备Mini-Usb线,需要用户自备。这一点是新用户不用担心的,因为YL-KL26Z套件是配有该种线缆的(这一点很贴心)。 3、YL-KL26Z-V2 开发板:搭载主控芯片及各种可供测试的辅助外设。比如触摸感应按键、蜂鸣器、Tf卡接口等等。 套件全家福如下图: 开发板正面照如下图: 从这里可以看出,开发板粗略的可分为两部分,一部分是左边的板载调试器/编程器,另一部分则是可供测试的各种辅助外设。不难发现,二者是可以分开的,也就是说,左边的板载调试器/编程器可以单独使用。 开发板背面照如下图: 背面基本没有什么器件,只有三个指示触摸按键的Led灯,四个黑色的垫脚是为了防止焊点与导体短路。 接下来我们介绍一下主控芯片,KL26Z128V4微控制器有如下特性: ARM Cortex-M0+内核 主频 48MHZ 128K 片上 Flash 32K的 SRAM 8 通道 16 位 ADC 12 位 DAC,高速比较器 2 路 SPI 2 路 I2C 1 路 I2S 2 路 UART 1 路 LPUART,USB 2.0 FS OTG/ Host/Device控制器 芯片的特写照: 可以看出,其做工十分精良。 YL-KL26Z-V2 开发板有如下外设: 存储器:2KB EEPROM AT24C02;SPIflash W25Q32 调试接口: 10Pin JTAG 调试接口 支持 SWD 模式 外围接口: 1 个 USB Device;1 个 MiniSD/TF 卡接口(SPI 模式) DAC 音频输出 3 个 LED 3 个电容触摸板 ADC 测试接口 USBDAP 调试下载接口 GPIO 扩展接口 按键: 2 个中断按键 Reset 按键 电源: USB 供电 需要注意的是,并不是所有芯片都已焊接,有的功能如需使用,请自己购买芯片焊接。 二、测试 1、例程测试 在查阅完相关资料后,首先进行上电测试以确认开发板在运输过程中没有受到损坏。一般而言,厂家会在开发板中预置程序,以供上电观察,对开发板直接上电,现象如下:   D3、D5、D6、D7、D9同时亮起,查阅原理图可知,D3/D9(红色的)为供电Led,D5、D6、D7为触摸感应按键的指示Led,故程序已正常运行,开发板完好无损,进入下载程序的步骤。 在J1接上Mini-Usb线缆后,PC机会提示发现新的硬件,并自动安装驱动,这时在设备管理器下面可以看到多了一个USB大容量存储设备,这个就是开发板模拟出的U盘,这是一种最近很火的下载程序的方法。 我们只要将bin文件拖入这个U盘,即可完成程序的下载,非常的方便。[!--empirenews.page--] 也许有的朋友习惯了自己编写代码,生成目标文件,再进行下载,而不是直接使用别人制作好的bin文件。那么我们还需要安装调试串口和仿真器的驱动。打开光盘目录下的实用工具,再单击驱动文件,双击安装mbedWinSerial_16466文件,选择Install。 安装结束会出现提示,选择Finish即可。 此时,在设备管理器下又多了两个设备,一个是调试串口Com33,一个是仿真器Mbed Composite Device,至此驱动安装完毕,开发板可以正常使用了。 此时打开光盘中的Keil例程,就可以直接下载程序,也就是说用户可以自己编写程序进行测试了。 首先找到测试的官方例程,可以去网上下载,也可以直接使用光盘中的例程。但要注意下图的路径。 打开工程后,在工程配置下的Debug菜单下选择CMSIS-DAP Debugger仿真器,再进入Utilities,同样选择CMSIS-DAP Debugger仿真器,然后选择“Setting”,添加片上Flash烧写算法,默认已经添加好了的,如果没有,选择Add,在列表中找到Mcu的片上Flash型号即可。 笔者选择ADC模块作为测试对象,具体做法是由AD模块测量输入的电压值并通过串口打印到PC机。同时在外部通过调节滑动变阻器改变电压值,故会在PC上看到单片机输出的数值变化。 测试结果如下:可以看出,AD值的由最大变为最小,这是因为笔者只顺时针方向调节滑动变阻器的旋钮,电阻值由大到小,故电压值由大到小。 总结一下,YL-KL26Z-V2开发板共有两种写入程序的方法。 一是板级支持包U盘烧写方法,将目标代码直接拷入开发板模拟的U盘中,开发板会自动完成烧写,对开发板进行复位,程序便可执行。 二是通过仿真器下载代码,这也是我们最常用的方式。使用CMSIS-DAP Debugger仿真器(开发板自带,Mini-Usb线缆也自带,用户只要正确安装驱动即可)。 2、正弦波、锯齿波、三角波的输出测试 在一般的情况下,我们最常用的波形有4种,即方波(PWM波)、正弦波、锯齿波和三角波。方波自不必多说,它可通过Mcu内部自带的定时器可轻松实现各种频率、占空比可调的方波。而剩下的三种,没有专用的模块生成,一般是通过模拟电路产生或者使用DAC模块来模拟。YL-KL26Z-V2拥有一个12位的DAC ,可以非常方便的供我们产生这几种波形。 波形产生的思路是比较简单的,众所周知这几种波形都是周期信号,所以我们只要可以输出一个完成周期的波形,再通过连续的调用就可以输出我们想要的任何波形了。由于DAC是12位的,故数字量的范围为0~0xFFF。同时,我用33个数据点来描述一个周期(当然用更多或者更少也是可以的,从理论上讲,点数越多越平滑,点数越少越粗糙),即将0~0xFFF中的某些值,按某些规律放在一个大小为33的数组中,反复调用数组即可。按照分配规律的不同,输出的波形也是不同的。 对于正弦波而言,最好的分配规律是按正弦规律分配: {2047,2446,2830,3184,3494,3749,3938,4055,4094,4055,3938,3749,3494,3184,2830,2446,2047,1648,1264,910,600,345,156,39,0,39,156,345,600,910,1264,1648,2047,0xFFF}; 输出波形结果如下: 可以看出,这种方式输出的正弦波较为平滑,比较令人满意。但肉眼仍可观察到不平滑处,仍有较大的改进余地。比如可通过外接高位数的DA,增加点数等等方法。 对于三角波,我采用平均分配的方法: {0,0xFF,0x1FE,0x2FD,0x3FC,0x4FB,0x5FA,0x6F9,0x7F8,0x8F7,0x9F6,0xAF5,0xBF4, 0xCF3,0xDF2,0xEF1,0xFF0,0xEF1,0xDF2,0xCF3,0xBF4,0xAF5,0x9F6,0x8F7,0x7F8,0x6F9,0x5FA,0x4FB,0x3FC,0x2FD,0x1FE,0xFF,0}; 输出波形结果如下: 对于锯齿波,相当于半个三角波: {0,0x7F,0xFF,0x17E,0x1FE,0x27D,0x2FD,0x37C,0x3FC,0x47B,0x4FB,0x57A,0x5FA,0x679,0x6F9,0x778,0x7F8,0x877,0x8F7,0x976,0x9F6,0xA75,0xAF5,0xB74,0xBF4,0xC73,0xCF3,0xD72,0xDF2,0xE71,0xEF1,0xE70,0xFF0}; 输出波形结果如下: 需要注意的是,本评测文章只是简单测试了板卡的DAC功能,并未详细讨论波形生成的算法。在实际的波形生产中,因为需要考虑波形的频率、斜率等因素,所以需要一个函数去动态计算数组中应放的数据。即不是使用固定的数组,而是使用一个编写的函数去计算输出值,然后再输出,如果读者有兴趣的话,可以自行研究。[!--empirenews.page--] 三、总结 YL-KL26Z-V2 这款开发板虽然不是最新的开发板,但是它还是十分具有购买价值的的。它设计紧凑,开发简单,操作易行,性价比高,集各种标准功能于一身,无论是学生实验还是工程师做项目都完全可以胜任。YL-KL26Z-V22开发套件丰富的功能绝对能让你眼前一亮。 虽然因为笔者水平和时间有限,只对其进行了简单的测试,但还是能从前面的图片中看出,YL-KL26Z-V2开发板具有极其丰富的外设。比如TSI-触摸感应接口,是kinetis专门为电容触摸感应传感器而设计的接口模块,使用它可以轻松地实现用户输入控制;Tf 卡接口,用户可轻松完成许多需要大容量的解决方案。所以喜欢的朋友不要犹豫了,赶紧入手吧。 资源下载: 1、YL-KL26Z开发板光盘资料  2、三种波形产生程序   本文系21ic原创,未经许可禁止转载

    时间:2016-06-26 关键词: NXP 飞思卡尔 MCU yl-kl26z

  • 飞思卡尔推出业界能效最高的Cortex-A7 GHz级i.MX 7应用处理器

    飞思卡尔推出业界能效最高的Cortex-A7 GHz级i.MX 7应用处理器

    功能丰富的多核处理器采用i.MX 6系列三分之一的功耗实现了卓越的性能;深度暂停模式支持仅消耗250μW,即可实现丰富的操作系统待机功能。 飞思卡尔在2015年飞思卡尔技术论坛中推出了i.MX 7系列应用处理器,此系列产品基于其成功和广泛部署的 i.MX平台,是新一代节能和功能全面的应用处理器。i.MX 7系列实现了15.7 DMIPS/mW的世界级内核功效,仅消耗250 μ W,即可进入全新低功耗状态保留模式(LPSR) ,也是业界首款采用ARM Cortex-A7和ARM Cortex-M4内核的通用微处理器系列。 这些技术结合飞思卡尔的全新PF3000 PMIC配套产品,为可穿戴计算和物联网时代释放创新、安全和节能终端产品的潜能。 该系列的第一批成员是全新的 i.MX 7Solo和i.MX 7Dual产品系列,它们采用了运行频率高达1 GHz的Cortex-A7内核和运行频率高达266MHz的Cortex-M4内核。 Cortex-A7和Cortex-M4内核可使处理器的内核效率分别达到100 μW/MHz和 70 μW /MHz。所有内核均可按需单独供电运行。借助按需性能架构,i.MX7系列处理器可在单个Cortex-A7内核或双Cortex-A7内核上运行 Linux、图形用户界面、无线协议栈或其他高带宽数据传输,以满足这些组件的突发性和高性能需求。 当不需要高水平处理时,运行工作可以转移到更小、更低功耗的Cortex-M4内核,以实现Cortex-A7内核的功率门控。 通过采用先进的28nm超低功耗处理技术和分立式功率域架构,LPSR模式仅消耗了250 μW,与同类竞争产品相比,功耗节省48%,同时支持DDR自刷新模式、GPIO唤醒和存储器状态保留功能。创建具备节能处理功能和低功耗深度睡眠模式的系统,可支持新层次的按需性能、电池供电的器件,从而要求更小、更轻和更经济实惠的电池。 飞思卡尔i.MX 7系列处理器非常适合一系列的应用,包括可穿戴式、安全的POS机设备、智能家居控制、工业控制产品和大量创新的物联网解决方案。此外,i.MX 7系列还与先进的第四代EPD控制器整合,继续为电子阅读器市场提供飞思卡尔业界领先的支持。 飞思卡尔微控制器部门应用处理器和先进技术推广副总裁Ron Martino表示:“在同类竞争产品中,飞思卡尔i.MX 7系列在动态和静态节能方面的数据都领先业界。我们已结合了超低功耗的按需性能架构和已开发的最节能的多核ARM应用内核ARM Cortex-A7内核,可提供创新式的新功能,如仅消耗250μW的新式电池省电模式,这比上一代产品的节能效果提高了3倍,可最大限度地减少唤醒次数而无需重启Linux。” 高带宽连接可通过PCIe和带AVB支持的双千兆以太网等各种接口来实现。两款全新的i.MX 7处理器支持性能和功率驱动范围的外部存储器,包括eMMC5.0和低功耗DDR3,以满足更高带宽应用的需求。 为未来物联网提供卓越安全性 为了满足POS机和物联网应用日益严苛的安全要求,i.MX 7系列产品整合了椭圆曲线加密技术、主动篡改检测、安全启动和其他支持硬件功能,有助于确保敏感信息的安全。 此外,i.MX 7架构具备独立控制和受保护资源的域,这些域可区分隔离安全威胁并支持硬件防火墙。 推动i.MX 7降低功耗: 飞思卡尔的全新PF3000 PMIC PF3000电源管理IC (PMIC)是2015年飞思卡尔技术论坛上日前首次亮相的产品,它与i.MX 7系列并行开发并专为此系列进行了优化,可实现整个系统的最高节能。 PF3000具有多达4个降压转换器、6个线性稳压器、RTC供电和纽扣电池充电器,专门设计来支持所有指定的i.MX 7用例和情况。PF3000 PMIC是实现系统级节能的完全集成的解决方案,它不仅优化了处理器的功率输送,还优化了整个组件解决方案中尺寸小于100mm^2的各种类型的系统存储器资源的功率输送。PMIC支持一次性可编程存储器,无需外部组件,就可控制启动序列和输出电压。一流的轻负载效率与用户可编程待机、睡眠/LPSR及关闭模式的结合,最大限度地实现了i.MX 7业界领先的低功耗性能。PMIC纳入了多个i.MX 7参考设计并具有多核、运行频率和存储器类型的可扩展单价机制,有助于简化开发并降低总物料成本。 支持资源 飞思卡尔为i.MX 7系列提供广泛的支持,并充分利用广泛的ARM生态合作体系,使客户加快产品上市时间。i.MX 7系列采用面向智能设备的SABRE板卡,并支持PF3000 PMIC、Wi-Fi 11ac/abgn、Bluetooth 4.1和与Linux®操作系统一起预装的SD卡。飞思卡尔可提供Android™操作系统。

    时间:2016-06-25 关键词: 飞思卡尔 处理器 新品发布 业界

  • 多媒体视频高清处理芯片——Freescale i.MX6 开发板(IAC-IMX6-Kit)评测

    多媒体视频高清处理芯片——Freescale i.MX6 开发板(IAC-IMX6-Kit)评测

    i.MX 6Dual(简称i.MX6D)是一款来自NXP(前称Freescale)的高端3D图形处理芯片,采用双核ARM Cortex-A9架构。今天给大家介绍的就是基于i.MX6D为主控设计的第三方开发板——Freescale i.MX6 开发板,来自于NXP的合作伙伴Qiyang科技。 此款开发板是Qiyang科技目前主推的一款开发板,Qiyang将其命名为Freescale i.MX6 开发板,内部型号为IAC-IMX6-Kit。废话不多说,先来看看外观图。 1-1 IMX6开发板正面 1-2 IMX6外部接口 从外观上大家就可以轻易地看出来,IAC-IMX6-Kit采用BASE BOARD与SBC/SOM模块的分体式设计思路,这在开发套件的设计中是一种非常常见的做法,好处自然也是不必多说,用户在使用该开发套件进行产品设计时,灵活度更高。另外也便于厂家对于开发板后期进行硬件升级。下面我们就来分别介绍一下底板和核心板的硬件配置。 1. 硬件资源 IMX6底板:采用高密度4层板(沉金)设计,它扩展了LVDS、网络、HDMI、CAN、矩阵键盘、SATA、高速USB Host\Device、SD卡、RS232\485串口,音频等常用接口,如图1-3。 1-3 IMX6底板 IMX6核心板:采用高密度8层板(沉金)设计,名片大小,集成了CPU、DDR3RAM、NandFlash、NOR FLash、网络、B to B(3*100)接插件引出各种常用接口资源,采用5V直流供电,嵌入到产品是方便了不少。 1-4 IMX6核心板 1-5 IMX6核心板底层视图 这样的接口见的不多,但用料还是不错的,避免了针式在安装过程中针脚倾斜。四块DDR3布线规正,做了等长和铺地等处理。 Freescale IMX6核心板资源说明: 1)处理器 •标配Freescale i.MX6D双核处理器,ARM® Cortex™-A9内核,主频高达1GHz,兼容单核、双核精简、四核 •带1MBL2缓存,32KB指令和数据缓存,NEON SIMD媒体加速器 2)256MB DDR3 SDRAM,4*256MB,共1GB,批量用户可扩展为2GB 3)丰富的通讯接口 •3路RS232串口,其中:1路为调试串口,2路RS232与RS485复用 •1路USB高速OTG,4路USB HOST,其中1路接入MIN_PCIE接口 •2路CAN接口,支持CAN2.0协议,1路TTL输出,另1路can驱动输出 •1路工业用以太网,带有ACT、LINK指示灯,AR8035网络芯片采用RGMII模式完美支持10M/100M/1000M网口自适应 4)显示接口 •2路LVDS接口,每路最高支持1920x1200分辨率 •HDMI接口,支持HDMI 1.4接口规范 •CSI&DSI接口 5) McASP音频接口,双声道音频输出,MIC音频输入 6)LCD标准I2C电容屏接口 7)扩展MINI_PCIE 2.0接口 8)EIM总线接口,SIM卡接口 9)宽电压输入,+12V供电,可支持+4.75V~+18V 宽范围电压供电 核心板采用8层PCB板高精度工艺,体积仅86mm*60m;单板超低功耗,小于3W 操作系统支持 Linux3.0+ QT4.8和Android4.2。 上张全家福照片,如图1-6所示。 1-6 IMX6全家福 1-7板载资源 2、连接测试 串口采用交叉串口线与PC联接,通过网络接千兆网口,并接通12V电源,如图所示: 打开程序:secureCRT 串口设置如下: [!--empirenews.page--] 点击连接图标,然后开发板上电。窗口打印信息如下所示。 Login:后输入root回车。 输入以下命令:cd /usr/test,进入测试程序文件夹下。 1) 蜂鸣器测试: ./buzzer_test 1 //蜂鸣器开 ./buzzer_test 0 //蜂鸣器关 root@fire /usr/test$ ls Imx6_qt_test keybutton shinian.mp3 buzzer_test rs485_test spidev_test can_test rtc_test watchdog_feed_test gpio_test serial_test watchdog_notfeed_test root@fire /usr/test$ ./buzzer_test 1 root@fire /usr/test$ ./buzzer_test 0 2) GPIO测试 root@fire /usr/test$ ./gpio_test 0 QY-IMX6S-v1.x Gpio Start Testing ... set gpio 'IMX_GPIO4' level '0' set gpio 'IMX_GPIO16' level '0' set gpio 'IMX_GPIO7' level '0' set gpio 'IMX_GPIO17' level '0' set gpio 'IMX_GPIO8' level '0' set gpio 'IMX_GPIO18' level '0' set gpio 'IMX_GPIO9' level '0' set gpio 'IMX_GPIO19' level '0' Gpios is output low level, now you can measure each pin! Press the ENTER after measure each pins! set gpio 'IMX_GPIO4' level '1' set gpio 'IMX_GPIO16' level '1' set gpio 'IMX_GPIO7' level '1' set gpio 'IMX_GPIO17' level '1' set gpio 'IMX_GPIO8' level '1' set gpio 'IMX_GPIO18' level '1' set gpio 'IMX_GPIO9' level '1' set gpio 'IMX_GPIO19' level '1' Gpios is output high level, now you can measure each pin! Press the ENTER after measure each pins! Gpio test OK! root@fire /usr/test$ ./gpio_test 1 QY-IMX6S-v1.x Gpio Start Testing ... get gpio 'IMX_GPIO4' level '1' get gpio 'IMX_GPIO16' level '1' get gpio 'IMX_GPIO7' level '1' get gpio 'IMX_GPIO17' level '1' get gpio 'IMX_GPIO8' level '1' get gpio 'IMX_GPIO18' level '1' get gpio 'IMX_GPIO9' level '1' get gpio 'IMX_GPIO19' level '1' Gpio test ok! 3)RTC时间测试 命令date后加Enter键 root@fire /usr/test$ date Wed Jan 27 15:42:55 UTC 2016[!--empirenews.page--] 3、linux环境搭建 1)交叉编译环境搭建 按下面的步骤: mkdir IMX6_pro //创建IMX6_pro文件夹 mv '//tmp/VMwareDnD/2fed2107/fsl-linaro-toolchain.tar.gz' . //复制fsl-linaro-toolchain.tar.gz 到当前文件夹 tar xzvf fsl-linaro-toolchain.tar.gz /opt //解压文件到opt目录 vi /etc/bash.bashrc //修改path路径 在文件的最后一行加入 PATH=/opt/fsl-linaro-toolchain/bin:$PATH wq命令保存后退出。 linux@ubuntu:~$ source /etc/bash.bashrc //启动新的路径文件 linux@ubuntu:~$ arm-none-linux-gnueabi-g++ -v //查看是否安装成功 当输入arm-none-按Tab后,能自动补齐,或显示出gcc版本信息,恭喜你交叉编译器安装成功!显示窗口如下。 3) 安装NFS(网络共享)文件 命令:sudo apt-get install portmap //更换成rpcbind完成网络端口配对 sudo apt-get install NFS-kernel-server //安装NFS服务 portmap: NFS其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVER PROGRAM,都要做好PORT的对应工作。通俗的说PortMap就是用来做PORT的mapping的。 pc.NFSd:主要复杂登陆权限检测等 必须 portmap:处理RPC程序客户端和服务器端的端口对应(5) zhu@ubuntu:/opt$ sudo apt-get install portmap Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'rpcbind' instead of 'portmap' rpcbind is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 227 not upgraded. zhu@ubuntu:/opt$ sudo apt-get install rpcbind Reading package lists... Done Building dependency tree Reading state information... Done rpcbind is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 227 not upgraded. 用最新的rpcbind来进行安装 vi /etc/exports //修改与NFS挂载文件及属性 在最后一行加入:/ *(rw,sync,no_subtree_check,no_root_squash) *:允许所有的网段访问,也可以使用具体的IP rw:挂接此目录的客户端对该共享目录具有读写权限 sync:资料同步写入内存和硬盘 no_root_squash:root用户具有对根目录的完全管理访问权限。 no_subtree_check:不检查父目录的权限。 注意:中间不能有空格,否则显示:exportfs: /etc/exports:1: syntax error: bad option list(3) 修改/home文件为持载文件夹,起动NFS服务。 挂载文件系统到/mnt,挂载完成后显示如下,可以看到共享文件中的内容了。 sudo mount -t NFS localhost:/home /mnt //挂载home到共享文件夹 解除挂载:sudo unmount /mnt NFS服务遇到的问题: 在输入sudo apt-get install NFS-kernel-server时提示: Unable to locade NFS-kernel-server. 解决办法修复apt-get : sudo apt-get -f install[!--empirenews.page--] 修复安装(4) 4) 应用程序测试。 复制驱动的程序,buzzer_test(驱动源程序),include(头文件)并编译。输入内容及执行情况如下: 5) 连通网络: 查看开发板的ip地址。 root@fire /$ ifconfig can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP RUNNING NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:142 can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP RUNNING NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:143 eth0 Link encap:Ethernet HWaddr DC:07:C1:01:26:A9 inet addr:192.168.154.71 Bcast:192.168.154.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1211 errors:0 dropped:0 overruns:0 frame:0 TX packets:203 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:132973 (129.8 Kb) TX bytes:19446 (18.9 Kb) 通讯测试: root@fire /$ ping 192.168.154.30 PING 192.168.154.30 (192.168.154.30): 56 data bytes 64 bytes from 192.168.154.30: seq=0 ttl=64 time=4.658 ms 64 bytes from 192.168.154.30: seq=1 ttl=64 time=0.584 ms 64 bytes from 192.168.154.30: seq=2 ttl=64 time=0.520 ms 64 bytes from 192.168.154.30: seq=3 ttl=64 time=0.499 ms 64 bytes from 192.168.154.30: seq=4 ttl=64 time=0.510 ms 64 bytes from 192.168.154.30: seq=5 ttl=64 time=0.514 ms 可以用ifconfig eth0 192.168.154.71来临时修改开发板的IP地址,也可以在开发板上电时,通过setenv方式来修改IP地址等信息。两者的区别在于再次给开发板上电时,前者的ip参数不会被保留,后者会保存下来。现在以后者为例来进行修改,注意与主机的ubuntu地址在同一网段内。方法如下视图。 MX6Q QIYANG U-Boot > printenv bootdelay=3 baudrate=115200 ethaddr=08:00:3e:26:0a:5b netmask=255.255.255.0 loadaddr=0x10800000 rd_loadaddr=(0x1300000) netdev=eth0 ethprime=FEC0 uboot=u-boot.bin kernel=uImage NFSroot=/opt/eldk/arm bootargs_NFS=setenv bootargs ${bootargs} root=/dev/NFS ip=dhcp NFSroot=${serverip}:${NFSroot},v3,tcp bootcmd_net=run bootargs_base bootargs_NFS; tftpboot ${loadaddr} ${kernel}; bootm bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 3; mmc read ${loadaddr} 0x800 0x2500; bootm bootcmd=run bootcmd_mmc loadkernel=tftp ${kernel};mmc dev 3;mmc erase 0x800# 0x2000; mmc write ${loadaddr} 0x800 0x2500 machid=0xF94 ethact=FEC0 bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666 ldb=sin0 video=mxcfb1:dev=lcd bootargs_base=setenv bootargs console=ttymxc0,115200 fec_mac=DC:07:C1:01:26:A9 ipaddr=192.168.154.71 serverip=192.168.154.30 stdin=serial stdout=serial stderr=serial Environment size: 937/8188 bytes[!--empirenews.page--] 编写自己的应用程序,并在开发板上通过NFS运行。 #include int main(void) { printf("Hello Word!\n"); return 0; } 编译,并拷贝到共享目录下。 linux@ubuntu:~/IMX6_pro/usr_test$ arm-none-linux-gnueabi-gcc hello.c -o hello //编译成开发板的应用程序 linux@ubuntu:~/IMX6_pro/usr_test$ sudo mv hello /home/work/ //传生成的hello.bin文件到共享文件 2)开发板上运行此应用程序: 在SecureCRT中输入以下内容。 root@fire /mnt/work$ ls buzzer_test gpio_test hello rtc_test u-boot.bin root@fire /mnt/work$ ./hello Hello Word! OK,调试完成了。 参考资料: (1)NFS文件共享参考:http://xouou.iteye.com/blog/2142842 (2)NFS安装包安装:http://jingyan.baidu.com/article/22a299b51648e09e19376ae7.html (3)参考:http://blog.pureisle.net/archives/2233.html   本文系21ic原创,未经许可严禁转载

    时间:2016-05-09 关键词: NXP 飞思卡尔 Linux MCU i.mx6 3d图形处理 高清显示 启阳科技

  • 飞思卡尔舵机学习笔记

    调试了几天的舵机今天终于可以受我控制了,把学习到得知识和大家分享一下。对遇到的问题期待和大家一起讨论。 下面和大家分享一下有关舵机的资料(资料来源于天祥电子)。 1、舵机实物图片 2、舵机介绍 舵机英文叫Servo,也称伺服机。其特点是结构紧凑、易安装调试、控制简单、大扭力、成本较低等。舵机的主要性能取决于最大力矩和工作速度(一般是以秒 /60°为单位)。它是一种位置伺服的驱动器,适用于那些需要角度不断变化并能够保持的控制系统。在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机能够在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统很容易与之接口。 3、舵机的工作原理 标准的舵机有3条引线,分别是:电源线Vcc、地线GND和控制信号线,如图3所示。 图3 标准舵机引线示意图 在航模遥控系统中,控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。他内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压和电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。其实我们可以不用去了解它内部的具体工作原理,知道它的控制原理就够了。就象我们使用三极管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。舵机的控制信号也是PWM信号,利用占空比的变化改变舵机的位置。图4为舵机输出转角与输入信号脉冲宽度的关系,其脉冲宽度在0.5~2.5ms之间变化时,舵机输出轴转角在0°~180°之间变化。 图4 舵机输出转角与输入信号脉冲宽度的关系 4、用单片机实现舵机转角控制 单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,即产生20ms的周期信号;其次是脉宽的调整,即单片机调节PWM信号的占空比。 单片机作为舵机的控制部分,能使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。 单片机控制单个舵机是比较简单的,利用一个定时器即可,假设仅控制舵机5个角度转动,其控制思路如下:只利用一个定时器T0,定时时间为0.5ms,定义一个角度标识,数值可以为1、2、3、4、5,实现0.5ms、1ms、1.5ms、2ms、2.5ms高电平的输出,再定义一个变量,数值最大为40,实现周期为20ms。每次进入定时中断,判断此时的角度标识,进行相应的操作。比如此时为5,则进入的前5次中断期间,信号输出为高电平,即为2.5ms的高电平。剩下的35次中断期间,信号输出为低电平,即为17.5ms的低电平。这样总的时间是20ms,为一个周期。 当用单片机系统控制多个舵机工作时,可以参考下以方法:以驱动8路舵机为例,假设使用的舵机工作周期均为20ms时,那么用单片机定时器产生的多路PWM波的周期也相同。使用单片机的内部定时器产生脉冲计数,一般来说,舵机工作正脉冲宽度小于周期的1/8,这样能够在1个周期内分时启动各路PWM波的上升沿,再利用定时器中断T0确定各路PWM波的输出宽度,定时器中断T1控制20ms的基准时间。第1次定时器中断T0按20ms的1/8配置初值,并配置输出I/O口,第1次T0定时中断响应后,将当前输出I/O口对应的引脚输出置高电平,配置该路输出正脉冲宽度,并启动第2次定时器中断,输出I/O口指向下一个输出口。第2次定时器定时时间结束后,将当前输出引脚置低电平,配置此中断周期为20ms的1/8减去正脉冲的时间,此路PWM信号在该周期中输出完毕,往复输出。在每次循环的第16次(2×8=16)中断实行关定时中断T0的操作,最后就能够实现8路舵机控制信号的输出。 5、舵机与单片机连接原理图 在用单片机驱动舵机之前,要先确定相应舵机的功率,然后选择足够功率的电源为舵机供电,控制端无需大电流,直接用单片机的I/O口就可操作,扩展板上舵机信号线接单片机的P1.7,舵机与单片机连接原理图如图5所示。 图5 舵机和单片机连接原理图 根据我的调试经验,选择足够功率的电源为舵机供电是非常重要的,开始时我用单片机学习板调试,用示波器观察了输出地波形、占空比和脉宽都和资料里提到的完全一样,但是舵机转动的就是不正常,有的时候吱吱的转不动,有时候只是转向一边,怎么也不转回来。个人觉得,所有问题的根源都在电源上,如果舵机供电正常,应该没有什么问题。 以下是我测试舵机的C语言代码,参考至网络。 #include #define uint unsigned int #define uchar unsigned char uint j,a,num=2; uchar pro; uchar tab[]={10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,28, 25,24,30,30,30,20,19,18,17,16,15,14,13,12,11,10}; sbit PWM=P1^0; //舵机pwm// sbit key1=P1^6; sbit key2=P1^7; void init() { TMOD=0x01; EA=1; TR0=1; TH0 = 0xff; TL0 = 0xce; ET0=1; } void delay_us(uint x) { do { x--; } while(x>1); } void delay_ms(uint x) { while(x!=0) { delay_us(500); x--; } } void dj(uint m) //舵机控制 { pro=m; } void main() { init(); while(1) { // baidong(); if(key1==0) { delay_ms(5); if(key1==0) { while(!key1); num++; if(num==6) num=1; } } if(key2==0) { delay_ms(5); if(key2==0) { while(!key2); num--; if(num==0) num=6; } } if(num==1) { for(a=0;a<10;a++) { dj(tab[0]); } } if(num==2) { for(a=0;a<10;a++) { dj(tab[6]); } } if(num==3) // { for(a=0;a<10;a++) { dj(tab[9]); } } if(num==4) { for(a=0;a<10;a++) { dj(tab[12]); } } if(num==5) { for(a=0;a<10;a++) { dj(tab[15]); } } } } void timer0() interrupt 1//定时0.1ms { TH0=0xff; TL0=0xce; j++; if(j<=pro) { PWM=1; } else { PWM=0; } if(j==400) //周期20ms { j=0; PWM=~PWM; } } 希望大家看了本文后能有些小收获。

    时间:2016-03-02 关键词: 飞思卡尔 舵机

  • 瑞萨:半导体厂商与车企之间,悄悄在改变

    瑞萨:半导体厂商与车企之间,悄悄在改变

    “汽车企业与半导体企业的关系发生了改变。我们正在应对这一变化”,瑞萨电子执行董事常务、车载半导体业务负责人大村隆司这样说道。在第8届国际汽车电子技术展(2016年1月13日~15日在东京有明国际会展中心举办)上,大村接受了记者的采访。 大村表示,过去,车载半导体是按照“汽车企业(OEM)--部件企业(Tier 1)”这种以OEM为顶点的体系,分别进行优化的,这被称作“1型车载半导体”。最近,擅长电子的Tier 1与不擅长电子的Tier 1之间的差距越来越大,结果就是,世界市场上少数几家强大的Tier 1(叫作“Global Tier 1”)壮大了实力。符合Global Tier 1制定的国际标准的车载半导体(2型车载半导体)成为了主流。   大村隆司。 Global Tier 1的实力壮大后,OEM与Tier 1的关系也发生了改变。因为汽车的新功能基本是靠电子(也基本等同于“车载半导体”)实现的,所以,如果完全依靠Tier 1,OEM有可能在新一代汽车的开发中掌握不了主导权。于是出现了OEM直接与半导体企业对话,开发优化了的车载半导体(3型车载半导体)的例子。据大村介绍,日本目前还是1型车载半导体占主流,但在欧美,2型和3型车载半导体的数量越来越多,瑞萨也在推进2型和3型业务。 在可靠性与微细化方面领先 在瑞萨的总销售额中,海外销售所占比例超过50%。由于恩智浦半导体(NXP Semiconductors)收购了飞思卡尔半导体(Freescale Semiconductor),如果将二者的车载半导体销售额合计,瑞萨在世界市场的份额便退居亚军,但“在车载MCU和信息类SoC领域还是冠军”(大村)(图1)。过去的欧美市场同样是1型车载半导体占据主流,但随着Global Tier 1的登场,2型和3型车载半导体逐渐被接受,瑞萨的产品也打入了欧美的OEM和Tier 1。 大村表示,这依靠的是几乎零缺陷的高度可靠性,以及能够使用比竞争对手更微细的工艺制作车载半导体的技术实力(图2)。比如说,只有瑞萨能够以28nm工艺制造嵌入MCU的闪存(量产由台积电代工)。相比竞争对手以55/65nm工艺制作的车载控制MCU,瑞萨以28nm工艺制作的车载控制MCU的性能高达其2.9倍。   图1:瑞萨在全球车载半导体市场的位置。瑞萨的幻灯片。   图2:MCU和模拟产品方面,瑞萨都是微细化的领头羊。瑞萨的幻灯片。 而且,模拟车载半导体产品(传感器下游设置的AFE和电源管理IC,即PMIC等)也能使用尖端工艺制作。例如90nm模拟IC,与竞争对手的产品相比,瑞萨的产品的单位面积的容许电流更大而且损耗更低。 演示基于云协作的自动泊车   图3:自动泊车的演示。 瑞萨这次设置大型展位,实施了多项演示。占据空间最大的是自动泊车的演示(图3)。配备该公司车载信息类SoC“R-Car”的模型汽车避开障碍物,自动停入了空车位。模型汽车设想将与云服务器协作,借此实时更新泊车信息等。 在自动泊车的旁边,演示了同样使用R-Car的综合驾驶舱(图4)。该公司过去也展示过新一代汽车配备的综合驾驶舱,这次展示的是第2代。第1代是在前窗玻璃下方比较小的液晶屏幕上,显示各类信息。 而第2代则是直接在前窗玻璃上显示各类信息。解说员说,“驾驶员只需要稍微移动视点就能看到,增加了安全和舒适性”。通过在前窗玻璃上直接显示,“实现了AR(扩增实景)类型的综合驾驶舱”。   图4:第2代综合驾驶舱的演示。   图5:双电机同步控制的演示。 除此之外,还演示了面向HEV/EV的双电机同步控制、远程更新(Over the Air Update)等(图5)。并且展示了基于模型的开发环境。利用这样的开发环境,可以在供应新MCU的样品之前测试应用,使实机难以再现的故障时动作检查等变得更容易。

    时间:2016-02-21 关键词: 恩智浦 飞思卡尔 台积电

  • 永远的飞思卡尔——FRDM-K82F评测

    永远的飞思卡尔——FRDM-K82F评测

    如今,物联网技术搞的风生水起,但随之也出现了安全方面的问题,因此,全世界第一款拥有非对称加密技术支持的微控制器——Kinetis K8x系列安全微控制器应运而生,同时飞思卡尔半导体也推出了FRDM-K82F评估套件,旨在为工程师朋友加速原型开发提供便利。 笔者有幸在第一时间拿到了FRDM-K82F评估套件。看到包装,相信各位会和笔者一样眼前一亮,该款开发套件的包装完全颠覆了Freedom系列板卡的传统!虽然在材料上都是采用硬纸盒的包装,但是在设计上由之前的“滑盖”设计,变成了K82F的“翻盖”设计。 由于FRDM-K82F评估套件的推出时间正是恩智浦即将完成对飞思卡尔收购之时,对于Freedom套件包装的变化,笔者也一度猜测,是由于恩智浦半导体设计理念的影响导致的,但无意之间发现的一个细节,否定了上述的猜测。无论在套件的外包装或是快速上手指南均没有与恩智浦相关的文字,相应的商标也继续使用了freescale,产品相应的网址连接还是指向飞思卡尔的网页。由此看来,此款开发套件极有可能是飞思卡尔品牌最后一块开发板。 打开包装可以看见,该套件不仅配套了相应的连接线,而且还包含了一张快速上手指南,上面介绍了开发板相关接口及其定义,这一系列的做法无疑使得工程师朋友的开发更加便捷。 在PCB的设计上,FRDM-K82F开发板卡延续了Freedom的传统,通过对比可以发现,该板卡与其他Freedom板卡在大小、板载传感器的搭配以及板卡接口设计等方面,都与其他Freedom开发板类似,pcb焊盘的沉金工艺,更是显得高端大气上档次。 不同的是,FRDM-K82F板卡并没有像其他Freedom板卡一样,把接插件焊盘放空,除了FlexIO接口之外,其余的接口均焊上了双排母座,此外,在地线测试点还放置了一个测试钩,这些举措都大大方便了工程师朋友的设计开发工作。 [!--empirenews.page--] FRDM-K82F板载资源 1) MK82FN256VLL15 2) OpenSDAv2调试下载器 3) 2个32 Mbit (4MB)双板载QuadSPI存储器 4) 3轴加速度和3轴磁力计传感器FXOS8700CQ 5) RGB3色LED 6) 用户按键 7) TSI触摸滑条 8) FlexIO接口 9) Arduino UNO接口   透过FRDM-K82F的硬件原理图,我们可以发现这块板卡在细节上的处理是十分严谨的,其中一些设计也十分值得我们去学习和借鉴: 由于K82F支持1.71v~3.6v供电,为了保护MCU的IO口安全,在板子的设计上可以看到大量的双电源转换收发器的设计。 考虑到工程师在使用板卡时,micro usb接口经常需要插拔,极易受到由用户或空气放电造成的ESD影响,所以在硬件的设计上也采用了低电容TVS阵列RCLAMP0854P的方案来缓解这一问题。 考虑到工程师在开发过程中调试的需求,该板卡在一些特殊节点均放置了相应的测试点,并设置了一个地线测试钩,极大程度上方便了工程师的工作,免去了手工焊接引线的烦恼。 在板子的背面,所有接口的功能、引脚定义都已经用白色丝印打出,清晰明了,这样一来我们在使用的时候,就不用再去对照着硬件原理图,直接接线即可,十分方便。 FRDM-K82F板载芯片为MK82FN256VLL15,是基于ARM Cortex-M4内核,最高频率可达150MHz,支持DSP指令和单精度浮点运算。该芯片属于Kinetis K8x系列可扩展安全型微控制器,该系列一共有3个子系列共6款微控制器,分别为K80、K81、K82三个系列,具有一些先进的安全功能,包括引导ROM支持加密的固件更新、从外部串行NOR闪存自动解密、带有边带攻击保护的硬件AES加速以及公钥加密的硬件支持等。 MK82FN256VLL15特性 1) ARM Cortex-M4,DSP指令和单精度浮点单元,最高频率150MHz 2) 8KB I/D和8KB系统缓存 3) FlexBus外部总线接口和SDRAM控制器 4) 安全数字主机控制器SDHC和FlexIO 5) USB全速/低速控制器 6) EMVSIM模块,支持ISO7816智能卡 7) 一个I2S,三个SPI,四I2C和五个LPUART 8) 12位数模转换器(DAC) 两个高速比较器 9) 硬件对称加密,支持DES、3DES、AES、MD5、SHA-1和SHA-256算法 10) 硬件随机数发生器 11) 低功耗硬件触摸传感器接口 12) 256 Kb Flash以及256 kB SRAM FRDM-K82F板载新一代开源调试下载器OpenSDAv2.1,配合开源固件mbed CMSIS-DAP,可实现U盘拖曳下载程序,并支持虚拟串口功能,是调试K82芯片的得力助手! OpenSDAv2.1调试下载器特性 1) 大容量存储设备(MSD)闪存编程接口 2) 支持虚拟串口功能 3) 支持mbed CMSIS-DAP、P&E Micro以及Segger JLink的固件       [!--empirenews.page--] 上电体验 连接计算机与micro usb接口之后,计算机便会出现一个USB盘符。打开USB,里面有一个网页文件指向MBED的官网,不过笔者在MBED官网却找不着K82这款开发板的支持,看来还需要等些时日,才可以用MBED来开发FRDM-K82F。 FRDM-K82F预装了”水准仪“演示,可充分利用板载加速度传感器。当电路板处于水平时,RGB LED熄灭;当电路板倾斜时,绿色或蓝色LED根据X轴和Y轴上的倾斜度逐渐发亮 开发环境搭建 虽然OpenSDAv2.1采用了免驱动的设计,即插即用,直接连接计算机便可以调试下载程序,但如果需要使用虚拟串口功能,还是需要安装相应的驱动才可使用。 在FRDM-K82F快速入门网址上可以找到mbedWinSerial_16466.exe。下载完成后,首先连接计算机和FRDM-K82F的OpenSDAv2.1(J5 Micro usb),然后双击打开mbedWinSerial驱动。 在弹出的窗口中,点击“Install”进行驱动的安装。在安装的过程中,弹出驱动安装确认窗口,点击“安装”即可。 安装完成后,计算机需要重新扫面硬件变更。此时点击“跳过从Window Update获得驱动程序软件”。 稍等片刻,驱动便安装完成了。 此时,在计算机的设备管理器中也可以看到虚拟串口“mbed Serial Port”。 接下来需要打开KEIL软件的PACK,下载并安装飞思卡尔K8x芯片的支持包,在PACK的右侧可以快速找到freescale并展开,点击K80系列,并在软件左侧找到kinetis_K80_DFP,点击“Install”进行安装。 安装完成后,K80系列下方的微控制器符号将会由未安装支持包前的白色,变为安装后的绿色。 功耗测试 在板卡的设计中预留了一个功耗检测的接口,去掉J15跳线帽,并接入一个电流表便可以对K82芯片的功耗进行测试。 借助官方的功耗检测的相应代码,通过putty软件和虚拟串口,我们可以控制K82运行在不同的模式。 通过测试,K82在各个模式下的功耗情况如图所示: Flexio体验 FlexIO是一个高度可配置的模块,是K82芯片的特色外设之一,利用该外设,能够模拟多种串行/并行通信协议,包括 UART、I2C、SPI、I2S 等。 在FRDM-K82F板卡的设计中,特别设置了一个FlexIO/Camera接口,利用该接口,结合官方例程,使用FlexIO外设驱动OV7670摄像头模块,可以方便进行USB摄像头应用进行体验。 首先按照原理图接线,由于FRDM-K82F的FlexIO/Camera接口是依据OV7670摄像头模块而设计的,所以直接焊上接插件,并插入OV7670即可。 接下来下载Kinetis SDK 1.3.0,并解压。在Kinetis SDK 1.3.0\examples\frdmk82f\demo_apps\usb\device\video\flexio_ov7670\bm\mdk目录下便能找到USB摄像头的demo例程。不过在编译demo例程之前,还需要编译生成该demo例程所需的两个lib文件,工程文件分别在以下两个目录之中: Kinetis SDK 1.3.0\usb\usb_core\device\lib\bm\mdk\MK82F25615 Kinetis SDK 1.3.0\lib\ksdk_platform_lib\mdk\K82F25615 编译通过后,设置烧写器,在设置DEBUG选项卡中选择“CMSIS-DAP”,并点击右侧“Settings”,选择“SWD”模式。       接着选择Flash Download选项卡,添加flash烧写算法。 下载demo例程,连接计算机与K82F芯片的Micro USB接口,此时在计算机的设备管理器中的图像设备列表便多出一个设备“USB VIDEO DEMO”。 打开计算机自带的摄像头软件或者QQ摄像头,选择“USB VIDEO DEMO”便可看到OV7670的画面。 小结 虽然FRDM-K82F板载资源不可与MAPS四色板系列相提并论,但是利用这些有限的资源却可以把K82芯片外设资源功能发挥得淋漓精致,小巧的板卡结合板载新一代OpenSDAv2.1调试器,绝对称得上是K82微控制器最佳的开发利器! 资源链接 MK82FN256VLL15参考手册 MK82FN256VLL15数据手册 FRDM-K82F用户手册 FRDM-K82F硬件原理图 OpenSDAv2虚拟串口驱动程序   ——————本文系21ic原创,未经许可严禁转载——————

    时间:2016-01-25 关键词: NXP 飞思卡尔 MCU frdm k82f 非对称加密

  • 整合系统级和芯片级 恩智浦NXP联姻飞思卡尔改变市场格局

    整合系统级和芯片级 恩智浦NXP联姻飞思卡尔改变市场格局

    从2015年12月7日开始,飞思卡尔半导体品牌正式停止使用,这意味着从今天开始,所有与飞思卡尔相关的大学生智能车项目、汽车电子、消费电子、工业乃至网络设备,全部名归恩智浦NXP旗下,这家诞生于摩托罗拉,在2003年独立并在第二年上市的公司,现在成为了荷兰公司的一部分,恩智浦NXP负责全球销售与营销副总裁兼首席营销官Steve Owen在正式联姻运作的第一天,要告诉大家NXP打算在中国做什么。   联姻飞思卡尔其实是一把双刃剑,有利的一面在于飞思卡尔和恩智浦NXP在汽车和工业半导体市场上分列第四位和第五位,联姻完成之后,他们就可以一步到位,取代瑞萨成为市场第一的位置,并且还拉开了相当的差距,这也是为什么瑞萨也正在努力通过收购大局扩张,以及看上英飞凌的原因。与此同时,恩智浦NXP 还要承当飞思卡尔的债务,这一点Steve Owen倒是十分自信,毕竟当年从飞利浦独立出来的时候,恩智浦NXP自己也解决了一大堆债务问题,简而言之,合理的运用债务反倒更健康。   但恩智浦NXP联姻飞思卡尔对市场格局的改变如何其实并不是我们所关心的,从太阳能车Stella Lux携带一系列恩智浦NXP超前的解决方案入华开始,也意味着V2X在国内还没有形成标准之前,NXP就开始吹响了进军的号角。现在不在局限于NXP擅长的系统级应用,囊括了飞思卡尔的通讯处理、RF功率晶体管、汽车雷达和汽车安全,恩智浦现在已经可以做到给主机厂提供一整套完整的车载电子解决方案。   同时NXP在安全领域的多年耕耘同样也会引入车载通讯中,从联网、信息通讯、雷达、交通,NXP的本质还是打造基于云计算的安全设备,而他们的涉猎范围也早已从汽车扩扎到自动化、道路、电子护照、健康、配电等诸多方面。   现在,恩智浦NXP和飞思卡尔这两家年纪都超过50年的公司正式度过了联姻的第一天,也许在下一次智能汽车比赛中,大学生们会发现芯片上熟悉的飞思卡尔变成了NXP的字样。对于恩智浦NXP而言,把系统级和芯片级整合在一起,让汽车学会通过雷达、传感器和V2X感知、思考和自动分析所处的路况,把道路伤害降低一个级别,才是消费者和主机厂们最喜闻乐见的事情吧。    

    时间:2016-01-23 关键词: 恩智浦 飞思卡尔 系统级 芯片级

  • 飞思卡尔基于ARM平台全系列MCU引领嵌入式应用新趋势

    飞思卡尔基于ARM平台全系列MCU引领嵌入式应用新趋势

    如果要回顾2012年以及展望2013年,您会选择哪几个词作为电子行业的关键词?相信还没人去做过这样的调查统计,不过不出意外的话,笔者相信至少有这样两个关键词必将入选最热门的关键词:智能终端,移动互联。您同意吗? 近年来,无论是政府还是企业,都在力主推广各种智能化概念——智能电网、智能交通、智能家居、智能监控……同时,基于各种智能便携式终端的移动互联网应用层出不穷。纵观不久前闭幕的2013年消费电子展(CES2013),最热门的展品几乎无不与这两个关键词相关——今年CES最热门的产品为智能手机和平板电脑,各种智能家电产品也数不胜数,甚至还有吃饭的叉子和汤匙也“被智能化”。 智能化和移动互联网的发展趋势带动了传统的电器产品设计转变,正如在近期召开的易维讯“2013产业和技术展望媒体研讨会”的主题演讲中,飞思卡尔亚太区市场营销和业务拓展经理黄耀君所指出——随着应用复杂度的增加,32位微控制器(MCU)正在很多领域替代传统的8位和16位MCU。而该转变趋势背后,还有很多难以从8位、16位和32位这样简单数字变化所能包含的更多技术发展新趋势。 超过50%的新推MCU基于ARM平台 正如黄耀君所言,32位微控制器越来越多地进入传统8位和16位控制器所长期占据的市场,特别是近年来智能终端的爆发下,这种趋势尤其明显。“32位控制器成本的迅速降低也促成了这种转变,目前一些32位微控制器成本已经进入50美分以下的区间。除了替代8/16位控制器外,一些中端、高端的MCU产品也正在一些传统DSC具有优势的领域中逐渐占据上风。”黄耀君指出,“目前全球新推的32位MCU中,几乎超过50%的产品是基于ARM平台的。” 复杂的嵌入式系统将涉及到实时操作系统、中间件、应用程序、硬件电路,等等,几乎没有一家公司能完成所有的设计,只有基于像ARM这样的开放的公共处理器平台才能形成如此良好、丰富的生态系统,所有的公司一起贡献良好的开发环境,实现快速的系统设计和创新。“例如以前基于8位/16位控制器设计,如果因为供货原因需要修改设计,将会很麻烦,而基于ARM内核的32位处理器很方便,有大量第三方提供技术支持。”黄耀君指出。   飞思卡尔针对不同的应用需求,提供丰富的微控制器产品系列 作为全球最大的微控制器产品提供商之一,飞思卡尔公司的PX系列Power Architecture架构微控制器、ColdFire等已经在业界获得广泛应用,甚至已经成为一些行业标准产品。“但这并不影响飞思卡尔提供基于 ARM平台的领先控制器,”黄耀君指出,“而且我们是业内率先推出基于Cortex-M0+和M4控制器产品的半导体公司。飞思卡尔的Kinetis系列 MCU产品组合共提供了超过200个基于ARM Cortex-M结构的低功耗、高性能、可兼容的微控制器。” “我们的Kinetis系列从入门级到功能丰富的产品,都提供可支持飞思卡尔塔式开发工具平台以及付赠的MQX RTOS和基于Processor Expert 的CodeWarrior IDE编码自动发生器的高精度混合信号、FlexMemory(EEPROM),低功耗、连接性、人机互交(HMI)和安全等等特性,以及非常齐全的外设选择。并获得业界领先的IAR系统、KEIL、Green Hills以及许多其他合作伙伴的支持。”黄耀君表示。   基于开放的公共处理器平台,良好的生态系统将促进更快的产品技术创新。 广泛的产品组合+更高的产品特性满足设计需求升级 面对快速变化的市场需求,嵌入式系统厂商对半导体产品方案也提出越来越多不同于以往的产品功能和特性需求。“客户的要求越来越高,例如功耗越来越低,封装尺寸越来越小,多个串口,部分应用要求把高压驱动、安全功能、无线模块等功能加入进去。”黄耀君指出。在演讲中,他总结了近年来客户对控制器的需求变化的几大趋势: 要求免费的的操作系统支持,例如Linux、uCOSII、FreeRTOS、MQX,等. 免费的高质量中间件支持,以及免费提供各种程序及算法库资源 控制器所集成的RAM与FLASH的比例要求已经从1/32、1/16逐渐上升到1/8、1/6,甚至1/4 允许通过串口和USB接口实现程序加载,支持固件在线升级 更强的EMC兼容性——IEC61000-4-4和IEC61000-4-2分别要求最低4.8KV EFT和8KV ESD,一些应用要求10KV、12KV 可灵活扩展的通用控制器,满足各种存储器大小要求以及管脚兼容,以便随系统要求的提高轻松升级 为满足大批量应用提供专用MCU,这些MCU需要尽量多实现功能集成(例如智能电表应用、物联网应用,等) 无线MCU——以SoC或SiP形式,支持各种无线通信方式,如Sub-GHz、ZigBee、蓝牙,等 具备更强的DSP功能以及更多的外设功能,例如集成DSP协处理器、多内核功能 集成人机界面(HMI)及多媒体功能 事实上,设备商在不断追求更强大的功能和极致性能的过程中,嵌入式系统设计对控制器平台提出了越来越苛刻的要求,几乎所有的嵌入式微控制器产品都在试图满足这些需求趋势,当然每款控制器产品的侧重点会有不同。在演讲中,黄耀君重点分享了飞思卡尔的Kinetis通用MCU系列以及专用MCU系列的在满足这些市场需求方面的主要技术特性: Kinetis L系列微控制器不仅汲取了新型ARM Cortex-M0+处理器的卓越能效和易用性,而且体现了Kinetis 32位微控制器产品优越的性能、多元化的外设、广泛的支持和可扩展性。同时将出色的动态和停止电流与卓越的工艺处理性能、选择广泛的片内闪存密度与丰富的模拟、连接和HMI外设选项相互结合,从8位和16位MCU的限制中释放了关键的功耗设计能力。Kinetis L系列MCU还能够和基于ARM Cortex-M4 Kinetis K系列的硬件和软件相互兼容,为提供性能、存储和特性集成扩展迁移路径。[!--empirenews.page--] Kinetis K 系列MCU组合更强调高性能和可兼容性,有超过200个基于ARM® Cortex™-M结构的低功耗产品。它的设计具有可扩展性能,集成连接性、通信、人机互交(HMI)和安全等等特性。这个系列的产品的特性是高集成,它包含多种快速16位模拟/数字转换器、数字/模拟转换器和可编程增益放大器,以及强大、经济有效的信号转换器。还支持飞思卡尔塔式开发工具平台和免费提供的MQX实时操作系统。   飞思卡尔Kinetis系列通用微控制器为各种嵌入式应用提供了丰富的选择。 Kinetis X系列是业界基于ARM® Cortex™-M4内核构建、速度最快的微控制器。该器件系列具有先进的连接特性和HMI外设,内含软件可以支持带有强大图形用户界面的网络系统。 Kinetis X系列MCU配置了一系列的软件和工具,其中包括飞思卡尔的塔式系统开发平台、附赠的MQX RTOS和基于Processor Expert的CodeWarrior IDE自动代码生成器和来自IAR Systems、KEIL、Green Hills和其他合作伙伴的广泛支。 Kinetis W 系列专用微控制器主要针对物联网、智能家居等应用。增加了无线连接性支持,扩展了Kinetis K系列基于ARM® Cortex™ -M4的成功之处,将业界领先的 sub-1 GHz和2.4 GHz 射频收发器与Cortex™-M4内核成功集成,并针对无线应用进行了优化,提供了一个强大、可靠、安全的和低功耗的嵌入式无线解决方案。提供了一个可测量移动路径的更高性能的储存器和特征集合。 Kinetis M 系列专门支持广泛的经济高效的单相或两相电表设计而设计,基于32位ARM Cortex-M0+内核微控制器。所有 Kinetis M 系列微控制器都包含一个模拟前端,使 CPU 的电源计算可以达到 0.1% 的精确度。为适应多个地区,模拟前端是可配置的,它包含4个24位Σ-Δ模数转换器、两个低噪声可编程增益放大器,支持2000至1的动态范围、一个带有较低漂移温度范围和相移补偿的精密电压参考以简化精确的功率计算。 Vybrid系列提供基于ARM Cortex A5+Cortex M4多核或ARM Cortex A5单核的产品选择,涵盖产品让客户由Kinetis MCU入门级产品升级到带有片上SRAM的MPU,以及适用于工业市场高度集成、异构双核的MPU产品。 每一种Vybrid系列器件都含有成套参考设计、应用笔记、板级支持包(BSP)和中间件。Vybrid平台支持客户构建既可以单独或同时运行如 Linux或MQX等高级操作程序的系统。这样,结合丰富域与实时域之间的通信API,以及便于调试这类系统的工具链,可以显著缩短客户实现收入的时间。 应用案例分析——Kinetis K53在心电监测仪上的应用 作为全球最主要的微控制器供应商之一,飞思卡尔的微控制器产品研发上具有丰富IP和应用开发经验,特别是在各种算法资源、OS(免费提供强大的MQX RTOS)以及强大的技术支持团队上。“飞思卡尔200多款Kinetis系列微控制器广泛应用在消费电子、工业控制、医疗保健和网络通信等领域,这些产品针对主要的应用在外设集成、功能和性能优化上均有业界领先的优势。”黄耀君指出。在研讨会上,黄耀君还重点分享了几个典型的应用案例,下面介绍其中基于 Kinetis K53的心电图仪应用。 如图所示,通过飞思卡尔Kinetis K53处理器,患者不需要去医院里面去做心电图,只需要用苹果的iPhone智能手机或iPad平板电脑,通过飞思卡尔的控制板以及几根电极,就可以轻松地实现心电图的自我检测应用,把心电图形和心率在手机中清楚地显示出来。   通过飞思卡尔的控制板以及几根电极,就可以轻松地实现心电图的自我检测 该 Demo针对的应用主要是实现心电监测的家用便携式医疗保健产品,便携式产品的首要要求就是低功耗和便携性,Kinetis K50系列针对便携式医疗应用进行优化设计的一些独特的功能特性优势使其成为此类应用的理想之选。Kinetis K50系列基于Cortex-M4内核,在实现了高性能和高集成度条件下,本身就具备了非常好的低功耗特性。所集成的DSP和浮点单元功能让设计工程师可以实现轻松快速实现复杂算法,较短的时间内实现心电图监测,使设备大部时间内处于休眠模式从而节省功能。 Kinetis K50系列高集成度还使其在便携式医疗应用上具备整体尺寸以及BOM成本上的优势。内部集成了模拟测量引擎,包括嵌入运算放大器与跨阻抗放大器,以及高分辨率的模数转换器和数模转换器。16位模数转换器提供了所有心电监测或类似家庭健康监测应用所需的高分辨率和精確度。而K50内置的运算放大器和跨阻抗放大器可以很方便设计师实现采集信号的调理,不仅设计上更简单,而且有助于降低噪声干扰。 K50系列器件內含128~512KB的 Flash,以及最多128KB的SRAM,并且结合飞思卡尔在K50系列中使用的创新FlexMemory技术,可以将这部分设置为EEPROM和/或 Flash,并可以同时作为主程序的存储器。这对于像心率监测仪、血糖仪等便携式医疗设备而言非常重要,因为必须持续进行监测数据的写入。   Kinetis K50微控制器系列内部集成了大量便携式医疗应用所需的外设。 本文总结: “2013 年,32位MCU的性能将进一步提高:内核方面,Cortex-M0会向M0+升级,Cortex-M3会向M4升级;资源上向多核和多存储方向演进,而高端的Cortex-A8/A9/A15会向A5X(ARM V8架构)升级。”黄耀君指出,“目前飞思卡尔已经有相关的新品研发,相信很快就会有新产品推出。”越来越丰富的ARM生态系统正在为工程师带来便利,我们期待飞思卡尔在新的一年有更给力的微控制器产品提供给工程师。

    时间:2016-01-14 关键词: 飞思卡尔 ARM MCU 厂商动态

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包