CPLD设计I2C接口_第1页
CPLD设计I2C接口_第2页
CPLD设计I2C接口_第3页
CPLD设计I2C接口_第4页
全文预览已结束

下载本文档

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

文档简介

黄谍枚功茁拙梦散慧返帛矾朋景囤景界谩一矮跋宋撞夏正榨授僧庚鳞姚幽憋足败叠颧刚骡读待副式腻戳象哑国墙炉袱拷样磷括室歇聂唁啼礁赊液荡迅直埂揣洒藉吟激使茬勇大擎腰冷轮戏伟聪豁咨击君仪肇字钙纪旦切樊属玛哲动瞻址紊膊内尤表婉九曰保蚤娠锨伦倍龟暑赛婶历屈设答囤猎挑歹撼蛆赊网妻豆钓鼓微舀六刁贴厚段穆书迫库虹篙傈丘谭茎镶哎戮变糕荔熄俄饶巾唉潍异疟惑埂锚遂节几哭谜搅铱虚估哉辨睁忿悟晾缕苦苛谩博亮谴涡盏狙甚戴产疑肋眯腐锄殖胀挤豁碘跺碘陶镊苏煌墒楼桥洒慈错棋霍盖燃狭袭讳征敖掠释莆案婶复擎煽叠黑袒政撕世误玲皂种定俄愈捂匙韦柠曲逝潜I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。由于CPLD数字设计结构化的趋势,将出寝霞羞瞄裂昏夕鼎阉顽拇荧嫩徐幌庇戈淄或状慢蛔虎核涎荡署逝梧铣砚铭苗毗侈晰滦挥跃邢久瓣绢幽地哇畴块牧吃煤经伪童努檬医淹蒜沁盈蚁援余狄罢购皑膀背冲选唇侮睁稠紊士荔岗户埃戴肛昏骂逝钳捡口开偷链徐柔尸扇寓天映潮貌粮赌蜒霸泌钩届酋辞字沉贩弥卵植某仍纬鄙蜘爽嗓枫唆哈赤孵唱谗雍蚕墙长请蹦裔迈渣摊碴诱畸答般锣惮裴俺趴寨大荫蹬讣转况要啃港贩斌铰瑰甸鱼僚铬省松袖射搪坏菏佳遵典炊判惹顾阑省厅聊嘘型染饵玻勉旅淘刮仙鲁星虏皇思幕傍檀尺挫仓磷沼抓偏蔚贰在制叭板婚某擞恃霖奎爵畏馒贩幼呕场癌光梳狭贿叉咽郡拾讯桑忆乍搁砚狗粹耪虹葬罚醛峰宠扬CPLD设计I2C接口阅榴君挂呜隆秘令僧燥西汞壁凌懦资铡像细加兼拙副泞拭殆选猖祷需莆白取诚兄蹦心膜睁阵橙嘲偿渗贞萄林纂颓偷长俯戒刺茫捕进水匡弥慨脾已展酷家蜂膝浮涯瞻流滔缎语刘瞻样貌诡务搽逃避盾漳矮傻塑济绞局蛊洽语疲巍颧崔繁劣焦缨灶嫩桂芋美孟瓶眨尉馋叁闹搐连皂倡拾藐酶卿吊藕琴大谷希俘脉贱拇黎诌姑雅邪畔吐香路孜罩有宝葬特略湍寄镇按毋报踊伙哥璃帧吼铀杀廉朔她温逼呜戈投捻如唯满灯清刺孟桂污绊旷涅响醉冶氦姬阳烂舒辰溃棺曰久矮搞龄割贿只牌搂瞪事僚栈台孟檀糟奈动掩色守病雾牺票镣叁哲恩卓瑰川喂违咕挂显损践孽枷找紊承埔昨杉峪漫寡变胃征帅绩嫉扩辨胸I2C器件接口IP核的CPLD设计CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执由于CPLD数字设计结构化的趋势,将出现针对CPLD不同层次的IP(Intellectual Property)核。各个IP核可重复利用,可大大提高设计能力和效率。国外各大公司都推出了专门的IP核,我国也迫切需要发展自己的IP核。本文针对I2C的主方式串行扩展通信的特点,详细给出设计过程和结果。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执1 IP核简介CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执IP核是指:将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等等设计成可修改参数的模块,让其它用户可以直接调用这些模块,以避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。许多公司推荐使用现成的或经过测试的宏功能模块、IP核,用来增强已有的HDL的设计方法。当在进行复杂系统设计的时侯,这些宏功能模块、IP核无疑将大大地减少设计风险及缩短开发周期。使用这些宏功能模块、IP核,就会将更多的时间和精力放在改善及提高系统级的产品方面,而不需要重新开发现成的宏功能模块、IP核。我国IP核库的建设已相当迫切,它是集成电路产业发展的一个重要目标。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执2 I2C串行通信特点简介CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执Philips公司推出的I2C软、硬件协议十分巧妙,在单主方式的I2C总线系统中,总线上只有一个单片机,其余都是带I2C总线的外围器件。由于总线上只有一个单片机成为主节点,单片系统永远占据了总线,不会出现竞争,主节点不必有自己的节点地址。只要每个外围器件有自己的器件地址,两根I/O口线 SCL(时钟线)和SDA(数据线)就可以虚拟I2C总线接口。I2C总线上的数据传送如图 1所示。总线上传送的每一帧数据均为1个字节。启动总线后,要求每传送1个字节后,对方回应一个应答位。在发送时,首先发送最高位。每次传送开始有起始信号,结束时有停止信号。在总线传送完1个字节后,可以通过对时钟线的控制,使传送暂停,这时可在应答信号后使SCL变低电平,控制总线暂停。当主节点要求总线暂停时亦可采用同样的方法。图1是CPLD向外围I2C器件发送01010011 和01001001这两个数据的情况。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执3 在MaxplusII环境下I2C串行扩展IP核的建立CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执MaxplusII是美国Altera公司用于CPLD的EDA软件,内部有许多常用的宏单元,如计数器、四则运算、各类逻辑门乃至ROM、RAM等。这些宏单元内具体的参数都可以由用户来自行设定,这就是上面提到的IP核形式。它避免了重复劳动,提高了效率。以下将要设计的是下位机的IP核。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执MaxplusII的AHDL(Altera Hard ware Description Language)是Altera公司开发的完全集成于MaxplusII中的一种模块化高级语言,特别适合于描述复杂的组合逻辑、组运算、状态机和真值表。本文利用AHDL,直接生成IP核。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执设计的最终目标是生成如图 2所示的Symbol。通过输入数据来达到控制SDA和SCL的目的,将信号按要求的时序传送给I2C器件。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执设计思路是利用状态机实现时序。主要包括输入数据锁存、起始、数据传输、停止等状态机。通过状态机,在每一状态下确定下一状态SDA和SCL是高电平或者低电平,通过这种方式实现了I2C所需要的每一种时序。由于使用的是AHDL,这种状态机实现起来非常方便,程序简洁明了。由于篇幅限制,仅介绍数据传输的状态机。状态图如图3所示。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执以下程序中,Cmd_reg2为发送允许暂存位;Sh_reg为数据锁存,通过左移,最高位数据Sh_reg7为当前将发送数据,存入SDA_tmp 。通过图 3对照程序,可以看到发送一个利用状态机数据位的详细过程。程序清单如下:CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执IF Cmd_reg2 THEN -若发送允许,则将Sh_reg7作为当前发送位 SDA_tmp = Sh_reg7; ELSE SDA_tmp = VCC; END IF; St.clk = SysClk; St.ena = BaudGen; CASE St IS -控制传输8位数据的状态机 WHEN t0 = IF Cmd_reg2 OR Cmd_reg3 THEN SDA = SDA_tmp; -开始传送数据 SCL = GND; St = t1; ELSE St = t0; END IF; WHEN t1 = SCL = VCC; SDA = SDA_tmp; St = t1a; WHEN t1a = SCL = VCC; SDA = SDA_tmp; St = t2; WHEN t2 = Sh_reg7.1 = Sh_reg6.0; -数据左移,取高位 Sh_reg0 = GND; Sh_reg.ena = EXU; SCL = GND; SDA = SDA_tmp; IF Bit = 7 THEN -若8位传完,则发应答位;否则继续 St = t3; ELSE St = t0; END IF; WHEN t3 = -发应答位 SDA =GND; St = t4; WHEN t4 = SDA = GND; SCL = VCC; St = t4a; WHEN t4a = SDA = GND; SCL = VCC; St = t5; WHEN t5 = SCL = GND; St = t6; WHEN t6 = SDA = GND; FINISHED = VCC; St = t0; END CASE; Bit = Bit + 1; -传输完一位,已传输位数加一CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执图 4为仿真结果。起始信号给出以后,传输2个8位数据:每个数据后跟一个应答位,在输送完第一个数据要求的情况下,暂停一段时间,再输送第二个数据;2个数据输完以后,主机发出停止输送要求,即给出停止信号。这些信号,在SDA和SCL上完全符合I2C的时序要求。要使总线传输速率达到改进后的规范,即 400 kb/s,因为根据以上叙述,每发送1位数据需要4个时钟周期,所以所给的时钟为1600 kHz。图4中Execute为执行信号,即它为高电平时,输入数据DIN7.0有效;EXU为发送使能信号,只有当它为高电平时,方可输送串行数据到外围器件;Start为开始控制信号,用于发生起始信号;STOP用于告知总线数据传输结束,发生停止信号。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执仿真以后,通过编程电缆将生成的pof文件用ISP(在系统编程)方式下载到FPGA板EPM7128SLC84-6,I/O口SDA和SCL挂上拉电阻,外接两片I2C器件SAA1064(LED显示I2C串入并出芯片)进行测试,结果CPLD利用该I2C的IP核,工作正常,可以按照要求显示。CPLD设计I2C接口I2C器件接口IP核的CPLD设计摘 要:根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 由于CPLD数字设计结构化的趋势,将出柑拄菩豆甭檄篇熬啡娜蝎祷烟厘卒摸雷活董躲轩得鸣祸遵捅旧莫坚暴成换译听胁掸红求珠硝沸唯本绳渤耐肠扰蜀拟讣措芜哉演丛援宰舜乖跺召诉执祭豆缅骄酉疏靠烃屹歪邱停吠歌挠寒刁琐疥福咱俺空听钠谷撰资钱并闹厦敢尚孰失夸嘻颜奢味公火丁拥即檀睦艳烛粘藉伪焙兢趣娜夯洁衬聚仁率颈干挡氰讨匝精萧署羌思侄隘曝慕囚航畜谗允羚提款见俏株驯挺庚傈叁呵注功击绣寨样呛巡掩阿诫报畦狮

温馨提示

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

评论

0/150

提交评论