亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在微控制器單元和主處理器之間通信的電子設(shè)備及其方法

文檔序號(hào):10533859閱讀:384來源:國(guó)知局
在微控制器單元和主處理器之間通信的電子設(shè)備及其方法
【專利摘要】本發(fā)明涉及在微控制器單元和主處理器之間通信的電子設(shè)備及其方法。一種電子設(shè)備可包括:均可在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換的系統(tǒng)時(shí)鐘、串行外圍接口(SPI)時(shí)鐘和主接口,耦合至系統(tǒng)時(shí)鐘的串行控制器以及存儲(chǔ)器。從屬控制器可基于來自主處理器的事務(wù)請(qǐng)求而生成請(qǐng)求活動(dòng)信號(hào)并且致使系統(tǒng)時(shí)鐘、SPI時(shí)鐘和主接口中的每個(gè)進(jìn)入活動(dòng)狀態(tài),將請(qǐng)求數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中,并且基于被存儲(chǔ)的請(qǐng)求數(shù)據(jù)將主接口切換至非活動(dòng)狀態(tài)。串行橋控制器可基于請(qǐng)求活動(dòng)信號(hào)處理請(qǐng)求,以及基于被處理的請(qǐng)求生成請(qǐng)求完成信號(hào)。從屬控制器可基于請(qǐng)求完成信號(hào)而將系統(tǒng)時(shí)鐘切換至非活動(dòng)狀態(tài)。SPI時(shí)鐘可基于請(qǐng)求完成信號(hào)而被切換至非活動(dòng)狀態(tài)。
【專利說明】
在微控制器單元和主處理器之間通信的電子設(shè)備及其方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及電子領(lǐng)域,更特別地涉及串行外圍接口(SPI)通信設(shè)備和相關(guān)方法。
【背景技術(shù)】
[0002]處理器可通過接口或總線與外圍設(shè)備通信。例如,主處理器可通過外圍設(shè)備接口總線與基于微控制器的設(shè)備通信。外圍接口總線的示例是串行外圍接口(SPI)總線。SPI總線是用于較短距離通信的同步串行通信設(shè)備。例如,SPI總線可以用于與傳感器、存儲(chǔ)卡、和/或嵌入系統(tǒng)通信。
[0003]然而,在一些應(yīng)用中,例如對(duì)于成組數(shù)據(jù)(burst data),使用SPI總線,數(shù)據(jù)傳送控制可能變得越來越困難。此外,由于可能包括SPI設(shè)備的更多的電子設(shè)備是便攜式并且例如由電池供電,電子設(shè)備的功率消耗可能特別受關(guān)注。

【發(fā)明內(nèi)容】

[0004]—種用于在微控制器單元(M⑶)和主處理器之間通信的電子設(shè)備可包括:系統(tǒng)時(shí)鐘,被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換;和串行外圍接口(SPI)時(shí)鐘,被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換。電子設(shè)備還可包括串行橋控制器,被耦合至所述系統(tǒng)時(shí)鐘;串行總線存儲(chǔ)器,被耦合至所述SPI時(shí)鐘;和主串行接口,被耦合至所述串行總線存儲(chǔ)器并且被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換。SPI從屬控制器可被耦合至所述串行總線存儲(chǔ)器、所述主串行接口和所述SPI時(shí)鐘。SPI從屬控制器被配置成:基于來自所述主處理器的用于事務(wù)的請(qǐng)求而生成請(qǐng)求活動(dòng)信號(hào),所述請(qǐng)求活動(dòng)信號(hào)致使所述系統(tǒng)時(shí)鐘、所述SPI時(shí)鐘和所述主串行接口中的每個(gè)進(jìn)入所述活動(dòng)狀態(tài),基于所述請(qǐng)求活動(dòng)信號(hào),將對(duì)應(yīng)于來自所述主處理器到所述MCU的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)存儲(chǔ)在所述串行總線存儲(chǔ)器中,以及基于對(duì)應(yīng)于被存儲(chǔ)的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)將所述主串行接口切換至所述非活動(dòng)狀態(tài)。所述串行橋控制器可被配置成:基于所述請(qǐng)求活動(dòng)信號(hào)處理用于所述事務(wù)的請(qǐng)求,以及基于被處理的用于所述事務(wù)的請(qǐng)求生成請(qǐng)求完成信號(hào)。所述SPI從屬控制器可被配置成基于所述請(qǐng)求完成信號(hào)而將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。所述SPI時(shí)鐘可基于所述請(qǐng)求完成信號(hào)而被切換至所述非活動(dòng)狀態(tài)。因此,電子設(shè)備可例如通過減小功率消耗并且提供對(duì)在主設(shè)備和MCU之間的通信效率的增強(qiáng)管理而增大使用SPI總線的通信效率。
[0005]時(shí)鐘可例如基于沒有來自所述主處理器的用于事務(wù)的進(jìn)一步請(qǐng)求而被切換至所述非活動(dòng)狀態(tài)。所述串行橋控制器可包括耦合在一起的多個(gè)時(shí)序邏輯電路并且被配置成基于所述請(qǐng)求活動(dòng)信號(hào)和所述系統(tǒng)時(shí)鐘而生成所述請(qǐng)求完成信號(hào)。
[0006]串行橋控制器可包括延遲電路裝置,被配置成與所述SPI從屬控制器協(xié)作以延遲將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。所述延遲電路裝置可例如包括系統(tǒng)時(shí)鐘分頻器和與其耦合的延遲計(jì)數(shù)器。所述系統(tǒng)時(shí)鐘分頻器可例如包括X分頻(divide by X)系統(tǒng)時(shí)鐘分頻器,其中X是按照系統(tǒng)時(shí)鐘周期將系統(tǒng)時(shí)鐘切換至非活動(dòng)狀態(tài)的延遲。所述延遲電路裝置可被配置成以大于所述系統(tǒng)時(shí)鐘的兩個(gè)時(shí)鐘周期的延遲來延遲將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。
[0007]所述SPI從屬控制器可包括耦合在一起的多個(gè)時(shí)序邏輯電路。所述串行橋控制器可被配置成例如基于讀取來自所述串行總線存儲(chǔ)器的用于所述事務(wù)的請(qǐng)求而處理用于所述事務(wù)的請(qǐng)求。
[0008]方法方面涉及一種用于在微控制器單元(M⑶)和主處理器之間通信的方法。所述方法包括:使用耦合至串行總線存儲(chǔ)器、主串行接口和SPI時(shí)鐘的串行外圍接口(SPI)從屬控制器以基于來自所述主處理器的用于事務(wù)的請(qǐng)求而生成請(qǐng)求活動(dòng)信號(hào),其中所述SPI時(shí)鐘被耦合至所述串行總線存儲(chǔ)器。所述請(qǐng)求活動(dòng)信號(hào)致使耦合至串行橋控制器的系統(tǒng)時(shí)鐘、所述SPI時(shí)鐘和所述主串行接口中的每個(gè)進(jìn)入活動(dòng)狀態(tài)。使用SPI從屬控制器以基于所述請(qǐng)求活動(dòng)信號(hào),將對(duì)應(yīng)于來自所述主處理器到所述MCU的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)存儲(chǔ)在所述串行總線存儲(chǔ)器中,以及基于對(duì)應(yīng)于被存儲(chǔ)的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)將所述主串行接口切換至所述非活動(dòng)狀態(tài)。使用所述串行橋控制器以基于所述請(qǐng)求活動(dòng)信號(hào)處理用于所述事務(wù)的請(qǐng)求,以及基于被處理的用于所述事務(wù)的請(qǐng)求生成請(qǐng)求完成信號(hào)。所述SPI從屬控制器還被用于基于所述請(qǐng)求完成信號(hào)而將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。所述SPI時(shí)鐘可基于所述請(qǐng)求完成信號(hào)而被切換至所述非活動(dòng)狀態(tài)。
【附圖說明】
[0009]圖1是根據(jù)本發(fā)明的實(shí)施例的電子設(shè)備的示意框圖。
[0010]圖2是圖1的SPI從屬控制器的一部分的示意性電路圖。
[0011]圖3是圖1的串行橋控制器的一部分的示意性電路圖。
[0012]圖4是圖1的串行橋控制器的另一部分的示意性電路圖。
[0013]圖5是圖1的串行橋控制器的另一部分的示意性電路圖。
【具體實(shí)施方式】
[0014]現(xiàn)在下面將參照附圖更全面的說明本發(fā)明,其中示出本發(fā)明的優(yōu)選實(shí)施例。然而,本發(fā)明可以實(shí)現(xiàn)成多種形式,并且不應(yīng)當(dāng)解釋為限制為這里所述的實(shí)施例。反而,這些實(shí)施例被提供使得本公開可以更透徹和完整,并且將本發(fā)明的范圍全面地傳遞給本領(lǐng)域的普通技術(shù)人員。貫穿其中相似的附圖標(biāo)記表示相似的元件。
[0015]首先參照?qǐng)D1,用于在微控制器單元(MCU)40和主處理器70之間通信的電子設(shè)備10圖示性地包括被配置成可在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換的系統(tǒng)時(shí)鐘11和也被配置成可在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換的串行外圍接口( SPI)時(shí)鐘12。系統(tǒng)時(shí)鐘11在沒有活動(dòng)時(shí)是斷開或關(guān)閉的,如本領(lǐng)域的普通技術(shù)人員所理解的并且如下將進(jìn)一步說明的。
[0016]電子設(shè)備10還包括耦合至系統(tǒng)時(shí)鐘11的串行橋控制器20。串行總線存儲(chǔ)器15、例如串行總線寄存器被耦合至SPI時(shí)鐘12。
[0017]主串行接口80被耦合至串行總線存儲(chǔ)器15。主串行接口 80被配置成可以在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換。
[0018]電子設(shè)備10還包括耦合至串行總線存儲(chǔ)器15、主串行接口 80和SPI時(shí)鐘12的SPI從屬控制器100 API從屬控制器被配置成基于來自主處理器70的用于事務(wù)的請(qǐng)求而生成請(qǐng)求活動(dòng)信號(hào)。請(qǐng)求活動(dòng)信號(hào)導(dǎo)致系統(tǒng)時(shí)鐘11、SPI時(shí)鐘12和主串行接口 80中的每個(gè)進(jìn)入活動(dòng)狀態(tài)。SPI從屬控制器還被配置成基于請(qǐng)求活動(dòng)信號(hào)將對(duì)應(yīng)于來自來自主處理器70到MCU 40的用于事務(wù)的請(qǐng)求的數(shù)據(jù)存儲(chǔ)到串行總線存儲(chǔ)器15中,并且基于對(duì)應(yīng)于被存儲(chǔ)的用于事務(wù)的請(qǐng)求的數(shù)據(jù)將主串行接口 80切換至非活動(dòng)狀態(tài)。
[0019]串行橋控制器20被配置成基于請(qǐng)求活動(dòng)信號(hào)處理用于事務(wù)的請(qǐng)求,并且基于被處理的用于事務(wù)的請(qǐng)求而生成請(qǐng)求完成信號(hào)。
[0020]SPI從屬控制器100被配置成基于請(qǐng)求完成信號(hào)將系統(tǒng)時(shí)鐘11切換成非活動(dòng)狀態(tài)。SPI時(shí)鐘12還基于請(qǐng)求完成信號(hào)被切換成非活動(dòng)狀態(tài)。
[0021]圖示性地,串行橋控制器20通過存儲(chǔ)器接口30與M⑶40對(duì)接,存儲(chǔ)器接口 30被耦合至MCU、存儲(chǔ)器50和控制和狀態(tài)電路裝置60 JCU 40可以例如是8051MCU。存儲(chǔ)器50在一個(gè)示例性實(shí)施例中可以包括多個(gè)存儲(chǔ)器或存儲(chǔ)塊,包括12KB EEPR0M、32KB ROM和256字節(jié)DPRAM。當(dāng)然,存儲(chǔ)器50可以包括其他和/或附加的存儲(chǔ)器或存儲(chǔ)塊??刂坪蜖顟B(tài)電路裝置60可以包括模擬-數(shù)字轉(zhuǎn)換器(ADC)電路裝置,包括控制、狀態(tài)和ADC轉(zhuǎn)換結(jié)果數(shù)據(jù)。
[0022]SPI從屬控制器100和串行總線存儲(chǔ)器15基于SPI時(shí)鐘12操作。其余塊基于系統(tǒng)時(shí)鐘11操作。系統(tǒng)時(shí)鐘11在沒有活動(dòng)時(shí)關(guān)閉。
[0023]如將在下面進(jìn)一步詳細(xì)說明的,如果主處理器70例如不發(fā)起SPI事務(wù),則主串行接口 80是空閑或非活動(dòng),SPI時(shí)鐘12非活動(dòng),并且系統(tǒng)時(shí)鐘11也是非活動(dòng)。這可以減小功率消耗。
[0024]現(xiàn)在附加地參考圖2,現(xiàn)在將說明電子設(shè)備10的不同部件及其操作。當(dāng)主處理器70發(fā)起SPI事務(wù)時(shí),CSZ_i(芯片選擇,低電平有效)是低,CSZ_i異步地設(shè)置時(shí)序邏輯電路的輸出,特別是將觸發(fā)器101的輸出(wakeup_clk_dl)和觸發(fā)器102的輸出(Wakeup_clk_d2)設(shè)置成I。觸發(fā)器1 2的輸出被連接至兩個(gè)輸入OR門104的輸入。OR門104的輸出(s er_o s c_en)被用于從SPI總線異步地喚醒系統(tǒng)時(shí)鐘11,以允許處理主處理器請(qǐng)求。
[0025]當(dāng)主處理器70發(fā)起SPI事務(wù)時(shí),將請(qǐng)求信息成組寫入(burstwrite)串行總線存儲(chǔ)器15,用于遞送。特別地,針對(duì)來自主處理器70的寫請(qǐng)求,串行總線存儲(chǔ)器地址OOh利用系統(tǒng)地址位15-8寫入,并且地址Olh利用系統(tǒng)地址位7-0寫入,命令寄存器(地址= 02h)利用讀或?qū)懻?qǐng)求指示、存儲(chǔ)器或寄存器訪問、和傳送字節(jié)計(jì)數(shù)數(shù)據(jù)來寫入,并且地址03h-06h利用被加載到寫數(shù)據(jù)緩沖中的寫數(shù)據(jù)來寫入。針對(duì)來自主處理器70讀請(qǐng)求的讀請(qǐng)求,串行總線存儲(chǔ)器地址00h-02h利用系統(tǒng)地址和命令寄存器數(shù)據(jù)來寫入。
[0026]當(dāng)主處理器70寫入命令寄存器(地址=02h)時(shí),reg位(命令寄存器的位3)被設(shè)置成I。在寫入到命令寄存器循環(huán)處,acc_req=l,acc_ctl_wr= I,并且spi_clk(SPI時(shí)鐘12)的上升沿將觸發(fā)器106的輸出req設(shè)置成I Aeq是兩個(gè)輸入AND門116中的一個(gè)輸入。AND門116的輸出req_act也用于將系統(tǒng)時(shí)鐘11維持在啟動(dòng)狀態(tài)(即運(yùn)行)中。Req_act對(duì)應(yīng)于主處理器請(qǐng)求階段是否活動(dòng)。Req_act被spi_Wr_pend(即,觸發(fā)器108的輸出)臨時(shí)地禁用。當(dāng)主處理器70結(jié)束寫入至命令寄存器時(shí),將req設(shè)置成1,并且將觸發(fā)器108的輸出spi_Wr_pend設(shè)置成I ο spi_wr_pend用于禁止使req_act變成或設(shè)置成I。當(dāng)spi_wr_pend是I時(shí),通過反相器114被反相成0,所以AND門116輸出的輸出是(Lspi_Wr_pend對(duì)應(yīng)于SPI寫操作是否在處理中并且尚未完成,使得req_act仍未設(shè)置成I。
[0027]當(dāng)主處理器70完成寫操作以遞送請(qǐng)求信息時(shí),釋放芯片選擇(csz_i)至I。當(dāng)csz_i是I時(shí),反相器112的輸出異步地將觸發(fā)器108的輸出8口;[_'\¥1^011(1重置為0。當(dāng)8口;[_¥1^611(1是O時(shí),反相器114輸出是1,并且AND門115的輸出req_act被設(shè)置成UReq_aCt被發(fā)送至串行橋控制器20,以發(fā)起到系統(tǒng)時(shí)鐘11的請(qǐng)求階段。
[0028]當(dāng)主處理器70在遞送請(qǐng)求數(shù)據(jù)后結(jié)束SPI事務(wù)時(shí),csz_i變高(非活動(dòng))。當(dāng)OR門104的輸出ser_0SC_en是I時(shí),系統(tǒng)時(shí)鐘11被啟動(dòng)。當(dāng)系統(tǒng)時(shí)鐘11運(yùn)行或活動(dòng)時(shí),時(shí)間存在一定延遲,系統(tǒng)時(shí)鐘11 (sys_cIk和sys_clk_ana_i)(例如4MHz時(shí)鐘,可以是系統(tǒng)時(shí)鐘的頻率)和clk32K(例如,下分32KHz時(shí)鐘)兩者活動(dòng)或運(yùn)行。
[0029]當(dāng)完成以遞送存儲(chǔ)器或寄存器讀或?qū)懻?qǐng)求的寫事務(wù)時(shí),CSZ_i變高,并且主串行接口 80變成空閑狀態(tài)。在兩個(gè)clk32K(32KHz時(shí)鐘)循環(huán)之后,觸發(fā)器102的輸出rakup_clk_d2是0,并且禁止其振蕩器啟動(dòng)功能。OR門104的輸出ser_ocs_en(串行總線振蕩器時(shí)鐘啟動(dòng))仍是1(活動(dòng)),因?yàn)閞eq_act是I。
[0030]當(dāng)req_aCt被設(shè)置成I時(shí),主處理器70將存儲(chǔ)器或寄存器讀或?qū)懻?qǐng)求發(fā)送至串行橋控制器20。串行橋控制器20處理請(qǐng)求。在完成請(qǐng)求之后,串行橋控制器20針對(duì)一個(gè)sys_Clk周期將req_d0ne(請(qǐng)求完成)設(shè)置成I。當(dāng)req_d0ne是I時(shí),串行橋控制器20通過反相器110將觸發(fā)器106的輸出req異步重置成O。當(dāng)req是O時(shí),AND門116的輸出代9_3(31:是0<^69_3(31:是0,使得OR門104的輸出ser_osc_en設(shè)置成(LseLoscen是0,使在四個(gè)clk32K(32KHz時(shí)鐘)時(shí)鐘周期延遲之后關(guān)閉系統(tǒng)時(shí)鐘11。
[0031]存在同步器邏輯使得觸發(fā)器106的輸出req與SPI時(shí)鐘12同步。同步經(jīng)歷觸發(fā)器118和觸發(fā)器120。觸發(fā)器120的輸出req_d2是SPI總線req讀取值。主處理器70讀取命令寄存器(串行總線寄存器地址= 02h)位3(req)。如果req讀取值是0,則完成請(qǐng)求。如果主處理器70發(fā)送讀請(qǐng)求,讀取數(shù)據(jù)被存儲(chǔ)在rd_buf 1-rd_buf 4中。
[0032]串行橋控制器20包括延遲電路裝置90,其包括系統(tǒng)時(shí)鐘分頻器220和與其耦合的延遲計(jì)數(shù)器222。系統(tǒng)時(shí)鐘分頻器220可以是X分頻系統(tǒng)時(shí)鐘分頻器,其中X是按照系統(tǒng)時(shí)鐘周期將系統(tǒng)時(shí)鐘11切換至非活動(dòng)狀態(tài)的延遲,如下面將進(jìn)一步詳細(xì)說明的。
[0033]現(xiàn)在附加地參考圖3,延遲邏輯或電路裝置90將時(shí)鐘驅(qū)動(dòng)至其他數(shù)字電路,直到系統(tǒng)時(shí)鐘頻率是穩(wěn)定的為止。在禁用系統(tǒng)時(shí)鐘之后,針對(duì)四個(gè)32KHz的時(shí)鐘周期,延遲電路裝置90延遲關(guān)閉系統(tǒng)時(shí)鐘11。
[0034]Ser_osc_en是OR門201的一個(gè)輸入。0sc_pwr是來自控制和狀態(tài)電路裝置60的位。主處理器70可以通過主串行接口80寫入至osc_pwr,以將其設(shè)置成I或O。當(dāng)ocs_pwr被設(shè)置成I時(shí),振蕩器時(shí)鐘11啟動(dòng)。當(dāng)osc_pwr被清至O時(shí),如果ser_osc_en是O,則振蕩器時(shí)鐘11禁用。
[0035]當(dāng)或者ser_osc_en或者osc_pwr是I時(shí),OR門201輸出osc_en是I,并且異步地將觸發(fā)器204、206、208、210通過反相器202設(shè)置成I。觸發(fā)器210的輸出osc_pwr_ana_o被設(shè)置成1,并且啟動(dòng)系統(tǒng)時(shí)鐘11。系統(tǒng)時(shí)鐘輸出被命名為878_(:11^_&11&_1,其為410^時(shí)鐘。878_(311ana_i是驅(qū)動(dòng)時(shí)鐘分頻器(1/125)220的時(shí)鐘,其用125來分頻4MHz時(shí)鐘,以生成命名為clk32K_raw的32KHz時(shí)鐘。clk32K_raw被用于計(jì)時(shí)延遲計(jì)數(shù)器222。在計(jì)數(shù)= 732KHz時(shí)鐘周期之后,clk_en(時(shí)鐘輸出啟動(dòng))被設(shè)置成I。當(dāng)clk_en是I時(shí),反相器224輸出是0,并且clk32K_raw經(jīng)過OR門226(:讓321(。(311^321(被用于驅(qū)動(dòng)使用32KHz時(shí)鐘的其他數(shù)字電路。
[0036](311^_611與觸發(fā)器212、214同步以在2個(gè)85^_(311^_3肪_;[時(shí)鐘周期之后,將85^_(311^_en2(系統(tǒng)時(shí)鐘輸出啟動(dòng))設(shè)置成I。當(dāng)sys_clk_en2是I時(shí),反相器216輸出是O,并且允許sys_clk_ana_i通過OR門218輸出sysjlkaSysjlk是4MHz系統(tǒng)時(shí)鐘,并且clk32K是下分頻32KHz時(shí)鐘。Sys_clk和clk32K兩者被用在串行總線存儲(chǔ)器15和SPI從屬控制器100之外的系統(tǒng)數(shù)字電路中。
[0037]當(dāng)ser_osc_en和osc_pwr是O時(shí),osc_en是O,并且在4個(gè)clk32K_raw時(shí)鐘周期之后,觸發(fā)器210的輸出ο s c_pwr_ana_o是O。當(dāng)o s c_pwr_ana_o是O時(shí),系統(tǒng)時(shí)鐘11關(guān)閉,并且sy s_c I k_ana_i停止運(yùn)行。
[0038]在系統(tǒng)時(shí)鐘11關(guān)閉之前的一個(gè)32-KHz時(shí)鐘周期,osc_en_d3被設(shè)置成O,其異步地將clk_en重置成O。當(dāng)clk_en是O時(shí),clk32K停止運(yùn)行并且保持高。當(dāng)clk_en是O時(shí),在兩個(gè)sys_clk_ana_iJt鐘周期之后通過同步觸發(fā)器212、214,sys_clk(4MHz時(shí)鐘)停止運(yùn)行并且保持高。當(dāng)系統(tǒng)時(shí)鐘11sys_clk_ana_i不需要時(shí),其被關(guān)閉以節(jié)省功率。
[0039]現(xiàn)在參考圖4,說明用于串行橋控制器20的接口信號(hào)。串行橋控制器20是與串行總線存儲(chǔ)器15和存儲(chǔ)器接口 30通信的橋控制器。
[0040]串行橋控制器20從提供請(qǐng)求信息的串行總線存儲(chǔ)器15接收請(qǐng)求命令。ACC_adrl6是16位存儲(chǔ)器50或者控制和狀態(tài)電路裝置60訪問地址。Acc_ctl2是2位訪問控制,其被定義為16位或8位地址或EEPROM存儲(chǔ)器訪問或EEPROM測(cè)試寄存器訪問。如果R_wz是I,則是讀請(qǐng)求。如果R_wz是0,則是寫請(qǐng)求。Byte_cnt3被用于指示數(shù)據(jù)傳輸字節(jié)計(jì)數(shù)。支持高達(dá)4字節(jié)的數(shù)據(jù)傳輸。構(gòu)成串行總線存儲(chǔ)器15的寄存器包括4字節(jié)寫數(shù)據(jù)緩沖,并且串行橋控制器20包括4字節(jié)讀數(shù)據(jù)緩沖。當(dāng)req_act是I時(shí),指示來自串行總線存儲(chǔ)器15的新請(qǐng)求。
[0041 ] 在串行橋控制器20完成請(qǐng)求后,針對(duì)I個(gè)sys_clk(4MHz)時(shí)鐘周期,req_done被設(shè)置成UReq+done用于異步地將req_act清至0,使得主處理器70通過讀取命令寄存器的req位(位3)來檢查請(qǐng)求是否完成。主處理器req讀取值被從作為同步器輸出的req_d2表示。如果req_d2是0,則串行橋控制器完成請(qǐng)求。如果req_d2是1,則串行橋控制器仍在處理中。Spi_cIk是SPI時(shí)鐘 12。當(dāng)主串行接口 80空閑時(shí),8口;[_(311<:停止。^'_1311;1^1_(1&七&8、¥1'_131^2_data8、wr_buf3_data8和wr_buf4_data8是來自串行總線存儲(chǔ)器15的4字節(jié)寫數(shù)據(jù)緩沖。Rd_bufl_data8、rd_buf2_data8、rd_buf3_data8和rd_buf4_data8是來自串行橋控制器20的4字節(jié)讀數(shù)據(jù)緩沖。
[0042]串行橋控制器20創(chuàng)建控制和數(shù)據(jù)信號(hào),以與存儲(chǔ)器接口30通信。存儲(chǔ)器接口 30基于4MHz時(shí)鐘(sys_clk)運(yùn)行。串行橋控制器20和8051MCU 40兩者可以發(fā)起存儲(chǔ)器50或CSR電路裝置60訪問,并且存儲(chǔ)器接口 30處理仲裁。Bridge_adrl6是到存儲(chǔ)器接口 30的16位地址。Bridge_rdz是低電平有效讀請(qǐng)求。Bridge_wrz是低電平有效寫請(qǐng)求。Bridge_rd_data8是來自存儲(chǔ)器接口 30的8位數(shù)據(jù)讀取。Brdige_wr_data8是到存儲(chǔ)器接口 30的8位數(shù)據(jù)寫入。存儲(chǔ)器接口30與8051MCU 40、存儲(chǔ)器50和CSR(控制和狀態(tài))電路裝置60通信。8051MCU 40、存儲(chǔ)器50和CSR電路裝置60以4MHz時(shí)鐘(sys_clk)運(yùn)行。
[0043]現(xiàn)在附加地參考圖5,說明在串行橋控制器20中的握手方案。串行橋控制器狀態(tài)機(jī)236處理主請(qǐng)求處理。來自串行總線存儲(chǔ)器15的req_act通過觸發(fā)器230、232同步至878_(:11^域。當(dāng)req_act_d2是I時(shí),串行橋控制器狀態(tài)機(jī)開始處理主請(qǐng)求。在完成主請(qǐng)求之后,針對(duì)一個(gè)sys_clk時(shí)鐘周期,req_done_r^J^設(shè)置成UReq+donej通過觸發(fā)器234由sys_clk登記。在req_done_l是I之后,針對(duì)一個(gè)sys_clk周期,觸發(fā)器234的輸出req_done被設(shè)置成I。利用觸發(fā)器登記req_d0ne_n的原因是創(chuàng)建較清潔的異步重置信號(hào)以將req清至O Aeq是觸發(fā)器106的Q輸出。
[0044]方法方面涉及在微控制器單元(MCU)40和主處理器70之間通信的方法。方法包括,基于來自主處理器70的用于事務(wù)的請(qǐng)求,使用耦合至串行總線存儲(chǔ)器15、主串行接口 80、和(耦合至串行總線存儲(chǔ)器的)SPI時(shí)鐘的串行外圍接口(SPI)從屬控制器100來生成請(qǐng)求活動(dòng)信號(hào)。請(qǐng)求活動(dòng)信號(hào)指示耦合至串行橋控制器20的系統(tǒng)時(shí)鐘IUSPI時(shí)鐘12和主串行接口 80中的每一個(gè)進(jìn)入活動(dòng)狀態(tài)。SPI從屬控制器100被用于基于請(qǐng)求活動(dòng)信號(hào)而將來自主存儲(chǔ)器到MCU 40的用于事務(wù)的請(qǐng)求的數(shù)據(jù)存儲(chǔ)在串行總線存儲(chǔ)器15中,并且基于對(duì)應(yīng)于被存儲(chǔ)的用于事務(wù)的請(qǐng)求的數(shù)據(jù)將主串行接口 80切換至非活動(dòng)狀態(tài)。串行橋控制器20被用于基于請(qǐng)求活動(dòng)信號(hào)來處理用于事務(wù)的請(qǐng)求,并且基于被處理的用于事務(wù)的請(qǐng)求來生成請(qǐng)求完成信號(hào)。SPI從屬控制器100還用于基于請(qǐng)求完成信號(hào)將系統(tǒng)時(shí)鐘11切換成非活動(dòng)狀態(tài)。SPI時(shí)鐘12基于請(qǐng)求完成信號(hào)被切換至非活動(dòng)狀態(tài)。
[0045]獲益于前面的說明和相關(guān)的附圖,本領(lǐng)域的普通技術(shù)人員將想到本發(fā)明的很多變型和其他實(shí)施例。因此,應(yīng)當(dāng)理解,本發(fā)明不限于所公開的特定實(shí)施例,變型和實(shí)施例旨在包含在所附的權(quán)利要求的范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種用于在微控制器單元(MCU)和主處理器之間通信的電子設(shè)備,所述電子設(shè)備包括: 系統(tǒng)時(shí)鐘,被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換; SPI時(shí)鐘,被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換; 串行橋控制器,被耦合至所述系統(tǒng)時(shí)鐘; 串行總線存儲(chǔ)器,被耦合至所述SPI時(shí)鐘; 主串行接口,被耦合至所述串行總線存儲(chǔ)器并且被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換;以及 SPI從屬控制器,被耦合至所述串行總線存儲(chǔ)器、所述主串行接口和所述SPI時(shí)鐘,并且被配置成 基于來自所述主處理器的用于事務(wù)的請(qǐng)求而生成請(qǐng)求活動(dòng)信號(hào),所述請(qǐng)求活動(dòng)信號(hào)致使所述系統(tǒng)時(shí)鐘、所述SPI時(shí)鐘和所述主串行接口中的每個(gè)進(jìn)入所述活動(dòng)狀態(tài), 基于所述請(qǐng)求活動(dòng)信號(hào),將對(duì)應(yīng)于來自所述主處理器到所述MCU的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)存儲(chǔ)在所述串行總線存儲(chǔ)器中,以及 基于對(duì)應(yīng)于被存儲(chǔ)的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)將所述主串行接口切換至所述非活動(dòng)狀態(tài); 所述串行橋控制器被配置成: 基于所述請(qǐng)求活動(dòng)信號(hào)處理用于所述事務(wù)的請(qǐng)求,以及 基于被處理的用于所述事務(wù)的請(qǐng)求生成請(qǐng)求完成信號(hào); 所述SPI從屬控制器被配置成基于所述請(qǐng)求完成信號(hào)而將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài); 所述SPI時(shí)鐘基于所述請(qǐng)求完成信號(hào)而被切換至所述非活動(dòng)狀態(tài)。2.根據(jù)權(quán)利要求1所述的電子設(shè)備,其中所述SPI時(shí)鐘基于沒有來自所述主處理器的用于事務(wù)的進(jìn)一步請(qǐng)求而被切換至所述非活動(dòng)狀態(tài)。3.根據(jù)權(quán)利要求1所述的電子設(shè)備,其中所述串行橋控制器包括耦合在一起的多個(gè)時(shí)序邏輯電路并且被配置成基于所述請(qǐng)求活動(dòng)信號(hào)和所述系統(tǒng)時(shí)鐘而生成所述請(qǐng)求完成信號(hào)。4.根據(jù)權(quán)利要求1所述的電子設(shè)備,其中所述串行橋控制器包括延遲電路裝置,被配置成與所述SPI從屬控制器協(xié)作以延遲將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。5.根據(jù)權(quán)利要求4所述的電子設(shè)備,其中所述延遲電路裝置包括系統(tǒng)時(shí)鐘分頻器和與其耦合的延遲計(jì)數(shù)器。6.根據(jù)權(quán)利要求5所述的電子設(shè)備,其中所述系統(tǒng)時(shí)鐘分頻器包括X分頻系統(tǒng)時(shí)鐘分頻器,其中X是按照系統(tǒng)時(shí)鐘周期將系統(tǒng)時(shí)鐘切換至非活動(dòng)狀態(tài)的延遲。7.根據(jù)權(quán)利要求4所述的電子設(shè)備,其中所述延遲電路裝置被配置成以大于所述系統(tǒng)時(shí)鐘的兩個(gè)時(shí)鐘周期的延遲來延遲將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。8.根據(jù)權(quán)利要求1所述的電子設(shè)備,其中所述SPI從屬控制器包括耦合在一起的多個(gè)時(shí)序邏輯電路。9.根據(jù)權(quán)利要求1所述的電子設(shè)備,其中所述串行橋控制器被配置成基于讀取來自所述串行總線存儲(chǔ)器的用于所述事務(wù)的請(qǐng)求而處理用于所述事務(wù)的請(qǐng)求。10.—種用于在微控制器單元(MCU)和主處理器之間通信的電子設(shè)備,所述電子設(shè)備包括: 系統(tǒng)時(shí)鐘,被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換; SPI時(shí)鐘,被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換; 串行橋控制器,被耦合至所述系統(tǒng)時(shí)鐘; 串行總線存儲(chǔ)器,被耦合至所述SPI時(shí)鐘; 主串行接口,被耦合至所述串行總線存儲(chǔ)器并且被配置成能在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間切換;以及 SPI從屬控制器,被耦合至所述串行總線存儲(chǔ)器、所述主串行接口和所述SPI時(shí)鐘,并且被配置成 基于來自所述主處理器的用于事務(wù)的請(qǐng)求而生成請(qǐng)求活動(dòng)信號(hào),所述請(qǐng)求活動(dòng)信號(hào)致使所述系統(tǒng)時(shí)鐘、所述SPI時(shí)鐘和所述主串行接口中的每個(gè)進(jìn)入所述活動(dòng)狀態(tài), 基于所述請(qǐng)求活動(dòng)信號(hào),將對(duì)應(yīng)于來自所述主處理器到所述MCU的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)存儲(chǔ)在所述串行總線存儲(chǔ)器中,以及 基于對(duì)應(yīng)于被存儲(chǔ)的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)將所述主串行接口切換至所述非活動(dòng)狀態(tài); 所述串行橋控制器被配置成: 基于讀取來自所述串行總線存儲(chǔ)器的用于所述事務(wù)的請(qǐng)求而處理用于所述事務(wù)的請(qǐng)求, 基于被處理的用于所述事務(wù)的請(qǐng)求生成請(qǐng)求完成信號(hào),以及 處理用于所述事務(wù)的請(qǐng)求; 所述SPI從屬控制器被配置成基于所述請(qǐng)求完成信號(hào)而將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài); 所述SPI時(shí)鐘基于所述請(qǐng)求完成信號(hào)并且沒有來自所述主處理器的用于事務(wù)的進(jìn)一步請(qǐng)求而被切換至所述非活動(dòng)狀態(tài)。11.根據(jù)權(quán)利要求10所述的電子設(shè)備,其中所述串行橋控制器包括耦合在一起的多個(gè)時(shí)序邏輯電路并且被配置成基于所述請(qǐng)求活動(dòng)信號(hào)和所述系統(tǒng)時(shí)鐘而生成所述請(qǐng)求完成信號(hào)。12.根據(jù)權(quán)利要求10所述的電子設(shè)備,其中所述串行橋控制器包括延遲電路裝置,被配置成與所述SPI從屬控制器協(xié)作以延遲將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。13.根據(jù)權(quán)利要求12所述的電子設(shè)備,其中所述延遲電路裝置包括系統(tǒng)時(shí)鐘分頻器和與其耦合的延遲計(jì)數(shù)器。14.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中所述系統(tǒng)時(shí)鐘分頻器包括X分頻系統(tǒng)時(shí)鐘分頻器,其中X是按照系統(tǒng)時(shí)鐘周期將系統(tǒng)時(shí)鐘切換至非活動(dòng)狀態(tài)的延遲。15.根據(jù)權(quán)利要求12所述的電子設(shè)備,其中所述延遲電路裝置被配置成以大于所述系統(tǒng)時(shí)鐘的兩個(gè)時(shí)鐘周期的延遲來延遲將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。16.根據(jù)權(quán)利要求10所述的電子設(shè)備,其中所述SPI從屬控制器包括耦合在一起的多個(gè)時(shí)序邏輯電路。17.—種用于在微控制器單元(MCU)和主處理器之間通信的方法,所述方法包括: 使用耦合至串行總線存儲(chǔ)器、主串行接口和SPI時(shí)鐘的串行外圍接口(SPI)從屬控制器來執(zhí)行以下動(dòng)作,其中所述SPI時(shí)鐘被耦合至所述串行總線存儲(chǔ)器: 基于來自所述主處理器的用于事務(wù)的請(qǐng)求而生成請(qǐng)求活動(dòng)信號(hào),所述請(qǐng)求活動(dòng)信號(hào)致使耦合至串行橋控制器的系統(tǒng)時(shí)鐘、所述SPI時(shí)鐘和所述主串行接口中的每個(gè)進(jìn)入活動(dòng)狀態(tài), 基于所述請(qǐng)求活動(dòng)信號(hào),將對(duì)應(yīng)于來自所述主處理器到所述MCU的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)存儲(chǔ)在所述串行總線存儲(chǔ)器中,以及 基于對(duì)應(yīng)于被存儲(chǔ)的用于所述事務(wù)的請(qǐng)求的數(shù)據(jù)將所述主串行接口切換至所述非活動(dòng)狀態(tài); 使用所述串行橋控制器來: 基于所述請(qǐng)求活動(dòng)信號(hào)處理用于所述事務(wù)的請(qǐng)求,以及 基于被處理的用于所述事務(wù)的請(qǐng)求生成請(qǐng)求完成信號(hào); 所述SPI從屬控制器還被用于基于所述請(qǐng)求完成信號(hào)而將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài); 所述SPI時(shí)鐘基于所述請(qǐng)求完成信號(hào)而被切換至所述非活動(dòng)狀態(tài)。18.根據(jù)權(quán)利要求17所述的方法,其中使用所述SPI時(shí)鐘來基于沒有來自所述主處理器的用于事務(wù)的進(jìn)一步請(qǐng)求而被切換至所述非活動(dòng)狀態(tài)。19.根據(jù)權(quán)利要求17所述的方法,其中使用所述串行橋控制器包括使用耦合在一起的多個(gè)時(shí)序邏輯電路,以基于所述請(qǐng)求活動(dòng)信號(hào)和所述系統(tǒng)時(shí)鐘而生成所述請(qǐng)求完成信號(hào)。20.根據(jù)權(quán)利要求17所述的方法,其中使用所述串行橋控制器包括使用延遲電路裝置,以與所述SPI從屬控制器協(xié)作以延遲將所述系統(tǒng)時(shí)鐘切換至所述非活動(dòng)狀態(tài)。
【文檔編號(hào)】G05B19/042GK105892350SQ201610090023
【公開日】2016年8月24日
【申請(qǐng)日】2016年2月17日
【發(fā)明人】B·鄧
【申請(qǐng)人】意法半導(dǎo)體公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1