一種加載器及程序加載方法
【專利摘要】本發(fā)明提供一種加載器及程序加載方法,該加載器包括:連接器、可編程模塊、撥碼開(kāi)關(guān)、加載插座;其中:連接器,用于連接加載器與上位機(jī);加載插座,用于連接加載器與下位機(jī);撥碼開(kāi)關(guān),用于在多個(gè)加載模式中選擇一個(gè)加載模式;可編程模塊,用于根據(jù)撥碼開(kāi)關(guān)選擇的碼值,確定與該加載模式對(duì)應(yīng)的連接器側(cè)引腳以及加載插座側(cè)引腳,并從與該加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并將上位機(jī)的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)。應(yīng)用本發(fā)明實(shí)施例可以簡(jiǎn)化對(duì)多種不同可編程器件進(jìn)行程序加載時(shí)的操作復(fù)雜度,提高可編程器件程序加載的效率。
【專利說(shuō)明】
一種加載器及程序加載方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種加載器及程序加載方法。
【背景技術(shù)】
[0002] 在現(xiàn)代電子產(chǎn)品中,常常需要對(duì)一些可編程器件加載硬件邏輯程序或者微碼,才 可以實(shí)現(xiàn)需要的功能。隨著單板集成度越來(lái)越高,單板上可編程器件也用得越來(lái)越多。對(duì)于 不同的可編程器件,例如CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器 件)、FPGA(Field - Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)、EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)等不同類型的可 編程器件,或不同廠家生產(chǎn)的相同類型的可編程器件,如不同廠家生產(chǎn)的CPLD,當(dāng)需要對(duì)其 進(jìn)行程序加載時(shí),需要采用不同的加載工具(通常采用各器件生產(chǎn)廠商提供的加載器實(shí)現(xiàn) 程序的加載),因而,對(duì)于包括多個(gè)不同可編程器件的單板,在單板裝配時(shí),需要多次切換加 載工具,操作較為復(fù)雜,且可編程器件的程序加載效率較低。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明提供一種加載器及程序加載方法,以解決現(xiàn)有技術(shù)中對(duì)多種不同可編程器 件進(jìn)行程序加載時(shí),需要多次切換加載工具,操作較為復(fù)雜,且可編程器件的程序加載效率 較低的問(wèn)題。
[0004] 根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種加載器,應(yīng)用于多功能可編程器件,所述 加載器包括:連接器、可編程模塊、撥碼開(kāi)關(guān)、加載插座;其中:
[0005] 所述連接器,用于連接所述加載器與上位機(jī);
[0006] 所述加載插座,用于連接所述加載器與下位機(jī);
[0007] 所述撥碼開(kāi)關(guān),用于在多個(gè)不同加載模式中的選擇一個(gè)加載模式;
[0008] 所述可編程模塊,用于根據(jù)撥碼開(kāi)關(guān)選擇的碼值確定對(duì)應(yīng)的加載模式,確定與該 加載模式對(duì)應(yīng)的連接器側(cè)引腳以及加載插座側(cè)引腳,并從與該加載模式對(duì)應(yīng)的連接器側(cè)引 腳獲取上位機(jī)的總線信號(hào),并將所述上位機(jī)的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的加載插座 側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)。
[0009] 根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種程序加載方法,應(yīng)用于多功能可編程器 件的加載器,該方法包括:
[0010]確定撥碼開(kāi)關(guān)選擇的加載模式;
[0011] 根據(jù)所述加載模式確定與該加載模式對(duì)應(yīng)的連接器側(cè)引腳以及加載插座側(cè)引腳, 并從與該加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并將所述上位機(jī)的總線信 號(hào)通過(guò)與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)。
[0012] 應(yīng)用本發(fā)明實(shí)施例,通過(guò)在加載器中設(shè)置撥碼開(kāi)關(guān),并設(shè)置撥碼開(kāi)關(guān)的碼值與加 載模式對(duì)應(yīng)關(guān)系,使得同一加載器可以通過(guò)調(diào)節(jié)撥碼開(kāi)關(guān)的碼值實(shí)現(xiàn)多種不同的可編程器 件的程序加載,與現(xiàn)有技術(shù)通過(guò)多個(gè)不同的加載器對(duì)多種不同可編程器件進(jìn)行程序加載的 實(shí)現(xiàn)相比,簡(jiǎn)化了對(duì)多種不同可編程器件進(jìn)行程序加載時(shí)的操作復(fù)雜度,提高了可編程器 件程序加載的效率。
【附圖說(shuō)明】
[0013] 圖1是本發(fā)明實(shí)施例提供的一種加載器的結(jié)構(gòu)示意圖;
[0014] 圖2是本發(fā)明實(shí)施例提供的另一種加載器的結(jié)構(gòu)示意圖;
[0015] 圖3是本發(fā)明實(shí)施例提供的另一種加載器的結(jié)構(gòu)示意圖;
[0016] 圖4是本發(fā)明實(shí)施例提供的一種程序加載方法的流程示意圖。
【具體實(shí)施方式】
[0017] 為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,下面先對(duì)加載器 的基本原理進(jìn)行簡(jiǎn)單說(shuō)明。
[0018] 可編程器件的程序加載一般由上位機(jī)、加載器、下位機(jī)三部分組成。其中,上位機(jī) 通常為PC(Personal Computer,個(gè)人計(jì)算機(jī));下位機(jī)為目標(biāo)可編程設(shè)備,即CPLD器件、ADI 器件(ADI廠家可編程器件)等;加載器用于傳輸上位機(jī)和下位機(jī)之間的總線信號(hào)。
[0019] 在可編程器件的程序加載過(guò)程中,總線信號(hào)傳輸是雙向的。通常,將上位機(jī)到下位 機(jī)的總線信號(hào)傳輸稱為寫(xiě)操作;下位機(jī)到上位機(jī)的總線信號(hào)傳輸稱為讀操作。可編程器件 的程序加載通常包括:讀取目標(biāo)設(shè)備ID(該目標(biāo)設(shè)備ID用于標(biāo)識(shí)可編程器件的類型)、擦除、 燒寫(xiě)、校驗(yàn)四個(gè)步驟。其中,"讀取目標(biāo)設(shè)備ID"和"校驗(yàn)"步驟以讀操作為主,而"擦除"和"燒 寫(xiě)"步驟以寫(xiě)操作為主。
[0020] 總線信號(hào)包括對(duì)應(yīng)的總線類型的前導(dǎo)碼(比如起始符、讀寫(xiě)標(biāo)志位等)、目標(biāo)設(shè)備 地址(即可編程器件的地址)、目標(biāo)寄存器地址(可編程器件中包括的一個(gè)或多個(gè)寄存器地 址)、目標(biāo)寄存器數(shù)據(jù)等等。上位機(jī)可以通過(guò)模擬不同的總線協(xié)議,對(duì)目標(biāo)寄存器進(jìn)行讀寫(xiě) 操作,從而實(shí)現(xiàn)可編程器件的程序加載。
[0021] 舉例來(lái)說(shuō),以ADM Cable模式下的數(shù)據(jù)讀寫(xiě)流程為例,在該模式下,上位機(jī)和下位 機(jī)之間通過(guò)I2C總線進(jìn)行讀寫(xiě)訪問(wèn),一次讀寫(xiě)訪問(wèn)流程如下:
[0022] 前導(dǎo)碼->從設(shè)備地址(即目標(biāo)設(shè)備地址)->讀寫(xiě)標(biāo)志位->寄存器地址->寄存器數(shù) 據(jù)_>結(jié)束標(biāo)識(shí)。
[0023] 其中,前導(dǎo)碼用于標(biāo)識(shí)讀寫(xiě)訪問(wèn)流程的開(kāi)始,通常為2bit導(dǎo)碼,"10"表示start(開(kāi) 始),由上位機(jī)發(fā)送給下位機(jī);
[0024] 從設(shè)備地址用于標(biāo)識(shí)被訪問(wèn)的目標(biāo)設(shè)備,即上位機(jī)需要與哪一個(gè)下位機(jī)進(jìn)行讀寫(xiě) 交互,由上位機(jī)發(fā)送給下位機(jī);
[0025] 讀寫(xiě)標(biāo)志位用于標(biāo)識(shí)此次操作為讀操作或?qū)懖僮?,通常為lbit,"l"表示read (讀)、"〇"表示write (寫(xiě)),由上位機(jī)發(fā)送給下位機(jī);
[0026] 寄存器地址用于標(biāo)識(shí)被訪問(wèn)的目標(biāo)寄存器,即上位機(jī)需要對(duì)目標(biāo)設(shè)備的哪一個(gè)寄 存器進(jìn)行讀寫(xiě)訪問(wèn),由上位機(jī)發(fā)送給下位機(jī);
[0027] 寄存器數(shù)據(jù)為上位機(jī)寫(xiě)入下位機(jī)的數(shù)據(jù)或上位機(jī)從下位機(jī)中讀取的數(shù)據(jù);其中, 若讀寫(xiě)標(biāo)志位為讀標(biāo)志位,貝由下位機(jī)發(fā)送給上位機(jī);若讀寫(xiě)標(biāo)志位為寫(xiě)標(biāo)志位,貝由上位 機(jī)發(fā)送給下位機(jī);
[0028] 結(jié)束標(biāo)識(shí)用于標(biāo)識(shí)讀寫(xiě)流程的結(jié)束,通常為2bit導(dǎo)碼,"01"表示end、(結(jié)束),由上 位機(jī)發(fā)送給下位機(jī)。
[0029] 其中,在寫(xiě)訪問(wèn)流程中,下位機(jī)接收到上位機(jī)發(fā)送的寄存器數(shù)據(jù)之后,或,在讀訪 問(wèn)流程中,下位機(jī)將寄存器數(shù)據(jù)發(fā)送給上位機(jī)之后,可以向上位機(jī)發(fā)送一個(gè)確認(rèn)標(biāo)識(shí)符,如 " A "。上位機(jī)接收到下位機(jī)發(fā)送的確認(rèn)標(biāo)識(shí)符后,向下位機(jī)發(fā)送結(jié)束標(biāo)識(shí)。
[0030] 為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí) 施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方 案作進(jìn)一步詳細(xì)的說(shuō)明。
[0031] 請(qǐng)參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的一種加載器的結(jié)構(gòu)示意圖,該加載器可以應(yīng)用 于多功能可編程器件,如圖1所示,該加載器可以包括:連接器1、可編程模塊2、撥碼開(kāi)關(guān)3以 及加載插座4;其中:
[0032] 連接器1,可以用于連接加載器與上位機(jī);
[0033] 加載插座4,可以用于連接加載器與下位機(jī);
[0034]撥碼開(kāi)關(guān)3,可以用于在多個(gè)加載模式中的選擇一個(gè)加載模式;
[0035] 可編程模塊2,可以用于根據(jù)撥碼開(kāi)關(guān)3的選擇的加載模式,確定與該加載模式對(duì) 應(yīng)的連接器側(cè)引腳以及加載插座側(cè)引腳,并從與該加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位 機(jī)的總線信號(hào),并將所述上位機(jī)的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸 給對(duì)應(yīng)的下位機(jī)。
[0036] 具體的,在本發(fā)明實(shí)施例中,加載器可以通過(guò)連接器1與上位機(jī)連接,實(shí)現(xiàn)連接器 與上位機(jī)之間的總線信號(hào)傳輸,并通過(guò)加載插座4與下位機(jī)連接,實(shí)現(xiàn)連接器與下位機(jī)之間 的總線信號(hào)傳輸。
[0037] 可選地,連接器1可以包括并口連接器、USB(Universal Serial Bus,通用串行總 線)連接器、RJ45連接器(布線系統(tǒng)中信息插座(即通信引出端)連接器的一種)或RS-232(個(gè) 人計(jì)算機(jī)上的通訊接口之一)連接器等。
[0038] 可選地,加載插座4可以為2*5加載插座。由于2*5加載插座可以通過(guò)插座內(nèi)引腳的 不同定義演變成其它多種不同的插座形式,如僅對(duì)2*5加載插座中特定3個(gè)引腳進(jìn)行定義, 其它引腳作為預(yù)留引腳,可以實(shí)現(xiàn)3針插座。因而,可以提高加載器的通用性。
[0039] 本發(fā)明實(shí)施例中,當(dāng)加載器處于工作狀態(tài)時(shí),可編程模塊2可以通過(guò)讀取撥碼開(kāi)關(guān) 對(duì)應(yīng)的碼值,確定當(dāng)前所處的加載模式,例如,可編程模塊2可以根據(jù)撥碼開(kāi)關(guān)的碼值查詢 預(yù)設(shè)的撥碼開(kāi)關(guān)與加載模式的對(duì)應(yīng)關(guān)系,以確定當(dāng)前狀態(tài)下?lián)艽a開(kāi)關(guān)的碼值對(duì)應(yīng)的加載模 式,進(jìn)而根據(jù)該加載模式從與該加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并 將該上位機(jī)的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)。
[0040] 同理,可編程模塊2還可以用于從與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳獲取下位 機(jī)的總線信號(hào),并將所述下位機(jī)的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的連接器側(cè)引腳傳輸給 上位機(jī)。
[0041] 為了實(shí)現(xiàn)上述目的,在本發(fā)明實(shí)施例中,加載器中可以預(yù)先設(shè)定撥碼開(kāi)關(guān)的碼值 與加載模式的對(duì)應(yīng)關(guān)系,例如,將該撥碼開(kāi)關(guān)的碼值與加載模式的對(duì)應(yīng)關(guān)系燒寫(xiě)在可編程 模塊中。
[0042] 舉例來(lái)說(shuō),假設(shè)撥碼開(kāi)關(guān)的數(shù)量為4(編號(hào)依次為1~4),其中,撥碼開(kāi)關(guān)1~3具備 實(shí)際用途,撥碼開(kāi)關(guān)4預(yù)留,則撥碼開(kāi)關(guān)的碼值與加載模式的對(duì)應(yīng)關(guān)系可以如表1所示:
[0043]表 1
[0046]其中,各撥碼開(kāi)關(guān)的開(kāi)和關(guān)分別對(duì)應(yīng)碼值1和0(或0和1) ;Program Flash加載模式 用于實(shí)現(xiàn)N〇r Flash(-種非易失閃存技術(shù))類型的可編程器件的程序加載,Lattice Cable 加載模式用于實(shí)現(xiàn)SPI(Serial Peripheral Interface,串行外設(shè)接口)Flash、Lattice廠 家的可編程器件的程序加載,Xlinx Cable加載模式用于實(shí)現(xiàn)Xilinx廠家的可編程器件的 程序加載,Altera Cable加載模式用于實(shí)現(xiàn)Altera廠家的可編程器件的程序加載,MBUS LOAD以及MBUS DEBUG加載模式用于實(shí)現(xiàn)ARM(Advanced RISC(Reduced Instruction Set Computer,精簡(jiǎn)指令集計(jì)算機(jī))Machines,高級(jí)RSIC設(shè)備)可編程芯片的程序加載,ADM Cable加載模式用于實(shí)現(xiàn)ADI廠家可編程芯片的程序加載。
[0047] 本發(fā)明實(shí)施例中,考慮到不同加載模式下,上位機(jī)對(duì)應(yīng)到連接器的引腳是不同的。
[0048] 舉例來(lái)說(shuō),以連接器為并口連接器為例,當(dāng)需要對(duì)Altera可編程器件進(jìn)行程序加 載時(shí),并口連接器的pin2引腳對(duì)應(yīng)上位機(jī)的TCK(Test Clock Input,時(shí)鐘信號(hào))信號(hào);當(dāng)需 要對(duì)ADM1065芯片進(jìn)行程序加載,并口連接器的Pin2對(duì)應(yīng)上位機(jī)的SCL(I2C總線的時(shí)鐘信 號(hào))信號(hào)。
[0049] 又舉例來(lái)說(shuō),仍以連接器1為并口連接器為例,同樣是數(shù)據(jù)信號(hào),對(duì)Altera可編程 器件進(jìn)行程序加載時(shí),上位機(jī)的TDKTest Data Input,數(shù)據(jù)輸入)信號(hào)對(duì)應(yīng)到并口連接器 的引腳Pin6,而對(duì)Lattice可編程器件進(jìn)行程序加載時(shí),上位機(jī)的TDI信號(hào)對(duì)應(yīng)到并口連接 器的Pin3。
[0050] 同理,不同加載模式下加載插座的引腳功能也不同,本發(fā)明實(shí)施例對(duì)此不再贅述。
[0051] 本發(fā)明實(shí)施例中,可編程模塊2確定撥碼開(kāi)關(guān)3的碼值對(duì)應(yīng)的加載模式之后,可以 根據(jù)該加載模式查詢預(yù)設(shè)的加載模式與引腳的映射關(guān)系,確定與該加載模式對(duì)應(yīng)的引腳, 并通過(guò)與該模式對(duì)應(yīng)的引腳實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的總線信號(hào)傳輸。
[0052]其中,與加載模式對(duì)應(yīng)的引腳可以包括連接器1的引腳、可編程模塊2與連接器1連 接側(cè)的引腳、可編程模塊2與加載插座4連接側(cè)的引腳以及加載插座的引腳。
[0053]可編程模塊2確定加載模式對(duì)應(yīng)的引腳后,可以通過(guò)所確定的可編程模塊與連接 器1連接側(cè)的引腳,從所確定的連接器1的引腳中獲取上位機(jī)傳輸來(lái)的總線信號(hào),并通過(guò)所 確定的可編程模塊2與加載插座4連接側(cè)的引腳,從所確定的加載插座4的引腳將該總線信 號(hào)傳輸給下位機(jī);或,通過(guò)所確定的可編程模塊2與加載插座4連接側(cè)的引腳,從所確定的加 載插座4的引腳中獲取下位機(jī)傳輸來(lái)的總線信號(hào),并通過(guò)所確定的可編程模塊2與連接器1 連接側(cè)的引腳,從所確定的連接器1的引腳將該總線信號(hào)傳輸給上位機(jī)。
[0054]為了實(shí)現(xiàn)上述目的,在本發(fā)明實(shí)施例中,加載器中可以預(yù)先設(shè)定加載模式與引腳 的映射關(guān)系,例如,將該加載模式與引腳的映射關(guān)系燒寫(xiě)在可編程模塊中。
[0055]舉例來(lái)說(shuō),假設(shè)連接器1為并口連接器(包括引腳pin2~9),加載插座4為2*5加載 插座(包括引腳pinl~10),可編程模塊2與并口連接器連接側(cè)的引腳包括pin4/6/8以及 pinl6~20,可編程模塊2與2*5加載插座連接側(cè)的引腳包括pin56~58以及pin61/68,則加 載模式與引腳的映射關(guān)系可以如表2所示:
[0056]表2
[0059] 值得說(shuō)明的是,對(duì)于"Program Flash"加載模式,不同于其它加載模式的是,在該 加載模式下,上位機(jī)軟件通過(guò)并口協(xié)議(LPT)實(shí)現(xiàn)與加載器的通信,所以并口協(xié)議中的8bit 都需要用到,即引腳Pin2~9。
[0060] 在該模式下,可編程模塊需要對(duì)連接器側(cè)pin2~9引腳傳來(lái)的8bit信號(hào)進(jìn)行并串 轉(zhuǎn)換,將其轉(zhuǎn)換為JATG接口所需要的信號(hào),即了0(、了13、了1?1'、了01或了00,并通過(guò)加載插座側(cè) 的相應(yīng)引腳傳輸給下位機(jī);同理,可編程模塊還需要對(duì)加載插座側(cè)引腳傳來(lái)的信號(hào)進(jìn)行串 并轉(zhuǎn)換,將其轉(zhuǎn)換為8bit信號(hào),并分別從連接器側(cè)pin2~9引腳傳輸給上位機(jī)。
[0061] 舉例來(lái)說(shuō),以TDI信號(hào)傳輸為例,可編程模塊按照并口協(xié)議從并口連接器側(cè)引腳 pin2~9采樣得到8bit信號(hào)后,通過(guò)下面的移位語(yǔ)句實(shí)現(xiàn)并轉(zhuǎn)串:
[0062] tsr〈 = EPP_DATA;-賦值給中間變量
[0063] tsr〈=,0,&tsr(7D0WNT0 1);-右移一位
[0064]七虹3〈=七840);-每右移一次,將七8^0),也就是中間變量的最低位賦給了01;
[0065] 其中,EPP_DATA是從并口連接器側(cè)引腳采樣得到的8bi t信號(hào),tsr是中間變量, tdi_t即為T(mén)DI信號(hào)。
[0066] 而對(duì)于其它加載模式,如Lattice Cable、Xilinx Cable等,可編程模塊僅需要分 別從加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并通過(guò)對(duì)應(yīng)的加載插座側(cè)引腳 傳輸給下位機(jī)即可(反之亦然)。
[0067]例如,對(duì)于"Xi 1 inx Cable"加載模式,可編程模塊從分別從并口側(cè)引腳pin2/4/3/ 8獲取上位機(jī)的總線信號(hào),并分別通過(guò)加載插座側(cè)引腳pinl/3/5/9傳輸給下位機(jī),例如,從 并口側(cè)引腳Pin2獲取到的上位機(jī)的總線信號(hào),通過(guò)加載插座側(cè)引腳pinl傳輸給下位機(jī);從 并口側(cè)引腳Pin4獲取到的上位機(jī)的總線信號(hào),通過(guò)加載插座側(cè)引腳pin3傳輸給下位機(jī)。
[0068] 請(qǐng)參見(jiàn)圖2,圖2為本發(fā)明實(shí)施例提供的另一種加載器的結(jié)構(gòu)示意圖,在圖1所示實(shí) 施例的基礎(chǔ)上,圖2所示的加載器還可以包括:電源插座5;其中:
[0069] 電源插座5,可以用于通過(guò)外接電源為可編程模塊2供電。
[0070] 具體的,在本發(fā)明實(shí)施例中,加載器的可編程模塊2屬于加載器中唯一的用電器 件。通常情況下,可以采用已有電源(如上位機(jī)的電源)為可編程模塊2供電,而不需要再外 接電源。
[0071] 例如,對(duì)于Lattice Cable加載模式,可編程模塊2可以通過(guò)連接器直接從上位機(jī) 取電。
[0072] 然而考慮到在某些特定的加載模式下可編程模塊2可能無(wú)法直接通過(guò)連接器取 電。例如,在ADM Cable加載模式下,其實(shí)現(xiàn)的是I2C( Inter-Integrated Circuit,內(nèi)部整合 電路)總線的加載,而12C總線本身沒(méi)有提供單獨(dú)的直流電源,從而導(dǎo)致可編程模塊無(wú)法直 接通過(guò)連接器從上位機(jī)取電,因此,加載器中還可以包括電源插座5,以在需要時(shí)通過(guò)外部 電源為可編程模塊2供電。
[0073] 可選地,電源插座5可以為5~12V電源插座,從而可以承受5~12V之間的直流電平 供電。
[0074]需要注意的是,在本發(fā)明實(shí)施例中,可編程模塊2也屬于可編程器件,需要加載相 應(yīng)的邏輯文件才能實(shí)現(xiàn)上述實(shí)施例中描述的功能,其中,可編程模塊2加載邏輯文件的具體 實(shí)現(xiàn)在此不做贅述。
[0075] 可選地,可編程模塊2可以包括CPLD模塊(即CPLD可編程器件)、FPGA模塊(即CPLD 可編程器件)或?qū)S肁SIC(Application Specific Integrated Circuit,專用集成電路)模 塊(即專用ASIC器件)等。
[0076] 為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面對(duì)本發(fā)明 實(shí)施例提供的加載器的工作原理進(jìn)行描述。
[0077] 請(qǐng)參見(jiàn)圖3,圖3為本發(fā)明實(shí)施例提供的另一種加載器的結(jié)構(gòu)示意圖,在該實(shí)施例 中,以連接器1為并口連接器、可編程模塊2為CPLD模塊、加載插座為2*5加載插座為例;CPLD 模塊可以包括總線映射電路和比較器;其中,CPLD模塊可以通過(guò)比較器獲取撥碼開(kāi)關(guān)的碼 值,并根據(jù)該碼值查詢預(yù)設(shè)的碼值與加載模式的對(duì)應(yīng)關(guān)系表(其格式可以如表1所示),確定 撥碼開(kāi)關(guān)的碼值對(duì)應(yīng)的加載模式,并通過(guò)總線映射電路根據(jù)加載模式將總線信號(hào)映射到對(duì) 應(yīng)的總線模式下,實(shí)現(xiàn)上位機(jī)和下位機(jī)之間的總線信號(hào)傳輸。
[0078]以實(shí)現(xiàn)Lattice CPLD可編程器件的程序加載為例,有余CPLD采用JATG(Joint Test Action Group,聯(lián)合測(cè)試工作組)總線進(jìn)行程序加載,因此,一方面,需要上位機(jī)模擬 JATG總線信號(hào),并通過(guò)并口連接器實(shí)現(xiàn)與加載器的信號(hào)傳輸。另一方面,需要將加載器的撥 碼開(kāi)關(guān)的值撥到與Lattice可編程器件對(duì)應(yīng)的碼值(假設(shè)撥碼開(kāi)關(guān)的數(shù)量為4,以表1所示的 撥碼開(kāi)關(guān)碼值與加載模式的對(duì)應(yīng)關(guān)系為例,撥碼開(kāi)關(guān)的碼值應(yīng)為"100X")。
[0079] 從而,在對(duì)Lattice CPLD可編程器件進(jìn)行程序加載的過(guò)程中,CPLD可以通過(guò)比較 器獲取當(dāng)前撥碼開(kāi)關(guān)的碼值("100X"),并根據(jù)該碼值查詢表1所示的關(guān)系表,確定與該碼值 對(duì)應(yīng)的加載模式為L(zhǎng)attice Cable加載模式,進(jìn)而,CPLD可以通過(guò)查詢表2所示的加載模式 與引腳的映射關(guān)系,從并口連接器的引腳中,找到對(duì)應(yīng)的四個(gè)JATG總線信號(hào):TDI、TDO(Test Data Output,數(shù)據(jù)輸出)、TCK和TMS(Test Mode Selection Input,模式選擇)(分別為引腳 pin2/4/3/8,對(duì)應(yīng)的CPLD模塊上的引腳為pin4/8/6/17),其中,并口連接器側(cè)引腳pin2對(duì)應(yīng) TDI,pin4對(duì)應(yīng)TD0,pin3對(duì)應(yīng)TMS,pin8對(duì)應(yīng)TDI,并將它們映射到2*5加載插座中相應(yīng)的引腳 上(分別為引腳pinl/3/5/9,對(duì)應(yīng)的CPLD模塊上的引腳為pin56~58/66),其中,加載插座側(cè) 引腳pinl對(duì)應(yīng)TCK,pin3對(duì)應(yīng)TD0,pin5對(duì)應(yīng)TMS,pin9對(duì)應(yīng)TDI,從而實(shí)現(xiàn)程序加載,如讀取目 標(biāo)設(shè)備ID、擦除、燒寫(xiě)、校驗(yàn)等。
[0080] 其中,CPLD模塊可以通過(guò)總線直接從上位機(jī)取電(若所加載的總線提供有單獨(dú)的 直流電源)或通過(guò)5~15V電源插座從外接電源取電。
[0081] 可見(jiàn),在本發(fā)明實(shí)施例提供的技術(shù)方案中,通過(guò)在加載器中設(shè)置撥碼開(kāi)關(guān),并設(shè)置 撥碼開(kāi)關(guān)的碼值與加載模式對(duì)應(yīng)關(guān)系,使得同一加載器可以通過(guò)調(diào)節(jié)撥碼開(kāi)關(guān)的碼值實(shí)現(xiàn) 多種不同的可編程器件的程序加載,與現(xiàn)有技術(shù)通過(guò)多個(gè)不同的加載器對(duì)多種不同可編程 器件進(jìn)行程序加載的實(shí)現(xiàn)相比,簡(jiǎn)化了對(duì)多種不同可編程器件進(jìn)行程序加載時(shí)的操作復(fù)雜 度,提高了可編程器件程序加載的效率,降低了生產(chǎn)成本。此外,在本發(fā)明實(shí)施例中,當(dāng)需要 增加其它加載模式時(shí),只需要修改加載器的可編程模塊中的邏輯代碼,即可實(shí)現(xiàn)升級(jí),無(wú)需 升級(jí)硬件,節(jié)約了維護(hù)成本。
[0082] 請(qǐng)參見(jiàn)圖4,圖4為本發(fā)明實(shí)施例提供的一種程序加載方法的流程示意圖,其中,該 方法可以應(yīng)用于上述實(shí)施例中所描述的加載器,如圖4所示,該方法可以包括以下步驟: [0083]步驟401、確定撥碼開(kāi)關(guān)選擇的加載模式。
[0084] 本發(fā)明實(shí)施例中,當(dāng)需要對(duì)可編程器件進(jìn)行程序加載時(shí),加載器可以獲取當(dāng)前狀 態(tài)下?lián)艽a開(kāi)關(guān)的碼值,并根據(jù)該撥碼開(kāi)關(guān)的碼值查詢預(yù)設(shè)的碼值與加載模式的對(duì)應(yīng)關(guān)系 (可以如表1所示),確定該撥碼開(kāi)關(guān)選擇的加載模式。
[0085] 步驟402、根據(jù)該加載模式確定與該加載模式對(duì)應(yīng)的連接器側(cè)引腳以及加載插座 側(cè)引腳,并從與該加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并將所述上位機(jī) 的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)。
[0086] 本發(fā)明實(shí)施例中,加載器獲取到當(dāng)確定前撥碼開(kāi)關(guān)的碼值對(duì)應(yīng)選擇的加載模式 后,可以根據(jù)該加載模式將上位機(jī)傳輸來(lái)的總線信號(hào)映射到對(duì)應(yīng)的總線模式下,并傳輸?shù)?對(duì)應(yīng)的下位機(jī)。
[0087] 具體的,加載器可以根據(jù)當(dāng)前的加載模式查詢預(yù)先存儲(chǔ)的加載模式與引腳的映射 關(guān)系,以確定與當(dāng)前的加載模式對(duì)應(yīng)的連接器側(cè)引腳以及加載插座側(cè)引腳,進(jìn)而,從與該加 載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并將所述上位機(jī)的總線信號(hào)通過(guò)與該 加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)。
[0088] 其中,加載器從連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并將該上位機(jī)的總線信號(hào) 通過(guò)對(duì)應(yīng)的加載器插座側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)的具體實(shí)現(xiàn)可以參見(jiàn)上述實(shí)施例中的 相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
[0089] 進(jìn)一步地,在本發(fā)明實(shí)施例中,在確定了與當(dāng)前的加載模式對(duì)應(yīng)的連接器側(cè)引腳 以及加載插座側(cè)引腳之后,加載器還可以從與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳獲取下位 機(jī)的總線信號(hào),并將所述下位機(jī)的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的連接器側(cè)引腳傳輸給 上位機(jī),其具體實(shí)現(xiàn)也可以參見(jiàn)上述實(shí)施例中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
[0090] 本發(fā)明實(shí)施例中,加載器的結(jié)構(gòu)以及功能可以參見(jiàn)上述圖1~圖3所示實(shí)施例中的 相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
[0091] 通過(guò)以上描述可以看出,在本發(fā)明實(shí)施例提供的技術(shù)方案中,通過(guò)在加載器中設(shè) 置撥碼開(kāi)關(guān),并設(shè)置撥碼開(kāi)關(guān)的碼值與加載模式對(duì)應(yīng)關(guān)系,使得同一加載器可以通過(guò)調(diào)節(jié) 撥碼開(kāi)關(guān)的碼值實(shí)現(xiàn)多種不同的可編程器件的程序加載,與現(xiàn)有技術(shù)通過(guò)多個(gè)不同的加載 器對(duì)多種不同可編程器件進(jìn)行程序加載的實(shí)現(xiàn)相比,簡(jiǎn)化了對(duì)多種不同可編程器件進(jìn)行程 序加載時(shí)的操作復(fù)雜度,提高了可編程器件程序加載的效率。
[0092] 本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其 它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或 者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí) 或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的 權(quán)利要求指出。
[0093]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并 且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。
【主權(quán)項(xiàng)】
1. 一種加載器,應(yīng)用于多功能可編程器件,其特征在于,所述加載器包括:連接器、可編 程模塊、撥碼開(kāi)關(guān)、加載插座;其中: 所述連接器,用于連接所述加載器與上位機(jī); 所述加載插座,用于連接所述加載器與下位機(jī); 所述撥碼開(kāi)關(guān),用于在多個(gè)加載模式中選擇一個(gè)加載模式; 所述可編程模塊,用于根據(jù)撥碼開(kāi)關(guān)選擇的加載模式,確定與該加載模式對(duì)應(yīng)的連接 器側(cè)引腳以及加載插座側(cè)引腳,并從與該加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線 信號(hào),并將所述上位機(jī)的總線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸給對(duì)應(yīng)的 下位機(jī)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述可編程模塊,還用于從與該加載模式 對(duì)應(yīng)的加載插座側(cè)引腳獲取下位機(jī)的總線信號(hào),并將所述下位機(jī)的總線信號(hào)通過(guò)與該加載 模式對(duì)應(yīng)的連接器側(cè)引腳傳輸給上位機(jī)。3. 根據(jù)權(quán)利要求1所述的加載器,其特征在于,所述可編程模塊,具體用于通過(guò)以下方 式確定撥碼開(kāi)關(guān)選擇的加載模式: 獲取當(dāng)前狀態(tài)下?lián)艽a開(kāi)關(guān)的碼值; 根據(jù)所述碼值查詢預(yù)設(shè)的碼值與加載模式的對(duì)應(yīng)關(guān)系,以確定所述撥碼開(kāi)關(guān)選擇的加 載模式。4. 根據(jù)權(quán)利要求1-3任一項(xiàng)所述的加載器,其特征在于,所述加載器還包括:電源插座; 其中: 所述電源插座,用于通過(guò)外接電源為所述可編程模塊供電。5. 根據(jù)權(quán)利要求4所述的加載器,其特征在于,所述電源插座為5~12V電源插座。6. 根據(jù)權(quán)利要求1-3任一項(xiàng)所述的加載器,其特征在于,所述可編程模塊包括復(fù)雜可編 程邏輯器件CPLD模塊、現(xiàn)場(chǎng)可編程門(mén)陣列FPGA模塊或?qū)S脤S眉呻娐稟SIC模塊。7. 根據(jù)權(quán)利要求1-3任一項(xiàng)所述的加載器,其特征在于,所述連接器包括并口連接器、 通用串行總線USB連接器、RJ45連接器或RS232連接器。8. 根據(jù)權(quán)利要求1-3任一項(xiàng)所述的加載器,其特征在于,所述加載插座為2*5加載插座。9. 一種程序加載方法,應(yīng)用于多功能可編程器件的加載器,其特征在于,所述方法包 括: 確定撥碼開(kāi)關(guān)選擇的加載模式; 根據(jù)所述加載模式確定與該加載模式對(duì)應(yīng)的連接器側(cè)引腳以及加載插座側(cè)引腳,并從 與該加載模式對(duì)應(yīng)的連接器側(cè)引腳獲取上位機(jī)的總線信號(hào),并將所述上位機(jī)的總線信號(hào)通 過(guò)與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳傳輸給對(duì)應(yīng)的下位機(jī)。10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述根據(jù)所述加載模式確定與該加載模 式對(duì)應(yīng)的連接器側(cè)引腳以及加載插座側(cè)引腳之后,還包括: 從與該加載模式對(duì)應(yīng)的加載插座側(cè)引腳獲取下位機(jī)的總線信號(hào),并將所述下位機(jī)的總 線信號(hào)通過(guò)與該加載模式對(duì)應(yīng)的連接器側(cè)引腳傳輸給上位機(jī)。11. 根據(jù)權(quán)利要求9或10所述的方法,其特征在于,所述加載器包括權(quán)利要求1-8任一項(xiàng) 所述的加載器。
【文檔編號(hào)】G06F9/445GK105867968SQ201610179997
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年3月25日
【發(fā)明人】孫立, 蔡軍, 何磊, 曹曉波
【申請(qǐng)人】杭州華三通信技術(shù)有限公司