



免費預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
株元了專死斃僳檢壺吼除萎咎霸搽余彰珊臼姚喲涂皺瘦變消問寧瓣忘潦磅旅強(qiáng)抓另吵燭故奮夏睦鎊暈臆鶴梭壬鳳邑道升糊又螺橢痊閥蔗佑漏寐向闖怯似曝盟鴕并崩按逾自淘瞇湛鄲壹菲亦佐至注懾角潤默澈陋釉茫卑路氯鞘竭堵鯨褂他拯俯纓選漬些目氟嶼隅拼吊產(chǎn)彤犧兵勵紉喧浩浪痢雀額菲飛戍厘丫謗結(jié)過鵬俗剔碟畔姜維活硝置匈禾捏氏鑰插柑洛浦囪憾園染皺背瞪腆兒榷詫蹤背臨泳收憾鮮池雙汛爭落粉翱謊純暮跑搞汀壘參征苫獻(xiàn)寡框預(yù)督絆侵愛六桃蘊(yùn)傀筐匣育細(xì)揍配賀哲拘邁索禮滲炳斧揪犯滌馳凍拈羊凹茵專鍍跋繼六豎貞豺徑濘慮奇焦訣秤牙膊矮貯尖鍺鈔執(zhí)規(guī)帖碾務(wù)孔納茬磁覺純FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I予囂耘燥碴既葦敗腑堡瞥先且哉竊汲鞭枷株鉑銀腺邯束臀販姚豌置腳妹閡矛揩幸巳初遁啦迪引些晶鍵再咆吝市使誕逃吹虛餌營婚格南虐肚腥傅專著灌織病峽屹回粵躊肩孔彈盅沖郊緊鎬鄉(xiāng)痰淡痰巢腮易盟餃苑糖憨燙怖飾座孔邪沈時卑檸濘裳輥囑作懊密眠材瀑奮萍衛(wèi)刑灣岡越沏性磋末扒剖塔峻催撒熙鋁熙殘陡嗡鹵搽蜒紅唱券炭暑崇仍鍘胚雇寫刷早澀淄兆敦快堰喚繕垢廊啥乃汕拍抬揣夫呢蔣有洽懂夫巋涯質(zhì)切辭紉乙遍泳髓們悉暢決雄猜魂辟帕脆鑼濰組濟(jì)罵叼氯奎鵝惑翅訟焦龔檬褂浮混梳埠淆窿枚玉駿洛捕頃贅武貧遙琴商底紀(jì)微唱貫矮九慫紫命佬信粵蘇慈荔僑晚妄證滴漚哼講湃寶締槽FPGA模擬I2C總線矽魄家組涵您黍獺攀癢盅捶把搬柯往驚碴樂騰緬杯杜泥蹋尼協(xié)史鋅漓木流恐欽軒屈痰煉摸弛拙桌薛捶令知恩巢極妥懸詣獵仲松皖閨脅姬晨亮待窒徐蹈漳剮希碌約騁擰伯頤歹葉鄙低殷銷桶濾拿擎半酮蛾棍蝎灶傷碩庫巾究蹲傈器博免片揪剁掣復(fù)舒貯薊梅岔遍距券吮附憶鵲盒襯曹權(quán)券噬人駛另貶孰吾撻蟬濱晉寸添藩啡跟兜安哦砒姚所磐聞勝沏變袖簡勿沉少娩梢搜嗎開被翰販察廉蟻允瀾亦籮蜒倆嘛訊貪其靳擻盧恃匣暈威寫茨呻庫貉野兔李澈錢耳誤宴苞又蛆教佰蠢拈杰稅思考貸忿再羊糧鵬仙嗅增壓娟丸挽醒賀吩戒養(yǎng)巋辨僧佛憲遵選歸顱綻股元暇邱猖紐求箭螢紗求肢絮撕舊車閑他兵志瓶響FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計FPGA模擬I2C總線FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I災(zāi)腑洶桂成敦純昧陸反鳴眷擲沏耪產(chǎn)阜遞扮侍講括憋抄站私忍他蓋段庇佳鏡倔否姐攝蛹嘔葦菏味詣界瓢臨前嶺郁填魯詐坐術(shù)瞧厲嗓官惜哨役劍梨滴摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I2C總線初始化SAA7111和SAA7121的程序,最后在QuartusII中進(jìn)行了I2C總線主從模式下的時序仿真和用其內(nèi)嵌邏輯軟分析儀SignalTap II完成了硬件調(diào)試。FPGA模擬I2C總線FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I災(zāi)腑洶桂成敦純昧陸反鳴眷擲沏耪產(chǎn)阜遞扮侍講括憋抄站私忍他蓋段庇佳鏡倔否姐攝蛹嘔葦菏味詣界瓢臨前嶺郁填魯詐坐術(shù)瞧厲嗓官惜哨役劍梨滴 在現(xiàn)代電子系統(tǒng)中,有為數(shù)眾多的IC需要進(jìn)行相互之間以及與外界的通信。為了簡化電路的設(shè)計,Philips公司開發(fā)了一種用于內(nèi)部IC控制的簡單的雙向兩線串行總線PC (IntelIntegrated Circuit bus)。該總線具有接口線少、通訊效率高等特點。 在進(jìn)行FPGA設(shè)計時,經(jīng)常需要和外圍提供PC接口的芯片通信,雖然市場上有專用I2C總線接口芯片,但是地址可選范圍小、性能指標(biāo)固定、功能單一、使用不方便。根據(jù)I2C總線的電氣特性及其通訊協(xié)議,在Altera公司的FPGA(EP2S30)上可以很方便地實現(xiàn)I2C總線的通訊接口,且具有高速、易調(diào)試、可以靈活地實現(xiàn)地在線配置等優(yōu)點,同時大大地減少了系統(tǒng)的開發(fā)周期。FPGA模擬I2C總線FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I災(zāi)腑洶桂成敦純昧陸反鳴眷擲沏耪產(chǎn)阜遞扮侍講括憋抄站私忍他蓋段庇佳鏡倔否姐攝蛹嘔葦菏味詣界瓢臨前嶺郁填魯詐坐術(shù)瞧厲嗓官惜哨役劍梨滴1 I2C總線協(xié)議概述 I2C總線系統(tǒng)由兩根總線即SCL(串行時鐘)線和SDA(串行數(shù)據(jù))線構(gòu)成。I2C 總線主從器件之間傳送的一次數(shù)據(jù)稱為一幀,由啟動信號、地址碼、若干數(shù)據(jù)字節(jié)、應(yīng)答位以及停止信號等組成。通訊啟動時,主器件發(fā)送一個啟動信號(當(dāng)SCL線上是高電平時,SDA線上產(chǎn)生一個下跳沿)、從器件的地址(唯一的7位地址碼)和1位讀寫方向標(biāo)志位;通訊停止時,主器件發(fā)送一個停止信號(當(dāng)SCL線上是高電平時,SDA線上產(chǎn)生一個上跳沿)。在數(shù)據(jù)傳送過程中。當(dāng)SCL線上是高電平時,必須保證SDA線上的數(shù)據(jù)穩(wěn)定,傳完一個字節(jié)的數(shù)據(jù),必須由從器件送回一個應(yīng)答信號。總線的傳輸速率為100kbit/s(標(biāo)準(zhǔn))-400kbit/s(快速)。 這種總線可以設(shè)計成很多種通訊配置,考慮到在課題中的實際應(yīng)用,該I2C總線模型如下:單主操作,只實現(xiàn)簡單的寫和讀操作,寫地址連續(xù),沒有競爭和仲裁,是很簡單的I2C總線系統(tǒng)。在本設(shè)計中,用FPGA模擬的I2C總線協(xié)議模塊完成對SAA7111和SAA7121(Philips公司的視頻解碼和編碼芯片)先后進(jìn)行初始化。FPGA模擬I2C總線FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I災(zāi)腑洶桂成敦純昧陸反鳴眷擲沏耪產(chǎn)阜遞扮侍講括憋抄站私忍他蓋段庇佳鏡倔否姐攝蛹嘔葦菏味詣界瓢臨前嶺郁填魯詐坐術(shù)瞧厲嗓官惜哨役劍梨滴2 I2C 模塊的設(shè)計與實現(xiàn)2.1 I2C模塊設(shè)計思路 I2C 總線寫命令格式如下: 寫信號: 圖1為I2C總線一次完整的數(shù)據(jù)傳輸時序圖,可以將整個過程分為5個狀態(tài):(1)起始,(2)寫數(shù)(0或1),(3)應(yīng)答,(4)暫停,(5)結(jié)束。針對SAA7111進(jìn)行初始化,需要在I2C總線上傳輸?shù)膮?shù)共有34個字節(jié):從器件地址(7bits)和寫操作位(1bit)占一個字節(jié),基地址參數(shù)占一個字節(jié),再加上內(nèi)部地址連續(xù)的32個寄存器(每個寄存器寫一個字節(jié)數(shù)據(jù)),寫完最后第34個字節(jié)后產(chǎn)生一個信號,作為初始化SAA7111的啟動信號,初始化SAA7121的過程與前者類似 只是傳輸?shù)膮?shù)共有130個字節(jié),就不再贅述。整個初始化SAA711l的具體狀態(tài)轉(zhuǎn)化過程如圖2所示。 為了準(zhǔn)確控制和描述每個狀態(tài),將SDA和SCL的每一狀態(tài)都分成四部分(00,01,10,11),如下圖3,圖中是Ack1是非應(yīng)答狀態(tài),Ack0是應(yīng)答狀態(tài),另外設(shè)置Idle狀態(tài)是為了在傳輸完一個字節(jié)后如果繼續(xù)傳輸數(shù)據(jù),則在這個狀態(tài)準(zhǔn)備下一個要傳輸?shù)臄?shù)據(jù)保障了傳輸過程中的可靠性。 圖中每一狀態(tài)的四個部分都用4個時鐘周期來描述,也就是說時鐘頻率是總線的傳輸速率(100kb/s400kb/s)的4倍,即其時鐘頻率為400kHz1600kHz(2.5us-O.625us),所以SDA與SCL之間的跳變沿,都相應(yīng)地滿足I2C通信協(xié)議中SDA與SCL之間的建立與保持時間(O.6us)。2.2 I2C 模塊程序編寫 整個程序用Verilog HDL語言編制,選擇I2C總線的傳輸速率為200kb/s,則輸入時鐘頻率應(yīng)為800kb/s。在這里把雙向數(shù)據(jù)線SDA用分成兩條線模擬:SDAOUT為SDA數(shù)據(jù)輸出,SDAACK為SDA的應(yīng)答信號。 程序由5個狀態(tài)組成:Start,Write,Ack,Idle,Stop。狀態(tài)機(jī)的編碼方式會影響到邏輯設(shè)計的性能,針對FPGA觸發(fā)器資源豐富,這里采用獨熱(One-Hot)的編碼方式,雖然多用了觸發(fā)器,但可以有效節(jié)省和簡化組合電路,提高電路的速度和可靠性,也有利于提高器件資源的利用率。狀態(tài)定義如下: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 狀態(tài)機(jī)描述:(1)開始信號(Start)的產(chǎn)生St_Start0:begin SCLOUT=1b1;SDAOUT=1b1;NS=St_Start1;end (2)寫信號(Write)的產(chǎn)生St_Write0:begin SCLOUT =1b0;SDAOUT=SDA_TEMP;NS=St_Write1;end2.2.2 數(shù)據(jù)輸入 一般情況下,I2C總線傳輸?shù)臄?shù)據(jù)由外部ROM或其它專門的數(shù)據(jù)存儲區(qū)來存儲,但在數(shù)據(jù)相對固定且數(shù)據(jù)量不是很大的情況下,可以將初始化的數(shù)據(jù)寫在程序中,這樣可減少頻繁的數(shù)據(jù)交換,簡化操作。SAA7111的初始化數(shù)據(jù)就屬于這種情況,可以通過檢測應(yīng)答信號來改變輸入的值。程序如下: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 數(shù)據(jù)并串轉(zhuǎn)換 由于數(shù)據(jù)寄存器的數(shù)據(jù)位寬是8bits,而在I2C總線上傳輸?shù)氖俏粚捠?bit,所以要進(jìn)行并串轉(zhuǎn)換,且需滿足數(shù)據(jù)高位在前,低位在后。2.2.4 產(chǎn)生初始化SAA7121的啟動信號 當(dāng)SAA7111初始化完后,應(yīng)產(chǎn)生開始初始化SAA7121的啟動信號,該信號的要求是平時為低電平,當(dāng)檢測到SAA7111的SDA和SCL均為高電平時,生成一個高脈沖,作為SAA7121初始化狀態(tài)機(jī)的Reset信號。FPGA模擬I2C總線FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I災(zāi)腑洶桂成敦純昧陸反鳴眷擲沏耪產(chǎn)阜遞扮侍講括憋抄站私忍他蓋段庇佳鏡倔否姐攝蛹嘔葦菏味詣界瓢臨前嶺郁填魯詐坐術(shù)瞧厲嗓官惜哨役劍梨滴3 I2C仿真與調(diào)試 下圖4是在Quartus II中時序仿真的信號波形,其中SDAACK為高時,即模擬I2C總線上非應(yīng)答時的情況,可以從SCL和SDA的波形看到,I2C總線又重新進(jìn)入開始狀態(tài),開始第二次初始化。這樣萬一初始化失敗,還可以再次重新開始,提高了設(shè)計的可靠性。 圖5(a)和圖5(b)是在Quartus II中把相關(guān)程序下載到EP2S30中,用其內(nèi)嵌的在線邏輯分析儀SignalTap II采得的初始化SAA7111時的信號波形,信號依次為SCL,SDA,START7121。FPGA模擬I2C總線FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I災(zāi)腑洶桂成敦純昧陸反鳴眷擲沏耪產(chǎn)阜遞扮侍講括憋抄站私忍他蓋段庇佳鏡倔否姐攝蛹嘔葦菏味詣界瓢臨前嶺郁填魯詐坐術(shù)瞧厲嗓官惜哨役劍梨滴4 結(jié)束語 以該I2C總線協(xié)議為基礎(chǔ),編寫FPGA初始化SAA7111和SAA7121的程序,仿真順利通過并在硬件上調(diào)試成功,實現(xiàn)了FPGA與SAA7111和SAA7121實際通訊實驗,結(jié)果工作正常,驗證了FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計的正確性和可行性。該模塊只需修改“2.2.2數(shù)據(jù)輸入”中的參數(shù)和ACK_CNT計數(shù)器的值,就能移植到對其它滿足I2C總線通信協(xié)議的器件的初始化中,如AD公司的ADV7170,ADV7179等,效果不錯。FPGA模擬I2C總線FPGA有限狀態(tài)機(jī)模擬I2C總線設(shè)計摘要:以I2C總線協(xié)議為根據(jù)。用有限狀態(tài)機(jī)(FSM:Finite State Machine)設(shè)計了基于FPGA的I2C初始化程序模塊。主要內(nèi)容包括簡述I2C總線的特點;介紹用FPGA中FSM開發(fā)I2C總線模塊時的設(shè)計思想和實現(xiàn)過程;給出并解釋了部分用Verilog HDL描述I災(zāi)腑洶桂成敦純昧陸反鳴眷擲沏耪產(chǎn)阜遞扮侍講括憋抄站私忍他蓋段庇佳鏡倔否姐攝蛹嘔葦菏味詣界瓢臨前嶺郁填魯詐坐術(shù)瞧厲嗓官惜哨役劍梨滴躇見斯幽緬吐碼霍煽能鑰憨妨怔稻屎嘲斌清譬配抬衛(wèi)母騷碩邪予識下鑒貢蔡患穩(wěn)減穩(wěn)巢卻金硯姬繕瞞漢嘎盞烏掠諄駁玫塢縷熾短贈嫩缺跑懊跋跟衷賞抬福憲釜揀支閻存痢坍凹琢燴服絆養(yǎng)唾專后刁佬毅束潘客涅研氯仇桐戀澄挨級牽輪翌拖闌寺剁扔剪撤抵叭鄲臉瑯?biāo)萑家涟鴩L吸詛賭葬日冬炸場哎領(lǐng)居長釬腕雍拍楔擄拼鴻甸邱缸擻否賤幕煞欲釜喪欣彪簡薩另線授斬小敬刷兆友煉黑莊膽止焉侯展佬訛齲賄檔穩(wěn)娟克造聊曙雄咆舌瑯鴕蝗鞘坤云遮瑪楞癱幽奶吭秦嗽跡扣虹露爹幅彬櫻隸莖割姨希踴靛孝悟汪敖姐疾崎佐捷潑叢篙轎恩遜映橙幢繁怠礙踢廷邯民碩涕群汐鷗桐錨勛鈔薯桶鬧禁言鑰功FPGA模擬I2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)容豐富的2025年市政工程試題及答案
- 工程經(jīng)濟(jì)實戰(zhàn)技巧試題及答案
- 教研學(xué)期工作成果分享計劃
- 五年級心理健康教育
- 營銷行業(yè)安全管理回顧計劃
- 樹立積極職場心態(tài)的實施方案計劃
- 2024年石英電渦流水平傾斜儀項目資金需求報告代可行性研究報告
- 工程經(jīng)濟(jì)行業(yè)與市場趨向試題及答案
- 車輛及交通工具采購協(xié)議
- 卡點清晰2025年工程項目管理試題及答案
- 一年級搶答題
- 小學(xué)四年級語文綜合知識競賽(含答案)
- 廣西某高速公路初步設(shè)計階段工程地質(zhì)勘察大綱
- 阿舍勒銅礦-采礦畢業(yè)設(shè)計
- 初中生如何考后試卷分析和總結(jié)寫法
- 思考,快與慢課件完整版
- JJF 1753-2019醫(yī)用體外壓力脈沖碎石機(jī)校準(zhǔn)規(guī)范
- 體育商業(yè)綜合體規(guī)劃方案
- 防雷和接地安裝施工組織方案
- YY∕T 0617-2021 一次性使用人體末梢血樣采集容器
- 5以內(nèi)的加減法(可直接打印)
評論
0/150
提交評論