• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: i2c 10-bit address
#9
資深會員
資深會員


查看用戶資訊
I2C specification

http://www.esacademy.com/faq/i2c/I2C_Bus_specification.pdf

14.2 Formats with 10-bit addresses


10bit address 的第一個byte ,會有一大堆device 回 a1 ,

下一個byte 之後,address match 的 device 才會回 a2


重點在於 什麼是 ack

請參考 Fig.6 Data transfer on the I2C-bus.

所謂的 ack 就是當 master 將 scl 由high 變 low 之後,接收的 device 會將 sda 拉low

之後 master 將 scl 拉high 之後,能夠讀到 low 就表示 有 device 回 ack 了。

那在10 bit 的情況下, master 一樣scl 由high 變 low

這時候有許多 device 將 sda 拉 low ,對 master 而言,一樣是將 scl 拉high,

能夠讀到 sda low 就表示有 ack ,至於有多少人回,不重要,重點是有人回就行了

之後第二個byte 的 address ,就只會有一個 address match 的 device 回ack

其它 address 不一樣的,不會有所回應


所以你的問題不存在。只要時序控制好,master scl 拉 low 夠久 ,

再拉 high ,讓device有足夠的時間將 sda 拉low 即可。





發表於: 2008/7/1 22:42
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: i2c 10-bit address
#8
資深會員
資深會員


查看用戶資訊
這真是非常有趣的問題,以前都沒想過。
看了一下data sheet,有幾點好像和您看到的現象不大一樣:
1、除非slave 的address A9及A8都一樣,否則不會所有slave都產生中斷吧!
2、如果有兩個 slave具有相同的A9及A8,讓它們使用相同的中斷副程式,程式花同樣的時間來更新A7~A0的值,那它們就可以同時釋放SCL線,那問題就小很多吧!

發表於: 2008/7/1 14:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: i2c 10-bit address
#7
中級會員
中級會員


查看用戶資訊
i2c 10BIT 經過這幾天的測試,,,

單1個master和slave,通訊讀寫都OK,,
1個master對2個slave問題就來了,,
每個slave不管位址對不對都會產生中斷,,
所以當master要讀取ACK時就會發生問題,,
位址正確的A-slave還在處理資料,B-slave就已經回ACK,,,
導致master收到錯誤的資料,,,
而且,B-slave不回ACK又會把SCL拉LOW,以致佔住BUS,,,
所以,,,不知道要怎麼用,,,~~~@@@***&&&

救人喔~~

發表於: 2008/7/1 13:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: i2c 10-bit address
#6
中級會員
中級會員


查看用戶資訊
我是工廠設備,有150個 slave,所以address就不夠了,我每個slave device都有加一個buffer,所以通訊上還OK,只是位址不夠用真的很麻煩

有別的方案,有什麼通訊協定,位址是可以多一點的呢?

謝謝!!

發表於: 2008/6/30 9:44
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: i2c 10-bit address
#5
資深會員
資深會員


查看用戶資訊
一、SPEC 9.4.3.1 Addressing 已經說得很明白了,10BIT ADDRESS 要自己換

二、在收到 START BIT / STOP BIT 時會產生中斷

三、
I2C 的速度並不是單方面決定的,是要由 MASTER 和 SLAVE 來共同決定

今天 MASTER 能夠用 1MHZ 而 SLAVE 只有 100KHZ ,那整個BUS 系統必需以最慢的device為主

四、當 SSP module 以 高速操作時,就必需 clear,例如以 2Mhz 讀取 24lc02(如果 24lc02 能這麼快操作的話)

或模擬成支援 400khz 的slave device

五、沒看過有人會想不開去用 10bit address

發表於: 2008/6/30 9:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: i2c 10-bit address
#4
版主
版主


查看用戶資訊
我的天啊 ! 你是怎樣設定 Device Address 的,怎會不夠用呢? I2C 可推不暸那麼多並在一起的元件。有興趣,提供一下你的方案。

發表於: 2008/6/27 19:08
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: i2c 10-bit address
#3
中級會員
中級會員


查看用戶資訊
因為ADDRESS不夠用,

發表於: 2008/6/27 18:08
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: i2c 10-bit address
#2
版主
版主


查看用戶資訊
不知是否孤漏寡聞了,我還沒有見過有使用 10-bit I2C 的例子。
I2C的速度與 7-bit or 10-bit 無關,與 SCK 的速度有關。
Slew rate 控制是要符合 SMBus 用的 (=0) , ㄧ般標準 I2C u要設為 1 (Standard SPeed)
沒有 10-bit 的範例,也沒看過,不知道你為什麼要用 10-bit I2C Address Mode?

發表於: 2008/6/27 17:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


i2c 10-bit address
#1
中級會員
中級會員


查看用戶資訊
使用PIC16F887 i2c 10-bit address master and slave的問題

有幾個地方不了解:
1, 8bit位址,MCU要等位址正確了才會設定SSPIF,再由該slave發出確認,但master發送10bit 2個byte的位址,MCU都會設定SSPIF,是否使用10bit位址,確認訊號要slave自己判斷address

2, SSPCON 的設定有什麼樣的差別??
0111 = I2C Slave mode, 10-bit address

1111 = I2C Slave mode, 10-bit address with Start and Stop bit interrupts enabled

3, 使用10bit I2C bus速度是否不能到達400K

4. SSPSTAT 到底有什麼樣的差異,兩樣都設定沒有什麼差異!?
In I2 C Master or Slave mode:
1 = Slew rate control disabled for standard speed mode (100 kHz and 1 MHz)
0 = Slew rate control enabled for high speed mode (400 kHz)

5, 有無I2C 10BIT master and slave source code,可以提供參考

謝謝大家!

發表於: 2008/6/27 10:36
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------