欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于MCU軟件模擬IIC的時序 求分析 [打印本頁]

作者: MNwcy    時間: 2020-3-22 13:56
標題: 關于MCU軟件模擬IIC的時序 求分析
首先感謝關注
我的問題首先第一個問題就是在軟件模擬IIC的時候時鐘信號的一個問題

上圖是24C02的時序圖,然后根據時序圖我理解的是:一個時鐘周期(T高+T低>8.7us)必須大于8.7us(不算上升沿和下降沿的過渡時間)
但是我在學習資料中看到傳送數據函數的一個時鐘周期,高電平才延遲2us,低電平也是2us,這樣能行么?


上面的SDA_OUT()就是配置數據線為輸出模式,IIC_SCL和IIC_SDA就是I/O口輸出。這里我想不通,希望前輩指教。
最后就是IIC的SCL線上的時鐘周期是不是并不是咱們傳統意義(以固定頻率精準的發送脈沖)上的時鐘周期呀,這個所謂的“時鐘周期”就是指的是一個低電平+高電平,然后呢高低電平會有最小持續時間,但是最大時間不限制,也就是說,在發送數據的時候(數據沒發完)如果時鐘信號不變了,是不是數據發送也就暫停了,這恰好可以解釋“接收器件可以將SCL線拉成低電平,從而使主機處于等待狀態。直到接收器件準備好接收下一個字節時,再釋放SCL線使之為高電平,從而使數據傳送可以繼續進行!边@句話。


作者: wo4fisher    時間: 2020-3-22 13:56
首先是傳輸頻率,表格里邊有兩種,不同的電壓,他們的傳輸頻率最大值是不一樣的,1.8V左右的時候最大不能超過100KHZ,從而也限制了高低電平的最小持續時間。5V左右的時候,最大傳輸頻率也可達到400khz;也就是說在不同大電壓情況下,在保證24C02能正常工作的情況下,還決定了數據傳輸的最高頻率。
你說的8.7us是在某一個電壓區間的值。隨著電壓這個周期值是變化的。
在5V左右的時候,其實理想情況1.8us就夠了。
例程中delay_us(x)函數一般實現延時都不是絕對的xus,而是有多少的變化的。因為一般都用軟件延時,延時并不精確,具體時間可以用示波器或者邏輯分析儀去判斷。
IIC的傳輸時鐘周期,這個時鐘并不是標準的方波,簡單點說是pwm波,不通的編程方式,這個時鐘的波形是稍有差別的。并且多數串行數據通信都是要檢測邊沿信號來進行數據改變和鎖存的。
作者: xuyaqi    時間: 2020-3-22 15:13
首先不能加在一起算,而是分別2.5v供電時 T高>4us,T低>4.7us,4.5-5.5供電時 T高>0.6us,T低>1.2us,這也解答了你別人為什么是2us,因為別人是4.5-5.5供電。
作者: lovexulu    時間: 2020-3-22 17:03
告訴你個小技巧,在proteus里面建個mcu然后加載HEX文件,用仿真示波器觀察i2c數據線上的波形判斷是否正常。
作者: MNwcy    時間: 2020-3-22 19:39
xuyaqi 發表于 2020-3-22 15:13
首先不能加在一起算,而是分別2.5v供電時 T高>4us,T低>4.7us,4.5-5.5供電時 T高>0.6us,T低>1.2us,這也 ...

但這是3.3V的電壓該怎么算呢?
作者: MNwcy    時間: 2020-3-22 19:47
xuyaqi 發表于 2020-3-22 15:13
首先不能加在一起算,而是分別2.5v供電時 T高>4us,T低>4.7us,4.5-5.5供電時 T高>0.6us,T低>1.2us,這也 ...

弄懂了,謝謝
作者: MNwcy    時間: 2020-3-22 19:52
wo4fisher 發表于 2020-3-22 13:56
首先是傳輸頻率,表格里邊有兩種,不同的電壓,他們的傳輸頻率最大值是不一樣的,1.8V左右的時候最大不能超 ...

感謝回答




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1