本發(fā)明屬于電路技術(shù)領(lǐng)域,尤其涉及一種用于微控制器的調(diào)試器。
背景技術(shù):
微控制器(microcontrollerunit,mcu)的調(diào)試器是用戶在開發(fā)基于mcu的應(yīng)用程序時用于調(diào)試應(yīng)用程序的工具,mcu調(diào)試器能夠使程序按照用戶的意愿來運行,如單步運行、全速運行或在指定某行指令暫停運行(斷點),也可以獲取mcu在運行時的相關(guān)信息(如狀態(tài)寄存器信息、程序指針等)并上傳至上位機(jī)供用戶查看。
現(xiàn)有mcu調(diào)試器的實現(xiàn)方案有兩種,一種是將調(diào)試接口控制模塊集成到mcu芯片內(nèi)部,調(diào)試接口控制模塊根據(jù)上位機(jī)下發(fā)的調(diào)試指令對mcu進(jìn)行控制,或?qū)cu運行的實時狀態(tài)返回給上位機(jī),然而將調(diào)試接口控制模塊集成到mcu芯片內(nèi)部,增加了mcu芯片的面積和成本。另一種實現(xiàn)方案是采用現(xiàn)場可編程門陣列(field-programmablegatearray,fpga)實現(xiàn)調(diào)試器功能,該方案無需增加mcu芯片的面積和成本,但由于fpga僅能執(zhí)行數(shù)字邏輯,因此采用fpga只能調(diào)試mcu中的數(shù)字功能模塊,而無法調(diào)試mcu中的模擬功能模塊。因此,現(xiàn)有的mcu調(diào)試器存在無法在不增加mcu芯片面積的前提下對mcu芯片中的數(shù)字功能模塊和模擬功能模塊進(jìn)行調(diào)試的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種用于微控制器的調(diào)試器,旨在解決現(xiàn)有的mcu調(diào)試器所存在的無法在不增加mcu芯片面積的前提下對mcu芯片中的數(shù)字功能模塊和模擬功能模塊進(jìn)行調(diào)試的問題。
本發(fā)明是這樣實現(xiàn)的,一種用于微控制器的調(diào)試器,包括調(diào)試接口控制模塊,所述調(diào)試接口控制模塊用于接收上位機(jī)所發(fā)送的調(diào)試指令,所述調(diào)試器還包括數(shù)字調(diào)試模塊和通信控制模塊。
所述數(shù)字調(diào)試模塊與所述微控制器的數(shù)字功能模塊的結(jié)構(gòu)相同,對數(shù)字調(diào)試模塊進(jìn)行調(diào)試所得到的調(diào)試結(jié)果與對所述微控制器的數(shù)字功能模塊進(jìn)行調(diào)試所得到的調(diào)試結(jié)果相同;所述調(diào)試接口控制模塊的控制端與所述數(shù)字調(diào)試模塊的控制端相連接,所述數(shù)字調(diào)試模塊的數(shù)據(jù)端與所述通信控制模塊的數(shù)據(jù)端相連接,所述數(shù)字調(diào)試模塊的第一功能輸入輸出端接入第一調(diào)試信號,所述通信控制模塊的通信端與所述微控制器的模擬功能模塊的輸入輸出端相連接。
當(dāng)對所述微控制器的數(shù)字功能模塊進(jìn)行調(diào)試時,所述調(diào)試接口控制模塊根據(jù)所述調(diào)試指令輸出第一控制信號至所述數(shù)字調(diào)試模塊;所述數(shù)字調(diào)試模塊根據(jù)所述第一控制信號執(zhí)行參數(shù)配置操作,并根據(jù)所述第一調(diào)試信號執(zhí)行功能調(diào)試操作,且由所述數(shù)字調(diào)試模塊的第二功能輸入輸出端輸出第一調(diào)試結(jié)果信號。
當(dāng)對所述微控制器的模擬功能模塊進(jìn)行調(diào)試時,所述調(diào)試接口控制模塊根據(jù)所述調(diào)試指令輸出第二控制信號至所述數(shù)字調(diào)試模塊,所述數(shù)字調(diào)試模塊經(jīng)所述通信控制模塊轉(zhuǎn)發(fā)所述第二控制信號至所述微控制器的模擬功能模塊,所述模擬功能模塊根據(jù)所述第二控制信號執(zhí)行參數(shù)配置操作,并根據(jù)所述模擬功能模塊的第一功能輸入輸出端所輸入的第二調(diào)試信號執(zhí)行功能調(diào)試操作,且由所述模擬功能模塊的第二功能輸入輸出端輸出第二調(diào)試結(jié)果信號。
所述數(shù)字調(diào)試模塊包括控制單元、數(shù)字外設(shè)單元及接口單元。
所述控制單元的控制端為所述數(shù)字調(diào)試模塊的控制端,所述控制單元的信號端與所述數(shù)字外設(shè)單元的信號端相連接,所述數(shù)字外設(shè)單元的第一輸入輸出端和第二輸入輸出端分別與所述接口單元的第一連接端和第二連接端相連接,所述數(shù)字外設(shè)單元的數(shù)據(jù)端為所述數(shù)字調(diào)試模塊的數(shù)據(jù)端,所述接口單元的第一功能輸入輸出端和第二功能輸入輸出端分別為所述數(shù)字調(diào)試模塊的第一功能輸入輸出端和第二功能輸入輸出端。
所述調(diào)試器還包括接口復(fù)用單元。
所述接口復(fù)用單元的多個復(fù)用端分別與所述接口單元的第一輸入輸出端、所述接口單元的第二輸入輸出端、所述模擬功能模塊的第一功能輸入輸出端及所述模擬功能模塊的第二功能輸入輸出端相連接,所述接口復(fù)用單元的控制端與所述數(shù)字外設(shè)單元的控制端相連接;
所述接口復(fù)用單元根據(jù)所述數(shù)字外設(shè)單元輸出的控制信號將所述接口單元的第一輸入輸出端和第二輸入輸出端分別選定為所述接口復(fù)用單元的第一輸入輸出端和第二輸入輸出端,或者所述接口復(fù)用單元根據(jù)所述數(shù)字外設(shè)單元輸出的控制信號將所述模擬功能模塊的第一功能輸入輸出端和第二功能輸入輸出端分別選定為所述復(fù)用接口單元的第一輸入輸出端和第二輸入輸出端。
所述調(diào)試接口控制模塊、所述數(shù)字調(diào)試模塊及所述通信控制模塊基于現(xiàn)場可編程門陣列器件實現(xiàn)。
所述接口復(fù)用單元為多路選擇器。
所述接口復(fù)用單元包括多路選擇器、第一限流電阻、第二限流電阻、上拉電阻、下拉電阻、第一開關(guān)、第二開關(guān);
所述多路選擇器的多個復(fù)用端、第一輸入輸出端及第二輸入輸出端分別為所述接口復(fù)用單元的多個復(fù)用端、第一輸入輸出端及第二輸入輸出端,所述多路選擇器的控制端、所述第一開關(guān)的控制端及所述第二開關(guān)的控制端共接形成所述接口復(fù)用單元的控制端,所述第一限流電阻的第一端與所述接口單元的第一輸入輸出端相連接,所述第二限流電阻的第一端與所述接口單元的第二輸入輸出端相連接,所述第一限流電阻的第二端、所述第二限流電阻的第二端、所述第一開關(guān)的第一端及所述第二開關(guān)的第一端共接,所述第一開關(guān)的第二端通過所述上拉電阻與電源相連接,所述第二開關(guān)的第二端通過所述下拉電阻與地相連接。
在本發(fā)明中,調(diào)試器包括調(diào)試接口控制模塊、數(shù)字調(diào)試模塊及通信控制模塊,其中數(shù)字調(diào)試模塊與微控制器的數(shù)字功能模塊的結(jié)構(gòu)相同,對數(shù)字調(diào)試模 塊進(jìn)行調(diào)試所得到的調(diào)試結(jié)果與對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試所得到的調(diào)試結(jié)果相同,通信控制模塊與微控制器中的模擬功能模塊進(jìn)行通信,可實現(xiàn)對微控制器中模擬功能模塊的調(diào)試。因此,使用該調(diào)試器可實現(xiàn)對微控制器中數(shù)字功能模塊和模擬功能模塊的調(diào)試,由于該調(diào)試器位于微控制器外部,因此不會增加微控制器芯片的面積。因此,采用該調(diào)試器實現(xiàn)了在不增加微控制器芯片面積的前提下對微控制器模擬功能模塊和數(shù)字功能模塊調(diào)試。
附圖說明
圖1是本發(fā)明實施例提供的調(diào)試器的結(jié)構(gòu)示意圖;
圖2是本發(fā)明另一實施例提供的調(diào)試器的結(jié)構(gòu)示意圖;
圖3是本發(fā)明另一實施例提供的調(diào)試器的結(jié)構(gòu)示意圖;
圖4是本發(fā)明另一實施例提供的調(diào)試器的結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1示出了本發(fā)明實施例提供的調(diào)試器的結(jié)構(gòu)示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,詳述如下:
用于微控制器的調(diào)試器包括調(diào)試接口控制模塊100、數(shù)字調(diào)試模塊200及通信控制模塊300,其中,調(diào)試接口控制模塊100用于接收上位機(jī)所發(fā)送的調(diào)試指令。
數(shù)字調(diào)試模塊200與微控制器的數(shù)字功能模塊的結(jié)構(gòu)相同,對數(shù)字調(diào)試模塊200進(jìn)行調(diào)試所得到的調(diào)試結(jié)果與對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試所得到的調(diào)試結(jié)果相同;調(diào)試接口控制模塊100的控制端與數(shù)字調(diào)試模塊200的控制端相連接,數(shù)字調(diào)試模塊200的數(shù)據(jù)端與通信控制模塊300的數(shù)據(jù)端相連接, 數(shù)字調(diào)試模塊200的第一功能輸入輸出端接入第一調(diào)試信號,通信控制模塊300的通信端與微控制器的模擬功能模塊400的輸入輸出端相連接。
當(dāng)對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試時,調(diào)試接口控制模塊100根據(jù)調(diào)試指令輸出第一控制信號至數(shù)字調(diào)試模塊200;數(shù)字調(diào)試模塊200根據(jù)第一控制信號執(zhí)行參數(shù)配置操作,并根據(jù)第一調(diào)試信號執(zhí)行功能調(diào)試操作,且由數(shù)字調(diào)試模塊200的第二功能輸入輸出端輸出第一調(diào)試結(jié)果信號。
當(dāng)對微控制器的模擬功能模塊400進(jìn)行調(diào)試時,調(diào)試接口控制模塊100根據(jù)調(diào)試指令輸出第二控制信號至數(shù)字調(diào)試模塊200,數(shù)字調(diào)試模塊200經(jīng)通信控制模塊300轉(zhuǎn)發(fā)第二控制信號至微控制器的模擬功能模塊400,模擬功能模塊400根據(jù)第二控制信號執(zhí)行參數(shù)配置操作,并根據(jù)模擬功能模塊400的第一功能輸入輸出端所輸入的第二調(diào)試信號執(zhí)行功能調(diào)試操作,且由模擬功能模塊400的第二功能輸入輸出端輸出第二調(diào)試結(jié)果信號。
具體的,微控制器的數(shù)字功能模塊包括微控制器內(nèi)核、輸入輸出接口電路和數(shù)字功能外圍設(shè)備,其中數(shù)字功能外圍設(shè)備為定時計數(shù)器等對數(shù)字信號執(zhí)行操作的外圍設(shè)備。
具體的,在對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試時,數(shù)字調(diào)試模塊200根據(jù)第一控制信號執(zhí)行參數(shù)配置操作,其中,第一控制信號為被配置參數(shù)的數(shù)值,數(shù)字調(diào)試模塊200執(zhí)行參數(shù)配置操作相當(dāng)于對數(shù)字功能模塊中的數(shù)字功能外圍設(shè)備的參數(shù)進(jìn)行配置,具體相當(dāng)于配置數(shù)字功能外圍設(shè)備的特殊功能寄存器的值,例如,當(dāng)數(shù)字功能外圍設(shè)備為定時計數(shù)器時,參數(shù)配置操作可為配置周期寄存器的值或配置控制寄存器的值。數(shù)字調(diào)試模塊200根據(jù)第一調(diào)試信號執(zhí)行功能調(diào)試操作相當(dāng)于第一調(diào)試信號作為數(shù)字功能模塊中數(shù)字功能外圍設(shè)備的輸入信號,數(shù)字功能外圍設(shè)備正常工作,并根據(jù)第一調(diào)試信號輸出第一調(diào)試結(jié)果信號。當(dāng)數(shù)字功能外圍設(shè)備為定時計數(shù)器時,第一調(diào)試信號為定時計數(shù)器的輸入脈沖信號,定時比較器根據(jù)輸入脈沖信號進(jìn)行計數(shù)并輸出計數(shù)結(jié)果(即第一調(diào)試結(jié)果信號)。
具體的,微控制器的模擬功能模塊400包括微控制器內(nèi)核、輸入輸出接口電路和模擬功能外圍設(shè)備,其中模擬功能外圍設(shè)備為比較器等對模擬信號執(zhí)行操作的外圍設(shè)備。當(dāng)對微控制器的模擬功能模塊400進(jìn)行調(diào)試時,數(shù)字調(diào)試模塊200經(jīng)通信控制模塊300發(fā)送第二控制信號至微控制器的輸入輸出接口電路;微控制器內(nèi)核接收輸入輸出接口電路轉(zhuǎn)發(fā)的第二控制信號,并將第二控制信號轉(zhuǎn)發(fā)至模擬功能外圍設(shè)備;模擬功能外圍設(shè)備根據(jù)第二控制信號執(zhí)行參數(shù)配置操作,并根據(jù)輸入輸出接口電路的第一功能輸入輸出端所輸入的第二調(diào)試信號執(zhí)行功能調(diào)試操作,且由輸入輸出接口電路的第二功能輸入輸出端輸出第二調(diào)試結(jié)果信號。
進(jìn)一步具體的,在對微控制器的模擬功能模塊400進(jìn)行調(diào)試時,模擬功能模塊400根據(jù)第二控制信號執(zhí)行參數(shù)配置操作,其中,第二控制信號為被配置參數(shù)的數(shù)值,參數(shù)配置操作是指對模擬功能模塊400中的模擬功能外圍設(shè)備的參數(shù)進(jìn)行配置,具體為配置模擬功能外圍設(shè)備的特殊功能寄存器的值,例如,當(dāng)模擬功能外圍設(shè)備為比較器時,參數(shù)配置操作可為配置比較控制寄存器的值或配置比較方式控制寄存器的值。模擬功能模塊400根據(jù)第二調(diào)試信號執(zhí)行功能調(diào)試操作具體為:第二調(diào)試信號作為模擬功能模塊400中的模擬功能外圍設(shè)備的輸入信號,模擬功能外圍設(shè)備正常工作,并根據(jù)第二調(diào)試信號輸出第二調(diào)試結(jié)果信號。當(dāng)模擬功能外圍設(shè)備為比較器時,第二調(diào)試信號為比較器的輸入信號,比較器根據(jù)第二調(diào)試信號執(zhí)行功能調(diào)試操作即為比較器對輸入信號進(jìn)行比較并產(chǎn)生比較結(jié)果(即第二調(diào)試結(jié)果信號)。
具體的,調(diào)試接口控制模塊100、數(shù)字調(diào)試模塊200及通信控制模塊300基于現(xiàn)場可編程門陣列器件實現(xiàn)。其中,調(diào)試接口控制模塊100通過串行調(diào)試接口與上位機(jī)進(jìn)行通信,可接收上位機(jī)發(fā)送的調(diào)試指令,也可將微控制器的實時運行狀態(tài)信息返回至上位機(jī);通信控制模塊300為串行通信接口,與數(shù)字調(diào)試模塊200和微控制器中的模擬功能模塊400進(jìn)行通信,在與微控制器的模擬功能模塊400通信時,通信控制模塊300作為通信從端,微控制器的模擬功能 模塊400作為通信主端,即模擬功能模塊400中的微控制器內(nèi)核發(fā)起通信請求,通信控制模塊300響應(yīng)通信請求。
作為本發(fā)明一實施例,如圖2所示,數(shù)字調(diào)試模塊200包括控制單元201、數(shù)字外設(shè)單元202及接口單元203。
控制單元201的控制端為數(shù)字調(diào)試模塊200的控制端,控制單元201的信號端與數(shù)字外設(shè)單元202的信號端相連接,數(shù)字外設(shè)單元202的第一輸入輸出端和第二輸入輸出端分別與接口單元203的第一連接端和第二連接端相連接,數(shù)字外設(shè)單元202的數(shù)據(jù)端為數(shù)字調(diào)試模塊200的數(shù)據(jù)端,接口單元203的第一功能輸入輸出端和第二功能輸入輸出端分別為數(shù)字調(diào)試模塊200的第一功能輸入輸出端和第二功能輸入輸出端。
具體的,控制單元201的結(jié)構(gòu)和功能與微控制器內(nèi)核的結(jié)構(gòu)和功能相同;數(shù)字外設(shè)單元202與微控制器中對應(yīng)功能的數(shù)字功能外圍設(shè)備相同,其中,微控制器中的數(shù)字功能外圍設(shè)備包括定時計數(shù)器等對數(shù)字信號執(zhí)行操作的外圍設(shè)備;接口單元203與微控制器中的輸入輸出接口電路相同。
具體的,當(dāng)對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試時,調(diào)試接口控制模塊100根據(jù)調(diào)試指令輸出第一控制信號至控制單元201,控制單元201轉(zhuǎn)發(fā)第一控制信號至數(shù)字外設(shè)單元202,數(shù)字外設(shè)單元202根據(jù)第一控制信號執(zhí)行參數(shù)配置操作。其中,第一控制信號為被配置參數(shù)的數(shù)值,參數(shù)配置操作是指對數(shù)字外設(shè)單元202的參數(shù)進(jìn)行配置,具體為配置數(shù)字外設(shè)單元202的特殊功能寄存器的值,例如,當(dāng)數(shù)字外設(shè)單元202為定時計數(shù)器時,參數(shù)配置操作可為配置周期寄存器的值或配置控制寄存器的值。數(shù)字調(diào)試模塊200根據(jù)第一調(diào)試信號執(zhí)行功能調(diào)試操作具體為:第一調(diào)試信號作為數(shù)字調(diào)試模塊200中數(shù)字外設(shè)單元202的輸入信號,數(shù)字外設(shè)單元202正常工作,并根據(jù)第一調(diào)試信號輸出第一調(diào)試結(jié)果信號。當(dāng)數(shù)字外設(shè)單元202為定時計數(shù)器時,第一調(diào)試信號為定時計數(shù)器的輸入脈沖信號,定時比較器根據(jù)輸入脈沖信號進(jìn)行計數(shù)并輸出計數(shù)結(jié)果(即第一調(diào)試結(jié)果信號)。
作為本發(fā)明一實施例,如圖3所示,本發(fā)明所提供的調(diào)試器還包括接口復(fù)用單元500。
接口復(fù)用單元500的多個復(fù)用端分別與接口單元203的第一輸入輸出端、接口單元203的第二輸入輸出端、模擬功能模塊400的第一功能輸入輸出端及模擬功能模塊400的第二功能輸入輸出端相連接,接口復(fù)用單元500的控制端與數(shù)字外設(shè)單元202的控制端相連接。
接口復(fù)用單元500根據(jù)數(shù)字外設(shè)單元202輸出的控制信號將接口單元203的第一輸入輸出端和第二輸入輸出端分別選定為接口復(fù)用單元500的第一輸入輸出端和第二輸入輸出端,或者接口復(fù)用單元500根據(jù)數(shù)字外設(shè)單元202輸出的控制信號將模擬功能模塊400的第一功能輸入輸出端和第二功能輸入輸出端分別選定為復(fù)用接口單元203的第一輸入輸出端和第二輸入輸出端。
具體的,接口單元203的第一輸入輸出端和第二輸入輸出端為接口單元203的普通輸入輸出端,沒有與其他功能輸入輸出端復(fù)用。當(dāng)對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試時,數(shù)字外設(shè)單元202輸出控制信號以將接口單元203的第一輸入輸出端和第二輸入輸出端分別選定為接口復(fù)用單元500的第一輸入輸出端和第二輸入輸出端;當(dāng)對微控制器的模擬功能模塊400進(jìn)行調(diào)試時,數(shù)字外設(shè)單元202輸出控制信號以將模擬功能模塊400的第一功能輸入輸出端和第二功能輸入輸出端分別選定為復(fù)用接口單元203的第一輸入輸出端和第二輸入輸出端。
具體的,如圖3所示,接口復(fù)用單元500為多路選擇器q1。
具體的,如圖4所示,接口復(fù)用單元500包括多路選擇器q1、第一限流電阻r1、第二限流電阻r2、上拉電阻r3、下拉電阻r4、第一開關(guān)s1、第二開關(guān)s2。
多路選擇器q1的多個復(fù)用端、第一輸入輸出端及第二輸入輸出端分別為接口復(fù)用單元500的多個復(fù)用端、第一輸入輸出端及第二輸入輸出端,多路選擇器q1的控制端、第一開關(guān)s1的控制端及第二開關(guān)s2的控制端共接形成接 口復(fù)用單元500的控制端,第一限流電阻r1的第一端與接口單元203的第一輸入輸出端相連接,第二限流電阻r2的第一端與接口單元203的第二輸入輸出端相連接,第一限流電阻r1的第二端、第二限流電阻r2的第二端、第一開關(guān)s1的第一端及第二開關(guān)s2的第一端共接,第一開關(guān)s1的第二端通過上拉電阻r1與電源vcc相連接,第二開關(guān)s2的第二端通過下拉電阻r4與地相連接。
具體的,當(dāng)對微控制器的模擬功能模塊400進(jìn)行調(diào)試時和對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試時,數(shù)字外設(shè)單元202輸出控制信號以使第一開關(guān)s1閉合或使第二開關(guān)s2閉合,即使接口單元203的第一輸入輸出端和第二輸入輸出端同時連接上拉電阻r3或同時連接下拉電阻r4。
本發(fā)明中,調(diào)試器包括調(diào)試接口控制模塊、數(shù)字調(diào)試模塊及通信控制模塊,其中數(shù)字調(diào)試模塊與微控制器的數(shù)字功能模塊的結(jié)構(gòu)相同,對數(shù)字調(diào)試模塊進(jìn)行調(diào)試所得到的調(diào)試結(jié)果與對微控制器的數(shù)字功能模塊進(jìn)行調(diào)試所得到的調(diào)試結(jié)果相同,通信控制模塊與微控制器中的模擬功能模塊進(jìn)行通信,可實現(xiàn)對微控制器中模擬功能模塊的調(diào)試。因此,使用該調(diào)試器可實現(xiàn)對微控制器中數(shù)字功能模塊和模擬功能模塊的調(diào)試,由于該調(diào)試器位于微控制器外部,因此不會增加微控制器芯片的面積。因此,采用該調(diào)試器實現(xiàn)了在不增加微控制器芯片面積的前提下對微控制器模擬功能模塊和數(shù)字功能模塊調(diào)試。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。