久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5315|回復: 0
收起左側

SPI接口的FLASH ROM AT45DB161D的驅動方法

[復制鏈接]
ID:95490 發表于 2015-11-12 10:50 | 顯示全部樓層 |閱讀模式
SPI接口的FLASH ROM AT45DB161D的驅動方法
(1)芯片介紹
AT45DB161D是串行接口的閃存芯片,可工作在2.5V~2.7V,可廣泛應用于數據語音、圖像、程序代碼數據存儲中。AT45DB161D支持RapidS串行接口,適用于高速場合。RapidS串行接口是與SPI相兼容的,速度可達到66MHz。它包含有17,301,504個位,被組織為4096個頁,每個頁512或528個字節。除了主存儲器,AT45DB161D還包括兩個SRAM數據緩沖區,每個緩沖區512/528個字節。在主存儲器正在編程時,緩沖區是允許接收數據的,并且支持數據流式寫入。與并行FLASH儲存器不同,它采用RapidS串行接口,從而大大減少了可用引腳數量,同時也提高了系統可靠性,降低了開關噪聲,縮小了封裝體積。可以應用于商業、工業等需要高密度、低引腳數、低電壓與低功耗的應用場合。
AT45DB161D允許簡單的在系統重新編程,而無需輸入高編程電壓。芯片可以采用2.5V~3.6V或2.7V~3.6V單電源供電,進行編程與讀取操作。它可以通過#CS來進行使能,并通過三線接口(SI、SO、SCK)進行數據通信。
(2)引腳配置與封裝
1.芯片封裝圖



2.引腳功能詳述
  
符號
  
名稱與功能
有效電平
類型
#CS
片選:#CS用以選中芯片。當#CS被設置為無效狀態時,芯片則不被選中,并且處于閑置狀態(不是深度睡眠狀態),輸出引腳SO處于高阻態。當芯片未被選中時,從輸入引腳SI輸入的數據將不被接受。
  
#CS引腳上的下降沿將會啟動一個操作,而上跳沿則會結束一個操作。在一個內部操作如芯片內部的編程或擦除周期內,芯片不會進入閑置狀態,直到操作完畢。
LOW
輸入
SCK
串行時鐘:此引腳用來向芯片提供時鐘信號,有來控制數據流的出入。SI引腳上的命令、地址與輸入數據在時鐘SCK的上升沿被寫入,而SO引腳上的輸出數據則在時鐘的下降沿變化。
-
輸入
SI
串行輸入:SI引腳用來向芯片以移位方式寫入數據。SI引腳上的所有數據輸入包括命令與地址。SI上的數據在時鐘的上升沿寫入芯片。
-
輸入
SO
串行輸出:SO引腳用來從芯片以移位方式輸出數據。SI上的數據在時鐘的下降沿變化。
-
輸出
#WP
寫保護:當#WP被設置為有效時芯片的扇區將被保護起來,以防止編程與擦除對數據的破壞。但是扇區保護使能與扇區死鎖命令仍然可以被芯片識別。#WP引腳在內部被拉高,可以懸空。但是仍然建議在外部接到VCC
LOW
輸入
#RESET
復位:#RESET引腳上的低電平會終止正在處理的操作并復位內部狀態機到閑置狀態。#RESET引腳上的低電平會使芯片一直處于復位狀態。當#RESET上轉為高電平后,才能進行正常的操作。
  
芯片內部設置上電復位電路。當此引腳不用時,外部接到高電平。
LOW
輸入
RDY/#BUSY
就緒/忙碌狀態指示:此引腳是漏極開路的輸出引腳。當芯片處于忙狀態時(內部操作過程中)此引腳為低電平,此引腳在正常狀態下為高電平(外部接上拉電阻)。當正在進行編程/擦除操作,比較操作與頁-緩沖區傳送時,被拉低。
  
忙狀態指示FLASH儲存陣列與某一個緩沖區不能被操作,而對另一個緩沖區的讀與寫操作仍然可以進行。
-
輸出
VCC
芯片電源供給
-
電源
GND
地:此引腳應與系統地接在一起。
-
(3)AT45DB161D的功能框圖:
(4)存儲器陣列:
AT45DB161D的儲存器陣列被分為3個級別的粒度,分別為扇區、塊與頁。下面的“存儲器結構圖”對各個級別進行了分析,詳細說明了每個扇區與塊的頁數。所有的編程操作都是針對于頁的。擦除操作可以作用于芯片、扇區、塊或頁。
          扇區結構:
  
(扇區 0A)=8   4096  /4224    字節
  
(扇區 0B)=248 126,976/130,944字節
(扇區 1 )=256 131,072/135,168字節
(扇區 2 )=256 131,072/135,168字節
                 ……
(扇區 14)=256 131,072/135,168字節
(扇區 15)=256 131,072/135,168字節
          塊結構:
  
0
  
扇區0
1

  
  
  
扇區1
2
……
30
31
32
33
……

  
扇區2
62
63
64


65


……


510


511


          頁結構:
  
0
  

  
  
0
1
……
6
7
8

  
  
1
9
……
14
15
16

  
  
  
……
17
18
……
4093
4094
4095
(5)芯片操作:
芯片的操作是通過單片機的指令來完成的。指令列表與指令操作碼在后面的“指令表”中有詳細的說明。一個有效的指令由#CS的下降沿來指示它的開始,隨后是一個有意義的8位操作碼與緩存區或主存儲器的地址。當#CS為低時,由時鐘SCK引腳來控制由SI引腳寫入的操作碼與緩存區或主存儲器的地址。所有的指令、地址與數據在傳輸時都是高位在前的。
528字節模式下,緩沖區中數據的地址由BFA9~BFA0來表示。主存儲器中數據的地址由PA11~PA0與BA9~BA0來表示,PA11~PA0用來表示12位頁地址,BA9~BA0表示10位的頁內字節地址。在512字節模式下,緩沖區中數據地址由BFA8~BFA0來表示。主存儲器中數據的地址由A20~A0來表示,其中A20~A9是12位的頁地址,A8~A0為9位的頁內字節地址。


(6)讀命令
     使用相應的操作碼,數據可以從主存儲器或某一個SRAM緩沖區中讀出。
1.      連續讀(命令碼:E8H):可以達到66MHz
在提供了主存儲器陣列的開始地址后,在時鐘信號的作用下連續讀命令可以從芯片中以數據流方式進行數據讀取,而無需額外的地址信息或控制信號。芯片內部的地址計數器會在每一個時鐘周期后自動自增,因而可以在不用寫入新的地址的情況下繼續讀取下一個字節。要進行一次對頁(528字節)的連續讀操作,操作碼E8H必須要寫入芯片中,隨后是3個字節的地址(22位的頁與字節地址序列)與4個無關字節。開始的12位(PA11~PA0)來用表示將要讀取的數據在主存儲器中的頁地址。后10位(BA9~BA0)用來表示字節在頁中的地址。而要進行一次對頁(512字節)的連續讀時,操作碼E8H同樣也要先寫入到芯片中,隨后是三個字節的地址與4個無關字節。21位序列中前12位(A20~A9)表示要讀的數據在主存儲器的頁地址,后9位(A8~A0)是頁內的字節地址。那些無關字節在讀操作初始化時是必需的。在無關字節后,SCK引腳上的時鐘信號使數據從SO引腳輸出。
在操作寫入地址字節、無關字節與數據讀取的過程中,#CS引腳上要保持低電平。連續讀到達一個頁的結尾時,芯片會從下個頁的開頭繼續讀取,頁間的跨越是沒有延時的。當主存儲器的最后一個位被讀出后,芯片會自動返回到第一頁的開頭繼續讀取。與頁間跨越相同的,從存儲器陣列結尾轉到開頭也是無延時的。
2.      連續讀(命令碼:0BH 高速模式):可以達到66MHz
此命令可以在最高頻率以下的任意時鐘頻率下通過串行接口對主存儲器進行高速讀取。要進行一次連續讀(頁容量為528字節),#CS必須處于有效狀態,然后操作碼0BH必須寫入到芯片中,隨后是3字節地址與一個字節。22位地址序列中的前12位(PA11~PA0)表示將要讀取的數據在主存儲器中的頁地址,后10位(BA9~BA0)表示頁內的字節地址。要進行一次連續讀(頁容量為512字節),同樣地,操作碼OBH也要先寫入芯片中,隨后是3字節地址(A20~A0)與一個字節。在此字節后數據將在SCK引腳上的時鐘信號作用下從SO引腳輸出。
同1中的內容。
3.      連續讀(命令碼:03H 低速模式):可以達到33MHz
大部分與高速模式下的連續讀是相同的。不同的在于3字節地址寫入后無需再寫入一個字節。
4.      主存儲器頁讀(操作碼:D2H)
主存儲器頁讀允許直接從4096個頁中某一個頁中讀取數據,而不影響緩沖區中的數據。其它的內容與1相同。
5.      緩存區讀(操作碼:緩沖區1D4H或D1H 緩沖區2 D6H或D3H)
主存儲陣列中的數據可以放在SRAM數據緩存區內,使用緩存區讀命令允許直接從緩沖區中讀取數據。操作碼的選用要根據時鐘頻率而定。D4H、D6H與D1H、D3H可以分別使用在頻率低于66MHz與33MHz的情況下。要進行一次緩沖區讀(528字節),操作碼必須先寫入芯片,隨后是3字節地址(14個無關位與10位緩沖區地址)。要進行一次緩沖區讀(512字節),操作同樣也要先寫入芯片,隨后是3字節地址(15個無關位與9位緩沖區地址)。在地址字節后,一個無關字節必須要寫入芯片以初始化讀操作。在操作碼、地址字節、無關字節寫入的過程中,#CS引腳必須保持低電平。當到達緩沖區的結尾時,芯片會自動返回到緩沖區的開始。#CS的上跳沿將終止讀操作。
(7)編程與擦除命令
1.  緩沖區寫(操作碼:緩沖區1 84H 緩沖區2 87H)
數據可以通過SI引腳寫入緩沖區1或2中。要將數據寫入緩沖區(528字節),操作碼必須先寫入芯片,隨后是3字節地址(14位無關位與10位緩沖區地址 BFA9~BFA0)。這10位地址表示要寫入的數據的第一個字節的緩沖區地址。李將數據寫入緩沖區(512字節),操作碼同樣也要先寫入芯片,隨后是3字節地址(15個無關位與9位緩沖區地址 BFA8~BFA0)。這9位緩沖區地址表示要寫入的每個字節的地址。在最后一個地址位寫入后,就可以開始向其寫入數據了。如果到達了緩沖區的結尾,則芯片會自動返回到緩沖區的開頭。數據會繼續寫入到緩沖區中,直到#CS引腳上產生上跳沿為止。
2.  緩沖向主存儲器頁編程(帶預擦除操作碼:緩沖區1 83H 緩沖區2 86H)
被寫入到緩沖中的數據可以被編程到主存儲器中。先寫入操作碼,對于頁容量為528字節的情況,隨后是3字節地址(2個無關位,12位頁地址 PA11~PA0 與10個無關位)。而對于容量為512字節的情況,操作碼寫入后,隨后是3字節地址(3個無關位,12位的地址位 A20~A9 與9個無關位)。當#CS引腳的上跳沿時,芯片會先擦除主存儲器中所選中的頁(擦除后都為邏輯1),然后將緩沖區中的數據編程到頁中。擦除與編程操作都是內部進行的,并會在一定時間內完成。在這期間,狀態寄存器與RDY/#BUSY都會指示芯片處于忙狀態。
3.  緩沖區向主存儲器頁編程(無預擦除操作碼:緩沖區1 88H 緩沖區2 89H)
        主存儲器中已經被擦除的頁可以通過此操作由緩沖區向其編程。與有預擦除的操作不同就在于它是無預擦除的。
4.  頁擦除(操作碼:81H)
頁擦除操作可以獨立對主存儲陣列中某一個頁進行擦除,隨后可以對該頁進行緩沖區向主存儲器頁編程(無預擦除)操作。對于頁容量為528字節的情況,先要寫入操作碼,隨后是3字節地址(2個無關位,12位頁地址 PA11~P10 與10個無關位)。對于頁容量512字節的情況,也要先寫入操作碼,隨后是3字節地址(3個無關位,12位頁地址 A20~A9 與9個無關位)。當#CS引腳上產生上跳沿時,芯片會擦除所選中的頁(擦除后都為邏輯1)。擦除操作是內部進行的,并會在一定時間內完成。在這期間,狀態寄存器與RDY/#BUSY都會指示芯片處于忙狀態。
5.       塊擦除(操作碼:50H)
塊擦除操作可以使塊內的8個頁一次全部擦除。這個命令可以用在有大量數據需要寫入的時候,可以避免多次調用寫擦除命令。在頁容量為528字節時,操作碼先要寫入芯片,隨后是3字節地址(2個無關位,9位頁地址 PA11~PA3 ,13個無關位)。要進行一次塊擦除操作(頁容量512字節),也要先寫入操作碼,隨后是3字節地址(3個無關位,9位頁地址 A20~A12與12個無關位)。當#CS上產生上跳沿時,芯片將擦除選中的塊。擦除操作是內部進行的,并會在一定時間內完成。在這期間,狀態寄存器與RDY/#BUSY都會指示芯片處于忙狀態。
塊擦除地址如下表所示:
  
PA11/
  
A20
  
PA10/
  
A19
PA9/
  
A18
PA8/
  
A17
PA7/
  
A16
PA6/
  
A15
PA5/
  
A14
PA4/
  
A13
PA3/
  
A12
PA2/
  
A11
PA1/
  
A10
PA0/
  
A9
BLOCK
0
0
0
0
0
0
0
0
0
X
X
X
0
0
0
0
0
0
0
0
0
1
X
X
X
1
0
0
0
0
0
0
0
1
0
X
X
X
2
0
0
0
0
0
0
0
1
1
X
X
X
3
……
……
……
……
……
……
……
……
……
……
……
……
……
1
1
1
1
1
1
0
0


X
X
X
508
1
1
1
1
1
1
0
1


X
X
X
509
1
1
1
1
1
1
1
0


X
X
X
510
1
1
1
1
1
1
1
1


X
X
X
511


6.       扇區擦除(操作碼:7CH)
扇區擦除命令可以獨立對主存儲器中的某一個扇區進行擦除。一共有16個扇區,每次扇區擦除操作只能對一個扇區進行擦除。頁容量為528字節時,要對扇區0A或扇區0B進行擦除,需要先寫入操作碼,隨后是3字節地址(2個無關位,9位頁地址 PA11~PA3 與13個無關位)。要擦除扇區1~15,也要先寫入操作碼,隨后是3字節地址(2個無關位,4位頁地址PA11~PA8 與18個無關位)。頁容量為512字節時,要對扇區0A或扇區0B進行擦除,先寫入操作碼,隨后是3字節地址(3個無關位,9位頁地址 A20~A12 與12個無關位)。要擦除扇區1~15,也要先寫入操作碼,隨后是4字節地址(3個無關位,4位頁地址 A20~A17 與17個無關位)。擦除操作是內部進行的,并會在一定時間內完成。在這期間,狀態寄存器與RDY/#BUSY都會指示芯片處于忙狀態。
    7.  片擦除(操作碼:C7H、94H、80H與9AH)
        主存儲器可以使用片擦除命令一次全部擦除。要進行一次片擦除操作,先要寫入操作碼,無須寫入地址,交且操作過程中任何寫入的數據都是無效的。操作碼寫入后,#CS引腳上的上跳沿可以開始擦除過程。在操作過程中,狀態寄存器指示芯片處于忙狀態。那些被保護或死鎖的扇區不受此命令的影響,其數據不會發生改變。只有那些沒有保護或死鎖的扇區會被擦除。芯片在進行擦除操作的過程中#WP引腳可以設為有效,但是在內部擦除周期完成前保護不會生效。
8.  通過緩沖區對主存儲器頁編程(操作碼:緩沖區1 82H 緩沖區2 85H)
這個命令是緩沖區寫與緩沖區向主存儲器頁編程(帶預擦除)兩條命令的綜合。數據先從輸入引腳SI寫入緩沖區1或2,再從緩沖區向指定的頁編程。在頁容量為528字節時,要進行一次此操作,先要寫入操作碼,再將數據寫入到緩沖區中,然后向芯片寫入3字節地址(2個無關位,12位頁地址 PA11~PA0 與10位緩沖區地址 BFA9~BFA0)。在頁容量為512字節時,要進行此操作,也要先將操作碼寫入,再將數據寫入到緩沖區中,隨后是3字節地址(3個無關位,12位頁地址 A20~A9 與9位緩沖區地址 BFA8~BFA0)。所有的地址字節都被寫入后,就可以通過輸入引腳向芯片寫入數據了。當#CS引腳上出現上跳沿時,芯片先會擦除主存儲器所選中的頁,然后將存在緩沖區中的數據編程到頁中去。編程操作是在芯片內部進行的,并會在一定時間內完成。在這期間,狀態寄存器與RDY/#BUSY都會指示芯片處于忙狀態。
(8)扇區保護
    AT45DB161D提供硬件與軟件兩種方法對扇區進行保護,以使其避免數據的破壞。軟件的方法是通過軟件命令來實現扇區保護的使能與禁止的。而硬件的方法則是通過使用#WP引腳來實現的。通過“扇區保護寄存器”對哪一個扇區保護或不保護進行選擇。要知道某一個扇區是否有保護,可以查詢狀態寄存器。
1.  扇區保護的軟件方法
   1)扇區保護使能命令(操作碼:3DH-2AH-7FH-A9H)
      指定的扇區通過使扇區保護使能命令可使其在編程與擦除操作中得以保護。要采用方法使能扇區保護,#CS引腳必須處于有效狀態,從輸入引腳SI寫入4字節命令序列。寫入后,#CS引腳轉為無效狀態,此時扇區保護就被使能了。
  
命令
  
字節1
字節2
字節3
字節4
扇區保護使能命令
3DH
  2AH
7FH
A9H
扇區保護使能命令的時序圖:
   2)扇區保護禁止命令(操作碼:3DH-2AH-7FH-9AH)
          用軟件方法來禁止扇區保護時,除了寫入的操作碼序列不事,其它與扇區保護使能命令是相同的。
  
命令
  
字節1
字節2
字節3
字節4
扇區保護禁止命令
3DH
  2AH
7FH
9AH
扇區保護禁止命令的時序圖:


   3)軟件控制保護的各個方面
          軟件控制保護在#WP沒有或不能被單片機控制的情況下是很有用的。在這種情況下,#WP可以懸空(#WP引腳在內部拉高),扇區保護可以由以上兩種命令來控制。
(9)保護的硬件控制
     #WP引腳設為有效狀態后,在扇區保護寄存器中設置為保護的扇區及扇區保護寄存器自身在編程與擦除操作中可以得到保護。扇區保護寄存器與設置為保護的任何一個扇區,都不能被編程或擦除。要改變扇區保護寄存器的值只能將#WP設為無效。如果#WP被接到地,扇區保護寄存器的內容不能被改變。如果#WP被設為無效或接到VCC,則其內容可以被改變。
     #WP會使保護的軟件控制方法無效。例如:如果扇區原先并沒有被扇區保護使能命令保護,那么簡單的把#WP設為有效狀態就可以使能扇區保護。當#WP引腳設為有效狀態而扇區保護使能命令沒有執行,扇區保護不會被使能。如果在#WP引腳設為有效狀態前扇區保護使能命令被執行了,那么只簡單地將#WP設為無效并不能禁止扇區保護。在這種情況下,扇區保護禁止命令需要在#WP引腳無效時執行來使扇區保護禁止。在#WP引腳為有效時,扇區保護禁止命令會被忽略。
1.      扇區保護寄存器
非易揮發的(掉電不丟失)扇區保護寄存器指示哪些扇區被保護或未被保護。扇區保護寄存器包括16個字節,從第0到第15字節的不同值確定了扇區0到15是否被保護。扇區保護寄存器是可以由用戶修改的,但在生新程序前必須先擦除。
扇區保護寄存器:
  
扇區號
  
00A,0B
1 to 15
保護
見下表
FFH
未保護
00H
扇區0(0A,0B)
  
  
0A
0B

  
3,2

  
  
1,0

  
數據值
0~7
8~255
7,6
5,4
扇區0A,0B未保護
   00
   00
xx
xx
0xH
0A保護(第0~7頁)
   11
   00
xx
xx
CxH
0B保護(第8~255頁)
   00
   11
xx
xx
3xH
扇區0A(第0~7頁),0B(第8~255頁)
   11
   11
xx
xx
FxH
注:從ATMEL出廠后0~15字節默認值為00H。
1)擦除扇區保護寄存器命令(操作碼:3DH-2AH-7FH-CFH)
      為了修改扇區保護寄存器的值,必須先使用擦除扇區保護寄存器命令將其擦除。
              要擦除扇區保護寄存器,#CS必須設置為有效,然后將4字節的操作碼序列寫入芯片。在操作碼寫入后,需要將#CS設置為無效,以初始化一個擦除操作。扇區保護寄存器的擦除需要一定的時間,此期間狀態寄存器會指示芯片處于忙狀態。如果在進行擦除的過程中掉電,則扇區保護寄存器的擦除得不到保證。
  
命令
  
字節1
字節2
字節3
字節4
擦除扇區保護寄存器命令
3DH
  2AH
7FH
CFH
擦除扇區保護寄存器命令的時序圖:
       2)扇區保護寄存器編程命令(操作碼:3DH-2AH-7FH-FCH)
              在扇區保護寄存器被擦除后,就可以使用扇區保護寄存器編程命令對其進行重新編程。
   要對扇區保護寄存器進行編程,必須先將#CS設為有效,從SI引腳寫入4字節操作碼序列。寫入后,再將要寫入扇區保護寄存器的內容寫入。扇區保護寄存器中包括有16個字節,所以要寫入16個字節。每個字節對應對寄存器中的每個單元。
    16個字節被寫入后,#CS引腳需要設為無效以初始化一個編程周期。編程過程需要一定的時間,在此期間狀態寄存器指示芯片處于忙狀態。如果在進行編程的過程中掉電,則扇區保護寄存器中的內容的修改得不到保證。
   如果在#CS引腳無效以前沒有寫入適當數量的字節,則沒有字節與其相對應的寄存器單元所對應扇區保護狀態的改變不能保證。
   如果扇區保護寄存器中的字節不是00H或FFH,則相應單元所對應的扇區保護狀態的改變不能保證。
   扇區保護寄存器編程命令利用內部SRAM數據緩沖區1來實現編程操作。緩沖區1的數據在命令執行完畢后會恢復回到原來的數據。
  
命令
  
字節1
字節2
字節3
字節4
扇區保護寄存器編程命令
3DH
  2AH
7FH
9AH
扇區保護寄存器編程命令的時序圖:
       3)扇區保護寄存器讀取命令(操作碼:32H)
     要讀取扇區保護寄存器,首先要將#CS引腳設為有效,從SI引腳寫入操作碼與三個字節。寫入后,芯片便可以從SO引腳輸出數據。第一個字節是扇區0的內容,第二個字節是扇區1的內容,最后一個字節是扇區15的內容。在最后一個字節輸出后,再輸出的數據就為未定義數據。最后必須要將#CS設為無效狀態以終止扇區保護寄存器讀取操作,并使輸出轉為高阻態。
  
命令
  
字節1
字節2
字節3
字節4
扇區保護寄存器讀取命令
32H
  XXH
XXH
XXH
扇區保護寄存器的時序圖:
   4)扇區保護寄存器的各個方面
          扇區保護寄存器約可以擦/寫10000次。使用者會很關心芯片在其應用系統中的使用壽命。如果應用系統中需要多于10000次對扇區保護寄存器的修改,因為它需要臨時性地對某一個扇區不加以保護,那么應用系統就要限制自身的使用。要合理地設計應用系統,以使其對扇區保護寄存器的個性不超過10000次。
(10)安全措施
       1)扇區死鎖命令(3DH-2AH-7FH-30H)
              這一命令應用于商業上。芯片可以通過扇區死鎖命令對某一個扇區進行死鎖,從而使扇區變為只讀的。這在應用中是很有用的,用來存儲代碼或安全信息。當一個扇區被死鎖后,它就不能再被擦除或編程,也不能解鎖。
              要執行扇區死鎖命令,#CS引腳要設為有效狀態,寫入4字節操作碼序列,一定按正確的順序寫入。寫入后,再寫入3字節地址。在地址寫入后,再將#CS引腳設為無效狀態以初始化一個內部死鎖操作。
              在進行死鎖操作的過程中,狀態寄存器指示芯片處于忙狀態。如果操作過程中掉電,則死鎖操作得不到保證。在這種情況下,使用者應讀取扇區死鎖寄存器以確定相應的扇區是否已經死鎖。
  
命令
  
字節1
字節2
字節3
字節4
扇區死鎖命令
3DH
  2AH
7FH
30H
         扇區死鎖命令的時序圖:
1.      扇區死鎖寄存器
扇區死鎖寄存器中包含16個字節,如下表所示:
  
扇區號
  
00A,0B
1 to 15
保護
見下表
FFH
未保護
00H
扇區0(0A,0B)
  
  
0A
0B

  
3,2

  
  
1,0

  
數據值
0~7
8~255
7,6
5,4
扇區0A,0B未保護
   00
   00
00
00
00H
0A保護(第0~7頁)
   11
   00
00
00
C0H
0B保護(第8~255頁)
   00
   11
00
00
30H
扇區0A(第0~7頁),0B(第8~255頁)
   11
   11
00
00
F0H
2.      扇區死鎖寄存器讀取命令(操作碼:35H)
扇區死鎖寄存器中的數據可以讀取以確定扇區是否被死鎖。要讀取扇區死鎖寄存器,#CS引腳必須設為有效,通過SI引腳寫入操作碼與3個字節。寫入后,扇區死鎖寄存器中的數據將從SO引腳輸出。每一個字節是扇區0(0A,0B)的內容,第二個字節是扇區1的內容,最后一個字節(第16個字節)是扇區15的內容。16個字節都被讀出后,如果產生時鐘信號,則會在SO引腳輸出未定義數據。
將#CS設為無效以終止扇區死鎖寄存器讀取操作,并將SO引腳轉為高阻態。
  
命令
  
字節1
字節2
字節3
字節4
扇區死鎖寄存器讀取命令
35H
  XXH
XXH
XXH
扇區死鎖寄存器讀取命令的時序圖:
   2)安全寄存器
          芯片包含有一個序列化的安全寄存器,用來存儲唯一的設備序列碼或密鑰。安全寄存器包含128個字節,被分為兩個部分。前64字節(0~63)是一次性的用戶編程空間。一旦這64個字節被編程,則以后不能再對其進行重編程。后64個字節(64~127)由ATMEL編程,以使其包含唯一的數值。出廠時編程的數據是固定不變的,不能被更改。
  
  
安全寄存器字節編碼
0
1
……
62
63
64
65
……
126
127
數據類型
一次性用戶可以編程
      ATMEL編程固化
1.      安全寄存器編程命令(操作碼:9BH-00H-00H-00H)
安全寄存器中的用戶可編程部分在編程前是不需要擦除的。
要對安全寄存器進行編程,先要將#CS引腳設為有效,寫入4字節的操作碼序列。寫入后,就可以向芯片寫入64字節的用戶可編程部分的數據。在數據寫入后,#CS引腳必須設為無效,來初始化一個編程周期。安全寄存器的編程需要一定的時間,在此期間狀態寄存器將指示芯片處于忙狀態。如果此過程中掉電,則64字節的用戶可編程部分的數據不能得到保證。
如果在#CS設為無效以前,沒有寫入64個字節,則沒有被寫入的寄存器單元的值不能得到保證。例如,如果只有兩個字節寫入,而不是完整的64個字節,則用戶可編程部分的后62個字節就得不到保證。而如果寫入了多于64個字節,則數據會自動返回到開頭的位置。而安全寄存器中的用戶可編程部分只能被編程一次。因此,不可能先編程前兩個字節,而隨后再編程后62個字節。
安全寄存器編程命令利用SRAM數據緩沖區1來實現編程。操作完成后,緩沖區1會恢復到原先的數據。
安全寄存器編程命令的時序圖:
2.      安全寄存器讀取命令(77H)
要對安全寄存器進行讀取時,先將#CS引腳設為有效,寫入操作碼與3個字節。寫入后,在時鐘信號的作用下,數據將從SO引腳輸出。所有的數據都被輸出后,如果時鐘信號仍然存在,則會從SO引腳輸出未定義數據。將#CS引腳設為無效就會終止安全寄存器讀取操作并將SO引腳轉為高阻態。
安全寄存器讀取命令的時序圖:
(11)附加命令
       1)主存儲器頁到緩存區轉移命令(緩沖區1 53H 緩沖區2 55H)
       2)主存儲器頁和緩存區比較命令(緩沖區1 60H 緩沖區2 61H)
       3)讀取狀態寄存器命令(操作碼:D7H)
       4)節電模式和退出節電模式(操作碼:B9H/ABH)


(12)命令表


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人福利视频 | av一级| 成人a免费| 色婷综合网| 亚洲精品乱码久久久久久按摩观 | 国产1区2区3区 | 国产精品久久久久久久久久免费 | 亚洲第一成年免费网站 | 日韩中文字幕一区二区 | 久久久久久国产精品免费免费狐狸 | 久久久久久久久久久久一区二区 | 午夜精品久久久久久久久久久久久 | 草草网| 久精品久久 | 国产亚洲精品久久久久动 | 日韩在线观看中文字幕 | 综合自拍 | 日本视频在线播放 | 成人精品一区二区三区中文字幕 | 高清国产一区二区 | 国产视频不卡一区 | 五月激情婷婷六月 | 毛片免费观看 | 日韩精品一区二区三区第95 | 日本天堂视频在线观看 | 亚洲精品日韩综合观看成人91 | 久久久国产一区二区三区 | 亚洲一区二区三区视频 | 黄色小视频大全 | 亚洲成人精品在线 | 国产一区二区视频在线 | 日韩欧美亚洲 | 久久6视频 | 国产伦精品一区二区三区四区视频 | 亚洲成人精品一区 | 毛片免费看 | 精品欧美一区二区精品久久 | 久久亚 | 国产精品国产 | 精品国产精品一区二区夜夜嗨 | 成人在线播放网站 |