液晶(LCD)电视机在家电消费市场现已全面遍及,因为 LCD 显现需求背光,而传统的 CCFL 背光现已逐步被 LED 背光代替。在 LED 背光计划中,常常需求一个 MCU 来操控 LED Driver。一起,因为 3D 电视的市场占有率越来越高,在 3D 电视中,也需求运用一个 MCU 来发射 3D 眼镜同步信号。
本文介绍了一种依据 MSP430G2303 单片机完结 3D TV 的背光扫描和 3D 红外信号发射的解决计划。该计划选用一颗高性价比的 MCU 完结了 3D TV 背光扫描和红外发射功用,具有成本低,功用牢靠的特色。
-
简介
快门式的 3D 电视需求发射左、右眼的同步信号给眼镜,眼镜依据这个信号来操控左右眼的开关,然后完结 3D 显现。一起,为了取得更好的 3D 作用,主时机依照左右眼的同步信号,调理显现器的背光,即 3D Scanning 背光扫描。
一般运用中会用一个 MCU 来处理 3D 红外信号发射,用另一个 MCU 完结背光扫描。本文介绍了一种运用一个 MCU 完结 3D 红外信号发射和背光扫描的办法。选用 TI 公司的高功用,低成本的 MSP430G 系列 MCU 能够很便利完结这两个功用。
2. 原理框图
2.1 功用框图
依据 MSP430G2303 MCU 规划 TV 背光、3D 红外发射二合一功用操控器的体系框图如下:
装备内部数字振荡器(DCO)作业在 8MHz 最高主频,为 MCLK,ACLK 别离供给 8MHz 的时钟源;
装备 USCI_A 作业在从 I2C 形式,接纳上位机发过来的参数数据;
MCU 检测 GPIO 的上升、下降沿中止,并依据 TV 形式设置背光 PWM输出;
TIMER_A0 的 CCP1,CCP2 用来别离完结 3D 形式下的 8 通道的 PWM 背光输出操控;
TIMER_A0 的 CCP0 完结红外编码处理;
TIMER_A1 完结 20kHz 的红外载波频率输出。
2.2 引脚分配框图
在本运用中,MSP430G2303 的管脚分配如下图所示。
其间:
– P1.0-P1.5, P2.0-P2.1 用作 8 路 PWM 输出,操控 LED 背光;
– P2.2 用作红外发射操控管脚,操控 3D 红外信号发射;
– P2.3 用来接纳 3D 信号的 R/L 信号;
– P2.4 用来接纳 2D 形式下的 PWM 输入;
– P2.5 用来接纳主机的 2D/3D 形式切换;
– P1.6、P1.7 用作 I2C 总线 SDA 和 SCL,接纳主机发送的指令和参数。
2.3 原理图
规划原理图如下图所示:
2.4 体系框图及优势
现在,大多数的 LCD 电视厂家选用主板+电源板的体系架构。主板担任处理电视信号,电源板担任办理体系电源以及 LCD 背光驱动。
支撑 3D 形式的电视机上,电源板上选用一个 MCU1 来处理 3D Scanning 形式的背光扫描,在主板上运用一个 MCU2 操控 3D 眼睛的红外信号发射。如图4 所示。这种架构的计划有如下几个缺陷:
-
因为不同的 LCD 显现屏对背光扫描的参数不一样,所以坐落电源板上的MCU1 要依据不同的 LCD 显现屏装备不同的参数, 出产和办理很不便利;
2. 不同的电视尺度背光的通道数是不一样的,同一个 MCU 的软件很难支撑各种规格的电视;
3. 背光 MCU 的 SYNC 信号和主芯片发送给主板上的 MCU 的 L/R 信号存在必定相差,简单形成 3D 眼睛和背光不同步。
TI 的二合一计划,运用一个 MCU 处理 3D 电视的背光和 3D 眼睛的红外信号,体系框图如图 5 所示。本计划的优势如下:
1. 该计划选用一个 MCU,只需求一套软件;便于软件开发和办理;
2. 在主芯片和 MCU 之间增加了 I2C 接口进行通讯,一切的参数都能够经过该接口传给 MCU;
3. 运用同一套软件不同的屏参和 LED 背光通道数的操控,便利出产和物料办理。
3. 规划原理
3.1 2D 形式下的背光操控
在 2D 形式下,MCU 操控 8-CH 的背光输出跟从 PWMIN 的信号。本运用中,选用 P2.4 引脚作为 2D 形式下的 PWM_IN 的输入引脚,P2.4 被规划成上升/下降沿触发中止,在中止处理函数中,CPU 依据 PWM_IN 的信号设置 8 个通道的 PWM 输出电平。背光输出波形如下图所示:
因为选用的管脚中止触发 PWM 输出,所以 PWM 的输出精度遭到中止处理的影响,会带来 10~20uS 的延时差错。
3.2 3D 形式下的背光操控
3.2.1 需求剖析
在 3D 形式下,MCU 接纳从 LCD 显现屏宣布的 R/L 信号,并依据设置好的Phase 和 Duty 参数,别离输出 8 路 PWM 操控信号驱动 LED Driver 点亮背光。为了习惯各种屏的需求,8 路 PWM 信号的 Phase 和 Duty 能够由主机经过 I2C总线设置。具体的指令拜见本文的“4. 指令字”章节。
3D 形式下的背光操控输出和 R/L 信号的波形图,如下图所示:
因为 MCU 选用 GPIO 的中止触发方法检测 R/L 信号,每个通道的处理是经过 TIMER 中止触发,所以在实践操作中会带来必定的延时差错。实践测验的差错在 20uS 以内。
因为中止处理需求占用 CPU 必定的处理时刻,所以不同通道的 Phase 延时会遭到影响,不同的通道之间的 Phase 值不能相差太小。依据实践测验,最小的相位差不能低于 50us。
3.2.2 软件完结
从波形上剖析,8 个通道的 PWM 信号的 Phase 各不相同,咱们把在一个SYNC 周期内的 8 路通道的 PWM 波形的上升沿和下降沿当作 8 个 GPIO 上升事情和 8 个下降事情,然后依据事情产生的先后时刻排序。因为上升沿和下降沿有可能在同一时刻产生,所以咱们就用 TIMER_A0 的 CPP1 和 CPP2 别离处理上升沿事情和下降沿事情。
在 3D 形式时,设置 Timer_A0 作业在接连形式; P2.3 管脚接纳主机的 R/L信号。在 R/L 信号的上升沿和下降沿触发 GPIO 中止,在中止处理函数中清零TIMER_A0 计数器。然后,依照排好序的事情序列,设置第一个上升沿事情的时刻点到 TIMER_A0 的 CCP1 和第一个下降沿事情的时刻点到 TIMER_A0 的CCP2。最终,使能 TIMER_A0 的 CCP1 和 CPP2 中止。
在 TIMER_A0 的 CCP1 和 CCP2 中止产生时,CPU 依据上升沿和下降沿的事情设置对应的 GPIO 电平,并更新 CCP1 或 CCP2 中的上升沿或下降沿事情的时刻点。
这样就次序完结了 3D 背光的 Scanning 扫描功用。
3.3 3D 形式下的红外信号发射
3.3.1 需求剖析
在 3D 形式下,MCU 依据图画帧的同步信号操控三级管驱动一个红外发射管,给 3D 眼镜发送红外信号。3D 眼镜依据接纳到的信号开关左右眼的快门,然后使左右眼别离看到不同的电视信号,完结 3D 作用。
红外信号的频率为 20kHz,50%的占空比。如下图所示:
在本运用中运用 L/R (左、右眼) 信号代替帧同步信号,MCU 检测到该信号后,依照设置好的参数输出固定的红外 R/L 同步信号给眼镜。为了节省功耗,每 3 次 R/L 信号发射一次红外信号。
为了防止累计的时刻差错,MCU 每检测到 15 个 R/L 信号需发送一次帧同步信号给眼镜,具体波形如下。为了防止和 3D R/L 同步信号抵触,该信号在R/L 同步信号的第二个 R/L 信号之后发送。
编码各部分时长及包含的方波脉冲数见表一。
3.3.2 软件完结
因为红外信号载波频率的精度会影响到 3D 眼睛的接纳间隔和视点,所以咱们运用硬件 Timer 来产生 20kHz 的红外载波信号。咱们设置 Timer_A1 作业在 PWM 形式,周期为 50us,占空比为 50%。
在背光操控一节,现已介绍了运用怎么设置 Timer_A0,使其作业在接连计数器形式。在 3D 红外发射部分需求运用 Timer_A0 的 CCP0 功用。
运用 P2.3 来检测 R/L 信号,别离在上升沿和下降沿产生同步信号的中止。
在 R/L 信号的上升/下降沿中止中,依照表 1 的参数,设置 Timer_A0 的CCP0,并依据波形敞开和封闭 Timer_A1 产生的 PWM 波形,然后完结红外编码。
因为在不同的 R/L 信号周期要求产生不同红外波形,咱们界说一个计数器来核算 R/L 同步信号的周期数,该计数器规模从 1 到 15。MCU 在不同的计数值,产生对应的红外信号。
因为软件选用中止的方法检测 R/L 信号,选用 Timer 中止的方法处理红外编码,所以在核算编码周期时需求把中止处理的时刻考虑进去,尽量防止因为中止处理带来的累计差错。
3.4 帧频率的判别
因为电视信号的制式不同,帧同步信号分为 50HZ 和 60HZ 两种。MCU 需求判别帧同步信号的频率,并依据频率调用各自的背光参数。这个作业分为两个部分。
第一部分在 TV 信号从 2D 切换到 3D 的进程,在这个进程中因为 R/L 信号还未安稳,所以不能输出 3D 红外信号,一起 8 路 PWM 操控单元输出一个固定的 50HZ,占空比位 30%的 PWM 信号驱动 LED driver 点亮背光。在此期间,咱们运用 Timer_A1 的 CCP 功用,捕获 R/L 信号的脉宽,并判别其周期。等其安稳在 50HZ 或 60HZ 之后,才载入 50HZ 或 60HZ 的参数,并切换到 3D 作业形式。
第二部分产生在 3D 作业形式,咱们运用 MCU 的 T imer_A1 定时检测 R/L信号,判别其周期是否有改变,假如产生有用的 50HZ 和 60HZ 的切换,MCU会从头载入当时的频率参数。为了不影响到正常的 3D 红外发射功用和Scanning 背光扫描功用,咱们在 R/L 信号周期计数器计数到 15 时才判别一次R/L 信号。
4. 通讯功用
4.1 I2C 总线接口
TV 的主芯片经过 I2C 接口和 MCU 进行通讯,并把相关的参数信息经过I2C 总线传给 MCU。主芯片作业在 I2C 主形式,MCU 作业在 I2C 从形式。
I2C 接口规划成契合 I2C 总线读写规范的规范作业形式,包含 7 位地址,8-BIT 数据拜访形式。
4.2 I2C 数据帧格局描绘
主芯片经过数据帧和 MCU 通讯,一帧数据以 START 信号为开始,以STOP 信号为完毕,I2C 的数据帧格局如下表所示:
具体的帧格局描绘如下:
I2C 地址+W/R – 主机经过 7 位地址拜访从机,拜访地址为 0xC4
指令字 – 从机经过解析指令字,更改参数数据
数据域长度 – 依据不同的指令字,有不同的数据域长度
数据域 – 指令字匹配的数据参数,具体见指令字阐明
校验码 – 从指令字到数据域的一切字节和,取最低的 8 位
完毕符 – 帧完毕符:0x9B64
4.3 指令字
MCU 接纳到完好的 I2C 帧数据后,解分出指令字并依据指令字设置新的参数。
其间指令字包含如下界说:
5. Firmware 规划
本规划选用 C 言语开发,IDE 选用 IAR5.4 版别。
5.1 主函数流程
在主函数中,首要完结体系的初始化作业,并从 INFO Flash 中载入 TV 背光和 3D 红外发射需求的参数到 RAM 中。然后进入循环查询形式,等候主机I2C 指令操作。
主函数的流程图如下所示:
5.2 I2C 帧数据判别流程
MCU 接纳到一帧 I2C 数据之后,首要判帧数据是否合法,判别的流程图如下图所示:
5.3 指令字解析处理
当检测到合法的 I2C 数据帧之后,MCU 提取出数据帧中的指令字,并依据指令字跳转到指令字处理函数。
在本运用中,把指令处理函数界说成一个函数指针数组,当接纳到指令字后,依据指令字的来调用数组中的不同函数。具体代码如下:
// 界说 I2C 指令字
#define CMD_3D_STA 0x36
#define CMD_3D_IR CMD_3D_STA + 1
#define CMD_3D_BLP1 CMD_3D_IR + 1
#define CMD_3D_BLP2 CMD_3D_BLP1 +1
// 界说指令字处理函数指针
typedef unsigned char (*pFun)(unsigned char*);
const pFun g_CmdFun[4] = {Set3DSta, Set3DIRPar, Set3DPhase,Set3DDuty};
/*******************************************************************
** Function Name : CmdSer **
** Description : **
** Arguments : **
** Out Put : **
** Author : Triton.Zhang@ti.com **
** Date : **
*******************************************************************/
unsigned char CmdSer(unsigned char Cmd)
{
unsigned char sta = 0;
if ((Cmd>= CMD_3D_STA) && (Cmd <= CMD_3D_BLP2))
sta = (*g_CmdFun[Cmd – CMD_3D_STA])(&g_I2CRxBuff[2]);
else
return 1;
return sta;
}
更具体的关于各个 I2C 指令的处理拜见附件中的软件包。
5.3 2D 形式的背光处理
TV 在 2D 形式下时,背光跟从输入的 PWM 信号调理输出,其处理函数如下:
if (P2IFG & PIN_PWMIN)
{
if (P2IN & PIN_PWMIN)
{
PWM_OUT_HIGH();
P2IES |= PIN_PWMIN; // 设置下降沿触发中止
}
else
{
PWM_OUT_LOW();
P2IES &= ~PIN_PWMIN; // 设置为上升沿触发中止
}
}
其它软件功用如 3D 形式下的背光处理和红外发射操控比较复杂,不在本文中具体罗列。若对本文所述的计划和内容感兴趣,请联络德州仪器半导体取得进一步支撑。
6. 参考文献
-
MSP430G2303 数据手册
2. MSP430F2XX 用户手册