專利名稱:一種尋址控制器件及使用該器件進行尋址的方法
技術領域:
本發明涉及電子技術中的邏輯控制領域,尤其是一種尋址控制器件及使用該器件進行尋址的方法。
背景技術:
在電子設計領域中,主設備Master Device對從設備Slave Device的訪問通常通過直接訪問,這樣便要求Master Device的尋址空間大于等于Slave Device的地址空間,體現在硬件設計上就是要求MasterDevice的地址總線不能少于Slave Device的地址總線。這在很大程度上限制了工程師系統級的設計,甚至在很多情況下,已有條件無法支持Master Device的尋址空間大于等于Slave Device的地址空間的要求,從而導致無法實現預定的功能。
發明內容
本發明要解決的技術問題是提供一種能實現具有較小尋址空間的主設備訪問具有較大尋址空間的從設備的尋址控制器件及使用該器件進行尋址的方法。
本發明解決其技術問題所采用的技術方案是一種尋址控制器件,包括讀寫控制模塊、讀地址寄存器、寫地址寄存器、寫數據寄存器、讀數據寄存器、地址輸出選擇模塊和數據總線控制模塊;所述讀寫控制模塊根據主設備的讀、寫操作產生相應的從設備讀、寫控制時序;根據主設備的寫操作及給出的地址控制所述讀地址寄存器、寫地址寄存器及寫數據寄存器的寫操作;根據主設備的數據總線的讀時序讀取所述讀數據寄存器的數據賦給所述數據總線;所述讀地址寄存器和寫地址寄存器的輸出進入所述地址輸出選擇模塊,所述地址輸出選擇模塊根據所述讀寫控制模塊的控制時序選擇輸出到從設備地址總線的地址;所述數據總線控制模塊根據所述讀寫控制模塊的讀寫控制時序控制從設備數據總線的讀寫;所述讀寫控制時序為讀控制時序時,從設備數據總線的數據通過所述數據總線控制模塊讀取后存儲在所述讀數據寄存器;所述讀寫控制時序為寫控制時序時,所述數據總線控制模塊將寫數據寄存器的數據賦給從設備的數據總線。
上述方案中,所述讀寫控制模塊包括寫操作控制模塊、讀操作控制模塊和從設備控制時序產生模塊,所述從設備控制時序產生模塊根據主設備的讀、寫操作產生相應的從設備讀、寫控制時序;所述寫操作控制模塊根據主設備的寫操作及給出的地址控制所述讀地址寄存器、寫地址寄存器及寫數據寄存器的寫操作;所述讀操作控制模塊根據主設備的數據總線的讀時序讀取所述讀數據寄存器的數據賦給所述數據總線。
上述方案中,所述讀地址寄存器根據所述讀寫控制模塊的控制存儲主設備讀從設備時的從設備的地址輸入;所述寫地址寄存器根據所述讀寫控制模塊的控制存儲主設備寫從設備時的從設備的地址輸入;所述寫數據寄存器根據所述讀寫控制模塊的控制存儲主設備寫從設備時的從設備的數據輸入。
上述方案中,所述寫操作控制模塊通過分別對應所述讀地址寄存器、寫地址寄存器及寫數據寄存器的使能端口及數據輸出端口實現對所述讀地址寄存器、寫地址寄存器及寫數據寄存器寫操作的控制。
一種使用上述尋址控制器件進行尋址的方法,包括主設備對從設備的讀操作和主設備對從設備的寫操作,其中,主設備對從設備的讀操作包括以下步驟5.1.1主設備通過所述讀寫控制模塊將要進行讀操作的從設備的地址值寫入所述讀地址寄存器;5.1.2所述地址輸出選擇模塊根據所述讀寫控制模塊的控制時序選擇將所述讀地址寄存器存儲的地址值輸出到從設備地址總線上;5.1.3根據所述讀寫控制模塊產生的讀控制時序,從設備將所述地址總線上的地址值相應的數據發送到從設備數據總線,所述數據總線控制模塊將所述從設備數據總線上的數據存入所述讀數據寄存器;5.1.4主設備通過所述讀寫控制模塊從所述讀數據寄存器中讀取所述進行讀操作的從設備的數據;主設備對從設備的寫操作包括以下步驟5.2.1主設備通過所述讀寫控制模塊將要進行寫操作的從設備的地址值寫入所述寫地址寄存器;5.2.2所述地址輸出選擇模塊根據所述讀寫控制模塊的控制時序選擇將所述寫地址寄存器存儲的地址值輸出到從設備地址總線上;5.2.3根據所述讀寫控制模塊產生的寫控制時序,將要寫入從設備的數據寫入所述寫數據寄存器,并將所述數據通過所述數據總線控制模塊輸出到從設備數據總線上;5.2.4從設備根據所述寫控制時序,將所述從設備數據總線上的數據存儲到所述從設備地址總線上的地址值相應的地址單元。
上述方案中,步驟5.1.1包括以下步驟6.1所述讀寫控制模塊檢測到主設備對所述讀地址寄存器的寫操作,使能所述讀地址寄存器;6.2所述讀寫控制操作模塊將主設備數據總線上要進行讀操作的從設備的地址值寫入所述讀地址寄存器。
上述方案中,步驟5.1.3中所述讀寫控制模塊根據檢測到的主設備對所述讀數據寄存器的讀操作產生所述讀控制時序。
上述方案中,步驟5.2.1包括以下步驟8.1所述讀寫控制模塊檢測到主設備對所述寫地址寄存器的寫操作,使能所述寫地址寄存器;8.2所述讀寫控制操作模塊將主設備數據總線上要進行寫操作的從設備的地址值寫入所述寫地址寄存器。
上述方案中,步驟5.2.3中所述讀寫控制模塊根據檢測到的主設備對所述寫數據寄存器的寫操作產生所述寫控制時序。
本發明的有益效果主要表現在本發明提供的技術方案通過Master Device總線操作的識別和時序轉換,擴展了Master Device總線的尋址空間,可以靈活適配Master Device對Slave Device的尋址空間范圍,即實現了Master Device使用較小的地址空間去訪問地址空間較大的Slave Device;器件設計的通用性較強,極大地簡化了系統級設計的難度,對于縮短產品開發周期,避免不必要的硬件重復設計開發,有效降低開發成本都有積極的意義。
圖1為本發明尋址控制器件的組成模塊關系框圖;圖2為本發明尋址控制器件的讀寫控制模塊內部的結構框圖;圖3為使用本發明尋址控制器件進行尋址的方法中寫操作的流程圖;圖4為使用本發明尋址控制器件進行尋址的方法中寫操作的流程圖。
具體實施例方式
下面結合附圖對本發明作進一步的描述。
如圖1所示,一種尋址控制器件,為CPLD(Complex ProgrammableLogical Device,可編程邏輯器件)或者FPGA(Fiele ProgrammableGate Array,現場可編程門陣列),包括讀寫控制模塊、讀地址寄存器Reg_read_address、寫地址寄存器Reg_write_address、寫數據寄存器Reg_write_data、讀數據寄存器Reg_read_data、地址輸出選擇模塊和數據總線控制模塊。
如圖2所示,讀寫控制模塊包括寫操作控制模塊、讀操作控制模塊和從設備控制時序產生模塊。從設備控制時序產生模塊負責檢測Master Device的讀、寫操作,并產生相應的控制Slave Device讀、寫的控制時序,包括slave_cs、slave_wr、slave_rd。寫操作控制模塊負責檢測Master Device寫操作,并根據Master Device給出的地址產生讀地址寄存器、寫地址寄存器、寫數據寄存器三個寄存器的寫入使能信號,分別對應Data_en
,Data_en[1],Data_en[2],同時將Master Device數據總線的數據賦值給Data_wr_out,從而實現對讀地址寄存器、寫地址寄存器及寫數據寄存器的寫操作的控制,其中,Data_wr_out與讀地址寄存器、寫地址寄存器、寫數據寄存器的輸入直接連接。讀操作控制模塊負責檢測Master Device讀操作,并根據Master Device給出的讀時序將讀數據寄存器中的數據放到MasterDevice的數據總線上。
讀地址寄存器Reg_read_address用來存儲Master Device讀Slave Device時Slave Device的地址輸入;讀地址寄存器的數據輸入為寫操作控制模塊的輸出Data_wr_out,讀地址寄存器的輸入允許控制信號為寫操作控制模塊的輸出Data_en
,讀地址寄存器的輸出直接送給地址輸出選擇模塊。
寫地址寄存器Reg_write_address用來存儲Master Device寫Slave Device時Slave Device的地址輸入;寫地址寄存器的數據輸入為寫操作控制模塊的輸出Data_wr_out,寫地址寄存器的輸入允許控制信號為寫操作控制模塊的輸出Data_en[1],寫地址寄存器的輸出直接送給地址輸出選擇模塊。
地址輸出選擇模塊根據讀寫控制模塊產生的slave_wr信號來選擇讀地址寄存器或寫地址寄存器中的數據作為slave的地址輸入slave_address;即當控制信號slave_wr為邏輯低時選擇寫地址寄存器的值輸出到slave_address,否則選擇讀地址寄存器的值輸出到slave_address。
寫數據寄存器Reg_write_data用來存儲Master Device寫SlaveDevice時Slave Device的數據輸入;寫數據寄存器的數據輸入為寫操作控制模塊的輸出Data_wr_out,寫數據寄存器的輸入允許控制信號為寫操作控制模塊的輸出Data_en[2],寫數據寄存器的輸出送給數據總線控制模塊。
讀數據寄存器Reg_read_data用來存儲Master Device讀SlaveDevice時Slave Device給出的有效數據;讀數據寄存器的數據輸入為數據總線控制模塊的數據輸出,讀數據寄存器的數據輸出送給讀寫控制模塊中的讀操作控制模塊的數據輸入Data_rd_in。
數據總線控制模塊根據讀寫控制模塊中從設備控制時序產生模塊產生的控制信號slave_cs、slave_wr、slave_rd來驅動或者讀取Slave Device的數據總線上的值;當控制信號slave_cs、slave_wr、slave_rd給出的是讀控制時序時,數據總線控制模塊將Slave Device的數據總線上的值送給讀數據寄存器;當控制信號slave_cs、slave_wr、slave_rd給出的是寫控制時序時,數據總線控制模塊將寫數據寄存器的值賦給Slave Device的數據總線。
若Master Device總線包括片選信號CPU_CS、讀使能信號CPU_RD、寫使能信號CPU_WR、13比特地址總線CPU_ADDRESS、16比特數據總線;目標器件Slave Device的總線接口包括片選信號slave_cs、讀使能信號slave_rd、寫使能信號slave_wr、16比特地址總線slave_address、16比特數據總線,則由于Master Device的地址總線只有13比特,Master Device想直接訪問Slave Device顯然無法實現。此時需要將Master Device及Slave Device的總線分別接入上述CPLD或者或FPGA,采用本發明的方式來實現Master Device對SlaveDevice的尋址。
Master Device對Slave Device的訪問包括讀操作和寫操作兩種,下面首先詳細說明讀操作的實現原理。
參照圖3,首先,Master Device進行一次寫操作,通過讀寫控制模塊將要訪問的Slave Device地址值寫入讀地址寄存器若讀地址寄存器對應的地址為“0X0001”,則讀寫控制模塊中的寫操作控制模塊檢測到Master Device對地址“0X0001”的讀地址寄存器的寫操作,將Data_en
信號置為邏輯高電平,在該信號的控制下,Master Device數據總線上的數據被寫入讀地址寄存器。然后,從設備控制時序產生模塊產生的控制信號slave_wr為高電平,地址選擇輸出選擇模塊選擇讀地址寄存器的值輸出到Slave Device的地址輸入從設備地址總線slave_address上。接著,讀寫控制模塊中從設備控制時序產生模塊檢測到Master Device對讀數據寄存器的讀操作,立即產生相應的對Slave Device的讀控制時序,即產生相應的slave_cs、slave_wr、slave_rd控制時序,Slave Device在這些控制信號的驅動下,將相應地址總線slave_address上地址的數據發送到其數據總線上;同時,數據總線控制模塊檢測到slave_cs、slave_wr、slave_rd控制時序為讀控制時序,就把Slave Device數據總線上的數據存入地址為“0X0004”的讀數據寄存器;最后,Master Device就通過讀寫控制模塊從讀數據寄存器中讀到相應的數據。這樣便完成了Master Device對Slave Device的間接讀操作。
然后詳細說明Master Device對Slave Device寫操作的實現原理。參照圖4,首先,Master Device通過讀寫控制模塊將要進行寫操作的Slave Device地址值寫入寫地址寄存器若寫地址寄存器對應的地址為“0X0002”,則讀寫控制模塊中的寫操作控制模塊檢測到MasterDevice對地址“0X0002”的寫操作,將Data_en[1]信號置為邏輯高電平,在該信號的控制下,Master Device數據總線上的數據被寫入寫地址寄存器。然后,從設備控制時序產生模塊產生的控制信號s1ave_wr為低電平,地址選擇輸出選擇模塊選擇寫地址寄存器的值輸出到Slave Device的地址輸入從設備地址總線slave_address上。接著,Master Device在完成上述寫操作后,接著再發出寫操作,將數據寫入寫數據寄存器,地址為“0X0003”;在此過程中,讀寫控制模塊中的從設備控制時序產生模塊檢測到Master Device對寫數據寄存器的寫操作,立即產生相應的對Slave Device的寫控制時序,即產生相應的slave_cs、slave_wr、slave_rd控制時序;Master Device將數據寫入地址為“0X0003”的寫數據寄存器;同時,數據總線控制模塊檢測到slave_cs、slave_wr、slave_rd控制時序為寫控制時序,就把寫數據寄存器中存儲的數據送到Slave Device數據總線上。最后Slave Device在寫控制信號的驅動下,將數據總線上的數據存儲到地址總線上的地址值相應地址單元。這樣便完成了Master Device對Slave Device的間接寫操作。
權利要求
1.一種尋址控制器件,其特征在于包括讀寫控制模塊、讀地址寄存器、寫地址寄存器、寫數據寄存器、讀數據寄存器、地址輸出選擇模塊和數據總線控制模塊;所述讀寫控制模塊根據主設備的讀、寫操作產生相應的從設備讀、寫控制時序;根據主設備的寫操作及給出的地址控制所述讀地址寄存器、寫地址寄存器及寫數據寄存器的寫操作;根據主設備的數據總線的讀時序讀取所述讀數據寄存器的數據賦給所述數據總線;所述讀地址寄存器和寫地址寄存器的輸出進入所述地址輸出選擇模塊,所述地址輸出選擇模塊根據所述讀寫控制模塊的控制時序選擇輸出到從設備地址總線的地址;所述數據總線控制模塊根據所述讀寫控制模塊的讀寫控制時序控制從設備數據總線的讀寫;所述讀寫控制時序為讀控制時序時,從設備數據總線的數據通過所述數據總線控制模塊讀取后存儲在所述讀數據寄存器;所述讀寫控制時序為寫控制時序時,所述數據總線控制模塊將寫數據寄存器的數據賦給從設備的數據總線。
2.如權利要求1所述的尋址控制器件,其特征在于所述讀寫控制模塊包括寫操作控制模塊、讀操作控制模塊和從設備控制時序產生模塊,所述從設備控制時序產生模塊根據主設備的讀、寫操作產生相應的從設備讀、寫控制時序;所述寫操作控制模塊根據主設備的寫操作及給出的地址控制所述讀地址寄存器、寫地址寄存器及寫數據寄存器的寫操作;所述讀操作控制模塊根據主設備的數據總線的讀時序讀取所述讀數據寄存器的數據賦給所述數據總線。
3.如權利要求2所述的尋址控制器件,其特征在于所述讀地址寄存器根據所述讀寫控制模塊的控制存儲主設備讀從設備時的從設備的地址輸入;所述寫地址寄存器根據所述讀寫控制模塊的控制存儲主設備寫從設備時的從設備的地址輸入;所述寫數據寄存器根據所述讀寫控制模塊的控制存儲主設備寫從設備時的從設備的數據輸入。
4.如權利要求3所述的尋址控制器件,其特征在于所述寫操作控制模塊通過分別對應所述讀地址寄存器、寫地址寄存器及寫數據寄存器的使能端口及數據輸出端口實現對所述讀地址寄存器、寫地址寄存器及寫數據寄存器寫操作的控制。
5.使用如權利要求1所述的尋址控制器件進行尋址的方法,其特征在于,包括主設備對從設備的讀操作和主設備對從設備的寫操作,其中,主設備對從設備的讀操作包括以下步驟5.1.1主設備通過所述讀寫控制模塊將要進行讀操作的從設備的地址值寫入所述讀地址寄存器;5.1.2所述地址輸出選擇模塊根據所述讀寫控制模塊的控制時序選擇將所述讀地址寄存器存儲的地址值輸出到從設備地址總線上;5.1.3根據所述讀寫控制模塊產生的讀控制時序,從設備將所述地址總線上的地址值相應的數據發送到從設備數據總線,所述數據總線控制模塊將所述從設備數據總線上的數據存入所述讀數據寄存器;5.1.4主設備通過所述讀寫控制模塊從所述讀數據寄存器中讀取所述進行讀操作的從設備的數據;主設備對從設備的寫操作包括以下步驟5.2.1主設備通過所述讀寫控制模塊將要進行寫操作的從設備的地址值寫入所述寫地址寄存器;5.2.2所述地址輸出選擇模塊根據所述讀寫控制模塊的控制時序選擇將所述寫地址寄存器存儲的地址值輸出到從設備地址總線上;5.2.3根據所述讀寫控制模塊產生的寫控制時序,將要寫入從設備的數據寫入所述寫數據寄存器,并將所述數據通過所述數據總線控制模塊輸出到從設備數據總線上;5.2.4從設備根據所述寫控制時序,將所述從設備數據總線上的數據存儲到所述從設備地址總線上的地址值相應的地址單元。
6.如權利要求5所述的進行尋址的方法,其特征在于步驟5.1.1包括以下步驟6.1所述讀寫控制模塊檢測到主設備對所述讀地址寄存器的寫操作,使能所述讀地址寄存器;6.2所述讀寫控制操作模塊將主設備數據總線上要進行讀操作的從設備的地址值寫入所述讀地址寄存器。
7.如權利要求6所述的進行尋址的方法,其特征在于步驟5.1.3中所述讀寫控制模塊根據檢測到的主設備對所述讀數據寄存器的讀操作產生所述讀控制時序。
8.如權利要求5所述的進行尋址的方法,其特征在于步驟5.2.1包括以下步驟8.1所述讀寫控制模塊檢測到主設備對所述寫地址寄存器的寫操作,使能所述寫地址寄存器;8.2所述讀寫控制操作模塊將主設備數據總線上要進行寫操作的從設備的地址值寫入所述寫地址寄存器。
9.如權利要求8所述的進行尋址的方法,其特征在于步驟5.2.3中所述讀寫控制模塊根據檢測到的主設備對所述寫數據寄存器的寫操作產生所述寫控制時序。
全文摘要
一種尋址控制器件及使用該器件進行尋址的方法,器件包括讀寫控制模塊、讀地址寄存器、寫地址寄存器、寫數據寄存器、讀數據寄存器、地址輸出選擇模塊、數據總線控制模塊;讀寫控制模塊產生從設備讀、寫控制時序,控制讀地址寄存器、寫地址寄存器、寫數據寄存器的寫操作,讀取讀數據寄存器的數據賦給數據總線;地址輸出選擇模塊選擇將讀地址寄存器和寫地址寄存器的輸出傳給從設備地址總線;數據總線控制模塊控制從設備數據總線的讀寫;讀控制時序時,從設備數據總線的數據通過該模塊后存儲在讀數據寄存器;寫控制時序時,該模塊將寫數據寄存器的數據賦給從設備的數據總線。本發明實現了主設備使用較小的地址空間去訪問地址空間較大的從設備。
文檔編號H04L29/02GK101072152SQ20071007511
公開日2007年11月14日 申請日期2007年6月18日 優先權日2007年6月18日
發明者李新雙 申請人:中興通訊股份有限公司