联系我们贴片高压电阻圆柱晶圆高压电阻插件金属膜高压电阻FAE

品质诚信服务

当前位置:首页 >> 产品和行业资讯 >> DM642 I2C信息线配置与应用

DM642 I2C信息线配置与应用

& nbsp;本文主要介绍基于DM642的视频捕获和处理系统中I2C模块的正确初始化,以及通过I2C总线对视频解码器芯片SAA7115进行正确的读/写过程。

1 I2C总线控制器的初始化为了正确使用DM642中内置的I2C模块,必须首先正确进行初始化。

1.1解锁DM642中的I2C模块在DM642的I2C应用程序中,很容易遇到无法使用初始化的I2C模块的问题,因为I2C模块没有首先被解锁并启用。

从DM642的数据表中可以看出,I2C模块在复位后被锁定并被禁止。

换句话说,硬件配置寄存器PERCFG中的I2CoEN位为0,因此必须在初始化之前配置I2C模块控制寄存器之前使能I2C模块。

但是,如果要修改PERCFG中的内容,必须首先将0x10C0010C写入PCFGLOCK以解锁PERCFG。

通过讨论,添加程序以启用I2C模块: 1.2 I2C模块的时钟选择enabling启用I2C模块后,可以初始化其控制寄存器。

CPU时钟频率为600 MHz,并且I2C模块规定必须在7到12 MHz之间选择模块时钟频率,因此I2C模块时钟频率设置为10 MHz。

从图1的计算公式中,我们可以得出:IPSC为OEh。

由于DM642和SAA7115都支持I2C总线的400 kbps快速模式,因此根据IPSC的值,可以从图1中看到d = 5。

可以将其设置为:ICCL = 7,ICCH = 8。

& Nbsp; 1.3设置从站地址时容易遇到的问题should应注意,在DM642的I2C应用中,经常会遇到无法正确读取/写入从站设备的问题。

这是因为DM642对I2C模块的从地址寄存器设置与其他芯片的I2C应用不同。

在标准I2C协议中,器件的7位地址格式要求将地址和读/写方向位一起发送到从机地址寄存器。

但是,DM642的I2C应用程序仅需要将7位设备地址发送到从地址寄存器,并且DM642自动生成读/写方向位。

例如,SAA7115的标准I2C写从地址是40H,如图2所示。

标准的I2C协议包括21H地址信息和最后一位(读/写方向位),DM642仅需要将21H发送到从地址寄存器。

如果发送40H,将导致读/写错误。

2 I2C读/写软件设计2.1配置模式寄存器I2CMDR对SAA7115的每个子地址进行操作后,其地址指针将自动增加,但其可配置寄存器的自身地址却不会连续分布。

因此,将I2C工作模式寄存器(I2CMDR)配置为计数模式。

每次执行I2C_write()时,数据仅发送一次,并且通过多次调用I2C_write()完成SAA7115的初始化。

首先将4620H写入I2CMDR。

读取SAA7115的寄存器时,将其设置为非重复主机接收模式,然后将4420H写入I2CMDR。

打开客服菜单