两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

通用高速串行通訊控制器的制作方法

文檔序號:7949697閱讀:224來源:國知局
專利名稱:通用高速串行通訊控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)通信領(lǐng)域,是一種通用高速串行通訊控制裝置。
現(xiàn)有的一些串行通訊控制裝置,如SIEMENS公司產(chǎn)品數(shù)據(jù)手冊《ESCC8 SAB 82538 Enhanced Serial Communication Controller》TB01.94中介紹的SAB82538,包括總線接口單元,并行接口,內(nèi)部數(shù)據(jù)總線以及振蕩器和8個相同結(jié)構(gòu)的串行接口0~7。串行接口又包括FIFO,計時器,協(xié)議處理部分(HDLC,SDLC)和DMA接口,DPLL等。總線接口單元用來與外部的數(shù)據(jù)處理器進行各種數(shù)據(jù)和控制參數(shù)的傳遞,并行接口完成一些控制功能。串行接口是該芯片的最重要的部分。接收方向的數(shù)據(jù)在串行接口內(nèi)部,經(jīng)過協(xié)議處理等模塊處理之后存入內(nèi)部的FIFO當中,然后通過中斷信號通知外部的數(shù)據(jù)控制器,將數(shù)據(jù)通過總線接口單元由外部的數(shù)據(jù)控制器取走。發(fā)送方向的處理過程相反。該器件為8路串行HDLC格式的收發(fā)器件,產(chǎn)品手冊介紹其每個端口支持的串行數(shù)據(jù)速率最大可達10Mbps。其接收、發(fā)送數(shù)據(jù)存儲在內(nèi)部的FIFO中。分配給發(fā)送和接收的FIFO的最大值為32 byte。FIFO與外部控制器之間采用8/16位并行數(shù)據(jù)接口,讀寫時鐘速率最高為10M。在實際應用中,每次數(shù)據(jù)的接收和發(fā)送均需要外部的控制設(shè)備進行數(shù)據(jù)的分析和控制,其執(zhí)行的時間開銷嚴重影響實際串口上數(shù)據(jù)傳輸速率。這種裝置存在以下幾個問題芯片支持的數(shù)據(jù)端口少,或者每個端口支持的數(shù)據(jù)速率有限;需要較多的外圍器件配合工作,一些實現(xiàn)的方案還需要處理能力較強的外部芯片配合;因而總體實現(xiàn)的成本較高。
本發(fā)明的目的在于提供一個高速,多路,具有流量控制,同時成本低廉的通用高速串行通訊控制裝置。
本發(fā)明所述的通用高速串行通訊控制器,由接收部分和發(fā)送部分構(gòu)成,
所述接收部分包括時序發(fā)生器,控制整個接收部分工作;1~8個串行數(shù)據(jù)接收器,1~8個數(shù)據(jù)緩沖器,1~8個未讀數(shù)據(jù)包計數(shù)器,構(gòu)成1~8組相同的數(shù)據(jù)接收和處理單元;多路器A;數(shù)據(jù)控制器,查詢所述數(shù)據(jù)緩沖器的狀態(tài),并根據(jù)所述數(shù)據(jù)緩沖器的狀態(tài)決定是否將所述數(shù)據(jù)緩沖器的數(shù)據(jù)通過所述多路器A和總線L1將數(shù)據(jù)寫入外部的數(shù)據(jù)存儲器;多路器B,外部的數(shù)據(jù)處理裝置通過它和總線L2判斷所述未讀數(shù)據(jù)包計數(shù)器的狀態(tài)。
所述發(fā)送部分包括時序發(fā)生器,控制整個發(fā)送部分工作;1~8個串行數(shù)據(jù)發(fā)送器,1~8個數(shù)據(jù)緩沖器,1~8個未發(fā)送數(shù)據(jù)包計數(shù)器,構(gòu)成1~8組相同的數(shù)據(jù)發(fā)送和處理單元;多路器C;多路器D;所述未發(fā)送數(shù)據(jù)包計數(shù)器通過所述多路器D、總線L4與外部進行各種狀態(tài)的交互;數(shù)據(jù)控制器,在時序發(fā)生器的控制下,查詢所述未發(fā)送數(shù)據(jù)包計數(shù)器的狀態(tài),通過多路器C、總線L3從外部的數(shù)據(jù)存儲器中提取數(shù)據(jù),放入所述數(shù)據(jù)緩沖器中,并通過數(shù)據(jù)緩沖器將數(shù)據(jù)發(fā)送出去。
下面結(jié)合附圖對本發(fā)明進行詳細描述。


圖1為本發(fā)明的接收部分的示意圖。
圖2為本發(fā)明的發(fā)送部分的示意圖。
圖3是本發(fā)明在高速分組交換網(wǎng)當中的一種實際應用方案。
如圖1,接收部分101包括時序發(fā)生器102;1~8個串行數(shù)據(jù)接收器201~208,1~8個數(shù)據(jù)緩沖器301~308,1~8個未讀數(shù)據(jù)包計數(shù)器401~408,構(gòu)成1~8組相同的數(shù)據(jù)接收和處理單元;多路器A103;數(shù)據(jù)控制器110;多路器B104。串行數(shù)據(jù)接收器201~208、數(shù)據(jù)緩沖器301~308、未讀數(shù)據(jù)包計數(shù)器401~408按照標號的最后一個數(shù)字一一對應,如串行數(shù)據(jù)接收器201與數(shù)據(jù)緩沖器301、未讀數(shù)據(jù)包計數(shù)器401對應。所述未讀數(shù)據(jù)包計數(shù)器是加減計數(shù)器。
在時序發(fā)生器102的控制下,接收器101通過多路器A103、總線L1向數(shù)據(jù)存儲器(圖中未示出)寫入數(shù)據(jù),數(shù)據(jù)包通過多路器B104、總線L2與外部數(shù)據(jù)處理裝置進行各種狀態(tài)的交互。串行數(shù)據(jù)接收器201根據(jù)時序發(fā)生器102產(chǎn)生的時序接收串行數(shù)據(jù),當接收到一定數(shù)量的數(shù)據(jù)位時,判斷數(shù)據(jù)緩沖器301的狀態(tài),根據(jù)狀態(tài)判斷是否將接收到的串行數(shù)據(jù)寫入數(shù)據(jù)緩沖器301,數(shù)據(jù)緩沖器301根據(jù)是否有數(shù)據(jù)寫入來更新自身狀態(tài)。數(shù)據(jù)控制器110在時序發(fā)生器102的控制下輪流查詢數(shù)據(jù)緩沖器301~308的狀態(tài)。假設(shè)在t0時刻查詢到數(shù)據(jù)緩沖區(qū)301。它通過判斷數(shù)據(jù)緩沖區(qū)301的狀態(tài)決定是否通過多路器A103,總線L1將數(shù)據(jù)緩沖器301中的數(shù)據(jù)寫入數(shù)據(jù)存儲器。當數(shù)據(jù)緩沖區(qū)301的狀態(tài)表示已經(jīng)接收到一個完整的數(shù)據(jù)包時,數(shù)據(jù)控制器110將剛剛接收到的數(shù)據(jù)包的狀態(tài),如包長度,接收狀態(tài)等等通過多路器A103,總線L1寫入數(shù)據(jù)存儲區(qū)的某個位置,并通知相對應的未讀數(shù)據(jù)包計數(shù)器401,令其更新自身狀態(tài)。然后數(shù)據(jù)控制器110在時序發(fā)生器102的控制下查詢下一個數(shù)據(jù)緩沖區(qū)。此過程在時序產(chǎn)生器102的控制下循環(huán)往復。
對于多路數(shù)據(jù),每路接收到的數(shù)據(jù)存儲在一個內(nèi)部的數(shù)據(jù)緩沖器中,一個時序產(chǎn)生器控制數(shù)據(jù)控制器輪流查詢各路的數(shù)據(jù)緩沖器的狀況,發(fā)現(xiàn)有數(shù)據(jù)立刻寫入外部的數(shù)據(jù)存儲區(qū)中,同時調(diào)整其數(shù)據(jù)存儲區(qū)的地址指針。通過這樣一種結(jié)構(gòu),避免了在內(nèi)部的數(shù)據(jù)緩沖器滿時,可能產(chǎn)生的無法及時處理的情況。同時,通過精心設(shè)計內(nèi)部數(shù)據(jù)緩沖器的深度和寬度,利用串行碼流轉(zhuǎn)換成并行數(shù)據(jù)的時間差,既保證了不會由于輪詢而導致數(shù)據(jù)丟失,又不會使時序發(fā)生器工作的頻率過高。
各未讀數(shù)據(jù)包計數(shù)器可以是一個異步加減計數(shù)器。計數(shù)器的加減信號分別通過單獨的信號輸入。該計數(shù)器記錄沒有讀走的數(shù)據(jù)包的個數(shù),外部的數(shù)據(jù)處理裝置可以通過它的狀態(tài),知道目前是否有新的數(shù)據(jù)包需要處理。該計數(shù)器可以根據(jù)一些預先設(shè)置的值,輸出不同的狀態(tài),表示目前的數(shù)據(jù)存儲區(qū)可供使用程度,供內(nèi)部的數(shù)據(jù)控制器使用,以達到實現(xiàn)流量控制的功能。
接收部分所有收到的數(shù)據(jù)保存在數(shù)據(jù)存儲器中,如果外部的數(shù)據(jù)處理裝置需要知道是否有收到的數(shù)據(jù)需要處理,則通過多路器B104,總線L2判斷未讀數(shù)據(jù)包計數(shù)器401~408的狀態(tài),獲知是否有新的數(shù)據(jù)包存在,按照預先約定的數(shù)據(jù)存儲器的地址分配,通過簡單計算,自動獲得新的數(shù)據(jù)包的位置,然后可以進行數(shù)據(jù)包的分析或處理。
發(fā)送部分501如圖2所示,包括時序發(fā)生器502;1~8個串行數(shù)據(jù)發(fā)送器601~608,1~8個數(shù)據(jù)緩沖器701~708,1~8個未發(fā)送數(shù)據(jù)包計數(shù)器801~808,構(gòu)成1~8組相同的數(shù)據(jù)發(fā)送和處理單元;多路器C503,多路器D504。串行數(shù)據(jù)發(fā)送器601~608、數(shù)據(jù)緩沖器701~708、未發(fā)送數(shù)據(jù)包計數(shù)器801~808按照標號的最后一個數(shù)字一一對應,如串行數(shù)據(jù)發(fā)送器601、數(shù)據(jù)緩沖器701、未發(fā)送數(shù)據(jù)包計數(shù)器801對應。所述未發(fā)送數(shù)據(jù)包計數(shù)器,是加減計數(shù)器。
在時序發(fā)生器502的控制下,發(fā)送器501通過多路器C503,總線L3從數(shù)據(jù)存儲器(圖中未示出)讀入數(shù)據(jù),未發(fā)送數(shù)據(jù)包計數(shù)器801~808通過多路器D504,總線L4與外部進行各種狀態(tài)的交互。外部的數(shù)據(jù)控制器將需要發(fā)送的數(shù)據(jù)包存入數(shù)據(jù)存儲器中,通過多路器D504,總線L4通知相對應的未發(fā)送數(shù)據(jù)包計數(shù)器801~808中的一個,被通知的未發(fā)送數(shù)據(jù)包計數(shù)器根據(jù)接收到的信號更新自身狀態(tài)。數(shù)據(jù)控制器510在時序發(fā)生器502的控制下,依次查詢未發(fā)送數(shù)據(jù)包計數(shù)器801~808的狀態(tài)。假設(shè)發(fā)現(xiàn)未發(fā)送數(shù)據(jù)包計數(shù)器801的狀態(tài)表示有數(shù)據(jù)包需要發(fā)送,則在時序發(fā)生器502的控制下,通過多路器C503,總線L3從數(shù)據(jù)存儲器中取出數(shù)據(jù)。然后判斷與串行鏈路相對應的數(shù)據(jù)緩沖器701的狀態(tài),如其表示可以接納數(shù)據(jù),則數(shù)據(jù)放入數(shù)據(jù)緩沖器701中。串行數(shù)據(jù)發(fā)送器601在時序發(fā)生器502的控制下,將數(shù)據(jù)緩沖器701中的數(shù)據(jù)逐個比特發(fā)送出去。當發(fā)送的數(shù)據(jù)發(fā)送完畢之后,更新數(shù)據(jù)緩沖區(qū)701的狀態(tài)。當數(shù)據(jù)控制器510判斷將一個完整的數(shù)據(jù)包讀完之后,通知相應的未發(fā)送數(shù)據(jù)包計數(shù)器801,未發(fā)送數(shù)據(jù)包計數(shù)器801更新自身狀態(tài)。至此完成一個完整的數(shù)據(jù)發(fā)送過程。
根據(jù)需要,本發(fā)明中接收部分中的串行數(shù)據(jù)接收器、數(shù)據(jù)緩沖器、未讀數(shù)據(jù)包計數(shù)器的個數(shù)和所述發(fā)送部分的串行數(shù)據(jù)發(fā)送器、數(shù)據(jù)緩沖器、未發(fā)送數(shù)據(jù)包計數(shù)器的個數(shù),可以按8的倍數(shù)倍增。
在實際的數(shù)據(jù)通信系統(tǒng)中,串行數(shù)據(jù)輸入和輸出端與遠端的數(shù)據(jù)通信設(shè)備或通信終端相連,雙方使用相同的通信協(xié)議。目前在串行通信中使用較多的協(xié)議是HDLC協(xié)議。本發(fā)明的實現(xiàn)也可以使用該協(xié)議。在設(shè)計實例中,完成8路串行通信,每路的碼流速率為10Mbps。
圖3是該發(fā)明在高速分組交換網(wǎng)當中的一種實際應用方案。
在接收端,串行數(shù)據(jù)進入接收部分之后,按照雙方串行通信約定的協(xié)議,該設(shè)備的接收部分將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),存入數(shù)據(jù)緩沖區(qū)中。數(shù)據(jù)控制器根據(jù)該數(shù)據(jù)的重要程度以及目前數(shù)據(jù)存儲區(qū)剩余空間的多少決定是否將數(shù)據(jù)寫入數(shù)據(jù)存儲區(qū)中。接收完一個完整正確的幀時,向未讀數(shù)據(jù)幀計數(shù)器送狀態(tài)更新信號。數(shù)據(jù)處理器根據(jù)查詢未讀數(shù)據(jù)幀計數(shù)器的狀態(tài)判斷是否有新的數(shù)據(jù)幀到達需要處理。
發(fā)送端的處理過程相反。首先由外部的數(shù)據(jù)處理器根據(jù)當前發(fā)送數(shù)據(jù)存儲區(qū)中的空余數(shù)據(jù)緩沖區(qū)的數(shù)目和所需要送出的幀的重要程度,判斷是否將數(shù)據(jù)寫入。寫入之后,向未發(fā)送數(shù)據(jù)幀計數(shù)器送狀態(tài)更新信號。發(fā)送數(shù)據(jù)控制器查詢未發(fā)送數(shù)據(jù)幀計數(shù)器,發(fā)現(xiàn)有需要發(fā)送的數(shù)據(jù)幀,則將數(shù)據(jù)從數(shù)據(jù)存儲區(qū)中讀出,送到數(shù)據(jù)緩沖區(qū)中。然后發(fā)送控制器將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)按照約定的通信協(xié)議格式將數(shù)據(jù)發(fā)送出去。
在實際應用中,為了有很好的可測試性,在發(fā)送部分與接收部分之間可以增加用來進行環(huán)回測試的通路。在需要進行測試的時候,將該設(shè)備置為內(nèi)部自環(huán)測試狀態(tài),自檢控制器向發(fā)送部分的數(shù)據(jù)存儲器寫入自檢數(shù)據(jù),通知發(fā)送部分的未發(fā)送數(shù)據(jù)幀計數(shù)器,然后自檢控制器檢查接收端的未讀數(shù)據(jù)幀計數(shù)器,再根據(jù)未讀數(shù)據(jù)幀計數(shù)器的狀態(tài)讀取相應的接收端的數(shù)據(jù)存儲器的數(shù)據(jù),判斷是否能夠正確接收數(shù)據(jù)。這樣,就可以檢測整個發(fā)送和接收部分是否能夠正常工作了。
本發(fā)明中,所有的接收數(shù)據(jù)存儲在一個數(shù)據(jù)存儲器中,所有的發(fā)送數(shù)據(jù)存儲在另外一個數(shù)據(jù)存儲器中。根據(jù)串行碼流的速率和外部數(shù)據(jù)處理裝置的處理能力,可以合理地分配數(shù)據(jù)存儲器。通過合理地分配時序和對外部的存儲空間的合理分配和使用,在同時接收多路10Mbps的串行數(shù)據(jù)碼流的情況下,可以完成數(shù)據(jù)的接收(從串行鏈路接收數(shù)據(jù),寫入外部數(shù)據(jù)存儲區(qū))或發(fā)送(從外部數(shù)據(jù)存儲區(qū)讀取數(shù)據(jù),發(fā)送出去),而不需要任何其他控制器件的參與。外圍電路僅需要一個接收數(shù)據(jù)緩沖器,一個發(fā)送數(shù)據(jù)緩沖器即可。還可以將串行數(shù)據(jù)端口相應增加,而不僅僅限定為某個數(shù)目。因外圍器件少且結(jié)構(gòu)簡單,從而可以減少成本??傊?,本發(fā)明低成本地實現(xiàn)了高速,多路的串行通信問題。
權(quán)利要求
1.一種通用高速串行通訊控制器,由接收部分(101)和發(fā)送部分(501)構(gòu)成,所述接收部分(101)包括時序發(fā)生器(102),控制整個接收部分工作;1~8個串行數(shù)據(jù)接收器(201~208),1~8個數(shù)據(jù)緩沖器(301~308),1~8個未讀數(shù)據(jù)包計數(shù)器(401~408),構(gòu)成1~8組相同的數(shù)據(jù)接收和處理單元;多路器A(103);數(shù)據(jù)控制器(110),查詢所述數(shù)據(jù)緩沖器的狀態(tài),并根據(jù)所述數(shù)據(jù)緩沖器的狀態(tài)決定是否將所述數(shù)據(jù)緩沖器的數(shù)據(jù)通過所述多路器A(103)和總線L1將數(shù)據(jù)寫入外部的數(shù)據(jù)存儲器;多路器B(104),外部的數(shù)據(jù)處理裝置通過它和總線L2判斷所述未讀數(shù)據(jù)包計數(shù)器的狀態(tài);所述發(fā)送部分(501)包括時序發(fā)生器(502),控制整個發(fā)送部分工作;1~8個串行數(shù)據(jù)發(fā)送器(601~608),1~8個數(shù)據(jù)緩沖器(701~708),1~8個未發(fā)送數(shù)據(jù)包計數(shù)器(801~808),構(gòu)成1~8組相同的數(shù)據(jù)發(fā)送和處理單元;多路器C(503);多路器D(504);所述未發(fā)送數(shù)據(jù)包計數(shù)器通過所述多路器D(504)、總線L4與外部進行各種狀態(tài)的交互;數(shù)據(jù)控制器(510),在時序發(fā)生器(502)的控制下,查詢所述未發(fā)送數(shù)據(jù)包計數(shù)器的狀態(tài),通過多路器C(503)、總線L3從外部的數(shù)據(jù)存儲器中提取數(shù)據(jù),放入所述數(shù)據(jù)緩沖器中,并通過數(shù)據(jù)緩沖器將數(shù)據(jù)發(fā)送出去。
2.權(quán)利要求1所述的通用高速串行通訊控制器,其特征在于所述接收部分中的串行數(shù)據(jù)接收器、數(shù)據(jù)緩沖器、未讀數(shù)據(jù)包計數(shù)器的個數(shù)和所述發(fā)送部分的串行數(shù)據(jù)發(fā)送器、數(shù)據(jù)緩沖器、未發(fā)送數(shù)據(jù)包計數(shù)器的個數(shù),可以按8的倍數(shù)倍增。
3.權(quán)利要求1或權(quán)利要求2所述的通用高速串行通訊控制器,其特征在于所述接收部分中的未讀數(shù)據(jù)包計數(shù)器和所述發(fā)送部分中的未發(fā)送數(shù)據(jù)包計數(shù)器,是加減計數(shù)器。
全文摘要
一種通用高速串行通訊控制裝置,由接收部分和發(fā)射部分構(gòu)成,接收部分包括:時序發(fā)生器,串行數(shù)據(jù)接收器,數(shù)據(jù)緩沖器,未讀數(shù)據(jù)包計數(shù)器;二個多路器;數(shù)據(jù)控制器。發(fā)送部分與接收部分結(jié)構(gòu)相似。通過合理地分配時序和對外部的存儲空間的合理分配和使用,在同時接收多路串行數(shù)據(jù)碼流的情況下,可以完成數(shù)據(jù)的接收或發(fā)送。要求外圍器件少且結(jié)構(gòu)簡單。低成本地實現(xiàn)了高速,多路的串行通信。
文檔編號H04L1/00GK1306357SQ0011408
公開日2001年8月1日 申請日期2000年3月1日 優(yōu)先權(quán)日2000年3月1日
發(fā)明者張偉立 申請人:深圳市中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
安多县| 白水县| 惠水县| 明水县| 闵行区| 偏关县| 尼玛县| 泰兴市| 通辽市| 浦县| 积石山| 班玛县| 陇川县| 辉南县| 普宁市| 陆丰市| 西畴县| 丹江口市| 旺苍县| 山西省| 临武县| 崇信县| 文水县| 阿拉善盟| 河津市| 威远县| 新丰县| 宜都市| 佳木斯市| 峨眉山市| 固安县| 泊头市| 五河县| 余干县| 永康市| 商都县| 鹤山市| 玛多县| 历史| 桐梓县| 清远市|