




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、海洋技術(shù)OCEANTECHNOLOGY大容量存儲器K9K8G08U0A及其在定點(diǎn)垂直升降剖面測量系統(tǒng)中的應(yīng)用徐良波,朱旭,彭荊明(中國船舶重工集團(tuán)公司第七一O研究所,湖北宜昌443003)摘要:介紹了新型大容量存儲器K9K8G08U0A的基本組織結(jié)構(gòu),重點(diǎn)講述了存儲器與ATmegal28L單片機(jī)外部存儲器接口的硬件連接方式以及存儲器的主要操作流程和部分C語言代碼。關(guān)鍵詞:K9K8G08U0A;ATmegal28L;大容量存儲器中圖分類號:P71;TP333文獻(xiàn)標(biāo)識碼:B文章編號:1003-2029(2008)04-0025-04閃存是一種可以進(jìn)行電擦寫并且掉電后信息不丟失的存儲器,具有功耗低、
2、擦寫速度快等特點(diǎn),被廣泛應(yīng)用于外部存儲領(lǐng)域。在海洋環(huán)境監(jiān)測和資源調(diào)查中,經(jīng)常需要對海洋動力環(huán)境進(jìn)行長期、定點(diǎn)、實(shí)時、立體監(jiān)測,希望可以在惡劣環(huán)境下實(shí)現(xiàn)無人值守的全天候長期連續(xù)定點(diǎn)觀測,定點(diǎn)垂直升降剖面測量系統(tǒng)就是鑒于此研制的記錄海洋動力環(huán)境參數(shù)的儀器。由于系統(tǒng)連續(xù)工作時間長達(dá)1a,測量數(shù)據(jù)存儲容量較大,按每天工作四個剖面、采樣頻率1次/m,測量行程1400m,200字節(jié)的測星數(shù)據(jù)計算,一年數(shù)據(jù)存儲容量大于817MB,小容量的存儲器已不能滿足使用要求。因此選用Samsung公司開發(fā)的超大容量存儲器K9K8GO8UOA,容量大、功耗低,地址、數(shù)據(jù)、命令統(tǒng)一通過數(shù)據(jù)線輸入,硬件接口簡單,使用方便,可
3、很好地滿足工程使用要求。本文將介紹該存儲器的主要性能及其在定點(diǎn)垂直升降剖面測量系統(tǒng)中的應(yīng)用。1K9K8G08U0A存儲器簡介超大容量存儲器K9K8GO8UOA采用2.73.6V供電,容量為1G字節(jié)。雖然該FLASH的容量遠(yuǎn)遠(yuǎn)超過普通FLASH,但該FLASH的硬件接口卻比較簡單,數(shù)據(jù)、地址和命令統(tǒng)一的I/O口傳送,可以在200”內(nèi)完成頁編程操作,在1.5ms內(nèi)完成塊擦除操作,同時數(shù)據(jù)寄存器中的單個字節(jié)的數(shù)據(jù)可以在25ns內(nèi)讀出。整個存儲區(qū)被分為8192個相對獨(dú)立的塊,每塊分為64員,每頁為2112字節(jié)。單片機(jī)通過列地址和行地址訪問每一個字節(jié)。地址碼格式表如表1所示,開始兩個字節(jié)為列地址,后三個
4、字節(jié)為行地址,*L表示相應(yīng)的位應(yīng)該為0o收稿日期:2008-06-15基金項(xiàng)目:“十一五”863重大專項(xiàng)課題資助(2006AA09A308)o表1地址格式碼1/00I/O11/02I/O31/041/051/06I/O71stCycleAoAlA?a3A4A5A72ndCycleN&A10An*L*L*LL3rdCycleA|2A13A4a15A6A17A8A194thCycleAjoAArA23A24A;A旭5thCycleA*A29A30*LLL*LL2硬件接口設(shè)計定點(diǎn)垂直升降剖面測量系統(tǒng)是一種具備自動升降功能的錨系剖面觀測系統(tǒng),測量平臺可沿系留鋼索任意移動、進(jìn)行剖面數(shù)據(jù)的循環(huán)采集,并將C
5、TD、海流計的測量結(jié)果存儲在大容量存儲器中。在該系統(tǒng)中,單片機(jī)選用Atmel公司的ATmegal28Lo單片機(jī)ATmegal28L與存儲器K9K8G08U0A的硬件接口如圖1所示。存儲器K9K8G08U0A的讀寫控制線與單片機(jī)ATmegal28L的讀寫信號線相連,1/00-1/07與單片機(jī)ATmegal28L的數(shù)據(jù)線相連,CE,ALE,CLE分別與地址線A11,A9,A8相連,單片機(jī)ATmegal28通過不同的地址向存儲器中寫入地址、命令和數(shù)據(jù)信息,大大簡化了對K9K8G08U0A進(jìn)行擦除、寫入和讀取操作的程序代碼。3軟件設(shè)計本系統(tǒng)采用c語言編程,提高了開發(fā)速度,并降低了維護(hù)難度。首先,根據(jù)圖
6、1的接口電路,可以對地址、命令和數(shù)據(jù)地址作如下定義:#defineFlashCommand(unsignedchar*)0x8100#defineFlashAddressALE(unsignedchar*)0x8200#defineFlashAddress(unsignedchar*)0x8000其中,FlashCommand為Flash命令寫入地址,對該地址的操作表示相應(yīng)的命令被寫入FLASH的內(nèi)部寄存器,F(xiàn)lashAddressALE為字節(jié)單元地址,對該地址的操作表示字節(jié)單元的地址被鎖存到相應(yīng)的內(nèi)部寄存器,FlashAddress地址與讀寫信號共同作用,實(shí)現(xiàn)FLASH數(shù)據(jù)的讀寫操作。下面分
7、別介紹存儲器芯片K9K8GO8U0A的幾種主要操作。3.1按頁讀操作U14PBO10CLKSCL癸CLKSDA還n的女1疝i亦F-RUSY29JHDN30PM31PE32RSTMCU20RXDO2+33VR2L|PBO(SS)PBl(SCK)PB2(MOSDPB3(MISO)PB4(OCO)PB5(OC1A)PB6(OC1B)PB7(OC2/OC1C)TOSC2/PG3TOSC1/1PG4PD0(SCI71NTO)PDl(SDAZINTl)PD2(RSD1/INT2)PD3(TXD1/INT3)PD4(IC1)PD5(XCK1)PD6(T1)PD7(T2)PEOfRXDO/PDQPE1(TXD
8、O/PDO)PE2(XCK0/AIN0)PE3(OC3A/AIN1)PE4(OC3B/INT4)PE5(OC3CZINT5)PE6(T3/INT6)PE7(IC3/INT7)PG0(wTr)PG1(RD*)PG2(ALE)RESETPEN-PA0(AD0)PAl(ADl)PA2(AD2)PA3(AD3)PA4(AD4)PA5(AD5)PA6(AD6)PA7(AD7)PC0(A8)PC1(A9)PC2(A10)PC3(A11)PC4(A12)PC5(A13)PC6(A14)PC7(A15)PF7(ADC7/TDI)PF6(ADC6/TDO)PF5(ADC5rTMS)PF4(ADC4/TCK)PF
9、3(ADC3)PF2(ADC2)PFl(ADCl)PF0(ADC0)51ADO/I5011DIy49AD2y4OD3y47Ab446AD5y45AD6/44Al)7_XG17.3728M3C82FTc83冗22PTdGN0T22PXTAL2XTAL1DDDATme即1128L-8A137AQ38A139A240A341A447A5A8DGND1355MCUlDO56MCUTMS51MCUtcK項(xiàng)ADC359ADC26054MCUTD161ADCf)渭A8A917WR#IB12:6淺.10KC122216462122_一C76.-611r104HDGND(Jx2C8OC81104104VCCVC
10、CAVCCAREFncncncncncncr/brecencncvccvssncncclealewewpncncncncncNCNCNCNCI/07I/06I/05I/04NCNCNCVCCVSSNCNCNCI/03V02I/011/00NCNCNCNCK9K8GO8U0A484746454443a1)7AD63VNDbADIAu圖1ATmegal28L與K9K8G08U0A接口電路K9K8GO8U0A中有一個2U2B即1頁大小的數(shù)據(jù)寄存器,存儲器的讀操作以1頁為基本單元進(jìn)行的。如圖2所示,寫入30H后,行地址所指定的頁中的數(shù)據(jù)將傳輸?shù)綌?shù)據(jù)寄存器中,然后在RD#脈沖的作用下,從指定的列地址開始
11、連續(xù)讀到該頁末尾。圖2按頁讀操作流程下面是按頁讀操作的C語言代碼,ColAdd為頁內(nèi)地址,RowAdd為頁面地址Jen為讀取數(shù)據(jù)個數(shù),數(shù)據(jù)讀入全局?jǐn)?shù)組Data忡。voidReadFlash(unsignedintCoJAdd,unsignedlongRowAdd,unsignedintlen)unsignedinti=0;unsignedcharColTemp,RowTemp;ColTemp=(unsignedchar)(ColAdd8);RowTemp=(unsignedchar)(RowAdd16);ColTemp&=OxOF;RowTemp&=0x01;* FlashCommand=0x
12、00;* FlashAddressALE=(unsignedchar)(ColAdd);* FlashAddressALE=ColTemp;*FlashAddressALE=(unsignedchar)(RowAdd);*FlashAddressALE=(unsignedchar)(RowAdd8);* HashAddressALE=RowTemp;* FlashCommand=0x30;whi)e(PIND&0xl0);while(!(PIND&OxlO);for(i=l;ilen;i+)Datai-1=*FlashAddress;3.2頁編程圖3按頁編程流程for(i=l;i=2112;i
13、+)*FlashAddress=Datai-1;*FlashCommand=0x10;while(PIND&0xl0);while(!(PIND&OxlO);*FlashCommand=0x70;Status=*FlashAddress;Status&=0x01;return(Status);)3.3塊擦除擦除操作以塊為單位進(jìn)行,由于器件分為8192塊,因此輸人的地址碼中只有A18A30的13位有效,其余位將被忽略。通過輸人確認(rèn)命令碼來啟動擦除以防止誤操作。塊擦除流程如圖4所示。同頁編程操作類似,擦除完畢后也應(yīng)該讀狀態(tài)寄存器并處理返回結(jié)果。向器件寫入數(shù)據(jù)時先將數(shù)據(jù)寫入數(shù)據(jù)寄存器中,器件寫入操作
14、是基于頁進(jìn)行的,同時允許在一個頁編程周期內(nèi)對一頁內(nèi)的連續(xù)部分編程。器件支持在1頁范圍內(nèi)的隨機(jī)數(shù)據(jù)輸入,如圖3中所示,數(shù)據(jù)輸人完畢后,寫人頁編程確認(rèn)命令10H,將數(shù)據(jù)寄存器中的內(nèi)容寫入存儲區(qū)。寫人完成后,需要讀狀態(tài)寄存器判斷操作是否成功。如未能成功寫入,應(yīng)將當(dāng)前塊聲明為壞塊,并進(jìn)行塊數(shù)據(jù)替換操作,以保證整個系統(tǒng)的可靠性。此外應(yīng)注意,同一塊內(nèi)頁編程時必須從地址最低的頁開始向高地址的頁依次編程,頁地址隨機(jī)的頁編程是被禁止的。下面是按頁讀操作的C語言代碼,ColAdd為頁內(nèi)地址,RowAdd為頁地址,全局?jǐn)?shù)組Data。的數(shù)據(jù)被寫入FLASH中。unsignedcharPageWrite(unsigne
15、dintColAdd,unsignedlongRowAdd)(unsignedinti=0;unsignedcharStatus=0;unsignedcharColTemp,RowTemp;ColTemp=(unsignedchar)(ColAdd8);RowTemp=(unsignedchar)(RowAdd16);ColTemp&=OxOF;RowTemp&=0x01;*FlashComniand=0x80;*FlashAddressALE=(unsignedchar)(ColAdd);* FlashAddressALE=ColTemp;.*FlashAddressALE=(unsigne
16、dchar)(RowAdd);FlashAddressALE=(unsignedchar)(RowAdd8);* ElashAddressALE=RowTemp;圖4塊擦除操作流程下面是按塊擦除操作的C語言代碼,Block為1-8192,Status為0時擦除正常,否則錯誤。unsignedcharPageErase(unsignedintBlock)(unsignedlongRowAdd;unsignedcharStatus=O;unsignedcharRowTemp;RowAdd=(Block-1)*64;RowTemp=(unsignedchar)(RowAdd16);RowTemp&=
17、0x01;*FlashCommand=0x60;FlashAddressALE=(unsignedchar)(RowAdd&OxcO);* FlashAddressALE=(unsignedchar)(RowAdd8);* FlashAddressALE=RowTemp;*FlashCommand=OxDO;while(PIND&0%10);判斷pD4while(!(PIND&OxlO);*FlashCommand=0x70;Status=*FlashAddress;Status&=0x01;retum(Status);其非易失、功耗低、操作簡單而在單片嵌人式系統(tǒng)中得到廣泛應(yīng)用。本文在定點(diǎn)垂直
18、升降剖面測量系統(tǒng)的開發(fā)過程中,根據(jù)對外部存儲器接口的深入理解,將存儲器芯片的兩個控制線ALE和CLE用作地址線,使得對存儲器的操作更簡捷高效。文中的程序已經(jīng)過實(shí)際驗(yàn)證,限于篇幅,只給出按頁讀、塊擦除和頁編程部分的代碼。4結(jié)語K9K8G08U0A是一種新型的超大容量Flash存儲器,以參考文獻(xiàn):flEXCELL2ULOWPOWERCTDOPERATIONMANUALVERSION1.5FIRMWAREVERSION2.0FALMOUTHSCIENTIFIC,INC,2005.2 MAVSTOperationsManualVersion4.6NobskaDevelopmentCorporationJanuary11,2006.3 High-performance,Low-powerAVR(R)8-bitMicrocontrollerDatasheetAtmelCorporation,200
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝入股協(xié)議書
- IT技術(shù)支持與維護(hù)服務(wù)協(xié)議規(guī)本
- 個人圖書出版合同
- 專業(yè)軟件安裝與維護(hù)協(xié)議
- 軟件定制化開發(fā)合同協(xié)議
- 轉(zhuǎn)讓棋牌茶室協(xié)議書范本
- 郵輪乘務(wù)員派遣合同協(xié)議
- 造紙配件采購合同協(xié)議
- 路牙石訂購合同協(xié)議
- 進(jìn)修賠款協(xié)議書模板
- 2024年世界職業(yè)院校技能大賽中職組“飼料營養(yǎng)與檢測組”賽項(xiàng)考試題庫(含答案)
- 醫(yī)院考勤請假管理制度
- 荊州市國土空間總體規(guī)劃(2021-2035年)
- 民法課件教學(xué)課件
- 醫(yī)院窗簾合同模板寫
- 最強(qiáng)非標(biāo)自動化計算表格.V23SP1(二里半教育2023.07)
- 熱愛生活主題班會
- DB31T 1487-2024 國際醫(yī)療服務(wù)規(guī)范
- 四川省達(dá)州市渠縣2023-2024學(xué)年八年級下學(xué)期期末生物學(xué)試題(解析版)
- (高清版)AQ 1079-2009 瓦斯管道輸送自動噴粉抑爆裝置通 用技術(shù)條件
- 2024年廣東省深圳市中考地理試卷(含答案)
評論
0/150
提交評論