本發(fā)明屬于接口電路領(lǐng)域,具體涉及一種速率自適應(yīng)的存儲器接口電路。
背景技術(shù):
一般的總線控制類器件都帶有外置的存儲器接口,是由于總線控制器的內(nèi)部存儲空間有限,故通過提供外部置的存儲器接口與單片的存儲器相連接的方式擴展內(nèi)部的存儲空間進行數(shù)據(jù)的收發(fā)。比如1553B總線控制器的透明模式就提供一種外置存儲器的接口,不過由于1553B總線速率固定,故該接口只提供固定的速率。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服上述不足,提供一種速率自適應(yīng)的存儲器接口電路,發(fā)送速率靈活可配置。
為了達到上述目的,本發(fā)明包括接收內(nèi)部通道信號的內(nèi)部接收同步電路,以及接收發(fā)送速率控制模塊信號的接口控制電路,內(nèi)部接收同步電路的信號發(fā)送至若干接收處理模塊,所有接收處理模塊的信號發(fā)送至第一輸出邏輯單元,第一輸出邏輯單元的信號通過第三輸出邏輯單元發(fā)送至存儲器接口;所述幾口控制電路的信號發(fā)送至若干發(fā)送處理模塊,所有發(fā)送處理模塊的信號發(fā)送至第二輸出邏輯單元,第二輸出邏輯電源的信號通過第三輸出邏輯單元發(fā)送至存儲器接口,所有發(fā)送處理模塊的輸出信號依次通過通道X發(fā)送控制模塊和內(nèi)部發(fā)送同步電路后發(fā)送至內(nèi)部通道。
所述接口控制電路通過ch1_rx_en、ch2_rx_en、……、chn_rx_en連接與其對應(yīng)的接收處理模塊,通過ch1_tx_en、ch2_tx_en、……、chn_tx_en連接與其對應(yīng)的發(fā)送處理模塊,接口控制電路的復(fù)位和COMI接口空閑時處于idle狀態(tài),當ch1_rx狀態(tài)中ch1_rx_en使能,COMI接口使用權(quán)調(diào)度給通道1接收處理模塊,ch1_tx狀態(tài)中ch1_tx_en使能,COMI接口使用權(quán)調(diào)度給通道1發(fā)送處理模塊,同理,chn_rx狀態(tài)中chn_rx_en使能,COMI接口使用權(quán)調(diào)度給通道n接收處理模塊,chn_tx狀態(tài)中chn_tx_en使能,COMI接口使用權(quán)調(diào)度給通道n發(fā)送處理模塊,在chn_rx或者chn_tx的狀態(tài)中如果通道不需要COMI后立刻釋放使用權(quán),如果有通道需要占用COMI跳轉(zhuǎn)至通道1發(fā)送處理模塊或通道1接收處理模塊,如果無COMI使用請求則跳轉(zhuǎn)至idle。
所述接口控制電路中,chx_tx和chx_rx狀態(tài)根據(jù)各通信鏈路的請求和使用優(yōu)先級判斷下一狀態(tài)哪個通信鏈路將占用COMI接口,如果只有一個請求則直接跳轉(zhuǎn)至請求部分,如果同時有多個請求則遵循接收優(yōu)先于發(fā)送,通道1優(yōu)先于通道2,通道2優(yōu)先于通道3......通道n-1優(yōu)先于通道n的原則進行仲裁判斷。
所述發(fā)送速率控制模塊包括發(fā)送開始同步模塊,發(fā)送開始同步模塊連接通道1發(fā)送速率控制模塊、通道2發(fā)送速率控制模塊、……、通道n發(fā)送速率控制模塊。
與現(xiàn)有技術(shù)相比,本發(fā)明通過發(fā)送速率控制模塊實現(xiàn)的是根據(jù)各通道的發(fā)送速率而產(chǎn)生的發(fā)送控制信號,本發(fā)明采用發(fā)送速率控制模塊實現(xiàn)了通信鏈路的發(fā)送速自適應(yīng),發(fā)送速率靈活可配置由于固定速率的接口,采用分時復(fù)用的方法最大化COMI接口的效率及數(shù)據(jù)吞吐率,本發(fā)明能夠同時應(yīng)用在各個通信鏈路和內(nèi)部存儲器之間。
附圖說明
圖1為本發(fā)明適用范圍示意圖;
圖2為本發(fā)明的原理框圖;
圖3為本發(fā)明的控制狀態(tài)機遷徙示意圖;
圖4為本發(fā)明的控制子狀態(tài)機遷徙示意圖;
圖5為本發(fā)明的發(fā)送速率控制模塊電路原理框圖;
圖6為本發(fā)明的發(fā)送速率同步計數(shù)模塊電路原理框圖;
圖7為本發(fā)明的發(fā)送開始同步模塊邏輯示意圖;
圖8為本發(fā)明的經(jīng)過圖5中發(fā)送開始同步模塊處理后的各通道發(fā)送速率計數(shù)啟動信號時序圖;
圖9為本發(fā)明的同步模塊實現(xiàn)電路原理圖;
圖10為本發(fā)明的通道X發(fā)送控制模塊電路原理框圖;
圖11為本發(fā)明的發(fā)送處理模塊邏輯示意圖;
圖12為本發(fā)明的接收處理模塊邏輯示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進一步說明。
參見圖1和圖2,本發(fā)明包括接收內(nèi)部通道信號的內(nèi)部接收同步電路,以及接收發(fā)送速率控制模塊信號的接口控制電路,內(nèi)部接收同步電路的信號發(fā)送至若干接收處理模塊,所有接收處理模塊的信號發(fā)送至第一輸出邏輯單元,第一輸出邏輯單元的信號通過第三輸出邏輯單元發(fā)送至存儲器接口;所述幾口控制電路的信號發(fā)送至若干發(fā)送處理模塊,所有發(fā)送處理模塊的信號發(fā)送至第二輸出邏輯單元,第二輸出邏輯電源的信號通過第三輸出邏輯單元發(fā)送至存儲器接口,所有發(fā)送處理模塊的輸出信號依次通過通道X發(fā)送控制模塊和內(nèi)部發(fā)送同步電路后發(fā)送至內(nèi)部通道。
本發(fā)明的適應(yīng)范圍是串行通信總線控制器件。多通道指的就是多個通信鏈路。本發(fā)明就是總線控制器上的存儲器接口模塊,該模塊可實現(xiàn)對外部存儲器(本發(fā)明中簡稱RAM)的一個讀寫訪問。通過對RAM的寫訪問將通信鏈路上接收的數(shù)據(jù)寫入RAM上的指定區(qū)域。通過讀RAM將指的區(qū)域的數(shù)據(jù)通過總線控制器發(fā)到通信鏈路上。各通信鏈路對存儲器接口(本發(fā)明中簡稱COMI)進行分時復(fù)用。本發(fā)明適用于COMI的數(shù)據(jù)吞吐率大于或者等于通信鏈路的數(shù)據(jù)吞吐率。如果每個鏈路的數(shù)據(jù)速率為1bps~100bps可配置,共有4個通信鏈路;COMI的數(shù)據(jù)寬度為32bit,且COMI時鐘大于或者等于50MHz時,則可采用本發(fā)明實現(xiàn)的接口電路。雖然外置存儲器的接口速率較串行鏈路通道較低,但是由于串行鏈路通道的數(shù)據(jù)位寬為1bit,而存儲器接口根據(jù)數(shù)據(jù)線的位寬的數(shù)據(jù)吞吐率要大于通信鏈路。
參見圖3,為接口控制電路的主狀態(tài)機,由圖可見復(fù)位和COMI接口空閑時處于idle狀態(tài)。如果有任何通道請求COMI接口時跳轉(zhuǎn)至圖中chx_tx_chx_rx的子狀態(tài)機中,在1中判斷是哪個鏈路請求使用COMI接口,根據(jù)請求及優(yōu)先級跳轉(zhuǎn)至相應(yīng)的狀態(tài)ch1_rx(通道1接收)、ch2_rx(通道2接收)、chn_rx(通道n接收)、ch1_tx(通道1發(fā)送)、ch2_tx(通道2發(fā)送)或者chn_tx(通道n發(fā)送)。ch1_rx狀態(tài)中ch1_rx_en使能,COMI接口使用權(quán)調(diào)度給通信鏈路1的接收部分。ch1_tx狀態(tài)中ch1_tx_en使能,COMI接口使用權(quán)調(diào)度給通信鏈路1的發(fā)送部分。同理,chn_rx狀態(tài)中chn_rx_en使能,COMI接口使用權(quán)調(diào)度給通信鏈路n的接收部分。chn_tx狀態(tài)中chn_tx_en使能,COMI接口使用權(quán)調(diào)度給通信鏈路n的發(fā)送部分。在chn_rx或者chn_tx的狀態(tài)中如果通道不需要COMI后立刻釋放使用權(quán),如果有通道需要占用COMI跳轉(zhuǎn)至通道1,如果無COMI使用請求則跳轉(zhuǎn)至idle。
參見圖4,為接口控制電路的子狀態(tài)機,由圖可見在chx_tx_chx_rx狀態(tài)根據(jù)各通信鏈路的請求和使用優(yōu)先級判斷下一狀態(tài)哪個通信鏈路將占用COMI接口,如果只有一個請求則直接跳轉(zhuǎn)至請求部分,如果同時有多個請求則遵循接收優(yōu)先于發(fā)送,通道1優(yōu)先于通道2,通道2優(yōu)先于通道3......通道n-1優(yōu)先于通道n的原則進行仲裁判斷。注意在chx_tx_chx_rx狀態(tài)不會跳轉(zhuǎn)只idle狀態(tài),該狀態(tài)下意味著有通道請求COMI還未得到使用權(quán)。只有在所有的通道都不請求COMI時才會回到idle狀態(tài)。
參見圖5,為發(fā)送鏈路控制模塊的內(nèi)部結(jié)構(gòu)示意圖,有一個發(fā)送開始同步模塊和n個通道發(fā)送速率控制模塊組成。發(fā)送開始同步模塊是將所有請求COMI接口的啟動信號同步為按照1、2、3…n的順序啟動的信號。如果不是所有的通道都請求COMI接口則按照從小到的順序,依次啟動。通道發(fā)送速率控制模塊實現(xiàn)通道發(fā)送速率與COMI接口數(shù)據(jù)吞吐率的一個匹配功能,由參數(shù)可變的計數(shù)器構(gòu)成。比如,COMI的數(shù)據(jù)寬度為32bit,時鐘頻率為50MHz,而通道1的通信速率時100Mbps,則通道1發(fā)送速率控制模塊此時為一個模16的計數(shù)器。
參見圖6,發(fā)送速率同步計數(shù)模塊是實現(xiàn)發(fā)送速率自適應(yīng)的一個關(guān)鍵模塊,該計數(shù)器的選擇端根據(jù)總線通信速率和存儲器接口位款來配置。計數(shù)值滿后產(chǎn)生一個發(fā)送使能信號,進行一次數(shù)據(jù)讀取發(fā)送操作
參見圖7,發(fā)送開始同步模塊邏輯原理圖如所示,第一個啟動信號直接同步,采用第一個同步后的信號去同步第二個請求啟動的信號,依此類推,最后同步后的信號是一串連續(xù)的啟動信號。這樣將不會出現(xiàn)同時有兩個通道同時請求COMI接口。同步后的信號時序如圖8所示。
參見圖9,控制信號的同步邏輯采用脈沖展寬成電平,再將電平變化成脈沖的邏輯實現(xiàn)。數(shù)據(jù)信號直接采用不同時鐘的寄存器同步實現(xiàn)。
參見圖10,通道X發(fā)送控制模塊實現(xiàn)的時根據(jù)通道使能信號選擇數(shù)據(jù)發(fā)送通道,將從COMI取的數(shù)據(jù)之間發(fā)送到選通的通信鏈路中去。
參見圖11,發(fā)送處理模塊主要實現(xiàn)的功能是將串行數(shù)據(jù)轉(zhuǎn)換為N位的并行數(shù)據(jù)送出COMI。由N個移位寄存器、一個模N的計數(shù)器和一個N位并行寄存器組成,計數(shù)器計滿N時將N個移位寄存器的值同時存入N位并行寄存器中,并在下一時鐘產(chǎn)生一個COMI接口的片選和寫信號。
參見圖12,接收處理模塊主要實現(xiàn)的功能是將COMI接口并行的N位數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)送出。接收優(yōu)先級高于發(fā)送的,任意一個通道接收到數(shù)據(jù)則先將接收的數(shù)據(jù)寫入存儲器中,接收的寫插入發(fā)送的讀中。如果接收FIFO未空則一直接收寫存儲器,直到接收FIFO空,此時讓出存儲器接口可以繼續(xù)進行發(fā)送。
輸出邏輯部分單位的控制信號,如WR、RD和CS信號采用或邏輯實現(xiàn),多位的DATA和ADDR信號采用多路選擇器實現(xiàn)。