專利名稱:復(fù)雜可編程邏輯器件的軟件加載方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種復(fù)雜可編程邏輯器件的軟件加載方法與裝置。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,特別是高帶寬高速度的通信技術(shù)的出現(xiàn),對通信產(chǎn) 品的電路設(shè)計要求越來越高,通信產(chǎn)品承載的功能越來越多,對應(yīng)的,其集成
度也越來越高。復(fù)雜可編程邏輯器件(CPLD, Complex Programmable Logic Device)是一款集成度較高的控制器件,其支持的控制功能相對較多,再加上 技術(shù)成熟及成本低廉,目前,產(chǎn)品的單板電路設(shè)計中,CPLD的使用越來越多。 傳統(tǒng)的CPLD的可執(zhí)行代碼是通過各個芯片廠家提供的專用加載電纜進行力口載 的,這樣,在對CPLD進行維護時, 一般需將CPLD返廠,由廠家通過專用的 電纜及專用設(shè)備對其進行維護,這無疑增加了維護了成本,加大了維護CPLD 的難度,對于CPLD用戶而言, 一旦CPLD的軟件需要更新或維護,將會非常 不便。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種復(fù)雜可編程邏輯器件的軟件加 載方法與裝置,能方便CPLD軟件的更新及維護。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的 一種復(fù)雜可編程邏輯器件的軟件加載方法,包括 對待加載的軟件進行解析、譯碼,得到二進制碼;
將所述二進制碼轉(zhuǎn)換為模擬信號,并將所述模擬信號輸出至所述復(fù)雜可編 程邏輯器件;以及
所述復(fù)雜可編程邏輯器件根據(jù)所述模擬信號在存儲器中寫入對應(yīng)的二進制碼,直至加載完畢。
優(yōu)選地,所述復(fù)雜可編程邏輯器件通過測試時鐘輸入TCK、測試模式選擇 輸入TMS和測試數(shù)據(jù)輸入TDI管腳接收所述模擬信號,其中,TCK管腳接收 時鐘信號,TMS管腳接收狀態(tài)切換信號,TDI管腳接收所述模擬信號。
優(yōu)選地,所述方法還包括所述復(fù)雜可編程邏輯器件寫入二進制碼時,回 饋寫入成功或失敗的信息,寫入失敗時重新寫入。
優(yōu)選地,所述復(fù)雜可編程邏輯器件通過TDO管腳回饋寫入成功或失敗的信
臺
優(yōu)選地,所述^^莫擬信號通過鎖存元件輸出至所述復(fù)雜可編程邏輯器件。 優(yōu)選地,所述模擬信號為高、低電平脈沖形成的信號。
一種復(fù)雜可編程邏輯器件的軟件加載裝置,包括
解析及譯碼單元,用于對待加載的軟件進行解析、譯碼,得到二進制碼;
數(shù)模轉(zhuǎn)換單元,用于將所述二進制碼轉(zhuǎn)換為模擬信號;
輸出單元,用于將所述模擬信號輸出至所述復(fù)雜可編程邏輯器件;以及
寫入單元,根據(jù)所述模擬信號在復(fù)雜可編程邏輯器件的存儲器中寫入對應(yīng) 的二進制碼,直至加載完畢。
優(yōu)選地,所述裝置還包括鎖存元件,用于對輸出至所述復(fù)雜可編程邏輯器 件的模擬信號進行鎖存。
優(yōu)選地,所述復(fù)雜可編程邏輯器件通過測試時鐘輸入TCK、測試一莫式選擇 輸入TMS和測試數(shù)據(jù)輸入TDI管腳接收所述模擬信號,其中,TCK管腳接收 時鐘信號,TMS管腳接收狀態(tài)切換信號,TDI管腳接收所述模擬信號。
優(yōu)選地,所述裝置還包括回饋單元,用于在所述復(fù)雜可編程邏輯器件寫入 二進制碼時,回饋寫入成功或失敗的信息,寫入失敗時重新寫入,其中,所述
本發(fā)明通過對待加載到CPLD的軟件進行解析、譯碼,得到二進制的編碼 指令,再將二進制的編碼指令轉(zhuǎn)換為高、低電平的脈沖信號,直接向CPLD輸 出脈沖信號,CPLD根據(jù)脈沖信號在自身的存儲器中寫入對應(yīng)的二進制碼指令,從而完成軟件的加載。具體地,通過CPLD的TCK、 TMS及TDI管腳接收待 加載軟件的脈沖信號。本發(fā)明加載CPLD的軟件時,無需專門的設(shè)備,支持CPLD 的在線加載。
圖1為本發(fā)明實施例的復(fù)雜可編程邏輯器件的軟件加載方法的流程示意
圖2為本發(fā)明實施例的復(fù)雜可編程邏輯器件的軟件加載裝置的結(jié)構(gòu)示意
圖3為本發(fā)明實施例的復(fù)雜可編程邏輯器件的軟件加載裝置的另一結(jié)構(gòu)示 意圖。
具體實施例方式
本發(fā)明的基本思想是通過對待加載到CPLD的軟件進行解析、譯碼,得 到二進制的編碼指令,再將二進制的編碼指令轉(zhuǎn)換為高、低電平的脈沖信號, 直接向CPLD輸出脈沖信號,CPLD根據(jù)脈沖信號在自身的存儲器中寫入對應(yīng) 的二進制碼指令,從而完成軟件的加載,支持了 CPLD的在線加載。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下舉實施例并參照 附圖,對本發(fā)明進一步詳細說明。
圖1為本發(fā)明實施例的復(fù)雜可編程邏輯器件的軟件加載方法的流程示意圖 如圖1所示,本發(fā)明CPLD的軟件加載方法包括
步驟S10:初始化系統(tǒng)。
本發(fā)明通過微處理器實現(xiàn)對CPLD的軟件加載,因此,需事先將微處理器 與CPLD進行連接。在實現(xiàn)對CPLD的軟件加載之前,初始化微處理器及CPLD, 以完成軟件加載的準備工作。
步驟S20:判斷目標軟件的類型。
確定加載到CPLD軟件即待加載的目標代碼的類型,本發(fā)明主要針對ALTERA公司的CPLD,目標代碼文件為.JAM、 .JBC、 .SVF格式中的一種,因 此,對于輸入到微處理器的目標代碼,根據(jù)文件屬性確定其類型。
步驟S30至步驟S50:根據(jù)所確定的目標代碼文件的類型,分別對其進行 解析、譯碼,得到二進制的編碼指令。
確定目標代碼文件的類型后,根據(jù)該目標代碼的編碼規(guī)則,對所述目標代 碼進行解析、譯碼,以得到所述目標代碼的二進制編碼。本領(lǐng)域技術(shù)人員應(yīng)當(dāng) 理解,上述三種類型的目標代碼文件的編碼指令相對較少,根據(jù)目標代碼文件 的編碼規(guī)則進行解析及譯碼是容易實現(xiàn)的。
步驟S60:將所i奪碼后的二進制編碼映射到CPLD的TCK、 TMS及TDI 管腳。
對于譯碼后的二進制編碼以高、低電平的脈沖信號進行輸出,即將二進制 碼進行數(shù)模轉(zhuǎn)換,以模擬信號的形式輸出至CPLD的TCK、 TMS及TDI管腳。 具體地,輸出至TCK管腳的為時鐘信號,從而向CPLD提供了一個獨立的、基 本的時鐘信號,聯(lián)合測試行動小組(JTAG, Joint Test Action Group )模式下的 所有操作都是通過這個時鐘信號來驅(qū)動的。輸出至TMS管腳的為狀態(tài)切換信 號,通過TMS信號,可以控制JTAG模式在不同的狀態(tài)間相互轉(zhuǎn)換。TMS信 號在TCK的上升沿有效。輸出至TDI管腳接收為模擬信號,要輸入到CPLD 存儲器的數(shù)據(jù)都是在TCK的驅(qū)動下,通過TDI —位一位串行輸入的。 步驟S70: CPLD通過TDO管腳向微處理器反饋TDI的接收狀況。 CPLD通過TDI管腳完成脈沖信號的接收,當(dāng)出現(xiàn)信號接收錯誤時,通過 TDO管腳完成接收成功或失敗的回饋,并重新進行信號輸入,直到正確接收到 信號。步驟S70并非本發(fā)明的必要步驟,即使沒有該步驟,同樣可實現(xiàn)發(fā)明目 的。
步驟S80: CPLD的軟件加載完成。
輸出至CPLD的脈沖信號發(fā)送完畢,CPLD完全正確接收到相應(yīng)信號后, 所述的加載流程結(jié)束。
在步驟S60,為使CPLD能更好地接收脈沖信號,通過鎖存器將脈沖信號輸出至TCK、 TMS及TDI,這樣,脈沖信號可保持一段時間,在確定CPLD正 確接收時,再輸入下一個脈沖信號。本發(fā)明支持多個CPLD的軟件加載。這樣, 當(dāng)任意一個CPLD未正確接收脈沖信號時,鎖存器將脈沖信號可保持一段時間。
在步驟S70,為使CPLD能更好地反饋所接收信號的情況,通過緩沖器向 微處理器輸出回饋信號,這樣,方便微處理器完成對回饋信號的判斷。即使有 多個CPLD同時進行軟件加載,也不會造成微處理器的誤判。
圖2為本發(fā)明實施例的復(fù)雜可編程邏輯器件的軟件加載裝置的結(jié)構(gòu)示意 圖,如圖2所示,本發(fā)明復(fù)雜可編程邏輯器件的軟件加載裝置包括解析及譯 碼單元200、數(shù)才莫轉(zhuǎn)換單元201、輸出單元202、寫入單元203,其中,解析及 譯碼單元200用于對待加載的軟件進行解析、譯碼,得到二進制碼,由于待加 載的軟件可能有多個類型,因此需確定加載到CPLD軟件即待加載的目標代碼 的類型,本發(fā)明主要針對的是ALTERA公司CPLD,其目標代碼文件 為.JAM、 .JBC、 .SVF格式中的一種,因此,對于輸入到解析及i奪碼單元200 的目標代碼,根據(jù)文件屬性即可確定其類型。然后再根據(jù)該目標代碼的編碼規(guī) 則,對所述目標代碼進行解析、譯碼,以得到所述目標代碼的二進制編碼。數(shù) 模轉(zhuǎn)換單元201用于將所述二進制碼轉(zhuǎn)換為i^莫擬信號,即進行數(shù)^t轉(zhuǎn)換,轉(zhuǎn)換 為高、低電平的脈沖信號。輸出單元202用于將所述模擬信號輸出至CPLD, 具體地,將所述模擬信號輸出至CPLD的TCK、 TMS及TDI管腳。寫入單元 203根據(jù)所述模擬信號在CPLD的存儲器中寫入對應(yīng)的二進制碼,直至軟件加 載完畢。
圖3為本發(fā)明實施例的復(fù)雜可編程邏輯器件的軟件加載裝置的另一結(jié)構(gòu)示 意圖,如圖3所示,為使本發(fā)明的裝置輸出的脈沖信號更好地被CPLD接收, 還包括鎖存元件204,用于對輸出至CPLD的模擬信號進行鎖存。為使本發(fā)明 的裝置回饋CPLD 4妄收信號的狀態(tài),還包括回饋單元205,用于在CPLD寫入 二進制碼時,回饋寫入成功或失敗的信息,寫入失敗時重新寫入,其中,CPLD 通過TDO管腳回饋寫入成功或失敗的信息。通過鎖存器將脈沖信號輸出至 TCK、 TMS及TDI,這樣,脈沖信號可保持一段時間,在確定CPLD正確接收時,再輸入下一個脈沖信號。通過緩沖器向輸出單元202輸出回饋信號,方便 了本發(fā)明信號輸出單元完成對回饋信號的判斷。
本發(fā)明的裝置支持多個CPLD的軟件加載,即支持CPLD軟件加載的批處理。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明裝置的各處理單元可通過軟件或相應(yīng)的 硬件電路而實現(xiàn),關(guān)于各單元的功能,可參照圖1中的處理流程來理解。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1、一種復(fù)雜可編程邏輯器件的軟件加載方法,其特征在于,包括對待加載的軟件進行解析、譯碼,得到二進制碼;將所述二進制碼轉(zhuǎn)換為模擬信號,并將所述模擬信號輸出至所述復(fù)雜可編程邏輯器件;以及所述復(fù)雜可編程邏輯器件根據(jù)所述模擬信號在存儲器中寫入對應(yīng)的二進制碼,直至加載完畢。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述復(fù)雜可編程邏輯器件通 過測試時鐘輸入TCK、測試模式選擇輸入TMS和測試數(shù)據(jù)輸入TDI管腳接收 所述模擬信號,其中,TCK管腳接收時鐘信號,TMS管腳接收狀態(tài)切換信號, TDI管腳接收所述模擬信號。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括所述復(fù)雜 可編程邏輯器件寫入二進制碼時,回饋寫入成功或失敗的信息,寫入失敗時重 新寫入。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述復(fù)雜可編程邏輯器件通 過TDO管腳回饋寫入成功或失敗的信息。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述模擬信號通過鎖存元件 輸出至所述復(fù)雜可編程邏輯器件。
6、 根據(jù)權(quán)利要求1至5中任一項所述的方法,其特征在于,所述模擬信號 為高、低電平脈沖形成的信號。
7、 一種復(fù)雜可編程邏輯器件的軟件加載裝置,其特征在于,包括 解析及譯碼單元,用于對待加載的軟件進行解析、譯碼,得到二進制碼; 數(shù)模轉(zhuǎn)換單元,用于將所述二進制碼轉(zhuǎn)換為模擬信號;輸出單元,用于將所述模擬信號輸出至所述復(fù)雜可編程邏輯器件;以及 寫入單元,根據(jù)所述模擬信號在復(fù)雜可編程邏輯器件的存儲器中寫入對應(yīng) 的二進制碼,直至加載完畢。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括鎖存元件, 用于對輸出至所述復(fù)雜可編程邏輯器件的模擬信號進行鎖存。
9、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述復(fù)雜可編程邏輯器件通 過測試時鐘輸入TCK、測試模式選擇輸入TMS和測試數(shù)據(jù)輸入TDI管腳接收 所述模擬信號,其中,TCK管腳接收時鐘信號,TMS管腳接收狀態(tài)切換信號, TDI管腳接收所述模擬信號。
10、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括回饋單元, 用于在所述復(fù)雜可編程邏輯器件寫入二進制碼時,回饋寫入成功或失敗的信息, 寫入失敗時重新寫入,其中,所述復(fù)雜可編程邏輯器件通過TDO管腳回饋寫入 成功或失敗的信息。
全文摘要
本發(fā)明公開了一種復(fù)雜可編程邏輯器件的軟件加載方法,為解決目前CPLD軟件加載不便而提出,包括對待加載的軟件進行解析、譯碼,得到二進制碼;將所述二進制碼轉(zhuǎn)換為模擬信號,并將所述模擬信號輸出至所述復(fù)雜可編程邏輯器件;所述復(fù)雜可編程邏輯器件根據(jù)所述模擬信號在存儲器中寫入對應(yīng)的二進制碼,直至加載完畢。本發(fā)明同時提供了一種復(fù)雜可編程邏輯器件的軟件加載裝置。本發(fā)明加載CPLD的軟件時,無需專門的設(shè)備,支持CPLD的在線加載。
文檔編號G06F9/445GK101425019SQ200810239959
公開日2009年5月6日 申請日期2008年12月16日 優(yōu)先權(quán)日2008年12月16日
發(fā)明者洋 歐 申請人:中興通訊股份有限公司