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