DataFlash系列存儲器可以按地址從低到高順序讀寫,也可以隨機讀寫任一字節(jié)的數(shù)據(jù)。對于順序讀數(shù)據(jù),可以使用連續(xù)讀主存頁陣列命令(操作碼68H或E8H)從給定的起始地址開始連續(xù)讀出,中間不需用戶干預,也可使用讀單頁主存命令(操作碼52H或D2H),自行提供頁地址讀取數(shù)據(jù)。對于順序寫數(shù)據(jù),可以使用通過緩存寫主存頁命令(操作碼82H或85H),直接將數(shù)據(jù)寫入主存;也可以先使用寫緩存命令(操作碼84H或87H),將數(shù)據(jù)寫入緩存,在適當?shù)臅r刻再使用緩存寫主存頁命令(操作碼83H或86H),將緩存中的數(shù)據(jù)寫入主存。
使用何種方式讀寫取決于特定的應用場合與要求。 下面的子程序為順序讀/寫存儲器的例子。子程序spiwt采用了通過緩存寫主存頁的方法,向存儲器寫入1字節(jié)數(shù)據(jù)。順序讀存儲器子程序spicrd采用了邊疆讀主存頁陣列命令。從給定地址處連續(xù)讀出數(shù)據(jù),用圖5所示的PIC16LC73B單片機匯編語言編寫,使用MPLAB5.4.00編譯器編譯通過并燒寫入單片機,按下圖所示系統(tǒng)實測通過。
順序寫子程序,用spiwt名稱調用
spiwt bcf STATUS,RP0
bcf PORTB,SCK ;模式0
bcf PORTB,cs ;片選
movlw 82H ;加載操作碼
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出操作碼
movf PA1,w ;加載第一字節(jié)地址
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf BA1,w
xorwf PA2,w ;獲得第二字節(jié)地址
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf BA2,w ;加載第三字節(jié)地址
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf spi_wt,w ;加載待寫數(shù)據(jù)
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
bsf PORTB,cs ;觸發(fā)寫入操作
nop ;延時
retlw 0 ;從子程序返回
;輸出子程序,用spiout名稱調用
spiout movlw 0x08 ;加載輸出位數(shù)
movwf spi_cnt ;置入寄存器
nspiout rlf spi_out ;先輸出最高位
btfsc STATUS,C ;是否為1
bsf PORTB,SDO ;輸出1
btfss STATUS,C ;是否為0
bcf PORTB,SDO ;輸出0
nop ;延時
bsf PORTB,SCK ;時鐘信號上升沿
nop ;延時
bcf PORTB,SCK ;時鐘信號下降沿
decfsz spi_cnt ;檢查輸出位數(shù)
goto nspiout ;輸出下一位
retlw 0 ;從子程序返回
;順序讀子程序,用名稱spicrd調用
spicrd bcf STATUS,RP0
bcf PORTB,cs ;片選
bcf PORTB,SCK ;模式0
movlw E8H ;加載操作碼
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf PA1,w ;加載第一字節(jié)地址
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf BA1,w
xorwf PA2,w ;獲得第二字節(jié)地址
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf BA2,w ;加載第三字節(jié)地址
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf DCRE,w ;加載任意位字節(jié)
movwf spi_out ;置入寄存器
call spiout ;調用子程序輸出
movf DCRE,w ;共需4個任意位字節(jié)
movwf spi_out
call spiout
movf DCRE,w
movwf spi_out
call spiout
movf DCRE,w
movwf spi_out
call spiout
retlw 0 ;從子程序返回
本文關鍵詞:
DataFlash
相關文章:
DataFlash存儲器命令接口與狀態(tài)機
深圳市英尚微電子有限公司,十年來專業(yè)致力代理分銷存儲器芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,為客人提供性價比更高的產(chǎn)品及方案。
了解更多關于存儲芯片知識,請關注英尚微電子:http://jungeum.cn