基于 MC20P02B 的机顶盒前面板控制电路设计
摘要: 本文论述了利用 MC20P02B 单片机实现机顶盒前面板控制电路的硬件和软件设计方法。
引言:目前的机顶盒前面板一般都是由主 CPU 控制,或者是主 CPU 加键盘、LED 扫描集成芯片来实现。这样主 CPU 在待机时无法彻底关断,待机功耗较大,而且主 CPU 与前面板的控制比较复杂,不利于维护。于是我们想到了用我司的 MC20P02B 来实现实时键盘扫描,LED 显示扫描,待机时红外接收处理,待机时实时时钟维护,待机唤醒主 CPU 功能,并通过 IIC协议将以上信息通讯给主 CPU。
1.该方案的优势
1.1 提高主 CPU 效率
替代主 CPU 做键盘扫描,LED 显示扫描和红外接收处理,及按键信号判断,这样主 CPU 就有更有效率的去做其他事情。
1.2 降低待机功耗
目前的方案有开机模式和待机模式两种,在待机模式时,主 CPU 可以完全停止工作,我司MC20P02B 进入低功耗模式,可以通过键盘和 IR 唤醒。可以降低系统总体的待机功耗。
MC20P02B 的待机功耗<0.005mw ,MC20P02B 从低功耗进入正常工作模式时间<2mS(通过软件可更改,最小 250uS).
1.3 节省元器件,节省连接线
运用我司的MC20P02B,可以节省LED扫描芯片,LED驱动三极管,由于我司的MC20P02 直接通过 IIC与主CPU通讯,前面板与主CPU之间只需要4根导线相连,IIC_DATA, IIC_CLK,VDD,GND,也可以扩展 IR 和 STB 控制两个导线,最多只需要 6 根导线。
2.功能描述
2.1 Normal mode:
- 点亮 8 段 x4 位数码管
- 键盘扫描,支持 8 key,与数码管 SEG 复用
2.2 Standby mode:
- mcu panel 通过 GPIO 关断 STB 电源
- standby 期间 panel mcu 自动更新数码管显示:
a.时间 YYYY-MM-DD hh:mm:ss
b.STB 配置的固定显示内容, 如”OFF”, “—“ 等.
- wake up,打开 STB 电源
有 3 种方式退出 standby:
IR:收到设置的 IR 键值
key:收到设置 key 的按键
timer:设置的 timer 时间到
3.原理图
4.工作流程
4.1 系统上电
4.2 进入 standby mode
4.3 退出 standby mode:
5.软件设计
5.1 寄存器框图
偏移地址 名称
0x00~0x01 Panel chip ID(2 字节)
0x02 Panel chip Revision
0x03 Panel firmware Revision
0x04~0x0f Reserved
0x10 数码管亮度设置
0x11 IR 编码方式设置
0x12 Standby mode 下数码管显示方式设置
0x13 STB 电源控制方式设置
0x14~0x15 进入 Standby mode 标识
0x16~0x1f Reserved
0x20~0x23 数码管显示内容设置(4 字节)
0x24~0x2f Reserved
0x30~0x31 Panel 接收到的按键代码(2 字节)
0x34~0x3f Reserved
0x40~0x43 Panel 接收到的 IR 代码(4 字节)
0x44~0x4f Reserved
0x50~0x53 Wake up IR 代码设置(4 字节)
0x54-0x57 第二组 Wake up IR 代码设置 (如果支持复合编码或者 2 个同样编码遥控器)
0x54~0x5f Reserved 如果支持复合编码或者 2 个同样编码遥控器
0x60~0x61 Wake up 按键代码设置(2 字节)
0x64~0x6f Reserved
0x70~0x76 Wake up 定时器设置(7 字节)
0x78~0x7f Reserved
0x80~0x86 当前时间(7 字节)
0x88~0x8f: Reserved
0x90 Lock 信号控制
0x91~0xff Reserved
5.2 软件设计
根据 4 的工作流程,STB 与 mcu panel 使用 I2C 总线通信, 50ms 通信一次,设置相应的寄存器,实现相应功能。
结语
基于 MC20P02B 设计的机顶盒前面板控制电路经过实际的应用及测试,性能稳定,性价比高,目前已有多家厂商已进入量产阶段,在市场上体现出了较强的竞争优势,具有良好的推广应用价值。(end)
暂无评论