无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

FPGA的I2C協(xié)議實(shí)現(xiàn)(FPGA學(xué)習(xí)筆記)

2023-03-25 20:01 作者:莫奈印象中的睡蓮  | 我要投稿

參考資料:正點(diǎn)原子E2PROM讀寫測(cè)試

I2C總線結(jié)構(gòu)
I2C單次寫

SCL為高電平時(shí),SDA產(chǎn)生下降沿表示I2C傳輸開(kāi)始,在傳輸完7位器件地址及一位寫命令(0)后,主機(jī)釋放SDA總線,從機(jī)拉低SDA應(yīng)答。對(duì)于16位器件存儲(chǔ)字地址而言,需要分兩次8位器件存儲(chǔ)字地址傳輸,等待從機(jī)應(yīng)答后再傳輸8位數(shù)據(jù),最后SDA在SCL為高電平時(shí)產(chǎn)生上升沿表示一次I2C單次傳輸結(jié)束。

I2C隨機(jī)讀

I2C隨機(jī)讀操作與前面?zhèn)鬏斊骷刂泛蛡鬏?6位器件存儲(chǔ)字地址相同,在傳輸完器件存儲(chǔ)字地址后SDA會(huì)在次在SCL為高電平時(shí)產(chǎn)生下降沿(既起始信號(hào))和再次傳輸器件地址,只不過(guò)這次7位器件地址后面是讀命令(1),這種操作稱為虛寫,主要是為了使從機(jī)內(nèi)部指針指向需要讀取得存儲(chǔ)單元地址。

I2C驅(qū)動(dòng)模塊狀態(tài)機(jī)

I2C驅(qū)動(dòng)時(shí)鐘頻率為scl頻率的4倍(便于SDA實(shí)現(xiàn)在SCL低電平中間(此時(shí)為dri_clk上升沿)改變數(shù)據(jù),并在SCL為高電平時(shí)保持?jǐn)?shù)據(jù)),dri_clk由輸入的50MHZ晶振分頻得到1000KHZ。初始狀態(tài)SCL與SDA保持高電平,當(dāng)收到外部I2C觸發(fā)信號(hào)i2c_exec高電平時(shí),SCL拉低啟動(dòng)I2C,接著后面狀態(tài)轉(zhuǎn)移分為8個(gè)部分。

8個(gè)狀態(tài)
I2C驅(qū)動(dòng)模塊

由于SDA為雙向接口,所以要避免同時(shí)作為輸入與輸出

三態(tài)門解決sda雙向傳輸問(wèn)題

當(dāng)i2c_exec拉高時(shí),外部傳入I2C的控制信號(hào)通過(guò)寄存器臨時(shí)保存

寄存外部數(shù)據(jù)

后面由三段式狀態(tài)機(jī)實(shí)現(xiàn)I2C的狀態(tài)轉(zhuǎn)移

第一段時(shí)序電路描述狀態(tài)轉(zhuǎn)移

第二段邏輯電路描述狀態(tài)轉(zhuǎn)移條件

第三段時(shí)序電路描述狀態(tài)輸入與輸出

I2C寫操作

寫入7位器件地址及寫命令

寫入16位字地址的高8位
向從機(jī)寫入8位數(shù)據(jù)10101010

I2C讀操作

重新寫入器件地址及讀命令

讀取8位數(shù)據(jù)10101010


FPGA的I2C協(xié)議實(shí)現(xiàn)(FPGA學(xué)習(xí)筆記)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
芜湖市| 青铜峡市| 连江县| 南雄市| 丰城市| 绥阳县| 永寿县| 新巴尔虎右旗| 布尔津县| 乌拉特前旗| 广宁县| 福州市| 威远县| 会泽县| 海口市| 荔波县| 昌宁县| 延川县| 彰武县| 杭锦旗| 塔河县| 葫芦岛市| 海伦市| 泰来县| 淮滨县| 阳新县| 永城市| 绩溪县| 新干县| 黄浦区| 阿拉善左旗| 闽侯县| 济宁市| 吉首市| 云霄县| 大宁县| 曲麻莱县| 中方县| 慈利县| 闸北区| 东阳市|