• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   4 Anonymous Users






Re: I2C Multi-Master Mode
#7
資深會員
資深會員


查看用戶資訊
參照:

Ryang 寫到:
1. I2C bus 衝突是可以解決的,你必須加入 I2C Bus Collision 的仲裁機制,因為以你目前使用的方式屬於 Multi-Master I2C 模式。
有關此一程式 Microchip 已經有提供一軟體範例參考 : AN554 & AN578

2. 要使用 PIC 的 I/O 腳做為 Open Drain 功能可以這樣做:
以 RB0 為例 : Reset 後RB0為輸入模式,這時將"0"寫到RB0上,利用 TRIS RB0 的方式,設為輸出時就宋出 Low 電位,RB0設為輸入時,RB0就輸出高阻抗透過外界的提升電組而成為 Hi 電位,這樣就不會去干擾別人。

所以你只要改變 SCL & SDA 腳的控制方式就可以了,不需換 PIC。


就如同板主所說,

你可以開機時,先判斷DSP是否已讀取完EEPROM,之後你再對EEPROM動作,就可以避開衝突了。

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


Re: I2C Multi-Master Mode
#6
版主
版主


查看用戶資訊
1. I2C bus 衝突是可以解決的,你必須加入 I2C Bus Collision 的仲裁機制,因為以你目前使用的方式屬於 Multi-Master I2C 模式。
有關此一程式 Microchip 已經有提供一軟體範例參考 : AN554 & AN578

2. 要使用 PIC 的 I/O 腳做為 Open Drain 功能可以這樣做:
以 RB0 為例 : Reset 後RB0為輸入模式,這時將"0"寫到RB0上,利用 TRIS RB0 的方式,設為輸出時就宋出 Low 電位,RB0設為輸入時,RB0就輸出高阻抗透過外界的提升電組而成為 Hi 電位,這樣就不會去干擾別人。

所以你只要改變 SCL & SDA 腳的控制方式就可以了,不需換 PIC。

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


Re: I2C Multi-Master Mode
#5
初級會員
初級會員


查看用戶資訊
現在就是苦惱於 DSP 原廠不願提供他的 External MCU 詳細資料
以至於我送電瞬間 DSP I2C 就開始工作了
所以即使我先將 628A SDA SCL initial 也無法阻止 I2C 衝突發生

現在我打算改用 PIC16F689 來試試看了

發表於: 2008/1/9 11:25
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C Multi-Master Mode
#4
資深會員
資深會員


查看用戶資訊
就是因為你PIC16F628A沒有Open Drain所以SDA SCL都Output Hi才影響DSP讀EEPROM
你開機時,把PIC16F628A的SDA SCL都設成Input,等要使用時,先判斷SDA SCL都為Hi的時候,再設Output Hi然後再開始IIC的動作。

發表於: 2008/1/9 10:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C Multi-Master Mode
#3
初級會員
初級會員


查看用戶資訊
工作電壓都是 3.3V
而且已經有一組 I2C 有接 4.7k 電阻 pull hi

另外請問
假如我是用 PIC16F628A 軟體模擬 I2C 的話
因為它的腳位都沒有 Open Drain
那要怎麼辦呢

是否有什麼外掛元件開關之類的可以隔離呢

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


Re: I2C Multi-Master Mode
#2
資深會員
資深會員


查看用戶資訊
請問MCU與DSP工作電壓一樣嗎?皆為5V還是3.3V或是...3V?
所有接SDA、SCL的I/O都要設成Open Drain,然後接約10K電阻Pull Hi,如果MCU與DSP的工作電壓不一樣的話,試著Pull Hi到最高電壓的地方試試。

發表於: 2008/1/9 8:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


I2C Multi-Master Mode
#1
初級會員
初級會員


查看用戶資訊
請問一下
我要寫一顆 MCU 來對 DSP 跟 EEPROM 作通訊
因為 DSP 一開機時就會自行讀取 EEPROM
所以當我 MCU 的 SDA SCL 接上 DSP 時就會造成衝突
以至於我的 DSP 無法正常開機

請問我的 MCU I2C 排線應該要怎麼接才能避免 DSP 開機讀取 EEPROM 出現異常

謝謝

發表於: 2008/1/8 19:00
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... ]

教育訓練中心

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