CoolRunner-Ⅱ器件的OL、SDA、START不口STOP發(fā)生邏輯
發(fā)布時間:2008/9/19 0:00:00 訪問次數(shù):775
在主模式中,此進程產(chǎn)生i2c總線的sol和sda。sol為100 khz,由系統(tǒng)時鐘1.832 mhz及分頻計數(shù)器cnt_100khz決定。在不同的設(shè)計中,系統(tǒng)時鐘可能不一樣。為了滿足i2c時序要求,需要重新計算cnt_100khz值,并正確設(shè)置start_hold和data_hold參數(shù)。
在主模式中,產(chǎn)生sol和sda的狀態(tài)機如圖所示。
在發(fā)送模式中,sda信號線輸出的信號為start及stop狀態(tài),或數(shù)據(jù)寄存器mbdr中的數(shù)據(jù)。
在idle狀態(tài),scl和sda均為三態(tài),允許主設(shè)備控制總線。一旦有start請求,且cpld i2c在主模塊式,總線空閑,則狀態(tài)機會轉(zhuǎn)入start狀態(tài)。
在start狀態(tài),scl為高,sda輸出低電平,產(chǎn)生start。系統(tǒng)時鐘計數(shù)器scl_cnt開始計數(shù),總線保持start狀態(tài)直到start_hold滿足,進入scl_low_edge狀態(tài)。
在scl_low狀態(tài),產(chǎn)生scl下降沿,并復(fù)位clk_cnt。在下一個時鐘沿,系統(tǒng)進入scl_low狀態(tài),并保持此狀態(tài)直到clk_cnt=low_cnt。如果有rep_start發(fā)生則sda變?yōu)楦;如果有g(shù)en_stop,則sda變?yōu)榈汀?br>當clk_cnt=low_cnt,即scl低電平滿足如下兩個條件,狀態(tài)進入idle;否則進入scl_hi_edge。
(1)總線仲裁失敗。
(2)字節(jié)傳輸守華,即bit_cnt>7。
在scl_hi_edge狀態(tài),產(chǎn)生一個scl上升沿。
在scl_hi狀態(tài),系統(tǒng)時釗訓(xùn)數(shù)器進行計數(shù).sda保持高電平直剄clk_cnt=high_cnt,進入scl_low_edge狀態(tài)。如果在此過程中出現(xiàn)start/stop條件,狀態(tài)機將會在sol高電平持續(xù)半周期時進入start或stop wait狀態(tài)。
stop_wait狀態(tài)被用來確保在stop條件之后滿足保持時間。
如圖 scl、sda、start和stop發(fā)生邏輯狀態(tài)機
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
在主模式中,產(chǎn)生sol和sda的狀態(tài)機如圖所示。
在發(fā)送模式中,sda信號線輸出的信號為start及stop狀態(tài),或數(shù)據(jù)寄存器mbdr中的數(shù)據(jù)。
在idle狀態(tài),scl和sda均為三態(tài),允許主設(shè)備控制總線。一旦有start請求,且cpld i2c在主模塊式,總線空閑,則狀態(tài)機會轉(zhuǎn)入start狀態(tài)。
在start狀態(tài),scl為高,sda輸出低電平,產(chǎn)生start。系統(tǒng)時鐘計數(shù)器scl_cnt開始計數(shù),總線保持start狀態(tài)直到start_hold滿足,進入scl_low_edge狀態(tài)。
在scl_low狀態(tài),產(chǎn)生scl下降沿,并復(fù)位clk_cnt。在下一個時鐘沿,系統(tǒng)進入scl_low狀態(tài),并保持此狀態(tài)直到clk_cnt=low_cnt。如果有rep_start發(fā)生則sda變?yōu)楦;如果有g(shù)en_stop,則sda變?yōu)榈汀?br>當clk_cnt=low_cnt,即scl低電平滿足如下兩個條件,狀態(tài)進入idle;否則進入scl_hi_edge。
(1)總線仲裁失敗。
(2)字節(jié)傳輸守華,即bit_cnt>7。
在scl_hi_edge狀態(tài),產(chǎn)生一個scl上升沿。
在scl_hi狀態(tài),系統(tǒng)時釗訓(xùn)數(shù)器進行計數(shù).sda保持高電平直剄clk_cnt=high_cnt,進入scl_low_edge狀態(tài)。如果在此過程中出現(xiàn)start/stop條件,狀態(tài)機將會在sol高電平持續(xù)半周期時進入start或stop wait狀態(tài)。
stop_wait狀態(tài)被用來確保在stop條件之后滿足保持時間。
如圖 scl、sda、start和stop發(fā)生邏輯狀態(tài)機
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
在主模式中,此進程產(chǎn)生i2c總線的sol和sda。sol為100 khz,由系統(tǒng)時鐘1.832 mhz及分頻計數(shù)器cnt_100khz決定。在不同的設(shè)計中,系統(tǒng)時鐘可能不一樣。為了滿足i2c時序要求,需要重新計算cnt_100khz值,并正確設(shè)置start_hold和data_hold參數(shù)。
在主模式中,產(chǎn)生sol和sda的狀態(tài)機如圖所示。
在發(fā)送模式中,sda信號線輸出的信號為start及stop狀態(tài),或數(shù)據(jù)寄存器mbdr中的數(shù)據(jù)。
在idle狀態(tài),scl和sda均為三態(tài),允許主設(shè)備控制總線。一旦有start請求,且cpld i2c在主模塊式,總線空閑,則狀態(tài)機會轉(zhuǎn)入start狀態(tài)。
在start狀態(tài),scl為高,sda輸出低電平,產(chǎn)生start。系統(tǒng)時鐘計數(shù)器scl_cnt開始計數(shù),總線保持start狀態(tài)直到start_hold滿足,進入scl_low_edge狀態(tài)。
在scl_low狀態(tài),產(chǎn)生scl下降沿,并復(fù)位clk_cnt。在下一個時鐘沿,系統(tǒng)進入scl_low狀態(tài),并保持此狀態(tài)直到clk_cnt=low_cnt。如果有rep_start發(fā)生則sda變?yōu)楦;如果有g(shù)en_stop,則sda變?yōu)榈汀?br>當clk_cnt=low_cnt,即scl低電平滿足如下兩個條件,狀態(tài)進入idle;否則進入scl_hi_edge。
(1)總線仲裁失敗。
(2)字節(jié)傳輸守華,即bit_cnt>7。
在scl_hi_edge狀態(tài),產(chǎn)生一個scl上升沿。
在scl_hi狀態(tài),系統(tǒng)時釗訓(xùn)數(shù)器進行計數(shù).sda保持高電平直剄clk_cnt=high_cnt,進入scl_low_edge狀態(tài)。如果在此過程中出現(xiàn)start/stop條件,狀態(tài)機將會在sol高電平持續(xù)半周期時進入start或stop wait狀態(tài)。
stop_wait狀態(tài)被用來確保在stop條件之后滿足保持時間。
如圖 scl、sda、start和stop發(fā)生邏輯狀態(tài)機
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
在主模式中,產(chǎn)生sol和sda的狀態(tài)機如圖所示。
在發(fā)送模式中,sda信號線輸出的信號為start及stop狀態(tài),或數(shù)據(jù)寄存器mbdr中的數(shù)據(jù)。
在idle狀態(tài),scl和sda均為三態(tài),允許主設(shè)備控制總線。一旦有start請求,且cpld i2c在主模塊式,總線空閑,則狀態(tài)機會轉(zhuǎn)入start狀態(tài)。
在start狀態(tài),scl為高,sda輸出低電平,產(chǎn)生start。系統(tǒng)時鐘計數(shù)器scl_cnt開始計數(shù),總線保持start狀態(tài)直到start_hold滿足,進入scl_low_edge狀態(tài)。
在scl_low狀態(tài),產(chǎn)生scl下降沿,并復(fù)位clk_cnt。在下一個時鐘沿,系統(tǒng)進入scl_low狀態(tài),并保持此狀態(tài)直到clk_cnt=low_cnt。如果有rep_start發(fā)生則sda變?yōu)楦;如果有g(shù)en_stop,則sda變?yōu)榈汀?br>當clk_cnt=low_cnt,即scl低電平滿足如下兩個條件,狀態(tài)進入idle;否則進入scl_hi_edge。
(1)總線仲裁失敗。
(2)字節(jié)傳輸守華,即bit_cnt>7。
在scl_hi_edge狀態(tài),產(chǎn)生一個scl上升沿。
在scl_hi狀態(tài),系統(tǒng)時釗訓(xùn)數(shù)器進行計數(shù).sda保持高電平直剄clk_cnt=high_cnt,進入scl_low_edge狀態(tài)。如果在此過程中出現(xiàn)start/stop條件,狀態(tài)機將會在sol高電平持續(xù)半周期時進入start或stop wait狀態(tài)。
stop_wait狀態(tài)被用來確保在stop條件之后滿足保持時間。
如圖 scl、sda、start和stop發(fā)生邏輯狀態(tài)機
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
熱門點擊
- Coo1Runner-Ⅱ器件實現(xiàn)IDE總線接
- Coo1Runner-Ⅱ器件實現(xiàn)雙向多路選擇
- Coo1Runner-Ⅱ器件I2C接口協(xié)議
- CoolRunner-II器件的ISO 78
- Coo1Runner-Ⅱ器件實現(xiàn)SRAM控制
- CoolRunner-Ⅱ器件的OL、SDA、
- CoolRunner-Ⅱ器件的I2C總線仲裁
- CoolRunner-II實現(xiàn)IrDA和UA
- CoolRunner-Ⅱ器件的I2C接口主狀
- CoolRunner-II CPLD設(shè)計
推薦技術(shù)資料
- DS2202型示波器試用
- 說起數(shù)字示波器,普源算是國內(nèi)的老牌子了,F(xiàn)QP8N60... [詳細]
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對位置編碼器技術(shù)參數(shù)設(shè)計
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究