一種單片機超大數據外存擴展系統(tǒng)及其控制方法
【專利摘要】本發(fā)明公開了一種單片機超大數據外存擴展系統(tǒng)及其控制方法,系統(tǒng)包括1個單片機、多個第一譯碼器、多個擴展I/O口芯片、多個第二譯碼器以及多個存儲器,各存儲器均與單片機的地址、數據和控制總線相連,各第一譯碼器的輸入端連接單片機的地址總線,第一譯碼器的輸出端連接各擴展I/O口芯片的使能端,各擴展I/O口芯片的輸入端與單片機的數據總線相連,各擴展I/O口芯片與各第二譯碼器一一對應,各第二譯碼器的輸入端與對應的擴展I/O口芯片的輸出端相連,各第二譯碼器的輸出端分別與各存儲器的片選端口相連。本發(fā)明突破了傳統(tǒng)擴展方法的容量限制,滿足了超大容量的實時存取需求。
【專利說明】
一種單片機超大數據外存擴展系統(tǒng)及其控制方法
技術領域
[0001]本發(fā)明屬于單片機存儲技術領域,特別涉及了一種單片機超大數據外存擴展系統(tǒng)及其控制方法。
【背景技術】
[0002]隨著計算機網絡通信的日益普及,計算機數據存儲容量的構建越來越重要。而MCU的地址管腳個數卻限制了存儲器的存取容量。因此,如何能夠更多的擴展MCU的存儲器以應付超大容量的存儲需求,成為該技術領域的人熱切需要解決的問題。
[0003]目前現有的M⑶存儲擴展方法大致分為兩種:
一、通過單片機的P1、P3管腳來擴展存取容量,但是這種方法受P1、P3□數量的限制,擴展的容量是十分有限的,例如普通的MCS51單片機,最多只能擴展256*256個存儲器(全譯碼);而且占用了 I/O 口Pl、P3管腳;
二、通過串口擴展,例如使用串轉并芯片74LS164把串口數據轉換成并口數據,連接每個存儲器的CS(片選)管腳,從而實現擴展,但是這種方法的弊端是擴展的越多,串口發(fā)送的時間越長,實時性不好,而且占用MCU的串口,增加了難度和成本。。
【發(fā)明內容】
[0004]為了解決上述【背景技術】提出的技術問題,本發(fā)明旨在提供一種單片機超大數據外存擴展系統(tǒng)及其控制方法,突破傳統(tǒng)擴展方法的容量限制,滿足超大容量的實時存取需求。
[0005]為了實現上述技術目的,本發(fā)明的技術方案為:
一種單片機超大數據外存擴展系統(tǒng),包括I個單片機、多個第一譯碼器、多個擴展I/O 口芯片、多個第二譯碼器以及多個存儲器,各存儲器均與單片機的地址、數據和控制總線相連,各第一譯碼器的輸入端連接單片機的地址總線,第一譯碼器的輸出端連接各擴展I/O 口芯片的使能端,各擴展I/O 口芯片的輸入端與單片機的數據總線相連,各擴展I/O 口芯片與各第二譯碼器一一對應,各第二譯碼器的輸入端與對應的擴展I/O 口芯片的輸出端相連,各第二譯碼器的輸出端分別與各存儲器的片選端口相連。
[0006]其中,所述擴展I/O口芯片采用74LS373芯片。
[0007]其中,所述第一譯碼器、第二譯碼器均采用74LS138芯片。
[0008]其中,所述存儲器可以是R0M,也可以為RAM。
[0009]本發(fā)明還包括基于上述單片機超大數據外存擴展系統(tǒng)的控制方法,包括以下步驟:
(1)單片機通過第一譯碼器使能各擴展I/O口芯片;
(2)單片機向使能的擴展I/O口芯片寫入數據;
(3)將擴展I/O口芯片的輸出數據作為高位地址,經第二譯碼器進行全譯碼后,將擴展I/O 口芯片的輸出數據轉化為各存儲器的片選信號,從而選通相應存儲器;
(4)單片機通過標準存取外部存儲器的指令向選通的存儲器進行數據存?。? (5)在下一存取周期,若進行存取的存儲器不變,則直接執(zhí)行步驟(4),當改變存儲器時,則返回步驟(I)重新使能擴展I/O 口芯片。
[0010]采用上述技術方案帶來的有益效果:
(1)本發(fā)明通過增加I/O口擴展芯片來擴展存儲容量,根據擴展的I/O 口數量確定擴展的存儲容量,突破了利用普通51單片機的Pl 口進行擴展的容量限制(256個);
(2)本發(fā)明與串口擴展相比,不需要占用單片機的串口,串口擴展的實時性會隨著擴展的增加而降低,而本發(fā)明通過寫入指令來切換被選的存儲器,當存儲器不變時,不需要再次寫入指令來選擇存儲器,直接存取即可,提高了存取的效率;
(3)采用本發(fā)明的外存擴展方法,擴展的I/O地址和每個存儲器都是重疊的,在選中每個擴展的I/O時,都同時選中每個存儲器的相應地址。如果存儲器是RAM,重疊空間就不能用來存放數據,浪費了一點空間,且整個存儲器空間是不連續(xù)的;如果存儲器是R0M,是只讀的,而擴展的I/O是只寫的,相互不影響,這部分重疊空間是可以使用,并不會浪費空間,但整個存儲器空間仍然是不連續(xù)的。本發(fā)明的理念就是犧牲極少的重疊空間,而換取巨大的存儲空間,尤其適用于不需要連續(xù)存儲空間但對存儲容量要求很高的領域和場合。
【附圖說明】
[0011 ]圖1是本發(fā)明的系統(tǒng)組成框圖。
【具體實施方式】
[0012]以下將結合附圖,對本發(fā)明的技術方案進行詳細說明。
[0013]如圖1所示本發(fā)明的系統(tǒng)組成框圖,一種單片機超大數據外存擴展系統(tǒng),包括I個單片機、多個第一譯碼器、多個擴展I/O 口芯片、多個第二譯碼器以及多個存儲器,各存儲器均與單片機的地址、數據和控制總線相連,各第一譯碼器的輸入端連接單片機的地址總線,第一譯碼器的輸出端連接各擴展I/O 口芯片的使能端,各擴展I/O 口芯片的輸入端與單片機的數據總線相連,各擴展I/o 口芯片與各第二譯碼器一一對應,各第二譯碼器的輸入端與對應的擴展I/o 口芯片的輸出端相連,各第二譯碼器的輸出端分別與各存儲器的片選端口相連。
[0014]在本實施例中,所述擴展I/O口芯片采用74LS373芯片。
[0015]在本實施例中,所述第一譯碼器、第二譯碼器均采用74LS138芯片。其中第一譯碼器用于擴展多個I/O口,決定擴展的I/O的地址,第二譯碼器用于將擴展的I/O口輸出的數據進行全譯碼,實現存儲器的片選。
[0016]在本實施例中,所述存儲器可以是R0M,也可以為RAM。
[0017]本發(fā)明還包括基于上述單片機超大數據外存擴展系統(tǒng)的控制方法,包括以下步驟:
(1)單片機通過第一譯碼器使能各擴展I/O口芯片;
(2)單片機向使能的擴展I/O口芯片寫入數據;
(3)將擴展I/O口芯片的輸出數據作為高位地址,經第二譯碼器進行全譯碼后,將擴展I/O 口芯片的輸出數據轉化為各存儲器的片選信號,從而選通相應存儲器;
(4)單片機通過標準存取外部存儲器的指令向選通的存儲器進行數據存取; (5)在下一存取周期,若進行存取的存儲器不變,則直接執(zhí)行步驟(4),當改變存儲器時,則返回步驟(I)重新使能擴展I/O 口芯片。
[0018]以上實施例僅為說明本發(fā)明的技術思想,不能以此限定本發(fā)明的保護范圍,凡是按照本發(fā)明提出的技術思想,在技術方案基礎上所做的任何改動,均落入本發(fā)明保護范圍之內。
【主權項】
1.一種單片機超大數據外存擴展系統(tǒng),其特征在于:包括I個單片機、多個第一譯碼器、多個擴展I/o 口芯片、多個第二譯碼器以及多個存儲器,各存儲器均與單片機的地址、數據和控制總線相連,各第一譯碼器的輸入端連接單片機的地址總線,第一譯碼器的輸出端連接各擴展I/o 口芯片的使能端,各擴展I/O 口芯片的輸入端與單片機的數據總線相連,各擴展I/O 口芯片與各第二譯碼器一一對應,各第二譯碼器的輸入端與對應的擴展I/O 口芯片的輸出端相連,各第二譯碼器的輸出端分別與各存儲器的片選端口相連。2.根據權利要求1所述一種單片機超大數據外存擴展系統(tǒng),其特征在于:所述擴展I/O口芯片采用74LS373芯片。3.根據權利要求1所述一種單片機超大數據外存擴展系統(tǒng),其特征在于:所述第一譯碼器、第二譯碼器均采用74LS138芯片。4.根據權利要求1所述一種單片機超大數據外存擴展系統(tǒng),其特征在于:所述存儲器的類型為ROM或者RAM。5.基于權利要求1所述單片機超大數據外存擴展系統(tǒng)的控制方法,其特征在于,包括以下步驟: (1)單片機通過第一譯碼器使能各擴展I/o口芯片; (2)單片機向使能的擴展I/O口芯片寫入數據; (3)將擴展I/O口芯片的輸出數據作為高位地址,經第二譯碼器進行全譯碼后,將擴展I/O 口芯片的輸出數據轉化為各存儲器的片選信號,從而選通相應存儲器; (4)單片機通過標準存取外部存儲器的指令向選通的存儲器進行數據存?。?(5)在下一存取周期,若進行存取的存儲器不變,則直接執(zhí)行步驟(4),當改變存儲器時,則返回步驟(I)重新使能擴展I/O 口芯片。
【文檔編號】G06F13/20GK105930287SQ201610254749
【公開日】2016年9月7日
【申請日】2016年4月22日
【發(fā)明人】朱節(jié)中, 郭萍, 梅永, 顧文亞, 孟祥瑞, 鄭玉, 吉哲嘉, 李凌
【申請人】南京信息工程大學