基于FPGA的I2C读写控制器的设计与实现.pdf

基于FPGA的I2C读写控制器的设计与实现.pdf

ID:51447053

大小:295.61 KB

页数:3页

时间:2020-03-24

基于FPGA的I2C读写控制器的设计与实现.pdf_第1页
基于FPGA的I2C读写控制器的设计与实现.pdf_第2页
基于FPGA的I2C读写控制器的设计与实现.pdf_第3页
资源描述:

《基于FPGA的I2C读写控制器的设计与实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《自动化技术与应用》2010年第29卷第2期经验交流TechnicalCommunications基于FPGA的laC读写控制器的设计与实现陈景,李建华(大连理工大学电信学院,辽宁大连116023)摘要:本文简单介绍丁I2C总线协议的数据传输时序,iRitY-F0~;TFPGA的12C读写控制器,可以对不同的从器件进行读写操作。根据给出的设计的系统框图,重点分析了核心模块的设计思想以及状态转换过程,最后通过硬件电路和仿真波形,验证了控制器的功能。关键词:12C总线;FPGA;Verilog硬件描述语言中图分类号:TN47文献标识码:B文章编号:1003—7241(2

2、010)02—008603TheDesignandImplementationof12CR/DControllerBasedonFPGACHENJing,LIJian-hua(SchoolofElectronicandInformationEngineering,DalianUniversityofTechnology,Dalian116023China)Abstract:ThispaperintroducestheworkingprincipleandthedatatransfertimingofInterIntegratedCircuit(I2C)Bus,and

3、designsanIzcR/DControlleronthebaseofFPGA,itcanreadorwritedifferentslavedevice.Accordingtothegivensystemdiagramofthedesign,itfocusesonanalyzingthedesigningthoughtofthekernelmoduleanditsstatetransformprocess,andfinallyexaminesthefunctionsofcontrollerthroughthesimulatedwaveformandhardware

4、circuit.KeyWOrds:I2CBUS:FPGA:VerilogHDL1引言且极大的简化了PCB的线路设计。IC总线协议支持多I2C(Inter—IntegratedCircuit)总线是一种由PHILIPS主机,总线上不仅可以有多个从器件,还可以有多个控公司开发的两线式串行总线,产生于80年代,它以两根制器(即主机),如函l所示。从器件有一个唯一的总线线实现完整的全双工同步数据传输,具有简单和有效的地址被主机寻址访问,而多个主机之间通过仲裁来决定优点⋯I。现在有越来越多的器件通过I2C接口实现对其总线的控制权,以及通过冲突检测来防止数据被破坏。内部寄存器的

5、配置,IC总线已经成为一个国际标准。随着近年来基于FPGA的EDA设计方法逐渐取代传统的设计方法,应用越来越广泛,因此,本文提出一种基于FPGA的1C读写控制器的设计方案。2I2C总线协议介绍IC总线最主要的优势在于,只需要两条总线一串行数据线SDA和时钟线SCL就可以实现控制器与IC之间的通信传输,这使得I2C总线的硬件成本降到最低,并图1laC总线结构主机与从机之间一个完整的IC传输周期如图2所收稿日期:2009—06—25经验交流《自动化技术与应用》201o年第29卷第2期"rechnicalCommunicationsSCLK的频率大小。3.2数据查找表图3

6、f2C主机读写控制器结构主机在对从器件进行读写操作时,每一帧传输的数据就存放在配置数据查找表中。表中的数据包括从器件的地址,需要读写的从器件寄存器地址,以及写寄存器的配置数据。查找表的大小由实际需要配置数据量来决定。3.312C状态控制模块1C状态控制模块是本设计的核心模块,它通过采用时钟同步状态机的设计方法【,控制1c主机的起始、停止、读写等状态的转换。图4给出了其状态转换图。scL·八.厂、八八-厂『_\]l~s章矗二翻蓐垂善豢!———————-.1劫台倥8懈奠龇·嗵啦8位I糯_lj璺位停

7、t啦图212C总线传输周期图412C主机状态转换3模块设计主机从“起始”

8、状态进入“从器件寻址”状态,不本实例所设计的T2C主机读写控制器,其结构框图如论读操作还是写操作,都是发送七位从器件地址和写标图3所示,包括分频器、配置数据查找表、12C状态控制志位(即为‘0’),这是因为读操作需要指定从器件的寄模块、[2C时序生成模块。这几个模块都是用Verilog硬存器地址,即需要先对从器件写入寄存器地址。主机在件描述语言设计完成的,下面介绍每个模块具体的功能SLCK的第9个高电平到来之前,通过设置高阻态来释3.1分频器放SDAT,用于接受从器件发送的响应位ACK。若ACK=l,表示无响应,则需要返回起始状态重新开始数据传分频器将外部时钟分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。