基于VHDL的I2C总线控制核设计摘要从状态机的角度,介绍一种2控制核的设计方法。将其嵌入到中,用于实现与3206000系列的接口,并配合的软件完成对视频采集与显示处理系统中数字视频编、解码器工作模式寄存器的配置及其状态查询。着重介绍2控制核的总体设计方案,详细描述其内部命令状态机和时序状态机的工作原理及相应的代码。此外,介绍2控制核与相互通信中断处理机制的实现方法。最后,给出在公司的61+57软件平台中进行的综合结果与时序仿真图。关键词2总线状态机控制器核引言2总线是双向、两线、串行、多主控-接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。由于其使用两线的硬件接口简单,2总线的应用越来越广泛。实现2总线通信协议主要有两种方法①利用对两根口线进行软件编程,模拟2总线的和时序要求;②使用专用2总线控制核,但受其主机接口方式和时钟频率的限制,在有些场合应用并不方便。图1在我们开发的基于的视频采集与显示处理系统中,为了满足数字视频信号传输带宽及图像处理算法速度的要求,选择了公司的32位高速、高性能3206711简称6711芯片时钟150,外围存储器接口时钟100作为处理核心;外围加上和数字视频编码器与解码器,实现对标准复合视频信号的采集、处理和视频显示任务。由于6711没有可以单独控制的口线,所以不能使用①的方法;由于外围扩展存储器接口工作在100,也不易实现②的方法,从系统小型化,充分利用的逻辑资源,提高硬件系统集成度的角度出发,选定在内自行设计2控制核的方法,实现的高速异步存储器接口到2总线接口的转化。下面着重介绍如何使用进行2总线控制核设计。1总体思想和分别为2总线的时钟线和数据线。目前,支持2总线通信协议的视频编、解码芯片大多只支持100或400的传输速度,并且支持两种地址①从设备地址,8,分为读地址和写地址,高7位用于选中芯片,第0位是读写控制位,决定是对该芯片进行读或写操作;②内部寄存器单元地址,8,用于决定对内部的哪个寄存器单元进行操作,通常还支持地址单元连续的多字节顺序读写操作。2总线的读、写操作过程如下。写过程开始,重开始,停止,-从设备,-主设备,写位,读位---读过程----2控制核的设计采用自顶而下的方法,分为三个模块2_模块、2_模块、2_模块。总体结构框图如图1所示。2_模块是顶层管理模块,主要任务是接收发来的控制信号、命令及数据;发送由从设备读出的数据和确认位到;实现2控制核与的中断通信机制;提供当前2控制核的工作状态;把发出的命令字信号送到2_模块。在设计2控制核时,必须注意以下几个方面①2控制核与主机,即6711以及视频编解码器的硬件接口连接关系。考虑到2总线通信协议的时序关系及芯片读写操作过程,2控制核应该包括两个外围接口,如图1所示。一是与6711,扩展存储器接口的高速异步存储器接口,称为主机接口。它向2控制核发出控制命令与数据,钖0位地址总线、32位双向三态数据总线、异步输出使能信号、异步写使能、异步读使能、外部存储器空间选通2、外部中断申请。二是与视频编解码器相连的2两线接口、。2控制核称为2总线的主设备,实现的接口向2总线接口的转化;2器件视频编码器、视频解码器被称为2叫线的从设备。②如何通过软件编程,方便地实现对控制核中各种命令的操作。为此,在控制核内部共设备了6个8位寄存器,用于管理整个控制核的工作。这些寄存器的名称、标号、位数、地址、操作方式,以及寄存器内部设备的控制位及功能的具体情况如表1所列。寄存器内部设置的控制位及功能的具体情况如表1所列。寄存器的寻址使用接口地址总线的低三位[4~2]和由高位地址译码得到的2控制核使能信号。当发出的读、写命令完成后,2_会向发中断请求,让发出下一个命令到,从中读数,或进发送新数据到。表12模块内部寄存器寄存器位数地址操作控制位及功能控制寄存器8000只写2控制核使能位-,中断使能位命令寄存器8001只写启动-、读-、写-、停止-、主设备确认-、中断响应位--状态寄存器8010只读从设备确认位-、2-模块忙位-发送寄存器8011只写寄存器发送到从设备的数据接收寄存器8100只读寄存由从设备读取的数据时钟尺度寄存器8101读写寄...