AT45DB041B中文資料

2021-06-10 03:14:10 字數 3068 閱讀 1644

at45db041b為2.7-3.3v 20mhz

at45db041為4.5-5.5v 10mhz(停產)

at45db041是atmel公司的新型flash晶元。該晶元具有容量大、讀寫速度快、外圍電路少等諸多優點,更為重要的是該晶元可最低工作在2.5v,工作電流僅為4ma,因此在移動通訊、便攜等場合得到了廣泛的應用。

晶元工作原理與硬體連線

at45db041中的資料按頁存放,主存共2048頁,每頁264位元組,所以總容量為528k位元組(約4m位元)。存放在主存中的資料掉電不丟失。除了主存以外,at45db041還有兩個容量為264位元組的資料快取。快取可以用作主存與外部進行資料交換時的緩衝區域,也可以暫存一些臨時資料。快取讀寫方便迅速,但掉電資料會丟失。at45db041資料讀寫採用序列方式,讀寫速度快,從頁到快取的傳輸時間為80 s左右,並且相容cmos和ttl輸入和輸出。

at45db041通過片選管腳/cs使能,通過序列輸出(so)和序列輸入(si)進行資料讀和寫。由序列時鐘(sck)對讀寫進行控制。

裝置執行受微處理器的指令控制。一條有效的指令起始於/cs管腳的下降沿,並跟隨相應的8位操作碼和指定的快取或主存位址碼。當/cs管腳為低時,輪換時鐘管腳(sck)控制操作碼和指定的快取或主存位址碼通過si口的載入。所有的指令、位址和資料都從高位元組開始傳送。

資料讀取

讀快取:通過不同的操作碼可選擇讀取兩個快取中的其中乙個(操作碼54h用作讀快取1,而操作碼56h用作讀快取2)。為了實現讀快取的操作,在8位操作碼後必須跟有15位任意碼,9位位址碼和8位任意碼。其中9位位址碼(bfa8-bfa0)被用作指定要讀取的首位元組。在輪換時鐘sck的控制下,從si載入操作碼、位址碼、任意碼。當載入結束後,在sck輪換時鐘的控制下,快取中的資料就可以從so讀出。當讀到快取的末尾時,裝置將繼續從快取的開端重讀。在這整個過程中/cs必須保持低電平。讀快取結束後,/cs上乙個從低到高的電平跳變將終止讀操作。

主存頁到快取的傳送:一頁資料可以從主存傳至快取1或2。8位操作碼(53h用於快取1,55h用於快取2)後跟有4位保留位,11位用於指定目的頁的位址位(pa10-pa0),和9位任意碼,在輪換時鐘sck的控制下從si載入。在這一過程中/cs管腳必須保持低電位。當載入結束後,在/cs上檢測到乙個由低到高的電平跳變後,主存頁中的資料開始傳送至快取。在資料傳送的過程中,狀態暫存器將指示狀態忙。

資料寫入

寫快取:在sck的控制下,8位的操作碼(84h用於快取1,87h用於快取2)後面跟著15位任意碼和9位位址碼(bfa8-bfa0)由si載入,其中9位位址碼指定了快取中被寫的首位元組,資料緊隨著位址碼輸入。/cs上乙個由低到高的跳變,將結束寫快取操作。

帶有內建擦除的快取至主存頁的傳送:8位的操作碼(83h用於快取1,86h用於快取2)後跟有4位保留位,11位指定要寫入的主存頁的位址碼(pa10-pa0),和9位任意碼,在輪換時鐘sck的控制下從si載入。當/cs上檢測到乙個由低到高的跳變時,器件將首先擦除被選中的主存頁,然後將儲存在快取中的資料寫入該頁。擦除和寫入的過程都是自動進行的,這一程序不超過20ms。在這個時間裡,狀態暫存器將指示狀態忙。 狀態暫存器值讀取:讀狀態暫存器的值可以用來確定裝置的忙閒狀態。忙閒狀態通過暫存器的第7位指示。如果第7位為1,則裝置位於空閒狀態並可接收下一條指令。如果為0,則裝置忙。在載入8位操作碼57h後,從so上可以讀出1位元組的狀態暫存器的值。

寫保護(/wp) b041具有的寫保護功能僅對主存的前256頁有效。當/wp管腳為低電平時,flash禁止對主存的前256頁進行寫操作(唯讀),但主存的其它頁並不受影響,仍然可以進行讀寫。at45db041的選擇性寫保護功能為使用者的使用提供了很大的便利,使用者可以將非常重要的資料,如系統引數、密碼和身份資訊等存入主存的前256頁,並將/wp置低,使這些資料處於寫保護狀態,以保證這些資料不會被誤擦除。而與此同時,使用者仍能對其它位址進行讀寫。如果使用者將/wp管腳懸空或接地,flash將不具備寫保護功能,所有的主存頁都可進行讀寫。

復位(/reset) b041採用低電平復位,即當/reset管腳出現低電平(<0.6v)時,晶元停止工作,待/reset管腳的電平被拉高(>2.0v)後,恢復正常工作。為了避免接通電源時,由於電壓不穩可能會對晶元正常工作造成影響,所以在使用時,最好在系統開機後延時10ms,再對flash進行操作。

與微處理器的介面

b041外圍電路非常簡單,可以很方便地與微控制器連線。so、si、sck、/cs,/wp分別與微處理器的通用i/o相連即可。

軟體設計

下面主要對at45db041的資料讀寫作簡要介紹。

at45db041進行資料讀寫主要包括操作碼、保留位、位址碼、任意碼、使用者資料的載入和使用者資料和狀態字的讀出兩部分。

資料載入子程式

要載入的資料(操作碼、保留位、位址碼、任意碼和使用者資料)寄存從r0開始的位址單元裡

;資料個數放在r6中 dadain:push  acc

clr  cs   ;使能r0

trsmit:mov a,@r0

mov r7,#08h 1位元組=8位元

loopt: rlc a ;將要傳送的資料由高位到低位依次移出

clr sck

mov si, 將1位元的資料送入si

nopsetb sck ;在sck的上公升沿at45dbo41從si上取數

djnz r7,loopt ;一位元組的資料傳送完畢

inc r0

djnz r6,trsmit

setb cs ;所有資料傳送完畢

pop acc

ret資料讀取子程式:

;將取出的資料(使用者資料和狀態字)寄存從r1開始的位址單元裡

;資料個數放在r6中

dataout:push acc

clr, a

clr c

clr cs ;使能

receive:clr sck

mov r7,#08h

loopr: setb sck 在sck的上公升沿at45db041將資料放在s0上

mov c,so ;將1位元的資料取出

nopsetb sck

rlc a

djnz r7,loopr ;一位元組的資料接收完畢

mov @r1,a

inc r1

djnz r6,receive

setb csp ;所有資料接收完畢

pop acc

ret

linux wx5d2d429c45b0e的部落格

一 程序 程序 資源管理 輪流進行 時間片格式 程式被載入到記憶體中執行執行緒 執行管理程序包含執行緒,執行緒包含協程 程序間的通訊 同一主機 pipe socket signal shm semaphore不同主機 rpc mq 訊息佇列 realtime 0 99非實時 100 139 nice...

專業音訊如何把電平轉換成dbu 0dB音訊基準電平

1khz,0db 的含義不是一兩句話可以說清楚 1khz 就比較容易理解了 就是說信 號的頻率是 1khz,0db 的含義就要涉及到音訊訊號的取樣值的量化方面的知識了對於 cd音訊 進行的是 位量化每乙個取樣值都用 位二進位制來表示 對於正弦訊號 可以有很多種方式來表示 但不同的方式得出來的幅度大小...

從0到1 滴滴DB自動化運維實踐了解一下

一般來說,自動化運維都會根據自己原有的架構來設計自動化運維平台,上圖是滴滴db的架構圖,最上面是tgw lvs,也就是大家所熟悉的vip,接下來是 層dbproxy。層下面是mysql的主從關係,一般情況是一主 一備主和乙個從庫,如果讀取操作多,qps會比較高,從庫也需相應的增多。同時還要有mysq...