微控制器裝置及其動(dòng)作控制方法
【專利說明】微控制器裝置及其動(dòng)作控制方法
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)要求基于2014年I月9日提交的日本專利申請(qǐng)第2014 — 002725號(hào)的優(yōu)先權(quán),該基準(zhǔn)申請(qǐng)的內(nèi)容全部并入到本申請(qǐng)中。
技術(shù)領(lǐng)域
[0003]本發(fā)明涉及微控制器裝置及其動(dòng)作控制方法。
【背景技術(shù)】
[0004]現(xiàn)有技術(shù)中提供了如下技術(shù),S卩,為了提供在要連接多個(gè)微型計(jì)算機(jī)的情況下也不需要追加緩沖電路的微控制器,而使微控制器具有多個(gè)外圍電路,設(shè)置在這些外圍電路與輸入輸出端子之間的緩沖電路以及對(duì)外部信號(hào)控制緩沖電路的導(dǎo)通進(jìn)行控制的控制電路(例如,參照日本特開平04 - 117585號(hào)公報(bào))。
[0005]包括上述專利文獻(xiàn)這記載的技術(shù)在內(nèi)提出了考慮與外圍電路的對(duì)應(yīng),裝入到各種電子設(shè)備中的各種微型計(jì)算機(jī)(以下稱作“微控制器”)。在這種微控制器中,在I芯片內(nèi)除CPU(Central Processing Unit:中央處理器)以外,還包括計(jì)時(shí)器和各種外部接口。
[0006]在近年的微控制器中,為了進(jìn)一步減小耗電,設(shè)法盡量使CPU不工作。作為其中之一,有不經(jīng)由CPU僅在外圍電路間進(jìn)行外圍電路的啟動(dòng)控制的技術(shù)。然而,在該技術(shù)中,僅將各外圍電路的事件輸出用于其他外圍電路的啟動(dòng)。因此,為了檢測(cè)微控制器的外部裝置的狀態(tài)異常,必須高頻度地啟動(dòng)CPU,其結(jié)果,存在CPU的電力消耗增加這樣的不良情況。
【發(fā)明內(nèi)容】
[0007]本發(fā)明是鑒于上述情況而做出的,其目的是提供能夠盡力抑制CPU的電力消耗并且能夠使各外圍電路之間的協(xié)作操作連續(xù)執(zhí)行的微控制器裝置及其動(dòng)作控制方法。
[0008]本發(fā)明提供一種微控制器裝置,其在I個(gè)芯片內(nèi)包括CPU、根據(jù)觸發(fā)信號(hào)啟動(dòng)并執(zhí)行規(guī)定處理的多個(gè)外圍電路以及控制所述多個(gè)外圍電路啟動(dòng)的外圍控制單元,其特征在于,所述多個(gè)外圍電路的至少一個(gè)外圍電路對(duì)外部裝置的動(dòng)作進(jìn)行控制,并具有:結(jié)束判定單元,其判定所述外部裝置的動(dòng)作是否正常結(jié)束;以及結(jié)束控制單元,其在由所述結(jié)束判定單元判定為所述外部裝置的動(dòng)作是正常結(jié)束時(shí),使該外圍電路進(jìn)入下一觸發(fā)信號(hào)的待機(jī)狀態(tài),在判定為不是正常結(jié)束時(shí),產(chǎn)生針對(duì)所述CPU的中斷信號(hào)。
[0009]本發(fā)明提供一種微控制器裝置的動(dòng)作控制方法,其中,所述微控制器裝置在I個(gè)芯片內(nèi)包括CPU、根據(jù)觸發(fā)信號(hào)啟動(dòng)并執(zhí)行規(guī)定處理的多個(gè)外圍電路以及控制所述多個(gè)外圍電路的啟動(dòng)的外圍控制單元,所述動(dòng)作控制方法的特征在于,使所述多個(gè)外圍電路中的至少一個(gè)外圍電路對(duì)外部裝置的動(dòng)作進(jìn)行控制,并包括:結(jié)束判定步驟,其判定所述外部裝置的動(dòng)作是否正常結(jié)束;以及結(jié)束控制步驟,其在由所述結(jié)束判定步驟判定為所述外部裝置的動(dòng)作是正常結(jié)束時(shí),使該外圍電路進(jìn)入下一觸發(fā)信號(hào)的待機(jī)狀態(tài),在判定為不是正常結(jié)束時(shí),對(duì)所述CPU產(chǎn)生中斷信號(hào)。
【附圖說明】
[0010]圖1是表示將本發(fā)明的一個(gè)實(shí)施方式的MCU與外部的閃存ROM以及傳感器連接的系統(tǒng)的結(jié)構(gòu)的框圖。
[0011]圖2是表示該實(shí)施方式的MCU的詳細(xì)的電路結(jié)構(gòu)的框圖。
[0012]圖3是表示該實(shí)施方式的串行接口的內(nèi)部電路結(jié)構(gòu)的框圖。
[0013]圖4是表示該實(shí)施方式的外圍鏈路控制器(PLC)的內(nèi)部電路結(jié)構(gòu)的框圖。
[0014]圖5是表不該實(shí)施方式的在傳感器與RAM以及閃存ROM之間收發(fā)的一系列數(shù)據(jù)的流向的圖。
[0015]圖6是表示該實(shí)施方式的通過CPU檢測(cè)外部裝置的狀態(tài)異常的處理內(nèi)容的流程圖。
[0016]圖7A至圖7D是表示該實(shí)施方式的、MCU內(nèi)與外部裝置的動(dòng)作時(shí)刻的時(shí)序圖。
[0017]圖8是表示該實(shí)施方式的在選擇器中設(shè)定的各種信號(hào)的輸入目的地和觸發(fā)信號(hào)的輸出目的地的關(guān)系的圖。
[0018]圖9A和圖9B是表示該實(shí)施方式的第I串行接口執(zhí)行的協(xié)議的圖。
[0019]圖1OA和圖1OB是表示該實(shí)施方式的第2串行接執(zhí)行的協(xié)議的圖。
【具體實(shí)施方式】
[0020]以下,對(duì)本發(fā)明的一個(gè)實(shí)施方式的微控制器裝置(以下稱作“MCU”)進(jìn)行說明。
[0021]圖1是表示本實(shí)施方式的將MCU21與外部的閃存R0M22以及傳感器23連接的系統(tǒng)的結(jié)構(gòu)的框圖。在該圖中,閃存R0M22是用于保存數(shù)據(jù)的非易失性存儲(chǔ)器。傳感器23進(jìn)行各種感應(yīng),并輸出獲取的數(shù)據(jù)。
[0022]MCU21被供給動(dòng)作時(shí)鐘(CLK)和復(fù)位(RESET)信號(hào)。MCU21和傳感器23通過第I串行接口連接,并且從MCU21向傳感器23供給芯片選擇信號(hào)CS — I。同樣地,MCU21和閃存R0M22通過第2串行接口連接,并且從MCU21向閃存R0M22供給芯片選擇信號(hào)CS — 2。
[0023]圖2是表示上述MCU21的詳細(xì)的電路結(jié)構(gòu)的框圖。MCU21包括CPU內(nèi)核31、RAM32、閃存程序存儲(chǔ)器33、第IDMA控制器34、以及第2DMA控制器35、第I串行接口(I/F) 36、第2串行接口(I/F)37、多用途接口(I/F) 38、第I計(jì)時(shí)器/計(jì)數(shù)器39、第2計(jì)時(shí)器/計(jì)數(shù)器40、以及第3計(jì)時(shí)器/計(jì)數(shù)器41。
[0024]所述各電路通過CPU總線CB及作為外圍鏈路總線(peripheral link bus)的外圍反射系統(tǒng)PRS進(jìn)行總線連接。
[0025]CPU內(nèi)核31是根據(jù)處理程序進(jìn)行各種運(yùn)算和處理的中央運(yùn)算裝置。RAM32是暫時(shí)保存數(shù)據(jù)的工作存儲(chǔ)器。閃存程序存儲(chǔ)器33是保存上述CPU內(nèi)核31執(zhí)行的處理程序的非易失性存儲(chǔ)器。
[0026]第IDMA控制器34和第2DMA控制器35分別是例如控制MCU21內(nèi)部的各外圍電路與存儲(chǔ)器之間的直接數(shù)據(jù)傳輸(DMA:直接內(nèi)存存取)的控制器。第IDMA控制器34進(jìn)行作為外圍電路的上述第I串行接口 36與上述RAM32之間的DMA控制。第2DMA控制器35進(jìn)行作為外圍電路的第2串行接口 37與RAM32之間的DMA控制。
[0027]上述第I串行接口 36與上述傳感器23連接。上述第2串行接口 37與上述閃存R0M22連接。
[0028]上述多用途接口 38向上述傳感器23和閃存R0M22輸出上述芯片選擇信號(hào)CS —UCS - 2。
[0029]上述第I計(jì)時(shí)器/計(jì)數(shù)器39、上述第2計(jì)時(shí)器/計(jì)數(shù)器40、以及第3計(jì)時(shí)器/計(jì)數(shù)器41是具有計(jì)時(shí)器和計(jì)數(shù)器的功能的外圍電路。
[0030]上述外圍反射系統(tǒng)PRS內(nèi)置下述的外圍鏈路控制器(PLC)42。該外圍鏈路控制器42接收各外圍電路的條件一致信號(hào),并控制各外圍電路。
[0031]圖3是共同表示作為外圍電路的上述第I串行接口 36以及第2串行接口 37的內(nèi)部電路結(jié)構(gòu)的框圖。
[0032]第I串行接口 36以及第2串行接口 37用作連接MCU21和外部裝置、例如閃存R0M22和傳感器23的裝置。
[0033]第I串行接口 36和第2串行接口 37內(nèi)包括控制及寄存器11、作為接收緩沖區(qū)的Rx緩沖區(qū)12、波特振蕩器13、作為發(fā)送緩沖區(qū)的Tx緩沖區(qū)14、接收用的Rx移位寄存器15、發(fā)送用的Tx移位寄存器16、狀態(tài)檢測(cè)電路51、指令及地址電路52、以及選擇器53。
[0034]控制及寄存器11根據(jù)來自上述外圍鏈路控制器42的觸發(fā)信號(hào),使設(shè)定為基于CPU總線CB的數(shù)據(jù)傳輸動(dòng)作啟動(dòng)。
[0035]上述波特振蕩器13振蕩的動(dòng)作時(shí)鐘被提供給上述Rx移位寄存器15以及Tx移位寄存器16,并且被輸出到該第I串行接口 36和第2串行接口 37外。
[0036]上述Rx移位寄存器15保持接收(Rx)數(shù)據(jù)并向上述Rx緩沖區(qū)12以及狀態(tài)檢測(cè)電路51輸出。Rx緩沖區(qū)12向上述CPU總線CB和外圍反射系統(tǒng)PRS輸出緩沖內(nèi)容,另一方面,在緩沖內(nèi)容已滿時(shí),向串行接口 10外輸出Rx緩沖區(qū)已滿(Full)信號(hào)。
[0037]另一方面,從上述外圍反射系統(tǒng)PRS或CPU總線CB供給的發(fā)送(Tx)數(shù)據(jù)經(jīng)由上述Tx緩沖區(qū)14以及選擇器53,而由Tx移位寄存器16保持后,被輸出到串行接口 10外。另外,上述Tx緩沖區(qū)14在緩沖內(nèi)容變空的時(shí)刻,向串行接口 10外的上述DMA控制器34、35輸出Tx緩沖區(qū)為空(Empty)信號(hào)。
[0038]在圖3中,當(dāng)從外圍反射系統(tǒng)PRS的外圍鏈路控制器42向控制及寄存器11供給觸發(fā)信號(hào)時(shí),Rx移位寄存器15保持從外部裝置接收的接收(Rx)數(shù)據(jù),并向Rx緩沖區(qū)12以及狀態(tài)檢測(cè)電路51輸出。
[0039]該狀態(tài)檢測(cè)電路51也與上述CPU總線CB連接,并進(jìn)行外部裝置的狀態(tài)檢查,在檢測(cè)到出錯(cuò)時(shí),向上述CPU內(nèi)核31輸出中斷用的出錯(cuò)INT信號(hào)。
[0040]指令及地址電路52與CPU總線CB連接,在數(shù)據(jù)輸送的前后向選擇器53輸出必要的地址和指令等。
[0041]上述選擇器53選擇Tx緩沖區(qū)14、以及指令及地址電路52的輸出,將該輸出經(jīng)由上述Tx移位寄存器16,作為發(fā)送(Tx)數(shù)據(jù),向外部裝置輸出。
[0042]圖4是表示上述外圍鏈路控制器(PLC) 42的內(nèi)部結(jié)構(gòu)的框圖。
[0043]從上述CPU內(nèi)核31經(jīng)由CPU總線CB對(duì)控制及寄存器61進(jìn)行設(shè)定。另外,從各外圍電路向選擇器62輸入計(jì)數(shù)一致信號(hào)以及DMA輸送結(jié)束信號(hào)。選擇器62根據(jù)上述控制及寄存器61中的寄存器設(shè)定和來自各外圍電路的信號(hào),向各外圍電路輸出啟動(dòng)用的觸發(fā)信號(hào)。
[0044]接下來,對(duì)上述實(shí)施方式的動(dòng)作進(jìn)行說明。
[0045]此外,在本實(shí)施方式中,如圖5所示,利用計(jì)時(shí)器,定期從MCU21外部的傳感器23接收測(cè)量數(shù)據(jù),每接收四次,將該四次的測(cè)量數(shù)據(jù)保存在MCU21外部的閃存R0M22中,并將這種向閃存R0M22進(jìn)行的輸送處理重復(fù)四次。
[0046]圖6表示將MCU21內(nèi)的CPU內(nèi)核31從閃存程序存儲(chǔ)器33讀出的程序在RAM32中展開并執(zhí)行的、用于檢測(cè)外部裝置的狀態(tài)異常的一系列的動(dòng)作內(nèi)容。
[0047]在處理初始,CPU內(nèi)核31進(jìn)行計(jì)時(shí)器的設(shè)定(步驟S201)、傳感器關(guān)聯(lián)的設(shè)定(步驟S202)、閃存ROM關(guān)聯(lián)的設(shè)定(步驟S203)、以及外圍鏈路控制器(PLC) 42關(guān)聯(lián)的設(shè)定(步驟S204)和中斷的許可設(shè)定(步驟S205)。圖7A表示此時(shí)的CPU內(nèi)核31和第I計(jì)時(shí)器/計(jì)數(shù)器39、第2計(jì)時(shí)器/計(jì)數(shù)器40、以及第3計(jì)時(shí)器/計(jì)數(shù)