|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
NAND FLASH忽悠記 |
| 作者:ziranren 欄目:單片機(jī) |
21IC上剛剛出了個(gè)I2C總線忽悠記,偶最近在調(diào)SUMSUNG的NAND FLASH,也被忽悠了一下,發(fā)出來免得大家接著被忽悠了。我調(diào)的是K9F5608(32MB),MCU為STC89C516RD+。 忽悠一:讀器件忙。在對(duì)FLASH的很多操作中都要對(duì)器件狀態(tài)進(jìn)行判斷,最硬件設(shè)計(jì)時(shí)為了節(jié)約I/O口,偶把R/B信號(hào)腳沒有連MCU,通過讀FLASH狀態(tài)字來判斷忙。這種方法,在復(fù)位等操作后是可以的,但是在READ1等操作中就不行了,在發(fā)送完讀地址后再讀忙,內(nèi)部寄存器內(nèi)的數(shù)據(jù)就變?yōu)闋顟B(tài)字了,所以不管你如何讀,都只能讀到C0H。回頭再細(xì)看時(shí)序圖,判斷忙確實(shí)是對(duì)R/B引腳的判斷。 忽悠二:寫數(shù)據(jù)前一定要明確被寫單元為FFH,和EEPROM不一樣,對(duì)K9F5608的寫只能將為1的位寫為0,如果在你寫之前該單元不為FFH,你寫入的數(shù)據(jù)將會(huì)錯(cuò)誤。 忽悠三:塊擦除。DATASHEET上的介紹是K9F5608的BLOCK數(shù)目為2408,且每次擦除32個(gè)PAGE,比較容易讓人誤解為使用2048個(gè)連續(xù)地址就能完成對(duì)整個(gè)IC的擦除,但是在時(shí)序圖上擦除時(shí)輸入的地址卻是16位的,測試的結(jié)果時(shí),每次擦除以16位地址為開始PAGE的32個(gè)PAGE,如果你擦除“0”,擦除的是0-31PAGE,擦除“1”,擦除的是1-32PAGE。 還有誰被忽悠過,也出來嘮嘮。 |
| 2樓: | >>參與討論 |
| 作者: 平常人 于 2006/7/13 17:39:00 發(fā)布:
非常同情你被忽悠了一把 我沒有碰到你的這些問題: 1)我始終是在R/B就緒后才讀狀態(tài)字判斷操作是否正確 2)FLASH中肯定不能把0變?yōu)?,這應(yīng)該是基本常識(shí)。 3)塊的概念就是 1 Block = 32Page (512B+16B/Page) 或 1 Block = 64Page (2048B+64B/Page),所以擦除一塊意味著擦除這塊對(duì)應(yīng)的32頁或64頁。因此,擦除的地址必須是塊的地址。 |
|
| 3樓: | >>參與討論 |
| 作者: jxb163 于 2006/7/13 19:32:00 發(fā)布:
呵呵,LZ幽默 |
|
| 4樓: | >>參與討論 |
| 作者: makesoft 于 2006/7/13 20:18:00 發(fā)布:
我關(guān)心K9F5608(32MB)是什么價(jià)格能買的到? 貨源好嗎? |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |