欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

改進計時器性能的集成電路輸入/輸出處理器的制作方法

文檔序號:6410791閱讀:762來源:國知局
專利名稱:改進計時器性能的集成電路輸入/輸出處理器的制作方法
技術領域
本發(fā)明一般涉及到輸入/輸出處理器,尤其涉及到具有改進計時器(timer)性能的輸入/輸出處理器。
復雜的實時控制系統(tǒng),例如汽車和機器人控制系統(tǒng),要求數(shù)據(jù)處理系統(tǒng)具有更好的控制,更快的系統(tǒng)響應和更多的輸入/輸出(I/O)能力。因此,對數(shù)據(jù)處理系統(tǒng)能進行更多,更快和改進輸入/輸出(I/O)處理的要求迅速增長。
人們期望微機能提供更高的數(shù)字和模擬的分解輸出,以求更精確的控制。因為處理的額外開支,中央處理單元(CPU)可能不能以所需的速率響應甚高頻控制功能。需要有一種解決方案,在不使CPU負擔過重的前提下提供更多,更快和改進的輸入/輸出處理能力。
另外,人們期望微機可以非常靈活地適合各種不同應用。在以前的微機中,I/O處理的靈活性由中央處理單元(CPU)軟件對端口或簡單的計時器通道操作來提供。模擬和數(shù)字I/O也都通過CPU連接。然而,因為CPU涉及所有的I/O,I/O帶寬主要浪費在系統(tǒng)的額外開支上了。這樣,需要有一種解決方案同時提供靈活性和增進的I/O性能。


圖1以框圖的形式示出了根據(jù)本發(fā)明的一實施例的數(shù)據(jù)處理系統(tǒng)10;圖2以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖1中電路25的一部分;圖3以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖1中電路26的一部分;圖4以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖1中電路25的一部分;圖5以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖1中電路25的一部分;圖6以列表的形式示出了一張真值表,圖5中管腳控制電路64使用該表判定結果導線168的邏輯電平;
圖7以列表的形式示出了根據(jù)本發(fā)明的一實施例的圖5中控制寄存器166的一部分和控制寄存器167的一部分;圖8以列表的形式示出了用戶可以通過圖7中管腳輸出激勵控制比特182或183編程實現(xiàn)的一組功能;圖9以列表的形式示出了在圖5中管腳165通過匹配通道160和161狀態(tài)的邏輯與和邏輯或所產生的結果示例;圖10以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖1中電路26和27的一部分;圖11以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖10中控制寄存器226的一部分;圖12以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖10中電路26的一部分;圖13以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中電路61,62,80,81和86中每個通道的一部分;圖14以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中電路25的一部分;圖15以列表的形式示出了用戶如何在計時器總線的不同時隙中選擇性地提供一個或多個時基值的8個例子;圖16以框圖的形式示出了根據(jù)本發(fā)明的一實施例的一種計時器系統(tǒng)集成電路280;圖17以框圖的形式示出了根據(jù)本發(fā)明的一實施例的一種數(shù)據(jù)處理系統(tǒng)315;圖18以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖16中主時基通道285的一部分和輔時基通道288的一部分;圖19以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖17中主時基通道304的一部分和輔時基通道310的一部分;圖20以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖1中電路25的一部分;圖21以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖20中捕獲通道401的一部分;
圖22以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖20中捕獲通道401的一部分;圖23以列表的形式示出了置位和清零每一個通道的DVB比特(如圖22中425)的行為,當該比特被配置到它的每一個操作模式時,可支持數(shù)據(jù)傳送操作;圖24以列表的形式示出了進行數(shù)據(jù)傳送操作的每一個通道的由數(shù)據(jù)傳送控制比特(DTC)(例如圖21和22中的423-424)控制的數(shù)據(jù)傳送操作模式;圖25以分時圖的形式示出了根據(jù)本發(fā)明的一實施例的執(zhí)行周期累積測量的改進方法,其累積誤差比現(xiàn)有技術的實現(xiàn)方法要少;圖26以分時圖的形式示出了根據(jù)本發(fā)明的一實施例的執(zhí)行周期累積測量的改進方法;圖27以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中計數(shù)通道58的一部分;圖28以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中寄存器67的第一部分;圖29以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中寄存器67的第二部分;圖30以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中寄存器67的第三部分;圖31以分時圖的形式示出了根據(jù)本發(fā)明的一實施例的執(zhí)行周期累積測量的改進方法;圖32以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中計數(shù)通道58的一部分;圖33以分時圖的形式示出了根據(jù)本發(fā)明的一實施例的捕獲時基值的改進方法;圖34以分時圖的形式示出了根據(jù)本發(fā)明的一實施例的捕獲時基值的改進方法;圖35以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中寄存器66的第一部分;
圖36以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中寄存器66的第二部分;圖37以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中捕獲通道55的一部分;圖38以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中寄存器65的第一部分;圖39以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中寄存器65的第二部分;圖40以框圖的形式示出了根據(jù)本發(fā)明的一實施例的圖2中匹配通道57的一部分;術語“總線”是指傳送一個或多個不同類型信息,如數(shù)據(jù),地址,控制或狀態(tài)信息的多個信號或導線。術語“取正”和“取負”各自指將信號,狀態(tài)比特,集成電路管腳或類似設備再生成它的邏輯真或邏輯假狀態(tài)。如果邏輯真狀態(tài)是邏輯電平1,邏輯假狀態(tài)則是邏輯電平0。如果邏輯真狀態(tài)是邏輯電平0,邏輯假狀態(tài)則是邏輯電平1。
術語“置位”是指將信號,狀態(tài)比特,集成電路管腳或類似設備再生成它的邏輯電平1。術語“清零”是指將信號,狀態(tài)比特,集成電路管腳或類似設備再生成它的邏輯電平0。術語“翻轉”是指如果信號,狀態(tài)比特,集成電路管腳或類似設備的目前狀態(tài)是邏輯電平1,則再生成邏輯電平0。如果目前狀態(tài)是邏輯電平0,則再生成邏輯電平1。
符號“%”前綴一個數(shù)字說明該數(shù)字以二進制形式表示,符號“$”前綴一個數(shù)字說明該數(shù)字以十六進制形式表示。術語“集成電路管腳”和“管腳”可相互替代使用。另外,使用術語“集成電路管腳”和“管腳”處,也可以替換以結合區(qū)或任何在集成電路和外部設備間提供電氣耦合的導線。
在以下描述中提出了許多具體的細節(jié),如特定字和字節(jié)的長度等等以提供對本發(fā)明的徹底理解。然而,本領域的技術人員顯然知道本發(fā)明可以在沒有這些具體細節(jié)的情況下得到實施。在其他例子中,本發(fā)明采取電路框圖的形式以避免不必要的細節(jié)。在絕大多數(shù)情況下,涉及定時考慮和類似情況的細節(jié),因為不影響對本發(fā)明的完整理解,而且是相關領域中一般技術人員所熟悉的,因而被忽略。
盡管在本文件中通篇使用術語“集成電路管腳”和“管腳”(如圖1中31-35和19),這些術語應該包括用于向某個集成電路傳輸電氣信號,或接收電氣信號的任何類型設備,例如,集成電路結合區(qū),焊接塊,導線等等。
現(xiàn)在參看圖形,其中描述的元件不一定顯示定標,并且相似元件在幾張圖中用同一個參數(shù)標出。
輸入/輸出控制模塊(參看圖1中IOCM 25-29)提供了數(shù)據(jù)處理系統(tǒng)的靈活性和增進的I/O性能。在本發(fā)明的一實施例中,一個或多個IOCM25-29分布在與中央處理單元(CPU)13不同的集成電路中,但是一個或多個IOCM 25-29通過總線30與CPU 13通信。在本發(fā)明的可選實施例中,一個或多個IOCM可以與CPU處在同一個集成電路中。例如,參看圖1,其它電路15可能作為輸入/輸出控制模塊(IOCM)來實現(xiàn),通過總線17與CPU13通信。
IOCM 25-29的每一個設計成一個很模塊化的系統(tǒng)結構。在最高層,IOCM 25-29的每一個是一個通過內部模塊總線24與其它模塊通信的模塊。例如,在一實施例中,IOCM 25-29的每一個可以是一個用于MC68HC300族微機的模塊,該類微機由Texas的Motorola Austin公司生產。
除了本身是一個模塊,IOCM 25-29的每一個也由多個子模塊或模塊化I/O通道構成。通過任意組合“硅通道庫”中的模塊化通道,可以很容易地創(chuàng)建不同的IOCM版本。通道可以有不同的硬件,包括數(shù)據(jù)和模擬I/O電容,以完成特定操作??梢酝ㄟ^將新通道加入到庫中的方式增加未預料的I/O功能。這樣,合并不同的模塊化通道布局就可以生成IOCM 25-29的不同版本。
IOCM 25-29的另一個重要性能是它們的結構允許用戶在軟件和硬件之間區(qū)分任務。通道可以編程在硬件中共同運行以完成簡單的高頻功能。功能運行的通道實際上充當高頻I/O事件的預處理器。通過減輕CPU對所有I/O事件的軟件服務,或僅要求CPU執(zhí)行低頻I/O事件的軟件服務,實際上提供了更好的控制和更快的系統(tǒng)響應。
每一個IOCM 25-29的數(shù)字處理部分在所能執(zhí)行的I/O功能的數(shù)量和性能上都是靈活的。因為在管腳,通道和總線的數(shù)量上是模塊化的,每一個IOCM 25-29都能實現(xiàn)這種靈活性。也就是說,不同IOCM版本可以從“硅通道庫”中很容易地創(chuàng)建,集成電路管腳也可以增加,而與通道數(shù)量無關。當通道數(shù)量在不同IOCM版本中有所增加時,IOCM 25-29的這種結構也支持增加更多的數(shù)據(jù)和控制總線。可以設計新通道并加入到庫中,以為將來的I/O功能提供一種增長方式。
IOCM 25-29系統(tǒng)結構的第二個重要方面是,通道可以編程,在硬件中共同運行,以實現(xiàn)簡單的高頻功能。在通過減少系統(tǒng)CPU中斷數(shù)量而最大化系統(tǒng)輸出時,允許用戶在硬件和軟件之間區(qū)分任務是重要的。
涉及同類型計時器功能的復雜實時控制系統(tǒng)需要大量的I/O處理。這樣,相對小的通道庫可以以不同的方式合并,組成多個IOCM 25-29以解決大多數(shù)用戶的需求。
在本發(fā)明的一實施例中,通道庫包括多個不同類別或類型的通道,即“工作通道”,“時基通道”和“其它通道”。這種類別命名將類似功能或結構的通道劃分在一起?!肮ぷ魍ǖ馈卑▓?zhí)行典型計時器功能的通道,如當時間事件發(fā)生時捕獲一個輸入值,當匹配事件發(fā)生時,提供一個信號和統(tǒng)計。工作通道也包括由基本計時器功能組成的更復雜的通道。例如,執(zhí)行匹配和計數(shù)功能的通道可以統(tǒng)計匹配事件的數(shù)量,并僅在匹配事件數(shù)量達到某個預定值時提供一個信號。
在本發(fā)明的一實施例中,工作通道包括(1)捕獲通道(CC);(2)匹配通道(MC);(3)計數(shù)通道(CMTC);(4)火花集成通道(SIC),執(zhí)行多個計時器功能以提供發(fā)動機的火花定時;(5)燃料集成通道(FIC),執(zhí)行多個計時器功能以提供發(fā)動機的燃料注入定時;(6)雙向FIFO通道(DFC),提供一個存儲數(shù)據(jù)值的2-深度FIFO。注意雙向FIFO通道(DFC)不執(zhí)行計時器功能,而代以提供數(shù)據(jù)存儲功能。
在本發(fā)明的一實施例中,時基通道包括(1)計時器總線控制通道(TBCC),提供計時器總線的主控制或輔控制;(2)度數(shù)時鐘通道(DC),可提供多達四個時基;(3)計時器通道(TC),提供產生于內部或外部的時基;注意在本發(fā)明的一實施例中,計時器通道可以由一個或多個工作通道或一個或多個外部信號控制(如定時,加載某一模塊化值,或由統(tǒng)計決定方向性)。
在本發(fā)明的一實施例中,其它通道包括(1)執(zhí)行同步序列轉換的同步序列通道;(2)執(zhí)行同步序列轉換的異步序列通道;(3)管腳控制通道(PCC),負責工作通道與集成電路管腳的接口;(4)輔助外部總線接口通道(SEBI),負責內部模塊間總線與該集成電路外部的總線之間的接口;(5)全局資源通道(GRC),包括不同版本間可能不同的客戶化電路或指定電路(如特定計時器和一些系統(tǒng)保護特性);(6)輔助總線接口通道(SBIU),用于與內部模塊間總線接口;(7)主總線接口通道(MBIU),用于內部模塊間總線(IMB)與度數(shù)計時器的接口(在CPU故障的情況下,所有的CPU寫被限制只能寫向一個預定的寄存器,在沒有CPU的情況下,MBIU允許度數(shù)計時器接管IMB,并重新配置特定通道以運行系統(tǒng),如汽車發(fā)動機);(8)測試通道,包括用于測試目的的電路。
注意在本發(fā)明的一實施例中,序列通道可以直接控制一個或多個相應集成電路管腳,也可以通過管腳控制通道使用相應集成電路管腳。
在本發(fā)明的一實施例中,可能存在其它不嚴格是通道庫一部分的附加電路,但是這些電路以模塊化的方式設計,可用以耦合一個或多個通道。例如,管腳控制共享邏輯可以耦合兩個相鄰管腳控制(PCC),允許兩個相鄰PCC共享總線信息。在本發(fā)明的可選實施例中,所有這種連接電路都可以作為通道庫的一部分。
每一個工作通道提供許多可編程的屬性,包括輸入和輸出事件。輸入事件源可以是集成電路管腳或其它工作通道,而輸出事件可以影響集成電路管腳和其它工作通道。通道操作,如輸入捕獲和相鄰工作通道間的數(shù)據(jù)傳輸,可以由輸入事件控制。相反地,工作通道的輸出事件或集成電路管腳,可以影響工作通道的操作和工作通道間的數(shù)據(jù)傳輸。每一個工作通道的另一特性是可選的組態(tài)模式,該模式定義對輸入事件或導致輸出事件的操作所需執(zhí)行的工作通道操作。這些特性和其它特性使工作通道可以編程共同運行,完成許多I/O功能。
通道庫中的通道可以以不同方式添加,以創(chuàng)建IOCM 25-29的不同版本。在本發(fā)明的可選實施例中,可以有更多,更少或不同的通道庫中的通道用于形成IOCM 25-29。通過使用模塊化體系結構和靈活的模塊化通道庫,用戶的許多I/O需求可以以一種迅速,有效的方式解決。
圖1示出了數(shù)據(jù)處理系統(tǒng)10。數(shù)據(jù)處理系統(tǒng)10有一個CPU集成電路12和輸入/輸出(I/O)集成電路22。CPU集成電路12包括一個中央處理單元(CPU)13,系統(tǒng)集成模塊14和其它電路15,都通過總線17雙向耦合。系統(tǒng)集成模塊14包括與總線30雙向耦合的外部總線模塊接口電路16。其它電路15包括總線接口電路18。其它電路15可以通過集成電路管腳19與CPU集成電路12外部耦合。
I/O集成電路22包括電路25-29和外部接口電路23,都通過總線24雙向耦合。外部總線接口電路23雙向耦合到總線30,向CPU集成電路12傳送信息或從CPU集成電路12接收信息。I/O控制模塊電路25-29通過集成電路管腳31-35與I/O集成電路22外部耦合。在本發(fā)明的可選實施例中,圖1中的塊31-35代表集成電路結合區(qū)而不是集成電路管腳。模塊25-29的每一個包括一個或多個通道庫中的通道(參看圖2中的示例)。模塊25-29的每一個也包括輔助總線接口通道(SBIU)36-40,用于實現(xiàn)一個或多個通道與內部模塊間總線24的接口。
在本發(fā)明的可選實施例中,可能有一個或多個模塊25-29。因為模塊25-29內部總線負載的限制,將通道劃分成一個或多個模塊25-29,每一個模塊擁有自己的總線接口36-40。每一個模塊25-29中通道的數(shù)量由每一個模塊25-29的內部總線的最終負載決定。體系結構的模塊化允許每一個模塊25-29可以由通道庫中不同通道組成。這樣,每一個模塊25-29可以客戶化以滿足不同用戶的需要。
模塊化通道體系結構特性除了使用模塊化通道庫之外,本發(fā)明也采用模塊化方式實現(xiàn)通道總線,用以在不同的通道間傳送信息。因為IOCM不同版本的通道布局不同,通道總線結構必須靈活。
參看圖1和2,在本發(fā)明的一實施例中,IOCM(如IOCM 25)中的通道通過通道總線通信。下述通道總線可以在IOCM中實現(xiàn)通道的橫向通信(1)模塊間總線(IMB)24的地址和數(shù)據(jù)導線;(2)一個或多個計時器總線;(3)一個或多個管腳/狀態(tài)總線。通道也可以在兩兩之間建立互聯(lián)通路以進行相鄰通道的數(shù)據(jù)流動。模塊間總線24中的地址和數(shù)據(jù)導線提供了存取通道寄存器,控制寄存器和狀態(tài)寄存器的方式。在本發(fā)明的一實施例中,總線接口電路36-40(參看圖1)執(zhí)行全局地址譯碼以判定特定IOCM25-29是否被編址。然而,所有的本地地址譯碼都在每一個通道內完成。
計時器總線結構參看圖2,本發(fā)明使用一個或多個計時器總線71-72,可以簡單地通過主計時器總線控制通道和輔計時器總線控制通道(TBCC)61-64將這些計時器總線劃分成多個段,以增加可以向其它通道廣播的時基的數(shù)量。
IOCM 25-29的體系結構和總線結構提供了沿計時器總線方向將計時器總線簡單地劃分成段的方法。其結果是,每一根計時器總線將通道劃分成不同的通道塊,通道塊通過它們各自的計時器總線存取不同時基。因為計時器總線塊內的每一個通道能夠從計時器總線接收相同的時基值,所以一個計時器總線塊內的通道可以執(zhí)行不同的功能而不損失分解率。
作為例子,參看圖2,注意計時器總線71對應于通道塊中標以工作和其它通道86的通道塊,計時器總線72對應于通道塊中標以工作和其它通道87的通道塊。計時器總線71用于向工作和其它通道86傳送時基值,同樣,計時器總線72用于向工作和其它通道87傳送時基值。
注意每一個計時器總線71-72的一端由一個主計時器控制通道(TBCC)標出,計時器總線的另一端由一個輔計時器控制通道(TBCC)標出。例如,計時器總線71的一端由主計時器控制通道(TBCC)61標出,計時器總線71的另一端由輔計時器控制通道(TBCC)62標出。同樣,計時器總線72的一端由主計時器控制通道(TBCC)63標出,計時器總線72的另一端由輔計時器控制通道(TBCC)64標出。主計時器控制通道輔計時器控制通道用于標明計時器總線的每一部分或每一段。
參看圖2,認識到計時器總線71和計時器總線72必須使用不同的導線是重要的,因為它們必須能同時傳送不同的時基值。然而,計時器總線71和計時器總線72從概念上可以視為獨立總線,或者也可以從概念上看成是同一個全局計時器總線的不同部分或段。在這個意義上,全局計時器總線是指向IC22的所有必須的工作和其它通道傳送所有要求的時基值的總線。關鍵是對每一組必須同時傳送的時基值,必須使用不同的計時器總線導線。這些不同的導線可以被認為是獨立總線,或者被認為是一根全局總線的不同部分或段。
在本發(fā)明的一些實施例中,主計時器控制通道(TBCC)可以單獨控制計時器總線。輔計時器控制通道(TBCC)僅在時基通道塊所提供的時基值需要在兩根計時器總線上共享時才需要。另外,主TBCC也可以替代輔TBCC以允許兩根計時器總線的時基值共享。例如,參看圖2,如果計時器總線72僅需要從時基通道81來的時基值,可以不需要輔TBCC 64。輔TBCC64用以從時基通道82向計時器總線72提供時基值。輔TBCC 64由主TBCC63控制。
注意在本發(fā)明的可選實施例中,每一個通道塊可以有更少,更多或不同的通道耦合到計時器總線。例如,工作和其它通道86和87可以包括更少,更多或不同的通道庫中的工作通道或其它通道。
在包含模塊化通道構造塊的計時器系統(tǒng)中,分段的計時器總線結構提供了在沿計時器總線方向的任意處向計時器系統(tǒng)的不同部分方便地提供多個和不同時基的方式,并且不損失分解率。
例如,在一個典型的計時器系統(tǒng)中,工作和其它通道86可能需要以第一預定分解率存取特定時基,工作和其它通道87可能需要存取與通道86相關聯(lián)的相同時基中的一些,再加上第二預定分解率的其它時基。本發(fā)明將全局計時器總線在需要向每一個IOCM 25-29輸出的地方分段。其結果是,對應于每一個單個計時器總線的通道(如71和72)接收它們需要的時基以執(zhí)行要求的功能,并且不損失分解率。
也是在需要可能非常長的計時器總線的計時器系統(tǒng)中,因為需要支持大量的功能,本發(fā)明提供了將計時器總線分段的方式,以保證計時器總線的每一部分具有足夠的驅動能力。
在本發(fā)明中,計時器總線從時基通道中(如圖2中時基通道80中的一個)接收一個時基值,并向一個或多個工作和其它通道(如圖2中工作和其它通道86)提供該時基值。通過同時向多個工作和其它通道提供時基值,在工作和其它通道之間保持一致。
在本發(fā)明的一實施例中,計時器總線是一個時分多路復用總線,允許多達8個時基通道提供多達8個不同時基值,在同一個計時器總線中時分多路復用。在本發(fā)明的可選實施例中,計時器總線可能不是時分多路復用的,或者時分多路復用成不同數(shù)量的時間段。
參看圖2,在本發(fā)明的一實施例中,主計時器總線控制通道(TBCC)61選擇時基通道80和81中哪一個或哪幾個可以提供時基值以驅動計時器總線71。如果主TBCC 61選擇時基通道80中的一個,例如計時器通道91,則主TBCC 61以計時器通道91所提供的時基值驅動計時器總線71。但如果主TBCC 61選擇時基通道81中的一個,例如計時器通道92,則輔TBCC 62以計時器通道92所提供的時基值驅動計時器總線71。這樣,只有主TBCC選擇哪個計時器通道提供時基值,但是主TBCC和輔TBCC都可以從時基通道接收時基值,并以該時基值驅動計時器總線。
在本發(fā)明的一實施例中,每一個主TBCC提供對相應輔TBCC的所有控制。在每一個主TBCC中的控制寄存器存儲比特(如TBCC 61中的控制寄存器存儲比特68和TBCC 63中的控制寄存器存儲比特69)用于在計時器總線的8個時分多路復用窗口的每一個活躍期間,控制激活某個時基選擇信號。從主TBCC來的時基選擇信號用于選擇激活的時基,通過主TBCC(從時基通道80)或輔TBCC(從時基通道81)選通到相應的時分多路復用計時器總線71。
參看圖2,擇信號50必須從主TBCC 61延伸到與主TBCC 61相關的時基通道80,并從主TBCC 61跨越工作和其它通道86到輔TBCC 62和它的相關時基通道81。除此之外,時基選擇信號50還被工作和其它通道86用于判斷哪個時基在計時器總線上是物理活躍的,以確定何時執(zhí)行諸如匹配和捕獲的特定操作。這樣,時基選擇信號50有效地從主TBCC 61向工作和其它通道86和時基通道80,時基通道81傳送了一個標識值。該標識值由時基選擇信號50傳送,以指示在計時器總線71上哪個時基目前可用。
注意,在本發(fā)明的一實施例中,圖2中示出的每一個信道有一個或多個用戶可編程通道控制寄存器260(參看圖13)。不同類型的通道可以有一些相同的寄存器。參看圖2和圖13,在本發(fā)明的一實施例中,每一個80,81和86中的通道以及每一個通道61和62都有一個或多個如圖13所示的耦合的通道寄存器260。
參看圖13,通道控制寄存器260的一部分264存儲用戶編程標識值,該值可選擇進行編碼或不編碼。如果標識值進行編碼,該編碼標識值提供給譯碼電路261,該電路在輸出上提供一個譯碼標識值。該譯碼標識值隨后與時基選擇信號50提供的標識值比較。如果該標識值匹配時基選擇信號50上驅動的標識值,則匹配信號263被取正以向該通道指示該通道或者向計時器總線提供一個時基值(對時基通道而言),或者從計時器總線接收時基值(對工作和其它通道而言)。
在本發(fā)明的可選實施例中,該標識值存儲在通道控制寄存器260的264部分,未進行編碼。其結果是不再需要譯碼器261。取代的是,264部分直接作為多路復用器(MUX)電路262的輸入。264部分控制MUX電路的輸入,選擇時基選擇信號50中的一個,在輸出時提供如匹配信號263。
本發(fā)明的計時器總線結構支持下述功能。首先,計時器總線結構允許沿其長度方向的任意處分段。其次,允許一對計時器總線控制通道(TBCC),即主TBCC和輔TBCC,控制計時器總線的分段。第三,允許相同時基通道(例如圖2中的時基通道81)同時向兩個不同計時器總線段(如計時器總線71和72)提供相同時基通道。
第四,本發(fā)明的計時器總線結構允許每一個計時器總線劃分成N個時分多路分時窗口。第五,計時器總線結構支持用戶編程選擇M個時基值中的任意一個,在每一個計時器總線段中的N個分時窗口中的每一個中驅動。例如,圖2中時基通道81可以包括不同數(shù)量的時基通道(例如計時器通道92和計時器通道95)。每一個時基通道可以向計時器總線71,計時器總線72或同時向計時器總線71和72提供一個或多個時基值。數(shù)字M和N是正整數(shù)。
作為例子,參看圖2,在本發(fā)明的一實施例中,時基通道81可以提供5個時基值(也就是M=5),其中計時器通道92提供2個時基值“A”和“B”,計時器通道95提供3個時基值“C”,“D”和“E”;計時器總線71和計時器總線72可以每一個都時分復用成8個分時窗口(也就是N=8)。計時器總線71的8個時分窗口可以驅動下列時基值A,D,A,B,A,D,A,C,當然在計時器總線71的下一組8個分時窗口中重復。在另一方面,計時器總線72的8個時分窗口可以驅動下列時基值B,D,B,D,B,D,B,D,當然在計時器總線72的下一組8個分時窗口中重復。在第二和第六個分時窗口中,計時器總線71和計時器總線72驅動同一個由計時器通道95提供的時基值“D”。
圖15示出了8個關于用戶怎樣在計時器總線的不同時隙間選擇性提供一個或多個時基值(即TB1,TB2,TB3,TB4,TB5,TB6,TB7,TB8)的例子。每一個時基通道80提供時基值TB1-TB8中的一個。每一個時基通道80由用戶編程寄存器存儲電路264(參看圖13)存儲標識值。計時器選擇信號50在每一個時隙中驅動一個標識值,該標識值匹配時基通道中的編程標識值,時基通道驅動時基源總線271(參看圖14),從而以該時基值(即時基值TB1-TB8中的一個)驅動了計時器總線71。
注意在本發(fā)明的可選實施例中,一個時基通道針對每一個時基值(TB1-TB8)有一組可編程寄存器存儲比特,該通道可以向計時器總線71提供這些比特。每組可編程寄存器存儲比特264可以編程對存儲比特264執(zhí)行寫操作(如從圖1中的CPU 13)。在本發(fā)明的可選實施例中,標識存儲比特264可以屏蔽可編程性,這樣它們可以在I/O集成電路22生產期間一次編程成某個固定值。
注意除了時基通道81,時基通道80也可以由用戶編程,為計時器總線71提供一個或多個時基值。同樣,除了時基通道81,時基通道82也可以由用戶編程,為計時器總線72提供一個或多個時基值。這樣,可供選擇并在計時器總線71上驅動的時基值的總數(shù)量是由時基通道80和時基通道81提供的時基值的總和。同樣,可供選擇并在計時器總線72上驅動的時基值的總數(shù)量是由時基通道81和時基通道82提供的時基值的總和。
本發(fā)明的計時器總線結構還有更多的性能。第六,本發(fā)明的計時器總線結構通過主計時器總線控制通道和輔計時器總線控制通道(如圖2中時基通道61和時基通道62)控制多個時基值選通到通常的計時器總線段(如計時器總線71)。時基選擇信號50包括在時基通道80和時基通道81中的每一個時基通道上的一個選擇信號。通過在適當?shù)姆謺r窗口期間取正時基選擇信號中的某一個,主時基通道61選擇一個時基通道選通到計時器總線71。
第七,本發(fā)明的計時器總線結構允許工作和其它通道86監(jiān)控時基選擇信號50,以判定時基通道中的哪一個目前正向計時器總線提供時基值。其結果是,工作和其它通道86的每一個可以決定何時執(zhí)行它們各自的操作,如匹配或捕獲計時器總線71上的被選時基值。工作和其它通道86在由時基選擇信號50決定的適當時侯讀計時器總線71,并使用從計時器總線71讀來的時基值執(zhí)行操作。
時基通道和時基同步參看圖2,本發(fā)明使用一個或多個時基通道(如81)以產生時基值,通過計時器總線(如71,72)向工作和其它通道86和87提供。IOCM 25-29的體系結構和總線結構(參看圖1)將每一個IOCM劃分成不同的工作和其它通道塊(如85-87),這些通道塊可以存取不同時基通道(如80-81)。因為每一塊中的每一個工作和其它通道可以從計時器總線中接收相同時基值,所以在一個通道塊中的工作和其它通道可以用于執(zhí)行不同功能而并不損失分解率。
在本發(fā)明的一實施例中,時基通道(如80,81)可以包括下列的一個或多個(1)計時器總線控制通道(TBC),提供計時器總線的主控制或輔控制;(2)度數(shù)計時器通道(DC),可提供多達四個時基;和(3)計時器通道(TC),提供產生于內部或外部的時基。
參看圖2和圖14,在本發(fā)明的一實施例中,時基通道80的每一個與時基源總線271耦合。時基源總線271以與計時器總線71相同的方式進行時分復用。時基通道80的每一個比較時基選擇信號和存儲在寄存器部分264的用戶編程標識值(參看圖13)。如果匹配,該匹配通道以通道時基驅動時基源271。不匹配的通道在這個特定時間間隔內不驅動時基源總線271。耦合邏輯270(參看圖14)用于以合適的發(fā)送次數(shù)從時基源總線271向計時器總線71提供下一個時基值。
出于計時器總線的驅動能力,在計時器總線上的數(shù)據(jù)傳送頻率,不同計時器系統(tǒng)物理位置或路由方面的考慮,一個復雜的數(shù)據(jù)處理系統(tǒng)(如圖17中的數(shù)據(jù)處理系統(tǒng)315)如果太大,就可能無法在單個時基內完成其功能。在一些數(shù)據(jù)處理系統(tǒng)中,在數(shù)據(jù)模塊之間劃分計時器系統(tǒng)是必要的(參看圖16)。因為整個系統(tǒng)的規(guī)模,或者因為不同技術的要求,如功率輸出驅動,模擬輸入條件和復雜的數(shù)字電路,在多個集成電路之間進行劃分是必要的。參看圖17,在接口集成電路和功率集成電路現(xiàn)有的打包技術下,向接口集成電路301或向功率集成電路302分布一個16比特或32比特時基值是不可行的。
參看圖16-19,本發(fā)明僅通過兩個信號,一個計時器信號328和一個同步信號329,使兩個或多個時基通道(如圖16和圖18中的主時基通道285和輔時基通道288)同步或保持同步。計時器信號328和同步信號329可以在不同集成電路的計時器系統(tǒng)間(參看圖17),或在一個集成電路的不同模塊間(參看圖16)進行廣播。主時基通道產生或接收主計時器信號,連接一個或多個輔計時器信道以保證主時基通道和輔計時器信道同時以相同的速率增長或遞減。
例如,在圖18中,主時基通道285通過計數(shù)系統(tǒng)計時器信號327產生一個主計時器信號328。主時基通道285隨后將主計時器信號328提供給一個或多個輔時基通道(如288)以保證主時基通道和輔計時器信道同時以相同的速率增長或遞減。在圖19示出的本發(fā)明的一個可選實施例中,主時基通道304和輔時基通道310都接收相同的主計時器信號348,主計時器信號在本發(fā)明的一些實施例中,是與系統(tǒng)計時器327相同的信號(參看圖18)。然而,主時基通道304和輔時基通道310都以相同數(shù)量計數(shù)主計時器信號348。這樣,時基遞減計數(shù)器340和時基遞減計數(shù)器341同時以相同的速率遞減。
如果數(shù)據(jù)處理系統(tǒng)(如圖17中的315)使用一個固定頻率的系統(tǒng)計時器,并且該系統(tǒng)計時器可以作為主時基通道的輸入和一個或多個輔時基通道的輸入,那么主要在主時基通道和輔時基通道的預定標電路326,346和350(參看圖18和圖19)中選擇相同的預定標分值,該系統(tǒng)計時器即可用作主計時器信號。這實際上節(jié)省了必須增加的一根新的主計時器信號互聯(lián)導線。在使用非時域或不規(guī)則頻率的系統(tǒng)計時器信號的數(shù)據(jù)處理系統(tǒng)中,主時基通道必須產生主計時器信號。關鍵在于所有的同步時基通道(如圖18中的285和288,圖19中的304和310)必須以相同頻率和相位的主計時器信號(如圖18中的328和圖19中的348)定時。
然后需要同步信號(如圖18中的327和圖19中的349)將所有時基通道(如圖18中的285和288,圖19中的304和310)設置成相同的初始值,在此基礎上由上述主計時器信號進行增量/減量。對使用自激計時器的時基通道,最方便的同步點是到$0000或$FFFF的翻轉點,取決于它是一個遞增計數(shù)器還是一個遞減計數(shù)器(參看圖18)。對模數(shù)時基而言,模數(shù)值被裝入計數(shù)器的點是最方便的同步點(參看圖19)。
選擇這些同步點是因為主時基通道(如圖18中的285,圖19中的304)已經有了所需的用于其它用途的檢測電路(如圖18中的330,圖19中的351)。另外,在這些被選同步點中的時基是所有輔時基通道中已有的或簡單產生的(如遞減計數(shù)器的$0000,遞增計數(shù)器的$FFFF和模數(shù)計數(shù)器中的模數(shù)值)。主時基通道用于檢測同步點的出現(xiàn)以產生同步信號。同步信號隨后提供給一個或多個輔時基通道,其中同步信號用以同時將所有時基值重置成相同值。
一旦在每一個時基通道中的計數(shù)器(圖18中的320和321,圖19中的340和341)已被設成相同值,并以相同頻率和相位主計時器信號定時,計數(shù)器應該保持所有計數(shù)值的完全同步。如果一個時基值因為噪音或其它影響而失去同步,在下一個同步點由同步信號進行重新同步。
這樣,本發(fā)明允許在不同I/O控制模塊(IOCM)281-284(參看圖16)或不同集成電路300-302(參看圖17)上的時基通道產生和使用一個同步化和一致的時基值。因為電路負載的限制,可以與同一個計時器總線71耦合以從時基通道80和81接收時基值的工作和其它通道數(shù)量的存在一個上限值。這樣,本發(fā)明允許不同IOCM和不同集成電路上的時基通道向與不同計時器總線耦合的不同的工作和其它通道提供同步化和一致的時基值。在使用最小數(shù)量的集成電路管腳時,向外設集成電路(如圖17中的301和302)增加計時器通道的性能是重要的。
參看圖16,注意在本發(fā)明的一實施例中,在計時器系統(tǒng)集成電路280中的IOCM 281包括圖2示出的所有電路。同樣,在計時器系統(tǒng)集成電路280中的IOCM 284包括圖2示出的所有電路的副本。不同于模塊間總線24(參看圖1),全局通道通信總線200(參看圖10),主計時器信號328和同步信號329,IOCM 281和IOCM 286不需要任何其它導線在其間耦合以傳送信息。
注意在同步時基通道的上下文中,術語“主”和“輔”用于指示哪個時基通道提供同步信號(主)和哪個時基通道接收同步信號(輔)。術語“主”和“輔”與主計時器總線控制通道和輔計時器總線控制通道的意義不同,與主管腳控制通道和輔管腳控制通道的意義也不同。然而,一般說來,術語“主”指出提供較多控制的電路,術語“輔”指出提供較少控制或從主電路那兒接收較多控制信號的電路。
管腳/狀態(tài)總線結構參看圖1和圖2,管腳/狀態(tài)總線75-77,與計時器總線71和72類似,是模塊化化的,可以擴展或分段以創(chuàng)建運載不同信號的獨立總線。本發(fā)明使用一個或多個管腳/狀態(tài)總線75-77,這些總線可以通過管腳控制(PCC)簡單地劃分成不同的總線和段。
管腳/狀態(tài)總線75-77用于在IOCM 25內的通道間傳送信息。在本發(fā)明的一些實施例中,一個或多個管腳/狀態(tài)總線(如77)用以從一個IOCM(如25)向另一個不同的IOCM(如26)傳送信息。另外,管腳/狀態(tài)總線75-77用于在集成電路管腳33和IOCM 25的一個或多個通道間傳送信息。集成電路管腳31-35用于接收和提供I/O集成電路22的外部信息。每一個IOCM25-29都有一個或多個管腳/狀態(tài)總線以在多個IOCM通道間或IOCM通道與一個或多個集成電路管腳31-35間傳送信息。
在本發(fā)明的一些實施例中,管腳/狀態(tài)總線75-77充當通道影響和控制耦合到相同管腳/狀態(tài)總線上的其它通道的方式。管腳/狀態(tài)總線75-77也充當通道影響和控制輸出集成電路管腳邏輯電平的方式,以及通道被輸入集成電路管腳的邏輯電平影響和控制的方式。
在本發(fā)明的一實施例中,管腳/狀態(tài)總線的每一個(如圖2中75-77)可以用作四個用途(1)指示編程輸入的一個或多個集成電路管腳的邏輯電平;(2)決定編程輸出的一個或多個集成電路管腳的邏輯電平;(3)充當一個或多個通道的輸入事件源;(4)充當一個或多個通道的輸出事件目的地。
由CPU 13(參看圖1)協(xié)調向通道的數(shù)據(jù)寫入是必須的。在使用管腳/狀態(tài)總線的情況下,一致性必須得到保證。這些總線提供了通道間的同步控制,所以通道操作可以相互同步。因為CPU 13也通過管腳控制中的控制寄存器影響這些總線,所以通道操作可以與CPU 13操作同步。其結果是,通道數(shù)據(jù)的一致存取可以由CPU 13對管腳/狀態(tài)總線的控制得到保證。
IOCM 25-29的體系結構和總線結構提供了沿長度方向的任意處將管腳/狀態(tài)總線簡單地劃分成段的方法。其結果是,通道被劃分成可以存取不同集成電路管腳的不同通道塊。在一個通道塊中的每一個通道可以向多個,一個,或沒有的集成電路管腳提供信息,或從多個,一個,或沒有的集成電路管腳接收信息。同樣,在一個通道塊中的多于一個通道可以向同一個集成電路管腳提供信息,或從同一個集成電路管腳接收信息。參看圖2,注意將通道劃分成能夠存取不同管腳/狀態(tài)總線75-77的不同通道塊與將通道劃分程能夠存取不同計時器總線的不同通道塊無關。
作為例子,參看圖2,注意管腳/狀態(tài)總線75對應于標以57的通道塊,管腳/狀態(tài)總線76對應于標以58的通道塊。管腳/狀態(tài)總線75用于在通道57間傳送管腳和/或狀態(tài)信息,同樣,管腳/狀態(tài)總線76用于在通道58間傳送管腳和/或狀態(tài)信息。
與計時器總線控制通道(如圖2中61-64)不同,管腳控制不區(qū)分“主”和“輔”版本。取代的是,每一個管腳控制負責控制它相應的管腳/狀態(tài)總線。例如,在圖2中,管腳控制51控制管腳/狀態(tài)總線75;管腳控制52控制管腳/狀態(tài)總線76;管腳控制53控制管腳/狀態(tài)總線77。
然而,如圖3中所示,管腳控制共享邏輯106可用以選擇性地將管腳/狀態(tài)總線118的一個或多個導線耦合到管腳/狀態(tài)總線119的一個或多個導線。這樣,實際上組成了一個擴展的管腳/狀態(tài)總線(118,119)。例如,管腳控制共享邏輯106可以聯(lián)結管腳/狀態(tài)總線118和管腳/狀態(tài)總線119,這樣,總線118和119的一個或多個導線可以傳送相同的數(shù)值或信號。其結果是,管腳控制共享邏輯106允許管腳/狀態(tài)總線118和119的一部分或全部進行有效連接或擴展成一根總線,該總線在實際上兩倍的通道和兩倍的集成電路之間運載相同的信號,傳送相同的信息。
參看圖3,圖3中示出的IOCM 26部分包括4個管腳/狀態(tài)總線116-119。管腳/狀態(tài)總線116由管腳控制109控制,不向任何其它管腳/狀態(tài)總線傳送任何信息。管腳/狀態(tài)總線117由管腳控制108控制,不向任何其它管腳/狀態(tài)總線傳送任何信息。管腳/狀態(tài)總線118由管腳控制105控制,并通過管腳控制共享邏輯106向和/或從管腳/狀態(tài)總線119傳送信息。管腳/狀態(tài)總線119由管腳控制107控制,并通過管腳控制共享邏輯106向和/或從管腳/狀態(tài)總線118傳送信息。
在本發(fā)明的一實施例中,每一個管腳/狀態(tài)總線(如118)有8根導線用以傳送管腳信息(如112),8根導線可以單獨編程以傳送8個管腳信息或狀態(tài)信息(如113)。在管腳控制105中的控制寄存器存儲比特120用于選擇性地決定,對于每一個管腳/狀態(tài)總線113,該導線是否在通道123和一個或多個集成電路管腳110之間傳送管腳信息,或是否該導線僅在通道123間傳送狀態(tài)信息。同樣,在管腳控制107中的控制寄存器存儲比特122用于選擇性地決定,對于每一個管腳/狀態(tài)總線115,該導線是否在通道125和一個或多個集成電路管腳111之間傳送管腳信息,或是否該導線僅在通道125間傳送狀態(tài)信息。
在管腳控制共享邏輯106中控制寄存器存儲比特的一部分用于控制管腳/狀態(tài)總線118的導線與管腳/狀態(tài)總線119的導線的選擇性耦合。在本發(fā)明的可選實施例中,管腳控制共享邏輯106中控制寄存器存儲比特的一部分可以復制,作為管腳控制(PCC)105和107物理電路的一部分??梢愿淖兤帘芜x項以激活兩個管腳控制105和107中的一個的控制寄存器存儲比特的這一部分。
例如,改變屏蔽選項可以激活管腳控制105中的控制寄存器存儲比特121的一部分,而管腳控制107中控制寄存器存儲比特121的復制部分保持未激活狀態(tài)。管腳控制105中激活的控制寄存器存儲比特121部分與管腳控制共享邏輯106耦合,并用于控制管腳控制共享邏輯106,而管腳控制107中未激活的控制寄存器存儲比特121的復制部分不與管腳控制共享邏輯106耦合,對管腳控制共享邏輯106無影響。在本發(fā)明的一實施例中,具有部分激活的控制寄存器存儲比特121的管腳控制105被認為是“主”管腳控制,而具有部分未激活的控制寄存器存儲比特121的管腳控制107被認為是“輔”管腳控制。
參看圖2,認識到管腳/狀態(tài)總線75-77必須使用不同的導線是重要的,因為它們必須能同時傳送不同組的管腳/狀態(tài)值。然而,管腳/狀態(tài)總線75-77從概念上可以視為獨立總線,或者也可以從概念上看成是同一個全局管腳/狀態(tài)總線的不同部分或段。在這個意義上,全局管腳/狀態(tài)總線是指向集成電路22的所有必須的通道和所有必需的管腳傳送所有要求的管腳/狀態(tài)值的總線。關鍵點是對每一個必須同時傳送的管腳/狀態(tài)值組,必須使用不同組的管腳/狀態(tài)總線導線。這些不同的導線可以被認為是獨立總線,或者被認為是一根全局總線的不同部分或段。
注意在本發(fā)明的可選實施例中,每一個通道塊可以有更少,更多或不同的通道耦合到管腳/狀態(tài)總線。例如,參看圖2,通道57和58可以包括更少,更多或不同的通道庫中的可用通道。
在包含模塊化通道構造塊的計時器系統(tǒng)中,分段的管腳/狀態(tài)總線結構提供了在沿管腳/狀態(tài)總線方向的任意處向計時器系統(tǒng)的不同部分方便地提供多個和不同管腳/狀態(tài)信息的方式,并且不損失分解率。
例如,在一個典型的計時器系統(tǒng)(參看圖2)中,通道58之間可能需要交換信息,并在管腳控制52控制下存取集成電路管腳(沒有示出),而通道57之間可能需要交換信息,并在管腳控制51控制下存取集成電路管腳(沒有示出)。參看圖3,如果一個或多個通道123需要提供信息,或從一個或多個通道125接收信息,管腳控制共享邏輯106必須插入到管腳控制105和管腳控制107之間以允許管腳/狀態(tài)總線118和管腳/狀態(tài)C119共享信息,并同時傳送相同的管腳/狀態(tài)值。本發(fā)明將全局管腳/狀態(tài)總線在需要向每一個IOCM 25-29輸出的地方分段。其結果是,對應于每一個單個管腳/狀態(tài)總線的通道(如75,76和77),接收和提供執(zhí)行要求的功能所需要的管腳/狀態(tài)信息。
也是在需要可能非常長的管腳/狀態(tài)總線的計時器系統(tǒng)中,因為需要支持大量的功能,本發(fā)明提供了將管腳/狀態(tài)總線分段的方式,以保證管腳/狀態(tài)總線的每一部分具有足夠的驅動能力。
靈活的管腳與和或輸出圖3中示出的管腳/狀態(tài)總線的特定實施例僅僅是一種可能的實施例,還有許多其它的實施例。圖4中示出的管腳/狀態(tài)總線的另一個可選實施例,允許用戶邏輯合并多通道輸出以判斷輸出管腳的狀態(tài)。
在圖4中示出的實施例中,圖1中管腳/狀態(tài)總線75-77的每一個各自由輸入狀態(tài)總線143-145和輸出事件總線131-133實現(xiàn)。每一根輸入狀態(tài)總線143-145各自包括8根管腳導線146,148和150;以及8根管腳/狀態(tài)導線147,149和158。每一個輸出事件總線131-133各自包括8根置位導線134,137和140;8根清零導線135,138和141,以及8根翻轉導線136,139和142。
輸出事件總線132用于判斷管腳195的輸出狀態(tài),對應于和被控于管腳控制通道52。通道58中的不同通道通過輸出事件總線影響管腳195的邏輯狀態(tài)。管腳195的每一個藕合到置位導線137中的某一個,清零導線138中的某一個,和翻轉導線139中的某一個。這樣,特定管腳195的邏輯狀態(tài)由藕合到該特定管腳的這三根導線的邏輯狀態(tài)決定,即置位,清零和翻轉。然而,注意置位,清零和翻轉導線不影響由管腳控制通道52配置為輸入管腳的管腳195。與管腳相關聯(lián)的置位,清零和翻轉導線僅在該管腳被配置為輸出管腳時才起作用。
仍參看圖4,在本發(fā)明的一實施例中,24根導線137-139的每一個都是一個能夠與其它導線進行線接異或的線接異或導線。在本發(fā)明的一實施例中,一個工作通道塊(如160,161)中的所有置位導線137是共同線接異或的。同樣,一個工作通道塊(如160,161)中的所有清零導線138是共同線接異或的。類似的,一個工作通道塊(如160,161)中的所有翻轉導線139是共同線接異或的。
作為示例,以下描述管腳/狀態(tài)總線76(參看圖4)的操作。圖5示出了管腳/狀態(tài)總線76的一部分,在管腳165被配置為輸出管腳時,用于控制集成電路管腳165的輸出狀態(tài)。置位導線157是圖4示出的8根置位導線137中的一個;清零導線158是圖4示出的8根清零導線138中的一個;翻轉導線159是圖4示出的8根翻轉導線139中的一個。每一根導線157-159是一根預充電至邏輯電平1的線接異或導線。這樣,如果匹配通道160的管腳控制電路162在導線171上驅動邏輯電平1,而匹配通道161的管腳控制電路163在導線168上驅動邏輯電平0,置位導線157的邏輯電平將是邏輯電平0。因此,對線接異或導線而言,邏輯電平0是主要的??蛇x實施例也可以使用線接或導線。
管腳控制電路164接收置位導線157,清零導線158,翻轉導線159的線接異或結果。管腳控制電路164也通過導線174接收管腳165的當前邏輯電平。管腳控制電路164使用導線157-159和174的邏輯電平以判定導線168的邏輯電平結果,進而判定集成電路管腳165的下一個輸出邏輯電平。
圖6示出了由管腳控制電路164的一個實施例所用的真值表,以判定導線168的邏輯電平結果,進而判定集成電路管腳165的下一個輸出邏輯電平。結果導線168用于驅動管腳165的輸出邏輯電平。圖6中示出的真值表定義了一個協(xié)議,用于決定管腳165對置位,清零和翻轉導線157-159的所有可能情況所采取的行動。對圖6的表而言,置位,清零和翻轉導線157-159的正狀態(tài)是邏輯電平“0”,置位,清零和翻轉導線157-159的負狀態(tài)是邏輯電平“1”。該協(xié)議可以陳述如下(1)如果翻轉導線159是正狀態(tài),翻轉總成功,管腳165被翻轉;(2)如果所有導線157-159是負狀態(tài),管腳165保持原電平;(3)如果置位導線157和清零導線158都是正狀態(tài),翻轉導線159是負狀態(tài),管腳165保持原電平??蛇x實施例可以使用不同協(xié)議和不同真值表。
通過帶有獨立置位(137),清零(138)和翻轉(139)導線的輸出事件總線132,本發(fā)明能夠在多個通道的輸出上執(zhí)行邏輯操作,而不需要服務處理器介入。這是非常強大和靈活的性能。
為初始化計時器輸出管腳邏輯電平的改變以作為多個計時器通道的結果狀態(tài),現(xiàn)有技術必須要求服務處理器(如中央處理單元)介入。服務處理器通過中斷或其它機制介入。服務處理器識別多個計時器通道狀態(tài),作為回應,在計時器輸出管腳產生一個相應的邏輯電平改變。匹配通道狀態(tài)的一個例子是匹配是否出現(xiàn)。
在識別被選通道狀態(tài)之后,服務處理器執(zhí)行狀態(tài)比較,產生下述結果之一以供特定的自動化應用使用(1)如果所有被選通道的狀態(tài)是真則置位輸出管腳;(2)如果所有被選通道的狀態(tài)是真則清零輸出管腳;(3)如果任意一個被選通道的狀態(tài)是真則置位輸出管腳;(4)如果任意一個被選通道的狀態(tài)是真則清零輸出管腳。不幸的是,通過服務處理器來比較不同通道的狀態(tài)和導致輸出管腳被驅動到合適的輸出邏輯電平需要大量的軟件開銷。因為置位和清零一個精確定時的輸出管腳狀態(tài)以作為多個通道的綜合狀態(tài),必須服務處理器的介入,所以服務處理器的等待時間會導致在精確定時的輸出中出現(xiàn)定時誤差。
本發(fā)明允許配置計時器通道以執(zhí)行上述四類“邏輯”操作,毋需服務處理器的介入。其結果是,在精確定時的輸出中不會因服務處理器的等待時間而導致出現(xiàn)定時誤差??梢赃壿嫼喜⒌挠嫊r器通道輸出的數(shù)量理論上僅受限于該計時器系統(tǒng)中可用的通道總數(shù)。
本發(fā)明提供用戶可編程的計時器通道輸出管腳邏輯與和或,如圖5中的管腳165。在一實施例中,本發(fā)明提供了一種系統(tǒng),該系統(tǒng)擁有多個獨立計時器通道和具備選擇性配置一部分通道的能力,可以控制管腳狀態(tài)而毋需服務處理器的介入。其算法為下述之一(1)如果所有被選通道的輸出狀態(tài)是真,則置位該管腳;(2)如果所有被選通道的輸出狀態(tài)是真,則清零該管腳;(3)如果任一被選通道的輸出狀態(tài)是真,則置位該管腳;(4)如果任一被選通道的輸出狀態(tài)是真,則清零該管腳。
參看圖5,每一個管腳有一個或多個控制寄存器。匹配通道160有控制寄存器166,匹配通道161有控制寄存器167,管腳控制通道有控制寄存器184。圖7示出了圖5中控制寄存器166的一部分和控制寄存器167的一部分。在一實施例中,控制寄存器166有四個管腳選擇控制比特180,用于選擇16個集成電路管腳中的某一個,而控制寄存器167有四個管腳選擇控制比特181,用于選擇16個集成電路管腳中的某一個。在圖5示出的本發(fā)明的一實施例中,管腳控制選擇比特180和181由用戶編程以選擇管腳165。
在本發(fā)明的一實施例中,控制寄存器166有三個管腳輸出激勵控制比特182,用于選擇匹配通道160在輸出管腳165產生的功能。同樣,控制寄存器167有三個管腳輸出激勵控制比特183,用于選擇匹配通道161在輸出管腳165產生的功能。圖8示出了在本發(fā)明的一實施例中,用戶可以通過管腳輸出激勵控制比特182和183編程的功能。在本發(fā)明的可選實施例中,可以使用更多比特,更少比特或不同比特編碼不同的控制比特。
參看圖8,用戶編程功能決定了當匹配發(fā)生時,每一個匹配通道160-161怎樣影響置位導線157,清零導線158和翻轉導線159。例如,如果匹配通道160被編程成屏蔽功能,當匹配發(fā)生時,匹配通道160將不對導線157-159產生影響。如果匹配通道160被編程成上升功能,當匹配發(fā)生時,匹配通道160將取正置位導線157(通過在置位導線157上驅動邏輯電平0)一個計時器周期。如果匹配通道160被編程成下降功能,當匹配發(fā)生時,匹配通道160將取正清零導線158(通過在置位導線158上驅動邏輯電平0)一個計時器周期。如果匹配通道160被編程成翻轉功能,當匹配發(fā)生時,匹配通道160將取正翻轉線159(通過在置位導線159上驅動邏輯電平0)一個計時器周期。
剩余的四項功能,即與清零,與置位,或清零和或置位,是用戶可編程的計時器通道輸出的邏輯與和或。圖9示出了通過匹配通道160和161狀態(tài)的邏輯與和或在管腳165產生的輸出結果?!癟”是真,指示發(fā)生了匹配,“F”是假,指示匹配未曾發(fā)生。如果匹配通道160和161都編程為與置位,當匹配通道160和匹配通道161都發(fā)生匹配時,管腳165的下一個邏輯電平才能被置位(也即是邏輯電平“1”)。這樣,與置位意味著匹配必須在匹配通道160和匹配通道161都發(fā)生時,才能置位管腳165。同樣,與清零意味著匹配必須在匹配通道160和匹配通道161都發(fā)生時,才能清零管腳165。
如果匹配通道160和161都編程為或置位,當匹配通道160或匹配通道161發(fā)生匹配時,管腳165的下一個邏輯電平被置位(也即是邏輯電平“1”)。這樣,或置位意味著在匹配通道160或匹配通道161發(fā)生匹配時,就置位管腳165。同樣,或清零意味著在匹配通道160或匹配通道161發(fā)生匹配時,就清零管腳165。盡管圖9示出的例子使用兩個匹配通道,實際上可以使用任意數(shù)量的匹配通道。
另外,可以合并不同的邏輯與和或功能。例如,附加通道,如計數(shù)通道185,可以放置于圖5的匹配通道160和管腳控制通道52之間。計數(shù)通道185可以在控制寄存器187中有用戶編程以選擇管腳165的控制管腳選擇比特。這樣,計數(shù)通道185可以驅動導線157-159。如果匹配通道160和161都編程為與置位,計數(shù)通道185編程為或置位,當計數(shù)通道185達到其計數(shù)值或匹配通道160和匹配通道161都發(fā)生匹配時,管腳165將被置位。本發(fā)明可用于組成更復雜的涉及不同通道狀態(tài)的布爾方程。
參看圖5,因為置位,清零和翻轉導線本身的線結異或屬性,它們實際上用于執(zhí)行邏輯與和邏輯或操作。下面描述邏輯與和邏輯或操作是如何執(zhí)行的。在本發(fā)明的一實施例中,置位導線157和清零導線158用于實現(xiàn)與清零和與置位功能;翻轉導線159用于實現(xiàn)或清零和或置位功能。
如果匹配通道160編程為與置位,匹配通道160將取正清零導線158直至發(fā)生匹配。注意置位導線157和翻轉導線159保持預充電的負狀態(tài)(也即邏輯電平“1”)。當發(fā)生匹配時,匹配通道160將取正置位導線157并持續(xù)取正直至管腳165的邏輯電平變?yōu)檫壿嬰娖?(也就是置位)。注意匹配通道160通過輸入狀態(tài)總線144接收管腳165的輸出邏輯電平(參看圖4)。只要管腳165保持置位,匹配通道160不再取正任何導線157-159。管腳165可以由其它導線清零,如果匹配通道160被軟件重新配置,也可以由匹配通道160對它清零。一旦管腳165被清零,匹配通道160再次取正清零導線158直至發(fā)生匹配。
如果匹配通道160編程為與清零,匹配通道160將取正置位導線157直至發(fā)生匹配。注意清零導線158和翻轉導線159保持預充電的負狀態(tài)(也即邏輯電平“1”)。當發(fā)生匹配時,匹配通道160將取正清零導線158并持續(xù)取正直至管腳165的邏輯電平變?yōu)檫壿嬰娖?(也就是清零)。注意匹配通道160通過輸入狀態(tài)總線144接收管腳165的輸出邏輯電平(參看圖4)。只要管腳165保持清零,匹配通道160不再取正任何導線157-159。管腳165可以由其它導線置位,如果匹配通道160被軟件重新配置,也可以由匹配通道160對它置位。一旦管腳165被置位,匹配通道160再次取正置位導線157直至發(fā)生匹配。
如果匹配通道160編程為或置位,匹配通道160將不取正任何導線157-159直至發(fā)生匹配。注意導線157-159保持預充電的負狀態(tài)(也即邏輯電平“1”)。管腳165必須由其它通道清零,或通過不同配置的匹配通道160清零。當發(fā)生匹配時,匹配通道160將取正翻轉導線159并持續(xù)取正直至管腳165的邏輯電平變?yōu)橄喾吹倪壿嬰娖?(也就是置位)。注意匹配通道160通過輸入狀態(tài)總線144接收管腳165的輸出邏輯電平(參看圖4)。只要管腳165保持置位,匹配通道160不再取正任何導線157-159。管腳165可以由其它導線清零,如果匹配通道160被軟件重新配置,也可以由匹配通道160對它清零。一旦管腳165被清零,匹配通道160再次等待直至翻轉導線159發(fā)生匹配。
如果匹配通道160編程為或清零,匹配通道160將不取正任何導線157-159直至發(fā)生匹配。注意導線157-159保持預充電的負狀態(tài)(也即邏輯電平“1”)。管腳165必須由其它通道置位,或通過不同配置的匹配通道160置位。當發(fā)生匹配時,匹配通道160將取正翻轉導線159并持續(xù)取正直至管腳165的邏輯電平變?yōu)橄喾吹倪壿嬰娖?(也就是清零)。注意匹配通道160通過輸入狀態(tài)總線144接收管腳165的輸出邏輯電平(參看圖4)。只要管腳165保持清零,匹配通道160不再取正任何導線157-159。管腳165可以由其它導線置位,如果匹配通道160被軟件重新配置,也可以由匹配通道160對它置位。一旦管腳165被清零,匹配通道160再次等待直至翻轉導線159發(fā)生匹配。
注意圖5中電路操作的上述描述也適用于其它通道57-58和圖4中示出的其它輸出事件總線導線131-133。
現(xiàn)在描述在圖4中示出的輸入狀態(tài)總線143-145的操作。在一實施例中,輸入狀態(tài)總線143,144和145每一個各自包括8個管腳導線146,148和150,以及8個管腳/狀態(tài)導線147,149和151。這樣,每一個管腳/狀態(tài)總線(如118)有8個導線用于傳送管腳信息(如112),和8個可單獨編程以傳送管腳信息或狀態(tài)信息的導線(如113)。
在管腳控制通道52中的控制寄存器存儲比特192用于有選擇地判斷每一個管腳/狀態(tài)導線149是在通道58和一個或多個集成電路管腳195之間傳送管腳信息,還是僅在通道58之間傳送狀態(tài)信息。同樣,在管腳控制通道51中的控制寄存器存儲比特191用于有選擇地判斷每一個管腳/狀態(tài)導線151是在通道57和一個或多個集成電路管腳194之間傳送管腳信息,還是僅在通道57之間傳送狀態(tài)信息。
管腳/狀態(tài)導線147,149和151可以用作狀態(tài)導線,狀態(tài)導線對管腳沒有影響,但可以告知其它通道在某個特定通道上發(fā)生了事件(如匹配)。其它導線因而可以基于特定通道上發(fā)生的事件,同時調整各自的行為。當用作狀態(tài)導線時,導線149提供了一種硬件聯(lián)結通道58中不同通道的方式。同樣,當用作狀態(tài)導線時,導線151提供了一種硬件聯(lián)結通道57中不同通道的方式。例如,匹配通道161可以通過取正導線149中的一個提供匹配發(fā)生的信息。這樣,一個或多個通道58中的通道監(jiān)控該導線以判斷通道161中是否發(fā)生匹配。
管腳導線148用于將集成電路管腳195的目前邏輯狀態(tài)傳送回通道58,管腳導線150用于將集成電路管腳194的目前邏輯狀態(tài)傳送回通道57。更具體地,管腳導線148中的每一個從管腳向通道58回送該導線所對應的集成電路管腳195中的某一個的目前邏輯電平。同樣,管腳導線150中的每一個從管腳向通道57回送該導線所對應的集成電路管腳194中的某一個的目前邏輯電平。
這樣,本發(fā)明允許多個通道(如圖4中通道58)向相同管腳/狀態(tài)總線導線(如管腳/狀態(tài)總線導線76)提供信息。其結果是,多于一個通道可以影響集成電路管腳的邏輯電平,(如管腳195中的一個),并且多個通道可以是硬件連接的。盡管上述的實施執(zhí)行邏輯與和或功能,在本發(fā)明的可選實施例中,可以執(zhí)行任意邏輯操作,包括邏輯異或,異與,排它或和更復雜的布爾功能。
全局通道通信總線參看圖10,在本發(fā)明的一些實施例中,通過一根全局通道通信總線200在藕合到不同管腳/狀態(tài)總線216-218的通道間傳送信息。全局通道通信總線200的目的是在不同IOCM 25-29(參看圖1)的通道間傳送信息,以及在一個IOCM中藕合到不同管腳/狀態(tài)總線(如圖10中的216和217)的通道間傳送信息。另外,在本發(fā)明的一些實施例中,全局通道通信總線200可以通過集成電路管腳223從外部接收信息,并向輸入/輸出集成電路22(參看圖1)提供信息。注意在本發(fā)明的一實施例中,圖1中示出的管腳34可能包括管腳213-215和圖10中示出的管腳233的一個或多個。
以現(xiàn)有技術,本地產生的狀態(tài)和控制信息通過服務處理器與在一個或多個集成電路上的其它獨立電路功能塊通信。例如,許多控制應用使用由通道產生的事件(如匹配,捕獲,定時等等)以觸發(fā)多個獨立電路功能塊上的不同處理。這些獨立電路功能塊在物理上可以分配在不同模塊上,甚至在不同集成電路上。在目前實現(xiàn)中,要求單個事件產生一個中斷,要求中斷服務例程觸發(fā)在每一個獨立電路功能塊上所采取的行動。另外,中斷服務例程依次觸發(fā)每一個行動。
通過使用全局通道通信總線200(參看圖10)取代中斷,本發(fā)明允許向所有通道同時廣播狀態(tài)和控制信息。這樣,多個獨立電路功能塊內的所有操作都可以同步觸發(fā),從而在整個數(shù)據(jù)處理系統(tǒng)10內部提供了通信全局信號的一致方式(參看圖1)。
由全局通道通信總線200(參看圖10)提供的全局廣播性能消除了每次發(fā)生一個必須與藕合到不同管腳/狀態(tài)總線的不同通道通信的事件時所需的對服務處理器的中斷。與使用服務處理器的現(xiàn)有技術實現(xiàn)方式相比,因為中斷服務例程的速度通常比全局通道通信總線200的廣播性能的速度慢一個數(shù)量級,所以全局通道通信總線200也導致了更快的通信和響應時間。
另外,在軟件故障期間,服務處理器通常是不運行的。因為服務處理器不運行,中斷就不能產生,許多需要相互通信的I/O功能必須被屏蔽。以前,如果在軟件故障期間要求I/O系統(tǒng)執(zhí)行一些有限的操作,需要設計特定的硬件。因為獨立電路功能塊相互之間可以通過全局通道通信總線200直接通信,所以本發(fā)明的廣播性能消除了對這些特定硬件的需要。
本發(fā)明的廣播性能也簡化了修改和增加數(shù)據(jù)處理系統(tǒng)10(參看圖1)所需的設計和實現(xiàn)。在數(shù)據(jù)處理系統(tǒng)10的許多版本中,一個IOCM 25-29內的通道用于執(zhí)行一種或有限數(shù)量的特定功能,為增加原始應用的帶寬或修改應用以執(zhí)行其它任務而重新配置硬件有些困難。全局通道通信總線200提供的廣播性能允許多個獨立電路功能塊(如IOCM 25-29)相互之間可以通信,從而增加了帶寬并允許跨IOCM實現(xiàn)不同功能。
參看圖10,全局通道通信總線200用于在藕合到不同管腳/狀態(tài)總線216-218的通道間傳送信息。不同管腳/狀態(tài)總線216-217可以分布在同一個IOCM(如IOCM27)內,或不同管腳/狀態(tài)總線217-218可以分布在不同IOCM上(如IOCM 26和IOCM 27)。在本發(fā)明的一些實施例中,全局通道通信總線200可以與一個集成電路22上的所有管腳/狀態(tài)總線藕合。
在可選實施例中,全局通道通信總線200可以僅僅與必須與未藕合在同一根管腳/狀態(tài)總線上的通道通信的管腳/狀態(tài)總線藕合。例如,如果通道206中沒有通道需要接收或向除了通道206外的任何其它通道提供信息,管腳/狀態(tài)總線218就不必藕合到全局通道通信總線200上。
參看圖1,模塊件總線24用于執(zhí)行C管腳U13對位于外部總線接口23的寄存器和位于IOCM 25-29內的通道的寄存器的讀和寫操作。模塊件總線24也傳送系統(tǒng)信息,如中斷信息。模塊件總線24分別通過總線接口單元3640與每一個IOCM接口。在本發(fā)明的一實施例中,全局通道通信總線200僅僅作為模塊件總線24的一部分。
然而,在本發(fā)明的可選實施例中,全局通道通信總線200不同于模塊件總線24。全局通道通信總線200直接向每一個IOCM 25-29中的管腳控制通道(如201-203)尋找路由。全局通道通信總線200直接與每一個管腳控制通道(如201-203)通信而不是通過總線接口單元36-40間接通信。
在分別位于每一個管腳控制通道201-203中的藕合電路220-222各自藕合到一個或多個控制寄存器224-226。作為例子,控制寄存器224中的控制寄存器存儲比特可以由用戶編程以選擇管腳/狀態(tài)總線216中的哪一根或哪幾根導線藕合到全局通道通信總線200上。這樣,用戶可以通過控制寄存器229-230和管腳控制電路227-228選擇哪個通道藕合到管腳/狀態(tài)總線216中的哪一根導線,用戶還可以通過控制寄存器224和藕合電路220選擇管腳/狀態(tài)總線216中的哪一根導線藕合到全局通道通信總線200上。
在本發(fā)明的一實施例中,全局通道通信總線200的每一個都是由弱下拉設備(未示出)下拉成邏輯電平0的線接或導線。這樣,如果工作通道212通過藕合電路222將全局通道通信總線200的第一導線置成邏輯電平1,而工作通道210通過藕合電路221將全局通道通信總線200的同一根第一導線置成邏輯電平1,全局通道通信總線200的第一導線的邏輯電平將是邏輯電平1。因此,對線接或導線而言,邏輯電平1是主要的??蛇x實施例可以使用線接異或導線。
參看圖10,在本發(fā)明的一實施例中,管腳/狀態(tài)總線(如216-218)不是線接或導線或線接異或導線。因此,對接收廣播值的通道(如204-206),藕合電路(如220-222)從全局通道通信總線200接收該廣播值,然后以合適的值驅動管腳/狀態(tài)總線的被選導線(如216-218)。類似地,對提供廣播值的通道(如204-206),藕合電路(如220-222)從管腳/狀態(tài)總線的適當導線(如216-218)讀取數(shù)值,然后以合適的值驅動全局通道通信總線200。
其結果是,本發(fā)明允許數(shù)據(jù)處理系統(tǒng)10(參看圖10)的用戶編程選擇集成電路22中,或不同集成電路(如集成電路12)中哪一個或哪幾個通道可以向全局通道通信總線200的導線提供信息。向全局通道通信總線200提供的信息向用戶選擇的集成電路22或不同集成電路(如集成電路12)的所有通道同步廣播,毋需服務處理器的介入。
本發(fā)明提供了數(shù)據(jù)處理系統(tǒng)10所有通道的信號或信息的同步全局通信方式。本發(fā)明提供了在多個獨立電路功能塊(如IOCM 25-29)間共享信息的靈活性,從而允許IOCM 25-29共同運行,協(xié)調它們執(zhí)行的一個或多個功能。另外,本發(fā)明減少了用于服務處理器的中斷數(shù)量,允許數(shù)據(jù)處理系統(tǒng)10可以同步執(zhí)行更多的功能。
圖11示出了圖10中控制寄存器226的一部分的一實施例。在本發(fā)明的一實施例中,全局通道通信總線200包括8根導線。全局通道通信總線200的8根導線的每一根都有一個對應的SFUN(狀態(tài)功能控制)寄存器存儲比特250,一個SDAT(狀態(tài)數(shù)據(jù))寄存器存儲比特251,一個GLS(全局/本地選擇控制)寄存器存儲比特252,和一個GDO(全局數(shù)據(jù)輸出)寄存器存儲比特253。例如,導線246(參看圖12)對應于SFUN比特254,SDAT比特255,GLS比特256和GDO比特257。
SDAT比特251含有狀態(tài)數(shù)據(jù),狀態(tài)數(shù)據(jù)代表出于通道到通道的通信和通道到C管腳U的通信的需要,由全局或本地通道產生的輸出狀態(tài)事件的結果。每一個SDAT比特251受對應的SFUN比特250控制。每一個SFUN比特250指定了一種與對應的SDAT比特251相關的模式。SDAT比特251所賦的模式是“硬件控制”模式和“軟件控制”模式。除了SFUN比特250,SDAT比特251也由GLS比特252配置。每一個GLS比特252控制相應SDAT比特251是否代表本地狀態(tài)數(shù)據(jù)或全局狀態(tài)數(shù)據(jù)。
作為例子,參看圖10和圖12,如果SDAT比特255被相應GLS比特256配置成本地方式,并且被相應SFUN比特254配置成“硬件控制”,SDAT比特255包含由通道206在導線241上驅動的通道輸出狀態(tài)事件的結果。如果SDAT比特255被相應GLS比特256配置成全局方式,并且被相應SFUN比特254配置成“硬件控制”,SDAT比特255包含由集成電路22(參看圖1)中任意處的被選通道在導線246上驅動的全局狀態(tài)事件的結果。SDAT比特255通過導線240向通道206提供它的數(shù)據(jù)。在“硬件控制”方式下,SDAT比特251不能被C管腳U13寫(參看圖1)。
如果SDAT比特255被相應GLS比特256配置成本地方式,并且被相應SFUN比特254配置成“軟件控制”,SDAT比特255包含由C管腳U 13寫入的數(shù)據(jù)以仿真導線241的狀態(tài)。然而,當配置成全局方式時,在軟件控制方式下,SDAT比特255不能被寫入。SDAT比特255反映導線246的全局狀態(tài)。SDAT比特255向導線240提供該值。在軟件控制方式下,僅在配置成本地狀態(tài)時,SDAT比特251才能被C管腳U13寫入(參看圖1)。為了寫全局狀態(tài),GDO比特257必須被寫入。
當寫SDAT比特251時,可以強制單個SDAT比特變?yōu)樾聽顟B(tài)而不影響其它比特。為實現(xiàn)此目的,SDAT比特251和SFUN比特250必須同時被C管腳U13寫入。因為每一個SFUN比特250控制一個對應的SDAT比特251,所以SFUN比特250的內容決定該次寫入影響SDAT比特251。為了寫入以影響SDAT比特251中的某一個,相應的SFUN比特250必須寫入%0。為了寫入而不影響SDAT比特251中的某一個,相應的SFUN比特250必須寫入%1。通過這種方式,SFUN比特250用于屏蔽相應的SDAT比特251以控制對特定SDAT比特251的比特寫。
參看圖11和圖12,GDO比特253包含提供給全局通道通信總線200的全局數(shù)據(jù)。存儲在GDO比特257中的數(shù)據(jù)由兩個可能的源中的一個提供,即導線241和C管腳U13。SFUN比特250和GLS比特256決定導線241或C管腳U13是否向GDO比特257提供全局數(shù)據(jù)。
當GLS比特256被配置成全局方式,GDO比特257用于向導線246提供一個全局狀態(tài)值。在軟件控制方式和硬件控制方式下,GDO比特257都通過在導線246上驅動該全局狀態(tài)值來提供該全局狀態(tài)值。如果GDO比特257由相應SFUN比特254配置成軟件控制方式,則C管腳U13可以修改存儲在GDO比特257中的全局狀態(tài)值。如果GDO比特257由相應SFUN比特254配置成硬件控制方式,則只有導線241能修改存儲在GD0比特257中的全局狀態(tài)值。
當GLS比特256被配置成本地方式,GDO比特257不再用于向導線246提供全局狀態(tài)。GDO比特257不能被C管腳U13寫入。GDO比特257只能被導線241修改。
參看圖3,注意將管腳110的一個(對應于PCC105)藕合到管腳/狀態(tài)信息導線115的一個(對應于其它成對的PCC107)的能力,允許用戶從全局通道通信總線200向輸出管腳110提供通道輸出。這樣,集成電路22(參看圖1)中的任何通道可以通過全局通道通信總線200向任意輸出管腳31-35輸出事件。在本發(fā)明的一實施例中,輸入管腳110的邏輯電平不在管腳/狀態(tài)信息導線115上反映,這樣,管腳輸入不能通過全局通道通信總線進行全局通信。在本發(fā)明的一個可選實施例中,一個輸入管腳110的邏輯電平可以被反映到管腳/狀態(tài)信息導線115上,因此可通過全局通道通信總線200來全局傳輸管腳輸入。
在本發(fā)明的一個實施例中,GDO比特位253能被CPU13隨時讀取,僅在軟件控制模式中設置為全局狀態(tài)時,才可被CPU13寫入。
參照圖11和圖12,每個SFUN比特位250用于選擇模式,稱為軟件控制模式或硬件控制模式,分別對應一個SDAT比特位251和GDO比特位253。CPU13可以隨時讀寫SFUN比特位250。
參照圖11和圖12,每個GLS比特位252用于選擇對應的一個SDAT比特位251是局部的或是全局的。存儲在SDAT比特位251的局部狀態(tài)值僅在局部管腳/狀態(tài)總線(如圖10中的218)上傳輸,該總線由局部管腳控制通道(如圖10中的203)所控制。存儲在GDO比特位257中的全局狀態(tài)值,可以通過全局通道通信總線200或局部管腳/狀態(tài)總線(如圖10中的218)來提供。CPU13可以隨時讀寫GLS比特位252。
參照圖12,應注意SDAT比特位255可由對應的GLS比特位256分別設置為全局的或局部的。設置為全局時,導線241提供一個全局狀態(tài)值給GDO比特位257,而不是SDAT比特位255。GDO比特位257是通過導線246向全局通道通信總線200提供全局狀態(tài)值的來源。引線或導線246的最終邏輯電平(即全局狀態(tài)值)存儲在SDAT比特位255中。該全局狀態(tài)值傳輸?shù)綄Ь€240,再送至通道206的輸入(見圖10)。
應注意本發(fā)明的一個實施例中,有一個全局計時器總線(未標出),耦合給每個主計時器總線控制通道(如圖2中的61和62),用于將一個或多個時基值傳輸給不同的集成電路22(如圖1)上的計時器總線(如圖2中的71和72)。全局計時器總線(未示出)以模擬方式作用在全局通道通信總線200上(見圖10)。在本發(fā)明的一個可選例中,未使用一個全局計時器總線。而是,如果獨立的IOCMs25-29要求相同的時基值時,產生所需時基的時基通道(如圖2中的度計時器通道94)被復制給多個IOCMs25-29。
通道間數(shù)據(jù)傳輸在“通道硅庫(silicon library of channels)”多個通道,可以編程用于完成數(shù)據(jù)傳輸操作。在數(shù)據(jù)傳輸操作中,數(shù)據(jù)可以從一個頂端相鄰通道(如圖20中的400)的數(shù)據(jù)寄存器傳輸給通道本身的數(shù)據(jù)寄存器(如401),和從通道(如401)本身的數(shù)據(jù)寄存器傳輸給底端相鄰通道(如402)的數(shù)據(jù)寄存器。通過對通道的控制寄存器比特位進行編程,來完成這些通道間數(shù)據(jù)傳輸,就可以構成和使用棧和先入先出(FIFO)結構。在本發(fā)明的一個實施例中支持通道間數(shù)據(jù)傳輸?shù)墓ぷ魍ǖ腊?1)匹配通道(2)俘獲通道;和(3)加計數(shù)器通道。在一個實施例中,可逆計數(shù)器通道也允許一些數(shù)據(jù)傳輸功能。
在本發(fā)明的一個實施例中,可利用支持通道間數(shù)據(jù)傳輸?shù)耐ǖ罉嫵扇N基本類型的結構(1)棧,是收集許多時基值或計數(shù)操作值的有用結構;(2)FIFO,多個匹配輸出事件可以輸出給一個管腳或狀態(tài)導線,其中利用存儲在FIFO結構中所收集的時基值,(這些輸出事件可被其它通道或直至I/O集成電路等裝置所利用);(3)FIFO也可用于收集和存儲最新俘獲到的時基值或最新計數(shù)操作。
這種棧和FIFO數(shù)據(jù)存儲結構可以降低通道要求的服務頻率,因而降低需由CPU13響應的中斷數(shù)(見圖1)。圖20顯示相鄰通道400-402間數(shù)據(jù)傳輸操作的一個例子。
如圖20所示,匹配通道400,俘獲通道401,計數(shù)器通道402,各自控制從它們頂端相鄰通道到它們自身數(shù)據(jù)寄存器的數(shù)據(jù)傳輸。為了控制數(shù)據(jù)傳輸,一個通道的數(shù)據(jù)傳輸邏輯(如407-409中的一個),與頂端相鄰通道的數(shù)據(jù)傳輸邏輯進行通信,每個通道的數(shù)據(jù)傳輸邏輯可以向狀態(tài)總線414產生兩種輸出文件,稱為顯示通道與頂端相鄰通道都有有效數(shù)據(jù)的一種輸出文件,和顯示通道與頂端相鄰通道都有無效數(shù)據(jù)的一種輸出文件。此外,俘獲通道401可以利用來自狀態(tài)總線414的輸入文件,使它數(shù)據(jù)寄存器404中的數(shù)據(jù)無效。
在本發(fā)明的一個實施例中,管腳控制通道(PCC)(如圖2中的52)具有一個32-bit數(shù)據(jù)通路,經過它,PCC的頂端相鄰通道可以穿過PCC傳輸數(shù)據(jù)給它的底端相鄰通道。穿過PCC的數(shù)據(jù)傳輸不影響PCC。(即PCC沒有數(shù)據(jù)傳輸控制和不存儲通過它的數(shù)據(jù)。)圖21和圖22所示電路,包括控制和狀態(tài)寄存器存儲電路,它被用來支持一個通道(如俘獲通道401)中的數(shù)據(jù)傳輸操作。圖21所示電路用于16-bit數(shù)據(jù)傳輸操作,圖22所示電路用于32-bit數(shù)據(jù)傳輸操作。32-bit數(shù)據(jù)傳輸功能,用于數(shù)據(jù)傳輸操作的寄存器比特位,相鄰通道間通信的信號,所用的輸入事件和一個通道數(shù)據(jù)傳輸邏輯產生的輸出事件都將在以下描述。應注意控制和狀態(tài)寄存器存儲電路可被看作虛擬的盒子,因為它們物理上定位于一個或多個用戶可編程寄存器的一部分。應注意清零DVB輸入事件信號僅能被俘獲通道使用。
匹配通道400,俘獲通道401,計數(shù)器通道402都可被設置運行在數(shù)據(jù)傳輸模式,或者作為兩個完全獨立的16位子通道或者作為一個32位通道。如圖21所示,俘獲通道401被設置成16位數(shù)據(jù)傳輸操作模式。如圖22所示,俘獲通道400被設置成32位數(shù)據(jù)傳輸操作模式。匹配通道400和計數(shù)器通道402可用同樣的方式設置。
參照圖21,應注意控制每個16位子通道的邏輯單元功能相似但彼此獨立。在本發(fā)明的一個實施例中,一個通道的兩個16位子通道不必運行于同一操作模式。例如設置匹配通道400的高16位子通道,來匹配計時器總線上的16位值(如圖2的計時器總線71),低16位子通道用于16比特數(shù)據(jù)傳輸操作。
參考圖21,控制通道高16位的寄存器存儲比特位被置“0”,控制通道低16位的寄存器存儲比特位被置“1”(如DTC0和DTC1)。如圖22,當通道(如401)被設置進行32比特數(shù)據(jù)傳輸時,控制高16位子通道的寄存器存儲位被用來控制32位的數(shù)據(jù)傳輸。
在本發(fā)明的一個實施例中,支持數(shù)據(jù)傳輸操作的通道有三種不同的寄存器比特字段,用來控制數(shù)據(jù)傳輸和向CPU13提供狀態(tài)信息。這三個寄存器位分別是數(shù)據(jù)有效比特(DVB),數(shù)據(jù)傳輸控制比特(DTC),和數(shù)據(jù)傳輸狀態(tài)比特(DTS)。在本發(fā)明的一個實施例中,俘獲通道和計數(shù)器通道還使用輸入事件邊沿選擇位(IE)來控制事件傳輸操作。
參考圖21和22,每個數(shù)據(jù)有效比特位(DVB)425-426被相應的數(shù)據(jù)傳輸邏輯422,429,430用作控制和狀態(tài)比特位。作為狀態(tài)比特位,DVB指示相應數(shù)據(jù)寄存器中有效或無效數(shù)據(jù)的出現(xiàn)。作為控制比特位,DVB被相應的數(shù)據(jù)傳輸邏輯用來控制從頂端相鄰通道的數(shù)據(jù)傳輸。
在本發(fā)明的一個實施例中,DVB位為邏輯“1”,表示該通道數(shù)據(jù)寄存器中出現(xiàn)有效數(shù)據(jù)。例如,在俘獲通道401中,只要俘獲操作一完成,DVB位就被置為邏輯“1”。如圖20和圖22所示,當數(shù)據(jù)傳人數(shù)據(jù)寄存器404(如從頂端相鄰通道400),俘獲通道的數(shù)據(jù)傳輸邏輯430就置DVB位為邏輯“1”。
此外,如果CPU13(見圖1)向任何被設為數(shù)據(jù)傳輸模式的數(shù)據(jù)通道的數(shù)據(jù)寄存器寫入時,DVB位被自動置邏輯“1”,顯示該數(shù)據(jù)有效。在本發(fā)明的一個實施例中,當匹配通道處于匹配模式,向其數(shù)據(jù)寄存器寫入時,匹配通道的DVB位亦被置邏輯“1”。
在本發(fā)明的一個實施例中,DVB位邏輯“0”表示通道數(shù)據(jù)寄存器中出現(xiàn)無效數(shù)據(jù)。例如,在匹配通道400中,一旦匹配輸出事件發(fā)生,DVB位清為邏輯“0”。如圖20和圖22所示,當數(shù)據(jù)從數(shù)據(jù)寄存器404傳入數(shù)據(jù)寄存器405(底端相鄰通道),傳輸邏輯409清零俘獲通道401中的DVB位425為邏輯“0”。一旦數(shù)據(jù)被傳輸,通道401的DVB比特425被清零為邏輯“0”,顯示數(shù)據(jù)不再有效。
此外,CPU13能通過清零相應DVB位425為邏輯“0”,使數(shù)據(jù)寄存器404中的數(shù)據(jù)無效。為了清零DVB位425,CPU13必須先在確立態(tài)讀取DVB位425,然后必須向其寫入邏輯“1”。DVB位425為邏輯“1”顯示數(shù)據(jù)寄存器404中的數(shù)據(jù)為無效。應注意由于DVB位既為狀態(tài)位又為控制位,CPU13對DVB位的清零動作可能會引起有效數(shù)據(jù)被數(shù)據(jù)傳輸操作覆蓋。
對本發(fā)明的一個實施例,圖23列出能置位和清零DVB位的操作。包括在各種操作模式下,對每種支持數(shù)據(jù)傳輸操作的通道的操作。參考圖20和圖22,當通道402被設置為數(shù)據(jù)傳輸模式,頂端相鄰通道的DVB位(通道401的DVB位)為邏輯“1”,通道本身的DVB位(如通道402的DVB位)為邏輯“0”時,發(fā)生數(shù)據(jù)傳輸。通道的數(shù)據(jù)傳輸邏輯(如通道402的傳輸邏輯),首先從頂端相鄰的通道數(shù)據(jù)寄存器404,拷貝數(shù)據(jù)到該通道的數(shù)據(jù)寄存器405。接著頂端相鄰通道的DVB位(通道401的DVB比特位)被清零為邏輯“0”。最后該通道的DVB位被置為邏輯“1”。
參考圖21和圖22,數(shù)據(jù)傳輸控制(DTC)比特位423-424被用來使能和禁止相應的數(shù)據(jù)傳輸邏輯422,429,430。當一個通道的數(shù)據(jù)傳輸邏輯被使能,頂端相鄰通道的數(shù)據(jù)寄存器的內容可被傳輸至該通道的數(shù)據(jù)寄存器。當一個通道的DVB位為邏輯“0”,且頂端相鄰通道的DVB位為邏輯“1”時,數(shù)據(jù)傳輸開始。
在數(shù)據(jù)傳輸操作的下列兩種模式下,產生輸出事件。(1)如果通道和其頂端相鄰通道的DVB位皆為邏輯“1”(表明兩通道都出現(xiàn)有效數(shù)據(jù)),開始傳輸數(shù)據(jù)并引起一個輸出事件。(這個輸出事件被稱為有效相鄰數(shù)據(jù)對(VADP)輸出事件)(2)如果通道和其頂端相鄰通道的DVB比特皆為邏輯“0”(表明兩通道都出現(xiàn)無效數(shù)據(jù)),開始傳輸數(shù)據(jù)并引起一個輸出事件。(這個輸出事件被稱為無效相鄰數(shù)據(jù)對(IADP)輸出事件)在本發(fā)明的一個實施例中,這兩種模式下輸出事件的目的(輸出事件導線)和輸出事件的類型(上升,下降,翻轉〕都不由軟件控制。這兩種輸出事件都與同一狀態(tài)總線414(見圖21,22)直接相連,且二者都引起一個觸發(fā)事件。
圖24描述了由可進行數(shù)據(jù)傳輸操作的通道中的數(shù)據(jù)傳輸控制位(DTC)(如圖21,22中的423-424)控制的數(shù)據(jù)傳輸操作模式。
參照圖21,22,數(shù)據(jù)輸出狀態(tài)位(DTS)427-428被用來標志一個輸出事件已被相應數(shù)據(jù)傳輸邏輯422,429,430產生。如果DTC=%10,且VADP檢測輸出事件已由相應的事件傳輸邏輯產生,則DTS位被置為邏輯“1”。如果DTC=%11,且IADP檢測輸出事件已由相應的事件傳輸邏輯產生,則DTS位被置為邏輯“0”。為了清零DTS比特427,CPU13必須先在確立態(tài)讀DTS位427,然后向其寫入邏輯“1”。
下面將討論用來實現(xiàn)數(shù)據(jù)傳輸操作的控制信號。參照圖21,22,圖中標有大量的數(shù)據(jù)傳輸控制信號,這些信號用來與(或來自)設置在數(shù)據(jù)傳輸操作模式的頂端相鄰通道通信。兩通道聯(lián)絡的三種途徑32/16-BIT數(shù)據(jù)線,讀信號線,清零信號線。32/16-BIT數(shù)據(jù)線用于通道的數(shù)據(jù)寄存器(如圖20中通道401的數(shù)據(jù)寄存器404)從頂端相鄰通道(如圖20的通道400)接收數(shù)據(jù)。
讀信號用于通道的數(shù)據(jù)傳輸邏輯,與頂端相鄰通道的DVB位之間的通信。讀取的信息有兩個用途。第一,在數(shù)據(jù)傳輸操作時,如果通道本身的DVB為邏輯“0”且頂端相鄰通道的DVB為邏輯“1”,那么開始傳輸數(shù)據(jù)。第二,當通道被編程產生一個VADP或一個IADP輸出事件,讀信號用來決定是否存在一個有效或無效的相鄰數(shù)據(jù)對。
清零信號被用于頂端相鄰通道,在數(shù)據(jù)從該頂端相鄰通道的數(shù)據(jù)寄存器,傳至通道本身的數(shù)據(jù)寄存器之后,有條件地清零通道的DVB比特。
應注意圖22中數(shù)據(jù)傳輸通道有三種途徑與底端相鄰通道聯(lián)絡。它們是已經提到的數(shù)據(jù),讀,寫信號線。在設計集成電路時,如果讓數(shù)據(jù)傳輸通道(如圖20的400-402)電路彼此鄰接,則數(shù)據(jù),讀,寫信號線的布線可直接從一個通道,指向相鄰的另一個通道。在本發(fā)明的一個實施例中,可以讓每個數(shù)據(jù)傳輸通道,控制從相鄰通道至本身數(shù)據(jù)寄存器的數(shù)據(jù)傳輸。在本發(fā)明的可選實施例中,使用不同的狀態(tài)和控制寄存器比特,不同的數(shù)據(jù)傳輸控制信號,在I/O集成電路22中采用不同的電路在相鄰通道間傳輸數(shù)據(jù)(見圖1)。
在本發(fā)明的一個實施例中,所有數(shù)據(jù)傳輸通道都產生兩種類型的輸出事件一個有效相鄰數(shù)據(jù)對輸出事件(VADP),一個無效相鄰數(shù)據(jù)輸出事件(IADP)。此外,在本發(fā)明的一些實施例中,運行于數(shù)據(jù)傳輸模式的俘獲和計數(shù)器通道,可以利用一個輸入事件清零俘獲或計數(shù)器通道本身的DVB比特(見圖21,22)。
參考圖21,22,在本發(fā)明的一個實施例中,有效相鄰數(shù)據(jù)對(VADP),或無效相鄰數(shù)據(jù)對(IADP)輸出事件信號,是輸出至狀態(tài)線414并產生一個觸發(fā)事件。VADP和IADP輸出事件,可被CPU13(見圖1)用來顯示一個堆棧滿或一個FIFO(先入先出隊列)空。管腳控制通道(PCC)對狀態(tài)線414(如管腳/控制總線76的狀態(tài)線)進行監(jiān)控,它可被編程,在狀態(tài)線上的觸發(fā)事件被識別時引起中斷。
俘獲通道或計數(shù)器通道的輸入事件邏輯可被編程,在進行數(shù)據(jù)傳輸操作時,使用一個輸入事件,清零相應的DVB比特(見圖21,22中的清零DVB輸入事件信號431和433)。這對禁止一個FIFO隊列中的底層數(shù)據(jù)傳輸通道的數(shù)據(jù)極為有用,這樣位于底層數(shù)據(jù)通道之上的所有數(shù)據(jù)都可以沿一個通道向下傳輸。
在計時器應用中有三種基本的數(shù)據(jù)傳輸結構。第一種數(shù)據(jù)傳輸結構是堆棧,它保存俘獲的時基值和計數(shù)操作值。第二種數(shù)據(jù)傳輸結構是時基值的FIFO隊列,用它來產生一系列匹配輸出事件。第三種數(shù)據(jù)傳輸結構是保存大量最近俘獲的時基值,和最新計數(shù)操作值的FIFO隊列。本發(fā)明容許用戶編程設置這三種基本時基傳輸結構,來調整數(shù)據(jù)傳輸能力和一個或多個通道的操作。
計數(shù)操作控制特征許多基于控制應用的微控制器,需要對目標信號進行高精度的累加測量。例如圖2中的計數(shù)器通道58可對目標信號進行高精度的累加測量。目標信號可由外部提供進入輸入/輸出(I/O)集成電路22(見圖1),也可由內部提供送入輸入/輸出(I/O)集成電路22。計數(shù)器通道58(見圖2)可進行多種計數(shù)操作,并通過向它的一個或多個用戶可編程控制寄存器存儲比特67,寫入預置值來選擇操作方式。
如圖26所示,作為第一個可編程選擇的操作,計數(shù)器通道58可根據(jù)目標信號電平的“高”和“低”決定增加或減少計數(shù)值。第二,計數(shù)器通道58可在每次目標信號的有效沿到達時增加計數(shù)值。有效沿可編程設定為目標信號的上升沿或下降沿。第三,計數(shù)器通道可在有效沿首次到達時開始連續(xù)計數(shù)。第四,計數(shù)器通道58可在每次目標信號的有效沿到達時減少計數(shù)值。本發(fā)明的可選實施例可使用別的計數(shù)操作。
一些控制應用需要由第二個通道(如匹配通道56,俘獲通道55,通道組87中的別的計數(shù)器通道)產生的第二路信號,決定何時進行目標信號的計數(shù)操作。在現(xiàn)有技術中,如果計數(shù)器通道在一時間段內對目標信號進行累加操作,第二路信號應對目標信號進行選通,或者向中斷服務處理器產生一個中斷。中斷服務處理器將響應中斷,選通計數(shù)器通道對目標信號的計數(shù)操作。
同樣在現(xiàn)有技術中,為了停止計數(shù)器通道對目標信號的計數(shù),目標信號選通的第二路信號應變?yōu)闊o效,或者向中斷服務處理器產生一個中斷。中斷服務處理器將響應中斷,中止計數(shù)器通道對目標信號的計數(shù)操作。不幸的是,采用現(xiàn)有技術時常導致計數(shù)操作的累加錯誤。
如圖25所示在現(xiàn)有技術中,當用第二路來中止計數(shù)器通道對目標信號的計數(shù)操作,就引入了累加錯誤。因為第二路信號在目標信號下降沿到來之前已變?yōu)闊o效,即計數(shù)器通道在目標信號的一個周期結束之前就停止計數(shù)了。這樣存儲在現(xiàn)有技術計數(shù)器通道的周期累加值會低于正確值,其差值恰好為累加錯誤的值。應注意圖25,26中向上的箭頭指示計數(shù)器通道58作增數(shù)操作,向下的箭頭指示計數(shù)器通道58作減數(shù)操作。
參考圖25,用現(xiàn)有技術在一時間段內進行周期累加,如在“計數(shù)窗口”內,”計數(shù)窗口“由計數(shù)窗口信號確立有效開始,反轉為無效結束。通常由第一個計數(shù)器通道對目標信號事件計數(shù),由第二個通道產生計數(shù)窗口信號。第一個計數(shù)器通道可接收目標信號和接收窗口信號。如圖25所示,計數(shù)窗口信號的確立開始狀態(tài)為“高”電平,目標信號的有效沿為下降沿。
參考圖25所示的采用現(xiàn)有技術進行周期累加,當計數(shù)窗口信號確立開始,第一個計數(shù)器通道在目標信號緊接的有效沿開始計數(shù),并在計數(shù)窗口信號有效時不斷計數(shù)。當?shù)谝粋€計數(shù)器通道接收到的計數(shù)窗口信號變?yōu)闊o效,第一個計數(shù)器通道立刻停止計數(shù)。這樣,如果計數(shù)窗口信號沒有在目標信號的周期邊界上變?yōu)闊o效(如圖25所示),就會導致累加錯誤。
然而,本發(fā)明允許計數(shù)器通道接收第三個通道(如圖2中,匹配通道56,俘獲通道55,通道組87中別的計數(shù)器通道等)提供的第三路信號,或者連至I/O集成電路22(見圖1) 的外部源提供的第三路信號。圖26中標記為“計數(shù)停止信號”的第三路信號,被計數(shù)器通道58接收來決定何時停止接收操作。應注意對計數(shù)器通道58的使能和禁止不需處理器的任何中斷服務。此外,使用第三路信號來中止計數(shù)操作,允許計數(shù)操作停止在目標信號的周期邊界,從而避免了累加錯誤。
作為計數(shù)停止信號的第三路信號,提供了在一時間段內,準確無誤累加目標信號事件的途徑。應注意在現(xiàn)有技術中,沒有辦法利用由外部或其它通道提供的第三路信號,來增強中止計數(shù)操作。此外,利用第三路信號提供了不需中斷服務響應,便能準確無誤測量一時間段內目標信號的累加值的有效途徑。
應注意在本發(fā)明的一些實施例中,目標信號亦可用作計數(shù)停止信號。參考圖25,計數(shù)停止條件可編程設置為目標信號的某一邊沿類型。例如通過向計數(shù)器通道58(見圖2)的控制寄存器存儲位67,寫入預置值來選擇計數(shù)停止信號為目標信號的下降沿。這樣當計數(shù)窗口信號反轉為無效,且計數(shù)停止事件發(fā)生時(如目標信號的下降沿),計數(shù)器通道58停止計數(shù)。這樣,計數(shù)器通道58在計數(shù)窗口信號確立開始后,目標信號的第一個下降沿開始計數(shù),在計數(shù)窗口信號反轉為無效后目標信號的第一個下降沿停止計數(shù)。結果,計數(shù)器通道58測量并保存了非常精確的周期累加值,現(xiàn)有技術法無法與之相比。
本發(fā)明允許利用第二路,第三路信號來優(yōu)化對目標信號的計數(shù)操作計數(shù)操作由第二路信號定義的“計數(shù)窗口”選通,由第二路或第二路和用來限制第二路的第三路信號來中止。在某些情況下,目標信號的邊沿可用作第三路信號。在一個實施例中,計數(shù)器通道58(見圖2)的控制寄存器存儲位67的某些位,被用來決定是否使用計數(shù)停止信號。而且有些位用來選擇中止計數(shù)操作的事件,是第三路信號(圖26中稱為計數(shù)停止信號)事件,還是圖25所示的目標信號事件,還是現(xiàn)有技術的計數(shù)窗口信號事件。在現(xiàn)有技術中,計數(shù)窗口信號的反轉總是用于中止計數(shù)操作。
圖27給出了計數(shù)器通道58(見圖2)一部分的一個實施例。計數(shù)器通道包括一個計數(shù)器電路440和一個數(shù)據(jù)寄存器447。數(shù)據(jù)寄存器與總線24(見圖1)直接耦合。計數(shù)器電路440包括一個計數(shù)器441,一個控制電路442,另一個控制電路443??刂齐娐?42從線路448接收接收窗口信號,從線路449接收計數(shù)停止信號,從線路450接收目標信號??刂齐娐?42通過線路444,向計數(shù)器提供計數(shù)使能信號??刂齐娐?43通過線路445,向計數(shù)器提供計數(shù)禁止信號。計數(shù)器441還從線路450上接收目標信號。計數(shù)器441通過線路446向數(shù)據(jù)寄存器447提供計數(shù)值。
控制和狀態(tài)信息通過導線451在計數(shù)器441,控制電路442,控制電路443之間傳輸。例如,控制電路442和443中的一個通過導線451,提供一個數(shù)據(jù)傳輸控制信號給計數(shù)器441。當提供給計數(shù)器441的數(shù)據(jù)傳輸控制信號確立后,計數(shù)器441將現(xiàn)在的計數(shù)值通過導線446傳輸給數(shù)據(jù)寄存器447。數(shù)據(jù)寄存器447可通過總線24利用讀寫存取來訪問。計數(shù)器441通過導線452接受一個計時器信號??刂萍拇嫫鞔鎯Ρ忍匚?7通過導線453耦合給控制電路442和443。
圖28顯示了寄存器67一部分的一個實施例(見圖2和圖27)。應注意按照計數(shù)器通道58所選模式,一些寄存器比特位具有不同的功能。例如,當計數(shù)窗口模式無效時,CZO/WTO/DTO比特位被用作計數(shù)到零輸出比特位,當計數(shù)窗口模式有效時,被用作窗口終端輸出比特位,當選擇數(shù)據(jù)傳輸模式時,被用作數(shù)據(jù)傳輸輸出比特位。在一個實施例中,圖28所示控制寄存器比特位執(zhí)行下列功能。16/8和24/32-16-比特,8-和24-比特,或32-比特操作比特位46900-32-比特操作01-組合8-和24-比特操作1X-16-比特操作CCS計數(shù)器計時器選擇比特位4700-計數(shù)器利用輸入事件計時1-計數(shù)器利用計時器總線輸入計時DTC數(shù)據(jù)傳輸控制比特位4710X-計數(shù)模式有效10-w/VADP檢測輸出事件有效11-w/IADP檢測輸出事件有效CLK計時器總線源選擇比特位472000-111-計時器總線連線0-7SCC單個/連續(xù)計數(shù)操作比特位4730-連續(xù)計數(shù)操作1-單個計數(shù)操作CI計數(shù)輸入比特位0000-0111-管腳連線0-管腳連線71000-1111-狀態(tài)連線0-狀態(tài)連線7CIEL計數(shù)輸入邊沿或電平比特位475CCS=0X00-輸入無效X01-計數(shù)上升沿輸入事件X10-計數(shù)下降沿輸入事件X11-兩邊沿計數(shù)輸入事件CCS=1000-輸入無效001-利用計時器在上升沿開始010-利用計時器在下降沿開始011-利用計時器在任一沿開始100-利用計時器在輸入低開始101-利用計時器在輸入高開始110-利用計時器當輸入低時計數(shù)111-利用計時器當輸入高時計數(shù)USI/MTI/CDVI加計數(shù)停止輸入/模傳輸輸入/清零數(shù)據(jù)有效輸入比特位4760000-0111-管腳0-管腳71000-1111-狀態(tài)0-狀態(tài)7USIE/MTIE/CDVE加計數(shù)停止輸入邊沿/模傳輸輸入邊沿/清零數(shù)據(jù)有效邊沿比特位47700-輸入無效01-在上升沿停止cnt/Xfer mod/Clr DVB10-在下降沿停止cnt/Xfer mod/Clr DVB11-在任一沿停止cnt/Xfer mod/Clr DVBCZO/WTO/DTO計數(shù)到零輸出/窗口終端輸出/數(shù)據(jù)傳輸輸出比特位4780000-0111-管腳連線0-管腳連線71000-1111-狀態(tài)連線0-狀態(tài)連線7CZOEL/WTOEL/DTOE計數(shù)到零輸出邊沿或邏輯操作/窗口終端輸出邊沿或邏輯操作/數(shù)據(jù)傳輸輸出邊沿比特位479CZOEL/WTOEL000-輸出無效001-輸出一個上升沿010-輸出一個下降沿011-輸出一個翻轉100-條件與輸出置位管腳/狀態(tài)101-條件或輸出置位管腳/狀態(tài)110-條件與輸出清零管腳/狀態(tài)111-條件或輸出清零管腳/狀態(tài)DTOEX00-輸出無效X01-輸出一個上升沿X10-輸出一個下降沿X11-輸出一個翻轉圖29示出控制寄存器67(見圖27)一部分的一個實施例。在一個實施例中,圖29所示控制寄存器比特位執(zhí)行下列功能。CM計數(shù)器模式比特位4800-減計數(shù)模式1-加計數(shù)模式CWE計數(shù)窗口使能比特位48100-計數(shù)窗口操作無效01-利用所選狀態(tài)連線使能1X-利用來自低端相鄰雙FIFO通道(如可用)的輸入使能應注意如果一個低端相鄰雙FIF0通道不存在并選擇CWE=1X,則窗口輸入總是低。WTOC窗口終端輸出控制比特位48200-計數(shù)到零輸出有效,窗口終端輸出無效01-計數(shù)到零輸出無效,窗口終端輸出對一個窗口內第一個計數(shù)操作有效10-計數(shù)到零輸出有效,窗口終端輸出對一個窗口內第一個計數(shù)操作有效11-計數(shù)到零輸出有效,窗口終端輸出對一個窗口內任意計數(shù)操作有效OFC溢出控制比特位4830-溢出時停止在零1-溢出時繼續(xù)增加LCE邏輯補使能比特位4850-邏輯補輸出無效1-邏輯補輸出有效CWI計數(shù)窗口輸入比特位484000-111-狀態(tài)連線0-狀態(tài)連線7圖30顯示寄存器67(見圖27)一部分的一個實施例。應注意在某些實施例中,寄存器67包括控制寄存器比特位和狀態(tài)寄存器比特位。在圖30所示實施例中,寄存器67的一部分用來存儲狀態(tài)信息。在一個實施例中,圖30所示狀態(tài)寄存器比特位執(zhí)行下列功能。
WTS窗口終端狀態(tài)比特位4900-窗口內一個單個計數(shù)操作,或第一個連續(xù)計數(shù)操作沒有被終止1-窗口內一個單個計數(shù)操作,或第一個連續(xù)計數(shù)操作被終止USIS/MTS/CDVS加計數(shù)停止輸入狀態(tài)/模傳輸狀態(tài)/清零數(shù)據(jù)有效狀態(tài)比特位4910-停止計數(shù)器/模傳輸/清零數(shù)據(jù)有效沒有發(fā)生1-停止計數(shù)器/模傳輸/清零數(shù)據(jù)有效發(fā)生CZS/DTS計數(shù)到零狀態(tài)/數(shù)據(jù)傳輸狀態(tài)比特位4920-Inc/Dec到零或VADP/IADP沒有發(fā)生1-Inc/Dec到零或VADP/IADP發(fā)生DVB數(shù)據(jù)有效比特位4930-數(shù)據(jù)寄存器內數(shù)據(jù)無效1-數(shù)據(jù)寄存器內數(shù)據(jù)有效
CIS計數(shù)輸入狀態(tài)比特位4940-加/減計數(shù)輸入沒有發(fā)生1-加/減計數(shù)輸入發(fā)生圖31顯示計數(shù)器441(見圖27)中的計數(shù)操作,與圖28-29所示一些控制寄存器比特位之間的關系。參照圖31,當CCS=0和CIEL=X01時,計數(shù)窗口信號為高后,計數(shù)器441在每個上升邊沿輸入時增加。應注意在計數(shù)窗口信號變?yōu)榈秃?,計?shù)器441繼續(xù)增加。計數(shù)窗口信號變?yōu)榈秃螅數(shù)谝粋€計數(shù)停止信號事件產生后,計數(shù)器441停止。在這一點,計數(shù)操作完成,控制寄存器67中的加計數(shù)停止輸入狀態(tài)比特位被置位,計數(shù)值被傳輸給數(shù)據(jù)寄存器447,控制寄存器67中的DVB比特位被置位。
當CCS=1和CIEL=111時,無論何時目標信號是高和計數(shù)窗口信號時高,計數(shù)器441利用CLK比特字段所選的計時器輸入進行加計數(shù)。此外,計數(shù)窗口信號變?yōu)榈秃?,當?shù)谝粋€計數(shù)停止信號事件產生時,計數(shù)器441停止。當CCS=1和CIEL=010,計數(shù)器441利用來自導線452的計時器信號進行加計數(shù),當計數(shù)窗口信號為高時,在目標信號的第一個下降邊沿開始計數(shù)操作。同樣,當計數(shù)窗口信號反轉后,計數(shù)器441在第一個計數(shù)停止信號事件產生時停止。
圖32顯示了計數(shù)器通道58(見圖2)的一部分的一個可選實施例。在這個實施例中,計數(shù)器通道58包括一個計數(shù)器寄存器460,一個事件寄存器461,和輸出事件邏輯467。在一個實施例中,計數(shù)器寄存器460可被分成能獨立操作的兩個計數(shù)器部分。第一個計數(shù)器部分響應計數(shù)器控制邏輯462和輸入事件邏輯464。第二個計數(shù)器部分響應計數(shù)器控制邏輯463和輸入事件邏輯465。在一個實施例中,每個計數(shù)器部分也有一套獨立的,如圖28和圖29所示的控制寄存器比特位。
圖32所示各種控制和狀態(tài)比特位,盡管位于可存取讀寫寄存器內,也影響如圖32所示計數(shù)器通道58的行為。應注意DTC寄存器比特位471,DVB寄存器比特位493,和DTS寄存器比特位492,以如圖20-24中和本說明的附帶部分所描述的同樣方式,用于通道間數(shù)據(jù)傳輸。
應注意在一個實施例中,如果計數(shù)器(如圖27中的計數(shù)器441)是一個減計數(shù)器時,則不需要計數(shù)停止信號。在使用了一個減計數(shù)器的一些實施例中,一個全零的計數(shù)值可以用來指示應停止計數(shù)操作。這樣對于一個減計數(shù)器,一個全零的計數(shù)值可以執(zhí)行與加計數(shù)器中的一個計數(shù)停止信號同樣的功能。這樣,在計數(shù)窗口信號反轉后,當計數(shù)值第一次達到全零時,一個減計數(shù)器停止計數(shù)。
俘獲窗口特征許多基于微控制器的控制應用要求一個時基值,該時基值僅在一個目標信號的上升沿,下降沿,或在兩者處俘獲。例如,基于所選一個目標信號的邊沿產生的時間,利用圖2中的俘獲通道55從計時器總線71俘獲時基值。目標信號可從外到輸入/輸出(I/O)集成電路22(見圖1)提供,或產生給內至I/O集成電路22。俘獲通道55可執(zhí)行各種俘獲操作,該操作可由預先寫入俘獲通道55(見圖2,5,35和36)中,一個或更多個用戶可編程控制寄存器存儲比特位66的控制值來選擇。
許多控制應用要求一個由一個第二通道產生的第二信號,用于基于一個目標信號產生的時間,來規(guī)定何時俘獲一個時基值和何時不俘獲一個時基值。例如,參照圖2,這個產生第二信號的第二通道可以是通道54,它可以是一個匹配通道,一個計數(shù)器通道,或通道57中另一個其它類型的工作通道。理想情況下,時基值俘獲的使能和禁止不應由一個處理器(如圖1中的CPU13)要求直接服務,并且俘獲時基值應與目標信號的頻率一致無關。
然而,在現(xiàn)有技術控制應用中,要求第二信號產生一個中斷,要求引入一個處理器(如圖1中的CPU13)執(zhí)行的中斷服務例程,用于在俘獲通道內使能俘獲操作。此外,為在俘獲通道內禁止俘獲操作,要求第二信號產生一個中斷,要求引入中斷服務例程,用于在俘獲通道內禁止俘獲操作。
另外,為保持俘獲時基值的一致,現(xiàn)有技術的控制應用一般要求中斷服務處理,用于在下一個目標信號的觸發(fā)沿之前,將每個俘獲時基值傳輸給一個鎖存器或存儲器。這樣如果目標信號的頻率足夠高時,中斷服務例程并不總是能夠在下一個目標信號的觸發(fā)沿產生之前,將俘獲時基值傳輸給一個鎖存器或存儲器,因而失去俘獲時基值的一致性。
圖33顯示出一個第二信號,即所謂一個俘獲窗口信號,是如何用于規(guī)定從一個計時器總線俘獲時基值。作為一個第一可編程選擇,俘獲通道55可以基于目標信號的上次事件(即上次觸發(fā)沿)俘獲和存儲一個時基值。觸發(fā)沿可以編程選擇為目標信號的上升沿,下降沿或任意沿。第二,俘獲通道55與“N-1”其他俘獲通道一起,可以俘獲和存儲“N”時基值,每個時基值對應一個“N”上一次目標信號觸發(fā)沿。第三,俘獲通道55與“N-1”其他俘獲通道一起,可以俘獲和存儲“N”時基值,每個時基值對應一個“N”上一次目標信號正邊沿。另外,俘獲通道55與“N-1”其他俘獲通道一起,可以俘獲和存儲“N”時基值,每個時基值對應一個“N”上一次目標信號負邊沿。第四,俘獲通道55與“N-1”其他俘獲通道一起,可以俘獲和存儲“N”時基值,每個時基值對應一個“N”第一次目標信號觸發(fā)沿。在本發(fā)明的一個實施例中,使用了兩個俘獲通道,則數(shù)目“N”是2。本段中使用的“N”代表一個正整數(shù)。本發(fā)明的可選實施例可以使用其他俘獲操作。
如上所述,俘獲窗口特征消除了一個處理器(如圖1中的CPU13)服務介入的需要,并提供一個數(shù)據(jù)相關,而與目標信號頻率無關。俘獲窗口特征允許一個俘獲通道直接接收激勵(即俘獲窗口信號),來決定何時俘獲時基,何時不俘獲。因此,一個處理器(如圖1中的CPU13)的中斷服務被大大減少,并保持俘獲時基值的一致,并與目標信號的頻率無關。
俘獲窗口特征允許一個俘獲通道對時基值的俘獲,由一個第二信號的邏輯狀態(tài)來規(guī)定,該信號稱為一個俘獲窗口信號,這樣時基值的俘獲可以在第二信號定義的窗口期間被使能。
一個俘獲窗口使能寄存器比特位(圖35中的CWE501)被用于使能俘獲窗口特征。一個俘獲窗口是一個時段或時間/角度的“窗口”,其中執(zhí)行時基俘獲操作。當俘獲窗口比特位被置位時,基于目標信號邊沿的時基俘獲由一個第二信號的狀態(tài)來規(guī)定,該信號稱為俘獲窗口信號。屬于目標信號的時基俘獲,當俘獲窗口信號狀態(tài)確立時(圖33-34中的邏輯電平1)被允許,當?shù)诙盘枲顟B(tài)反轉時(圖33-34中的邏輯電平0)被禁止。
圖34顯示使用俘獲窗口特征,和使用位于俘獲通道55(見圖2)的寄存器66的某些寄存器控制比特位的一個例子。在這個例子中,俘獲窗口使能比特位(圖35中的CWE501)被置位,因而使能俘獲窗口特征。俘獲通道55在目標信號的每個上升沿產生時,俘獲在計時器總線71(見圖2)上的時基值。應注意,盡管如此,俘獲通道55也僅在俘獲窗口信號確立和所選目標信號邊沿產生時,俘獲在計時器總線71上的時基值。因此,俘獲窗口信號被確立的時段定義了允許俘獲的“窗口”。當俘獲窗口信號反轉時,進一步的目標信號時基俘獲被禁止。
應注意圖34所示例子中,俘獲窗口信號通過管腳/狀態(tài)總線75,或從底端相鄰雙FIFO通道(如被實現(xiàn))被提供給俘獲通道55。在一個實施例中,一個雙FIFO通道是一個工作通道,能夠作為一個雙重深度(two-deep)FIFO用于存儲數(shù)值。例如,參照圖20,計數(shù)器通道402可以被一個雙FIFO通道所取代,這樣作為底端相鄰雙FIFO通道用于俘獲通道401。如果CWE比特位501選擇管腳/狀態(tài)總線75,作為俘獲窗口信號的來源,則利用CWI比特位505,來選擇管腳/狀態(tài)總線導線75中的哪一個被用于向俘獲通道55提供俘獲窗口信號。如果CWE比特位501選擇底端相鄰雙FIFO通道作為俘獲窗口信號的來源,則CWI比特位505被忽略。應注意,如果底端相鄰通道不是一個雙FIFO通道,而且CWE比特位505被編程選擇一個底端相鄰雙FIFO通道,則俘獲窗口保持無效。
仍參照圖34所示例子,利用寄存器66(見圖35)中的CI比特位506,來選擇管腳/狀態(tài)總線導線75中的哪一個被用于向俘獲通道55提供俘獲目標信號。利用CIE比特位507來選擇俘獲目標信號的哪一個邊沿,所謂上升沿,下降沿,或任一邊沿,被用于觸發(fā)從計時器總線71俘獲時基值。而且,利用CTB比特位503,來選擇俘獲通道55從計時器總線71俘獲哪一個時基值。
圖35顯示了寄存器66(見圖2和圖27)的一部分的一個實施例。應注意基于為俘獲通道55所選的模式,一些寄存器比特位可以有一個不同的功能。例如,當俘獲窗口模式被使能時,CI/CDVI比特位506用作俘獲輸入比特位,當選擇數(shù)據(jù)傳輸模式時,用作清零數(shù)據(jù)有效輸入比特位。在一個實施例中,圖35所示控制寄存器比特位執(zhí)行下列功能。
16/3216-比特或32-比特功能比特位5000-32-比特1-16-比特CWE俘獲窗口使能比特位50100-俘獲窗口無效01-利用CWI比特字段所選狀態(tài)線使能俘獲窗口1x-利用從底端相鄰雙FIFO通道(如果可用)的輸入使能俘獲窗口DTC數(shù)據(jù)傳輸控制比特位5020x-數(shù)據(jù)傳輸無效;俘獲有效10-VADP11-IADPCTB俘獲時基比特位503000-111時基0-7SCC單個/連續(xù)俘獲比特位5040-連續(xù)俘獲操作1-單個俘獲操作CWI俘獲窗口輸入比特位505000-111狀態(tài)總線0-7CI/CDVI俘獲輸入/清零數(shù)據(jù)有效輸入比特位5060000-0111管腳總線0-71000-1111狀態(tài)總線0-7CIE/CDVE俘獲輸入邊沿/清零數(shù)據(jù)有效邊沿比特位50700-輸入無效01-上升沿10-下降沿11-任一沿
CO/DTO俘獲輸出/數(shù)據(jù)傳輸輸出比特位508000-111狀態(tài)線0 7COE/DTOE俘獲輸出邊沿/數(shù)據(jù)傳輸輸出邊沿比特位50900-輸出無效01-上升沿10-下降沿11-翻轉圖36顯示寄存器66(見圖2)的一部分的一個實施例。應注意在一些實施例中,寄存器66包括控制寄存器比特位和狀態(tài)寄存器比特位兩者。在圖36所示實施例中,寄存器66的一部分用于存儲狀態(tài)信息。在一個實施例中,圖36所示狀態(tài)寄存器比特位執(zhí)行下列功能。
CES俘獲邊沿狀態(tài)比特位5100-檢測到一個下降沿輸入事件,產生相關的俘獲操作1-檢測到一個上升沿輸入事件,產生相關的俘獲操作CDVS清零數(shù)據(jù)有效狀態(tài)比特位5110-沒有檢測到DVB=1的規(guī)定輸入事件1-檢測到DVB=1的規(guī)定輸入事件COS俘獲輸出狀態(tài)比特位5120-俘獲操作沒有產生或COE比特字段=001-俘獲操作產生和COE比特字段=00DTS數(shù)據(jù)傳輸輸出狀態(tài)比特位5120-沒有檢測到符合VADP或IADP的條件1-檢測到符合VADP或IADP的條件DVB數(shù)據(jù)有效比特位513
0-數(shù)據(jù)寄存器中的數(shù)據(jù)無效1-數(shù)據(jù)寄存器中的數(shù)據(jù)有效CIS俘獲輸入狀態(tài)/清零數(shù)據(jù)有效狀態(tài)比特位5140-沒有產生一個俘獲1-產生一個俘獲圖37顯示俘獲通道55(見圖2)的一部分的一個實施例。在這個實施例中,俘獲通道55包括一個數(shù)據(jù)寄存器520,俘獲邏輯521,數(shù)據(jù)傳輸邏輯522,單個/連續(xù)俘獲邏輯523,輸出事件邏輯524,輸入事件邏輯525,和16/32比特邏輯526。
圖37所示各種控制和狀態(tài)比特位,盡管位于可存取讀寫寄存器內,也影響如圖37所示俘獲通道55的行為。應注意DTC寄存器比特位502,DVB寄存器比特位513,和DTS寄存器比特位512,以如圖20-24中和本說明的附帶部分所描述的同樣方式,用于通道間數(shù)據(jù)傳輸。
一個單個/連續(xù)操作計時器通道的特征在I/O集成電路22(見圖1)的一個實施例中,每個工作通道都有一個單個操作模式和一個連續(xù)傳輸模式。在本發(fā)明的一個實施例中,每個計數(shù)器通道(如計數(shù)器通道58),每個俘獲通道(如俘獲通道55),和每個匹配通道(如匹配通道57)都有一個用戶可編程寄存器比特位,允許以單個模式或連續(xù)模式操作通道。
例如,單個/連續(xù)計數(shù)操作(SCC)寄存器比特位473(見圖28),決定計數(shù)器通道58(見圖2)是在單個操作模式還是在連續(xù)操作模式。單個/連續(xù)俘獲操作(SCC)寄存器比特位504(見圖35),決定俘獲通道55(見圖2)是在單個操作模式還是在連續(xù)操作模式。而且,單個/連續(xù)匹配操作(SCM)寄存器比特位531(見圖38),決定匹配通道57(見圖2)是在單個操作模式還是在連續(xù)操作模式。
在進入單個操作模式時,相關的計時器功能狀態(tài)比特位(如圖30中的計數(shù)輸入狀態(tài)(CIS)比特位494,圖36中的俘獲輸出狀態(tài)(COS)比特位512,和圖39中的匹配狀態(tài)(MS)比特位534)將被清零,而提供計時器功能的狀態(tài)和控制。當工作通道為單個操作模式設置時,如果相關計時器功能狀態(tài)比特位被置位,通道將被禁止,如果相關計時器功能狀態(tài)比特位被清零,通道被使能。
不幸的是盡管如此,對一個單個操作模式/連續(xù)操作模式工作通道,仍有三個問題。第一個問題是從一個連續(xù)操作模式到一個單個操作模式的一致轉換。第二個問題是在單個操作模式時,防止一個匹配通道意外的再使能。第三個問題是在連續(xù)操作模式中,防止基于從一個匹配通道的冗余匹配事件的多重輸出。
從一個連續(xù)操作模式到一個單個操作模式一致轉換的問題以下列方式解決。當在單個操作模式(即“單個命中”匹配,俘獲等)執(zhí)行計時器功能時,與計時器功能相關的狀態(tài)比特位,(即圖30中的CIS比特位494,圖36中的COS比特位512,和圖39中的MS比特位534),顯示計時器功能是有效還是無效。在一個實施例中,如果狀態(tài)比特位被清零,計時器功能被使能,如果狀態(tài)比特位被置位,計時器功能被禁止。結果是狀態(tài)比特位“控制”計時器功能的操作。
當在一個連續(xù)操作模式(即“連續(xù)”匹配,俘獲等)執(zhí)行計時器功能時,與計時器功能相關的同一個狀態(tài)比特位顯示一個或更多事件(即匹配,俘獲等)是否產生。狀態(tài)比特位僅提供操作信息,而不以任何方式影響或控制計時器功能。
當從連續(xù)操作模式轉換到單個操作模式時,同樣與計時器功能相關的狀態(tài)比特位,必須從執(zhí)行一個“狀態(tài)”功能轉換到一個“狀態(tài)和控制”功能。非常類似于當工作通道是在連續(xù)操作模式時,狀態(tài)比特位將已被置位。當轉換到單個操作模式時,如果狀態(tài)比特位保持置位,工作通道將立即禁止自己,而不用已執(zhí)行一個計時器功能。如果工作通道在進入單個操作模式時變?yōu)闊o效,可能通道將丟失“激勵”,因而導致從連續(xù)到單個操作模式的一個不一致的轉換。
工作通道電路使得相關的狀態(tài)比特位,在進入單個操作模式時清零自己,然后允許該狀態(tài)比特位執(zhí)行一個“狀態(tài)和控制”功能。工作通道電路在連續(xù)和單個操作模式中都使用同樣的狀態(tài)比特位,盡管使用狀態(tài)比特位的方法按照模式而不同。另外,當在兩模式間轉換時,對工作通道的激勵將不會丟失,在這一點上兩模式間的轉換是一致的。
在單個操作模式時,防止一個匹配通道意外的再使能的問題以下列方式解決。當一個匹配通道(如圖2和圖40中的匹配通道57)工作在單個操作模式時(即僅允許產生一個真比較,然后禁止匹配通道),在相關匹配狀態(tài)比特位(如圖39中的MS比特位534)顯示一個匹配沒有產生時(MS=%0),匹配通道將被使能。當相關匹配狀態(tài)比特位顯示一個匹配產生時(MS=%1),匹配通道將被禁止。
在某些情況中,需要清零匹配狀態(tài)比特位并且不再使能匹配通道。匹配通道電路通過僅清零匹配狀態(tài)比特位,來防止匹配通道被再使能。為了再使能匹配通道,匹配狀態(tài)比特位必須被清零,并且數(shù)據(jù)寄存器(如圖40中的數(shù)據(jù)寄存器540)必須被寫入。這樣提供了一個一致的方式,用于CPU13(見圖1)控制匹配通道(即改變控制寄存器中存儲的控制值,改變匹配寄存器(如圖40中的540)中存儲的數(shù)據(jù)值,和反轉匹配狀態(tài)比特位),而不用再使能匹配通道。這是一個有用的特征,允許CPU13(見圖1)清零匹配狀態(tài)比特位,而不用再使能匹配功能。
防止當在連續(xù)操作模式時,基于冗余匹配事件的多重輸出的問題以下列方式解決。在連續(xù)操作模式,當一個匹配通道對一個“慢”時基(即以低于匹配速率一半的頻率增加)進行匹配時,可能對于同一個時基值有多重比較。當時基值等于數(shù)據(jù)寄存器中的值并在多重比較中保持相同時,數(shù)據(jù)寄存器將在每次執(zhí)行一個比較時,確立一個真比較。
需要在時基值和匹配寄存器中的值進行匹配時,僅確立一個輸出,而不管產生了多少“真比較”信號。匹配通道電路僅允許下列真比較信號產生一個輸出(1)從上次假比較后第一個真比較;和(2)從匹配寄存器在它的數(shù)據(jù)寄存器接收到新數(shù)據(jù)(即被CPU13寫入或從一個相鄰通道傳輸進來)后,第一個真比較。當?shù)谝粋€真匹配產生時,一個連續(xù)匹配相關被置位(禁止匹配),在對相同時基,上次真比較后第一個真匹配產生時,或在連續(xù)模式(即SCM=%0和MOD=%000)匹配被禁止時,該相關被清零(使能匹配)。結果是將不產生冗余匹配,而與匹配時基頻率無關。
圖38所示寄存器65(見圖2)的一部分的一個實施例。在一個實施例中,圖38所示控制寄存器比特位執(zhí)行下列功能。
12/16/3212/半字/字選擇比特位529
0x-32-比特(字)10-12-比特11-16-比特MTB匹配時基比特位530000-111時基0-7SCM單個/連續(xù)匹配比特位5310-連續(xù)匹配操作1-單個匹配操作MO匹配輸出比特位5320000-0111管腳總線0-71000-1111狀態(tài)總線0-7MOE匹配輸出邊沿比特位533000-輸出和相等比較被禁止001-輸出一個上升沿010-輸出一個下降沿011-輸出一個翻轉100-條件與輸出置位管腳/狀態(tài)101-條件或輸出置位管腳/狀態(tài)110-條件與輸出清零管腳/狀態(tài)111-條件或輸出清零管腳/狀態(tài)圖39顯示寄存器65(見圖27)的一部分的一個實施例。應注意在一些實施例中,寄存器65包括控制寄存器比特位和狀態(tài)寄存器比特位。在圖39所示實施例中,寄存器65的一部分被用于存儲狀態(tài)信息。在一個實施例中,圖39所示狀態(tài)寄存器比特位執(zhí)行下列功能。
MS匹配狀態(tài)
0-沒有產生一個匹配1-產生一個匹配事件圖40顯示匹配通道57(見圖2)的一部分的一個實施例。在這個實施例中,匹配通道57包括一個數(shù)據(jù)寄存器540,相等比較器邏輯541,12/16/32選擇邏輯542,匹配邏輯543,和輸出事件邏輯544。在一個實施例中,數(shù)據(jù)寄存器540可分為兩部分,稱為一個上部分和一個下部分,兩者可以獨立操作。在一個實施例中,每個匹配部分都有獨立的一套如圖38和圖39所示的控制和狀態(tài)寄存器比特位, 當僅有一套控制劃分的12/16/32選擇比特位529時除外。第一匹配部分使用數(shù)據(jù)寄存器540,相等比較器邏輯541,匹配邏輯543,和輸出事件邏輯544的第一部分;第二匹配部分使用數(shù)據(jù)寄存器540,相等比較器邏輯541,匹配邏輯543,和輸出事件邏輯544的第二部分。
圖40所示各種控制和狀態(tài)比特位,盡管位于可存取讀寫寄存器內,也影響如圖40所示匹配通道57的行為。應注意在圖40所示實施例中,匹配通道57不包括被用來執(zhí)行相鄰通道間數(shù)據(jù)傳輸?shù)募拇嫫鞅忍匚缓碗娐?。然而,參照圖40和圖37,在本發(fā)明的可選實施例中,匹配通道57可以包括數(shù)據(jù)傳輸邏輯和寄存器比特位DTC,DVB,和DTS,用于執(zhí)行與俘獲通道55中數(shù)據(jù)傳輸邏輯522和寄存器比特位DTC471,DVB493和DTS492同樣的功能。如果實現(xiàn),將以如圖20-24中和本說明的附帶部分所描述的同樣方式,產生來自或去往一個匹配通道的數(shù)據(jù)傳輸。
仍參照圖40,匹配通道57支持單個和連續(xù)匹配操作。當以單個或連續(xù)匹配操作運行時,數(shù)據(jù)寄存器540中的值與來自計時器總線71的八個值中的一個相比較。輸出事件可被編程為被產生和提供給管腳/狀態(tài)總線76。匹配通道57的一個實施例的操作,現(xiàn)在將根據(jù)操作目的,設置操作的控制比特位,和產生的輸出事件來加以描述。
在單個和連續(xù)匹配操作中,匹配產生在有效數(shù)據(jù),和來自計時器總線71的一個值(任一個32-比特或一個12/16比特時基值)之間。時基值由對MTB寄存器比特位530(見圖38)編程來選擇。時基值比特位的數(shù)目由對12/16/32選擇比特位529編程來選擇。例如,如果選擇12-比特操作,時基值的低12比特位和數(shù)據(jù)寄存器540中數(shù)值的低12比特位,將由相同比較器541進行比較。
如果MOE比特位不等于%000,和數(shù)據(jù)寄存器540中的值不等于來自計時器總線71上的時基值,這時產生一個匹配,MS比特位34(見圖39)被置位。產生一個輸出事件,并提供給管腳/狀態(tài)總線導線76中的一個。輸出事件的種類由對MOE比特位533(見圖38)編程來選擇。如果MOE比特位等于%000,輸出事件邏輯544和相等比較器541被禁止。輸出事件的目的由對MO比特位532(見圖38)編程來選擇。
單個/連續(xù)匹配(SCM)比特位531(見圖38)用于在CPU13(見圖1)軟件服務間,選擇匹配通道僅產生一個輸出事件(即單個操作模式),還是產生多于一個輸出事件(即連續(xù)操作模式)。
當單個/連續(xù)匹配(SCM)比特位531(見圖38)是%1時,選擇單個匹配操作。在單個匹配操作,當來自計時器總線71的時基值,和存儲在數(shù)據(jù)寄存器540的數(shù)值相等時,在管腳/狀態(tài)總線76上產生一個輸出事件,并且確立單個匹配相關機制來防止冗余匹配。后續(xù)輸出事件僅在解除單個匹配相關機制后才能產生。需要下面兩個操作來解除單個匹配相關機制(可以任意次序執(zhí)行這兩個操作)(1)匹配狀態(tài)(MS)比特位534(見圖39)在確立狀態(tài)(即一個邏輯電平1)被讀取,而反轉后的狀態(tài)(即邏輯電平0)被寫回MS比特位534;和(2)一個數(shù)值被寫入數(shù)據(jù)寄存器540。
應注意CPU13(見圖1)被用來執(zhí)行單個匹配相關機制要求的讀寫存取。另外,由于以下原因,需要操作(2)來解除單個匹配相關機制。如果存在產生輸出事件的多重匹配通道,和在相同管腳/狀態(tài)總線導線76上的中斷請求,操作(2)允許對任意匹配通道清零MS比特位534,這樣清零中斷源的狀態(tài)而無需再使能通道。
當單個/連續(xù)匹配(SCM)比特位531(見圖38)是%0時,選擇連續(xù)匹配操作。在連續(xù)匹配操作,當來自計時器總線71的時基值,和存儲在數(shù)據(jù)寄存器540的數(shù)值相等時,在管腳/狀態(tài)總線76上產生一個輸出事件,并且確立連續(xù)匹配相關機制來防止冗余匹配。后續(xù)輸出事件僅在解除連續(xù)匹配相關機制后才能產生。在一個不相等比較產生或MOE比特位533被清零為%000后,才解除連續(xù)匹配相關。在第一個匹配產生后,MS比特位534被置位,但不需為產生后續(xù)匹配清零MS比特位534。
本發(fā)明參照特定的實施例進行圖解和描述,本領域的技術人員將會想到進一步的修改和改進。因此應該理解,本發(fā)明不僅限于圖示的特定形式,而且如在附加的權利要求中所表明的,覆蓋所有修改后的形式,它們并未超出本發(fā)明的精神和范圍。
權利要求
1.一種計時器處理器(22),其特征在于一個第一計時器總線(71);一個第二計時器總線(72);多個時基選擇信號(50);一個第一時基通道(80中的一個),用于產生一個第一時基值,所述第一時基通道(80中的一個)被耦合至所述多個時基選擇信號(50);一個第二時基通道(81中的一個),用于產生一個第二時基值,所述第二時基通道(81中的一個)被耦合至所述多個時基選擇信號;一個第一計時器總線控制通道(61),對應于所述第一時基通道(80中的一個),用于選擇所述第一和第二時基通道(80,81)中的一個,和如果所述第一時基通道(80中的一個)被選擇,用于用第一時基值驅動所述第一計時器總線(71),所述第一計時器總線控制通道(61)被耦合至所述第一計時器總線(71)和所述多個時基選擇信號(50);一個第二計時器總線控制通道(62),對應于所述第二時基通道(81中的一個),如果所述第二時基通道(81中的一個)被選擇,用于用第二時基值驅動所述第一計時器總線(71),所述第二計時器總線控制通道(81中的一個)被耦合給所述第一計時器總線(71)和所述多個時基選擇信號(50);一個管腳/狀態(tài)總線,用于提供管腳和狀態(tài)信息;一個管腳控制通道(52),用于控制在所述管腳/狀態(tài)總線上,管腳和狀態(tài)信息的傳輸;一個第一工作通道(57),被耦合至所述第一計時器總線(71),用于接收第一時基值,和耦合至所述管腳/狀態(tài)總線用于接收管腳和狀態(tài)信息;和一個第二工作通道(56),被耦合至所述第二計時器總線(72),用于接收一個第三時基值,和耦合至所述管腳/狀態(tài)總線用于接收管腳和狀態(tài)信息;
2.一種集成電路計時器(22),其特征在于一個第一計時器總線(71);一個第一時基通道(80中的一個),用于產生一個第一時基值;一個第二時基通道(81中的一個),用于產生一個第二時基值;一個第一計時器總線控制通道(61),對應于所述第一時基通道(80中的一個),用于選擇所述第一和第二時基通道(80,81)中的一個,和如果所述第一時基通道(80中的一個)被選擇,用于用第一時基值驅動所述第一計時器總線(71),和一個第二計時器總線控制通道(62),對應于所述第二時基通道(81中的一個),如果所述第二時基通道(81中的一個)被選擇,用于用第二時基值驅動所述第一計時器總線(71)。
3.一種集成電路計時器(22),其特征在于多個數(shù)據(jù)導線(435);一個第一計時器通道(400),其特征在于一個第一數(shù)據(jù)存儲電路(403),用于存儲一個第一數(shù)據(jù)值;一個第二計時器通道(404),其特征在于一個第二數(shù)據(jù)存儲電路(404);一個傳輸電路(408),用于控制從所述第一數(shù)據(jù)存儲電路,到所述第二數(shù)據(jù)存儲電路的,第一數(shù)據(jù)值的一個傳輸,第一數(shù)據(jù)值是通過所述多個導線傳輸?shù)?;其中所述第一和第二計時器通道(400,404)中的第一個,執(zhí)行涉及第一數(shù)據(jù)值的一個計時器功能,和其中所述第一和第二計時器通道(400,404)中的第二個,存儲第一數(shù)據(jù)值,而不執(zhí)行任何涉及第一數(shù)據(jù)值的計時器功能。
4.一種計時器處理器(22),其特征在于一個第一集成電路結合區(qū)(110中的一個);一個第二集成電路結合區(qū)(111中的一個);一個第一工作通道(101);一個第二工作通道(102);一個第三工作通道(103);一個第一管腳/狀態(tài)總線,其特征在于一個第一管腳信息導線(112中的一個);和一個第一管腳/狀態(tài)信息導線(113中的一個);一個第二管腳/狀態(tài)總線,其特征在于一個第二管腳信息導線(114中的一個);和一個第二管腳/狀態(tài)信息導線(115中的一個);和控制裝置(105,106,107),用于通過所述第一管腳信息導線(112中的一個),選擇地在所述第一工作通道(101)和所述第一集成電路結合區(qū)(110中的一個)之間傳輸?shù)男畔?,用于通過所述第一管腳/狀態(tài)信息導線(113中的一個),選擇地在所述第一工作通道(101)和所述第二集成電路結合區(qū)(111中的一個)之間傳輸信息,用于通過所述第一管腳/狀態(tài)信息導線(113中的一個),選擇地在所述第一工作通道(101),和所述第二工作通道(102)之間傳輸信息,和用于通過所述第一和第二管腳/狀態(tài)信息導線(113,115),選擇地在所述第一工作通道(101),和所述第二工作通道(103)之間傳輸信息,所述控制裝置(105,106,107)被耦合到所述第一和第二集成電路結合區(qū)(110,111),所述第一和第二和第三工作通道(101,102,103),和所述第一和第二管腳/狀態(tài)總線。
5.一種集成電路計時器(22),其特征在于多個第一工作通道(206);一個第一局部總線(218),被耦合到每個所述第一多個工作通道(206) ;多個第二工作通道(205);一個第二局部總線(217),被耦合到每個所述第二多個工作通道(205);和一個全局通信總線(200),被選擇地耦合到至少一個所述第一多個工作通道(206),和選擇地耦合到至少一個所述第二多個工作通道(205),所述全局通信總線(200),從所述第一多個工作通道的至少一個(206)接收一個計時信號,和提供該計時信號給所述第二多個工作通道(205)的至少一個。
6.一種集成電路計時器(22),其特征在于一個第一工作通道(160);一個第二工作通道(161);置位導線裝置(157),用于從所述第一工作通道(160)接收一個第一置位值,用于從所述第二工作通道(161)接收一個第二置位值,和用于提供一個結果置位值,所述置位導線裝置(157)被耦合到所述第一和第二工作通道(160,161);清零導線裝置(158),用于從所述第一工作通道(160)接收一個第一清零值,用于從所述第二工作通道(161)接收一個第二清零值,和用于提供一個結果清零值,所述清零導線裝置(158)被耦合到所述第一和第二工作通道(160,161);觸發(fā)導線裝置(159),用于從所述第一工作通道(160)接收一個第一觸發(fā)值,用于從所述第二工作通道(161)接收一個第二觸發(fā)值,和用于提供一個結果觸發(fā)值,所述觸發(fā)導線裝置(159)被耦合到所述第一和第二工作通道(160,161);控制裝置(64),用于接收結果置位值,結果清零值,和結果觸發(fā)值,所述控制裝置(64)用于提供一個輸出信號(168),這樣輸出信號的一個邏輯狀態(tài)可被結果置位值,結果清零值,結果觸發(fā)值所確定,所述控制裝置(64)被耦合到所述置位導線(157),所述清零導線(158),和所述觸發(fā)導線(159)。
7.一種集成電路計時器(280),其特征在于一個第一計時器模塊(281),具有一個第一時基總線(71,或271)用于傳輸一個第一時基值;一個第二計時器模塊(282),具有一個第二時基總線,用于傳輸一個第二時基值;一個時鐘導線(328),用于傳輸一個時鐘信號,該時鐘信號由所述第一和第二計數(shù)器模塊(281,282)中的一個產生,所述時鐘模塊(328)被耦合到所述第一和第二計數(shù)器模塊(281,282);和一個同步導線(329)用于傳輸一個同步信號,該同步信號由所述第一和第二計數(shù)器模塊(281,282)中的一個確立,所述同步導線被耦合到所述第一和第二計數(shù)器模塊(281,282);其中所述第一計時器模塊(281)特征在于一個第一時基計數(shù)器(320),用于產生第一時基值,所述第一時基計數(shù)器(320)被時鐘信號增加或減少,當同步信號被確立時,所述第一時基計數(shù)器(320)被裝入一個預定值;和其中所述第二計時器模塊(282)特征在于一個第二時基計數(shù)器(320),用于產生第二時基值,所述第二時基計數(shù)器(321)被時鐘信號增加或減少,當同步信號被確立時,所述第二時基計數(shù)器(321)被裝入一個預定值。
8.一種集成電路計時器(22),其特征在于一個第一計時器通道(55);一個第二計時器通道(57);計時器總線導線裝置(71),用于在一個第一周期內傳輸一個第一時基值,和用于在一個第二周期內傳輸一個第二時基值,所述計時器總線導線裝置(71)被耦合到所述第一和第二計時器通道(55,57);和標志導線裝置(50),用于傳輸對應于第一時基值的一個第一標志值,和用于傳輸對應于第二時基值的一個第二標志值,所述標志導線裝置(50)被耦合到所述第一和第二計時器通道(55,57)。
全文摘要
I/O控制模塊(IOCM25-29)具有通過計時器總線(71,72),和管腳/狀態(tài)總線(75-77)通信的通道。通道(86,87)被每個計時器總線(71,72)分成獨立的通道塊(86,87),該通道塊由它們各自的計時器總線(71,72)提供對不同時基值的存取,這樣就不會損失分辨率,因為在一個計時器塊(如86)中的每個通道,都能從它對應的計時器總線(71)并行接收同樣的時基值。管腳/狀態(tài)總線(75-77)和計時器總線(71,72)能被獨立地劃分。
文檔編號G06F15/76GK1159619SQ96121310
公開日1997年9月17日 申請日期1996年11月12日 優(yōu)先權日1995年11月13日
發(fā)明者沃奧·博納德·高勒, 格日·林恩·米勒, 大衛(wèi)·里沃拉 申請人:摩托羅拉公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
牙克石市| 屯昌县| 宁蒗| 白水县| 迭部县| 秀山| 菏泽市| 霞浦县| 宾川县| 疏勒县| 南岸区| 连城县| 河北省| 当雄县| 拜城县| 陇西县| 阿拉善右旗| 凤翔县| 柯坪县| 德昌县| 池州市| 白沙| 新乡县| 巴东县| 阜阳市| 精河县| 胶州市| 泽州县| 江山市| 衢州市| 广灵县| 兴城市| 南平市| 辛集市| 九龙城区| 平度市| 麻城市| 仁布县| 贵德县| 永修县| 拉孜县|