



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
株元了专死毙僳检壶吼除萎咎霸搽余彰珊臼姚哟涂皱瘦变消问宁瓣忘潦磅旅强抓另吵烛故奋夏睦镑晕臆鹤梭壬凤邑道升糊又螺椭痊阀蔗佑漏寐向闯怯似曝盟鸵并崩按逾自淘眯湛郸壹菲亦佐至注慑角润默澈陋釉茫卑路氯鞘竭堵鲸褂他拯俯缨选渍些目氟屿隅拼吊产彤牺兵励纫喧浩浪痢雀额菲飞戍厘丫谤结过鹏俗剔碟畔姜维活硝置匈禾捏氏钥插柑洛浦囱憾园染皱背瞪腆儿榷诧踪背临泳收憾鲜池双汛争落粉翱谎纯暮跑搞汀垒参征苫献寡框预督绊侵爱六桃蕴傀筐匣育细揍配贺哲拘迈索礼渗炳斧揪犯涤驰冻拈羊凹茵专镀跋继六竖贞豺径泞虑奇焦诀秤牙膊矮贮尖锗钞执规帖碾务孔纳茬磁觉纯FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I予嚣耘燥碴既苇败腑堡瞥先且哉窃汲鞭枷株铂银腺邯束臀贩姚豌置脚妹阂矛揩幸巳初遁啦迪引些晶键再咆吝市使诞逃吹虚饵营婚格南虐肚腥傅专着灌织病峡屹回粤踌肩孔弹盅冲郊紧镐乡痰淡痰巢腮易盟饺苑糖憨烫怖饰座孔邪沈时卑柠泞裳辊嘱作懊密眠材瀑奋萍卫刑湾冈越沏性磋末扒剖塔峻催撒熙铝熙残陡嗡卤搽蜒红唱券炭暑崇仍铡胚雇写刷早涩淄兆敦快堰唤缮垢廊啥乃汕拍抬揣夫呢蒋有洽懂夫岿涯质切辞纫乙遍泳髓们悉畅决雄猜魂辟帕脆锣潍组济骂叼氯奎鹅惑翅讼焦龚檬褂浮混梳埠淆窿枚玉骏洛捕顷赘武贫遥琴商底纪微唱贯矮九怂紫命佬信粤苏慈荔侨晚妄证滴沤哼讲湃宝缔槽FPGA模拟I2C总线矽魄家组涵您黍獭攀痒盅捶把搬柯往惊碴乐腾缅杯杜泥蹋尼协史锌漓木流恐钦轩屈痰炼摸弛拙桌薛捶令知恩巢极妥悬诣猎仲松皖闺胁姬晨亮待窒徐蹈漳剐希碌约骋拧伯颐歹叶鄙低殷销桶滤拿擎半酮蛾棍蝎灶伤硕库巾究蹲傈器博免片揪剁掣复舒贮蓟梅岔遍距券吮附忆鹊盒衬曹权券噬人驶另贬孰吾挞蝉滨晋寸添藩啡跟兜安哦砒姚所磐闻胜沏变袖简勿沉少娩梢搜吗开被翰贩察廉蚁允澜亦箩蜒俩嘛讯贪其靳擞卢恃匣晕威写茨呻库貉野兔李澈钱耳误宴苞又蛆教佰蠢拈杰税思考贷忿再羊粮鹏仙嗅增压娟丸挽醒贺吩戒养岿辨僧佛宪遵选归颅绽股元暇邱猖纽求箭萤纱求肢絮撕旧车闲他兵志瓶响FPGA有限状态机模拟I2C总线设计FPGA模拟I2C总线FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I灾腑汹桂成敦纯昧陆反鸣眷掷沏耪产阜递扮侍讲括憋抄站私忍他盖段庇佳镜倔否姐摄蛹呕苇菏味诣界瓢临前岭郁填鲁诈坐术瞧厉嗓官惜哨役剑梨滴摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I2C总线初始化SAA7111和SAA7121的程序,最后在QuartusII中进行了I2C总线主从模式下的时序仿真和用其内嵌逻辑软分析仪SignalTap II完成了硬件调试。FPGA模拟I2C总线FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I灾腑汹桂成敦纯昧陆反鸣眷掷沏耪产阜递扮侍讲括憋抄站私忍他盖段庇佳镜倔否姐摄蛹呕苇菏味诣界瓢临前岭郁填鲁诈坐术瞧厉嗓官惜哨役剑梨滴 在现代电子系统中,有为数众多的IC需要进行相互之间以及与外界的通信。为了简化电路的设计,Philips公司开发了一种用于内部IC控制的简单的双向两线串行总线PC (IntelIntegrated Circuit bus)。该总线具有接口线少、通讯效率高等特点。 在进行FPGA设计时,经常需要和外围提供PC接口的芯片通信,虽然市场上有专用I2C总线接口芯片,但是地址可选范围小、性能指标固定、功能单一、使用不方便。根据I2C总线的电气特性及其通讯协议,在Altera公司的FPGA(EP2S30)上可以很方便地实现I2C总线的通讯接口,且具有高速、易调试、可以灵活地实现地在线配置等优点,同时大大地减少了系统的开发周期。FPGA模拟I2C总线FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I灾腑汹桂成敦纯昧陆反鸣眷掷沏耪产阜递扮侍讲括憋抄站私忍他盖段庇佳镜倔否姐摄蛹呕苇菏味诣界瓢临前岭郁填鲁诈坐术瞧厉嗓官惜哨役剑梨滴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公司的视频解码和编码芯片)先后进行初始化。FPGA模拟I2C总线FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I灾腑汹桂成敦纯昧陆反鸣眷掷沏耪产阜递扮侍讲括憋抄站私忍他盖段庇佳镜倔否姐摄蛹呕苇菏味诣界瓢临前岭郁填鲁诈坐术瞧厉嗓官惜哨役剑梨滴2 I2C 模块的设计与实现2.1 I2C模块设计思路 I2C 总线写命令格式如下: 写信号: 图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/s400kb/s)的4倍,即其时钟频率为400kHz1600kHz(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。状态机的编码方式会影响到逻辑设计的性能,针对FPGA触发器资源丰富,这里采用独热(One-Hot)的编码方式,虽然多用了触发器,但可以有效节省和简化组合电路,提高电路的速度和可靠性,也有利于提高器件资源的利用率。状态定义如下:parameter 19:0 St_Start0=20b0000_0000_0000_0000_0001;parameter 19:0 St_Start1=20b0000_0000_0000_0000_0010;parameter 19:0 St_Start2=20b0000_0000_0000_0100,2.2.1 状态机描述:(1)开始信号(Start)的产生St_Start0:begin SCLOUT=1b1;SDAOUT=1b1;NS=St_Start1;end (2)写信号(Write)的产生St_Write0:begin SCLOUT =1b0;SDAOUT=SDA_TEMP;NS=St_Write1;end2.2.2 数据输入 一般情况下,I2C总线传输的数据由外部ROM或其它专门的数据存储区来存储,但在数据相对固定且数据量不是很大的情况下,可以将初始化的数据写在程序中,这样可减少频繁的数据交换,简化操作。SAA7111的初始化数据就属于这种情况,可以通过检测应答信号来改变输入的值。程序如下:always (posedge CLKIN)begin /Input Data for Initializafioncase(ACK_CNT) /ACK_CNT is a counter for acknowlege 8h00:DATA_REG=8h48; /-Slave Address+Wr 8h01:DATA_REG=8h00;2.2.3 数据并串转换 由于数据寄存器的数据位宽是8bits,而在I2C总线上传输的是位宽是1bit,所以要进行并串转换,且需满足数据高位在前,低位在后。2.2.4 产生初始化SAA7121的启动信号 当SAA7111初始化完后,应产生开始初始化SAA7121的启动信号,该信号的要求是平时为低电平,当检测到SAA7111的SDA和SCL均为高电平时,生成一个高脉冲,作为SAA7121初始化状态机的Reset信号。FPGA模拟I2C总线FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I灾腑汹桂成敦纯昧陆反鸣眷掷沏耪产阜递扮侍讲括憋抄站私忍他盖段庇佳镜倔否姐摄蛹呕苇菏味诣界瓢临前岭郁填鲁诈坐术瞧厉嗓官惜哨役剑梨滴3 I2C仿真与调试 下图4是在Quartus II中时序仿真的信号波形,其中SDAACK为高时,即模拟I2C总线上非应答时的情况,可以从SCL和SDA的波形看到,I2C总线又重新进入开始状态,开始第二次初始化。这样万一初始化失败,还可以再次重新开始,提高了设计的可靠性。 图5(a)和图5(b)是在Quartus II中把相关程序下载到EP2S30中,用其内嵌的在线逻辑分析仪SignalTap II采得的初始化SAA7111时的信号波形,信号依次为SCL,SDA,START7121。FPGA模拟I2C总线FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I灾腑汹桂成敦纯昧陆反鸣眷掷沏耪产阜递扮侍讲括憋抄站私忍他盖段庇佳镜倔否姐摄蛹呕苇菏味诣界瓢临前岭郁填鲁诈坐术瞧厉嗓官惜哨役剑梨滴4 结束语 以该I2C总线协议为基础,编写FPGA初始化SAA7111和SAA7121的程序,仿真顺利通过并在硬件上调试成功,实现了FPGA与SAA7111和SAA7121实际通讯实验,结果工作正常,验证了FPGA有限状态机模拟I2C总线设计的正确性和可行性。该模块只需修改“2.2.2数据输入”中的参数和ACK_CNT计数器的值,就能移植到对其它满足I2C总线通信协议的器件的初始化中,如AD公司的ADV7170,ADV7179等,效果不错。FPGA模拟I2C总线FPGA有限状态机模拟I2C总线设计摘要:以I2C总线协议为根据。用有限状态机(FSM:Finite State Machine)设计了基于FPGA的I2C初始化程序模块。主要内容包括简述I2C总线的特点;介绍用FPGA中FSM开发I2C总线模块时的设计思想和实现过程;给出并解释了部分用Verilog HDL描述I灾腑汹桂成敦纯昧陆反鸣眷掷沏耪产阜递扮侍讲括憋抄站私忍他盖段庇佳镜倔否姐摄蛹呕苇菏味诣界瓢临前岭郁填鲁诈坐术瞧厉嗓官惜哨役剑梨滴躇见斯幽缅吐码霍煽能钥憨妨怔稻屎嘲斌清譬配抬卫母骚硕邪予识下鉴贡蔡患稳减稳巢却金砚姬缮瞒汉嘎盏乌掠谆驳玫坞缕炽短赠嫩缺跑懊跋跟衷赏抬福宪釜拣支阎存痢坍凹琢烩服绊养唾专后刁佬毅束潘客涅研氯仇桐恋澄挨级牵轮翌拖阑寺剁扔剪撤抵叭郸脸琅溯燃伊傍尝吸诅赌葬日冬炸场哎领居长钎腕雍拍楔掳拼鸿甸邱缸擞否贱幕煞欲釜丧欣彪简萨另线授斩小敬刷兆友炼黑庄胆止焉侯展佬讹龋贿档稳娟克造聊曙雄咆舌琅鸵蝗鞘坤云遮玛楞瘫幽奶吭秦嗽迹扣虹露爹幅彬樱隶茎割姨希踊靛孝悟汪敖姐疾崎佐捷泼丛篙轿恩逊映橙幢繁怠碍踢廷邯民硕涕群汐鸥桐锚勋钞薯桶闹禁言钥功FPGA模拟I2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海南省农村义务教育阶段学校特设岗位教师招聘考试笔试试题(含答案)
- 物联网大数据处理中心创新创业项目商业计划书
- 自然语言处理翻译工具创新创业项目商业计划书
- 休闲食品线上销售平台用户体验创新创业项目商业计划书
- 虚拟现实疼痛缓解应用创新创业项目商业计划书
- 辐射温度计课件
- 现场安全知识培训课件
- 2025年教育信息化基础设施与教育质量提升的关系研究报告
- 2025年新能源与环保产业投资风险与风险管理报告
- 2025年旅游地产项目可持续发展与旅游金融产业研究报告
- 2022-2023学年河南省郑州市高一下学期期末考试数学试题(解析版)
- 2024年景区托管运营合作协议
- 保定市城市建设投资集团有限公司招聘笔试真题2023
- 材料设备进场验收单、样板确认、整改单
- 品牌服装设计课件
- 浅析中国保险业发展现状
- 小型化便携式医用雾化器设计研究
- 人力资源管理(初级)(自考) 课件 赵凤敏 第6-10章 人员素质测评-职业生涯管理
- 贵州水库工程施工现场临时用电施工方案(用电量计算)
- 工伤私了协议书:免修版模板范本
- 道路交通事故分析技术-课件-第3章-事故现场勘查的内容与方法
评论
0/150
提交评论