專利名稱:集成電路之間的串行數(shù)據(jù)通信的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及串行數(shù)據(jù)發(fā)送,并且具體地說涉及集成電路中形成的功能模塊的通信電路之間的串行數(shù)據(jù)發(fā)送和接收。
隨著超大規(guī)模集成電路(VLSI)技術(shù)的發(fā)展,一個或多個通信電路與邏輯功能一起已經(jīng)被封裝在一個單獨的芯片或功能模塊中。在這些集成電路(IC)之間,數(shù)據(jù)可以通過一條通信線路從一個模塊發(fā)送到另一個模塊。在該領(lǐng)域主要使用三種主要的串行發(fā)送方法同步輸入/輸出,UART(通用異步收發(fā)信機),和I2C通信。在同步通信中,使用某些輔助信號例如時鐘信號同步發(fā)送方和接收方。每一方具有用于啟動串行發(fā)送的一個控制塊。它要求在它們之間有兩條通信線路時鐘線和數(shù)據(jù)線。另外,需要用于啟動/禁止通信電路的一個輔助控制線路。
UART被設(shè)計為工作在發(fā)送和接收兩種方式。通常,它接受8條數(shù)據(jù)線作為并行輸入,并且提供一個完全結(jié)構(gòu)化的串行輸出。因此一個芯片可以轉(zhuǎn)換通信線路上的串行信號為系統(tǒng)中所需的并行信號以及從并行信號轉(zhuǎn)換為串行信號。UART還具有用于啟動串行發(fā)送的一個控制塊。這個方法的缺陷在于它具有有限的發(fā)送速度。
另外,當(dāng)起通信電路作用的控制塊加入IC模塊中時也出現(xiàn)問題。首先,它在IC上占據(jù)相當(dāng)大的芯片面積,并且其次它引起由控制塊的數(shù)據(jù)線和時鐘線中的信號狀態(tài)改變產(chǎn)生的電磁干擾(EMI)噪音。
另外,在串行通信期間,一個奇偶校驗位經(jīng)常被插入一個串行數(shù)據(jù)幀作為數(shù)據(jù)完整性檢查。另外,一個互補的數(shù)據(jù)信號可以隨原始數(shù)據(jù)一起發(fā)送并且在接收方可以進行發(fā)送校驗。這些校驗方案要求通信電路和信號發(fā)送系統(tǒng)中的有一種復(fù)雜的電路結(jié)構(gòu)。
本發(fā)明試圖解決已有的技術(shù)問題,并且因此本發(fā)明的一個目的是提供當(dāng)數(shù)據(jù)經(jīng)通信線路發(fā)送時,可以減少EMI輻射的一種通信電路。
本發(fā)明的另一個目的是提供具有簡單結(jié)構(gòu)和小的芯片占用面積的一種通信電路。
本發(fā)明的再一個目的是提供具有簡單數(shù)據(jù)校驗方案的一種通信電路。
根據(jù)本發(fā)明,提供了一種串行通信電路,它包括用于產(chǎn)生具有表示一個數(shù)據(jù)的特定脈沖寬度的一個脈沖信號的編碼器;用于恢復(fù)從編碼器中接收的脈沖信號的數(shù)據(jù)的解碼器;編碼器的輸出端和解碼器數(shù)據(jù)輸入端之間連接的一條數(shù)據(jù)線;用于增加一個特定數(shù)據(jù)的值到待發(fā)送的數(shù)據(jù)值并且從接收的數(shù)據(jù)值中減去該特定數(shù)據(jù)值的控制器。
根據(jù)本發(fā)明的一個優(yōu)選實施例,脈沖信號寬度由具有預(yù)定時間間隔的第一脈沖寬度和單位時間間隔之和的第二脈沖寬度組成。
另外,第一脈沖寬度對應(yīng)于表示脈沖信號開始的特定數(shù)據(jù)。另外,第一脈沖寬度的時間間隔大于第二脈沖寬度的單位時間間隔。
根據(jù)本發(fā)明,提供了用于在IC模塊之間發(fā)送串行數(shù)據(jù)的方法,該方法包括步驟產(chǎn)生具有對應(yīng)于待發(fā)送的數(shù)據(jù)值的特定脈沖寬度的第一脈沖信號;產(chǎn)生與第一脈沖信號互補的第二脈沖信號;并且分別通過第一數(shù)據(jù)發(fā)送線和第二數(shù)據(jù)發(fā)送線同時輸出第一脈沖信號和第二脈沖信號。
優(yōu)選地,第一脈沖信號的寬度由具有預(yù)定時間間隔的第一脈沖寬度和單位時間間隔之和的第二脈沖寬度組成。
另外,第一脈沖寬度表示脈沖信號的開始,并且第一脈沖寬度的時間間隔大于第二脈沖寬度的單位時間間隔。
具體地說,第一脈沖信號產(chǎn)生步驟包括步驟確定待發(fā)送的數(shù)據(jù)是否存在;計算對應(yīng)于該數(shù)據(jù)值的脈沖寬度;產(chǎn)生具有計算的寬度的脈沖信號PData;確定在脈沖信號產(chǎn)生期間,計算寬度是否已經(jīng)經(jīng)過;并且如果計算寬度已經(jīng)經(jīng)過,則停止產(chǎn)生脈沖信號。
優(yōu)選地,第一脈沖信號產(chǎn)生步驟還包括步驟檢查是否從接收機接收到一個確認信號ACK;如果已經(jīng)接收到確認ACK,則確定是否存在要發(fā)送的另一個數(shù)據(jù);并且如果在當(dāng)前的時間間隔內(nèi)沒有收到確認信號ACK,則再發(fā)送該脈沖信號PData。
另外,根據(jù)本發(fā)明,提供用于在IC模塊之間接收串行數(shù)據(jù)的一種方法,該方法包括步驟通過第一數(shù)據(jù)發(fā)送線路和第二數(shù)據(jù)發(fā)送線路接收具有對應(yīng)于一個數(shù)據(jù)值的特定脈沖寬度的第一脈沖信號和與第一脈沖信號互補的第二脈沖信號,其中第一脈沖信號寬度由具有預(yù)定時間間隔的第一脈沖寬度和單位時間間隔之和的第二脈沖寬度組成;并且從第二脈沖寬度恢復(fù)原始數(shù)據(jù)。
根據(jù)本發(fā)明的優(yōu)選實施例,第一脈沖寬度表示脈沖信號的開始。另外,第一脈沖寬度的時間間隔大于第二脈沖寬度的單位時間間隔。
優(yōu)選地,接收步驟包括步驟確定第一脈沖寬度是否已經(jīng)開始;復(fù)位計數(shù)器以及計數(shù)分頻器輸出的分頻時鐘信號;確定在脈沖信號接收期間是否檢測到脈沖信號的終點;如果已經(jīng)檢測到脈沖信號的終點,則計算對應(yīng)于脈沖數(shù)據(jù)信號的計數(shù)器輸出值;在寄存器中存儲計數(shù)器值;并且恢復(fù)對應(yīng)于第一脈沖信號和第二脈沖信號的第二脈沖寬度的原始數(shù)據(jù)。
另外,接收步驟還包括步驟確定從兩個脈沖數(shù)據(jù)信號中恢復(fù)的數(shù)據(jù)是否具有相同值;如果兩個恢復(fù)的數(shù)據(jù)具有相同值,則產(chǎn)生一個確認信號;并且通過第一數(shù)據(jù)發(fā)送線路發(fā)送確認信號到發(fā)送機。
根據(jù)本發(fā)明,因為經(jīng)數(shù)據(jù)線路發(fā)送的串行數(shù)據(jù)具有單一的脈沖格式,當(dāng)數(shù)據(jù)經(jīng)通信線路發(fā)送時可以提供一種有效的EMI預(yù)防。另外,當(dāng)與使用時鐘信號的常規(guī)同步通信或UART通信中出現(xiàn)的電磁輻射相比時,電磁輻射顯著減少。因此,采用這種數(shù)據(jù)發(fā)送方案的通信電路或模塊可以避免噪音問題。
另外,當(dāng)本發(fā)明的發(fā)送機和接收機具有小的組成單元的數(shù)據(jù)輸出控制塊和數(shù)據(jù)輸入模塊時,當(dāng)它被集成到IC模塊時,通信電路可以占據(jù)小的芯片面積。
另外,根據(jù)本發(fā)明,用于發(fā)送數(shù)據(jù)的一個簡單數(shù)據(jù)校驗方案和錯誤檢測是可能的,因為一個脈沖數(shù)據(jù)信號和它們互補的脈沖信號被接收機同時接收,并且如果兩個恢復(fù)的數(shù)據(jù)具有相同值,則一個確認信號送回發(fā)送機。因此在串行通信期間,可以避免由外部噪音產(chǎn)生的錯誤數(shù)據(jù)發(fā)送。
通過參照如下附圖可以理解本發(fā)明并且它的目的和優(yōu)點對本領(lǐng)域技術(shù)人員將變得清楚
圖1是表示根據(jù)本發(fā)明通過兩條發(fā)送線路執(zhí)行串行通信的數(shù)據(jù)發(fā)送機和接收機的示意圖;圖2是通過兩條發(fā)送線路發(fā)送的脈沖信號的波形,其中根據(jù)本發(fā)明每個脈沖信號之間具有反向關(guān)系;圖3是表示在本發(fā)明中使用的脈沖數(shù)據(jù)信號的數(shù)據(jù)格式的圖;圖4是表示其中每個信號的預(yù)定脈沖寬度表示一個特定數(shù)據(jù)的一個脈沖數(shù)據(jù)信號的例子的波形;圖5是根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)發(fā)送機的示意方框圖;圖6是根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)接收機的示意方框圖;圖7是表示從圖5的發(fā)送機的兩個輸出端發(fā)送的脈沖數(shù)據(jù)信號的例子的波形;圖8是表示由圖6的接收機接收的脈沖數(shù)據(jù)信號的例子的波形;圖9是描述在本發(fā)明的發(fā)送機中使用的串行數(shù)據(jù)發(fā)送方法的流程圖;和圖10是描述在本發(fā)明的接收機中使用的串行數(shù)據(jù)接收方法的流程圖。
參照圖1,顯示了根據(jù)本發(fā)明通過兩條發(fā)送線路執(zhí)行串行通信的一個數(shù)據(jù)發(fā)送機和接收機。數(shù)據(jù)發(fā)送機100,其可以加入到例如家用電器中使用的微控制器的一個IC模塊中,具有一個數(shù)據(jù)輸出控制塊。另外,數(shù)據(jù)接收機120,其可以加入到例如一個微控制器的一個IC模塊中,具有一個數(shù)據(jù)輸入控制塊。數(shù)據(jù)發(fā)送機100具有兩個數(shù)據(jù)輸出端T1和T2,并且數(shù)據(jù)接收機120具有兩個數(shù)據(jù)輸入端T3和T4。這些數(shù)據(jù)傳送端T1和T3通過數(shù)據(jù)線路DL連接,并且端T2和T4通過另一條數(shù)據(jù)線路/DL連接。數(shù)據(jù)線路DL傳送由發(fā)送機100產(chǎn)生的一個脈沖數(shù)據(jù)信號PData,并且數(shù)據(jù)線路/DL傳送與脈沖數(shù)據(jù)信號PData互補的脈沖數(shù)據(jù)信號/PData。根據(jù)本發(fā)明在數(shù)據(jù)發(fā)送機100和數(shù)據(jù)接收機120之間執(zhí)行串行通信。盡管數(shù)據(jù)發(fā)送機100和數(shù)據(jù)接收機120已經(jīng)分別說明以便容易理解發(fā)明,但是數(shù)據(jù)發(fā)送機100和數(shù)據(jù)接收機120兩者可以加入到一個集成電路(IC)中以便組成一個通信電路。
圖2表示分別經(jīng)過兩條發(fā)送線路DL和/DL發(fā)送的脈沖數(shù)據(jù)信號PData和/PData的一個例子。如圖所示,經(jīng)發(fā)送線路DL發(fā)送的一個脈沖數(shù)據(jù)信號PData在高電平和低電平之間翻轉(zhuǎn)。脈沖信號PData當(dāng)數(shù)據(jù)沒被發(fā)送時保持高電平。相反地,當(dāng)數(shù)據(jù)被發(fā)送時,脈沖信號PData保持低電平。因此,PData的高電平部分30和40表示無數(shù)據(jù)區(qū)并且低電平部分70表示數(shù)據(jù)區(qū)。另外,脈沖信號PData的下降沿50表示數(shù)據(jù)發(fā)送的開始,而它的上升沿60表示數(shù)據(jù)發(fā)送的結(jié)束。
另一個脈沖信號/PData經(jīng)發(fā)送線路/DL被發(fā)送。它在與脈沖信號PData具有互補關(guān)系的邏輯低電平和高電平之間翻轉(zhuǎn)。因此,/PData的高電平部分80表示數(shù)據(jù)發(fā)送區(qū)域。
根據(jù)本發(fā)明的原理,由脈沖信號PData的數(shù)據(jù)區(qū)域70傳送的數(shù)據(jù)具有一個特定的格式。如圖3所示,一個脈沖數(shù)據(jù)由具有預(yù)定時間間隔DO的第一脈沖寬度和單位時間間隔Ud之和的第二脈沖寬度SUd組成。盡管圖中說明了時間間隔DO長于單位時間間隔Ud,但是也可以配置成他們具有相同的時間間隔。
圖4說明其中每個信號的脈沖寬度表示一個特定數(shù)據(jù)的幾個脈沖數(shù)據(jù)信號。在圖4(a)中,脈沖數(shù)據(jù)信號僅具有第一脈沖寬度,并且這個脈沖數(shù)據(jù)可以表示數(shù)字“0”。圖4(b)的脈沖信號由第一脈沖寬度和具有一個單位時間間隔Ud的第二脈沖寬度組成,并且這個脈沖數(shù)據(jù)信號可以表示數(shù)字“1”。另外,由于圖4(c)的脈沖信號由第一脈沖寬度和具有兩個單位時間間隔2Ud的第二脈沖寬度組成,并且這個脈沖數(shù)據(jù)信號可以表示數(shù)字“2”。另外,由于圖4(d)的脈沖信號由第一脈沖寬度和具有三個單位時間間隔3Ud的第二脈沖寬度組成,并且這個脈沖數(shù)據(jù)信號可以表示數(shù)字“3”。最后,由于圖4(e)的脈沖信號由第一脈沖寬度和具有六個單位時間間隔6Ud的第二脈沖寬度組成,并且這個脈沖數(shù)據(jù)信號可以表示數(shù)字“6”。如前面所述,對應(yīng)于每個上述脈沖信號的互補脈沖數(shù)據(jù)信號/PData由發(fā)送機100產(chǎn)生,并且經(jīng)第二數(shù)據(jù)線路/DL同時發(fā)送到接收機120。
圖5表示數(shù)據(jù)發(fā)送機100的一個實施例。數(shù)據(jù)發(fā)送機100包括一個時鐘發(fā)生器200,一個控制器140,一個編碼器160和一個數(shù)據(jù)輸出緩存器180??刂破?40包括CPU220和存儲器240。編碼器160包括一個控制信號發(fā)生器260以及一個脈沖發(fā)生器280。脈沖發(fā)生器280包括一個分頻器300,一個電子開關(guān)320,一個計數(shù)器340,一個比較器380,一個寄存器360和一個開關(guān)去激活器400。發(fā)送機100的輸出緩存器180包括緩存器B1和反向器IU。另外,緩存器B1和反向器IU的輸出組成了發(fā)送機100的輸出端T1和T2。
CPU220接收一個命令信號D以產(chǎn)生如圖4所示的脈沖數(shù)據(jù)信號PData。另外,CPU220接收通過數(shù)據(jù)線路DL由接收機120發(fā)送的確認信號ACK。存儲器240存儲CPU220的控制程序。
編碼器160從時鐘發(fā)生器200接收一個時鐘信號CLK1。時鐘脈沖信號CLK1在分頻器300中被分頻,以確定組成脈沖數(shù)據(jù)信號的第一脈沖寬度的時間間隔DO和第二脈沖寬度SUd的單位時間間隔Ud。計數(shù)器34計數(shù)來自分頻器300的分頻時鐘脈沖。寄存器360接收待發(fā)送的數(shù)據(jù)值TD并且第一脈沖寬度的時間間隔的值被增加。當(dāng)數(shù)據(jù)TD被寄存器360接收時,計數(shù)器340被復(fù)位為零。另外,此時,CPU220允許控制信號發(fā)生器260產(chǎn)生一個開關(guān)啟動信號SWE。這個信號SWE提供給電子開關(guān)320以便接通開關(guān)。
當(dāng)接通開關(guān)320時,分頻器300的輸出脈沖提供給計數(shù)器340。然后在計數(shù)器340的輸出端輸出一個脈沖信號PData,從而它開始改變它的邏輯電平,如圖7所示從高電平改為低電平。脈沖信號經(jīng)緩存器B1發(fā)送給輸出端T1。另外,同時,互補的脈沖數(shù)據(jù)信號/Pdata通過反向器IU在終端T2輸出。
在脈沖信號PData的輸出期間,比較器380將計數(shù)器340的輸出值與寄存器360的值比較。如果它們是相同值,則比較器380輸出一個信號給開關(guān)去激活器400,它關(guān)斷開關(guān)320。這禁止開關(guān)320將分頻器300的輸出脈沖輸出到計數(shù)器340,并且,低電平脈沖信號PData返回到它的原始高電平。然后一個脈沖信號的發(fā)送就完成了。
參照圖6,顯示了根據(jù)本發(fā)明的一個實施例配置的數(shù)據(jù)接收機120。數(shù)據(jù)接收機120包括一個時鐘發(fā)生器460,第一解碼器420,第二解碼器420a和控制器440。第一解碼器420與輸入端經(jīng)T3相連以便通過數(shù)據(jù)線路DL接收從數(shù)據(jù)發(fā)送機100輸出的脈沖信號PData,并且第二解碼器420a與輸入端T4相連,以便通過數(shù)據(jù)線路/DL接收互補的脈沖信號/PData。第一解碼器420包括分頻器480,計數(shù)器500和寄存器520。第二解碼器420a與第一解碼器具有相同的結(jié)構(gòu)??刂破?40包括CPU540和存儲器560,與發(fā)送機100的相類似。時鐘發(fā)生器460將時鐘脈沖CLK2提供給每個解碼器的分頻器480。時鐘脈沖CLK2的頻率可以與發(fā)送機100中使用的時鐘脈沖CLK1的頻率相同。
時鐘CLK2被分頻器480分頻以便符合通過數(shù)據(jù)線DL接收的脈沖數(shù)據(jù)信號的第一脈沖寬度的時間間隔DO和第二脈沖寬度SUd的單位時間間隔Ud。分頻的時鐘脈沖提供給用于確定接收數(shù)據(jù)信號脈沖寬度的計數(shù)器500。另外,接收的數(shù)據(jù)信號PKata被施加到計數(shù)器500的復(fù)位端。在接收數(shù)據(jù)信號PData的下降沿,計數(shù)器500被復(fù)位。在接收數(shù)據(jù)信號PData的上升沿,計數(shù)器500的輸出值存儲到寄存器520中。CPU540計算計數(shù)器500的輸出值;它從計數(shù)器500的輸出值中減去時間間隔DO的值??梢园呀Y(jié)果值作為接收數(shù)據(jù)RD1并且由此完成了脈沖數(shù)據(jù)PData的恢復(fù)。另外,以如上述的相同方式,在第二解碼器420a中恢復(fù)互補的脈沖數(shù)據(jù)信號/PData為另一個接收數(shù)據(jù)RD2。
然后,CPU440將恢復(fù)的數(shù)據(jù)RD1與數(shù)據(jù)RD2比較。如果恢復(fù)的數(shù)據(jù)RD1和RD2具有相同值,則認為接收的脈沖數(shù)據(jù)PData是有效的。但是,如果恢復(fù)的數(shù)據(jù)RD1和RD2具有不同值,則認為接收的脈沖數(shù)據(jù)PData是無效的。
另外,如果發(fā)現(xiàn)恢復(fù)的數(shù)據(jù)RD1和RD2具有相同值,即在接收期間沒有錯誤或沒有噪音的情況下,CPU440可以產(chǎn)生一個確認信號ACK,通過數(shù)據(jù)線DL發(fā)送給發(fā)送機100。當(dāng)脈沖信號經(jīng)過來自圖8所示的數(shù)據(jù)接收終點的時間延遲后,產(chǎn)生確認信號ACK。時間延遲和確認信號的寬度可以設(shè)置為適當(dāng)?shù)臅r間值。當(dāng)確認信號ACK被發(fā)送機100接收時,通知CPU220在接收機120中脈沖數(shù)據(jù)PData的安全接收。然而,當(dāng)確認信號ACK沒有被CPU220接收時,發(fā)出用于允許發(fā)送機100再次發(fā)送脈沖數(shù)據(jù)PData的一個命令。
圖9顯示發(fā)送機100中使用的串行數(shù)據(jù)發(fā)送方法。在步驟2,發(fā)送機100的CPU220確定在寄存器360中是否存在數(shù)據(jù)。如果數(shù)據(jù)存在,則在步驟3計算關(guān)于對應(yīng)于該數(shù)據(jù)值的脈沖寬度。計數(shù)器340在步驟4產(chǎn)生具有計算寬度的脈沖信號PData和互補的脈沖信號/PData。在步驟5進行判斷在脈沖信號產(chǎn)生期間是否已經(jīng)經(jīng)過該計算寬度。如果已經(jīng)經(jīng)過該計算寬度,則計數(shù)器在步驟6停止產(chǎn)生脈沖信號。最后,在步驟7,CPU220檢查是否從接收機120接收到確認信號ACK。如果已經(jīng)接收到確認信號ACK,則它進入到步驟2確定是否存在下一個將被發(fā)送的數(shù)據(jù)。另一方面,如果在當(dāng)前時間間隔已經(jīng)接收到確認信號ACK,則它進入到步驟4以便再次產(chǎn)生脈沖信號PData和反向的脈沖信號/PData。
圖10表示根據(jù)本發(fā)明的接收機中使用的數(shù)據(jù)接收方法。接收機120分別通過數(shù)據(jù)線DL和/DL從發(fā)送機100接收脈沖信號PData和它的互補脈沖信號/PData,并且通過計算脈沖信號PData的寬度恢復(fù)原始數(shù)據(jù)。首先,當(dāng)接收到脈沖信號PData時,在步驟1判斷是否檢測到脈沖信號PData的下降沿。然后在步驟12接收脈沖信號/PData和互補脈沖信號/PData。此時,復(fù)位計數(shù)器500并根據(jù)從分頻器480輸出的分頻時鐘信號開始計數(shù)。在這些信號接收期間,在步驟3進行下一步的判斷是否檢測到脈沖信號的上升沿。如果已經(jīng)檢測到脈沖信號的上升沿,則執(zhí)行對應(yīng)于脈沖信號PData的計數(shù)器輸出值的計算。計數(shù)器的值被存儲到寄存器520。利用這個值,可以得到對應(yīng)于接收脈沖信號PData的脈沖寬度的原始數(shù)據(jù)RD1。
通過使用上述的相同方法,互補的脈沖信號/PData被恢復(fù)為另一個數(shù)據(jù)RD2。數(shù)據(jù)RD2對應(yīng)接收的脈沖信號/PData的脈沖寬度。在步驟15,進一步判斷,來自兩個脈沖信號的恢復(fù)數(shù)據(jù)RD1和RD2是否具有相同值。如果兩個恢復(fù)數(shù)據(jù)RD1和RD2具有相同值,則產(chǎn)生一個確認信號ACK,并且這個信號通過數(shù)據(jù)線DL發(fā)送給發(fā)送機。
由于從上面的描述中已經(jīng)清楚,根據(jù)本發(fā)明通過數(shù)據(jù)線發(fā)送的數(shù)據(jù)信號具有單一的脈沖格式。當(dāng)數(shù)據(jù)通過通信線路發(fā)送時,這有助于有效的EMI預(yù)防。與在使用時鐘信號的一般同步通信或在UART通信中出現(xiàn)的電磁輻射相比,其電磁輻射顯著減少。因此,采用這種數(shù)據(jù)發(fā)送方案的通信電路或模塊可以避免噪音問題。
另外,由于本發(fā)明的發(fā)送機和接收機具有小組成單元的數(shù)據(jù)輸出控制塊和數(shù)據(jù)輸入控制塊,所以當(dāng)它集成在一個IC模塊中時,通信電路可以占據(jù)小的芯片面積。
另外,根據(jù)這個發(fā)明,用于發(fā)送數(shù)據(jù)的簡單數(shù)據(jù)校驗和糾錯是可能的,因為一個脈沖數(shù)據(jù)信號和它的反向脈沖信號被接收機同時接收并且如果兩個恢復(fù)的數(shù)據(jù)具有相同的值,則將一個確認信號發(fā)送回發(fā)送機。因此,在串行通信期間,可以避免由外部噪音引起的數(shù)據(jù)錯誤發(fā)送。
權(quán)利要求
1.一種串行通信電路,包括用于產(chǎn)生具有表示一個數(shù)據(jù)的特定脈沖寬度的脈沖信號的編碼器;用于恢復(fù)來自從該編碼器接收的脈沖信號的數(shù)據(jù)的解碼器;該編碼器的輸出端和該解碼器的輸入端之間連接的一條數(shù)據(jù)線;和用于增加一個特定數(shù)據(jù)值到待發(fā)送的數(shù)據(jù)值并且從所接收的數(shù)據(jù)值中減去該特定數(shù)據(jù)值的一個控制器。
2.權(quán)利要求1的通信電路,其中脈沖信號的寬度由具有預(yù)定時間間隔的第一脈沖寬度和是單位時間間隔之和的第二脈沖寬度組成。
3.權(quán)利要求1的通信電路,其中第一脈沖寬度對應(yīng)表示脈沖信號開始的特定數(shù)據(jù)。
4.權(quán)利要求1的通信電路,其中第一脈沖寬度的時間間隔大于第二脈沖寬度的單位時間間隔。
5.權(quán)利要求1的通信電路,其中第一脈沖寬度的時間間隔與第二脈沖寬度的單位時間間隔相同。
6.權(quán)利要求1的通信電路,其中編碼器包括用于將一個時鐘信號分頻為分頻的時鐘信號的分頻器,其中分頻的時鐘信號與第二脈沖寬度的單位時間間隔同步;用于存儲所增加數(shù)據(jù)值的裝置;當(dāng)該數(shù)據(jù)被增加特定值時被復(fù)位的計數(shù)器;用于將分頻時鐘信號輸入到該計數(shù)器以響應(yīng)該增加數(shù)據(jù)的開關(guān)裝置;以及用于比較該數(shù)據(jù)的計數(shù)值與存儲在存儲裝置中的值的比較器,其中當(dāng)該計數(shù)器被復(fù)位時,該比較器改變脈沖信號的電平,從第一電平改為第二電平,并且當(dāng)該計數(shù)器輸出數(shù)據(jù)與存儲裝置中的存儲數(shù)據(jù)具有相同值時,返回到第一電平。
7.權(quán)利要求1的通信電路,其中解碼器包括用于分頻與第二脈沖寬度的單位時間間隔同步的一個時鐘信號的分頻器;用于計數(shù)來自分頻器的分頻時鐘信號的計數(shù)器,其中當(dāng)所接收的脈沖信號將其電平狀態(tài)從第一電平變?yōu)榈诙娖綍r,該計數(shù)器被激活,并且當(dāng)電平狀態(tài)從第二電平改變?yōu)榈谝浑娖綍r該計數(shù)器被去激活;以及當(dāng)該計數(shù)器被去激活時,用于存儲該計數(shù)器輸出值的寄存器。
8.一種串行通信電路,包括用于產(chǎn)生具有表示一個數(shù)據(jù)的特定脈沖寬度的脈沖信號和其互補脈沖信號的編碼器;用于恢復(fù)來自從該編碼器接收的脈沖信號和所述互補脈沖信號的數(shù)據(jù)的解碼器;用于發(fā)送編碼器中產(chǎn)生的脈沖信號的第一數(shù)據(jù)線;和用于發(fā)送編碼器中產(chǎn)生的互補脈沖信號的第二數(shù)據(jù)線。
9.權(quán)利要求8的通信電路,其中脈沖信號的寬度由具有預(yù)定時間間隔的第一脈沖寬度和是單位時間間隔之和的第二脈沖寬度組成。
10.權(quán)利要求8的通信電路,其中第一脈沖寬度對應(yīng)表示脈沖信號開始的特定數(shù)據(jù)。
11.權(quán)利要求8的通信電路,其中第一脈沖寬度的時間間隔大于第二脈沖寬度的單位時間間隔。
12.權(quán)利要求8的通信電路,其中第一脈沖寬度的時間間隔與第二脈沖寬度的單位時間間隔相同。
13.權(quán)利要求8的通信電路,其中編碼器包括用于分頻與第二脈沖寬度的單位時間間隔同步的一個時鐘信號的一個分頻器;用于存儲所增加數(shù)據(jù)值的一個裝置;當(dāng)該數(shù)據(jù)被增加到所述特定值時被復(fù)位的計數(shù)器;用于將分頻時鐘信號輸入到該計數(shù)器以響應(yīng)該增加值的開關(guān)裝置;用于比較該數(shù)據(jù)的計數(shù)值與存儲在存貯裝置中的值的比較器,以及與發(fā)送該脈沖信號的第一數(shù)據(jù)路和發(fā)送互補脈沖信號的第二數(shù)據(jù)線相連的輸出緩存器,其中當(dāng)該計數(shù)器被復(fù)位時,該比較器將脈沖信號的電平從第一電平改為第二電平,并且當(dāng)該計數(shù)器輸出數(shù)據(jù)與存儲裝置中的存儲數(shù)據(jù)具有相同值時,返回到第一電平。
14.權(quán)利要求8的通信電路,其中解碼器包括用于分頻與第二脈沖寬度的單位時間間隔同步的一個時鐘信號的分頻器;用于計數(shù)來自分頻器的分頻時鐘信號的計數(shù)器,其中當(dāng)所接收的脈沖信號將其電平狀態(tài)從第一電平改為第二電平時該計數(shù)器被激活,并且當(dāng)電平狀態(tài)從第二電平改變?yōu)榈谝浑娖綍r該計數(shù)器被釋放;以及當(dāng)該計數(shù)器被釋放時,用于存儲該計數(shù)器輸出值的一個寄存器。
15.權(quán)利要求14的通信電路,其中解碼器還包括當(dāng)從該脈沖信號和它的互補脈沖信號恢復(fù)的數(shù)據(jù)具有相同值時,用于產(chǎn)生確認信號的一個裝置。
16.權(quán)利要求15的通信電路,其中該確認信號通過第一數(shù)據(jù)線被發(fā)送到編碼器。
17.權(quán)利要求13的通信電路,其中解碼器還包括用于檢測由解碼器發(fā)送的確認信號的裝置。
18.用于在IC模塊之間發(fā)送串行數(shù)據(jù)的一種方法,該方法包括步驟產(chǎn)生具有對應(yīng)于待發(fā)送的一個數(shù)據(jù)值的特定脈沖寬度的第一脈沖信號;產(chǎn)生與第一脈沖信號互補的第二脈沖信號;并且分別通過第一數(shù)據(jù)發(fā)送線和第二數(shù)據(jù)發(fā)送線同時輸出第一脈沖信號和第二脈沖信號。
19.權(quán)利要求18的方法,其中第一脈沖信號的寬度由具有預(yù)定時間間隔的第一脈沖寬度和單位時間間隔之和的第二脈沖寬度組成。
20.權(quán)利要求18的方法,其中第一脈沖寬度表示脈沖信號開始。
21.權(quán)利要求18的方法,其中第一脈沖寬度的時間間隔大于第二脈沖寬度的單位時間間隔。
22.權(quán)利要求18的方法,其中第一脈沖寬度的時間間隔與第二脈沖寬度的單位時間間隔相同。
23.權(quán)利要求18的方法,其中第一脈沖信號產(chǎn)生步驟包括步驟確定是否存在待發(fā)送的數(shù)據(jù);計算對應(yīng)于該數(shù)據(jù)值的脈沖寬度;產(chǎn)生具有該計算寬度的一個脈沖信號PData;確定在脈沖信號產(chǎn)生期間,該計算寬度是否已經(jīng)經(jīng)過;并且如果該計算寬度已經(jīng)經(jīng)過,則停止產(chǎn)生脈沖信號。
24.權(quán)利要求23的方法,其中第一脈沖信號產(chǎn)生步驟還包括步驟檢查是否從接收機接收到一個確認信號ACK;如果已經(jīng)接收到確認信號,則判斷是否存在待發(fā)送的下一個數(shù)據(jù);并且在當(dāng)前的時間間隔內(nèi),如果沒有接收到確認信號,則再次發(fā)送該脈沖信號PData。
25.權(quán)利要求18的方法,其中第二脈沖信號產(chǎn)生步驟包括步驟在發(fā)送機的輸出端反向第一脈沖信號的電平以產(chǎn)生互補的脈沖信號/PData。
26.用于在IC模塊之間接收串行數(shù)據(jù)的方法,該方法包括步驟通過第一數(shù)據(jù)發(fā)送線和第二數(shù)據(jù)發(fā)送線接收具有對應(yīng)于一個數(shù)據(jù)值的特定脈沖寬度的第一脈沖信號和與第一脈沖信號互補的第二脈沖信號,其中第一脈沖信號的寬度由具有預(yù)定時間間隔的第一脈沖寬度和單位時間間隔之和的第二脈沖寬度組成;并且從第二脈沖寬度恢復(fù)原始數(shù)據(jù)。
27.權(quán)利要求26的方法,其中第一脈沖寬度表示脈沖信號開始。
28.權(quán)利要求26的方法,其中第一脈沖寬度的時間間隔大于第二脈沖寬度的單位時間間隔。
29.權(quán)利要求26或27的方法,其中接收步驟包括步驟確定第一脈沖寬度是否開始;復(fù)位計數(shù)器并對由分頻器輸出的分頻時鐘信號計數(shù);判斷在脈沖信號接收期間,是否檢測到該脈沖信號的終點;如果已經(jīng)檢測到該脈沖信號的終點,則計算對應(yīng)于一個脈沖數(shù)據(jù)信號的計數(shù)器輸出值;在寄存器中存儲該計數(shù)器值;并且恢復(fù)對應(yīng)于第一脈沖信號和第二脈沖信號的第二脈沖寬度的原始數(shù)據(jù)。
30.權(quán)利要求29的方法,其中接收步驟還包括步驟判斷從兩個脈沖數(shù)據(jù)信號恢復(fù)的數(shù)據(jù)是否具有相同值;如果兩個恢復(fù)的數(shù)據(jù)具有相同值,則產(chǎn)生一個確認信號;并且通過第一數(shù)據(jù)發(fā)送線發(fā)送該確認信號到發(fā)送機。
全文摘要
公開了在集成電路中形成的功能模塊的通信電路之間的串行數(shù)據(jù)發(fā)送和接收,包括:用于產(chǎn)生具有表示一個數(shù)據(jù)的特定脈沖寬度的脈沖信號的編碼器;用于恢復(fù)來自從編碼器接收的脈沖信號的數(shù)據(jù)的解碼器;編碼器的輸出端和解碼器輸入端之間連接的數(shù)據(jù)線;和用于把一個特定數(shù)據(jù)值加到要發(fā)送的數(shù)據(jù)值并且從接收的數(shù)據(jù)值減去特定數(shù)據(jù)值的控制器。利用本發(fā)明在串行通信期間,可以避免由外部噪音引起的錯誤數(shù)據(jù)發(fā)送。
文檔編號H04L25/49GK1212517SQ98117640
公開日1999年3月31日 申請日期1998年8月26日 優(yōu)先權(quán)日1997年8月28日
發(fā)明者金光明 申請人:三星電子株式會社