积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> CPLD/FPGA >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
IIC总线通讯接口器件的CPLD实现
 
作者:张冬冬   来源:电子技术应用    点击数:126   更新时间:2008-5-26
您可以添加到网摘 让更多人关注此文章:

    摘要:介绍了采用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所示。

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;

END IF;

END IF;

IF(ADDRS=''1''AND SCL1 ''EVENT AND SCL1=''1'')THEN

························——将数据寄存器中的数据

························——及WR信号移位发出(略)

END IF;

END PROCESS;

当一次通讯结束时,主机要发送停止信号。该过程同样同控制寄存器控制;当控制字第二位为''1''时,ISP器件产生停止信号。VHDL描述与启动类似。

2.2 发送数据

在主机方式下,完成启动和地址信号发送后即开始发送数据。发送数据时并串转换器在SCL的下降沿移位,保证SCL高电平时SDA上的数据稳定。发送的进程由WR信号和从机的应答信号启动。

   当ISP器件在总线竞争失败时,由处理器将ISP器件转为从机工作方式,处理器向地址检测电路送该器件在系统中的地址。只有在接收到的地址信息与该器件所设的地址相同时,才发出应答信号,开始通讯。每发送一个字节即将SDA拉高,等待接收机的应答信号,准备下一个数据。

2.3 接收数据

在主机方式下,完成通讯启动和地址信号发送后便开始准备接收数据。每接收一个字节后要发出应答信号,产生一个负脉冲作为中断请求信号输出给处理器。若此时系统忙,则拉低SCL电平迫使发送机进入等待状态。从机方式下的接收与主机方式下一样。VHDL描述如下:

PROCESS(SDA1)

SACK:=''0'';

FULL1:=''0'';

STP:=''0'';

INTQ:=''1'';

IF(CSTA=''1'' AND ADDOK=''1'')THEN

IF(SCL''1''EVENT AND SCL1=''0'')THEN

……——接收数据,串入并出移位(略)

FULL1:=''1'';

END IF;

END IF;

IF(FULL1=''1'')THEN

IF(RD''EVENT AND RD=''1''AND

SCL1''EVENT AND SCL1=''0 AND

BUSY=''0'')THEN

SDA1:=''0'';

FULL:=''0'';

INTQ:=''0'';

ELSE

SDA1:=''1'';

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

IF(CLK1COUNT''20'')THEN

INTQ:=''1'';

CLK1COUNT:=''0'';

ELSE

CLK1COUNT:=CLK1COUNT+1;

END IF;

END IF;

IF(SLAVE=''1'' AND SCL=''1'' AND SDA ''EVENT AND SDA=''1'')THEN

STP:=''1'';

CSTA:=''0'';

END IF;

END IF;

END PROCESS;

2.4 总线仲裁

在通讯过程中,ISP器件在发送数据的同时接收总线上的数据,将该数据与已送的数据进行比较,若不相同则置位状态发生器的SLAVE,表示该主机退出竞争。通过处理给控制寄存器发送控制字可以让ISP器件转入从机工作方式。这时启动地址检测,禁止SCL的发送。在一次通讯结束后,将状态生成器的END置位,此时处理器可以再次将ISP器件设置为主机方式。

2.5 控制寄存器与状态生成器

控制寄存器主要是定义ISP器件的工作状态,其各位的定义为:

BUSY   CLKEN CLKS2 CLKS1 STA STP M/S

BUSY:若该位为''1'',主机作为接收机时,不发应答信号;

STA:启动信号位;

STP:停止信号位;

M/S:主从机位,用于选择芯片工作状态(主机还是从机);

CLKS1、CLKS2:频选控制位;

CLKEN:SCL使能位,该位为1时SCL置高电平。

状态生成器可以生成工作状态信号(中断、IIC总线竞争、从机方式时通讯开始与结束)供处理器查询处理。

3 参数配置

该器件可以配置为从100kbps(标准)到400kbps(高速)的任何传送速度,以满足不同的需要。只需在VHDL(描述的结构体中指明配置的参数即可实现配置,非常方便。

本设计只使用一片可编程芯片即可完成IIC总线接口的芯片功能。由于采用VHDL-93语言进行设计,具有良好的可移植性,可用于其它ISP厂家的产品中。通过ByteBlast下载线可以在线改变其功能,体现了ISP器件的优越性。



相关文章
· 量程自动转换的12位十进制等精度数字频率计[172]
· 基于MCU+CPLD的相位差和频率的测量方法研究及实现[168]
· 单片机的ISP在线编程设计[166]
· CPLD在基于PCI总线的功率模块设计中的应用[186]
· 基于CPLD的电器定时开关控制系统设计[209]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
电子制造业如何化危为机
谁能成为“Wii”加速度传感器的新供
AMD抨击英特尔拖延反垄断指控案作法
台湾立院通过DRAM业整并提案&nb
Vishay 推出面向工业
中航芯控:医疗领域RFID应用势在必
安森美半导体为DDR3存储器模块应用
避免危及半导体业 德出手挽
HP实验室展示集CMOS电路与忆阻器
全球第二大代工巨头伟创力瘦身应对金融
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
Palm软件设计前的六问...
李嘉诚传中给年轻人提出了53条...
WindRiver产品介绍...
嵌入式Linux的GDB远程调...
ARM无痛苦起步...
最豪华适用的S3C2440开发...
[推荐]10MF020以太网数...
[推荐]10MF020以太网数...
[推荐]F020以太网核心模块...
[分享]PCB的设计与制作及加...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网