存儲器和空間_第1頁
存儲器和空間_第2頁
存儲器和空間_第3頁
存儲器和空間_第4頁
存儲器和空間_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

存儲器和空間第一頁,共三十三頁,2022年,8月28日“LF”

-片內有Flash存儲器;“LC”

-片內有CMOS工藝的程序存儲器,LF2407/LF2407A片內:2K字的單訪問RAM(SARAM)544字的雙訪問RAM-DARAM(B0塊-256字;B1塊-256字;B2塊-32字)5.1片內存儲器5.1.1雙訪問RAM(DARAM)一個機器周期內可被訪問2次:主相寫數據到DARAM;而從相從DARAM讀出數據。從而大大提高運行速度。第二頁,共三十三頁,2022年,8月28日544字DARAM分為三塊:B0、B1和B2該存儲器空間主要用來保存數據,但是B0塊也可以用來保存程序。B0塊配置成數據存儲器空間還是程序存儲器空間,要由狀態寄存器ST1的CNF位來決定:(1)CNF=1,B0映射到程序存儲器空間;(2)CNF=0,B0映射到數據存儲器空間。5.1.2單訪問RAM(SARAM)片內有2K字的單訪問RAM(SARAM),在一個機器周期第三頁,共三十三頁,2022年,8月28日內只能被訪問1次。例如,如果要將累加器的值保存,且裝載一個新值到累加器,在SARAM中,完成這個任務需要兩個時鐘周期,而在DARAM中只需要一個時鐘周期。利用軟件可將SARAM配置成外部存儲器或內部SARAM。5.1.3Flash程序存儲器片內的Flash存儲器映射到程序存儲器空間。MP/MC*引腳決定是訪問片內的程序存儲器(Flash)還是訪問片外的程序存儲器。

第四頁,共三十三頁,2022年,8月28日1.

Flash程序存儲器使用電擦除的方式,進行程序的修改和開發。Flash模塊特點:運行在3.3V電壓模式。對Flash編程時需要在VCCP上有5V(±5%)電壓供電。Flash有多個向量,用來保護它,防止被擦除。Flash的編程是由CPU來實現的。2.Flash控制方式寄存器(FCMR)Flash模塊有4個寄存器。控制對Flash的操作。在任意時刻,用戶可以訪問Flash模塊中的存儲器陣第五頁,共三十三頁,2022年,8月28日列,也可以訪問控制寄存器,但不能同時訪問。模塊有一個Flash控制方式寄存器來選擇兩種訪問模式。該寄存器映射在內部I/O空間的FF0Fh,這是一個不能讀的特殊功能寄存器,它可在Flash的存儲器陣列方式下使能Flash,用來對Flash陣列編程。該寄存器的功能如下:使用OUT指令,可以將Flash模塊置于寄存器訪問模式,被使用的數據操作數是無意義的。例如:OUTdummy,0FF0Fh

;選擇寄存器訪問方式第六頁,共三十三頁,2022年,8月28日使用IN指令,可將Flash模塊置于存儲器陣列訪問模式,被使用的數據操作數是無意義的。例如:INdummy,0FF0Fh ;選擇存儲器陣列訪問方式5.2程序存儲器程序存儲器空間尋址范圍為64K,包括了片內DARAM和片內Flash。圖5-1所示為LF2407A的程序存儲器空間的映射。

第七頁,共三十三頁,2022年,8月28日第八頁,共三十三頁,2022年,8月28日有兩個因素決定程序存儲器的配置:(1)CNF位。CNF位是狀態寄存器ST1的第12位,決定DARAM中的B0塊配置在數據存儲器空間,還是配置在程序存儲器空間。0:256字的B0塊被映射到數據存儲器空間。1:256字的B0塊被映射到程序存儲器空間。復位時,CNF=0,B0塊被映射到數據存儲器空間。(2)MP/MC*引腳。該引腳決定是從片內Flash讀取指令。還是從外部程序存儲器讀取指令。

第九頁,共三十三頁,2022年,8月28日

0:微控制器方式。此時訪問的是片內程序存儲器(片內Flash)0000h-7FFFh空間。

1:微處理器方式。此時訪問的是片外程序存儲器的0000h-7FFFh空間。無論MP/MC*引腳為何值,LF240xDSP都是從程序存儲器空間的0000h單元開始執行程序。5.3數據存儲器尋址范圍高達64K字:第十頁,共三十三頁,2022年,8月28日前32K字(0000h-7FFFh)是內部數據存儲器空間,包括了DARAM和片內外設的映射寄存器。后32K字(8000h-FFFFh)空間的存儲器為外部數據存儲器。

1.數據存儲器映射片內有3個DARAM塊:B0、B1和B2塊。B0塊:即可為數據存儲器,也可配置為程序存儲器。B1、B2塊:只能配置為數據存儲器。圖5-2為數據存儲器空間的映射。第十一頁,共三十三頁,2022年,8月28日第十二頁,共三十三頁,2022年,8月28日兩種尋址方式:直接尋址和間接尋址。直接尋址時,128字為一頁的數據塊來對數據存儲器進行尋址。圖5-3顯示了這些塊是如何被尋址的。全部64K的數據存儲器分為512個數據頁,其標號從0-511。當前頁由狀態寄存器ST0中的9位數據頁指針(DP)值來確定。因此,當使用直接尋址指令時,用戶必須事先指定數據頁,并在訪問數據存儲器的指令中指定偏移量,偏移量為7位。第十三頁,共三十三頁,2022年,8月28日第十四頁,共三十三頁,2022年,8月28日編程時要注意,訪問下面的數據存儲器的地址空間是非法的,并會對NMI置位。除了以下地址,任何對外設寄存器映射中的保留地址的訪問也是非法的。

0080h-00FFh 701Fh-71FFh(CAN內部的) 0500h-07FFh 7230h-73FFh(部分在CAN內部) 1000h-700Fh 7440h-74FFh 7030h-703Fh 7540h-75FFh 7060h-706Fh 7600h-77EFh 77F4h-7FFFh 7080h-708Fh

第十五頁,共三十三頁,2022年,8月28日3.第0頁數據地址映射數據存儲器中包括存儲器映射寄存器,它們位于數據存儲器的第0頁(地址0000h-007Fh),表5-1對第0頁數據地址映射進行詳細說明。應用中必須注意以下幾點:(1)以零等待狀態訪問兩個映射寄存器:中斷屏蔽寄存器(IMR)和中斷標志寄存器(IFR)(2)測試/仿真保留區被測試和仿真系統用于特定信息發送。因此不能對測試/仿真地址進行操作。第十六頁,共三十三頁,2022年,8月28日表5-1第0頁數據地址映射

地址 名稱 說明 0000h-0003h - 保留 0004h IMR

中斷屏蔽寄存器 0005h - 保留 0006h IFR

中斷標志寄存器

0023h-0027h - 保留 002Bh-002Fh - 保留用作測試和仿真 0060h-007Fh B2 雙訪問RAM的B2塊第十七頁,共三十三頁,2022年,8月28日4.配置數據存儲器CNF位決定B0塊的配置,CNF位是狀態寄存器ST1的第12位。

CNF=0,B0塊被映射為數據存儲器空間。復位時,CNF=0

CNF=1,B0塊被映射到程序存儲器空間。5.4I/O空間I/O空間的尋址可達64K字,圖5-4

為LF2407A的I/O空間映射。第十八頁,共三十三頁,2022年,8月28日第十九頁,共三十三頁,2022年,8月28日I/O空間訪問的控制信號為IS*。所有64K的I/O空間均可以用IN和OUT指令來訪問。當執行IN或OUT指令時,信號IS*變為有效,可作為外部I/O設備的片選信號。訪問外部I/O端口與訪問程序存儲器、數據存儲器復用相同的的地址總線和數據總線。數據總線的寬度為16位,若使用8位的外設,即可使用高8位數據總線,也可使用低8位數據總線,以適應特定應用的需要。第二十頁,共三十三頁,2022年,8月28日當訪問片內的I/O空間時,信號IS*和STRB*變成無效,外部地址和數據總線僅僅當訪問外部I/O地址時有效。下面是使用匯編語言的直接訪問I/O空間的實際例子。

IN DAT2,0AFEEh;從端口地址為AFEEh的外設;讀數據,并存入DAT2寄存器

OUT DAT2,0CFEFh;輸出數據存儲器DAT2的內容

;到端口地址為CFEFh的外設

第二十一頁,共三十三頁,2022年,8月28日下面是訪問等待狀態發生器的寄存器的實例:

IN DAT2,0FFFFh

;從等待狀態發生器讀取數據到DAT2寄存器

OUT DAT2,0FFFFh

;將DAT2寄存器的數據寫入等待狀態發生器,使用等待狀態發生器5.5外部存儲器接口選通信號說明LF240xDSP可以訪問如表5-2所列出的外部存儲器和I/O空間。當DSP外擴存儲器和I/O時,需要將選通信號與外部存儲器和I/O的使能引腳相連。第二十二頁,共三十三頁,2022年,8月28日表5-2

外部存儲器空間訪問及片選信號外部存儲空間 空間大小(字) 選通信號程序空間 64K PS*數據空間 64K DS*I/O空間 64K IS*LF240xDSP的外部存儲器和I/O空間接口信號的功能描述如表5-3(P60)所示。第二十三頁,共三十三頁,2022年,8月28日5.6等待狀態發生器當訪問速度較慢的外部存儲器或外設時,CPU需要產生等待狀態。等待狀態是以機器周期為單位,CPU通過READY引腳可產生任意數目的等待狀態(延長訪問時間),可使快速的CPU訪問慢速的外部存儲器或外設。5.6.1用READY信號產生等待狀態信號若CPU所訪問的外設沒有準備好,則外設應保持READY引腳為低,此時LF240x等待一個CLKOUT周期,并再次檢查READY腳。若READY信號沒有被使用,LF240x將在外部訪問時把READY信號拉高。READY引腳可第二十四頁,共三十三頁,2022年,8月28日用來產生任意數目的等待狀態。但是,當LF240x全速運行時,它不能對第一個周期作出快速響應來產生一個基于READY的等待狀態。為立即得到等待狀態,應先使用片內等待狀態發生器,然后用READY信號產生其余的等待狀態。5.6.2用等待狀態發生器產生等待狀態等待狀態發生器可編程為指定的片外空間(數據、程序或I/O)產生第一個等待狀態,而與READY信號的狀態無關。為了控制等待狀態發生器,就必須對映射到I/O空間的等待狀態控制寄存器(WSGR,地址為FFFFh)訪問。第二十五頁,共三十三頁,2022年,8月28日等待狀態控制寄存器的格式如下:位15-11:保留,讀出的值永遠為0位10-9:BVIS,總線可視模式。提供了一種跟蹤內部總線活動的方式。當運行片內的程序或數據存儲器時,位10-9允許各種總線的可視模式。

00-總線可視模式關(降低功耗和噪聲);

01-總線可視模式開(降低功耗和噪聲);

10-數據到地址總線輸出到外部地址總線數據到數據總線輸出到外部數據總線第二十六頁,共三十三頁,2022年,8月28日

11-程序到地址總線輸出到外部地址總線程序到數據總線輸出到外部數據總線位8-6:ISWS,I/O空間等待狀態位。這三位決定了片外I/O空間等待狀態(0-7)的數目。復位時,這三位置為111,為片外I/O空間的讀寫設定了7個等待狀態。位5-3:DSWS,數據空間等待狀態位。這三位決定了片外數據空間等待狀態(0-7)的數目。復位時,這三位置為111,為片外數據空間的讀寫設定了7個等待狀態。第二十七頁,共三十三頁,2022年,8月28日位2-0:PSWS,程序空間等待狀態位。這三位決定了片外程序空間等待狀態(0-7)的數目。復位時,這三位置為111,為片外程序空間的讀寫設定了7個等待狀態。總之,不管READY信號的狀態如何,等待狀態發生器都將向給定的空間(數據、程序或I/O)插入0-7個等待狀態,等待狀態的數目由軟件來確定。然后READY信號可以變為低電平,產生附加的等待狀態。第二十八頁,共三十三頁,2022年,8月28日如果m是一個特定的讀寫操作的所要求的時鐘周期(CLKOUT)的數目,w是附加的等待狀態數目,那么操作將會花費(m+w)個周期。復位時,WSGR各位均置1,且默認每個外部空間(數據、程序或I/O)均產生7個等待狀態。5.7外部存儲器接口LF240x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論