專利名稱:一種在單板中對外圍器件進行片選的方法和系統的制作方法
技術領域:
本發明涉及單板技術,特別是涉及一種在單板中對需通過可編程邏輯器件訪問的外圍器件進行片選的方法和系統。
背景技術:
目前,在一個單板中,如印刷電路板(PCB),中央處理器(CPU)通常利用可編程邏輯器件來對單板中需通過可編程邏輯器件訪問的外圍器件,比如各控制器件和各存儲器件等功能芯片,進行片選。
圖1是在現有技術中實現對外圍器件進行片選的示意圖。圖2是在現有技術中實現對外圍器件進行片選的流程圖。參見圖1和圖2,在現有技術中,在一個單板中,CPU對外圍器件進行片選的過程包括以下步驟步驟201預先為不同的外圍器件分配不同的地址空間。
步驟202當需要片選一個外圍器件時,CPU通過本地總線(Local Bus)中的地址線將需片選的地址信息輸出至可編程邏輯器件中的邏輯處理單元。
步驟203可編程邏輯器件中的邏輯處理單元根據接收到的地址信息確定當前需片選的外圍器件。
步驟204可編程邏輯器件中的邏輯處理單元產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
步驟205在各個外圍器件中,當前需片選的外圍器件根據接收到的片選信號確定自身為當前的片選對象。
至此,則實現了片選外圍器件的過程。此后,確定自身為當前片選對象的外圍器件則可通過Local Bus中的地址線,接收CPU所需訪問的地址信息,并根據所接收到的地址信息在自身的對應地址中執行相應的讀數據或寫數據操作。
由以上描述可以看出,為了實現對特定外圍器件的片選,現有技術為不同的外圍器件分配了不同的地址空間,而此種作法會極大地消耗CPU的地址空間,往往會導致CPU中的地址空間不足。由于為許多外圍器件,比如介質訪問控制(MAC)芯片,分配的地址空間中包括有為該外圍器件預留的地址空間,而該預留的地址空間為空閑的地址空間通常不被使用,因此,當CPU中地址空間不足時,現有技術的解決方法為對各個外圍器件所占用的地址空間進行壓縮,也就是說,根據各個外圍器件實際應占用的地址空間重新為各個外圍器件分配地址空間,釋放出每個外圍器件占用的空閑地址空間,從而增加CPU中可用的地址空間。
但是,現有技術壓縮地址空間的作法也僅僅是釋放出每個外圍器件占用的空閑地址空間,因此,所釋放出的地址空間的大小非常有限,無法從根本上解決CPU地址空間不足的問題。另外,由于在壓縮地址空間后,外圍器件對應的地址空間發生了變化,因此,必須相應地修改底層驅動代碼,重新進行外圍器件與地址空間的映射,從而增加了軟件實現的復雜度。
發明內容
有鑒于此,本發明的主要目的在于提供一種在單板中對外圍器件進行片選的方法和系統,本發明的另一目的在于提供一種可編程邏輯器件,以便從根本上解決CPU中地址空間不足的問題。
為了達到上述目的,本發明的技術方案是這樣實現的一種在單板中對外圍器件進行片選的方法,為不同的外圍器件分配共同的地址空間,該方法還包括A、CPU將可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;B、可編程邏輯器件根據接收到的可標識當前需片選的外圍器件的信息,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件;C、當前需片選的外圍器件根據接收到的片選信號確定自身為片選對象。
該方法進一步包括為不同的外圍器件設置不同的標號,建立每一個外圍器件與為其分配的標號之間的第一對應關系;所述步驟A包括CPU根據所建立的第一對應關系,查找到與當前需片選的外圍器件對應的標號,將所查找到的標號信息作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;在步驟B中,所述可編程邏輯器件產生片選信號的步驟包括可編程邏輯器件根據所建立的第一對應關系,查找到與所接收到的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號。
該方法進一步包括在可編程邏輯器件中設置標號寄存器;在步驟A中,所述將所查找到的標號信息輸出至可編程邏輯器件的步驟包括CPU將所查找到的標號信息作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件中的標號寄存器,由該標號寄存器進行保存;在步驟B中,所述可編程邏輯器件產生片選信號的步驟包括可編程邏輯器件中的邏輯處理單元從標號寄存器中讀取標號信息,根據所建立的第一對應關系,查找到與所讀取的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號。
在步驟A中,所述CPU將所查找到的標號信息輸出給標號寄存器的步驟包括CPU通過本地總線Local Bus中的數據線,將所查找到的標號信息作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件中的標號寄存器。
該方法進一步包括將CPU上的通用輸入輸出IO口與可編程邏輯器件中的邏輯處理單元相連,并建立CPU上通用IO口輸出的不同信號與各個外圍器件之間的第二對應關系;所述步驟A包括CPU根據所建立的第二對應關系查找到與當前需片選的外圍器件對應的通用IO口輸出的信號,通過自身的通用IO口,將所查找到的信號作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件中的邏輯處理單元;在步驟B中,所述可編程邏輯器件產生片選信號的步驟包括可編程邏輯器件中的邏輯處理單元根據所建立的第二對應關系,查找到與所接收到的通用IO口輸出的信號對應的外圍器件,產生對應于所查找到外圍器件的片選信號。
為不同的外圍器件所分配的共同地址空間的大小等于或大于各個外圍器件實際應占用的各地址空間中的最大值。
所述可編程邏輯器件為復雜可編程邏輯器件CPLD或現場可編程門陣列FPGA。
在步驟C之后進一步包括當前需片選的外圍器件通過Local Bus中的地址線,接收CPU所需訪問的地址信息,并根據所接收到的地址信息在自身的對應地址中執行相應的讀數據或寫數據操作。
該方法進一步包括CPU對當前執行片選的進程進行軟件加鎖。
一種在印刷電路板(PCB)中對功能芯片進行片選的方法,應用于網絡存儲領域,為不同的功能芯片分配共同的地址空間,并為不同的功能芯片設置不同的標號,建立每一個功能芯片與為其分配的標號之間的第一對應關系,該方法還包括a1、CPU根據所建立的第一對應關系,查找到與當前需片選的功能芯片對應的標號,將所查找到的標號信息作為可標識當前需片選的功能芯片的信息輸出至可編程邏輯器件;b1、可編程邏輯器件根據所建立的第一對應關系,查找到與所接收到的標號信息對應的功能芯片,產生對應于所查找到功能芯片的片選信號,并將所產生的片選信號輸出至各個功能芯片;c1、當前需片選的功能芯片根據接收到的片選信號確定自身為片選對象。
一種在PCB中對功能芯片進行片選的方法,應用于網絡存儲領域,為不同的功能芯片分配共同的地址空間,并將CPU上的通用IO口與可編程邏輯器件中的邏輯處理單元相連,建立CPU上通用IO口輸出的不同信號與各個功能芯片之間的第二對應關系;a2、CPU根據所建立的第二對應關系查找到與當前需片選的功能芯片對應的通用IO口輸出的信號,通過自身的通用IO口,將所查找到的信號作為可標識當前需片選的功能芯片的信息輸出至可編程邏輯器件中的邏輯處理單元;b2、可編程邏輯器件中的邏輯處理單元根據所建立的第二對應關系,查找到與所接收到的通用IO口輸出的信號對應的功能芯片,產生對應于所查找到功能芯片的片選信號,并將所產生的片選信號輸出至各個功能芯片;c2、當前需片選的功能芯片根據接收到的片選信號確定自身為片選對象。
一種在單板中對外圍器件進行片選的系統,該系統包括CPU、可編程邏輯器件和多個外圍器件,其中,多個外圍器件占用共同的地址空間,并且,CPU,用于將可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;可編程邏輯器件,用于根據接收到的可標識當前需片選的外圍器件的信息,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件;各個外圍器件中,當前需片選的外圍器件根據接收到的片選信號確定自身為片選對象,其它外圍器件根據接收到的片選信號確定自身并非當前的片選對象。
所述可編程邏輯器件內部包括邏輯處理單元和標號寄存器,并且,CPU,用于根據自身中保存的外圍器件與標號的對應關系,查找到與當前需片選的外圍器件對應的標號,將所查找到的標號信息輸出至可編程邏輯器件中的標號寄存器;
標號寄存器,用于保存所接收到的標號信息;邏輯處理單元,用于從標號寄存器中讀取標號信息,并在自身所保存的外圍器件與標號的對應關系中,查找到與所讀取的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
所述CPU用于通過Local Bus中的數據線將所查找到的標號信息輸出至可編程邏輯器件中的標號寄存器。
所述可編程邏輯器件內部包括邏輯處理單元,且CPU上的通用IO口與可編程邏輯器件中的邏輯處理單元相連,其中,CPU,用于在自身所保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與當前需片選的外圍器件對應的信號,并通過自身的通用IO口將所查找到的信號輸出至可編程邏輯器件中的邏輯處理單元;邏輯處理單元,用于在自身所保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與所接收到的信號對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
一種可編程邏輯器件,該可編程邏輯器件內部包括邏輯處理單元和標號寄存器,并且,標號寄存器,用于接收CPU所輸出的標號信息,并保存該標號信息;邏輯處理單元,用于從標號寄存器中讀取標號信息,并在自身所保存的外圍器件與標號的對應關系中,查找到與所讀取的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至外部的各個外圍器件。
一種可編程邏輯器件,該可編程邏輯器件內部包括邏輯處理單元,且該邏輯處理單元通過CPU上的通用IO口與CPU相連,并且,邏輯處理單元,用于接收CPU通過通用IO口所輸出的信號,在自身所保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與所接收到的信號相對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至外部的各個外圍器件。
由此可見,本發明具有以下優點1、本發明為不同的外圍器件分配共同的地址空間,即使外圍器件的數量再多,每一個外圍器件均可以分配到地址空間,因此,從根本上解決了CPU中地址空間不足的問題。
2、在本發明中,外圍器件對應的地址空間是固定的無需進行修改,因此,無需進行現有技術中復雜的修改底層驅動代碼,重新進行外圍器件與地址空間映射的軟件實現過程,降低了軟件實現的復雜度。
3、在現有技術中,由于在壓縮地址空間后,外圍器件對應的地址空間發生了變化,因此,必須相應地修改外圍器件硬件地址線的連接,從而增加了硬件實現的復雜度。而在本發明中,當使用不同的標號來標識出不同的外圍器件實現片選時,在解決地址空間不足問題的同時,CPU與可編程邏輯器件以及各個外圍器件之間的硬件地址線連接無需進行任何的修改,因此,大大簡化了硬件實現的復雜度。
圖1是在現有技術中實現對外圍器件進行片選的示意圖。
圖2是在現有技術中實現對外圍器件進行片選的流程圖。
圖3A是本發明系統的一種具體結構示意圖。
圖3B是本發明系統的另一種具體結構示意圖。
圖4是本發明實施例1的流程圖。
圖5是本發明實施例2的流程圖。
具體實施例方式
在現有技術中,由于是為不同的外圍器件分配不同的地址空間,因此,即使采用壓縮地址空間的作法,也無法從根本上解決地址空間不足的問題。而如果不同的外圍器件能夠分配共同的地址空間,那么,即使外圍器件的數量再多,也不會出現地址空間不足的問題。針對這一特點,本發明提出了一種在單板中對外圍器件進行片選的方法,其核心思想是為不同的外圍器件分配共同的地址空間;CPU將可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;可編程邏輯器件根據接收到的可標識當前需片選的外圍器件的信息,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件;各個外圍器件中,當前需片選的外圍器件根據接收到的片選信號確定自身為片選對象。
為了區分出占用共同地址空間的不同外圍器件,本發明可以預先為不同的外圍器件設置不同的標號,即使用不同的標號來標識出不同的外圍器件。這樣,上述可標識當前需片選的外圍器件的信息則為當前需片選的外圍器件的標號。
或者,本發明也可以預先為不同的外圍器件分配不同的CPU上的通用輸入輸出(IO)口輸出信號,即使用不同的通用IO口輸出信號來標識出不同的外圍器件。這樣,上述可標識當前需片選的外圍器件的信息則為通用IO口所輸出的、對應于當前需片選的外圍器件的信號。
本發明還提出了一種在單板中對外圍器件進行片選的系統。本發明系統包括CPU、可編程邏輯器件和多個外圍器件,其中,多個外圍器件占用共同的地址空間,并且,CPU,用于將可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;可編程邏輯器件,用于根據接收到的可標識當前需片選的外圍器件的信息,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件;各個外圍器件中,當前需片選的外圍器件根據接收到的片選信號確定自身為片選對象,其它外圍器件根據接收到的片選信號確定自身并非當前的片選對象。
圖3A是本發明系統的一種具體結構示意圖。參見圖3A,在本發明系統中,可編程邏輯器件內部可以包括邏輯處理單元和標號寄存器,并且,CPU,用于根據自身中保存的外圍器件與標號的對應關系,查找到與當前需片選的外圍器件對應的標號,將所查找到的標號信息輸出至可編程邏輯器件中的標號寄存器;標號寄存器,用于保存所接收到的標號信息;邏輯處理單元,用于從標號寄存器中讀取標號信息,并在自身中保存的外圍器件與標號的對應關系中,查找到與所讀取的標號信息對應的當前需片選的外圍器件,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
圖3B是本發明系統的另一種具體結構示意圖。參見圖3B,在本發明系統中,可編程邏輯器件內部可以只包括邏輯處理單元,并且,CPU上的通用IO口與可編程邏輯器件中的邏輯處理單元相連,并且,CPU,用于在自身中保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與當前需片選的外圍器件對應的信號,并通過自身的通用IO口將所查找到的信號輸出至可編程邏輯器件中的邏輯處理單元;邏輯處理單元,用于在自身中保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與所接收到的信號對應的當前需片選的外圍器件,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
為使本發明的目的、技術方案和優點更加清楚,下面結合附圖及具體實施例對本發明作進一步地詳細描述。
下面針對使用不同的標號來標識出不同的外圍器件、以及使用不同的通用IO口輸出信號來標識出不同的外圍器件兩種方式,分別舉一個具體實施例來詳細說明本發明的實現過程。
實施例1圖4是本發明實施例1的流程圖。參見圖3A和圖4,利用本發明的系統,針對使用不同的標號來標識出不同外圍器件的方式,本實施例1實現在單板中對外圍器件進行片選的過程包括以下步驟步驟401預先為不同的外圍器件分配共同的地址空間。
這里,為了確保能夠對任意一個外圍器件進行片選,所分配的地址空間的大小等于或大于各個外圍器件實際應占用的各地址空間中的最大值。比如,存在3個外圍器件,外圍器件1為MAC芯片,實際應占有256字節的地址空間,外圍器件2為電擦除只讀存儲器(EEPROM),實際應占有128字節的地址空間,外圍器件3為I2C控制器,實際應占有64字節的地址空間,那么,在本步驟中,為該3個外圍器件分配共同的地址空間,并且,所分配的地址空間的大小為256字節或大于256字節。
步驟402預先為不同的外圍器件設置不同的標號,建立每一個外圍器件與為其分配的標號之間的第一對應關系,并將所建立的第一對應關系分別保存在CPU和可編程邏輯器件內的邏輯處理單元中。
步驟403預先在可編程邏輯器件中設置標號寄存器。
步驟404當需要片選一個外圍器件時,CPU從所建立的第一對應關系中查找到與需片選外圍器件對應的標號。
步驟405CPU通過Local Bus中的數據線將所查找到的標號信息輸出至可編程邏輯器件中的標號寄存器,該標號寄存器保存所接收到的標號信息。
步驟406在可編程邏輯器件中,邏輯處理單元讀取標號寄存器中保存的標號信息。
步驟407可編程邏輯器件中的邏輯處理單元在所建立的第一對應關系中查找到與所讀取的標號信息對應的外圍器件,將所查找到的外圍器件確定為當前需片選的外圍器件。
步驟408可編程邏輯器件中的邏輯處理單元產生對應于所查找到的外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
步驟409在各個外圍器件中,當前需片選的外圍器件根據接收到的片選信號確定自身為當前的片選對象,其它外圍器件根據接收到的片選信號確定自身并非當前的片選對象。
至此,則實現了片選外圍器件的過程。此后,確定自身為當前片選對象的外圍器件則可通過Local Bus中的地址線,接收CPU所需訪問的地址信息,并根據所接收到的地址信息在自身的對應地址中執行相應的讀數據或寫數據操作。
實施例2圖5是本發明實施例2的流程圖。參見圖3B和圖5,利用本發明的系統,針對使用不同的通用IO口輸出信號來標識出不同的外圍器件的方式,本實施例2實現在單板中對外圍器件進行片選的過程包括以下步驟步驟501的所有描述與步驟401的所有描述完全相同。
步驟502預先將CPU上的通用IO口與可編程邏輯器件中的邏輯處理單元相連。
步驟503預先建立CPU上通用IO口輸出的不同信號與各個外圍器件之間的第二對應關系,并將所建立的第二對應關系分別保存在CPU和可編程邏輯器件內的邏輯處理單元中。
這里,建立所述的第二對應關系是為了通過不同的信號標識不同的外圍器件。比如,建立CPU上通用IO口輸出的0001對應外圍器件1,輸出的0010對應外圍器件2等。
步驟504當需要片選一個外圍器件時,CPU從所建立的第二對應關系中查找到與需片選外圍器件對應的信號。
步驟505CPU通過通用IO口將所查找到的信號輸出至可編程邏輯器件中的邏輯處理單元。
步驟506可編程邏輯器件中的邏輯處理單元在所建立的第二對應關系中,查找到與所接收到的信號對應的外圍器件,將所查找到的外圍器件確定為當前需片選的外圍器件。
步驟507可編程邏輯器件中的邏輯處理單元產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
步驟508在各個外圍器件中,當前需片選的外圍器件根據接收到的片選信號確定自身為當前的片選對象,其它外圍器件根據接收到的片選信號確定自身并非當前的片選對象。
至此,則實現了片選外圍器件的過程。此后,確定自身為當前片選對象的外圍器件則可通過Local Bus中的地址線,接收CPU所需訪問的地址信息,并根據所接收到的地址信息在自身的對應地址中執行相應的讀數據或寫數據操作。
需要說明的是,在本發明中,由于各個外圍器件占用共同的地址空間,因此,在同一時間,應只允許對一個外圍器件進行片選,從而保證在同一時間只允許一個外圍器件在各外圍器件占用共同的地址空間中執行自身的讀寫操作。因此,在上述實施例1和實施例2中,當CPU需要片選一個外圍器件時,CPU還可以進一步對當前執行片選的進程進行軟件加鎖,從而在操縱系統支持多進程時,防止其它的進程同時對其它的外圍器件進行片選。其中,CPU對進程進行軟件加鎖的過程為現有技術,但可簡單描述為CPU在當前執行片選的進程中,將可標識是否已軟件加鎖的變量的值設置為已加鎖狀態。
在本發明中,所述的可編程邏輯器件可以是任意一個具有可編程能力,能夠在內部通過編程實現寄存器邏輯功能的器件,比如,可以是復雜可編程邏輯器件(CPLD)或現場可編程門陣列(FPGA)等。
總之,以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種在單板中對外圍器件進行片選的方法,其特征在于,為不同的外圍器件分配共同的地址空間,該方法還包括A、中央處理器CPU將可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;B、可編程邏輯器件根據接收到的可標識當前需片選的外圍器件的信息,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件;C、當前需片選的外圍器件根據接收到的片選信號確定自身為片選對象。
2.根據權利要求1所述的方法,其特征在于,該方法進一步包括為不同的外圍器件設置不同的標號,建立每一個外圍器件與為其分配的標號之間的第一對應關系;所述步驟A包括CPU根據所建立的第一對應關系,查找到與當前需片選的外圍器件對應的標號,將所查找到的標號信息作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;在步驟B中,所述可編程邏輯器件產生片選信號的步驟包括可編程邏輯器件根據所建立的第一對應關系,查找到與所接收到的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號。
3.根據權利要求2所述的方法,其特征在于,該方法進一步包括在可編程邏輯器件中設置標號寄存器;在步驟A中,所述將所查找到的標號信息輸出至可編程邏輯器件的步驟包括CPU將所查找到的標號信息作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件中的標號寄存器,由該標號寄存器進行保存;在步驟B中,所述可編程邏輯器件產生片選信號的步驟包括可編程邏輯器件中的邏輯處理單元從標號寄存器中讀取標號信息,根據所建立的第一對應關系,查找到與所讀取的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號。
4.根據權利要求3所述的方法,其特征在于,在步驟A中,所述CPU將所查找到的標號信息輸出給標號寄存器的步驟包括CPU通過本地總線LocalBus中的數據線,將所查找到的標號信息作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件中的標號寄存器。
5.根據權利要求1所述的方法,其特征在于,該方法進一步包括將CPU上的通用輸入輸出IO口與可編程邏輯器件中的邏輯處理單元相連,并建立CPU上通用IO口輸出的不同信號與各個外圍器件之間的第二對應關系;所述步驟A包括CPU根據所建立的第二對應關系查找到與當前需片選的外圍器件對應的通用IO口輸出的信號,通過自身的通用IO口,將所查找到的信號作為可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件中的邏輯處理單元;在步驟B中,所述可編程邏輯器件產生片選信號的步驟包括可編程邏輯器件中的邏輯處理單元根據所建立的第二對應關系,查找到與所接收到的通用IO口輸出的信號對應的外圍器件,產生對應于所查找到外圍器件的片選信號。
6.根據權利要求1至5中任意一項所述的方法,其特征在于,為不同的外圍器件所分配的共同地址空間的大小等于或大于各個外圍器件實際應占用的各地址空間中的最大值。
7.根據權利要求1至5中任意一項所述的方法,其特征在于,所述可編程邏輯器件為復雜可編程邏輯器件CPLD或現場可編程門陣列FPGA。
8.根據權利要求1至5中任意一項所述的方法,其特征在于,在步驟C之后進一步包括當前需片選的外圍器件通過Local Bus中的地址線,接收CPU所需訪問的地址信息,并根據所接收到的地址信息在自身的對應地址中執行相應的讀數據或寫數據操作。
9.根據權利要求1至5中任意一項所述的方法,其特征在于,該方法進一步包括CPU對當前執行片選的進程進行軟件加鎖。
10.一種在印刷電路板PCB中對功能芯片進行片選的方法,應用于網絡存儲領域,其特征在于,為不同的功能芯片分配共同的地址空間,并為不同的功能芯片設置不同的標號,建立每一個功能芯片與為其分配的標號之間的第一對應關系,該方法還包括a1、CPU根據所建立的第一對應關系,查找到與當前需片選的功能芯片對應的標號,將所查找到的標號信息作為可標識當前需片選的功能芯片的信息輸出至可編程邏輯器件;b1、可編程邏輯器件根據所建立的第一對應關系,查找到與所接收到的標號信息對應的功能芯片,產生對應于所查找到功能芯片的片選信號,并將所產生的片選信號輸出至各個功能芯片;c1、當前需片選的功能芯片根據接收到的片選信號確定自身為片選對象。
11.一種在PCB中對功能芯片進行片選的方法,應用于網絡存儲領域,其特征在于,為不同的功能芯片分配共同的地址空間,并將CPU上的通用IO口與可編程邏輯器件中的邏輯處理單元相連,建立CPU上通用IO口輸出的不同信號與各個功能芯片之間的第二對應關系;a2、CPU根據所建立的第二對應關系查找到與當前需片選的功能芯片對應的通用IO口輸出的信號,通過自身的通用IO口,將所查找到的信號作為可標識當前需片選的功能芯片的信息輸出至可編程邏輯器件中的邏輯處理單元;b2、可編程邏輯器件中的邏輯處理單元根據所建立的第二對應關系,查找到與所接收到的通用IO口輸出的信號對應的功能芯片,產生對應于所查找到功能芯片的片選信號,并將所產生的片選信號輸出至各個功能芯片;c2、當前需片選的功能芯片根據接收到的片選信號確定自身為片選對象。
12.一種在單板中對外圍器件進行片選的系統,其特征在于,該系統包括CPU、可編程邏輯器件和多個外圍器件,其中,多個外圍器件占用共同的地址空間,并且,CPU,用于將可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;可編程邏輯器件,用于根據接收到的可標識當前需片選的外圍器件的信息,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件;各個外圍器件中,當前需片選的外圍器件根據接收到的片選信號確定自身為片選對象,其它外圍器件根據接收到的片選信號確定自身并非當前的片選對象。
13.根據權利要求12所述的系統,其特征在于,所述可編程邏輯器件內部包括邏輯處理單元和標號寄存器,并且,CPU,用于根據自身中保存的外圍器件與標號的對應關系,查找到與當前需片選的外圍器件對應的標號,將所查找到的標號信息輸出至可編程邏輯器件中的標號寄存器;標號寄存器,用于保存所接收到的標號信息;邏輯處理單元,用于從標號寄存器中讀取標號信息,并在自身所保存的外圍器件與標號的對應關系中,查找到與所讀取的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
14.根據權利要求13所述的系統,其特征在于,所述CPU用于通過Local Bus中的數據線將所查找到的標號信息輸出至可編程邏輯器件中的標號寄存器。
15.根據權利要求12所述的系統,其特征在于,所述可編程邏輯器件內部包括邏輯處理單元,且CPU上的通用IO口與可編程邏輯器件中的邏輯處理單元相連,其中,CPU,用于在自身所保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與當前需片選的外圍器件對應的信號,并通過自身的通用IO口將所查找到的信號輸出至可編程邏輯器件中的邏輯處理單元;邏輯處理單元,用于在自身所保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與所接收到的信號對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件。
16.一種可編程邏輯器件,其特征在于,該可編程邏輯器件內部包括邏輯處理單元和標號寄存器,并且,標號寄存器,用于接收CPU所輸出的標號信息,并保存該標號信息;邏輯處理單元,用于從標號寄存器中讀取標號信息,并在自身所保存的外圍器件與標號的對應關系中,查找到與所讀取的標號信息對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至外部的各個外圍器件。
17.一種可編程邏輯器件,其特征在于,該可編程邏輯器件內部包括邏輯處理單元,且該邏輯處理單元通過CPU上的通用IO口與CPU相連,并且,邏輯處理單元,用于接收CPU通過通用IO口所輸出的信號,在自身所保存的外圍器件與通用IO口輸出信號的對應關系中,查找到與所接收到的信號相對應的外圍器件,產生對應于所查找到外圍器件的片選信號,并將所產生的片選信號輸出至外部的各個外圍器件。
全文摘要
本發明公開了一種在單板中對外圍器件進行片選的方法和系統。為不同的外圍器件分配共同的地址空間;中央處理器(CPU)將可標識當前需片選的外圍器件的信息輸出至可編程邏輯器件;可編程邏輯器件根據接收到的可標識當前需片選的外圍器件的信息,產生對應于當前需片選外圍器件的片選信號,并將所產生的片選信號輸出至各個外圍器件;當前需片選的外圍器件根據接收到的片選信號確定自身為片選對象。本發明為不同的外圍器件分配共同的地址空間,這樣,即使外圍器件的數量再多,每一個外圍器件均可以分配到地址空間,因此,從根本上解決了CPU地址空間不足的問題。
文檔編號G06F13/00GK1821982SQ200610072048
公開日2006年8月23日 申請日期2006年4月4日 優先權日2006年4月4日
發明者賀榮徽, 陳慶議 申請人:杭州華為三康技術有限公司