本申請是申請日為2007年6月1日、申請?zhí)枮?00710106554.x、發(fā)明名稱為“在多??偩€的多引腳傳輸數(shù)據(jù)的方法及裝置”的中國發(fā)明專利申請的分案申請。
本發(fā)明涉及串行外設(shè)接口(spi)總線,其具有數(shù)據(jù)輸出引腳以及數(shù)據(jù)輸入引腳。
背景技術(shù):
例如串行外設(shè)接口的串行接口比并行接口傳統(tǒng)上具有一優(yōu)點,即串行外設(shè)接口具有較簡單的連接方式。此外,隨著時鐘速度日益增加,并行接口在傳輸速度上的優(yōu)點也變得越來越不重要。然而,在速度與簡易性皆很重要的應(yīng)用中,仍是希望能繼續(xù)使用標(biāo)準(zhǔn)的串行外設(shè)接口(spi)總線,而同時又能增加其傳輸速度。
技術(shù)實現(xiàn)要素:
本發(fā)明的一個目的在于提供一種集成電路,其具有在集成電路與另一集成電路之間傳輸數(shù)據(jù)的總線。此總線具有多個引腳,此引腳包含第一數(shù)據(jù)通訊引腳、第二數(shù)據(jù)通訊引腳、芯片選擇引腳,以指示在該集成電路與另一集成電路之間是否正在進行通訊、以及時鐘引腳用以在該總線上提供時鐘。模式控制電路,以控制至少該第一數(shù)據(jù)通訊引腳及該第二數(shù)據(jù)通訊引腳之操作,使該第一數(shù)據(jù)通訊引腳與該第二數(shù)據(jù)通訊引腳在該集成電路與另一集成電路之間進行通訊,該通訊包含指令、地址和數(shù)據(jù),且在該第一數(shù)據(jù)通訊引腳或該第二數(shù)據(jù)通訊引腳上,該指令、地址及數(shù)據(jù)三者至少其二是以不同傳輸速度進行。
在某些實施例中,此通訊可選擇性地發(fā)生,所以此操作模式包含至少第一及第二操作模式。在某些實施例中,在至少一個操作模式(例如第一操作模式或是第二操作模式),此數(shù)據(jù)通訊引腳以自該集成電路至另一集成電路,及/或自另一集成電路至該集成電路的方向進行數(shù)據(jù)通訊。
在某些實施例中,此總線使用多余周期以補償另一集成電路的延遲。在某些實施例中,此總線根據(jù)串行外設(shè)接口標(biāo)準(zhǔn)。
在不同的實施例中,此集成電路是主集成電路或是從集成電路。
在某些主集成電路的實施例中,多個引腳包括多個芯片選擇引腳,每一該多個芯片選擇引腳指示在該主集成電路與一個別的從集成電路之間是否正在進行通訊。
在某些從集成電路的實施例中,該芯片選擇引腳指示在該主集成電路與該從集成電路之間是否正在進行通訊。
在某些實施例中,此集成電路還包含存儲器中。
在某些實施例中,在該第二模式中,只利用該第一數(shù)據(jù)通訊引腳接收指令,以使能該第一、第二數(shù)據(jù)通訊引腳進行相同方向通訊,并以該第一、第二數(shù)據(jù)通訊引腳傳輸位址。
本發(fā)明的另一目的在于提供一種在一集成電路與另一集成電路之間進行通訊的方法,包含下列步驟:
經(jīng)由時鐘引腳提供時鐘給在該集成電路與另一集成電路之間進行通訊的總線;
傳輸芯片選擇信號以指示在該集成電路與另一集成電路之間是否正在進行通訊;以及
使第一數(shù)據(jù)通訊引腳與第二數(shù)據(jù)通訊引腳在該集成電路與另一集成電路之間在該總線上進行通訊,
其中,該通訊包含指令、地址和數(shù)據(jù),且在該第一數(shù)據(jù)通訊引腳或該第二數(shù)據(jù)通訊引腳上,該指令、地址及數(shù)據(jù)三者至少其二是以不同傳輸速度進行。
其他的實施例在下文描述,例如此總線根據(jù)串行外設(shè)接口標(biāo)準(zhǔn)。
附圖說明
圖1示出根據(jù)本發(fā)明的一實施例的具有主及從集成電路的串行外設(shè)接口(spi)配置。
圖2為串行外設(shè)接口(spi)集成電路的讀取時鐘示意圖,其具有許多多余周期以補償從集成電路的延遲。
圖3為串行外設(shè)接口(spi)集成電路的讀取時鐘示意圖,其具有比圖2更多的多余周期以補償從集成電路的較長延遲。
圖4為串行外設(shè)接口(spi)集成電路的操作模式流程圖,其使用單一引腳來傳輸數(shù)據(jù)。
圖5為串行外設(shè)接口(spi)集成電路的操作模式流程圖,其使用多個引腳來傳輸數(shù)據(jù)。
圖6為串行外設(shè)接口(spi)集成電路的傳送數(shù)據(jù)的時鐘示意圖,其使用多個引腳以及兩倍速(ddr)傳送數(shù)據(jù)。
圖7為串行外設(shè)接口(spi)集成電路的傳送數(shù)據(jù)的時鐘示意圖,其使用多個引腳以及僅在主從之間的一個方向上利用兩倍速(ddr)傳送數(shù)據(jù)。
圖8為串行外設(shè)接口(spi)集成電路的傳送數(shù)據(jù)的時鐘示意圖,其使用多個引腳以及僅在主從之間的一個方向上利用兩倍速率(ddr)傳送數(shù)據(jù),具體而言是與圖7相反的方向。
圖9為根據(jù)本發(fā)明一實施例的包含非易失存儲陣列的串行外設(shè)接口(spi)集成電路的示例框圖。
主要元件符號說明
110主集成電路
100、101、102從集成電路
cs#芯片選擇
sck串行時鐘
msi主數(shù)據(jù)輸入
si從數(shù)據(jù)輸入
so從數(shù)據(jù)輸出
io輸入及輸出引腳
900非易失存儲陣列
901列解碼器
902字線
903行解碼器
904位線
905總線
907數(shù)據(jù)總線
906感應(yīng)放大器/數(shù)據(jù)輸入結(jié)構(gòu)
908偏壓安排供應(yīng)電壓
909偏壓安排狀態(tài)機
911數(shù)據(jù)輸入線
915數(shù)據(jù)輸出線
950集成電路
具體實施方式
圖1為具有主與從集成電路實施例的串行外設(shè)接口(spi)配置示意圖。
此串行外設(shè)接口(spi)總線是串行接口,具有以下的信號:串行時鐘(sck);主數(shù)據(jù)輸出或從數(shù)據(jù)輸入(mdo/si);主數(shù)據(jù)輸入或從數(shù)據(jù)輸出(mdi/so);以及芯片選擇(cs#)。許多串行外設(shè)接口(spi)的實施例具有兩個配置位,時鐘極性(cpol)及時鐘相位(cpha)。因為串行時鐘(sck)具有獨立的時鐘信號,其是作為此串行外設(shè)接口(spi)數(shù)據(jù)的專用時鐘,所以此串行外設(shè)接口(spi)是一個同步接口,即其不會將時鐘信號包含于數(shù)據(jù)流本身之中。
時鐘極性(cpol)決定此位移時鐘閑置狀態(tài)是低電平(cpol=0)或是高電平(cpol=1)。時鐘相位(cpha)決定數(shù)據(jù)在哪一個時鐘沿被位移進出(cpha=0時,mo/si數(shù)據(jù)在下降沿被位移出,而cpha=1時,mo/si數(shù)據(jù)在上升沿被位移進入)。因為每一位具有兩個狀態(tài),如此可以允許四個不同的組合。兩個串行外設(shè)接口(spi)元件使用相同的時鐘極性與相位設(shè)定彼此互相通信。
四個時鐘極性與相位設(shè)定中的兩個允許此串行外設(shè)接口(spi)與不同的微帶線元件通信,反之亦然。微帶線為串行外設(shè)接口(spi)的子集,且其是串行外設(shè)接口(spi)的實施例。此微帶線協(xié)定具有以下的固定的時鐘極性與相位:si(數(shù)據(jù)位移進入)在此串行時鐘的上升沿被鎖定,且so(數(shù)據(jù)位移出)在此串行時鐘的下降沿被改變。假如并沒有數(shù)據(jù)被傳送,串行時鐘總是在低電平。
串行外設(shè)接口(spi)的一實施例修改si和so引腳以進行更高速存取的操作。并不再將輸入si引腳僅專門作為指令/位址輸入,且不再僅將輸出so引腳專門作為數(shù)據(jù)/狀態(tài)輸出,而是將si和so引腳兩者同時作為輸入或是同時作為輸出。在指令/位址輸入相位時,si和so引腳兩者同時都作為輸入引腳且自主元件接收輸入數(shù)據(jù)。而在數(shù)據(jù)/狀態(tài)輸出相位時,si和so引腳兩者同時都作為輸出引腳且傳送數(shù)據(jù)至主元件。因為此si和so引腳可以被用作為輸入及輸出引腳之用,在此處其被分別稱為si/sio0和si/sio1。在此兩個輸入輸出引腳的情況下,此操作指令的效率與傳統(tǒng)僅使用輸入si引腳作為指令/位址輸入,而僅將輸出so引腳作為數(shù)據(jù)/狀態(tài)輸出相比,其具有效率增加為兩倍的優(yōu)點。
圖1顯示串行外設(shè)接口(spi)配置,其具有電連接至三個從集成電路元件100、101和102的主集成電路元件110。此主元件110的芯片選擇引腳為cs#0、cs#1和cs#2,且分別電連接至各別從元件100、101和102的芯片選擇引腳cs#。此主元件110的串行時鐘(sck)引腳電連接至從元件100、101和102的串行時鐘(sck)引腳。此主元件110的si/sio0(msi/sio0))引腳電連接至從元件100、101和102的si/sio0引腳。而此主元件110的so/sio1(msi/sio1)引腳電連接至從元件100、101和102的so/sio1引腳。在此配置下,此主集成電路元件的msio0和msio1引腳以及此從集成電路元件的si/sio0和so/sio1引腳為雙向輸入/輸出引腳。在指令輸入相位時,msio0和msio1引腳作為主元件輸出引腳,而此si/sio0和so/sio1引腳作為特定從元件的輸入。相反地,在數(shù)據(jù)輸出相位時,此si/sio0和so/sio1引腳作為特定從元件的輸出引腳,而msio0和msio1引腳作為主元件輸入。
圖2為串行外設(shè)接口(spi)集成電路的讀取時鐘示意圖,其具有許多多余周期以補償從集成電路的延遲。
在元件選擇信號(cs#)在下降沿發(fā)出之后,8位指令被傳送且由si引腳接收以使能此兩個輸入/輸出引腳進行相同方向的輸入輸出操作。此位址在串行時鐘(sck)的上升/下降沿被鎖定,且位址數(shù)據(jù)在每一次串行時鐘(sck)的上升/下降沿位移兩個位,在兩個輸入/輸出引腳,即si/sio0和so/sio1間交錯進行。此位址的第一和第二位由此主元件的msio0和msio1引腳傳送,而由此從元件的si/sio0和so/sio1引腳同時接收。因此,位址位經(jīng)由si/sio0和so/sio1引腳一次傳遞2位。位址位持續(xù)地被傳送與接收直到24位位址傳送被完成為止。根據(jù)串行時鐘(sck)的頻率,某些特定數(shù)目n=0、0.5、1、1.5、2、2.5等的多余周期可以在位址的最后一位與輸出數(shù)據(jù)的第一位之間被插入。此多余周期被用于從元件的內(nèi)部運作。例如在4位的多余周期被插入之后,此數(shù)據(jù)開始于此多余周期結(jié)束之后在串行時鐘(sck)的上升/下降沿位移出來。此數(shù)據(jù)每一次由si/sio0和so/sio1引腳位移出2位。此一位組的數(shù)據(jù)僅需4個時鐘上升/下降沿就可以被位移出。此2位輸出利用此串行外設(shè)接口(spi)總線兩個引腳所產(chǎn)生的高效率數(shù)據(jù)輸出的優(yōu)點。與較簡單的串行外設(shè)接口(spi)比較,此串行外設(shè)接口(spi)具有兩倍數(shù)據(jù)輸出效率以及較短的位址位輸入時間。高效率接口增加了系統(tǒng)存取時間效率,以及在從元件操作等待時改善了整體系統(tǒng)性能。
圖3為串行外設(shè)接口(spi)集成電路的讀取時鐘示意圖,其具有比圖2更多的多余周期以補償從集成電路的較長延遲。
圖中顯示具有8位假時鐘周期的數(shù)據(jù)傳輸。需要較大數(shù)目的多余周期以配合從元件的內(nèi)部運作,例如當(dāng)從元件的內(nèi)部運作較慢時,或是當(dāng)此串行時鐘(sck)的頻率高于利用較少多余周期運作的串行時鐘(sck)時,例如圖2中所顯示的四個位多余周期。多余周期的數(shù)目取決于串行時鐘(sck)的頻率。在其他的實施例中,不同于8位的多余周期被使用,例如超過8位或是少于8位。
圖4為串行外設(shè)接口(spi)集成電路的操作模式流程圖,其使用單一引腳(應(yīng)加上即當(dāng)成1位執(zhí)行才與圖中相符)來傳輸數(shù)據(jù)。
在步驟402,芯片選擇信號(cs#)為低電平。在步驟404,與此使用單一串行外設(shè)接口(spi)引腳來傳輸數(shù)據(jù)相關(guān)的讀取指令編程碼被送出。在步驟406,此24位位址被送至單一引腳來傳輸數(shù)據(jù)。在步驟408,等待8位多余周期。在步驟410,數(shù)據(jù)被儲存于此單一引腳傳輸數(shù)據(jù)所指定的位址。在步驟412,芯片選擇信號(cs#)變?yōu)楦唠娖?,這改變可以隨時于步驟410中發(fā)生。
圖5為串行外設(shè)接口(spi)集成電路的操作模式流程圖,其使用多個引腳來傳輸數(shù)據(jù),且一定數(shù)目的多余周期于傳送位址之后和數(shù)據(jù)被儲存于此位址之前被插入。
在步驟502,芯片選擇信號(cs#)為低電平。在步驟504,與此使用兩個串行外設(shè)接口(spi)引腳來傳輸數(shù)據(jù)相關(guān)的讀取指令編程碼被送出。在步驟506,此24位位址被交錯送至此兩個引腳來傳輸數(shù)據(jù)。在步驟508,等待n位2倍速假循環(huán)。在步驟510,數(shù)據(jù)被儲存于此兩個引腳傳輸數(shù)據(jù)所指定的位址。在步驟512,芯片選擇信號(cs#)變?yōu)楦唠娖剑烁淖兛梢噪S時于步驟510中發(fā)生。
圖6為串行外設(shè)接口(spi)集成電路的傳送數(shù)據(jù)的時鐘示意圖,其使用多個引腳以及兩倍速(ddr)傳送數(shù)據(jù)。
不論是自主集成電路傳送至從集成電路的位址,以及由此位址所儲存的回傳數(shù)據(jù)自從集成電路回傳至主集成電路,兩者皆以兩倍速(ddr)傳輸。在兩個方向上,兩個引腳被用來交錯傳輸數(shù)據(jù),因此增加了傳輸速度。在另一實施例中,使用單一引腳而不是兩個引腳來傳輸數(shù)據(jù)。
圖7為串行外設(shè)接口(spi)集成電路的傳送數(shù)據(jù)的時鐘示意圖,其使用多個引腳以及僅在主從之間的一個方向上利用兩倍速(ddr)傳送數(shù)據(jù)。
自主集成電路傳送至從集成電路的位址并沒有以兩倍速(ddr)傳輸。而由此位址所儲存的數(shù)據(jù)自從集成電路回傳至主集成電路,則是以兩倍速(ddr)傳輸。在兩個方向上,兩個引腳被用來交錯傳輸數(shù)據(jù),因此增加了傳輸速度。在另一實施例中,使用單一引腳而不是兩個引腳來傳輸數(shù)據(jù)。
圖8為串行外設(shè)接口(spi)集成電路的傳送數(shù)據(jù)的時鐘示意圖,其使用多個引腳以及僅在主從之間的一個方向上利用兩倍速(ddr)傳送數(shù)據(jù),具體而言是與圖7相反的方向。
自主集成電路傳送至從集成電路的位址以兩倍速(ddr)傳輸。而由此位址所儲存的數(shù)據(jù)自從集成電路回傳至主集成電路,則不是以兩倍速(ddr)傳輸。在兩個方向上,兩個引腳被用來交錯傳輸數(shù)據(jù),因此增加了傳輸速度。在另一實施例中,使用單一引腳而不是兩個引腳來傳輸數(shù)據(jù)。
圖9為根據(jù)本發(fā)明一實施例的包含非易失存儲陣列的串行外設(shè)接口(spi)集成電路的示例框圖。
此集成電路950包括在半導(dǎo)體襯底上使用電荷陷獲結(jié)構(gòu)非易失存儲單元,例如浮動?xùn)艠O、電荷陷獲或是電阻元件(如相變化)所構(gòu)成的存儲陣列900。此存儲單元陣列900可以是單獨的存儲單元、交錯形成陣列或是在多個陣列中交錯。列解碼器901連接于在該存儲陣列900中成列排列的多個字線902,行解碼器903連接至在該存儲陣列900中成行排列的多條位線904。在總線905上提供位址到行解碼器903與列解碼器901。在塊906中感測放大器與數(shù)據(jù)輸入結(jié)構(gòu)通過數(shù)據(jù)總線907而連接至該行解碼器903,通過該數(shù)據(jù)輸入線911從在該集成電路950上的輸入/輸出端提供數(shù)據(jù),或從其它在集成電路950內(nèi)部或外部數(shù)據(jù)源提供數(shù)據(jù)到區(qū)塊906的數(shù)據(jù)輸入結(jié)構(gòu)。在區(qū)塊906中通過該數(shù)據(jù)輸出線915從這些感測放大器提供數(shù)據(jù)至集成電路950上的輸入/輸出端,或提供數(shù)據(jù)至在集成電路950內(nèi)部或外部的其他些數(shù)據(jù)目的地。偏壓安排狀態(tài)機909控制偏壓安排供應(yīng)電壓908的應(yīng)用,例如擦除確認(rèn)及編程確認(rèn)電壓,與編程、擦除和讀取此存儲單元的安排,例如具有兩倍速時鐘及/或并行交錯使用此兩個串行外設(shè)接口(spi)傳輸引腳。
在本發(fā)明已參考上述較佳實施例與例示公開,需了解的是,這些實施例與例示僅為例示性的而為非用以限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員而言,可輕易地實現(xiàn)各種的修改與結(jié)合,而這些修改與結(jié)合應(yīng)落于本發(fā)明的精神與及權(quán)利要求書所限定的范圍中。