→ Schottky: 速度多快? 先叫 master 放慢速度看看 05/12 21:08
推 cpyi: 不是直接接嗎? 還是你有要從那邊接其他裝置或燒錄 05/12 21:09
→ bat205: 好,我嘗試放慢看看 05/12 21:27
→ bat205: 沒有 是一對一的裝置 05/12 21:27
→ tonybin: 22 ohm通常只是serial terminal R 不影響I2C通訊 05/12 21:50
→ tonybin: 準備另一個slave device試試看MCU driver對不對 05/12 21:50
推 wait: 單純的算3.3v/22=150mA,master or device的nmos要拉這麼大? 05/12 22:14
→ wait: 即使拉的動 搞不好NMOS開關瞬間會下上抖到double trigger 05/12 22:15
→ Schottky: 呃,這邊的 22 Ohm 不是上拉電阻啦,上拉大概需要 10K 05/12 22:16
→ narcissusli: 斷開掛示波器或LA看,搞不好是模組設定錯誤. 05/12 22:49
推 ptta: 這個值要計算的,請 Google 05/12 23:04
→ narcissusli: 上拉電阻值挺妙的,飛利浦I2C文件有提到. 05/12 23:06
推 yudofu: 上拉電阻值是多少? 05/12 23:59
→ Schottky: 反正上拉電阻不會是 22 Ohm,不然我會砸了電腦... 05/13 00:13
→ katzlee: 22拿掉試試,通常加大應該更難拉 05/13 00:40
→ katzlee: 再來就是先確定你的I2C真的有work吧,至少master自己要能 05/13 00:42
→ katzlee: 拉low 05/13 00:42
→ bat205: 上拉電阻值10k 05/13 08:37
推 yudofu: 你的io電壓是3.3嗎? 05/13 09:12
→ bat205: Mcu 是3.3 模組IC是5V.中間有voltage level shifter IC 05/13 13:17
→ Schottky: I2C 的 SDATA 要求要 open drain 驅動, 05/13 17:59
→ Schottky: 你的 level shifter 驅動 I2C bus 是 open drain 嗎? 05/13 18:00
→ bat205: 是的,型號是TXB0102,內建上拉電阻10Kohm 05/13 22:04
推 yudofu: 把22ohm斷開的話host自己會動嗎? 05/13 22:48
→ Schottky: 不知道我有沒有誤會,我覺得問題就出在 level shifter 05/13 22:54
→ Schottky: 它的驅動能力太小,沒辦法對抗 10K 電阻把 bus 向下拉 05/13 22:57
→ Schottky: 等等,可是這樣 master 也該要有能力送出訊號才對啊 05/13 22:57
→ bat205: 我試試看看MASTER能不能單獨打出SDA的訊號(不接shifter) 05/13 23:05
推 HiJimmy: 上次也是這個卡關 最後放棄 在沒接Slave時,準位都正常 05/14 00:23
→ HiJimmy: 示波器看起來時序也對,但是,一接上去IC整個時序都會跑 05/14 00:24
→ HiJimmy: 最後放棄.... 網路上有轉接IC可以試試 05/14 00:25
推 beggerchou: level shifter 5V那邊有沒有加上拉電阻? 05/14 00:33
推 yudofu: pull low 10k只要0.3mA怎麼可能拉不動,只是你說內建10k在 05/14 06:52
→ yudofu: datasheet的哪裡?應該是兩邊都要各自上拉吧。 05/14 06:53
推 yudofu: 這個voltage translator是圖騰式的輸入,兩邊還是要上拉。 05/14 07:42
→ yudofu: 你要按照data sheet 外掛電阻或者改專用的TCA9617B 05/14 07:44
→ bat205: Sorry,型號是TXS0102,內建PULL-HI 電阻10K 05/14 23:58