專利名稱:通用串行端口的結(jié)構(gòu)和體系的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的背景1.發(fā)明的領(lǐng)域本發(fā)明大體論及了接口設(shè)備的數(shù)據(jù)處理器和通信系統(tǒng)。發(fā)明更特別論及了串行I/O設(shè)備。可更特別的,發(fā)明論及了可編程串行I/O設(shè)備。
2.相關(guān)的領(lǐng)域許多的串行接口設(shè)備,也稱為串行輸入/輸出端口,在電子的線路和系統(tǒng)領(lǐng)域是大家熟悉的設(shè)備。設(shè)備包括特殊應(yīng)用線路,通用異步收發(fā)器(UART)設(shè)備,用軟件控制串行端口的微處理器,和許多其它的。這種設(shè)備被用在一個很寬的應(yīng)用范圍,包括和顯示設(shè)備的通信,和為電池組管理的所謂“靈便”電池組的通信,為調(diào)試提供到系統(tǒng)的入口,提供到綜合器的連接,和調(diào)制解調(diào)器的通信,或者作為通用系統(tǒng)連接器(USC)。許多標準曾經(jīng)被發(fā)布,在其中通過規(guī)定詳細要求的物理構(gòu)造來支持各種串行I/O端口的應(yīng)用。參數(shù)的規(guī)定包括信號路線的數(shù)量和類型,不同的信號路線傳送的信號時間選擇和其它特征例如振幅,極性和信號及信號路線的編碼方法。
一個設(shè)計者通常選擇一個非可編程串行I/O端口解決方案,以標準或者設(shè)計者要求實現(xiàn)的客戶串行I/O端口構(gòu)造和現(xiàn)有的設(shè)備間的比賽為基礎(chǔ)。例如,一個UART滿足可靠的速度和時間選擇的要求可能被選擇用于一個特別的異步應(yīng)用。
在設(shè)計中比非可編程設(shè)備所提供的需要更大的適應(yīng)性,一個常規(guī)微處理器的可編程串行端口軟件可能被使用。例如,摩托羅拉公司的微控制器M68HC 11系列包括一個串行端口在本領(lǐng)域很知名,如摩托羅拉同步串行外圍接口(SPI)。這種設(shè)備通常如
圖1所示。微控制器110包括由軟件102控制的串行硬件101,110也和系統(tǒng)總線103通話。串行通信出現(xiàn)跳過信號路線104。無論如何,這種串行接口由于若干因素是有缺點的。即使在軟件控制的接口中,象SPI接口,電的參數(shù),信號路線的數(shù)量,信號線路的類型,等等是預(yù)先確定和不可改變的。處理器110必須執(zhí)行軟件程序102以控制串行端口,所有的串行數(shù)據(jù)被跳過信號線路104經(jīng)過處理器110傳送,因而又裝載進處理器100,以上的無論什么加載是由于處理器100主要使用的任務(wù)所強加的。同樣,因為串行硬件101是處理器110的一個能源消耗部分,額外的能源在處理器執(zhí)行軟件程序時消耗了。
在系統(tǒng)中,包括系統(tǒng)總線,實施發(fā)明特征的接口設(shè)備可能連接到系統(tǒng)總線把所有數(shù)據(jù)處理器分開。接口設(shè)備可能包括連接到系統(tǒng)總線的總線接口,連接和響應(yīng)總線接口的可編程狀態(tài)機(PSM),連接到PSM和總線接口的并串行轉(zhuǎn)換器,并且有串行I/O端口,這個并串行轉(zhuǎn)換器響應(yīng)PSM以依照選定的串行協(xié)議在總線和I/O端口之間傳送數(shù)據(jù)。這個實施方案的變化也是可能的。例如,接口設(shè)備可以進一步包括連接到總線接口和PSM的時鐘控制器。這個時鐘控制器可能響應(yīng)總線接口和PSM以生成連接到并串行轉(zhuǎn)換器和PSM的輸出上的時鐘信號。時鐘控制器可以切斷時鐘信號響應(yīng)一條PSM命令的可編程周期時間,從而減少設(shè)備的能源消耗。時鐘控制器可以切斷響應(yīng)一條PSM命令的時鐘信號并且接通響應(yīng)從并串行轉(zhuǎn)換器I/O端口接收的信號的時鐘信號,從而當設(shè)備不在并串行轉(zhuǎn)換器I/O端口通信時減少能源消耗。接口設(shè)備可以進一步包括有輸入和輸出的位計數(shù)器,每個連接到PSM并且位計數(shù)器由PSM控制。PSM進一步包括可容納儲存規(guī)定接口設(shè)備操作的程序的內(nèi)存,響應(yīng)程序的指令執(zhí)行邏輯儲存在內(nèi)存中,指令執(zhí)行邏輯產(chǎn)生連接PSM和并串行轉(zhuǎn)換器控制信號的信號線路,通過它PSM控制并串行轉(zhuǎn)換器。并串行轉(zhuǎn)換器可以進一步包括復數(shù)的規(guī)定串行I/O端口的I/O信號,其功能被PSM內(nèi)存中的程序的PSM執(zhí)行所規(guī)定。復數(shù)的I/O信號可以進一步包括數(shù)據(jù)信號,它的信號特征由程序規(guī)定。特征規(guī)定可以包括時間選擇或者數(shù)據(jù)編碼方法。一般而言,不同的程序規(guī)定了依照不同的串行接口標準的接口設(shè)備的操作。
依照發(fā)明的特征的另一個實施方案,串行通信的方法包括提供復數(shù)的,多種用途的串行I/O信號,編寫可編程狀態(tài)機(PSM)多種用途的處理器外部的程序以使多種用途的串行I/O信號依照特別的串行通信說明書來操作。此方法可以進一步包括提供時鐘信號來使串行I/O信號和PSM的操作同步并且當不需要時選擇性切斷時鐘信號,從而減少使用此方法的能源消耗。此方法可以還包括切斷響應(yīng)PSM命令的時鐘信號和接通響應(yīng)由多種用途的串行I/O信號接收的信號的時鐘信號。此方法可以進一步包括促成復數(shù)的I/O信號以操作規(guī)定的時間選擇或者操作規(guī)定的數(shù)據(jù)編碼方法。
如附圖2所示的接口設(shè)備200的作為例證的實施方案包括一個總線接口部件201,一個可編程狀態(tài)機(PSM)202,串行化硬件203,一個時鐘控制器and/or時鐘發(fā)生器(為簡單的緣故在下文中提及的如時鐘控制器或者CCB,大多數(shù)毫無損失)204和一個位計數(shù)器205。這5個基礎(chǔ)部件是步相干的,如下。總線接口部件201連接到系統(tǒng)總線206。由于需要,命令和響應(yīng)可以被總線接口部件201在PSM202和系統(tǒng)總線206之間傳送。由總線接口部件201從系統(tǒng)總線206接收來的命令也傳送到CCB204,由于需要。數(shù)據(jù)被總線接口部件201在串行化硬件203和系統(tǒng)總線206之間傳送。PSM202通過執(zhí)行一個軟件程序生成命令信號來控制串行化硬件203的操作,時鐘控制器和時鐘生成器204,和位計數(shù)器205,以及響應(yīng)和總線接口部件206控制的其它輸出。由接口服務(wù)200提供到外部領(lǐng)域的接口是串行I/O信號208。
如附圖2所示的每個部件現(xiàn)在描述的更加詳細,同樣它們在作為例證的實施方案中被創(chuàng)立。
總線接口部件201提供到接口設(shè)備200的外部入口。總線接口部件201連接接口設(shè)備200到系統(tǒng)總線206并且到其它的外部信號207。此信號可以包括總線控制信號例如總線時鐘,碎片選取,地址信號,數(shù)據(jù)信號,等等??偩€時鐘也可以是系統(tǒng)時鐘,或者信號可能是分布式的,象一個分離的信號。系統(tǒng)總線206或者外部信號207也可以攜帶中斷信號,例如被用于表示一個發(fā)送事件或者一個接收事件,等等,經(jīng)由總線接口部件201連接到接口設(shè)備200??偩€接口部件201也可以接收系統(tǒng)復位信號,以及其它的外部信號207不是系統(tǒng)總線206的一部分,但是接口設(shè)備200的需要。
總線接口部件201可以僅僅接收和緩沖和傳遞到需要它們的外部元件的信號??商鎿Q的是,總線接口部件可以在傳遞它們到需要它們的外部元件之前閉鎖信號,或者一個確定點的信號值及時可以裝載近寄存器??偩€接口部件201可以使用任何一個或者所有這些本領(lǐng)域現(xiàn)行已知的技術(shù),為了提供接口設(shè)備200元件所需要的信息以完成它們各自的功能。
總線接口部件201的輸出包括為設(shè)定和控制接口設(shè)備200每個元件的信號。例如,可以是一個響應(yīng)上面提及的系統(tǒng)復位信號的復位信號??梢允侵付ㄒ粋€時鐘預(yù)示值的信號,它的目的是下面進一步地論述。一個時鐘控制信號可以命令CCB204來接通或者斷開時鐘。一個寄存器可以保存為串行化硬件203指明參數(shù)的值,例如奇偶性,移位寄存器中的位數(shù)和狀態(tài)信息??偩€接口部件201可以為串行化硬件203進一步包括一個或者更多的同時來自傳送and/or接收緩沖的內(nèi)存單元??偩€接口部件201可以進一步包括一個或者更多的寄存器,經(jīng)由它們程序命令和數(shù)據(jù)可以被發(fā)送到PSM202。總線接口部件201可以進一步包括其它的信號來控制在上面提及的外部信號的I/O操作,以及在系統(tǒng)總線206并且通過串行化硬件203。一些參數(shù)和設(shè)置可以由PSM裝載的寄存器里保存的值來控制,描述如下。
接口設(shè)備200的可編程序性由PSM提供。無論如何,應(yīng)該注意的是PSM不包括一個算術(shù)邏輯部件(ALU)或者路通常和微處理器,數(shù)字信號處理器或者其它的通用計算引擎相聯(lián)系的其它的線,盡管它的可能性不能排除。PSM202順序預(yù)先規(guī)定了要完成的操作,勝于計算算術(shù)結(jié)果來規(guī)定它的操作或者參數(shù)。
PSM202包括三個主要線路,一個可編程邏輯陣列(PLA)301,內(nèi)存302和地址控制器303。PLA301的輸出304的一些數(shù)字,m,經(jīng)由地址控制器303反饋來選擇下一條執(zhí)行的指令,基于PSM的當前狀態(tài)。PLA301的輸出305的一個保留字,n,依照由PSM202執(zhí)行的指令順序的到達狀態(tài)來控制接口設(shè)備200的其它元件。PLA301執(zhí)行指令;內(nèi)存302儲存指令。在這個實施方案中,PLA不修改內(nèi)存202中的指令,盡管它的可靠性不能排除。內(nèi)存302可以包括一個或者更多的寄存器保存PSM修改的代表PSM控制元件的操作的初始化參數(shù)的值。例如,可以是個寄存器,它的值控制串行化參數(shù)。
PSM202的輸出可以閉鎖或者不閉鎖,如附圖4所示。PLA301輸出400被鎖存器401作為數(shù)據(jù)接收。此鎖存器也接收一個表示PLA301的輸出400有效的允許信號402。一個時鐘403,例如系統(tǒng)時鐘,引起鎖存器401發(fā)送PLA301的輸出400的值到閉鎖的輸出404,如果允許信號402表示在接收時鐘信號403的時候PLA301的傳輸400有效的話。PLA301的輸出400也可以僅僅和利用一個與門(AND gate)405或者類似的允許信號402結(jié)合,以產(chǎn)生一個不閉鎖輸出信號406。
作為例證的實施方案的PSM202執(zhí)行指令中的三類控制指令,程序流指令和時間選擇/節(jié)電指令。指令包括如下面的表所示
串行化硬件203把系統(tǒng)總線206攜帶的并行數(shù)據(jù)依照要求的串行I/O標準轉(zhuǎn)換為串行I/O信號208攜帶的串行數(shù)據(jù),或者把串行I/O信號208攜帶的串行數(shù)據(jù)依照要求的串行I/O標準轉(zhuǎn)換為系統(tǒng)總線206攜帶的并行數(shù)據(jù)。依照作為例證的實施方案每個接口設(shè)備200是一個半雙工設(shè)備。為了提供全雙工操作,兩個接口設(shè)備200并行連接在一起并且每個設(shè)定以完成全雙工通道的一個方向的操作。
當設(shè)定串行化數(shù)據(jù)時,串行化硬件203包括一個移位寄存器來安排并行到串行的操作,一個奇偶發(fā)生器和輸出控制器。當設(shè)定接收串行數(shù)據(jù)時,移位寄存器安排串行到并行操作。串行化硬件203也使用奇偶發(fā)生器來接收串行數(shù)據(jù)。當接收串行數(shù)據(jù)時,串行化硬件203也使用一個界限檢測器來決定什么時候接收一個序列的開始位。開始位檢測被使用,連同等待和延遲指令,如下面描述的當接口設(shè)備200不是傳送或者接收數(shù)據(jù)時,和CCB204連接以節(jié)電。
作為例證的實施方案的CCB204從接口設(shè)備200的外部接收系統(tǒng)時鐘并且再分配給需要時鐘信號的接口設(shè)備200的部件??商鎿Q的是,CCB204可以內(nèi)部地產(chǎn)生一個時鐘并且再分配給需要時鐘信號的接口設(shè)備200的部件。
如附圖5所示,CCB204接納系統(tǒng)時鐘501到一個預(yù)定標器502來從系統(tǒng)時鐘比率到接口設(shè)備200使用的比率除或者乘以時鐘。預(yù)定標器502可以是一組可編程除法器線路或者可以包括逐漸鎖定的循環(huán)頻率乘法器。預(yù)定標器502的輸出509計錄一個同步門503,以及一個等待鎖存器504和一個延遲鎖存器505。等待鎖存器504和延遲鎖存器505接收等待506和延遲507命令,分別的,從PSM202,并且閉鎖它們作為允許輸出到同步門503。同步門503產(chǎn)生接口設(shè)備時鐘信號508,它可以由PSM202中執(zhí)行的程序的等待506和延遲507命令來選擇性地接通或者切斷。預(yù)定標器503的輸出509是到CCB204的內(nèi)部時鐘信號,它不是選擇性的接通和切斷。這個內(nèi)部時鐘信號509不是廣泛的分布,因此不能利用線路上有效的能源負載,但是允許CCB204去決定何時終止等待命令或者延遲命令。
等待指令顯著的應(yīng)用于串行化硬件203的界限檢測。PSM202執(zhí)行一個等待指令,引起CCB204切斷時鐘,直到一個界限,例如,一個開始位,由串行化硬件203檢測。由PSM202進行的軟件程序的執(zhí)行則重新開始,處理所有傳入的數(shù)據(jù)。等待指令被處理來測試其它的信號,例如清零發(fā)送(CTS)信號,例如用于調(diào)制解調(diào)器的應(yīng)用。
接口設(shè)備200的作為例證的實施方案中第五個元件是位計數(shù)器205。這個計數(shù)器保存程序設(shè)計指令,因此內(nèi)存空間,由于位計數(shù)代碼不需要寫到PSM202的軟件程序循環(huán)中,其每次操作串行數(shù)據(jù)的一位??纱娴模粋€寄存器儲存位的數(shù)目,跳過它來完成一個操作。在每個循環(huán)的結(jié)束時,PSM202增加位計數(shù)器205通過一個適當?shù)腉roup1,Group2或者Group5指令接著檢查位計數(shù)器205中的值,依靠跳過儲存位的數(shù)目來完成一個操作的寄存器。程序支路法和其它的決策可以依靠這個測試的結(jié)果。可替換的是,一個沒有死循環(huán)指令可以實現(xiàn)所有需要的跳轉(zhuǎn)和分支以執(zhí)行利用了位計數(shù)器205的循環(huán),使用僅僅一個指令。當這個循環(huán)結(jié)束的時候,執(zhí)行繼續(xù)內(nèi)存302里下一條指令。
本發(fā)明連同其中具體的實施方案現(xiàn)在已描述。無論如何,許多修改,是預(yù)期的落入本發(fā)明的范圍之中,對于那些本領(lǐng)域的技術(shù)人員現(xiàn)在應(yīng)該是明白的。所以,這意味著本發(fā)明的范圍僅被附加的權(quán)利要求的范圍所限制。
權(quán)利要求
1.在一種系統(tǒng)中,包括系統(tǒng)總線,連接到系統(tǒng)總線并分離數(shù)據(jù)處理器的接口設(shè)備,這個接口設(shè)備包括連接到系統(tǒng)總線的總線接口;連接和響應(yīng)系統(tǒng)總線的可編程狀態(tài)機(PSM);連接到PSM和總線接口的并串行轉(zhuǎn)換器,并有串行I/O端口,并串行轉(zhuǎn)換器響應(yīng)PSM以在總線和I/O端口之間依照選定的串行協(xié)議來傳送數(shù)據(jù)。
2.如權(quán)利要求1所述的接口設(shè)備,進一步包括連接到總線接口和PSM的時鐘控制器,并且響應(yīng)總線接口和PSM以產(chǎn)生輸出上的時鐘信號,連接到并串行轉(zhuǎn)換器和PSM。
3.如權(quán)利要求2所述的接口設(shè)備,其中時鐘控制器可以切斷時鐘信號響應(yīng)PSM命令的可編程周期時間,從而減少設(shè)備的能源消耗。
4.如權(quán)利要求3所述的接口設(shè)備,其中時鐘控制器切斷響應(yīng)PSM命令的時鐘信號并且接通響應(yīng)從并串行轉(zhuǎn)換器的I/O端口接收的信號的時鐘信號,從而減少設(shè)備的能源消耗。
5.如權(quán)利要求1所述的接口設(shè)備,進一步包括位計數(shù)器,有輸入和輸出,每個都連接到PSM并且由PSM來控制位計數(shù)器。
6.如權(quán)利要求1所述的接口設(shè)備,PSM進一步包括可容納儲存規(guī)定接口設(shè)備的操作的程序的內(nèi)存;和響應(yīng)程序的指令執(zhí)行邏輯儲存在內(nèi)存中,指令執(zhí)行邏輯產(chǎn)生了在信號路線上的連接PSM和并串行轉(zhuǎn)換器控制信號,PSM通過它控制并串行轉(zhuǎn)換器。
7.如權(quán)利要求6所述的接口設(shè)備,并串行轉(zhuǎn)換器進一步包括復數(shù)的I/O信號規(guī)定了串行I/O端口,它的功能是由PSM內(nèi)存中程序的PSM的執(zhí)行來規(guī)定的。
8.如權(quán)利要求7所述的接口設(shè)備,復數(shù)的I/O信號進一步包括數(shù)據(jù)信號,其信號特征由程序規(guī)定;
9.如權(quán)利要求8所述的接口設(shè)備,其中特征的規(guī)定包括時間選擇。
10.如權(quán)利要求8所述的接口設(shè)備,其中特征的規(guī)定包括數(shù)據(jù)編碼方法。
11.如權(quán)利要求6所述的接口設(shè)備,其中不同的程序規(guī)定了依照不同接口標準集的接口設(shè)備的操作。
12.一種串行通信的方法,包括提供復數(shù)的,多種用途的串行I/O信號;和編寫可編程狀態(tài)機(PSM)多種用途的處理器外部的程序以使多種用途的串行I/O信號依照特別的串行通信說明書來操作。
13.如權(quán)利要求12所述的方法,進一步包括提供分布式的時鐘信號來使串行I/O信號和PSM的操作同步;和當不需要時,選擇性切斷分布式的時鐘信號,從而減少使用此方法的能源消耗。
14.如權(quán)利要求13所述的方法,進一步包括切斷響應(yīng)PSM命令的分布式的時鐘信號,不切斷內(nèi)部時鐘,并且接通響應(yīng)接收自多種用途的串行I/O信號的分布式的時鐘信號。
15.如權(quán)利要求13所述的方法,進一步包括切斷響應(yīng)PSM命令的分布式的時鐘信號,不切斷內(nèi)部時鐘,并且當預(yù)先確定的內(nèi)部時鐘周期通過時接通分布式的時鐘信號。
16.如權(quán)利要求12所述的方法,進一步包括使復數(shù)的I/O信號運算規(guī)定了時間選擇。
17.如權(quán)利要求12所述的方法,進一步包括使復數(shù)的I/O信號運算規(guī)定了的數(shù)據(jù)編碼方法。
全文摘要
接口設(shè)備提供一個通用串行輸入/輸出(I/O)端口,功能是可編程的,依照一個儲存的指令順序由可編程狀態(tài)機執(zhí)行。這些指令使得可編程狀態(tài)機依照標準或者其它預(yù)先確定的串行I/O通信參數(shù)集來規(guī)定串行I/O端口。
文檔編號G06F15/76GK1387646SQ00814835
公開日2002年12月25日 申請日期2000年11月3日 優(yōu)先權(quán)日1999年11月5日
發(fā)明者喬恩·索雷森 申請人:模擬裝置公司