- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《FPGA实现各种接口
FPGA有限状态机模拟I2C总线设计
时间:2007-08-01 ? 来源: ? 作者:潘小冬 ? 点击:2758 ? 字体大小:【大 中 小】
-
摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I2C总线初始化SAA7111和SAA7121的程序,最后在QuartusII中进行了I2C总线主从模式下的时序仿真和用其内嵌逻辑软分析仪SignalTap II完成了硬件调试。
??? 在现代电子系统中,有为数众多的IC需要进行相互之间以及与外界的通信。为了简化电路的设计,Philips公司开发了一种用于内部IC控制的简单的双向两线串行总线PC (Intel-Integrated Circuit bus)。该总线具有接口线少、通讯效率高等特点。??? 在进行FPGA设计时,经常需要和外围提供PC接口的芯片通信,虽然市场上有专用I2C总线接口芯片,但是地址可选范围小、性能指标固定、功能单一、使用不方便。根据I2C总线的电气特性及其通讯协议,在Altera公司的FPGA(EP2S30)上可以很方便地实现I2C总线的通讯接口,且具有高速、易调试、可以灵活地实现地在线配置等优点,同时大大地减少了系统的开发周期。
1 I2C总线协议概述??? I2C总线系统由两根总线即SCL(串行时钟)线和SDA(串行数据)线构成。I2C 总线主从器件之间传送的一次数据称为一帧,由启动信号、地址码、若干数据字节、应答位以及停止信号等组成。通讯启动时,主器件发送一个启动信号(当SCL线上是高电平时,SDA线上产生一个下跳沿)、从器件的地址(唯一的7位地址码)和1位读写方向标志位;通讯停止时,主器件发送一个停止信号(当SCL线上是高电平时,SDA线上产生一个上跳沿)。在数据传送过程中。当SCL线上是高电平时,必须保证SDA线上的数据稳定,传完一个字节的数据,必须由从器件送回一个应答信号。总线的传输速率为100kbit/s(标准)-400kbit/s(快速)。??? 这种总线可以设计成很多种通讯配置,考虑到在课题中的实际应用,该I2C总线模型如下:单主操作,只实现简单的写和读操作,写地址连续,没有竞争和仲裁,是很简单的I2C总线系统。在本设计中,用FPGA模拟的I2C总线协议模块完成对SAA7111和SAA7121(Philips公司的视频解码和编码芯片)先后进行初始化。
2 I2C 模块的设计与实现2.1 I2C模块设计思路??? I2C 总线写命令格式如下:??? 写信号:StartWrite Slave Address+Write BitAckRegister IndexAckDataAck …… Stop.???? 图1为I2C总线一次完整的数据传输时序图,可以将整个过程分为5个状态:(1)起始,(2)写数(0或1),(3)应答,(4)暂停,(5)结束。针对SAA7111进行初始化,需要在I2C总线上传输的参数共有34个字节:从器件地址(7bits)和写操作位(1bit)占一个字节,基地址参数占一个字节,再加上内部地址连续的32个寄存器(每个寄存器写一个字节数据),写完最后第34个字节后产生一个信号,作为初始化SAA7111的启动信号,初始化SAA7121的过程与前者类似 只是传输的参数共有130个字节,就不再赘述。整个初始化SAA711l的具体状态转化过程如图2所示。???? 为了准确控制和描述每个状态,将SDA和SCL的每一状态都分成四部分(00,01,10,11),如下图3,图中是Ack1是非应答状态,Ack0是应答状态,另外设置Idle状态是为了在传输完一个字节后如果继续传输数据,则在这个状态准备下一个要传输的数据.保障了传输过程中的可靠性。???? 图中每一状态的四个部分都用4个时钟周期来描述,也就是说时钟频率是总线的传输速率(100kb/s—400kb/s)的4倍,即其时钟频率为400kHz-1600kHz(2.5us-O.625us),所以SDA与SCL之间的跳变沿,都相应地满足I2C通信协议中SDA与SCL之间的建立与保持时间(≥O.6us)。2.2 I2C 模块程序编写??? 整个程序用Verilog HDL语言编制,选择I2C总线的传输速率为200kb/s,则输入时钟频率应为800kb/s。在这里把双向数据线SDA用分成两条线模拟:SDAOUT为SDA数据输出,SDAACK为SDA的应答信号。??? 程序由5个状态组成:Start,Write,Ack,Idle,Stop。
您可能关注的文档
- 《Excel使用技巧实例合集1.doc
- 《Excel使用技巧大全2010版.doc
- 《2015广东公务员行测重要考点讲解:文章阅读考查内容与做题步骤.doc
- 《Excel使用技巧实用技巧.doc
- 《2015广东公务员面试真题及解析5月17日.doc
- 《EXCEL使用技巧集锦53例.doc
- 《2015广东公务员面试真题及解析516.doc
- 《Excel使用技巧集锦.doc
- 《2015广东省初中毕业生学业考试.doc
- 《Excel使用技巧集锦——函数和公式编辑技巧1.doc
- 2025年中国采油工具行业市场前景预测及投资价值评估分析报告.docx
- 中国切格机行业市场前景预测及投资价值评估分析报告.docx
- 2025年海门市荣盛电镀化工助剂厂介绍企业发展分析报告模板.docx
- 海洋石油开采行业发展潜力分析及投资方向研究报告.docx
- 初中生野外地理实践课程设计及对学生研究能力的塑造教学研究课题报告.docx
- 高中化学实验操作视频纠错系统的开发与应用教学研究课题报告.docx
- 高中化学教学中的核心素养培育与实验探究教学研究课题报告.docx
- 2025年礼品、工艺品、饰品市场需求分析.docx
- 2025年安徽好诚供水设备制造有限公司介绍企业发展分析报告.docx
- 高中政治课程中的模拟联合国教学实践教学研究课题报告[001].docx
文档评论(0)