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


Browsing this Thread:   1 Anonymous Users




« 1 (2) 3 »


Re: 寫入內建的記憶體需要有時間延遲嗎?
#18
高級會員
高級會員


查看用戶資訊
目前出問題的是 4M Hz 的振盪器
使用HS模式----->4M Hz不是應該要選用XT嗎?

版主,
I2C寫完結束都會判斷是否有NACK,且都會Delay 10ms,
還是一樣,所以我才會寫兩次,中間Delay 0.5ms,才解決這問題!
我在想會不會是提升電阻的問題(提升時間不匹配的問題)?
至於SMbus就更慘,讀/寫都要兩次!
這兩種通訊的提升電阻都有依其特性做不同的搭配,但還是會這樣!
不管我是用TI或O2的IC通訊都有這情形!

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


Re: 寫入內建的記憶體需要有時間延遲嗎?
#17
版主
版主


查看用戶資訊
參照:

MARKWANG 寫道:
我讀/寫內部eeprom沒遇到這問題,都是一次就ok!
倒是用外部eeprom會遇到跟jubel一樣的問題(i2c/smbus)!
我也是用連寫兩次解決這問題!
不知其他人是否有好的解決方式?


I2C 有一個很重要的訊號叫 ACK/NACK,I2C 程式要寫的好這個訊號依定咬檢查。很多人寫 I2C 程式時,每寫入一筆資料到 EEPROM 時下一筆的資料寫入 Command 時就必須檢查 ACK 訊號已判定EEPROM 是否還在 Busy 的寫入狀態中,因為 I2C EEPROM 寫入資料需數個 mS 的時間,若程式用 Delay 的方式設計要是 Delay 的時間沒控制好有時候就會寫不進去。

發表於: 2009/1/7 15:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 寫入內建的記憶體需要有時間延遲嗎?
#16
資深會員
資深會員


查看用戶資訊
目前出問題的是 4M Hz 的振盪器
使用HS模式
也有使用內部振盪器4M的
還有使用5.5296MHz的
只不過我是偵測EEIF旗標
所以應該跟振盪器無關

發表於: 2009/1/7 14:46
木亟缶夬金戔
彳艮缶夬金戔
走召缶夬金戔
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 寫入內建的記憶體需要有時間延遲嗎?
#15
資深會員
資深會員


查看用戶資訊
jubel大
可以請教你MCU使用的工作頻率是多少嗎?
只是好奇問問.

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


Re: 寫入內建的記憶體需要有時間延遲嗎?
#14
高級會員
高級會員


查看用戶資訊
我讀/寫內部eeprom沒遇到這問題,都是一次就ok!
倒是用外部eeprom會遇到跟jubel一樣的問題(i2c/smbus)!
我也是用連寫兩次解決這問題!
不知其他人是否有好的解決方式?

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


Re: 寫入內建的記憶體需要有時間延遲嗎?
#13
資深會員
資深會員


查看用戶資訊
都有關掉
程式碼及順序都跟規格書一樣
也就是我第一篇寫的
剛剛說我打算寫入後再確認
結果同事問
為何還要寫入第二次
為何程序對但第一次寫不去
要我把原因找出來...
真是麻煩...

我沒開啟看門狗
我也試過BSF EECON1,WR後加上NOP 及CLRWDT
但還是一樣有時會有寫入失敗的狀況
剛剛用SIM模擬都正常
但實際用ICD2除錯模式就會偶而發生寫入錯誤
要再寫入一次才正常

雖然說應該要找出正確原因
但總覺得為了這問題浪費好幾天時間實在不值得
因為這不是每個位址每次都會發生
加個讀取判斷就可以確認寫入正確數值
何必這麼鑽牛角尖...

發表於: 2009/1/7 13:43

Edited by jubel on 2009年01月07日 14:05:32
木亟缶夬金戔
彳艮缶夬金戔
走召缶夬金戔
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 寫入內建的記憶體需要有時間延遲嗎?
#12
版主
版主


查看用戶資訊
檢查一下在做寫入動作時是否有將中斷關掉,寫入 EEPROM 的動作最耗不要被中斷干擾,尤其是在解鎖動作時。

可以的話,要不要先用範例程式先做一下測試 (先用 MPALB SIM) 看看每次所寫的資料都正確,如沒問題再用 ICD2 來連續測試看看範例程式有沒有會寫錯的問題。我之前得測試依職都很正常,附上C 的程式參考。

Attach file:


Link only for registered users

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


Re: 寫入內建的記憶體需要有時間延遲嗎?
#11
資深會員
資深會員


查看用戶資訊
先前我也有遇過類似的問題,連續寫入一串資料會出現0xFF,但是在加入CLRWDT後就正常了,其實就是寫入EEPROM一半時被Reset了。
Jubel,有試過嗎?確定一下不是WDT溢位的問題。

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


Re: 寫入內建的記憶體需要有時間延遲嗎?
#10
資深會員
資深會員


查看用戶資訊

花那麼久就因為明明程式碼沒問題但資料卻寫不進去
一直反覆測試及換IC找原因
也到處找範例程式看我是否有漏掉什麼

我剛剛去看板主提供的那個程式碼
跟我上面寫的都一樣
有時可以寫入有時無法寫入
當寫入錯誤時EEPROM裡的值都會變成 FF

目前決定寫入後立刻讀取測試數值是否正確
反正讀取內部記憶體只有幾個指令就好
不會佔用太多時間
如果數值錯誤就再寫入一次
若連續錯誤則發出錯誤警告給使用者

早上試了幾個位址
大多是錯誤一次,再寫一次就好了
如果連續10次寫入錯誤,那應該可確定記憶體損壞吧
目前也只能這樣了
不然我也不知道怎樣分析為何會寫入錯誤...

發表於: 2009/1/7 13:12
木亟缶夬金戔
彳艮缶夬金戔
走召缶夬金戔
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 寫入內建的記憶體需要有時間延遲嗎?
#9
版主
版主


查看用戶資訊
Jubel,

怎麼會花這麼久的時間呢!

網站裡就有 PIC18F452 Internal EEPROM 的範例可以參考,有問題暫討論吧!

http://www.microchip.com.tw/modules/w ... lefile.php?cid=17&lid=265

還有一點要說明的是 : 使用 ICD2 在操作 EEPROM 時,MPLAB IDE 並不會即時更新 EEPROM Window 的,所以要在寫完EEPROM 後自己手動更新,可以在 EEPROM Window 按老鼠右鍵做 Refresh 的動作。
當然最簡單的方式就是使用 MPLAB SIM 來模擬 EEPROM 的寫入動作最簡單。

Good Luck!

發表於: 2009/1/7 12:05
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... ]

教育訓練中心

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