基于MSP430F12x2的SPI數(shù)據(jù)存儲器擴展
出處:hq_y 發(fā)布于:2008-01-30 10:04:23
如今隨著信息產(chǎn)業(yè)的飛速發(fā)展,以微處理器為的嵌入式系統(tǒng)正在智能化儀表、實時控制系統(tǒng)等方面發(fā)揮著巨大的作用。在許多實際應(yīng)用中經(jīng)常面臨的問題是需要支持大容量的數(shù)據(jù)存儲功能。
但是采用常規(guī)擴展外部數(shù)據(jù)存儲器的方法,需要大量的地址總線和數(shù)據(jù)總線引腳,因而在訪問外部數(shù)據(jù)存儲器時,其容量受到微處理器地址總線和數(shù)據(jù)總線數(shù)量的極大限制。由于單片機的引腳數(shù)都相對較少,沒有足夠多的引腳用作外部數(shù)據(jù)存儲器的地址總線,為了解決這一矛盾,本文以MSP430F12X2[1]單片機和AT45DB081[2]芯片為例,介紹了一種利用串行外設(shè)接口(SPI)擴展大容量數(shù)據(jù)存儲器的方法。并給出初始化以及數(shù)據(jù)讀寫操作子程序。
2 硬件簡介
MSP43 F12X20是一款超低功耗的混合信號控制器,具有16位RISC結(jié)構(gòu),有著豐富的片內(nèi)外設(shè),主要包括有看門狗、定時器、比較器、硬件乘法器、液晶驅(qū)動器、ADC、I/O端口、串口(USART)等,還集成有64 kB的FLASHROM和2 kB的RAM。其功能強大,應(yīng)用場合廣泛。特別適合應(yīng)用于智能儀表、智能化家用電器、電池供電的便攜式設(shè)備等產(chǎn)品中。相對于其他單片機MSP430 F12X2還具有以下特點:
(1)MSP430F12X2內(nèi)部預(yù)設(shè)了JTAG模塊,他使得每一個單片機芯片都具有完整的在線調(diào)試功能,而不必使用較復(fù)雜的仿真調(diào)試工具;
(2)MSP430F12X2中的FLASH在線編程技術(shù)可以完成除了采用外部編程器進行燒寫外,用戶可以利用自己的程序修改FLASH內(nèi)容,且不需要外加編程電壓;
(3)MSP430F12X2中的BOOTSTRAP技術(shù)使芯片具有片內(nèi)的BOOT ROM,可以實現(xiàn)程序代碼的和上載。
AT45DB081是Atreel公司推出的工作電壓為2.7~3.6 v,可在系統(tǒng)可重復(fù)擦寫并兼容SPI的FLASH數(shù)據(jù)存儲器。內(nèi)部有4 096頁、每頁264個字節(jié),共計8 MB的主存儲器容量以及2個264字節(jié)的SRAM數(shù)據(jù)緩存器。支持在系統(tǒng)重復(fù)編程,不需要較高的編程電壓,只需要芯片的工作電壓2.7~3.6 V就可以完成對FLASH的讀寫操作。AT45DB081通過一個三線接口(包含串行輸入SI、串行輸出SO、串行時鐘SCK)在片選信號的配合下進行訪問。這種串行接口FLAS[{存儲器十分適用于要求存儲量大而引腳資源較少、電源電壓低和低功耗的應(yīng)用領(lǐng)域。
3 AT45DB081的操作及操作碼
對AT45DB021B的操作是由主機發(fā)出的指令控制,一個有效的指令在
的下降沿開始,包括一個8位的操作碼和要進行操作的頁地址和緩沖區(qū)地址的位置。表1列出了AT45DB021B的主要的操作方式和對應(yīng)的操作碼。
(1) 狀態(tài)存儲器
他是AT45DB021B內(nèi)的一個8位的只讀存儲器,用于指示其工作狀況,BIT7用于顯示AT45DB021B的狀態(tài),BIT7位=1時,說明AT45DB021B不忙,可以對其進行指令操作,BIT7位=0時,指示AT45DB021B忙,可以通過檢測BIT7位實時了解AT45DB021B的狀態(tài)。BIT6 COMP用于顯示主存儲器頁面與緩存器進行數(shù)據(jù)比較的結(jié)果,當比較結(jié)果匹配COMP=0,否則COMP=1。
(2) 通過緩沖存儲器對主存儲器寫操作
命令碼為:操作碼5位保留碼10位頁地址碼9位頁內(nèi)起始地址碼,其中操作碼為82H時,數(shù)據(jù)通過緩沖存儲器1向主存儲器寫,為85H時,數(shù)據(jù)通過緩沖存儲器2向主存儲器寫操作。
(3) 主存儲器頁讀
主存儲器頁讀指令可以對1024頁中的任意頁進行讀操作,命令碼為:8位操作碼,5位保留碼,10位頁地址碼,9位頁內(nèi)起始地址碼,32位無關(guān)碼;操作碼為52H或D2H,5位保留碼用于對片子的上下兼容,10位頁地址碼用于確定對主存儲器的哪一頁進行操作,9位頁內(nèi)起始地址碼來確定頁內(nèi)操作的起始地址,后32為無關(guān)碼用來配合時序。當 為0時,主機向器件的SCK引腳發(fā)送時鐘信號,引導(dǎo)操作碼和地址從SI引腳寫入器件,當一位寫入后的下一個時鐘周期,頁內(nèi)數(shù)據(jù)將從SO引腳輸出。
5 軟件流程及讀寫程序
單片機通過P2.2讀取AT45DB081的忙閑狀態(tài)引腳來判斷存儲器是否空閑,若P2.2為1表示存儲器空閑,否則表示存儲器忙。當存儲器空閑時通過P2.0引腳輸出0作為存儲器的片選信號。選中存儲器后可以參照表1,通過SPI發(fā)送命令字完成對AT45DB081的相應(yīng)讀寫操作。對AT45DB081進行初始化以及數(shù)據(jù)讀寫操作的子程序[3]如下。
6 結(jié) 語
本文的創(chuàng)新意義在于在占用:MSP430F12X2單片機引腳數(shù)極少的情況下實現(xiàn)了大容量外部存儲器的擴展方法,使得單片機在擴展外部數(shù)據(jù)存儲器中改并行訪問為串行訪問,不再需要大量的地址和數(shù)據(jù)總線引腳。這種方法同樣可推廣到其他帶有SPI接口的微處理器。在數(shù)據(jù)采集,智能儀表中都具有很強的實用意義。
參考文獻:
[1]. AT45DB081 datasheet http://m.58mhw.cn/datasheet/AT45DB081_143030.html.
[2]. RISC datasheet http://m.58mhw.cn/datasheet/RISC_1189725.html.
[3]. AT45DB021B datasheet http://m.58mhw.cn/datasheet/AT45DB021B_143123.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52









