应用笔记 3568

利用MAXQ2000和MAX4397实现低成本的音频和视频选择方案


摘要 :

这篇应用笔记给出了MAXQ2000微控制器(MAXQ20核)与MAX4397的连接电路,并提供了所需的全部固件。本文给出了汇编程序实例,该程序可以通过免费的MAX-IDE 1.0版(发布日期:2004年11月18日)进行编译。从Maxim网站上可以免费下载MAX-IDE


MAX4397概述

MAX4397是一款双SCART开关阵列,为MPEG编码器与两路外部SCART连接器之间提供音频/视频信号选择,供应欧洲市场。在这篇应用笔记的帮助下,MAX4397可以用于实现低成本、简单的视频/音频信号选择,从而降低整个产品的成本。

硬件概述

应用电路采用MAX4397EVKITMAXQ2000-KIT

MAX4397评估板包括MAX4397、所需的无源器件以及经过验证的PCB布线。图1是MAX4397测试板的结构图。MAXQ2000并没有放在MAX4397的评估板上。MAXQ2000置于MAXQ2000的评估板,并通过SCL、SDA和GND三个引脚与MAX4397评估板相连,构成整个系统。另外,+5V电压必需加在MAX4397评估板的VDIG (J3-1)端。

 图1. MAX4397评估板的结构图
点击大图

图1. MAX4397评估板的结构图

MAXQ2000的评估板包括完整的软件、硬件、例程和使用MAXQ2000进行设计的有关资料。MAXQ2000-KIT的数据资料可以从Maxim网站下载。MAXQ2000评估套件包含三个按钮开关,分别实现两路音频/视频选择(SW5和SW4)和复位(SW2)。

音频和视频部分的地线连接

实际应用中最好将音频部分的地线和视频部分的地线隔离开。如图2所示,通过将顶层板下端的引脚GNDAUD和GNDVID相连,连接音频地和视频地。数字地与音频地、视频地应采用星型连接。如图3所示,如果用J3将MAXQ2000评估板的I²C接口和MAX4397评估板相连,数字地即可连接在正确的位置。

图2. 分离的音频地和视频地
图2. 分离的音频地和视频地

图3. 星型连接的数字地
图3. 星型连接的数字地

固件说明

程序清单1给出了MAXQ2000与MAX4397通信的汇编程序,利用MAXQ2000的GPIO口模拟I²C传输协议实现上述通信。MAXQ2000的16MHz系统时钟使I²C模拟接口速率达到400kHz。固件的缺省I²C时钟速率是100kHz。表1给出了MAX4397上电后初始化的I²C写字节命令。

当MAX4397完成初始化之后,程序会等待用户按下MAXQ2000评估板三个按钮中的一个。按下SW5,将第一路TV_Y/CVBS_IN视频信号连接到TV_Y/CVBS_OUT,第一路TV_IN_音频信号连接到TV_OUT_。表2给出了按下SW5后的I²C写字节命令。按下SW4,将第二路VCR_Y/CVBS_IN视频信号连接到TV_Y/CVBS_OUT,将第二路VCR_IN_音频信号连接到TV_OUT_。 表3给出了按下SW4后I²C的写字节命令。按下SW2,固件被复位至上电复位状态。

下载: 程序清单1
程序清单1. 是利用位仿真I2C协议实现MAX4397与MAXQ2000通讯的汇编程序。

下载: 源代码

表1. 用于初始化MAX4397的I²C写字节命令
I²C/SMBusBus Protocol Device Slave Address Register Address 8-BitData
WriteByte#1 0x96 0x0D 0x04
10010110b 00001101b 00000100b
WriteByte#2 0x96 0x00 0x46
10010110b 00000000b 01000110b

I²C写字节命令通过使能TV_Y/CVBS_OUT输出,禁用TV_OUT_静音,初始化MAX4397。

表2. 用于切换视频和音频信号源1的I²C写字节命令
I²C/SMBusBus Protocol Device Slave Address Register Address 8-BitData
WriteByte#1 0x96 0x06 0x1B
10010110b 00000110b 00011011b
WriteByte#2 0x96 0x01 0x0E
10010110b 00000001b 00001110b

I²C写字节命令将第一路TV_Y/CVBS_IN的视频信号连接到TV_Y/CVBS_OUT,将第一路TV_IN_音频信号连接到TV_OUT_。

表3. 用于切换视频和音频信号源2的I²C写字节命令
I²C/SMBusBus Protocol Device Slave Address Register Address 8-BitData
WriteByte#1 0x96 0x06 0x1A
10010110b 00000110b 00011010b
WriteByte#2 0x96 0x01 0x0D
10010110b 00000001b 00001101b

I²C写字节命令将第二路VCR_Y/CVBS_IN视频信号连接到TV_Y/CVBS_OUT,将第二路VCR_IN_音频信号连接到TV_OUT_。