<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于MSP430F12x2的SPI數(shù)據(jù)存儲(chǔ)器擴(kuò)展

          基于MSP430F12x2的SPI數(shù)據(jù)存儲(chǔ)器擴(kuò)展

          作者: 時(shí)間:2012-10-12 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引 言

          本文引用地址:http://www.ex-cimer.com/article/202154.htm

          如今隨著信息產(chǎn)業(yè)的飛速發(fā)展,以微處理器為核心的嵌入式系統(tǒng)正在智能化儀表、實(shí)時(shí)控制系統(tǒng)等方面發(fā)揮著巨大的作用。在許多實(shí)際應(yīng)用中經(jīng)常面臨的問(wèn)題是需要支持大容量的數(shù)據(jù)存儲(chǔ)功能。

          但是采用常規(guī)擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器的方法,需要大量的地址總線和數(shù)據(jù)總線引腳,因而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),其容量受到微處理器地址總線和數(shù)據(jù)總線數(shù)量的極大限制。由于單片機(jī)的引腳數(shù)都相對(duì)較少,沒(méi)有足夠多的引腳用作外部數(shù)據(jù)存儲(chǔ)器的地址總線,為了解決這一矛盾,本文以12X2[1]單片機(jī)和AT45DB081[2]芯片為例,介紹了一種利用串行外設(shè)接口(SPI)擴(kuò)展大容量數(shù)據(jù)存儲(chǔ)器的方法。并給出初始化以及數(shù)據(jù)讀寫操作子程序。

          2 硬件簡(jiǎn)介

          43 F12X20是一款超低功耗的混合信號(hào)控制器,具有16位RISC結(jié)構(gòu),有著豐富的片內(nèi)外設(shè),主要包括有看門狗、定時(shí)器、比較器、硬件乘法器、液晶驅(qū)動(dòng)器、ADC、I/O端口、串口(USART)等,還集成有64 kB的FLASHROM和2 kB的RAM。其功能強(qiáng)大,應(yīng)用場(chǎng)合廣泛。特別適合應(yīng)用于智能儀表、智能化家用電器、電池供電的便攜式設(shè)備等產(chǎn)品中。相對(duì)于其他單片機(jī)430 F12X2還具有以下特點(diǎn):

          (1)MSP12X2內(nèi)部預(yù)設(shè)了JTAG模塊,他使得每一個(gè)單片機(jī)芯片都具有完整的在線調(diào)試功能,而不必使用較復(fù)雜的仿真調(diào)試工具;

          (2)MSP12X2中的FLASH在線編程技術(shù)可以完成除了采用外部編程器進(jìn)行燒寫外,用戶可以利用自己的程序修改FLASH內(nèi)容,且不需要外加編程電壓;

          (3)MSP430F12X2中的BOOTSTRAP技術(shù)使芯片具有片內(nèi)的BOOT ROM,可以實(shí)現(xiàn)程序代碼的下載和上載。

          AT45DB081是Atreel公司推出的工作電壓為2.7~3.6 v,可在系統(tǒng)可重復(fù)擦寫并兼容SPI的FLASH數(shù)據(jù)存儲(chǔ)器。內(nèi)部有4 096頁(yè)、每頁(yè)264個(gè)字節(jié),共計(jì)8 MB的主存儲(chǔ)器容量以及2個(gè)264字節(jié)的SRAM數(shù)據(jù)緩存器。支持在系統(tǒng)重復(fù)編程,不需要較高的編程電壓,只需要芯片的工作電壓2.7~3.6 V就可以完成對(duì)FLASH的讀寫操作。AT45DB081通過(guò)一個(gè)三線接口(包含串行輸入SI、串行輸出SO、串行時(shí)鐘SCK)在片選信號(hào)的配合下進(jìn)行訪問(wèn)。這種串行接口FLAS[{存儲(chǔ)器十分適用于要求存儲(chǔ)量大而引腳資源較少、電源電壓低和低功耗的應(yīng)用領(lǐng)域。

          3 硬件原理圖

          MSP430F12X2與AT45DB081的硬件連接原理圖如圖1所示。

          圖1中將MSP430F12X2的P3.1,P3.2和P3.3引腳配置為SPI的MOSI(主出從人)、MISO(主出從入)CLK(串行時(shí)鐘)和信號(hào)線,分別與AT、45DB081的串行輸入、串行輸出和時(shí)鐘引腳相連。將P2.0,P2.1,P2.2與AT45DB081的芯片片選、復(fù)位和忙閑狀態(tài)引腳相連。由于RDY/BUSY為漏極開(kāi)路,因而需加上拉電阻輸出[2]。

          4 AT45DB081的操作及操作碼

          對(duì)AT45DB021B的操作是由主機(jī)發(fā)出的指令控制,一個(gè)有效的指令在

          的下降沿開(kāi)始,包括一個(gè)8位的操作碼和要進(jìn)行操作的頁(yè)地址和緩沖區(qū)地址的位置。表1列出了AT45DB021B的主要的操作方式和對(duì)應(yīng)的操作碼。

          (1) 狀態(tài)存儲(chǔ)器

          他是AT45DB021B內(nèi)的一個(gè)8位的只讀存儲(chǔ)器,用于指示其工作狀況,如表2所示,BIT7用于顯示AT45DB021B的狀態(tài),BIT7位=1時(shí),說(shuō)明AT45DB021B不忙,可以對(duì)其進(jìn)行指令操作,BIT7位=0時(shí),指示AT45DB021B忙,可以通過(guò)檢測(cè)BIT7位實(shí)時(shí)了解AT45DB021B的狀態(tài)。BIT6 COMP用于顯示主存儲(chǔ)器頁(yè)面與緩存器進(jìn)行數(shù)據(jù)比較的結(jié)果,當(dāng)比較結(jié)果匹配COMP=0,否則COMP=1。

          (2) 通過(guò)緩沖存儲(chǔ)器對(duì)主存儲(chǔ)器寫操作

          命令碼為:操作碼5位保留碼10位頁(yè)地址碼9位頁(yè)內(nèi)起始地址碼,其中操作碼為82H時(shí),數(shù)據(jù)通過(guò)緩沖存儲(chǔ)器1向主存儲(chǔ)器寫,為85H時(shí),數(shù)據(jù)通過(guò)緩沖存儲(chǔ)器2向主存儲(chǔ)器寫操作。

          (3) 主存儲(chǔ)器頁(yè)讀

          主存儲(chǔ)器頁(yè)讀指令可以對(duì)1024頁(yè)中的任意頁(yè)進(jìn)行讀操作,命令碼為:8位操作碼,5位保留碼,10位頁(yè)地址碼,9位頁(yè)內(nèi)起始地址碼,32位無(wú)關(guān)碼;操作碼為52H或D2H,5位保留碼用于對(duì)片子的上下兼容,10位頁(yè)地址碼用于確定對(duì)主存儲(chǔ)器的哪一頁(yè)進(jìn)行操作,9位頁(yè)內(nèi)起始地址碼來(lái)確定頁(yè)內(nèi)操作的起始地址,后32為無(wú)關(guān)碼用來(lái)配合時(shí)序。當(dāng) 為0時(shí),主機(jī)向器件的SCK引腳發(fā)送時(shí)鐘信號(hào),引導(dǎo)操作碼和地址從SI引腳寫入器件,當(dāng)最后一位寫入后的下一個(gè)時(shí)鐘周期,頁(yè)內(nèi)數(shù)據(jù)將從SO引腳輸出。

          5 軟件流程及讀寫程序

          MSP430F12X2單片機(jī)對(duì)AT45DB081進(jìn)行初始化以及數(shù)據(jù)讀寫操作的軟件流程圖如圖2所示。圖2中系統(tǒng)初始化包括系統(tǒng)時(shí)鐘初始化、將P3.1,P3.2和P3.3引腳配置為SPI接口,設(shè)置SPI特殊狀態(tài)寄存器和復(fù)位數(shù)據(jù)存儲(chǔ)器。

          單片機(jī)通過(guò)P2.2讀取AT45DB081的忙閑狀態(tài)引腳來(lái)判斷存儲(chǔ)器是否空閑,若P2.2為1表示存儲(chǔ)器空閑,否則表示存儲(chǔ)器忙。當(dāng)存儲(chǔ)器空閑時(shí)通過(guò)P2.0引腳輸出0作為存儲(chǔ)器的片選信號(hào)。選中存儲(chǔ)器后可以參照表1,通過(guò)SPI發(fā)送命令字完成對(duì)AT45DB081的相應(yīng)讀寫操作。對(duì)AT45DB081進(jìn)行初始化以及數(shù)據(jù)讀寫操作的子程序[3]如下。

          6 結(jié) 語(yǔ)

          本文的創(chuàng)新意義在于在占用:MSP430F12X2單片機(jī)引腳數(shù)極少的情況下實(shí)現(xiàn)了大容量外部存儲(chǔ)器的擴(kuò)展方法,使得單片機(jī)在擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器中改并行訪問(wèn)為串行訪問(wèn),不再需要大量的地址和數(shù)據(jù)總線引腳。這種方法同樣可推廣到其他帶有SPI接口的微處理器。在數(shù)據(jù)采集,智能儀表中都具有很強(qiáng)的實(shí)用意義。

          更多計(jì)算機(jī)與外設(shè)信息請(qǐng)關(guān)注21ic計(jì)算機(jī)與外設(shè)頻道

          存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理




          關(guān)鍵詞: 430F MSP 12x

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();