基于CPLD的系统中I2C总线的设计_第1页
基于CPLD的系统中I2C总线的设计_第2页
基于CPLD的系统中I2C总线的设计_第3页
基于CPLD的系统中I2C总线的设计_第4页
基于CPLD的系统中I2C总线的设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于CPLD的系统中I2C总线的设计摘要:在介绍I 2 C总线协议的基础上,讨论了基于C P L D的系统中I 2 C总线的设计技术,并结合工程实例设计了 I 2C总线I P核,给出了部分源代码 和仿真结果。关键词:I 2 C总线I P核C P L DI 2 C总线是PH I L I P S公司推出的新一代串行总线,其应用日渐广泛 12。目前许多单片机都带有I 2 C总线接口,能方便地实现I 2C总线设 计;对没有I 2 C总线的微控制器(MCU),可以采用两条I /0 口线进行模 拟。在以单片机为MCU的系统中很容易实现I 2 C总线的模拟扩展,有现成的通 用软件包可以使用23。对有些基于C

2、PLD的系统,要与带有I 2 C总线接口的外围器件连接,实 现起来相对复杂一些。为实现系统中的I 2 C总线接口,可以另外引入单片机,也 可以采用P C F 8 5 8 4或者PC A 9 5 6 4器件(P I-I I L I PS公司推出的专 用I 2 C总线扩展器)进行扩展,但这样会增加系统成本,使系统冗余复杂。像A L T E RA、X I L I NX等一些大公司有专用的基于C P L D器件的I 2 C总线 I P核,但这些I P核的通用性不强,需要的外围控制信号较多,占用系统很大的 资源,因此直接采用这种I P核不可取。鉴于此,依照I 2 C总线协议的时序要求,在基于CPLD的系

3、统中开发了 自己的I 2C总线I P核。对于一些带有I 2 C总线接口的外围器件较少、对I 2 C总线功能要求较简单的CPLD系统,自主开发IP核显得既经济乂方便。停止倍号传输7”或 应答位(A)SDAVnur 二 m二PL n 传输r”或非 应答位(/A)停止 信号开始宿号田1卩C总线上典型信号的时序开始从她址读/歸应答数据应答 数据图2 次完整的数据传送过桂1 I 2 C总线的协议I 2 C总线仅仅依靠两根连线就实现了完善的全双工同步数据传送:一根为 串行数据线(S D A), 根为串行时钟线(S C L)。该总线协议有严格的时序 要求。总线工作时,由时钟控制线SCL传送时钟脉冲,由串行数

4、据线SDA传送 数据。总线传送的每帧数据均为一个字节(8 bit),但启动I 2 C总线后, 传送的字节个数没有限制,只要求每传送一个字节后,对方回应一个应答位(Ac kno w 1 edge Bit)。发送数据时首先发送数据的最高位(MSB)。I 2 C总线协议规定,启动总线后第一个字节的高7位是从器件的寻址地 址,第8位为方向位(“ 0 ”表示主器件对从器件的写操作;“ I ”表示主器件对 从器件的读操作),其余的字节为操作的数据。总线每次传送开始时有起始信号, 结束时有停止信号。在总线传送完一个或儿个字节后,可以使SCL线的电平变 低,从而使传送暂停。图1列出了I2C总线上典型信号的时序

5、,图2表示I2C总线上一次完整的数据传送过程。依据I 2 C总线的传输协议,总线工作时的具体时序如下:起始信号(S):在时钟SCL为高电平期间,数据线SDA出现由高电平 向低电平的变化,用于启动I 2C总线,准备开始传送数据;停止信号(P):在时钟SCL为高电平期间,数据线S DA出现由低电平 向高电平的变化,用于停止I 2 C总线上的数据传送;应答信号(人):I 2 C总线的第9个脉冲对应应答位,若SDA线上显示 低电平则为总线“应答”(A),若S DA线上显示高电平则为“非应答”(/ A);数据位传送:I 2 C总线起始信号或应答信号之后的第18个时钟脉冲对 应一个字节的8位数据传送。在脉

6、冲高电平期间,数据吊行传送;在脉冲低电平期 间,数据准备,允许总线上数据电平变化。2应用实例2. 1实例模型介绍现举某应用实例,要求对显示器的视频信号进行采集、处理和再显示,整个 系统采用C P L D器件进行控制。信号采集采用A / D公司的专用视频采集芯片A D 9 8 8 3,该芯片在使用前需要依据实际的功能指标进行初始化。初始化过程 依靠AD 9 8 8 3的SDA和S C L两引脚进行。在系统中用C P L D器件,A L TER A公司的E PM 3 2 5 6 A,实现初始化:按照I 2 C总线协议向AD 9 8 8 3的1 9个内部寄存器(0 I H1 3 II)写入1 9组固

7、定的8位数据;第1 4 H寄存器为只读型同步检测寄存器,仅用于检测儿个关键的数据设置。MYI2CRESETSCLCLKSDASDAACK图3 PC总线的IP核可见该I 2 C总线模型如下:单主操作,只实现简单的写和读操作(亦可只 有写操作,只是硕件调试的时候会麻烦些),写地址连续,没有竞争和仲裁,是很 简单的I 2 C总线系统。由此设计了如图3所示的I P核。其中,RESET为复 位信号,CLK为系统时钟。为了软件仿真方便,把双向数据线S D A用分离的两条线模拟:S D A为数 据输出,S D A AC K为S D A的应答信号。软件仿真成功后,只要把SDA设置 为双向,稍微修改一下程序就可

8、以向CPLD器件下载,进行实际应用。对AD 9 8 8 3内部地址连续的寄存器进行初始化,I 2 C总线上传输的时 序信号依次为:开始信号(S);从器件地址和写操作位(SL AW);内部寄存 器基地址(Base A ddress);写入基地址的数据(DataO);写 入下一地址(Base A ddress + 1)的数据(D a t a I );写入地址 (Base A ddress + 2)的数据(D a t a 2);写入地址(Ba s e A ddress + 18)的数据(D a t a 1 8);停止信号(P)。针对A D 9 8 8 3 ,如果电路中的人0引脚5 5#接电源,则S

9、LAW = 10011001”; Base Address= 00000001”,D a t a 0D a t a I 8是依据实际需要写入的初始化数据。2 . 2 I P核程序的编耳整个程序用v H D L语言编制,S C L输出时钟的设计是基于C LK输入时 钟的6 4分频的。程序由三个状态组成:开始(S T A R T )、转换(S II I F T)和应答(ACK)。状态定义如下:type states i s start shift acksignal m y states states下面给出部分进程的源代码以供参考。2. 2. 1开始信号的产生PROCESS c 1 ki f c

10、lkeve nt and clk=l the nTWC R=DATA I NS C L= T elseTWC R 0 end i fifTWCR=“ 10000000 ” t h e n 比较寄存器 T WC R 的开始值设置(由用户决定)STR B= 1 i f STRB=T then开始条件INT=INT+“ 00000 1 ” I N T为时钟脉冲计数i f I N T= “ 0 1 1 0 0 0 ” then 产生 S D A 的下降沿S D A= 1 elseSD A=“ 011110” t h e n S T R B 归0 ,保证只产一次开始信号S T R B = 0 INTi

11、f cnt=“ 010000 thenc n t 为 c 1 k 脉冲计数,由实际的时钟频率决定c n t的值COUNT=COUNT + “ 0 0 0 1 ” COUNT为数据移位个数计数MS R为移位寄存器MS R = MS R 6 d o w n t o 0 & t x t a gt x t a g = “ 0 ifCOUNT=TOOO” thenm y s t a t e s = a c kTACK= T, TACK为应答标志位elseS D A = M S R 7my statesD ATAI NV= 10000000“ 0000 1 ”= DATAINDATAI ND ATAI N DA TAIN DATA I N= “ZZZZZZZZ”END CASEend i f2. 3仿真结果把自主开发的IP核置于MAX + P LU S I I 1 0. 0开发环境下,选 用EPM3 I 2 8 ATC100 10器件,经过编译、调试与仿真,证明该程序 符合设计要求。图4是模拟产生开始信号并传输两组二进制数据“ I 0 0 I I 0 0 I ”和“ I 0 1 0 I 0 1 0 ”(十进制表示为1 5 3和I 7 0 )的仿真波形。图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论