Freescale Semiconductor 应用笔记 Document Number: AN4842 Rev 1.0, 03/2014 S12ZVL LIN RGB LED 照明应用 基于 MC9S12ZVL32 MagniV 器件 作者:Petr Cholasta 1 简介 本应用笔记介绍了如何采用 MC9S12ZVL32 器件, 在 RGB LED 照明应用中实现控制和诊断功能。 MC9S12ZVL32 集成了一个 16 位微控制器 (基于成 熟的 S12 技术),一个汽车稳压器,一个 LIN 接口, 一个用于感应汽车电池电压的 VSUP 模块,和一个 HVI 引脚 [1]。 内容 1 简介 . . . . . . . . . . . . . . . . . . . . . . . 1 2 RGB LED 照明应用 . . . . . . . . . . . . . . . . 2 3 RGB LED 照明应用采用 FreeMASTER 工具进行控 制 [2]。 本文档包含AN4842SW.zip文件,其中带有X-S12ZVL32USLED 硬件和软件文件。 4 2.1 RGB LED 应用电路 . . . . . . . . . . . . . . 3 2.2 RGB LED 控制 . . . . . . . . . . . . . . . . 4 2.3 RGB LED 诊断 . . . . . . . . . . . . . . . . 4 2.4 LIN 从机节点位置检测 . . . . . . . . . . . . . 5 MC9S12ZVL32 模块配置. . . . . . . . . . . . . . 6 3.1 时钟、复位和电源管理单元 . . . . . . . . . . 6 3.2 定时器模块 . . . . . . . . . . . . . . . . . 6 3.3 3.4 脉宽调制器 . . . . . . . . . . . . . . . . . 7 模数转换器 . . . . . . . . . . . . . . . . . 7 3.5 端口集成模块 . . . . . . . . . . . . . . . . 7 3.6 中断 . . . . . . . . . . . . . . . . . . . . 8 RGB LED 照明应用演示 . . . . . . . . . . . . . . 9 4.1 硬件 . . . . . . . . . . . . . . . . . . . . 9 4.2 软件 . . . . . . . . . . . . . . . . . . . 10 4.3 演示设置 . . . . . . . . . . . . . . . . . 10 5 参考文献 . . . . . . . . . . . . . . . . . . . . 14 6 缩略语. . . . . . . . . . . . . . . . . . . . . 15 附录 AX-S12ZVL32-USLED 电路板原理图 . . . . . . . 16 © Freescale Semiconductor, Inc., 2014. All rights reserved. RGB LED 照明应用 2 RGB LED 照明应用 图 1 所示为 RGB LED 照明应用的结构框图。蓝色框表示 MC9S12ZVL32 模块,浅棕色框表示 软件模块。 7,0 &308 6=&38 )/$6+ 5$0 扟嫛 $'& 摖㫆 ㄣ䞷 㲰㆞ 折㕸 %'0 $'& 5*%/(' 䟄㿐帰並 3:0 3:0 3:0 5*%/(' 㘶Ⓟ 6&, 995(* /,1 5*%/(' )UHH0$67(5 6=9/ 0DJQL9㲰⧦ 0DJQL9懾ↅ 图 1. 应用结构框图 RGB LED 通过 FreeMASTER 工具控制页面 [2] 进行控制。 ADC 会感应 RGB LED 的电压,并通 过 AMMCLIB 模块 [3] 计算出 LED 平均电流,从而实现 LED 诊断功能。 RGB LED 控制和诊断模块可通过 LIN 进行监控。 有关详细描述,请参阅以下各节。 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 2 Freescale Semiconductor RGB LED 照明应用 2.1 RGB LED 应用电路 RGB LED 通过 MCU PWM1、PWM3 和 PWM5 输出进行控制,见图 2。通过 MCU 的输入端 AN3、 AN4 和 AN5 分别测量电阻 R6、 R7、 R8 与 RGB LED 的连接处电压,见表 1。 MCU +5 V 调节器使用的是外部镇流晶体管 Q3。 Q3 有助于降低 MCU 功耗,还能提升调节器电 流容量。模块电池反接保护功能由二极管 D5 提供。 图 2. RGB LED 应用电路 表 1. RGB LED D6 引脚分配 RGB LED 引脚 RGB LED 颜色 RGB LED 控制 RGD LED 诊断 A1, C1 蓝 PWM3 AN3 A2, C2 红 PWM1 AN4 A3, C3 绿 PWM5 AN5 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 Freescale Semiconductor 3 RGB LED 照明应用 2.2 RGB LED 控制 PWM 模块以 16 位分辨率驱动 LED。由于较高的 PWM 分辨率, RGB LED 颜色的变化很流畅。 2.3 RGB LED 诊断 RGB LED诊断模块报告用LED二极管电压值和所用PWM占空比计算得到的实际LED平均电流。 实际 LED 电压在 LED 导通时由 ADC 采样,在 PWM 信号下降沿之后红光二极管采样约 2 s,绿 光二极管约 4s,蓝光二极管约 6 s。采样值用来计算二极管电阻电压。因电阻电压及其电阻是 已知的,所以可以用来计算二极管峰值电流。用已知的 PWM 占空比值和二极管峰值电流计算平 均电流值。 计算是通过 AMMCLIB [3] 用 16 位小数算法完成的。 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 4 Freescale Semiconductor RGB LED 照明应用 2.4 LIN 从机节点位置检测 根据设计,板载LIN开关硬件可支持LIN从机节点自动寻址和菊花链,见图3。LIN_IN和LIN_OUT LIN 信号线路要么接通要么断开,依据 MCU PS0 输出引脚逻辑电平而定,见表 2。 4 %66/7* - &213/8* ' %=7&7 & ' 00%=9&/7 ' %=7&7 5 . & & 8) $ 5 . ' 6$ /,1B287 $ ' 00%=9&/7 & & 3) - &213/8* $ /,1B,1 /,1B,1 4 %66/7* & 8) 5 36 5 . 图 3. LIN 信号线路开关 系统上电时, LIN_IN (J1) 和 LIN_OUT (J2) LIN 信号线路 (引脚 4)断开。 LIN 主机单元只与最 近的 LIN 从机单元通信。 LIN 主机单元发送 LIN 配置帧。 LIN 从机地址一旦配置完成, LIN_IN 和 LIN_OUT 节点 LIN 信号线路接通,线路中的后续节点重复 LIN 从机配置。该循环一直重复下 去,直到 LIN 网络从机配置未完成为止。 表 2. LIN 信号线路开关控制 MCU PS0 引脚 LIN_IN 和 LIN_OUT 高电平 断开 低电平 连接 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 Freescale Semiconductor 5 MC9S12ZVL32 模块配置 3 MC9S12ZVL32 模块配置 RGB LED 照明应用使用下列外围模块组合: 1. 时钟、复位和电源管理单元 (CMPU) 2. 定时器模块 (TIM) 3. 脉宽调制器 (PWM) 4. 模数转换器 (ADC) 5. 端口集成模块 (PIM) 6. 中断 (INT) 模块的配置和使用见后续各章。有关 MCU 模块的详细信息,请参阅 MC9S12ZVL32 参考手册 [1]。 开发的应用软件实现了下列功能: • RGB LED 控制 • RGB LED 诊断 • FreeMASTER 使能 有关详情,请参阅 第 4 节, “RGB LED 照明应用演示 ” 3.1 时钟、复位和电源管理单元 时钟、复位和电源管理单元 (CMPU) 用内部 1 MHz 时钟信号,将 CPU 时钟设为 64 MHz,将总线 时钟设为 32 MHz。 把内部 1 MHz 参考时钟选为 PLL (CPMUREFDIV_REFDIV = 0, CPMUREFDIV_REFFRQ = 0) 的源 时钟。 将 PLL VCOCLK 频率设为 64 MHz (CPMUSYNR_SYNDIV = 31): VCOCLK = 2 SYNDIV + 1 1 MHz 公式 3-1 将 VCOCLK 信号频率进行 1 分频 (CPMUPOSTDIV_POSTDIV = 0)。将其用作 64 MHz 内核时钟 ECLK2X 信号和 32 MHz 总线时钟 ECLK 信号。 3.2 定时器模块 TIM 通道 0 作为应用调度器时基运行。将 TIM 通道 0 比较输出设置为在出现通道比较事件时不进 行操作 (TIM0TCTL2_OL0 = 0; TIM0TCTL2_OM0 = 0)。使能 TIM 通道 0 中断 (TIM0TIE_C0I = 1)。 将定时器单节拍配置为 1s (TIM0TSCR2_PR = 5)。 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 6 Freescale Semiconductor MC9S12ZVL32 模块配置 3.3 脉宽调制器 脉宽调制器模块控制板载 RGB LED。 PWM 模块通道运行于 16 位分辨率模式之下 (PWMCTL_CON01 = 1, PWMCTL_CON23 = 1, PWMCTL_CON45 = 1, PWMCTL_CON67 = 1)。把时钟 B 选为 PWM 时钟源。 PWM 时钟 B 等于 16 MHz (PWMPRCLK_PCKB = 1)。 通道 PWM1、PWM3、PWM5 产生一个开始为低电平的 244HZ PWM 信号。使能 PWM1、PWM3、 PWM5 通道 (PWME_PWME1 = 1, PWME_PWME3 = 1, PWME_PWME5 = 1)。 3.4 模数转换器 模数转换器用于对 RGB LED 电压采样。 将ADC时钟设为8 MHz (ADC0TIM = 1)。通过数据总线将ADC模块设置为存取模式(ADC0CTL_0_ ACC_CFG = 2)。ADC 运行于触发模式 (ADC0CTL_0_MOD_CFG = 1),分辨率为 8 位 (ADC0FMT_ SRES = 0)。使能列表结束中断 (ADC0CONIE_1_EOL_IE = 1)。 ADC 模块用一个单命令序列表 (ADC0CTL_1_CSL_BMOD = 0) 和单结果值列表 (ADC0CTL_1_ RVL_BMOD = 0) 对 LED 电压采样。对 LED 电压进行计算,得到 LED 平均电流,见第 2.3 节,“RGB LED 诊断 ”。 3.5 端口集成模块 端口集成模块用于驱动 RGB LED (见 2.2 节)和控制 LIN 开关 (见第 2.4 节, “LIN 从机节点位 置检测 ”)。 通过使能 LED_APPLICATION_DEBUG 宏,端口引脚 PT3、 PT4、 PT5 可以用来调试应用,见 表 3。另外,引脚还共用 SCI 和 TIM 模块。 表 3. 应用调试 MCU 引脚 LED_APPLICATION_DEBUG PT3 TIM Ch0 中断 PT4 ADC 列表结束中断 PT5 PWM 下降沿已生成 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 Freescale Semiconductor 7 MC9S12ZVL32 模块配置 3.6 中断 中断模块按照以下方式设置中断优先级,从最高优先级开始: 1. ADC0 列表结束 - 采样结果已准备好进行后续处理 2. 用于应用控制的 TIM 通道 0 - 1 ms 周期性中断 3. PIM 端口 P - PWM 模块信号下降沿已捕获 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 8 Freescale Semiconductor RGB LED 照明应用演示 4 RGB LED 照明应用演示 RGB LED 照明应用演示可以用随附的 AN4842SW.zip 文件构建,该文件中含有 X-S12ZVL32USLED 电路板硬件和软件文件。 4.1 硬件 X-S12ZVL32-USLED 电路板 (见图 4)是用 AN4842SW.zip 硬件文件构建的。这些文件包括电路 板原理图、材料清单、 Gerber 文件和电路板制造说明。 图 4. X-S12ZVL32-USLED 电路板 X-S12ZVL32-USLED 电路板包含 (见第附录 A 节, “X-S12ZVL32-USLED 电路板原理图 ”): • • • • • • MC9S12ZVL32 LQFP32 MCU,见 [1] LIN 从机节点位置检测硬件 RGB LED,包括诊断硬件 电池反接保护 使能 BDM 超声波检测电路 (未使用,未填充) S12ZVL LIN RGB LED 照明应用 , Rev 1.0 Freescale Semiconductor 9 RGB LED 照明应用演示 4.2 软件 将软件文件封装成 MC9S12ZVL32_RGBLED_REV1.exe 文件,并包含在 AN4842SW.zip 文件中。 应用程序是运用 CW10.3 环境开发的。MC9S12ZVL32_RGBLED_0N22G_AMMCLIB_v_1_0_0.elf 文件可以在工程的 FLASH 文件夹中找到。代码下载使用 P&E USB Multilink 接口。 RGB LED 照明应用演示展示的内容有: • RGB LED 颜色控制 • RGB LED 诊断 • FreeMASTER 工具: • RGB LED 控制 • RGB LED 平均电流显示 • 集成 AMMCLIB [3]。 4.3 演示设置 演示设置见图 5。根据设计,在使用或不使用 FreeMASTER 工具的条件下,演示都能运行。 图 5. 演示设置 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 10 Freescale Semiconductor RGB LED 照明应用演示 按照下列说明执行,了解完整的演示设置过程: 1. 在所用 PC 上安装 FreeMASTER 工具 [2] 2. 把 +12 V/100mA DC 电源连接到 X-S12ZVL32-USLED 电路板的 J1 端口, LIN_IN: a GND 接 J1 引脚 1 b +12V 接 J1 引脚 3 3. 打开电源 4. 把 P&E USB Multilink 接口连接到 X-S12ZVL32-USLED 电路板的 J4 端口 5. 打开 AN4842SW.zip 文件中的 MC9S12ZVL32_RGBLED.pmp 文件 6. 打开 FreeMASTER 文件 Project/Options 文件夹,按照图 6 和图 7 中的说明检查设置 7. 通过 File/Start Communication 运行 FreeMASTER 通信软件 8. 用 FreeMASTER 控制 RGB LED,见 图 8: a RGBLED_OFF - RGB LED 关闭 b RGBLED_ON_MANUAL - RGB LED 通过 FreeMASTER 变量 redLEDdutyCycle、 greenLEDdutyCycle 和 blueLEDdutyCycle 控制。在 0-65535 范围内输入一个数值。 c RGBLED_ON_DEMO - RGB LED 的颜色自动改变。这是模块上电后演示的默认模式 9. RGB LED 平均电流显示在 FreeMASTER 页面上,见 图 8 图 6. FreeMASTER 通信配置 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 Freescale Semiconductor 11 RGB LED 照明应用演示 图 7. FreeMASTER MAP 文件配置 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 12 Freescale Semiconductor RGB LED 照明应用演示 设置模式 设置占空比 图 8. FreeMASTER RGB LED 控制页面 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 Freescale Semiconductor 13 参考文献 5 参考文献 1. MC9S12ZVL 系列参考手册,下载地址:freescale.com 2. FreeMASTER 运行时调试工具,下载地址:freescale.com/freemaster 3. 汽车计算和电机控制库套件,下载地址:freescale.com/AutoMCLib S12ZVL LIN RGB LED 照明应用 , Rev 1.0 14 Freescale Semiconductor 缩略语 6 缩略语 ADC 模数转换器 BDM 后台调试模块 CMPU 时钟、复位和电源管理单元 DC 直流 HVI 高电压输入 INT 中断 ISR 中断服务程序 LIN 本地互连网络 MCU 微控制器单元 PC 个人计算机 PIM 端口集成模块 PWM 脉宽调制 RGB LED 红、绿、蓝发光二极管 TIM 定时器模块 USB 通用串行总线 VSUP 供电 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 Freescale Semiconductor 15 X-S12ZVL32-USLED 电路板原理图 附录 A X-S12ZVL32-USLED 电路板原理图 若要查看原理图,请参阅本《应用笔记》PDF 版所附 “LIN_Daisy_Chain_Switch_LEDs.pdf” 文件。 S12ZVL LIN RGB LED 照明应用 , Rev 1.0 16 Freescale Semiconductor How to Reach Us: Home Page: freescale.com Web Support: freescale.com/support 本文档中的信息仅供系统和软件实施方使用 Freescale 产品。 本文并未明 示或者暗示授予利用本文档信息进行设计或者加工集成电路的版权许可。 Freescale 保留对此处任何产品进行更改的权利,恕不另行通知。 Freescale 对其产品在任何特定用途方面的适用性不做任何担保、表示或 保证,也不承担因为应用程序或者使用产品或电路所产生的任何责任,明 确拒绝承担包括但不局限于后果性的或附带性的损害在内的所有责任。 Freescale 的数据表和 / 或规格中所提供的 “ 典型 ” 参数在不同应用中可能 并且确实不同,实际性能会随时间而有所变化。 所有运行参数,包括 “ 经典值”在内,必须经由客户的技术专家对每个客户的应用程序进行验证。 Freescale 未转让与其专利权及其他权利相关的许可。 Freescale 销售产 品时遵循以下网址中包含的标准销售条款和条件: freescale.com/SalesTermsandConditions. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. MagniV is trademark of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc. © 2014 飞思卡尔半导体有限公司 Document Number: AN4842 Rev 1.0, 03/2014