新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 80C51原始IP核內部RAM的擴展方案

80C51原始IP核內部RAM的擴展方案

作者: 時間:2008-07-02 來源:單片機與嵌入式系統(tǒng)應用 收藏

  引言

本文引用地址:http://www.butianyuan.cn/article/85158.htm

  系列單片機是一類經典的8位微處理器,其設計方法和體系結構一直是其他各類單片機設計的參考典范,自從20世紀80年代面世以后,得到了極大的發(fā)展與應用。直到今天,市場上還有一大部分單片機應用成品將其作為處理核心?;?a class="contentlabel" href="http://www.butianyuan.cn/news/listbylabel/label/80C51">80C51系列單片機無知識產權保護、市場應用廣泛等優(yōu)點,對其進行功能拓展,既有利于經濟上節(jié)約成本,也有利于成果的推廣使用。而隨著單片機應用日趨復雜化,傳統(tǒng)的51系列單片機在設計上的不足逐漸顯現(xiàn)出來。如在現(xiàn)有128字節(jié)內部基礎上,處理一些比較復雜的算法就顯不足。鑒于此,本文在Oregano公司設計的8051 (即下述MC8051)基礎上,進行了對其內部高128字節(jié)擴展。給出一種新的擴展設計方法,實現(xiàn)了對與一般區(qū)地址空間相連的高128字節(jié)的間接尋址操作,并以此為基礎,對內部RAM進行了可達64 KB的擴展實現(xiàn),通過了相應的軟硬件仿真測試。

  1 對MC8051高位128字節(jié)的擴展設計

  對MC8051高位128字節(jié)的擴展設計主要分3個方面加以說明:一是傳統(tǒng)系列的內部基本結構;二是高128字節(jié)的尋址方式;三是對內部的RAM地址選擇控制。

  1.1 傳統(tǒng)80C51系列的內部基本結構

  80C51是經典的單片機系列,具有典型的單片機體系結構,由CPU系統(tǒng)、ROM、RAM、I/O口以及特殊功能SFR、2個16位定時/計數器、5個中斷源和1個串口組成。針對本文所要討論的內容,這里介紹一下80C51存儲結構和尋址方式:80C51系列單片機存儲器結構采用哈佛型結構,物理上共分片內外程序存儲器、片內外數據存儲器4個存儲空間。對于數據存儲器,片內外數據存儲器地址彼此獨立,指令尋址各自不同,這里主要關注片內數據存儲單元的結構。

  8051單片機共有7種尋址方式,這里只對其中3種作一下簡要介紹:立即尋址,操作碼后的一個字節(jié)就是實際操作數本身;尋址,操作碼后為某一編號,寄存器的內容為操作數;寄存器間接尋址,其與寄存器尋址的區(qū)別在于前者寄存器中的內容就是操作數,而后者寄存器中的內容為操作數地址,此地址指向的寄存器中存入的數據才是實際操作數本身。

  1.2 高128字節(jié)的尋址方式

  由前面介紹內容可知,MC8051內部RAM分為地址相連、功能不同的兩部分:低128字節(jié)的內部用戶RAM區(qū)和高128字節(jié)的特殊功能寄存器區(qū)(SFR)。這兩部分均可用寄存器直接、間接尋址方式進行尋址操作。經過設計修改的8051,低128字節(jié)的功能和操作方式完全不變,對其高128字節(jié),分為地址重疊和功能不同的兩部分,以不同的尋址方式加以區(qū)別,控制操作。高128字節(jié)如果作為內部用戶RAM使用,只可以通過寄存器R0、R1進行尋址,以地址為85H的寄存器單元為例,若此時85H作為SFR,則用命令“MOV 85H, #33H”;若此時作為一般內部用戶RAM單元,則用命令:

  MOV R0,# 85H

  MOV @R0,#33H

  在MC8051中,寄存器R0、R1只應用于寄存器間接尋址使用,即R0、R1中存儲的內容為間接尋址中操作數的地址。對高128地址空間,如果作為一般的RAM寄存區(qū)使用,只采用間接尋址;如果作為特殊功能寄存器區(qū)(SFR),則采取除間接尋址外的其他尋址方式。這樣就可以通過只對R0、R1中內容進行條件判定,確定是否觸發(fā)對高128地址空間進行一般RAM數據操作。

  1.3 內部的RAM地址選擇控制

  在MC8051中,對低128字節(jié)用戶RAM區(qū)的讀寫有專門的地址輸出ram_address_out。由于1個字節(jié)的尋址長度為256,所以ram_address_out只取內部地址s_adr低7位,即ram_address_out<=s_adr(6 downto 0),輔以RAM寫使能控制,實現(xiàn)對低128字節(jié)的讀寫。這里由于要對RAM區(qū)擴展成為256字節(jié),所以用戶RAM區(qū)的地址應該可以尋址256字節(jié)長度。這就要求對IP核中對RAM區(qū)的地址傳遞有相應的修改,修改后地址的具體傳遞過程如圖1所示。

圖1 RAM地址傳遞控制

  一個完整的執(zhí)行過程如下所述:首先CPU從ROM讀取指令,然后到內部狀態(tài)機進行指令解釋,送入譯碼器執(zhí)行具體的數據和地址的存取操作(譯碼器中通過地址多路選擇器adr_mux和數據多路選擇器data_mux來實現(xiàn)對地址和數據的控制)。如果此時命令不涉及寄存器間接尋址,由圖1可知,取到的RAM地址就是一般8051的執(zhí)行結果。如果此時進行寄存器間接尋址,則可分為兩種情況:一是對高128字節(jié)的間接尋址,此時的操作目的,是要對高128字節(jié)進行一般RAM的數據操作;二是除第一種情況外的一般寄存器間接尋址操作。由于SFR不能使用寄存器間接尋址,所以這兩種情況可以根據R0、R1中存儲的地址的最高位進行判別。


上一頁 1 2 下一頁

關鍵詞: IP核 RAM 80C51 寄存器

評論


相關推薦

技術專區(qū)

關閉