![]() 周邊設備觸發產生器
专利摘要:
一種微控制器,其包含一中央處理單元(CPU);複數個周邊設備單元;及一周邊設備觸發產生器,其包括一使用者可程式化之狀態機,其中該周邊設備觸發產生器經組態以接收複數個輸入信號,且可取決於該等輸入信號之至少一者而經程式化以使時序功能自動化,且產生至少一個輸出信號。 公开号:TW201316175A 申请号:TW101133849 申请日:2012-09-14 公开日:2013-04-16 发明作者:Bryan Kris;Michael Catherwood 申请人:Microchip Tech Inc; IPC主号:G06F3-00
专利说明:
周邊設備觸發產生器 本發明係關於一種尤其用於微控制器中的周邊設備觸發產生器。 本申請案主張2011年9月14日申請之標題為「Peripheral Trigger Generator」之美國臨時申請案第61/534,619號之優先權,該案全文以如完全在本文中闡明之引用方式併入本文中。 微控制器使用於多種控制環境中。在此等環境中通常期望精確地產生回應於內部及外部事件而在時間及頻率上變化之複雜信號,諸如周邊設備器件之觸發。通常,該微控制器之處理核心自身已被用於提供產生此等信號之控制。然而,處理器驅動時序解決方案受不一定可預測之處理器延遲的支配。當發生需要產生回應觸發之時間緊急事件時,此可導致不準確性及時序不一致。此外,就該處理器核心可被用於控制此時序而言,處理器額外負擔量可能相當大。 因而,需要改良之系統及方法,以回應於時間驅動之事件而產生信號。進一步需要改良之系統及方法以產生觸發信號以協調周邊設備之動作。 根據各種實施例,用一周邊設備觸發產生器可產生複雜及精確時序序列,其可在未招致處理器驅動解決方案之不可預測性及延遲之下適應於內部及外部事件。根據各種實施例之一周邊設備觸發產生器提供一唯一周邊設備功能,其使得使用者實施習知微控制器不可能達成的協調之時序功能。 根據實施例之一微控制器包含一中央處理單元(CPU);複數個周邊設備單元;及一周邊設備觸發產生器,其包括一使用者可程式化之狀態機,其中該周邊設備觸發產生器經組態以接收複數個輸入信號,且取決於該等輸入信號之至少一者而可經程式化以使時序功能自動化,且產生至少一個輸出信號。在一些實施例中,該周邊設備觸發產生器包含一可程式化步驟佇列,其包括複數個暫存器儲存序列程式化步驟。在一些實施例中,該周邊設備觸發產生器包括與一控制邏輯耦合之控制暫存器,及與該步驟佇列耦合之一命令解碼器。在一些實施例中,該至少一個輸出信號係一觸發信號,其獨立於該CPU而控制該等周邊設備單元之一者。在一些實施例中,該一個周邊設備單元係一類比轉數位轉換器。 根據一些實施例之一微控制器包含一中央處理單元;複數個周邊設備器件;及一周邊設備觸發產生器,其經組態以產生複數個觸發及中斷信號,及獨立於該中央處理單元而協調複數個周邊設備器件之時序功能。該周邊設備觸發產生器可包含一可程式化狀態機,以執行周邊設備觸發產生器命令。該周邊設備觸發產生器可進一步包含一個或多個步驟佇列,以儲存周邊設備觸發產生器命令。該周邊設備觸發產生器可包含與一控制邏輯耦合之複數個控制暫存器,及與該一個或多個步驟佇列耦合之一命令解碼器。 包含本說明書之附圖及形成部分以描繪本發明之某些態樣。應注意,繪示於圖中之特徵部不一定按比例繪製。可藉由參考結合附圖的下文描述,獲取本發明及其優點之更完整的理解,圖中相似參考數字指相似特徵部。 本發明及其各種特徵部及有利細節參考繪示於附圖中且在下文描述中詳細說明之例示性及因此非限制性之實施例而更完全地解釋。可省略已知程式化技術、電腦軟體、硬體、作業平台及協定之描述,以免不必要地模糊本發明之細節。然而應理解,雖然指示較佳實施例,但是詳細描述及特定實例僅經由例證給出,且並非出於限制。熟習此項技術者將從本發明瞭解基本發明概念之精神及/或範疇內的各種取代、修改、新增及/或重新配置。 如本文中所使用,術語「包括」、「包含」、「具有」或其等之任何其他同義字意欲涵蓋非排他性之包含。例如,包括一列表之元件之程序、產品、物品或裝置不一定僅限制於此等元件,而可包含未明文列出或此程序、產品、物品或裝置固有之其他元件。此外,除非明文相反地陳述,否則「或」指包含性的或,且不是排他性的或。例如,以下任何一者滿足條件A或B:A是真(或存在)且B是假(或不存在),A是假(或不存在)且B是真(或存在),及A與B兩者為真(或存在)。 再者,本文中給出之任何實例或例證並非視作以任何方式約束、限制或表達配合其等利用之任何一或多個術語之定義。取而代之,此等實例或例證視作相對於一個特定實施例而描述,且僅作為例證。一般技術者將瞭解,配合此等實例或例證所利用之任何一或多個術語涵蓋其他實施例以及其實施及調適,其等可能或可能不在此或在本說明書中的別處給出,且所有此等實施例意欲包含於彼一或多個術語之範疇內。指定此等非限制性實例及例證之用語包含但不限於:「例如」、「舉例而言」、「如」、「在一實施例中」及類似物。 根據各種實施例,可提供系統及方法以在一微控制器內產生精確及複雜之信號序列,以例如觸發一ADC(類比數位轉換器)模組以在一應用電路中取樣及轉換類比信號。使用典型軟體方法一般太不精確,且需要太多處理器額外負擔。根據各種實施例之一周邊設備觸發產生器(PTG)在沒有CPU干涉之下允許在周邊設備中發生的事件(1)在另一周邊設備中有條件地產生隨時間及頻率而變化之觸發;及(2)重新組態另一周邊設備之操作(如,ATD輸入通道選擇)。 在一些實施例中,該PTG(周邊設備觸發產生器)係一使用者程式化之狀態機,其經設計以「處理」時間驅動事件,且輸出協調各種周邊設備動作之觸發信號。換句話說,該PTG產生複雜序列之觸發信號,以協調其他周邊設備之動作。雖然大部分微控制器處理「資料」,但是該PTG計算時序。如將在下文中更詳細討論,該PTG主要係一「時序協調器」,而非時序模組。有利地,該PTG可藉由卸載時間緊急之任務,諸如以精確時序觸發ADC取樣及轉換;及自動化涉及外部事件及時序之複雜應用(諸如工業自動化)而減少處理器工作量且簡化軟體設計。 如將在下文中更詳細解釋,在一些實施例中,該PTG可支援多達16個獨立硬體觸發輸入及一個軟體觸發輸入,且以個別或廣播模式產生多達32個輸出觸發信號。此外,在一些實施例中,該PTG可產生多達16個獨特中斷信號。 根據各種實施例之周邊設備觸發產生器(PTG)係可經由PTG組合語言而由使用者程式化。在一些實施例中,該PTG獨立於處理器而操作。該PTG可監控選擇之周邊設備信號,且對其他周邊設備及/或處理產生信號。該PTG可提供以軟體實施時不可能之時序精確性。該PTG可以比CPU更快的速度操作。結果,該PTG可監控許多輸入,且以經由軟體不可能之時間精確性產生複雜時序序列。 更特定而言,現參考圖1,其展示根據實施例之利用一周邊設備觸發產生器之一例示性處理器10之一圖。該處理器10可實施為一微處理器或微控制器、或任何適宜處理器件。該處理器10包含經由一匯流排14耦合至一個或多個周邊設備器件18、20之一個或多個中央處理單元12。此外,如將在下文中更詳細解釋,該處理器10包含根據實施例之一周邊設備觸發產生器16,以對於晶片上及晶片外周邊設備兩者產生複雜時序信號。可提供一個或多個控制暫存器以控制該PTG 16之操作。在一些實施例中,該等周邊設備器件可包含ADC、輸入捕獲、輸出比較及計時器。 現參考圖2,其展示一例示性PTG之圖,且一般由參考數字100表示PTG。在所繪示之實例中,該PTG 100包含耦合至一讀取匯流排112及一寫入匯流排114之一步驟佇列110。該步驟佇列110係一小型記憶體,其含有實施期望之使用者功能所需之指令。 一多工器116選擇可用於開始或修改該步驟佇列110中之程式行為之輸入信號。該PTG 100可從外部接針、類比比較器、脈衝寬度調變器(PWM)時基比較器;輸出比較事件;輸入捕獲事件;及ADC(類比轉數位轉換)完整信號接收輸入。 該PTG 100進一步包含一個或多個控制暫存器104、控制邏輯102、佇列指標(QPTR)106、看門狗計時器108及命令解碼器118。該命令解碼器118將所執行之步驟命令轉換為動作(信號),其可連接至其他模組(未作圖式),諸如ADC、輸入捕獲、輸出比較、計時器或外部器件接針。根據一特定實施例,該PTG 100可包括以下輸出:ADC觸發輸入;PWM同步輸入;輸入捕獲同步;輸出比較時鐘輸入;輸出比較同步輸入;及類比比較器遮蔽信號輸入。 雖然可結合該PTG使用任何數量之控制及狀態暫存器,但是根據一些實施例,該等控制及狀態暫存器104為:PTG控制/狀態暫存器(PTGCST);PTG控制暫存器(PTGCON);PTG廣播觸發啟用(PTGBTE);PTG保持暫存器(PTGHOLD);PTG GP計時器0暫存器(PTGT0LIM);PTG GP計時器1暫存器(PTGT1LIM);PTG步驟延遲暫存器(PTGSDLIM);PTG迴圈計數器0(PTGC0LIM);PTG迴圈計數器1(PTGC1LIM);PTG調整暫存器(PTGADJ);PTG文字暫存器(PTGL0);PTG佇列指標(PTGQPTR)。 其等參考圖3更詳細繪示。此外,如將在下文中更詳細解釋,在一些實施例中,該PTG 100包含一個或多個通用計時器124、一個或多個迴圈計數器126及一個或多個延遲計時器128。 在操作中,根據一些實施例,使用者將稱為「步驟」之8位元之命令寫入至PTG佇列暫存器110中。每個8位元步驟由四位元命令代碼及四位元參數欄位組成。圖4繪示一步驟命令之結構及編碼。該等命令執行操作,諸如等待一輸入觸發信號、產生一輸出觸發信號、及等待計時器。更特定而言,該等命令定義對周邊設備(諸如ADC、輸出比較、輸入捕獲及計時器巨集)產生觸發輸出信號122之一序列之事件。該等步驟命令亦可用於對該處理器產生中斷請求。 循序執行步驟佇列110中之步驟命令,除非藉由例如重設或藉由看門狗計時器108停止。此外,可使步驟命令在繼續之前等待一命令,諸如一輸入觸發邊緣、一軟體觸發或一計時器匹配。該步驟佇列指標暫存器106係一特殊功能暫存器及一內部指標。該指標定址該步驟佇列110中當前作用中之步驟。循序讀取、解碼及執行每個命令位元組。 雖然大部分指令以預定義循環計數執行,但是該看門狗計時器108在輸入觸發相關步驟命令期間啟用(所有其他命令在2循環內執行且結束)。WDT 108係一自由運行之9位元計數器,其當每個步驟命令結束(完成)時重設。在每個PTG循環期間,該WDT比較其值與一使用者選擇之逾時值,且將產生一WDT中斷(ptg_wdto_intr),且一旦其等匹配,則暫停步驟命令執行。該WDT 108係用於若未出現預期輸入觸發事件則防止PTG鎖定。 該PTG模組100可藉由執行特定步驟命令而產生觸發、中斷、及選通資料輸出。如上文所述,該PTG模組可以個別或廣播模式產生多達32個獨特觸發輸出信號。該PTG模組可在32個觸發輸出之任一者上產生個別輸出觸發。該等個別觸發輸出通常用於觸發個別ADC輸入轉換操作,但亦可指派至任何功能,包含通用I/O埠。當該PTG模組100與一相容周邊設備(諸如ADC模組)配合使用時,該PTG 100之個別觸發輸出信號被個別指派至ADC模組內之特定類比輸入轉換控制器(未作圖式)。該廣播觸發輸出特徵部使得使用者以一單一步驟命令同時產生大量(個別)觸發輸出。 在一些實施例中,提供兩個16位元迴圈計數器126,其等可使用為一區塊迴圈計數器或延遲產生器。當器件處於重設狀態時或當PTG模組100停用時,所有內部計數器被歸零。存在可載入、修改或初始化迴圈計數器極限值的步驟命令。每個迴圈計數器包含一遞增計數器(PTGCn)及一SFR限制暫存器(PTGCnLIM)。SFR值可由一CPU寫入(當模組停用時)或由PTG定序器(sequencer)(當模組啟用時)而改變。該SFR中儲存之對應於每個迴圈計數器之值稱為計數器極限值。 跳轉條件命令使用迴圈計數器之一者,以記錄該命令被執行之次數,且可因此用於建立代碼區塊迴圈。其等在需要將一序列之周邊設備事件重複若干次的應用中係有用的。該跳轉命令允許在不需要在器件上實施較大步驟佇列之下達成此重複。 每次執行跳轉命令時,比較對應內部迴圈計數器與其極限值。若該計數器未達到該極限值,則目標跳轉佇列位置載入至步驟佇列指標(PTGQPTR)106,且該計數器以1遞增。下一個命令將從新佇列位置取得。若該計數器已達到該極限值,則定序器將照常進入下一個命令(即,使佇列指標遞增)。在準備下一個跳轉命令迴圈時,對應迴圈計數器亦將在此時歸零。提供兩個單獨迴圈計數器及相關跳轉(PTGJMPCn)指令允許支援嵌套迴圈(深一個層級)。關於哪個PTGJMPCn指令駐存內部或外部迴圈中並沒有限制。 步驟命令繪示於圖5中。在一些實施例中,每個命令編碼為兩個四位元欄位,使得使用者之「手動組合」命令成為相對簡單的任務。在一些實施例中,每個8位元步驟命令由4位元命令欄位(CMD[3:0])及4位元參數欄位(OPTION[3:0])組成。 在一些實施例中,除流變化命令及等待外部輸入之命令之外,所有命令在一單一循環中執行。定序器只是管線式,使得當執行一命令時,下一個命令從步驟佇列讀取及解碼。 預設情況下,每個步驟命令將在一個PTG時鐘週期內執行。具有若干技術以減慢步驟命令之執行: ˙等待觸發輸入 ˙等待GP計時器(PTGTnLIM) ˙使用PTGJMPCn及PTGCn插入一延遲迴圈 ˙在執行每個命令之後啟用及(自動)插入一步驟延遲 在一些實施例中,該PTG 100可支援多達16個獨立觸發輸入。使用者可指定等待發生選擇輸入信號之正邊緣或負邊緣或高位準或低位準之一步驟命令。操作模式由PTGCST暫存器中之PTGITM[1:0]控制欄位選擇。PTGWHI命令尋找該選擇之觸發輸入上發生之一正邊緣或高狀態。PTGWLO命令尋找該選擇之觸發輸入上發生之一負邊緣或低狀態。PTG命令定序器將重複觸發輸入命令(即,實際上等待)直到在繼續執行步驟命令之前所選擇之信號變為有效。「等待觸發」命令之最小執行時間係一個PTG時鐘。對該PTG將等待觸發輸入多久並沒有限制(除了由看門狗計時器108所強制的限制)。 在一些實施例中,支援4個輸入觸發命令操作模式,其等由該PTGCST暫存器中之PTGITM[1:0]控制欄位選擇。注意,若停用步驟延遲,則在操作中模式0與1等效,且在操作中模式2與3等效。 模式0係在結束時具有步驟延遲之連續邊緣偵測。在此模式中,所選擇之觸發輸入在執行PTGWHI或PTGWLO命令時立即開始連續測試。當偵測到觸發邊緣時,完成命令執行。若啟用步驟延遲計數器128,則(一旦)在偵測到有效邊緣且已完成命令執行之後將插入步驟延遲。若不啟用步驟延遲計數器,則在偵測到有效邊緣之後將完成命令,且將立即開始執行後續命令。 模式1係在結束時無步驟延遲之連續邊緣偵測。在此模式中,所選擇之觸發輸入在執行PTGWHI或PTGWLO時立即開始連續測試。當偵測到觸發邊緣時,完成命令執行。 無論該步驟延遲計數器126是否啟用,在已完成命令執行之後將不插入步驟延遲。 模式2係在結束時具有步驟延遲之取樣位準偵測。在此模式中,取樣測試一有效位準之所選擇之觸發輸入。當執行PTGWHI或PTGWLO命令時立即開始,且測試觸發輸入(每個PTG時鐘一次)。若發現不是真,且啟用步驟延遲,則該命令等待步驟延遲逾期才再次測試觸發輸入。當發現觸發為真時,完成命令執行,且再一次插入步驟延遲。若發現不是真,且停用步驟延遲,則在下一個PTG時鐘週期期間該命令立即再次測試觸發輸入。當發現該觸發為真時,完成命令執行,且將立即開始執行後續命令。 模式3係在結束時無步驟延遲之取樣位準偵測。在此模式中,取樣測試一有效位準之所選擇之觸發輸入。當執行PTGWHI或PTGWLO命令時立即開始,且測試觸發輸入(每個PTG時鐘一次)。若發現不是真,且啟用步驟延遲,則該命令等待步驟延遲逾期才再次測試觸發輸入。當發現觸發為真時,完成命令執行,且將立即開始執行後續命令。不插入步驟延遲。若發現不為真,且停用步驟延遲,則在下一個PTG時鐘週期期間該命令再次立即測試觸發輸入。當發現該觸發為真時,完成命令執行,且將立即開始執行後續命令。 在一些實施例中,使用者可指定一步驟命令,以等待一軟體產生之觸發。該軟體產生之觸發藉由在該PTGCST暫存器中設定一位元而產生。PTGCTRL SWTRGE僅對PTGSWT位元之0至1變換敏感。此變換必須在命令執行期間發生,否則命令將持續等待(PTGSWT在任一狀態中)。PTGSWT位元在完成PTGCTRL SWTRGE命令時由硬體自動歸零,為下一軟體觸發命令反覆而初始化位元。PTGCTRL SWTRGL命令對PTGSWT位元之位準敏感。該命令將等待直到其觀察到PTGSWT=1,此時該命令將完成。一旦進入命令後PTGSWT=1,該命令將立即完成。若期望,該PTGSWT位元可在完成PTGCTRL SWTRGL命令時由使用者歸零。 結合對處理器產生中斷請求(PTGIRQ)之一PTG步驟命令使用PTGSWT位元,允許使用者協調在PTG模組100與應用軟體之間之活動。 在一些實施例中,具有兩個通用計時器124(PTGT1、PTGT0),其等可由定序器使用以等待一指定時間段。當器件在重設狀態時或當停用PTG模組時,所有計時器被歸零。存在可載入、修改或初始化該等GP計時器之步驟命令。每個GP計時器124由一遞增計時器(PTGTn)及一SFR限制暫存器(PTGTnLIM)組成。該SFR值可由一CPU寫入(當停用模組時)或由PTG定序器(當啟用模組時)改變。從SFR讀取之資料將取決於內部可見性(PTGIVIS)位元之狀態。 當操作時,計時器在該PTG時鐘之上升邊緣上遞增(其在PTGCST暫存器中定義)。使用者可藉由執行適當PTGCTRL PTGTn命令而指定使用GP計時器之一等待操作(等待選擇之GP計時器[n])。 該SFR中儲存之對應於每個GP計時器124之值稱為計時器極限值。等待步驟命令停滯於狀態S1x中,直到計時器到達其極限值之此時間,此時將完成命令,且將開始下一個命令。該計時器在此時準備其下次使用時亦被歸零。 步驟延遲計時器(SDLY)128係使每個步驟命令花費一指定時間量之方便方法。通常,使用者將指定等於一周邊設備功能之持續時間(諸如ADC轉換時間)之一步驟延遲。該步驟延遲使得使用者以一控制之速率產生觸發輸出信號,以免目標周邊設備超負荷。 PTGSDLIM暫存器定義每個步驟命令在PTG時鐘單元中之額外持續時間。該步驟延遲計時器預設係停用的。使用者可經由可置於步驟佇列中之PTGCTRL SDON或PTGCTRL SDOFF命令而啟用及停用該步驟延遲計時器。 當操作時,該步驟延遲計時器將以該PTGCST暫存器中定義之PTG時鐘速率遞增。PTGSDLIM SFR中儲存之值稱為計時器極限值。在執行每個命令之後插入步驟延遲,使得所有步驟命令(使用步驟延遲)被停滯,直到PTGSD計時器到達其極限值,此時將完成命令,且將開始下一個命令。在執行每個命令期間亦將計時器歸零,使得其已準備好用於下一個命令。 如上文所述,該PTG模組100可透過執行特定步驟命令而產生觸發、中斷及選通資料輸出。 在一些實施例中,PTG 100可產生總共(多達)32個獨特輸出觸發信號作為個別或廣播輸出。該模組可使用PTGTRIG命令而在32個觸發輸出之任一者上產生個別觸發。該等個別輸出觸發通常用於觸發個別ADC輸入轉換操作,但亦可指派(在最高階器件DOS中)至任何功能,包含GP I/O埠。當該PTG模組與相容周邊設備配合使用時,PTG 100之個別觸發輸出信號被個別指派至ADC模組內之特定類比輸入轉換控制器。 該廣播輸出觸發能力由該PTGBTE暫存器指定。該PTGBTE暫存器中之每個位元對應於觸發匯流排之低階一半上之相關個別觸發輸出(ptg_trig_out[(PTG_NUM_TRIG_OUT-1):0])。若一位元在該PTGBTE暫存器中設定,且執行一廣播觸發步驟命令(PTGCTRL BTRIG),則確認對應個別觸發輸出。該觸發廣播能力使得使用者以一單一步驟命令同時產生大量觸發輸出。 該PTG模組100可產生總共多達16個獨特中斷請求信號。中斷請求信號有用於與應用軟體互動以建立更多複雜功能。該模組可使用PTGIRQ步驟命令而在IRQ匯流排上產生一個別IRQ脈衝。 該PTG 100支援一選通資料埠,其從該模組內之若干源接受資料。一典型實施將該選通匯流排連接至一ADC通道選擇輸入埠,連接與通道一樣多之選通匯流排位元。該PTG命令序列將接著直接選擇轉換哪一個ADC通道。 PTGSTRB命令零將命令之LS 5位元延長至16位元,接著將16位元值與一選通信號一起輸出至ptg_strb_dout[15:0]資料匯流排上。 文字資料嵌入命令中,故每個PTGSTRB命令實例可含有一不同文字值。 該PTGCTRL STRBL0命令將PTGL0暫存器之內容與一選通信號一起寫入至ptg_strb_dout[15:0]資料匯流排上。該PTGL0暫存器可使用PTGADD及PTGCOPY命令而修改。該PTGCTRL STRBC0命令將PTGC0迴圈計數器暫存器之內容與一選通信號一起寫入至該ptg_strb_dout[15:0]資料匯流排上。該PTGCTRL STRBC1命令將PTGC1迴圈計數器暫存器之內容與一選通信號一起寫入至該ptg_strb_dout[15:0]資料匯流排上。 當在PTG執行時鐘之上升邊緣上開始對應步驟命令時(即,在由步驟延遲計時器指定之任何額外時間之前),所有觸發、IRQ及資料選通輸出由該PTG狀態機102內部確認。當操作於脈衝模式時(PTGTOGL=0),觸發輸出信號之寬度由該PTGCON暫存器中之PTGPWD[3:0]位元欄位決定,且可為介於1個與16個PTG時鐘週期之間之任何值。預設值係1個PTG時鐘週期。當由PTGCTRL BTRIG廣播觸發命令全局控制時,TRIG輸出脈衝寬度由PTGCON暫存器內之PTGPWD[3:0]位元欄位決定,且可為介於1個與16個PTG時鐘週期之間之任何值。預設值係1個PTG時鐘週期。 選通資料輸出由PTG狀態機在由步驟延遲計時器指定之任何額外時間之前在對應資料選通步驟命令之第一PTG執行時鐘開始時確認。選通時鐘信號(ptg_strb)由該狀態機同時啟動。 實施例之操作藉由舉例展示。特定而言,圖6繪示在多個循環上交錯樣本之時序。圖6A展示在消費者需精確地量測在電流負載高度取決於溫度、電壓及最終消費者應用之系統中之功率之一應用。電流波形在每個消費者使用上廣泛變化,但在幾個pwm循環之後波形相對穩定。 目標係以交錯方式取得在若干pwm循環上的許多電流及/或電壓讀數。資料在擷取期間儲存於器件系統記憶體中,且隨後經後處理(整合)以產生一精確功率值。此實例展示軟體精確地排程ADC樣本將是不實際或不可能之情況。 圖6A之時序序列之例示性步驟程式化展示於圖6B中。在所繪示之程式中,進行以下假設: 1.觸發輸入#1連接至PWM信號。該PWM信號之此上升邊緣開始該序列。 2.輸出觸發#3連接至ADC。此信號命令該ADC開始一取樣及轉換程序。 3.中斷#1用於對處理器發出已開始一子序列之信號。 (提供狀態) 4.中斷#4用於對處理器發出已完成整個序列之信號。 5. ADC時鐘選擇為PTG時鐘源。 6. ADC時鐘係14 MHz。 7.初始觸發延遲係5 μs。 8.第二觸發延遲係6 μs。 9.在每個PWM循環中,該ADC將被觸發25次。 10.基本序列運行兩次。 初始化以下控制暫存器:PTGT0LIM=7010(5μs×14 clks/μs) PTGT1LIM=1110([1μs×14 clks/μs]-3個步驟時鐘) PTGC0LIM=2410(總共25個內部迴圈反覆) PTGC1LIM=1(總共2個外部迴圈反覆) PTGHOLD=7010(5μs×14 clks/μs) PTGADJ=1410(1μs×14 clks/μs) PTGSDLIM=0(無步驟延遲) PTGBTE=0x0000(無廣播觸發) PTGQPTR=0(開始步驟佇列) PTGCST=0x8200(在PTGQPTR被初始化之後) 圖7A中展示另一應用實例(以多個取樣率取樣)。在此應用中,目標係以較快取樣率(1倍取樣率)取樣一個ADC輸入,以較慢取樣率(一半取樣率)取樣第二類比輸入,及以八分之一取樣率取樣類比輸入#3至#7。該實例係使用SCR(矽控整流器)之一電動機控制應用,其在AC線零交叉之後之一特定時間觸發。雖然此實例使用簡單之二進位取樣比率,但是PTG亦可產生範圍非常寬之取樣比率,以符合應用之需求。 圖7A之時序序列之例示性步驟程式化展示於圖7B中。在所繪示之程式中,進行以下假設: 1.觸發輸入#0連接至零交叉偵測。該零交叉偵測信號之此上升邊緣開始該序列。 2.從#0中之觸發至觸發#1輸出產生之觸發延遲為2 ms。 3.觸發輸出#1在應用電路中啟用SCR。 4.觸發輸出#2連接至ADC而以1 ms間隔觸發電流量測之取樣。 5.觸發輸出#3連接至ADC而以2 ms間隔觸發供應電壓量測之取樣。 6.觸發輸出#4、#5、#6及#7連接至ADC,以每個循環取樣一次其他資料值。 7.該ADC時鐘選擇為PTG時鐘源。 8. ADC時鐘係14 MHz。 初始化以下控制暫存器:PTGT0LIM=2800010(2ms×14 clks/μs) PTGT1LIM=1400010(1ms×14 clks/μs) PTGC0LIM=2410(總共25個內部迴圈反覆) PTGC1LIM=1(總共2個外部迴圈反覆) PTGHOLD=0(未使用) PTGADJ=0(未使用) PTGSDLIM=0(無步驟延遲) PTGBTE=0x00F0(啟用廣播觸發4至7) PTGQPTR=0(開始步驟佇列) PTGCST=0x8200(在PTGQPTR初始化之後) 因為每個步驟命令花費至少兩個時鐘,對於更精確之時序,PTGDLY暫存器應程式化有補償等待觸發命令及產生觸發#4至#7命令之延遲、及等待觸發延遲命令之一值。因此,PTGTDLY初始化值其實應為28,000-6=27,994。同樣地,PTGTMR暫存器值亦應為略小之值14,000-4=13,996。 圖8A至圖8D中展示控制邏輯102中實施之基於PTG有限狀態機(FSM)之定序器。所展示之狀態由該PTGCON控制暫存器中之位元或設定定義。該定序器由PTG時鐘時控,如由PTGCLK[2:0]時鐘源選擇及PTGDIV[4:0]時鐘除法器控制位元所定義。該定序器在每個時鐘之正邊緣上前進一個狀態。該定序器將在以下任何條件下進入狀態S0(HALT): 1. PTGEN=0 2. WDT事件(經由狀態Sw) 3. PTGSTRT=0 4.在結束一命令之最後狀態之除錯模式&& PTGSSEN=1&&中操作。 當PTGSTRT=0時該定序器將保持於S0。 當reset_n=0時該定序器被迫進入狀態Sr。若模組由使用者停用(PTGEN=0)但未重設(reset_n=1),則該定序器亦將被迫進入Sr,但僅在完成當前命令之後進入。此規則之一例外適用於有條件地等待一事件之狀態。一旦PTGEN被歸零,立即結束此等狀態。即,一旦由使用者停用該模組,以下命令不完成及立即結束: ˙PTGWLO及PTGWHI ˙PTGCTRL SWTRGL ˙PTGCTRL SWTRGE ˙PTGCTRL PTGT0及PTGCTRL PTGT1 當等待輸入且使用者藉由使PTGSTRT歸零而中止操作時,亦立即結束此等相同命令集。此適用於無論何種器件或模組操作模式。 雖然前文之說明書描述特定實施例,但是一般技術者在已參閱本描述後將瞭解且可進行本文中揭示之實施例及額外實施例中之細節之許多變化。在此內文中,說明書及圖式應視作例證性之意義,而非限制性意義,且所有此等修改意欲包含於本揭示之範疇內。因此,本發明之範疇應由以下申請專利範圍及其等之法律等效物決定。 10‧‧‧處理器 12‧‧‧中央處理單元 14‧‧‧匯流排 16‧‧‧周邊設備觸發產生器 18‧‧‧周邊設備器件 20‧‧‧周邊設備器件 100‧‧‧周邊設備觸發產生器 102‧‧‧控制邏輯 104‧‧‧控制暫存器 106‧‧‧佇列指標 108‧‧‧看門狗計時器 110‧‧‧步驟佇列/佇列暫存器 112‧‧‧讀取匯流排 114‧‧‧寫入匯流排 116‧‧‧多工器 118‧‧‧命令解碼器 122‧‧‧觸發輸出信號 124‧‧‧通用計時器 126‧‧‧迴圈計數器 128‧‧‧延遲計時器 圖1係根據本發明之實施例之一微控制器之一方塊圖。 圖2係根據本發明之一實施例之一周邊設備觸發產生器之一方塊圖。 圖3係根據本發明之一實施例之一周邊設備觸發產生器之一方塊圖。 圖4繪示根據本發明之一實施例之一PTG之例示性控制及狀態暫存器。 圖5繪示根據本發明之實施例之例示性步驟佇列。 圖6A及圖6B繪示使用PTG之一實例應用。 圖7A及圖7B繪示使用PTG之一實例應用。 圖8A至圖8D繪示一PTG狀態機之例示性狀態。 10‧‧‧處理器 12‧‧‧中央處理單元 14‧‧‧匯流排 16‧‧‧周邊設備觸發產生器 18‧‧‧周邊設備器件 20‧‧‧周邊設備器件
权利要求:
Claims (15) [1] 一種微控制器,其包括:一中央處理單元(CPU);複數個周邊設備單元;及一周邊設備觸發產生器,其包括一使用者可程式化之狀態機,其中該周邊設備觸發產生器經組態以接收複數個輸入信號,且取決於該等輸入信號之至少一者而可經程式化以使時序功能自動化,且產生至少一個輸出信號。 [2] 如請求項1之微控制器,其中該周邊設備觸發產生器包括一可程式化步驟佇列,其包括儲存連續程式化步驟之複數個暫存器。 [3] 如請求項2之微控制器,其中該周邊設備觸發產生器包括與一控制邏輯耦合之控制暫存器及與該步驟佇列耦合之一命令解碼器。 [4] 如請求項1之微控制器,其中該至少一個輸出信號係獨立於該CPU而控制該等周邊設備單元之一者之一觸發信號。 [5] 如請求項4之微控制器,其中該一個周邊設備單元係一類比轉數位轉換器。 [6] 一種包含一周邊設備觸發產生器之積體電路,其包括一使用者可程式化之狀態機,其中該周邊設備觸發產生器經組態以接收複數個輸入信號,且取決於該等輸入信號之至少一者而可經程式化以使時序功能自動化,且產生至少一個輸出信號。 [7] 如請求項6之積體電路,其中該周邊設備觸發產生器包括一可程式化步驟佇列,其包括儲存連續程式化步驟之複數個暫存器。 [8] 如請求項7之積體電路,其中該周邊設備觸發產生器包括與一控制邏輯耦合之控制暫存器及與該步驟佇列耦合之一命令解碼器。 [9] 如請求項6之積體電路,其中該至少一個輸出信號係獨立於該CPU而控制該等周邊設備單元之一者之一觸發信號。 [10] 如請求項9之積體電路,其中該一個周邊設備單元係一類比轉數位轉換器。 [11] 一種微控制器,其包括:一中央處理單元;複數個周邊設備器件;及一周邊設備觸發產生器,其經組態以產生複數個觸發及中斷信號,且獨立於該中央處理單元而協調該複數個周邊設備器件之時序功能。 [12] 如請求項11之微控制器,其中該周邊設備觸發產生器包含一可程式化狀態機,以執行周邊設備觸發產生器命令。 [13] 如請求項12之微控制器,其中該周邊設備觸發產生器包含一個或多個步驟佇列,以儲存周邊設備觸發產生器命令。 [14] 如請求項13之微控制器,其中該周邊設備觸發產生器包括與一控制邏輯耦合之複數個控制暫存器及與該一個或多個步驟佇列耦合之一命令解碼器。 [15] 如請求項14之微控制器,其中該一個周邊設備單元係一類比轉數位轉換器。
类似技术:
公开号 | 公开日 | 专利标题 TWI545440B|2016-08-11|周邊設備觸發產生器 US10019286B2|2018-07-10|Time critical tasks scheduling US5367550A|1994-11-22|Break address detecting circuit TWI556162B|2016-11-01|具有排程單元之微控制器 US8290725B2|2012-10-16|Synchronized reconfiguration of measurement modules JP4299657B2|2009-07-22|マイクロコントローラ TW201707385A|2017-02-16|具有內部計時器之類比對數位轉換器 TWI556160B|2016-11-01|時基週邊裝置 US8627119B2|2014-01-07|Script engine for control of power management controllers US10020815B2|2018-07-10|Apparatus for data converter with internal trigger circuitry and associated methods JP2016538538A|2016-12-08|エッジステアリングを備えた自動試験システム JP2005100017A|2005-04-14|プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法 JP2010141386A|2010-06-24|スキャンタイプのad変換システム US20120179847A1|2012-07-12|Method and System for Implementing Bus Operations with Precise Timing JP6769490B2|2020-10-14|集積回路装置 JP2009199424A|2009-09-03|マイクロコンピュータ JP6455247B2|2019-01-23|モータ制御回路および電子時計 Katupitiya et al.2006|The PC Timer JP2004348568A|2004-12-09|デバッグシステム装置 JP2001337847A|2001-12-07|プロセッサ回路 JP2014016913A|2014-01-30|エミュレータ WO2012120760A1|2012-09-13|半導体装置
同族专利:
公开号 | 公开日 CN103858115B|2018-04-27| CN103858115A|2014-06-11| US20140075052A1|2014-03-13| KR20140075714A|2014-06-19| US8856406B2|2014-10-07| EP2756407A1|2014-07-23| WO2013040280A1|2013-03-21| EP2756407B1|2019-08-07| TWI545440B|2016-08-11|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 TWI664514B|2017-05-04|2019-07-01|台達電子工業股份有限公司|環境控制系統及其導引人員對環境狀態進行需求回應的方法|JP2962886B2|1991-07-19|1999-10-12|三菱電機株式会社|Tdma処理装置| US5751735A|1996-11-14|1998-05-12|Hewlett-Packard Company|Integrated debug trigger method and apparatus for an integrated circuit| US6112318A|1997-08-11|2000-08-29|Digital Equipment Corporation|Performance counters controlled by programmable logic| US6145020A|1998-05-14|2000-11-07|Advanced Technology Materials, Inc.|Microcontroller incorporating an enhanced peripheral controller for automatic updating the configuration date of multiple peripherals by using a ferroelectric memory array| US7017091B2|2001-03-19|2006-03-21|Credence Systems Corporation|Test system formatters configurable for multiple data rates| US6880137B1|2001-08-03|2005-04-12|Inovys|Dynamically reconfigurable precision signal delay test system for automatic test equipment| US7149926B2|2003-05-22|2006-12-12|Infineon Technologies Ag|Configurable real-time trace port for embedded processors| US7607571B2|2003-05-30|2009-10-27|Intellidot Corporation|Medical work flow system| US7591187B2|2005-05-10|2009-09-22|Microstrain, Inc.|Wireless vibrating strain gauge for smart civil structures| US7434123B2|2005-08-25|2008-10-07|Honeywell International Inc.|Single event functional interrupt detection system| FR2896368B1|2006-01-18|2008-03-14|Atmel Corp|Appareil pour ameliorer l'efficacite du microprogramme pour une interface serie multitrame| US7958291B2|2006-10-10|2011-06-07|Atmel Rousset S.A.S.|Supplemental communication interface| US7765323B2|2006-12-29|2010-07-27|Intel Corporation|Sink device addressing mechanism| US8468393B2|2007-06-28|2013-06-18|Arm Limited|Triggering diagnostic operations within a data processing apparatus| US7760123B2|2007-10-08|2010-07-20|General Electric Company|Data acquisition system for photon counting and energy discriminating detectors| TWI380276B|2007-12-21|2012-12-21|Holtek Semiconductor Inc|Signal processing circuit and method| CN101571555B|2009-06-10|2010-09-08|东南大学|一种串行外设接口总线信号的触发方法| US8880961B2|2012-01-31|2014-11-04|Infineon Technologies Ag|System and method of computation by signature analysis|US9083347B1|2014-05-16|2015-07-14|Xilinx, Inc.|Built-in integrated circuit debug design| US20160269016A1|2015-03-12|2016-09-15|Microchip Technology Incorporated|Combinatorial/sequential pulse width modulation| US9612893B2|2015-05-11|2017-04-04|Silicon Laboratories Inc.|Peripheral watchdog timer| JP6415385B2|2015-05-27|2018-10-31|ルネサスエレクトロニクス株式会社|半導体装置| CN111684373A|2018-02-07|2020-09-18|三菱电机株式会社|输入输出控制单元、可编程逻辑控制器及检查系统| CN109766291B|2018-12-06|2020-10-23|珠海格力电器股份有限公司|一种i/o端口的自动配置方法及系统|
法律状态:
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US201161534619P| true| 2011-09-14|2011-09-14|| US13/613,784|US8856406B2|2011-09-14|2012-09-13|Peripheral trigger generator| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|