專利名稱:用于片上系統(tǒng)的單線調(diào)試接口協(xié)議的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于片上系統(tǒng)(SOC)的單線調(diào)試接口協(xié)議,屬于大規(guī)模集成電路設(shè)計(jì)技術(shù)領(lǐng)域。
背景技術(shù):
目前的片上系統(tǒng)普遍采用JTAG協(xié)議(國(guó)際標(biāo)準(zhǔn)IEEE 1149.1)作為微處理器內(nèi)核的調(diào)試接口,實(shí)現(xiàn)JTAG協(xié)議需要占用5根信號(hào)線(TCK,TMS,TDI,TDO,TnRST)。這些附加的信號(hào)線增加了芯片制造和封裝的成本,尤其對(duì)于那些管腳數(shù)量較少的芯片來(lái)說(shuō),其對(duì)成本影響更加巨大。因此,很多低成本片上系統(tǒng)產(chǎn)品(如8位/16位微控制器)取消了調(diào)試接口。但是這又造成了芯片調(diào)試手段匱乏,從而增加了最終產(chǎn)品的開(kāi)發(fā)難度。
發(fā)明內(nèi)容
為了克服現(xiàn)有調(diào)試接口協(xié)議的缺點(diǎn),本發(fā)明提出了一種新的單線調(diào)試接口協(xié)議,使用它可以完成主控器(調(diào)試器)和從控器(片內(nèi)調(diào)試電路)之間的雙向通信,而僅需要一根信號(hào)線。
本發(fā)明的具體技術(shù)方案如下總線信號(hào)協(xié)議總線使用上拉電阻,在無(wú)信號(hào)時(shí),狀態(tài)為高電平。
比特流在通過(guò)總線傳輸前,需要先經(jīng)過(guò)編碼。
編碼時(shí),首先采用比特填充算法。發(fā)送端當(dāng)連續(xù)傳輸6個(gè)比特1時(shí),必須插入1個(gè)比特0。接收端在接收到6個(gè)比特1時(shí),自動(dòng)丟棄緊接著的比特0。
采用非歸零倒置(Non-Return to Zero Inverted)算法對(duì)做過(guò)比特填充后的比特流進(jìn)行編碼。如果傳輸比特為0,則總線上的信號(hào)倒置,即由低電平變高電平,或者由高電平變低電平;傳輸比特為1,則總線上的信號(hào)保持不變。比特填充算法所插入的0,實(shí)質(zhì)上就是在總線上插入一個(gè)跳變信號(hào)。
總線上連續(xù)7個(gè)或7個(gè)以上周期為高電平,表示總線處于空閑。準(zhǔn)備發(fā)送數(shù)據(jù)的一端必須等待總線空閑后,才可以發(fā)送數(shù)據(jù)。
總線上連續(xù)15個(gè)或15個(gè)以上周期為低電平,表示復(fù)位信號(hào)。從控器收到復(fù)位信號(hào),應(yīng)該完成復(fù)位操作。
圖1顯示了總線的電路結(jié)構(gòu)包的組成包由同步字節(jié),類型字節(jié),數(shù)據(jù)字段和校驗(yàn)字節(jié)組成。為了使包在單根通信線上傳輸,整個(gè)包必須經(jīng)過(guò)串行化,對(duì)包內(nèi)的每一個(gè)字節(jié),先傳輸最低比特,最后傳輸最高比特。
同步字節(jié)固定為0x80,作為包開(kāi)始的標(biāo)志。
類型字節(jié)標(biāo)識(shí)了包的類型,包括
數(shù)據(jù)字段是包的載體,對(duì)不同類型的包,有不同的含義。
對(duì)寫命令,數(shù)據(jù)字段就是主控器向從控器發(fā)送的數(shù)據(jù)。
對(duì)讀命名,數(shù)據(jù)字段為1個(gè)字節(jié),表示最大允許的讀入字節(jié)數(shù)減1。
對(duì)數(shù)據(jù)包,數(shù)據(jù)字段就是從控器向主控器發(fā)送的數(shù)據(jù)。
對(duì)應(yīng)答包,數(shù)據(jù)字段為1個(gè)字節(jié),0x0表示寫命令成功完成,其它值保留。校驗(yàn)字節(jié)用于包的正確性驗(yàn)證。
所有包的最后字節(jié)都是校驗(yàn)字節(jié),它用于對(duì)類型字節(jié)和數(shù)據(jù)字段的校驗(yàn)。采用循環(huán)冗余校驗(yàn)(CRC)算法,多項(xiàng)式表示為X8+X5+X4+1CRC校驗(yàn)器內(nèi)的移位寄存器初始值為全1,當(dāng)數(shù)據(jù)字段的最后一個(gè)字節(jié)通過(guò)校驗(yàn)器后,移位寄存器的值就是校驗(yàn)字節(jié)。
圖2顯示了各種包的結(jié)構(gòu)。
校驗(yàn)字節(jié)發(fā)送完畢后,發(fā)送端必須發(fā)送1個(gè)周期高電平,然后停止對(duì)總線的驅(qū)動(dòng),讓總線保持在高電平。
包傳遞協(xié)議從控器只有當(dāng)主控器允許時(shí)(也就是收到主控器的寫命令或者讀命令后),才可以驅(qū)動(dòng)總線,發(fā)送數(shù)據(jù)。若從控器收到寫命令,則應(yīng)該在總線上寫命令結(jié)束后的第8至15周期內(nèi)開(kāi)始發(fā)送應(yīng)答包。若從控器收到讀命令,則應(yīng)該在總線上讀命令結(jié)束后的第8至15周期內(nèi)開(kāi)始發(fā)送數(shù)據(jù)包。從控器應(yīng)該按照讀命令指定的字節(jié)數(shù)發(fā)送數(shù)據(jù)包,如果數(shù)據(jù)不夠,可以只發(fā)送較少的數(shù)據(jù),提前結(jié)束數(shù)據(jù)包。
主控器需要向從控器發(fā)送信息時(shí),先檢測(cè)總線狀態(tài),若總線連續(xù)7周期為高電平,則說(shuō)明總線空閑,可以發(fā)送讀寫命令。寫命令發(fā)送完成后,若在15個(gè)周期內(nèi)收到低電平(應(yīng)答包的開(kāi)始),則說(shuō)明寫命令被從控器成功接收,若15個(gè)周期內(nèi)總線上沒(méi)有低電平出現(xiàn),則表示寫命令失敗。讀命令發(fā)送完成后,若在15個(gè)周期內(nèi)總線上出現(xiàn)低電平(數(shù)據(jù)包的開(kāi)始),則說(shuō)明讀命令被從控器成功接收,若15個(gè)周期內(nèi)沒(méi)有收到總線上有低電平,則表示讀命令失敗。
圖3顯示了包傳遞協(xié)議的構(gòu)成。
權(quán)利要求
1.一種單線調(diào)試接口協(xié)議,其特征是使用單根通信線路,并采用非歸零倒置編碼算法和比特插入算法,可完成主控器和從控器之間的雙向通信。
2.根據(jù)權(quán)利要求1所述的單線調(diào)試協(xié)議,其特征是使用循環(huán)冗余校驗(yàn)算法,對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行正確性驗(yàn)證。
3.根據(jù)權(quán)利要求1所述的單線調(diào)試協(xié)議,其特征是使用上拉電阻,使總線在無(wú)驅(qū)動(dòng)時(shí)處于高電平。
4.根據(jù)權(quán)利要求1所述的單線調(diào)試協(xié)議,其特征是使用連續(xù)15個(gè)周期以上的低電平表示復(fù)位信號(hào)。
5.根據(jù)權(quán)利要求1所述的單線調(diào)試協(xié)議,其特征是,數(shù)據(jù)的傳輸,以包的方式來(lái)完成。
6.根據(jù)權(quán)利要求5所述的單線調(diào)試協(xié)議,其特征是包由同步字節(jié)、類型字節(jié)、數(shù)據(jù)字段和校驗(yàn)字節(jié)組成。
全文摘要
一種用于片上系統(tǒng)(SOC)的單線調(diào)試接口協(xié)議,通過(guò)對(duì)需要傳輸?shù)臄?shù)據(jù)進(jìn)行打包和串行化,實(shí)現(xiàn)主控器和從控器之間的雙向通信,并且僅需要單根信號(hào)線,從而降低芯片的制造和封裝成本(目前國(guó)際標(biāo)準(zhǔn)的調(diào)試接口協(xié)議-IEEE1149.1JTAG,需要5根信號(hào)線)。信號(hào)在傳輸過(guò)程中,使用了比特插入、非歸零倒置編碼以及循環(huán)冗余校驗(yàn)技術(shù),保證了即使在單一通信線的情況下,仍舊能夠完成高速、低錯(cuò)誤率的數(shù)據(jù)傳輸。
文檔編號(hào)G06F11/36GK1928845SQ20051002954
公開(kāi)日2007年3月14日 申請(qǐng)日期2005年9月9日 優(yōu)先權(quán)日2005年9月9日
發(fā)明者朱鋒, 陳新 申請(qǐng)人:上海采微電子科技有限公司