您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

IIC总线通讯接口器件的CPLD实现

时间:2007-1-20栏目:电子通信论文

摘要:介绍了采用ALTERA公司的可编程器件EPF10K10LC84-3实现IIC总线的通讯接口的基本原理,并给出了部分的VHDL语言描述。该通讯接口与专用的接口芯片相比,具有使用灵活、系统配置方便的特点。

    关键词:IIC总线 CPLD VHDL ISP

IIC总线是PHILIPS公司开发的一种简单、双向、二线制、同步串行总线。它只需两根线(串行时钟线和串行数据线)即可在连接于总线上的器件之间传送信息。该总线是高性能串行总线,具备多主机系统所需要的裁决和高低速设备同步等功能,应用极为广泛。

目前市场上虽然有专用IIC总线接口芯片,但是地址可选范围小、性能指标固定、功能单一、使用不方便。根据IIC总线的电气特性及其通讯协议,采用ALTERA公司的FLEX10K系列ISP器件EPF10K10LC84-3可以方便地实现IIC总线的通讯接口,且具有高速、易调试、可以灵活地实现地在线配置等优点,同时大大地减少了系统的开发周期。

1 IIC总线的数据传输规范

IIC总线主从机之间的一次数据传送称为一帧,由启动信号、地址码、若干数据字节、应答位以及停止信号等组成。通讯启动时,主动发送一个启动信号(当SCL线上是高电平时,SDA线上产生一个下降沿)、从机的地址码(8位)和读写信号;通讯停止时,主机发送一个停止信号(当SCL线上是高电平时,SDA线上产生一个上升沿)。在数据传送过程中,当SCL线上是高电平时,必须保证SDA线上的数据稳定;传送一个字节的数据,必须由接收机发一个应答信号。总线的传输码速率为100kbps(标准)~400kbps(高速)。采用+5V电源供电时,输入电平规定为:VILmax=1.5V,VIHmin=3V;采用宽电源电压时,电平规定为:VILmax=1.5VDD,VIHmin=3VDD。

IIC总线的通讯过程如图1所示。
(范文先生网www.fwsir.com收集整理)
2 ISP的逻辑实现

基于IIC总线的数据传输规范,为完成IIC总线的数据发送与接收,采用ISP器件实现通讯接口的逻辑功能框图如图2所示。通过频选、控制、可控时钟可获得100kHz、200kHz、300kHz、400kHz的时钟频率。器件退出总线竞争后,时钟线置高电平。

2.1 通讯的启动与停止

在主机方式下,接收数据时,ISP器件必须通过启动信号生成器送出一个启动信号,然后发送从机的地址信号和读写信号。只有这样,才能在总线上发送数据。该过程由控制寄存器启动。VHDL描述如下:

PROCESS(WR,CS)

——WR IS CPU WRITE SIGNAL

——CS IS THIS CHIP'S SELECT SIGNAL ADDRS:='0';

IF(Ctrreg(0)='1'AND Ctrreg(3)='1' AND SCL1='1')THEN

——Ctrreg 为控制寄存器

CLK1COUNT:='0';

SDA1:='1';

IF(CLK1 EVENT AND CLK='0')THEN

IF(CLK1COUNT='3')THEN

SDA1:='1';

ADDRS:='1';

Ctrreg(3):='0';

CSTA:='1';

ELSE

CLK1COUNT:=CLK1COUNT+1;

END IF;

[1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页