![]() |
發布時間: 2020-12-14 11:58
正文摘要:我也偶偶耍下邏輯分析儀,我是做硬件的,請問這些波形數據抓出來,然后呢?比對數據協議?所以說還是要軟件去分析這些數據更合適些。有沒有更好的方法,指教下 |
QWE4562012 發表于 2020-12-18 15:01 怎么沒人回復 |
zjjhtony 發表于 2020-12-15 20:33 先給設備寫數據,從機準備好,回復ACK;寫的地址是0X0F,寫成功,然后從機回復ACK。 然后主機從從機讀數據,從機準備好,回復ACK;開始讀數據,數據是0X03,讀成功,從機回復NAK 是不是這樣 |
權威人物 發表于 2020-12-16 11:46 從機是如何判斷地址對不對的呢?如果主機寫的地址,在從機寄存器找不到,從機判斷沒有這個地址?這樣判斷? 那數據長度,和數據高低電平時間,從機是如何知道對不對的呢 |
zjjhtony 發表于 2020-12-15 20:33 因為經常能遇到軟件杠精 非要說是硬件的問題 出現問題 所以索性用邏輯分析儀抓到數據 讓軟件心服口服 |
0xA0一般是你器件的地址,是寫,把地址寫進去,ACK是應答,則器件收到你的寫入的東西,給一個ACK應答信號,然后就是讀和寫差不多的,數據交互,你先熟悉下IIC是怎么通信,然后和你元器件是怎么通信,查元器件的手冊,然后有哪些功能對比數據 |
這個邏輯分析儀主要是來讀取I2C(或其他)的總線上的數據,知道數據傳輸的地址,數據,協議等等。 供軟件編程時使用。 |
lovezjf234 發表于 2020-12-15 09:15 就是看時鐘高電平的時候 對過去數據是高還是低,,,是這樣看嗎 |
lovezjf234 發表于 2020-12-15 09:15 我現在用的就是邏輯分析。∏懊骈_始三個數據是啥意思?setup write to 00A0 +ACK 然后 0X00 +ACK 然后 setup read to 00A1+ ACK 最后結束有一個 0X7A +NAK 這些數據如何理解? 還有ACK何NAK是開始和結束的意思? |
TTQ001 發表于 2020-12-15 08:48 特殊軟件?啥意思。這些數據去比對協議是嗎?這么多數據應該不會全部在協議里面體現出來把? |
你可以對比數據,然后按照I2C協議,從start開始往后數8位,前7位是地址,后一位是讀寫位,然后看后面8位數據,如果有9位,最后一位ack位。你把協議搞清楚再看波形,或者用邏輯分析儀直接讀取數據,看分析儀上的數據和你要求的數據是否一致 |
一般來說,分析捕獲數據的最佳方法是使用特殊軟件。 偶爾簡單分析,可以按照通信協議直接解碼捕獲的波形。 |