基于MAX7456的视频字幕模块的设计与实现
3 OSD模块的硬件结构
MAX7456作为OSD系统的核心部件,需要相应的外围器件的配合才能发挥自己的作用。图3所示为OSD模块的硬件结构框图。其中,MAX74 56负责对输入的模拟视频信号进行加字幕处理;MAXQ2000作为一颗低压微功耗单片机,可通过GPIO模拟SPI接口时序为MAX7456提供相应的控制信号,并负责通过串口与PC通信,以获得用户自定义的字符集和配置信息;MAX3002是一颗双向电平转换芯片,它可将MXXQ2000的2.5V系统信号转化为MAX7456可以使用的5V系统信号;MAX3311是与MAX02000配套的串口芯片,负责提供与PC通信的串口信号;MAX8881在此可将5V的供电转化为单片机和buffer芯片需要的2.5 V电源。
4 OSD模块的软件结构
配合OSD模块工作的软件包括两部分:一部分是运行于微控制器中的firmware,它包括SPI接口驱动、memory配置程序、寄存器配置程序、串口的事务通信等;另一部分是运行于PC端的用户界面,可为用户提供简便的OSD设置和memory升级的功能。
4.1 MAX7456控制例程
MAX7456的SPI接口可支持高达10 MHz接口时钟(SCLK)。写寄存器时,拉低可使能串行接口,以在SCLK的上升沿从SDIN读取数据;而当
变为高电平时,数据将锁存到输入寄存器。如果传输过程中
变高,则程序终止(即数据不写入寄存器)。
变低之后,器件将等待从SD-IN读入第一个字节,以确定正在执行的数据传输类型。图4所示为写数据时序。
读寄存器时,拉低。地址将在SCLK上升沿锁入SDIN。然后,数据便可在SCLK的下降沿从SDOUT输出。图5所示是从器件读数据的时序。
下面是具体的操作方法代码:
评论