解析DM642的I2C总线配置及应用

发布者:cocolang最新更新时间:2011-09-23 关键字:DM642  I2C总线 手机看文章 扫描二维码
随时随地手机看文章
  DM642作为高性能的视频处理芯片,被广泛应用到视频处理的很多领域,但是DM642的I2C应用容易遇到I2C、VP等死锁,以及SAA7115的从地址不能正确设置的问题。本文主要介绍的就是基于DM642的视频采集处理系统中I2C模块的正确初始化,以及通过I2C总线正确地对视频解码芯片SAA7115的寄存器读/写程序。

  1 I2C总线控制器的初始化

  I2C总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。

  为了正确使用DM642内置的I2C模块,首先需要正确的初始化。

  1.1 解锁DM642中的I2C模块

  在DM642的I2C应用中,容易遇到不能使用初始化I2C模块的问题,原因在于没有先解锁并使能I2C模块。在DM642的数据手册中可以看到,复位后I2C模块是处于锁定禁止状态的。也就是说,在硬件配置寄存器PERCFG中的I2CoEN位为0,所以在初始化前要在配置I2C模块控制寄存器之前,使能I2C模块。但是,如果要修改PERCFG中的内容,就要先向PCFGLOCK中写入0x10C0010C,对PERCFG解锁。通讨加下程序使能I2C模块:

  1.2 I2C模块的时钟选择

  I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimaSTering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

  在使能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。

  1.3 设置从地址时容易遇到的问题

  需要注意的是,在DM642的I2C应用中经常会遇到不能正确读/写从设备的问题。这是因为DM642对I2C模块的从地址寄存器设置不同于其他芯片的I2C应用。在标准I2C协议中,器件的7位地址格式要将地址和读/写方向位一同送入从地址寄存器。但是,DM642的I2C的应用中只需要向从地址寄存器中送入7位器件地址,读/写方向位由DM642自动生成。例如,SAA7115的标准I2C写从地址为40H,如图2所示。

  标准I2C协议中包括21H的地址信息和最后1位(读/写方向位),DM642只需将21H送入从地址寄存器。如果送入40H,将会导致读/写错误。

  2 I2C读/写软件设计

  2.1 配置模式寄存器I2CMDR

  对SAA7115的每个子地址操作后,其地址指针会自动增加,但是它的可配置寄存器的自地址并不是连续分布的。所以将I2C工作模式寄存器(I2CMDR)配置为计数模式。每次执行I2C_write()只传送一次数据,通过多次调用I2C_write()来完成SAA7115的初始化。先向I2CMDR写入4620H,当读取SAA7115的寄存器时,设置为无重复主接收模式,并向I2CMDR写入4420H。

  2.2 配置从地址寄存器I2CDXR

  DM642对SAA7115的配置是通过寻址来实现的。当DM642向解码芯片SAA7115写数据时,通过I2C总线发送寻址指令,将右移位后的SAA7115的7位从地址写入I2CDXR寄存器。以下是初始化程序:

  2.3 I2C对SAA7115的读/写程序设计

  综上所述,图3和图4为DM642对SAA7115的读/写程序流程。

  3 结 语

  本文设计的程序经过运行证明,通过I2C总线控制寄存器的配置,DM642对视频解码芯片SAA7115读/写正确,完成了对视频信号输入制式、视频信号通道选择、视频数据输出格式、同步信号插入位置、亮度色度及对比度设定、同步信号输入开关、视频采集量化启动和关闭等内部寄存器的设置。

关键字:DM642  I2C总线 引用地址:解析DM642的I2C总线配置及应用

上一篇:基于RS-485总线的计算机视频监控系统设计
下一篇:DDS芯片AD9850的工作原理及其与单片机的接口分析

推荐阅读最新更新时间:2024-05-02 21:36

MAX517与单片机的I2C总线数据通信
摘要:介绍了I2C总线的特点及数据通信的基本协议,并以AT89C51单片机与美国MAXIM公司的8位电压输出DAC数模转换器MAX517之间的通信为例,详细介绍了通过I2C总线进行数据通信的具体硬件电路连接和其通信子程序的编程方法。 关键词:I2C总线;AT89C51;MAX517;数据通信 1 I2C总线的特点及基本通信协议 I2C总线是Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线串行数据线和串行时钟线即可使连接于总线上的器件之间实现信息传送,同时可通过对器件进行软件寻址,而不是对硬件进行片选寻址的方式来节约通信线数目,从而减少了硬件所占空间。因为总线已集成在片内,所以大大缩短了设计时间,
[单片机]
恩智浦推出业界首款支持全新超快速模式规格的I2C总线控制器
恩智浦半导体 NXP Semiconductors N.V. (Nasdaq : NXPI) 近日推出业界首款高性能 I2C 总线控制器,该控制器可以同时支持快速模式 Plus (Fm+) 和全新的超快速模式 (UFm) 规格,新规格的发送数据传输速率最高可达 5 Mb/s 。 PCx966x 系列产品为每个通道提供 4.25-kB 的超大数据缓存,可以大幅减少主机处理器的中断,并专门针对重复性、数据密集型 LED 控制器和步进马达 ( 如游戏行业 ) 应用中的高效 I2C 设计而优化。   I2C 总线是恩智浦 ( 前身为飞利浦半导体 ) 在 30 多年前发明的,其用一种基于简单双线格式的直观且强大的串行结
[嵌入式]
STM32CubeMX系列 | I2C总线
1. 简介 1.1 I2C总线介绍 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速I2C总线一般可达400kbps以上。下面从物理层和协议层两方面来了解I2C I2C物理层:可连接多个I2C通讯设备,支持多个通讯主机和从机;每个连接到总线的设备都有一个独立的地址,主机利用这个地址进行不同设备之间的访问;总线通过上拉电阻接到电源,当I2C设备空闲时会输出高阻态;多主机同时使用总线时,利用仲裁方式觉得由哪个设备占用总线;有三种
[单片机]
模拟I2C总线软件包(C51)
/****************************************************************************** I2C.H 标准80C51模拟I2C总线程序头文件 ******************************************************************************/ #ifndef I2C_H #define I2C_H //定义I2C操作模式 #define I2C_RECV 0 /* 接收模式 */ #define I2C_SEND 1 /* 发送模式 */ #define I2C_SrRECV 2
[单片机]
I2C总线信号时序分析
在I2C 总线 通信的过程中,参与通信的双方互相之间所传输的信息种类归纳如下。   主控器向被控器发送的信息种类有:启动信号、停止信号、7位地址码、读/写控制位、10位地址码、数据字节、重启动信号、应答信号、时钟脉冲。   被控器向主控器发送的信息种类有:应答信号、数据字节、时钟低电平。   下面对I2C总线通信过程中出现的几种信号状态和时序进行分析。   ①总线空闲状态。   I2C总线总线的SDA和SCL两条 信号线 同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级 场效应管 均处在截止状态,即释放总线,由两条信号线各自的上拉 电阻 把电平拉高。   ②启动信号。   在时钟线SCL保持高电平期间,
[单片机]
<font color='red'>I2C总线</font>信号时序分析
通过MSP430的IO口模拟I2C总线对AT24C25进行读写程序
再通过微处理器I/O口模拟I2C总线对AT24C进行读写之前应注意一下两个问题: 一、微处理器的两个模拟I/O口在和SDA,SCL连接时必须使用上拉电阻。 一、I2C总线空闲的时候,两条信号线应该维持高电平。否则,上拉电阻上会有耗电。特别是在上电过程中,I/O线上电平也应保持在高电平状态。也就是说:当Master的I2C使用的是I/O软件模拟时,一定要保证该两个I/O上电默认均为输入(或高阻)或者输出高电平,切不可默认为输出低电平。I/O默认为输入时,可以通过外部上拉电阻将I2C信号线拉至高电平。 该程序通过调试,可以直接应用,程序如下: 文 件 名 : AT24C256.S43.C * 功能描述 : I/O模拟I2C时序读
[单片机]
MSP430口线模拟I2C总线
/******************************************************************************************************** * 功能: 实现MSP430口线模拟I2C总线协议与24C04通信. * * 描述: 主系统工作时钟为12MHz,I2C工作时钟频率为1MHz.给某地址写入一个数据 * * 再读出来,如写入前和读出后的数据一致,则P1.0输出高电平,否则输出低电 * * 平.
[单片机]
I2C总线CMOS型PB-0300数字图像传感器
摘要:介绍CMOS型数字图像传感器PB-0300的性能特点、功能设置、与MCS-51系列单片机的接口电路及编程技术。 关键词:I2C总线 数字图像 传感器 1 功能描述 1.1 性能特点 PB-0300系列CMOS型有源像素数字图像传感器,内置模数转换8、位并行数据输出、64个内部寄存器,采用I2C总线控制,可编程控制;可以在彩色和黑白两种模式下工作。当外接24MHz时钟晶振时,可以获得30帧/s的图像输出。在上电期间,自动调入缺省参数设置,包括自动曝光功能,所以可以不编程情况下使用传感器。主要性能指标如表1。 表1 主要性能指标 阵列格局 640%26;#215;487(311 680像素) VGA参考:64
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved