[發明專利]三線實現和帶有SPI接口外設進行通訊的系統及方法有效
| 申請號: | 201711028851.7 | 申請日: | 2017-10-29 |
| 公開(公告)號: | CN107832249B | 公開(公告)日: | 2020-07-03 |
| 發明(設計)人: | 王郁昕;何寧;李紅豫 | 申請(專利權)人: | 北京聯合大學 |
| 主分類號: | G06F13/42 | 分類號: | G06F13/42 |
| 代理公司: | 北京思海天達知識產權代理有限公司 11203 | 代理人: | 劉萍 |
| 地址: | 100101 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 三線 實現 帶有 spi 接口 外設 進行 通訊 系統 方法 | ||
1.三線SPI通訊系統,其特征在于,包括一個主控設備和多個從設備;主控設備帶有CPU,從設備是數據采集設備或D/A輸出設備;主控設備和從設備都帶有標準的SPI接口,主控設備通過SPI接口的時鐘線SCLK、數據輸入線MDI和數據輸出線MDO經三線SPI接口控制系統與從設備相連接;
三線SPI接口控制系統面向主控設備的接口信號只有時鐘線SCLK、數據輸入線MDI和數據輸出線MDO這三根線;面向從設備的接口包括從設備數據輸入線DI、從設備輸出線DO、從設備時鐘線SCLK和若干從設備的片選線CSi,1≤i≤N,N代表了可被譯碼從設備的數量;主控設備的時鐘線和從設備的時鐘線相連,MDI和DO相連,MDO和DI相連,CSi直接連到從設備的片選端;
三線SPI接口控制系統包括分頻器FD、延時器、地址計數器、地址移位寄存器和譯碼器組成;三線SPI接口控制系統的數據傳輸采用數據線中包括地址信息的策略,在每個數據傳輸的大周期中先傳地址信息,隨后再傳數據;分頻器FD用于記錄整個數據通訊的大周期,該周期稱為FD周期;地址計數器用于記錄地址讀入的周期,該周期稱為地址周期;在地址計數器計滿后其輸出CSE由高變低;通訊初始時SCLK時鐘信號為高電平,片選控制信號CSE為高電平,FD為低電平;地址數據的傳輸周期依照從設備的規模而定,如果從設備小于8個,需要3位地址位,如果大于8個并小于16個,需要4位地址位,三線SPI接口控制系統需要一位地址位用于分頻器同步,該地址為0,即CS0必須留給接口控制系統使用,不能用于選擇其他從設備;主控設備在SCLK的下降沿輸出地址數據,高地址位先輸出,低地址位后輸出;地址計數器用于記錄地址的傳入位數,當地址計數器計滿時,在SCLK的上升沿CSE輸出低電平;同時該低電平反過來將地址計數器關閉,直到FD的下降沿使其重新開啟;地址移位寄存器在CSE為高電平時為有效狀態,在SCLK時鐘的下降沿將主控設備通過MDO傳輸的數據移入寄存器直到CSE為低電平后才會停止數據的移入;CSE也是地址譯碼器的控制線,在CSE為低時地址譯碼器有效,此時譯碼器將地址移位寄存器的輸出進行N選1譯碼,使得譯碼器的某個輸出有效,該信號將作為SPI接口的標準片選信號并與某個從設備片選端相連;分頻器FD用來記錄整個傳輸周期,當計滿時在SCLK最后一個周期的后半個周期輸出一個時長為SCLK半周期的高電平,該信號經一個延時器后作為FD的輸出信號;延時器在最后一個周期的上升沿后有一段延時才會使CSE恢復成高電平,CSE為高時譯碼器為高阻狀態或高電平狀態,即沒從設備被選中。
2.應用如權利要求1所述的系統進行通信的方法,其特征在于:首先是設置讀寫數據的長度,長度由系統的讀寫數據長度SIZE決定;SCLK然后被設置成高電平1;Rin是串行數據輸入寄存器,用于串行數據的讀入;Rout是串行數據輸出寄存器,用于串行數據的輸出;主控設備采用在SCLK的下降沿通過MDO端輸出數據,在SCLK的上升沿通過MDI端讀入數據的模式,從設備的則在SCLK的下降沿通過DI端讀入數據,在SCLK的上升沿通過DO端輸出數據;Rin和Rout的初始化工作還包括將Rin的所有位置1,將輸出數據寫入Rout;接下來將從設備的地址經MDO進行串行輸出;首先輸出的是片選地址的最高位,A表示地址寄存器,A(i)中的i表示當前所傳輸的位數;如果從設備的地址范圍大于8小于16則i≤4;如果地址范圍小于8則i≤3;每輸出一位地址后i減1;如果i為-1則判斷地址數據傳輸完畢;如果i大于-1,則進入循環輸出地址的周期;該周期首先將SCLK置0,然后將A左移一位,i減1后將A的最高位輸出到MDO端,SCLK再置成1,最后返回對i的判斷,即判斷是否將A中的數據都輸出完畢;如果沒有輸出完則繼續輸出地址信息,如果輸出完了則進入數據輸出和數據輸入周期;
Rout中最高位首先被送到MDO端,然后判斷數據輸出和輸入的長度是否已經到達SIZE,如果讀寫數據的長度到達了系統的讀寫數據長度SIZE則結束整個數據通訊過程,否則進入控制數據讀寫的循環;循環首先將SCLK置0,然后Rout左移1位,Rout最高位輸出到MDO端,這為在下一個時鐘下降沿從設備寫入數據做好準備;接下來SCLK置成1,當前的讀寫數據長度加1,Rin左移1位并且讀取MDI端的數據到Rin最低位;最后返回對SIZE的判斷。
3.應用如權利要求1所述的系統進行通信的方法,其特征在于,分頻器同步過程:MDO始終輸出為0,主控設備不斷從MDI端讀入設備;CS0分兩種情況討論,如果CS0被選中,即輸入為0的地址被譯碼,在時鐘最后一個周期的下降沿分頻器FD輸出為高電平,MDI輸出也為高電平;在時鐘最后一個周期恢復為高電平之前,主設備讀入MDI,如果為高則斷定這時為初始狀態,然后恢復周期信號為高電平;上述過程其他片選CS端都沒有被選中,所以對所有從設備沒有影響;如果CS0未被選中,MDI始終處于低電平;主設備將一直使MDO輸出為0,并不斷在時鐘下降沿讀入數據直到讀到高電平,只要讀到高電平即斷定這時為初始狀態,隨后將時鐘信號恢復為高電平;由于MDO始終為0,所以一定可以等到CS0為有效的時刻;同步數據輸出監控器的輸出邏輯是當使能端有效時,即其ENB為低電平時輸入輸出一致;當使能端無效時,即其ENB為高電平時輸出為低電平。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京聯合大學,未經北京聯合大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711028851.7/1.html,轉載請聲明來源鉆瓜專利網。





