恩智浦MAPS四色板体验:利用板载电位器控制LED的亮度变化。

分享到:

实验一
实验目标:利用板载电位器控制LED的亮度变化。

实验原理:

(1)FTM(弹性定时器模块)是一个支持输入捕捉、输出比较、产生可用来控制电机的PWM信号和电源管理应用的通道定时器。
每一个通道都可配置为输入捕捉、输出比较或者边缘对齐的PWM模式。

(2)K60的ADC模块支持差分模拟输入和单端输入模式。其中单端支持16位、12位、10位以及8位模式。

知识点1:ADC部分
(1)SIM_SCGC6使能ADC的时钟:这里选择第27位ADC0=1


(2)配置ADC配置寄存器(CFG)


7.ADLPC: 低功耗选择;
6-5.ADIV: 时钟分频选择,1/2/4/8分频;
4.ADLSMP:采样时间配置;
3-2.MODE:转换模式选择,单端或差分,不同的精度选择
1-0.ADICLK:输入时钟选择,总线时钟或交替时钟等;
(3)配置ADC状态和控制寄存器(SC1n)



7.COCO:转换完成标志
6.AIEN:中断使能
5.DIFF:差分输入使能
4-0.ADCH:输入通道选择
知识点2:FTM的PWM部分
(1)状态和控制寄存器(FTMx_SC)



7.TOF:定时器溢出标志
6.TOIE:定时器溢出中断使能
5.CPWMSWM中间对齐选择
4-3.CLKS:时钟源选择
2-0.PS:预分频系数选择
(2)计数器寄存器(FTMx_CNT)



15-0.COUNT:16位计数器,主要由向上计数和向上向下计数
(3)通道n控制和状态寄存器(FTMx_CnSC)



  (4)模寄存器(FTMx_MOD)



实验步骤:
1.电路图引脚
飞思卡尔四色板板载两个可调电位器用来模拟ADC输入信号,我们选择其中的RV1来作为信号源:


另外我们选择PORTA7作为FTM控制输出边缘对齐的PWM波形的引脚。

2软件编程
主要分为两个部分,分别是ADC采样可调电位器电压部分和FTM受控制输出PWM波形
(1)ADC部分
ADC配置与初始化:采用ADC0通道单端模式,12位分辨率,其他参数采用默认设置
adc_calibration_param_t MyAdcCalibraitionParam;//calibration parameters
adc_user_config_t MyAdcUserConfig;//ADC parameters
adc_state_t MyAdcState;
volatile int32_t adcValue;//the value we get
/* Auto calibration.自动校准 */
ADC_DRV_GetAutoCalibrationParam(HW_ADC0, &MyAdcCalibraitionParam);
ADC_DRV_SetCalibrationParam(HW_ADC0, &MyAdcCalibraitionParam);
/* Initialization for interrupt mode.中断模式初始化 */
ADC_DRV_StructInitUserConfigForOneTimeTriggerMode(&MyAdcUserConfig);//set as one time trigger mode
MyAdcUserConfig.resolutionMode = kAdcResolutionBitOf12or13;//12位单端分辨率,13位为差分模式
ADC_DRV_Init(HW_ADC0, &MyAdcUserConfig, &MyAdcState);
(2)FLM的PWM模式
配置:
ftm_pwm_param_t ftmParam = {
.mode = kFtmEdgeAlignedPWM,//边沿对齐PWM模式
.edgeMode = kFtmLowTrue,
.uFrequencyHZ = 240000,
.uDutyCyclePercent = 50,//占空比
.uFirstEdgeDelayPercent = 0,
};
configure_ftm_pins(BOARD_FTM_INSTANCE);//FTM0通道输出
ftm_user_config_t ftmInfo;
memset(&ftmInfo, 0, sizeof(ftmInfo));
FTM_DRV_Init(BOARD_FTM_INSTANCE, &ftmInfo);//初始化
(3)主循环
//获取AD值
adcValue = getVoltage(0, false, MyAdcUserConfig.resolutionMode);
//PWM输出
FTM_DRV_PwmStart(BOARD_FTM_INSTANCE, &ftmParam, BOARD_FTM_CHANNEL);
OSA_TimeDelay(50); //delay 50ms
FTM_DRV_PwmStop(BOARD_FTM_INSTANCE, &ftmParam, BOARD_FTM_CHANNEL);
//AD转换值作为PWM占空比输出
float a=adcValue;
float b= a/4095;
ftmParam.uDutyCyclePercent =(b*100);
实验现象:
如下图所示
(1)RV2电位器调到最小的时候,LD1灯不亮



(2)RV2逐渐调大至最大值,LD1灯的逐渐变亮

 

更多恩智浦(NXP)及恩智浦技术教程请关注:
NXP中文官方:https://www.nxp.com/zh-Hans/
NXP中文技术论坛:https://www.nxpic.org/
继续阅读
对于那些怀念灯丝灯泡的外观及其发光效果的人来说,复古的LED灯丝灯泡技术提供了两全其美的设计

经典的白炽灯泡及其发光灯丝正逐渐式微,这已经不是什么新闻了。由于技术进步、法规要求以及大量节省成本,小型荧光灯(compact fluorescent lamp;CFL)与LED陆续席卷住宅、商业以及工业环境的照明世界。

Micro LED技术发展遇到瓶颈,如何才能越过挑战转为商机

2017年台湾平面显示器总产值达1.3兆,为台湾第二大产业,但随着外在竞争加剧,若想保持现有优势,唯有及时布局下世代技术,才能开启下一波成长动能。随着人类生活进入「多屏时代」,我们被尺寸大小不一的电脑、电视、平板或手机萤幕环绕,不仅象征显示器已在日常生活中扮演重要角色,也加剧显示器业者竞逐应用市场的态势。

真相了!手机防蓝光贴膜竟然毫无用处!

蓝光指的是波长为400到500纳米的电磁波,由于波长较短的关系,蓝光的能量比较高,穿透力也比较强。因此,蓝光有能力穿透角膜和晶状体,对眼底视网膜造成一定损伤。

柔性屏和投影,未来哪个才是主流的显示技术?

  目前主流的显示技术大概有两种,一种是顺着传统的LCD、OLED技术发展而来的柔性AMOLED技术,另一种则是越来越微型化的投影显示技术。目前这两种前沿的显示技术都已经应用到了消费电子产品上,但究竟谁能代表未来的主流显示技术,业界也展开了激烈的探讨。

恩智浦MAPS四色板体验:利用板载电位器控制LED的亮度变化。

实验目标:利用板载电位器控制LED的亮度变化。FTM(弹性定时器模块)是一个支持输入捕捉、输出比较、产生可用来控制电机的PWM信号和电源管理应用的通道定时器。每一个通道都可配置为输入捕捉、输出比较或者边缘对齐的PWM模式。