微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻橀弻鐔虹磼閵忕姵鐏嶉梺绋块椤︻垶鈥﹂崸妤佸殝闂傚牊绋戦~宀€绱撴担鍝勭彙闁搞儜鍜佸晣闂佽瀛╃粙鎺曟懌闁诲繐娴氶崢濂告箒濠电姴锕ら幊搴㈢閹灔搴ㄥ炊瑜濋煬顒€鈹戦垾宕囧煟鐎规洜鍠栭、姗€鎮欏顔锯偓鎾⒒閸屾瑧顦﹂柟璇х節閹兘濡疯瀹曞弶鎱ㄥ璇蹭壕閻庢鍠栭…鐑藉极閹邦厼绶炲┑鐘插閸氬懘姊绘担鐟邦嚋缂佽鍊歌灋妞ゆ挾鍊e☉銏犵妞ゆ挾濮烽敍婊堟⒑缂佹ê濮﹂柛鎾寸懇瀹曟繈濡堕崱娆戭啎缂佺虎鍙冮ˉ鎾跺姬閳ь剟鎮楀▓鍨灈妞ゎ厾鍏橀獮鍐閵堝懎绐涙繝鐢靛Т鐎氼喛鍊撮梻鍌氬€风粈渚€骞夐敓鐘茬闁糕剝绋戝婵囥亜閺冨倻鎽傞柛鐔锋噽缁辨捇宕掑顑藉亾閹间礁纾归柣鎴eГ閸ゅ嫰鏌ら幖浣规锭闁搞劍姊归妵鍕箻閸楃偟浠奸梺鎼炲妼閸婂潡寮诲☉銏╂晝闁挎繂妫涢ˇ銉╂⒑閽樺鏆熼柛鐘崇墵瀵寮撮悢铏诡啎闂佺粯鍔﹂崜姘舵偟閺囥垺鈷戠紒瀣儥閸庡繑淇婇锝囩疄鐎殿喛顕ч埥澶婎潩椤愶絽濯伴梻浣告啞閹稿棝鍩€椤掆偓鍗遍柛顐g箥濞撳鏌曢崼婵囧殗闁绘稒绮撻弻鐔煎礄閵堝棗顏�04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涢梺缁樺姉閸庛倝宕戠€n喗鐓熸俊顖濆吹濠€浠嬫煃瑜滈崗娑氭濮橆剦鍤曢柟缁㈠枛椤懘鏌嶉埡浣告殲闁绘繃娲熷缁樻媴閽樺-鎾绘煥濮橆厹浜滈柨鏃囶嚙閺嬨倗绱掓潏銊︻棃鐎殿喗鎸虫慨鈧柍閿亾闁归绮换娑欐綇閸撗呅氬┑鐐叉嫅缁插潡寮灏栨闁靛骏绱曢崢閬嶆⒑閸濆嫬鏆婇柛瀣尰缁绘盯鎳犻鈧弸娑㈡煟濞戝崬娅嶇€殿喕绮欓、妯款槼闁哄懏绻堝娲濞戞艾顣哄┑鐐额嚋缁茶法鍒掗鐔风窞濠电姴瀛╃€靛矂姊洪棃娑氬婵☆偅绋掗弲鍫曟焼瀹ュ棛鍘遍柣搴秵閸撴瑦绂掗柆宥嗙厵妞ゆ洖妫涚弧鈧繝纰夌磿閸忔﹢宕洪敓鐘茬<婵犲﹤鍟粻娲⒒閸屾瑧顦﹂柟纰卞亜鐓ら柕濞炬櫅绾剧粯绻涢幋娆忕仼闁绘帒鐏氶妵鍕箳閸℃ぞ澹曟繝鐢靛Л閸嬫捇姊洪鈧粔鎾倿閸偁浜滈柟鍝勭Х閸忓矂鏌涢悢鍝ュ弨闁哄瞼鍠栧畷娆撳Χ閸℃浼�26闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涢梺缁樺姉閸庛倝宕戠€n喗鐓熸俊顖濆吹濠€浠嬫煃瑜滈崗娑氭濮橆剦鍤曢柟缁㈠枛椤懘鏌嶉埡浣告殲闁绘繃鐗犲缁樼瑹閳ь剟鍩€椤掑倸浠滈柤娲诲灡閺呭爼骞嶉鍓э紲濡炪倖娲栧Λ娑㈠礆娴煎瓨鎳氶柡宥庣亹瑜版帗鏅查柛顐ゅ櫏娴犫晛顪冮妶鍡樷拹婵炶尙鍠庨~蹇撁洪鍛画闂佽顔栭崰妤呭箟婵傚憡鈷戦柤濮愬€曢弸鍌炴煕鎼达絾鏆鐐插暙椤粓鍩€椤掑嫬鏄ラ柨鐔哄Т缁€鍐┿亜韫囨挻锛旂紒杈ㄧ叀濮婄粯鎷呴搹鐟扮闂佽崵鍠嗛崹钘夌暦閹达箑绠荤紓浣贯缚閸橀亶姊洪棃娴ㄥ綊宕曢幎钘夋槬闁挎繂娲犻崑鎾斥枔閸喗鐏堝銈庡弮閺€杈ㄧ┍婵犲洤绠瑰ù锝呮憸閸樻悂姊虹粙鎸庢拱闁活収鍠氶懞杈ㄧ鐎n偀鎷绘繛杈剧到閹虫瑨銇愰幒鎴濈彉濡炪倖甯掗崐濠氭儗濞嗘挻鐓欓弶鍫熷劤閻︽粓鏌℃担绋库偓鍧楀蓟閵娾晜鍋嗛柛灞剧☉椤忥拷 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涢梺缁樺姉閸庛倝宕戠€n喗鐓熸俊顖濆吹濠€浠嬫煃瑜滈崗娑氭濮橆剦鍤曢柟缁㈠枛椤懘鏌eΟ鑽ゅ灩闁搞儯鍔庨崢閬嶆煟韫囨洖浠滃褌绮欓幃锟狀敍濮樿偐鍞甸柣鐔哥懃鐎氼厾绮堥埀顒勬⒑鐎圭媭娼愰柛銊ユ健閵嗕礁鈻庨幋鐘碉紲闂佽鍎虫晶搴g玻濡ゅ懏鈷掑ù锝呮啞閸熺偞銇勯鐐搭棦鐎规洘锕㈤弫鎰板幢濞嗗苯浜炬繛宸簼閸婂灚顨ラ悙鑼虎闁告梹纰嶇换娑㈡嚑椤掆偓閳诲牏鈧娲橀崹鍧楃嵁濮椻偓閹虫粓妫冨☉娆戔偓顓㈡⒒娴e憡鍟炴繛璇х畵瀹曟粌鈽夐姀鈩冩珫濠电偞鍨崹娲煕閹达附鐓曟繛鎴炃氶惇瀣箾閸喐绀€闁宠鍨块幃娆戞嫚瑜戦崥顐︽⒑鐠団€虫灆闁告濞婇妴浣割潩鐠鸿櫣鍔﹀銈嗗坊閸嬫捇鏌i敐鍥у幋鐎规洖銈稿鎾Ω閿旇姤鐝滄繝鐢靛О閸ㄧ厧鈻斿☉銏╂晞闁糕剝銇涢弸宥夋倶閻愮紟鎺楀绩娴犲鐓熸俊顖濇娴犳盯鏌¢崱蹇旀珔闁宠鍨块、娆撴嚍閵夈儱鏀俊銈囧Х閸嬫盯鏁冮妷銉殫闁告洦鍨扮粻娑欍亜閹烘垵浜扮紒閬嶄憾濮婄粯鎷呯粵瀣秷閻庤娲橀敃銏ゃ€佸鎰佹▌闂佸搫琚崝鎴炰繆閸洖骞㈤柡鍥╁Х閻i箖姊绘笟鈧ḿ褔鎮ч崱娆屽亾濮樼厧鐏︾€规洘顨呴悾婵嬪礋椤掑倸骞堟繝鐢靛仜濡鎹㈤幋位澶愬閳╁啫寮挎繝鐢靛Т閹冲繘顢旈悩鐢电<閺夊牄鍔岀粭鎺楁懚閿濆鐓犲┑顔藉姇閳ь兙鍊曞嵄妞ゆ帒瀚埛鎺懨归敐鍛殘鐟滅増甯楅弲婵嬫煏閸繃瀚呴柤鏉挎健濮婃椽顢楅埀顒傜矓閹绢喗鍊块柛顭戝亖娴滄粓鏌熼崫鍕ラ柛蹇撶焸閺屾盯鎮㈤崫銉ュ绩闂佸搫鐬奸崰鏍х暦濞嗘挸围闁糕剝顨忔导锟�闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鏁愭径濠勵吅闂佹寧绻傞幉娑㈠箻缂佹ḿ鍘遍梺闈涚墕閹冲酣顢旈銏$厸閻忕偠顕ч埀顒佺箓閻g兘顢曢敃鈧敮闂佹寧妫佹慨銈夋儊鎼粹檧鏀介柣鎰▕閸ょ喎鈹戦鐐毈闁硅櫕绻冮妶锝夊礃閵娧冨箣闂備胶鎳撻顓㈠磻濞戞氨涓嶉柣妯肩帛閳锋垹绱掔€n亜鐨¢柡鈧紒妯镐簻闁靛ǹ鍎查ˉ銏☆殽閻愯尙澧﹀┑鈩冪摃椤︻噣鏌涚€n偅宕屾俊顐㈠暙閳藉鈻庤箛鏃€鐣奸梺璇叉唉椤煤閺嵮屽殨闁割偅娲栫粻鐐烘煏婵炲灝鍔存繛鎾愁煼閹綊宕堕鍕婵犮垼顫夊ú鐔奉潖缂佹ɑ濯撮柧蹇曟嚀缁椻剝绻涢幘瀵割暡妞ゃ劌锕ら悾鐑藉级鎼存挻顫嶅┑顔矫ぐ澶岀箔婢跺ň鏀介柣鎰綑閻忥箓鎳i妶鍡曠箚闁圭粯甯炴晶娑氱磼缂佹ḿ娲寸€规洖宕灒闁告繂瀚峰ḿ鏃€淇婇悙顏勨偓鏇犳崲閹烘绐楅柡宓本缍庣紓鍌欑劍钃卞┑顖涙尦閺屻倝骞侀幒鎴濆Б闂侀潧妫楅敃顏勵潖濞差亝顥堥柍鍝勫暟鑲栫紓鍌欒兌婵敻骞戦崶顒佸仒妞ゆ棁娉曢悿鈧┑鐐村灦閻燂箑鈻嶉姀銈嗏拺閻犳亽鍔屽▍鎰版煙閸戙倖瀚�
首页 > 硬件设计 > 嵌入式设计 > ALTERA FPGA在微处理器系统中的在应用配置

ALTERA FPGA在微处理器系统中的在应用配置

时间:07-09 来源: 点击:
作者: 清华大学电子工程系 温淑鸿 崔慧娟

摘要: ALTERA公司SRAM工艺可编程器件应用广泛,专用配置器件比较昂贵。在具有微处理器的系统中,使用微处理器系统的存储器来存储配置数据,并通过微处理器配置FPGA,这种方法几乎不增加成本。微处理器根据不同的程序应用,采用不同的配置数据对FPGA进行配置,使FPGA实现与该应用有关的特定功能。详细介绍了微处理器系统中连接简单的被动串行配置方法和被动并行异步配置方法。

关键词: 在应用配置 FPGA配置 被动串行 被动并行异步

可编程逻辑器件(PLD)广泛应用在各种电路设计中。基于查找表技术、SRAM工艺的大规模PLD/FPGA,密度高且触发器多,适用于复杂的时序逻辑,如数字信号处理和各种算法的设计。这类器件使用SRAM单元存储配置数据。配置数据决定了PLD内部互连和功能,改变配置数据,也就改变了器件的逻辑功能。SRAM编程时间短,为系统动态改变PLD的逻辑功能创造了条件。但由于SRAM的数据是易失的,配置数据必须保存在PLD器件以外的非易失存储器内,才能实现在线可重配置(ICR)。

1 在应用配置(动态配置)

同一设备在实现不同的应用时,要求FPGA实现不同的功能。如手持多媒体设备,可拍摄分辨率较高的静止图像照,采用JPEG2000压缩,也可传送活动图像,采用H.263,H.264/AVC等。单纯使用软件实现速度慢,需要对算法进行精细的优化;而使用硬件实现则速度快,但灵活性差。为此,采用微处理器和FPGA相结合来实现手持多媒体终端,微处理器实现程序控制,FPGA实现大量的规则运算。此外,手持设备的某些应用(如静止图像和活动视频压缩)可能并不同时实现。若在一片FPGA同时实现这些功能,不仅布线复杂,功能难以实现,而且需要更大规模的FPGA。若使用不同的配置数据进行配置,使FPGA在不同时刻实现不同的功能,则FPGA的容量可以显著降低,从而降低设备的体积、功耗及成本。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涘┑鐐村灍閹崇偤宕堕浣镐缓缂備礁顑呴悘婵嬫倵椤撶喍绻嗛柕鍫濈箳閸掍即鏌涢悤浣镐簽缂侇喛顕ч埥澶娢熻箛鎾剁Ш闁轰焦鍔欏畷銊╊敊鐠侯煈鏀ㄧ紓鍌氬€风粈渚€顢栭崟顖涘殑闁告挷鐒﹂~鏇㈡煙閹规劦鍤欑痪鎯у悑閹便劌顫滈崱妤€骞嬮梺绋款儐閹瑰洭骞冨⿰鍫熷殟闁靛鍎崑鎾诲锤濡や胶鍙嗛梺鍝勬处濮樸劑宕濆澶嬬厵闁告劘灏欓悞鍛婃叏婵犲嫮甯涢柟宄版嚇瀹曘劍绻濋崒娑欑暭闂傚倷娴囧畷鐢稿窗閸℃稑纾块柟鎯版缁犳煡鏌曡箛鏇烆€屾繛绗哄姂閺屽秷顧侀柛鎾寸懇椤㈡岸鏁愰崱娆戠槇濠殿喗锕╅崢鍏肩濠婂懐纾奸柣鎰靛墮椤庢粌顪冪€涙ɑ鍊愮€殿喗鐓¢、妤呭礋椤戣姤瀚奸梻浣告贡鏋繛鎾棑缁骞樼€靛摜顔曢柣鐘叉厂閸涱厼鐓傞梺杞扮閻楀﹥绌辨繝鍥ч柛娑卞枛濞呫倝姊虹粙娆惧剬闁告挻绻勯幑銏犫攽閸モ晝鐦堥梺绋挎湰缁嬫垵鈻嶉敐鍜佹富闁靛牆绻掗崚浼存煏閸喐鍊愭鐐插暞缁傛帞鈧絽鐏氶弲顒€鈹戦悙鏉戠仸閽冮亶鎮归崶鈺佷槐婵﹨娅i幏鐘诲灳閾忣偆浜堕梻浣藉吹閸o附淇婇崶顒€绠查柕蹇曞Л閺€浠嬫倵閿濆簼绨介柛濠勫仱濮婃椽妫冨ù銈嗙洴瀹曟﹢濡搁妷顔藉枠濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁炬崘顫夐妵鍕冀椤愵澀绮堕梺缁樺笒閻忔岸濡甸崟顖氱闁瑰瓨绻嶆禒鑲╃磼閻愵剙鍔ゆい顓犲厴瀵鎮㈤悡搴n槶閻熸粌绻掗弫顔尖槈閵忥紕鍘介梺瑙勫劤椤曨厼煤閹绢喗鐓欐い鏃傜摂濞堟粓鏌℃担鐟板闁诡垱妫冮崹楣冩嚑椤掍焦娅﹀┑鐘垫暩婵參骞忛崘顔肩妞ゅ繐鍟版す鎶芥⒒娓氣偓閳ь剚绋撻埞鎺楁煕閺傝法肖闁瑰箍鍨归埞鎴犫偓锝庝簻缁愭稑顪冮妶鍡樼闁瑰啿绉瑰畷顐⑽旈崨顔规嫽婵炶揪绲介幉锛勬嫻閿熺姵鐓欓柧蹇e亝鐏忕敻鏌嶈閸撴艾顫濋妸锔芥珷婵°倓鑳堕埞宥呪攽閻樺弶鎼愮紒鐘垫嚀闇夐柨婵嗙墕閳ь兛绮欐俊鎼佸煛閸屾粌寮抽梻浣告惈閸熺娀宕戦幘缁樼厱閹艰揪绱曢敍宥囩磼鏉堚晛浠辨鐐村笒铻栧ù锝呭级鐎氫粙姊绘担鍛靛綊寮甸鍕仭闁靛ň鏅涚粈鍌溾偓鍏夊亾闁告洦鍓涢崢鐢告⒑閹勭闁稿鎳庨悾宄扮暆閳ь剟鍩€椤掑喚娼愭繛鍙夌矒瀵偆鎷犲顔兼婵炲濮撮鎰板极閸ヮ剚鐓熼柟閭﹀弾閸熷繘鏌涢悙鍨毈婵﹦绮幏鍛存嚍閵壯佲偓濠囨⒑闂堚晝绉剁紒鐘虫崌閻涱喛绠涘☉娆愭闂佽法鍣﹂幏锟�...

图 1 APEX FPGA的主动串行(PS)配置时序图

使用在应用配置时,首先把应用分集,可能同时运行的应用分成一组,耗时的规则运算由FPGA实现,其它由微处理器实现。把一个FPGA芯片的多个配置文件连续地存放在系统存储器中,在程序执行时,微处理器把对应特定应用的配置数据装载到FPGA中并完成初始化,在FPGA进入用户模式后就能实现特定的功能了。这种方法可以采用更小规模的FPGA,不必使用专用的昂贵配置芯片(如ALTERA的EPC1、EPC2等)来存储配置数据,因而可显著地节省系统成本。

ALTERA SRAM工艺的FPGA配置方式主要分为两大类:主动配置和被动配置。主动配置方式由PLD器件引导配置操作过程,它控制着外部存储器和初始化过程;而被动配置方式则由外部计算机或控制器控制配置过程。根据数据线的多少又可以将PLD器件配置方式分为并行配置和串行配置两大类。下面以ALTERA APEX20KC系列器件为例,介绍两种在微处理器系统里连接简单且使用方便的配置方式:被动串行配置和被动并行异步配置。

2 被动串行配置(PS)

被动串行配置的主要配置引脚如下:

nSTATUS:命令状态下为器件的状态输出。加电后,FPGA立即驱动该引脚到低电位,然后在5μs内释放它。NSTATUS经过10kΩ电阻上拉到Vcc,如果配置中发生错误,FPGA将其拉低。在配置或者初始化时,若配置电路将nSTATUS拉低,FPGA进入错误状态。

NCONFIG:配置控制输入。低电位使器件复位,由低到高的电位跳变启动配置。

CONF_DONF:双向漏极开路;在配置前和配置期间为状态输出,FPGA将其驱动为低。所有配置数据无错误接收并且初始化时钟周期开始后,FPGA将其置为三态,由于有上拉电阻,所以将其变为高电平,表示配置成功。在配置结束且初始化开始时,CONF_DONE为状态输入:若配置电路驱动该管脚到低,则推迟初始化工作;输入高电位则引导器件执行初始化过程并进入用户状态。

DCLK:时钟输入,为外部数据源提供时钟。

nCE:FPGA器件使能输入。nCE为低时,使能配置过程。单片配置时,nCE必须始终为低。

nCEO:输出(专用于多片器件)。FPGA配置完成后,输出为低。在多片级联配置时,驱动下一片的nCE端。

DATA0:数据输入,在DATA0引脚上的一位配置数据。

PORSEL:专用输入,用来设置上电复位(POR)的延时时间。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涘┑鐐村灍閹崇偤宕堕浣镐缓缂備礁顑呴悘婵嬫倵椤撶喍绻嗛柕鍫濈箳閸掍即鏌涢悤浣镐簽缂侇喛顕ч埥澶娢熻箛鎾剁Ш闁轰焦鍔欏畷銊╊敊鐠侯煈鏀ㄧ紓鍌氬€风粈渚€顢栭崟顖涘殑闁告挷鐒﹂~鏇㈡煙閹规劦鍤欑痪鎯у悑閹便劌顫滈崱妤€骞嬮梺绋款儐閹瑰洭骞冨⿰鍫熷殟闁靛鍎崑鎾诲锤濡や胶鍙嗛梺鍝勬处濮樸劑宕濆澶嬬厵闁告劘灏欓悞鍛婃叏婵犲嫮甯涢柟宄版嚇瀹曘劍绻濋崒娑欑暭闂傚倷娴囧畷鐢稿窗閸℃稑纾块柟鎯版缁犳煡鏌曡箛鏇烆€屾繛绗哄姂閺屽秷顧侀柛鎾寸懇椤㈡岸鏁愰崱娆戠槇濠殿喗锕╅崢鍏肩濠婂懐纾奸柣鎰靛墮椤庢粌顪冪€涙ɑ鍊愮€殿喗鐓¢、妤呭礋椤戣姤瀚奸梻浣告贡鏋繛鎾棑缁骞樼€靛摜顔曢柣鐘叉厂閸涱厼鐓傞梺杞扮閻楀﹥绌辨繝鍥ч柛娑卞枛濞呫倝姊虹粙娆惧剬闁告挻绻勯幑銏犫攽閸モ晝鐦堥梺绋挎湰缁嬫垵鈻嶉敐鍜佹富闁靛牆绻掗崚浼存煏閸喐鍊愭鐐插暞缁傛帞鈧絽鐏氶弲顒€鈹戦悙鏉戠仸閽冮亶鎮归崶鈺佷槐婵﹨娅i幏鐘诲灳閾忣偆浜堕梻浣藉吹閸o附淇婇崶顒€绠查柕蹇曞Л閺€浠嬫倵閿濆簼绨介柛濠勫仱濮婃椽妫冨ù銈嗙洴瀹曟﹢濡搁妷顔藉枠濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁炬崘顫夐妵鍕冀椤愵澀绮堕梺缁樺笒閻忔岸濡甸崟顖氱闁瑰瓨绻嶆禒鑲╃磼閻愵剙鍔ゆい顓犲厴瀵鎮㈤悡搴n槶閻熸粌绻掗弫顔尖槈閵忥紕鍘介梺瑙勫劤椤曨厼煤閹绢喗鐓欐い鏃傜摂濞堟粓鏌℃担鐟板闁诡垱妫冮崹楣冩嚑椤掍焦娅﹀┑鐘垫暩婵參骞忛崘顔肩妞ゅ繐鍟版す鎶芥⒒娓氣偓閳ь剚绋撻埞鎺楁煕閺傝法肖闁瑰箍鍨归埞鎴犫偓锝庝簻缁愭稑顪冮妶鍡樼闁瑰啿绉瑰畷顐⑽旈崨顔规嫽婵炶揪绲介幉锛勬嫻閿熺姵鐓欓柧蹇e亝鐏忕敻鏌嶈閸撴艾顫濋妸锔芥珷婵°倓鑳堕埞宥呪攽閻樺弶鎼愮紒鐘垫嚀闇夐柨婵嗙墕閳ь兛绮欐俊鎼佸煛閸屾粌寮抽梻浣告惈閸熺娀宕戦幘缁樼厱閹艰揪绱曢敍宥囩磼鏉堚晛浠辨鐐村笒铻栧ù锝呭级鐎氫粙姊绘担鍛靛綊寮甸鍕仭闁靛ň鏅涚粈鍌溾偓鍏夊亾闁告洦鍓涢崢鐢告⒑閹勭闁稿鎳庨悾宄扮暆閳ь剟鍩€椤掑喚娼愭繛鍙夌矒瀵偆鎷犲顔兼婵炲濮撮鎰板极閸ヮ剚鐓熼柟閭﹀弾閸熷繘鏌涢悙鍨毈婵﹦绮幏鍛存嚍閵壯佲偓濠囨⒑闂堚晝绉剁紒鐘虫崌閻涱喛绠涘☉娆愭闂佽法鍣﹂幏锟�...

图 2 使用微处理器的被动串行配置方案

nIO_PULLUP:输入。低电平时,在配置前和配置期间使能内部弱的上拉电阻,将用户管脚拉至VCCIO。

几乎所有ALTERA FPGA器件都支持被动串行配置。被动串行配置的是序图如图1所示,在这种配置方式中没有握手信号,配置时钟的工作频率必须在器件允许的范围,最低频率没有限制。为了开始配置,配置管脚和JTAG管脚所在的bank的VCCINT、VCCIO必需供电。FPGA上电后进入复位状态。nCONFIG被置为低电平,使FPGA进入复位状态;nCONFIG由低到高的电位跳变启动配置过程。整个配置包括三个阶段:复位、配置和初始化。当nSTATUS或者nCONFIG为低电平时,器件脱离复位状态,并且释放漏极开路的nSTATUS管脚。在nSTATUS释放后,被外部电阻拉高,这时nSTATUS和nCONFIG同时为高电平,FPGA准备接收配置数据,配置阶段开始。在串行配置过程中,FPGA在DCLK上升沿锁存DATA0引脚上的数据。成功接收到所有数据后,释放CONF_DONE引脚,并被外部电阻拉高。CONF_DONE由低到高的转变标志配置结束,初始化开始。此后,DCLK必须提供几个周期的时钟(具体周期数据与DCLK的频率有关),确保目标芯片被正确初始化。初始化完成后,FPGA进入用户工作模式。如果使用了可选的INIT_DONE信号,在初始化结束后,INIT_DONE被释放,且被外部电阻拉高,这时进入用户模式。DCLK、DATA、DATA0配置后不能三态,可置高或者置低。

在配置过程中,一旦出现错误,FPGA将nSTATUS拉低。系统可以实时监测,当识别到这个信号后,重新启动配置过程。NCONFIG由高变低,再变高可以重新进行配置。一旦nCONFIG被置低,nSTATUS和CONF_DONE也将被FPGA置低。当nSTATUS和nCONFIG同时为高电平时,配置开始。

图2是采用微处理器的FPGA被动串行配置方案的简化电路图。配置过程为:由微处理器将nCONFIG置低再置高来初始化配置;检测到nSTATUS变高后,就将配置数据和移位时钟分别送到DATA0和DCLK管脚;送完配置数据后,检测CONF_DONE是否变高,若未变高,说明配置失败,应该重新启动配置过程。在检测CONF_DONE变高后,根据器件的定时参数再送一定数量的时钟到DCLK管脚;待FPGA初始化完毕后进入用户模式。如果单片机具有同步串口,DATA0、DCLK使用同步串口的串行数据输出和时钟输出,这时只需要简单把数据字节或字锁存到发送缓冲器就可以了。在使用普通I/O线输出数据时,每输出1个比特,就要将DCLK置低再置高产生一个上升沿。它比ALTERA公司手册给出的电路连接图更有效地使用了存储器。
閻忓繐瀚伴。鑸电▔閹捐尙鐟归柛鈺冾攰椤斿嫰寮▎鎴旀煠闁规亽鍔忓畷锟�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top