專利名稱:一種可編程設備的在通訊中測試及編程方法
技術領域:
該發(fā)明涉及計算機通訊技術(包括USB、LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等通訊技術)、微處理器/單片機、可編程器件等技術領域。
背景技術:
早期的微處理器/單片機多采用外接程序及數據存儲器的方法以滿足不同的應用要求,隨著半導體技術的發(fā)展及用戶對微處理器/單片機應用系統(tǒng)集成度要求的提高,越來越多的微處理器/單片機逐漸向內置程序及數據存儲器的方向發(fā)展,在這些微處理器/單片機系統(tǒng)的生產過程中,用戶需要用專用編程工具先對器件編程然后才能進行安裝焊接組等加工工序,在最終產品狀態(tài),用戶無法對產品進行程序更改及升級等操作。近年來,一些微處理器/單片機開始向ISP(在系統(tǒng)編程)、IAP(在應用編程)、JTAG(邊界掃描測試及編程)功能方向發(fā)展,使帶此功能的微處理器/單片機或可編程邏輯器件產品可以實現(xiàn)最終產品、最后工序編程或最終用戶遠程測試或固件編程、升級。
但是目前具備ISP、IAP、JTAG測試或編程功能的微處理器/單片機或可編程邏輯器件的編程接口均是采用專用的簡單的通訊方式的電氣接口。例如一些8051內核的單片機通過UART串口及RS232轉換電路與PC(個人計算機)連接實現(xiàn)ISP/IAP功能;多數ARM內核的微處理器或可編程邏輯器件通過JTAG(邊界掃描測試)接口與基于PC并行口的JTAG控制器連接,實現(xiàn)芯片邊界掃描測試及編程等功能。這些接口專用于編程、調試及測試,編程電纜包含專用電路及元器件、成本較高、較復雜且需要專門設計,在用戶應用固件程序運行過程中一般不使用該接口,最終產品也很難保留該接口進行固件編程或升級。隨著計算機通訊技術的發(fā)展,這些簡單通訊方式接口已逐漸從PC端淘汰(大多數筆記本電腦已取消標準串行及并行電氣接口),逐漸被USB/LAN/CAN/1394/BLUETOOTH/WLAN/UWB/WUSB等高效、高速及易連的接口取代。并且越來越多的微處理器/單片機或可編程邏輯器件也已集成了這些高效、高速及易連的通訊方式接口以適應不同的應用需求。甚至有些通訊方式規(guī)范已經定義了程序升級的通訊協(xié)議(例如USB組織定義了USB外設固件升級規(guī)范“USB Device Firmware Upgrade Specification,Revision 1.1”),但是用戶需要開發(fā)編程工具軟件、固件程序甚至驅動程序等,協(xié)議較復雜且實現(xiàn)困難。目前也只局限于固件升級,沒有整合仿真、調試、測試、固件編程、升級等通信功能及用戶應用通信功能,還沒有具體的簡單易行的系統(tǒng)實施方法。本說明書將以內置USB/LAN/CAN/1394/BLUETOOTH/WLAN/UWB/WUSB等通訊接口的微處理器/單片機為例,詳述如何通過微處理器/單片機或可編程邏輯器件的這些通訊接口在已有的微處理器/單片機或可編程邏輯器件仿真、調試、測試、固件編程方法基礎上實現(xiàn)在通信中(ICP)仿真、調試、測試、編程通信功能及用戶應用通信功能。
發(fā)明內容
本發(fā)明可以利用現(xiàn)有PC端工具軟件及外設驅動程序實現(xiàn)單一通訊接口的仿真、調試、測試、編程通信及應用通信的多功能,本說明書著重于微處理器/單片機通過USB接口實現(xiàn)在通信中(ICP)仿真、調試、測試、編程的方法,該方法也適用于帶LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等通訊方式接口的微處理器/單片機或可編程邏輯器件。
本發(fā)明的實現(xiàn)方法為帶USB接口的微處理器/單片機或可編程邏輯器件通過USB電纜與PC連接時,其默認狀態(tài)是一個USB虛擬串口/并口外設(Device)或其它可編程類外設(例如USB-JTAG適配器),用戶通過現(xiàn)有的PC端仿真、調試、測試、編程等工具軟件及USB虛擬串口/并口或可編程類外設驅動程序實現(xiàn)對微處理器/單片機或可編程邏輯器件的仿真、調試、測試、固件編程操作,完成仿真、調試、測試、編程后用戶可以通過PC端的編程工具軟件把微處理器/單片機或可編程邏輯器件設置為應用狀態(tài),然后微處理器/單片機或可編程邏輯器件即工作于應用狀態(tài)并運行用戶自己設計的應用固件程序,此時微處理器/單片機或可編程邏輯器件作為一個用戶設計的應用USB外設按照用戶的設計要求通過USB接口及相應的應用驅動程序實現(xiàn)與PC或其它設備的連接通信。
當微處理器/單片機或可編程邏輯器件在應用狀態(tài)時,如果用戶需要對微處理器/單片機或可編程邏輯器件進行仿真、調試、測試、編程或固件升級,用戶可以通過硬件設置(例如通過外設的開關、按鍵或固件命令設置)、或通過PC端的軟件工具用特殊命令(例如用USB調試工具軟件發(fā)送特殊命令至該外設,用戶也可自己開發(fā)一個軟件工具實現(xiàn)該功能)把微處理器/單片機或可編程邏輯器件設置回默認狀態(tài),然后再實現(xiàn)在返回的默認狀態(tài)通過USB接口對微處理器/單片機或可編程邏輯器件進行仿真、調試、測試、編程或固件升級的操作。這樣就實現(xiàn)了單一接口的仿真、調試、測試、編程或固件升級通信及應用通信的多功能,并且PC端的仿真、調試、測試、編程工具軟件及USB虛擬串口/并口或可編程類外設驅動程序均可采用已經成熟的現(xiàn)有軟件及驅動程序。極大地降低了整個系統(tǒng)地實現(xiàn)技術難度及經濟成本。
如果本發(fā)明被應用于微處理器/單片機或可編程邏輯器件產品中,產品研發(fā)或生產的用戶就不需要為產品設計專用的仿真、調試、測試及編程接口及工具,也不需要開發(fā)專用的仿真、調試、編程軟件及驅動程序,只需利用產品本身的應用通訊接口(例如USB接口)及已成熟的仿真、調試、測試、編程工具軟件及驅動,可以在最終產品出廠前才對產品進行編程,還可及時根據最終用戶的不同要求裝載不同的應用固件程序,甚至最終用戶也可在此基礎上進行固件程序升級或進行二次開發(fā)并運行最終用戶自己設計的固件程序。本發(fā)明中涉及USB接口的部分也適用于LAN/CAN/1394/BLUETOOTH/WLAN/UWB/WUSB等其它通訊方式接口。為了能表達清楚本發(fā)明的內容,本說明書以USB通訊方式為例詳細說明本發(fā)明的內容。
圖1本發(fā)明的第一實施方案系統(tǒng)結構框圖。
圖2本發(fā)明的第一實施方案的引導程序操作流程圖。
圖3本發(fā)明的第一實施方案在默認狀態(tài)的程序操作流程圖。
圖4本發(fā)明的第一實施方案在應用狀態(tài)的程序操作流程圖。
圖5本發(fā)明的第二實施方案系統(tǒng)結構框圖。
圖6圖6本發(fā)明的第二實施方案在應用狀態(tài)的系統(tǒng)結構及操作流程圖。
圖7本發(fā)明的其它通訊方式實施方案系統(tǒng)結構框圖。
具體實施例方式
第一實施方案在圖1中,該USB接口的微處理器/單片機包含USB控制器、程序存儲器、數據存儲器、微處理器內核、外圍接口電路及電源時鐘等六大部分。
如圖2,該微處理器/單片機復位后程序指針首先指向引導程序存儲區(qū),并運行引導程序存儲區(qū)內的引導程序,該程序管理整個微處理器/單片機系統(tǒng)內的硬件、固件程序的運行,如果微處理器/單片機的外圍硬件設置條件或軟件設置條件滿足進入默認狀態(tài),則程序指針指向默認程序存儲區(qū),并運行默認存儲區(qū)內的默認程序,反之則程序指針指向用戶應用程序存儲區(qū),并運行用戶應用存儲區(qū)內的應用程序。如圖3,如果微處理器/單片機被設置為默認狀態(tài),當通過USB電纜與PC連接時,微處理器/單片機運行默認程序并作為一個虛擬串口/并口或可編程外設完成與PC主機的枚舉,這時,如果用戶運行PC端仿真、調試、測試或編程工具軟件,就可以通過工具軟件對微處理器/單片機進行仿真、調試、測試、編程或狀態(tài)設置操作。一旦微處理器/單片機狀態(tài)被設置為應用狀態(tài),則微處理器/單片機程序指針指向用戶應用程序存儲區(qū)并進入用戶應用狀態(tài)。
如圖4,如果微處理器/單片機被設置為用戶應用狀態(tài),當通過USB電纜與PC連接時,微處理器/單片機運行用戶應用程序并作為一個用戶設計定義的USB外設完成與PC主機的枚舉,這時,該設備可以按照用戶的設計要求與PC端的應用軟件進行數據傳輸。當用戶需要對該設備固件重新編程或升級時,仍然可以可以用硬件設置(例如通過外設的開關、按鍵或固件命令設置)、或通過PC端的軟件工具用特殊命令(可以用USB調試工具軟件發(fā)送特殊命令至該外設、用戶也可自己開發(fā)一個軟件工具實現(xiàn)該功能)把微處理器/單片機設置回默認狀態(tài)。一旦微處理器/單片機狀態(tài)被設置為默認狀態(tài),則微處理器/單片機程序指針指向默認程序存儲區(qū)并進入默認狀態(tài)。這樣用戶就又可以對微處理器/單片機在默認狀態(tài)進行編程操作了。目前許多51內核的單片機都具有通過串口ISP/IAP的功能,這里以帶ISP/IAP功能的單片機為例詳細說明如何實施該發(fā)明。但并不表明本發(fā)明只適用于51內核的單片機或USB通訊方式,該發(fā)明也適用于其它類型的微處理器/單片機(例如ARM7、ARM9等內核的微處理器)及LAN/CAN/1394/BLUETOOTH/WLAN/UWB等其它通訊方式。
51內核單片機連接USB控制器在默認狀態(tài)運行默認程序作為一個USB虛擬串口設備實現(xiàn)與PC系統(tǒng)的邏輯連接。PC端的編程工具軟件(可以采用已有的編程工具軟件)通過虛擬串口實現(xiàn)對該單片機的編程操作,完成編程后,用戶可以設置把單片機的狀態(tài)標志改為應用狀態(tài)。然后單片機會退出默認狀態(tài)而進入應用狀態(tài),斷開USB虛擬串口外設與PC主機的邏輯連接,重新作為一個用戶設計的應用外設實現(xiàn)與PC主機的邏輯連接。在應用狀態(tài),如果硬件設置條件滿足(例如通過開關、按鍵或應用固件程序命令設置)、或軟件設置條件滿足(可以用USB調試工具軟件發(fā)送特殊命令至該外設、用戶也可自己開發(fā)一個軟件工具實現(xiàn)該功能)單片機的狀態(tài)標志會被改變,單片機會斷開應用外設與PC主機的邏輯連接,再進入默認狀態(tài)作為虛擬串口與PC主機邏輯連接并實現(xiàn)在該狀態(tài)下的固件編程。
第二實施方案如圖5,該實施方案系統(tǒng)結構框圖與方案一類似,在默認狀態(tài)時,系統(tǒng)操作流程與方案一相同;唯一不同是在應用狀態(tài)時微處理器/單片機既運行默認固件程序也運行應用固件程序,PC端同時連接在一個邏輯USBHUB下的兩個邏輯外設,一個是默認虛擬串口/并口或可編程外設,另一個是應用外設。如圖6所示。在PC端的用戶應用軟件操作應用邏輯外設時,PC端的仿真、調試、測試及編程工具軟件也可以操作默認的虛擬串口/并口或可編程外設。這樣本方案就可以實現(xiàn)系統(tǒng)直接在應用狀態(tài)的仿真、調試、測試及編程操作。
第三實施方案如圖7,該實施方案系統(tǒng)結構框圖與方案一類似,只是把方案1中的USB控制器及USB連接替換為LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等通訊控制器及相應連接。該方案系統(tǒng)操作流程與方案一也相似(如圖2、3、4),只需把USB置換為對應的其它通訊方式;實施該方案仍然可以實現(xiàn)該發(fā)明的所有功能。
權利要求
1.一種可編程設備,該可編程設備包括程序存儲器、微處理器、通訊控制器等部分。其特征是該可編程設備可以是單個芯片、也可以多個芯片及元器件的組合、還可以是一個芯片或一個產品中的一部分;該可編程設備具有兩種狀態(tài),在默認狀態(tài)時,微處理器運行默認程序,控制和管理通訊控制器的通訊接口與其它設備連接通信,并接收其它設備的指令或數據對該可編程設備進行測試、調試或編程操作;在應用狀態(tài)時,微處理器運行應用程序或同時運行應用程序及默認程序,按具體應用要求控制和管理通訊控制器的通訊接口與其它設備連接通信并接收其它設備的指令或數據,實現(xiàn)具體的應用通信功能。
2.根據權利要求1所述的程序存儲器,其特征在于其至少包括默認程序存儲區(qū)及應用程序存儲區(qū),或者包括分開的默認程序存儲器及應用程序存儲器;應用程序存儲區(qū)或應用程序存儲器可以被可編程設備自己編程;微處理器運行默認程序存儲區(qū)或默認程序存儲器的程序可以對應用程序存儲區(qū)或應用程序存儲器甚至整個程序存儲器進行編程。
3.根據權利要求1所述的通訊控制器,其特征在于按照一定的通訊規(guī)范及協(xié)議實現(xiàn)設備與設備之間的連接通信,該通訊控制器的通訊方式可以是USB、LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等其中的一種,也可以是其它通訊方式。
4.根據權利要求1所述的微處理器,其特征在于其可以運行程序存儲器的程序實現(xiàn)對與其連接的部件的邏輯控制,其可以是微處理器、微控制器、單片機、DSP或FPGA/CPLD等可編程邏輯器件。
5.根據權利要求1所述的默認程序,其特征在于其可以被固化于程序存儲器之中,不需要通過通訊接口在通信過程中對其編程或更改其內容;微處理器運行該程序可以控制和管理通訊控制器實施默認的相關通訊協(xié)議并實現(xiàn)默認狀態(tài)的仿真、調試、測試或編程中的部分或全部功能。
6.根據權利要求1所述的應用程序,其特征在于其所在存儲區(qū)域及內容可以在通信過程中被更改或編程,微處理器運行該程序可以控制和管理通訊控制器實施應用通訊協(xié)議并實現(xiàn)應用狀態(tài)的所有功能。
7.根據權利要求1所述的一種可編程設備,其在通訊中測試或編程的方法,該方法的特征是在可編程設備中設定一個狀態(tài)標志,在可編程設備生產、測試或程序存儲器被擦除等初始條件下,首先固化默認程序于特定存儲區(qū)域并設定可編程設備處于默認狀態(tài),當該可編程設備通過其通訊控制器與其它設備連接時,該可編程設備運行其默認程序并按照默認的測試或編程的通訊協(xié)議與相連的設備進行數據通信。該可編程設備的狀態(tài)標志可以被與其連接的設備通過命令設置改變。一旦可編程設備的狀態(tài)標志被設定為應用狀態(tài),該可編程設備即運行其應用程序或同時運行應用程序及默認程序并按照相應通訊協(xié)議與相連的設備進行數據通信。
全文摘要
該發(fā)明涉及計算機通訊技術、微處理器/單片機及可編程器件等技術領域。本發(fā)明可以實現(xiàn)單一通訊接口的仿真、測試、調試或編程通信及應用通信的多功能。該可編程設備包括程序存儲器、微處理器、通訊控制器等部分,其具有兩種狀態(tài),在默認狀態(tài)時,微處理器運行默認程序,控制和管理通訊控制器與其它設備連接并接收其它設備的指令或數據對該設備進行仿真、測試、調試或編程操作;在應用狀態(tài)時,微處理器運行應用程序或同時運行應用程序及默認程序,按具體應用要求控制和管理通訊控制器與其它設備連接并接收其它設備的指令或數據,實現(xiàn)具體的應用通信功能。
文檔編號G06F11/00GK1920806SQ200510021509
公開日2007年2月28日 申請日期2005年8月23日 優(yōu)先權日2005年8月23日
發(fā)明者郭陽斌, 郭陽勇 申請人:成都聯(lián)星微電子有限公司, 郭陽斌, 郭陽勇