|
基本資料
Question 1
HT24LC系列 & HT93LC系列Serial EEPROM的差異為何?Answer
| Feature |
2-Wire (HT24LCxx) |
3-Wire (HT93LCxx) |
| Interface |
Serial data I/O, Clock |
Data in, Data out, Clock, CS |
| Clock Rate (max) |
400K |
2M |
| Page Write |
Yes |
No |
| Memory Organization |
X8 bit |
X8 bit or x16 bit |
| Write to All mode |
No |
Yes |
| Specific features |
Hardware write protect WP pin |
Software write protect EWDS instruction |
Question 2
HT93LC系列的EEPROM封裝分A、B兩種,請問它們有何異同?MCU對它們進行讀寫操作時需要注意些什麼?Answer
它們之間只是引腳位置不同,MCU對其讀寫時軟體完全一樣。
應用說明
Question 1
如何去Reset一個HT93LCXX IC?Answer
重新Toggle CS pin Low 即可 Reset HT93LCXX。
Question 2
我嘗試在我的電路中使用一顆HT93LCXX IC,看起來Read動作還算正確,但是一直無法正確執行寫入資料的動作,請問是什麼問題?Answer
這類的問題通常是由於在CS信號線轉為Low前,未依照指令結構提供正確的位元數,或CS信號線根本沒有變成Low。資料寫入的動作在CS信號線轉為Low後才會動作。
Question 3
當我在對一顆HT93LCXX元件執行Write Command時,如果我在CS信號線變為Low之前,不小心給了太多或太少的Clocks,結果會如何?
Answer
一個完整的Write Command,是在CS信號線由High轉為Low後才真正進入Write Cycle。如果你送了太多的Clock,這個寫入指令仍會執行,但多餘的Clock會被忽略;如果你送的Clock不夠,那麼這個寫入指令無效,不會發生任何的寫入動作。
Question 4
當我在使用一個HT93LCXX元件時,我是否必需在每一個指令中間執行Toggle CS pin Low的動作?Answer
是的,你必須在每一個指令中間執行Toggle CS pin Low 的動作,而CS脈衝至少要有250ns寬。如果你正在執行Write Command,你必須Toggle CS pin Low已啟動Write Cycle;當完成寫入動作且你已偵測到一個Ready信號後,在你送出下一個Start Bit之前,你必須再Toggle CS pin Low。
Question 5
對HT93系列操作時,在兩個不同的命令碼發送之間,一定要將CS引腳拉低嗎?
Answer
是的。而且在兩個命令碼之間CS拉低時間至少要保持250ns,如果工作電壓在2.2V時候,CS的拉低時間至少要保持1000ns。要注意的是,如果此時你進行寫操作,當你所要寫的數據發送完畢,將CS拉低保持一定時間後拉高CS,在讀到HT93系列給出的ready信號之後,你必須再一次作一次拉低CS的動作,才能給出你要進行的下一條命令碼的START位元,也就是說需要兩次拉低CS引腳。
Question 6
對HT93系列寫操作時,在判斷DO引腳給出的READY信號時,我能否直接使用DELAY的方式來替代?
Answer
一般來説不太建議直接使用DELAY而不去判斷 DO引腳的READY信號。因爲HT93系列操作時,只有在讀到DO引腳給出的READY信號,才真正表明HT93系列的寫操作確實已經成功完成。當然如果一味的等待DO引腳的READY信號可能容易造成程式的死循環,所以當採用此種模式時,建議在判斷DO引腳時候多一個時間旗標的判斷,在判斷DO的READY信號時候如果超過了一定時間,則程式可以認為此次操作失敗。
當然如果客戶一定需要使用DELAY的方式延遲的話,請給夠足夠的延遲時間(HT93系列為5ms),以免造成寫操作失敗。
Question 7
我的HT93 EEPROM的程式爲何只有WRITE和ERASE不行,而其他的操作都是通過的呢?
Answer
對HT93 EEPROM操作時需要注意的是,READ、ERASE和WRITE操作時,在寫完操作碼後的一個CLOCK並不送實際的有效地址,但是DI輸出必須為0,否則此操作會無效,出現其他操作都通過而WRITE和ERASE不行的情況是因爲READ操作碼最後一位為0,使得進入下一個CLOCK時的DI的輸出為0。所以在進行WRITE和ERASE操作時必須注意這點,否則操作就會失敗。
Question 8
什麼往EEPROM中寫數據後重新讀出的數據總出現漏數或錯數?
Answer
是因為沒有正確使用讀寫命令。
寫命令時候需注意,在開片選CS,給出時鐘信號SK,並且在DI發出對應寫指令的命令代碼及地址與資料之後關片選,此時要在大於一個DS Deselect Time之後再開片選,並且觀看DO PIN準位,在出現高準位後重新關片選,這才表明EEPROM寫好數據並且校驗完成,一個完整的寫操作才結束。如果漏了後面的開及重新關片選的過程,後面再寫數據將會出錯;讀命令時候需注意,在開片選CS,給出時鐘信號SK,並且在DI發出對應讀指令的命令代碼及地址後,DO PIN此時將出現一個低準位,這時候需由SK再發出一個上升緣跳變,然後DO PIN才依次傳出有效數據,再由SK給時鐘信號順序讀取。如果漏了上述中的那個上升緣跳變直接把DO PIN的那個低準位起始位作為資料來讀,將會把數據讀錯。
Question 9
往EEPROM中寫數據總是寫不進去是什麼原因?
Answer
EEPROM有數據保護功能,在剛上電後或者在接收了EWDS擦寫禁能指令後,即使向它發送擦寫指令,都將修改不了EEPROM中的數據,
要想實現擦寫其中數據必須先向它發送擦寫致能指令EWEN。EEPROM接收到EWEN指令後,將一直生效,直到斷電或接收到下一個EWDS指令才失效。
另外,在發送指令時,對應EWDS或EWEN的命令位數一定要與規格書中要求相符,所用指令才會生效,否則該指令無效,後面要往EEPROM中寫數據將依然寫不進去。
注意事項
Question 1
要寫入資料到一顆HT93LCXX IC的步驟應該如何?
Answer
HT93LCXX元件在一開始接上電源時,它會直接進入EWDS狀態(Erase/Write Disable),在此種狀態下任何的寫入/抹除指令都是無效的,所以您在執行寫入資料前必須先執行EWEN指令(Erase/Write Enable),以啟動元件於可抹除/寫入狀態,然後再執行Write指令。為了避免誤寫動作發生,建議您在完成寫入動作後,接著送出一個EWDS指令來禁制所有的意外寫入。
Question 2
該使用哪一種燒錄器燒盛群的EEPROM?
Answer
請至盛群網站 www.holtek.com.tw --> 選擇Technical Support a Supporting Tools
--> 選擇『Memory Programming』,此檔案表列出經盛群認證之燒錄器及其相關資訊。
Question 3
若我使用的EEPROM燒錄器機型或版本不在盛群網站上『Memory Programming』的表列中,請問如何得知此燒錄器是否可燒錄盛群EEPROM?Answer
本公司僅針對盛群網站上『Memory Programming』表列的機型及版本予以認證,其他機型及版本請連上該製造商之網頁或電話聯絡該製造商,以詢問相關訊息。
Question 4
如何有效地燒錄EEPROM?
Answer
1. 確認您的機器設備、軟體版本有支援燒錄該型號之元件。
2. 確認機器設備通過自我檢查的項目。
3. 確認腳座是乾淨、沒有氧化的。
4. 不要直接用手去接觸元件,請用IC夾具。
5. 操作員、燒錄器、工作桌永遠要接地。
6. 確認IC與腳座接觸良好。
7. 腳座在使用一段時間後,請記得更新。
|