|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
初學(xué)想請教大家個關(guān)于I2C總線讀寫程序的問題 |
| 作者:xingyuelq 欄目:單片機(jī) |
最近,學(xué)習(xí)使用AT24C02,仔細(xì)研究了I2C總線協(xié)議,學(xué)著看該芯片的用戶手冊,發(fā)現(xiàn)很多問題,我想其讀寫程序關(guān)鍵就是弄清時序,從網(wǎng)上找了個程序,實驗成功了。但有個問題是,我看一些程序或數(shù)據(jù)手冊,發(fā)現(xiàn)時序都有一定的時間要求,例如高電平或低電平需要多長時間即tlow或thigh類似的一些規(guī)定。可我使用stc單片機(jī),而網(wǎng)上程序大多是一般51單片機(jī)時鐘為6MHZ。兩個nop時間上明顯達(dá)不到手冊上的1.6us等等。 可我試驗卻成功地進(jìn)行了芯片讀寫。 結(jié)論是滿足了時鐘信號和讀寫信號的配合關(guān)系,可脈沖寬度上沒有滿足手冊上的大小,也能正常進(jìn)行讀寫。 不知道里面的問題,希望用過的朋友能指點下,時序和脈沖寬度如何考慮。 |
| 2樓: | >>參與討論 |
| 作者: lijay 于 2006/10/25 8:36:00 發(fā)布:
可能你的理解有誤 I2C是串行總線,SDA為數(shù)據(jù)線,SCL為時鐘線 I2C以SDA上的電平在SCL高低電平期間的變化來傳輸數(shù)據(jù) 樓主說得是傳輸速率的問題 |
|
| 3樓: | >>參與討論 |
| 作者: xingyuelq 于 2006/10/25 10:35:00 發(fā)布:
難道只要配合好SDA和SCL的高低電平就行嗎 難道只要配合好SDA和SCL的高低電平就行嗎?而不用考慮高低電平的時間長度(高低電平的保持時間)嗎? 不知是不是這樣? 下面是從網(wǎng)上拷的: I2C器件對SDA和SCL上的高、低電平信號需保持的時間是有規(guī)定的。如:開始信號的高、低電平 要保持多長時間,數(shù)據(jù)信號的高、低電平最低要保持多長時間等。不同的器件對這個時間有不同的規(guī)定。查找 24C02的數(shù)據(jù)手冊,可以知道,它在不同的電壓下對各信號要保持的時間分別在幾百納秒到幾微秒之間. 我甚至在啟動AT24C02時,把時間延時去了調(diào)試也通過了。莫非如樓上所說,我理解有誤。難道SDASCL寬度是與傳輸速度有關(guān)? * - 本貼最后修改時間:2006-10-26 7:09:41 修改者:xingyuelq
|
|
| 4樓: | >>參與討論 |
| 作者: xingyuelq 于 2006/10/26 7:12:00 發(fā)布:
請高手指點亞 另外,上個時序圖是和芯片AC Characteristic(也不知道它的意義?)相對應(yīng)。上圖什么意義呢。程序必須保證其時鐘寬度嗎? |
|
| 5樓: | >>參與討論 |
| 作者: computer00 于 2006/10/26 8:11:00 發(fā)布:
當(dāng)然要考慮時間了。 你最好拿示波器看看你的波形,就知道實際的時間是多少了。 有時,速度快點它也是可以的,因為通常數(shù)據(jù)手冊里給出的是最壞的條件,也就是說保證它能工作的條件。 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |