專利名稱:一種電路板設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其是指一種電路板的設(shè)計方法。
背景技術(shù):
在電路板設(shè)計中,一般包含有CPU、放置啟動程序的FLASH芯片(稱為BOOTROM放置啟動程序的存儲器)和放置應(yīng)用程序的FLASH芯片。其中BOOTROM芯片中的啟動程序一般是通過編程器寫入,而應(yīng)用程序一般是執(zhí)行BOOTROM程序后再由CPU加載到FLASH芯片中。
通常情況下,BOOTROM一般選用插裝的FLASH芯片。由于插裝器件在安裝、加工、運輸?shù)冗^程中經(jīng)常有毀損情況發(fā)生,給產(chǎn)品帶來了不穩(wěn)定性和不可靠性,因此客戶都希望在產(chǎn)品上取消插裝BOOTROM,而將啟動程序和應(yīng)用程序同時寫入到一片F(xiàn)LASH芯片中。
在一個包含了CPU的電路板上,通常還包含存放程序的載體,也就是程序存儲器。在現(xiàn)有技術(shù)中,如果程序比較大,則一般采取以下技術(shù)在一片小容量FLASH芯片(通常為插裝器件)存放一個比較小的啟動程序,這個FLASH芯片里面的程序一般是通過編程器寫入并插入電路板上的插座中;應(yīng)用程序代碼一般較大,通常將其存放在一片大容量的FLASH芯片中。由于CPU執(zhí)行BOOTROM代碼后已經(jīng)處于正常工作狀態(tài),所以,這時候CPU可以實現(xiàn)對FLASH芯片的讀寫,從而實現(xiàn)軟件的加載和升級。一個典型的CPU小系統(tǒng)如圖1所示。圖1中,F(xiàn)LASH芯片1用于存放啟動程序,其中包括CPU的啟動代碼和數(shù)據(jù)搬移程序,F(xiàn)LASH芯片2用于存放應(yīng)用程序,其中包括各種業(yè)務(wù)軟件。FLASH芯片1一般采用PLCC封裝的器件,其中的軟件預(yù)先在軟件車間寫好,在組裝時再將FLASH芯片1插在制成板(是)相應(yīng)的IC插座上。業(yè)務(wù)軟件由于有在線升級的要求,所以一般通過CPU實現(xiàn)加載?,F(xiàn)有技術(shù)中,應(yīng)用程序加載的途徑有以下幾種a、通過電路板間的總線獲得,通常情況下這需要應(yīng)用程序運行后才能進行;b、通過本板的以太網(wǎng)口,在BOOTROM中啟動代碼的配合下根據(jù)一定的協(xié)議獲得;C、通過本板的串口,在BOOTROM中啟動代碼的配合下根據(jù)一定的協(xié)議獲得。
由于常見的用于存放BOOTROM的小容量FLASH芯片均為插裝器件,而在實際應(yīng)用中由于PLCC插座而引起的問題非常多,主要是PLCC插座因批次質(zhì)量、加工、運輸?shù)拳h(huán)節(jié)引起接觸不良而導(dǎo)致電路板故障,甚至有因插拔操作不當引起FLASH芯片芯片失效的現(xiàn)象。這些故障大大降低了產(chǎn)品的穩(wěn)定性和可靠性,是困擾產(chǎn)品質(zhì)量的重要因素。
發(fā)明內(nèi)容
本發(fā)明就是針對以上問題,提出省去用于存放BOOTROM的FLASH芯片的電路板設(shè)計方法。一種電路板設(shè)計方法,其特征在于將啟動程序和應(yīng)用程序合并到同一個FLASH芯片中,通過與FLASH芯片相鄰的CPU完成對FLASH芯片中應(yīng)用程序的加載。
所述的對FLASH芯片中應(yīng)用程序的加載過程為a,通過由CPU內(nèi)部邊界掃描單元組成一個邊界掃描鏈去設(shè)置CPU的I/O引腳狀態(tài);b,通過I/O引腳來輸入數(shù)據(jù)和讀取數(shù)據(jù),進而完成加載。
所述的步驟a進一步包括a1、通過命令掃描將與FLASH芯片相鄰的CPU設(shè)置為EXTEST狀態(tài),保證該CPU可以通過該內(nèi)部形成的邊界掃描鏈輸出命令和數(shù)據(jù)。
所述步驟a中的相鄰,可以是直接相鄰,也可以是間隔有非邊界掃描器件的間接相鄰。
所述的步驟b,是通過JTAG接口在CPU引腳上模擬FLASH芯片的讀寫時續(xù),實現(xiàn)FLASH芯片加載。
所述的步驟b進一步包括b1、進行數(shù)據(jù)移位,將數(shù)據(jù)刷新輸出至FLASH芯片;b2、從FLASH芯片回讀數(shù)據(jù);b3、重復(fù)步驟b1和b2,向FLASH芯片發(fā)出需要命令和數(shù)據(jù),直到完成FLASH芯片的加載。
所述的電路板設(shè)計方法,步驟b1中所述的數(shù)據(jù)移位是在進行一次命令移位,將EXTEST命令裝入命令寄存器后才進行的,如果在加載的過程中對命令進行了更改,則在下一次進行數(shù)據(jù)移位之前,要進行一次命令移位,將EXTEST命令裝入命令寄存器。
所述的JTAG接口在CPU引腳上模擬FLASH芯片的讀寫時續(xù),是通過在CPU的JTAG接口上連接JTAG控制器,通過與該控制器相連的終端輸入的。
所述的電路板設(shè)計方法,是通過讀寫器完成啟動程序的加載。在本發(fā)明中,由于取消插裝的FLASH芯片器件,并且通過CPU的JTAG接口加載FLASH芯片,而不是在CPU執(zhí)行BOOTROM中的啟動代碼后再由CPU加載FLASH芯片,因此,除了能省掉一個插裝FLASH芯片外,還可以將電路板上用于FLASH芯片加載的以太網(wǎng)口或串口取消,減小PCB面積,大大降低了物料成本。
圖1是一個電路板的系統(tǒng)結(jié)構(gòu)圖;圖2是邊界掃描器件的結(jié)構(gòu)圖;圖3是通過JTAG接口加載FLASH芯片的原理示意圖;圖4是FLASH芯片的JTAG加載系統(tǒng)連接圖;圖5是本發(fā)明加載流程圖;圖6是本發(fā)明實施后的電路板設(shè)計圖。
具體實施例方式
下面結(jié)合說明書附圖來說明本發(fā)明的具體實施方式
。
JTAG(Joint Test Action Group)是指邊界掃描技術(shù),JTAG接口是內(nèi)置調(diào)試工具,通過該JTAG接口,設(shè)計人員能夠觀察到該處理器中待處理信息的一個有限的子集,比如該處理器中寄存器的內(nèi)容。
本發(fā)明的核心思想,是將啟動程序與應(yīng)用程序合并放置在FLASH芯片中,與傳統(tǒng)的將啟動程序放置于插裝的FLASH芯片相區(qū)別,這樣,省去插裝件帶來的弊端,減少加工、運輸?shù)冗^程中存在的不穩(wěn)定性。
但將BOOTROM和應(yīng)用程序同時寫入到一片F(xiàn)LASH芯片中,則存在如何實現(xiàn)程序第一次加載的問題,以及如何升級的問題。本發(fā)明是通過在電路板上與FLASH芯片相鄰的CPU來完成該應(yīng)用程序的加載的。
一般來說,CPU是一個帶有邊界掃描結(jié)構(gòu)的芯片,如圖2所示,是現(xiàn)有技術(shù)中一個邊界掃描器件的結(jié)構(gòu)圖,帶邊界掃描結(jié)構(gòu)的芯片和不帶邊界掃描結(jié)構(gòu)的芯片相比較,主要是多了5個測試訪問端口TAP引腳測試時鐘信號TCK、測試數(shù)據(jù)輸入信號TDI、測試數(shù)據(jù)輸出信號TDO、測試模式選擇信號TMS和測試復(fù)位TRST,其中測試復(fù)位引腳可選,同時多了一個TAP控制器、一個指令寄存器和一組數(shù)據(jù)寄存器,其中,數(shù)據(jù)寄存器又包括邊界掃描單元寄存器、旁路(BYPASS)寄存器,還可能包括器件代碼(IDCODE)寄存器、用戶代碼(USERCODE)寄存器或其余用戶自定義寄存器。
在電路板上,與FLASH芯片相鄰的CPU內(nèi)部的邊界掃描單元連接成一個邊界掃描鏈,本發(fā)明就是通過這一系列的掃描鏈串行移位來完成FLASH芯片的加載的。
如圖3所示,是通過JTAG接口加載FLASH芯片的原理示意圖,圖中黑色部分為掃描寄存器單元,從圖中可以看出,F(xiàn)LASH的地址線、數(shù)據(jù)線和控制信號都直接或者間接連接到邊界掃描器件上,例如本發(fā)明中的CPU。因此,可以通過JTAG接口在CPU的引腳上模擬FLASH的讀寫時序,實現(xiàn)FLASH加載。
如圖4所示,在本發(fā)明中,通過CPU上的JTAG接口連接有一個PC終端,通過該終端的輸入部分,來模擬FLASH芯片的讀寫時續(xù),進而通過該掃描鏈來設(shè)置CPU的I/O引腳狀態(tài),通過I/O引腳來輸入數(shù)據(jù)和讀取數(shù)據(jù),進而完成加載。
如圖5所示,是本發(fā)明加載的一個流程圖,從圖中可以看到,加載的過程包括首先在終端上通過命令掃描使得與欲加載FLASH芯片相鄰的CPU處于EXTEST狀態(tài),以保證可以通過該CPU內(nèi)部的邊界掃描鏈向外輸出數(shù)據(jù)和命令;關(guān)于EXTEST命令,它是器件廠家必須提供的公用命令,外部測試命令EXTEST將選擇串行連接在TDI與TDO之間的邊界掃描寄存器構(gòu)成的掃描鏈,同時器件內(nèi)核邏輯從輸入/輸出管腳中隔離出來。利用EXTEST命令可以完成的功能1)進行芯片之間的互連測試;2)可以控制邊界掃描器件對其余器件進行讀寫等操作。
其中2是本發(fā)明所創(chuàng)新,在本發(fā)明的加載方法中,該EXTEST命令是用來完成對FLASH芯片進行讀寫等操作。
然后就是數(shù)據(jù)移位,將數(shù)據(jù)刷新輸出;然后從FLASH芯片上回讀數(shù)據(jù)和命令;再進行數(shù)據(jù)移位,重新刷新并輸出;……,就這樣反復(fù)進行數(shù)據(jù)掃描和數(shù)據(jù)輸出,向FLASH芯片輸入各種命令和數(shù)據(jù),以及從FLASH芯片讀回數(shù)據(jù),一直到完成FLASH芯片加載為止。
在加載過程中,每次數(shù)據(jù)移位完畢,所有數(shù)據(jù)均已經(jīng)準備好,在進入Update-DR狀態(tài)時CPU的邊界掃描單元將數(shù)據(jù)打入FLASH芯片,此時命令寄存器中的命令要求是EXTEST。所以在執(zhí)行數(shù)據(jù)移位之前,還要進行一次命令移位,將EXTEST命令裝入命令寄存器。但是完成命令裝載以后,只要不更改命令,就不再需要進行命令移位了,此時只需要進行數(shù)據(jù)移位,所以數(shù)據(jù)移位是編程的主要操作。
在系統(tǒng)加載的過程中,當掃描鏈由多個邊界掃描器件組成時,系統(tǒng)會自動將不相關(guān)的邊界掃描器件旁路掉。
采用上述加載方法后,電路板的BOOTROM和應(yīng)用程序就可以寫入到同一片F(xiàn)LASH芯片中,而且,在電路板的調(diào)試加載和生產(chǎn)加載過程中,都可以使用這種方法。
如圖6所示,可以看到,取消BOOTROM芯片而將啟動代碼和應(yīng)用程序?qū)懭氲酵黄現(xiàn)LASH芯片的設(shè)計后,電路板系統(tǒng)結(jié)構(gòu)中,少了一個以太網(wǎng)接口,同時,還少了一個BOOTROM芯片。
本發(fā)明提出的電路板設(shè)計方法和以前的常規(guī)的電路板設(shè)計方法相比較有以下優(yōu)點1、省去了BOOTROM芯片,節(jié)省了電路板成本;2、省去了網(wǎng)口及其接口芯片,節(jié)省了電路板成本;3、省去了PLCC插座,消除了產(chǎn)品的不穩(wěn)定因素,提高了產(chǎn)品的可靠性。
本發(fā)明在節(jié)省了一個用于存儲啟動程序的FLASH的同時,還因取消PLCC插座,使得系統(tǒng)的穩(wěn)定性大大提高。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求書的保護范圍為準。
權(quán)利要求
1.一種電路板設(shè)計方法,其特征在于將啟動程序和應(yīng)用程序合并到同一個FLASH芯片中,通過與FLASH芯片相鄰的CPU完成對FLASH芯片中應(yīng)用程序的加載。
2.如權(quán)利要求1所述的電路板設(shè)計方法,其特征在于所述的對FLASH芯片中應(yīng)用程序的加載過程為a,通過由CPU內(nèi)部邊界掃描單元組成一個邊界掃描鏈去設(shè)置CPU的I/O引腳狀態(tài);b,通過I/O引腳來輸入數(shù)據(jù)和讀取數(shù)據(jù),進而完成加載。
3.如權(quán)利要求2所述的電路板設(shè)計方法,其特征在于所述的步驟a進一步包括a1、通過命令掃描將與FLASH芯片相鄰的CPU設(shè)置為EXTEST狀態(tài),保證該CPU可以通過該內(nèi)部形成的邊界掃描鏈輸出命令和數(shù)據(jù)。
4.如權(quán)利要求2或3所述的電路板設(shè)計方法,其特征在于所述步驟a中的相鄰,可以是直接相鄰,也可以是間隔有非邊界掃描器件的間接相鄰。
5.如權(quán)利要求2所述的電路板設(shè)計方法,其特征在于所述的步驟b,是通過JTAG接口在CPU引腳上模擬FLASH芯片的讀寫時續(xù),實現(xiàn)FLASH芯片加載。
6.如權(quán)利要求2或5所述的電路板設(shè)計方法,其特征在于所述的步驟b進一步包括b1、進行數(shù)據(jù)移位,將數(shù)據(jù)刷新輸出至FLASH芯片;b2、從FLASH芯片回讀數(shù)據(jù);b3、重復(fù)步驟b1和b2,向FLASH芯片發(fā)出需要命令和數(shù)據(jù),直到完成FLASH芯片的加載。
7.如權(quán)利要求6所述的電路板設(shè)計方法,其特征在于步驟b1中所述的數(shù)據(jù)移位是在進行一次命令移位,將EXTEST命令裝入命令寄存器后才進行的,如果在加載的過程中對命令進行了更改,則在下一次進行數(shù)據(jù)移位之前,要進行一次命令移位,將EXTEST命令裝入命令寄存器。
8.如權(quán)利要求2所述的電路板設(shè)計方法,其特征在于所述的JTAG接口在CPU引腳上模擬FLASH芯片的讀寫時續(xù),是通過在CPU的JTAG接口上連接JTAG控制器,通過與該控制器相連的終端輸入的。
9.如權(quán)利要求2所述的電路板設(shè)計方法,其特征在于所述步驟b中的加載還包括啟動程序的加載,該加載是通過讀寫器完成的。
全文摘要
本發(fā)明涉及電路板設(shè)計方法。一種電路板設(shè)計方法,其將啟動程序和應(yīng)用程序合并到同一個FLASH芯片中,通過與FLASH芯片相鄰的CPU完成對FLASH芯片中應(yīng)用程序的加載。由于取消插裝的FLASH芯片,并且通過CPU的JTAG接口加載FLASH芯片,而不是在CPU執(zhí)行BOOTROM中的啟動代碼后再由CPU加載FLASH芯片,因此,可以將電路板上用于FLASH芯片加載的以太網(wǎng)口或串口取消,減小PCB面積,大大降低了物料成本。
文檔編號G06F9/445GK1495606SQ0212559
公開日2004年5月12日 申請日期2002年7月23日 優(yōu)先權(quán)日2002年7月23日
發(fā)明者袁標, 李穎悟, 游志強, 袁 標 申請人:華為技術(shù)有限公司