新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 支持單線SPI接口的燒錄技術實現

        支持單線SPI接口的燒錄技術實現

        作者:周立功致遠電子 時間:2015-10-19 來源:電子產品世界 收藏

          摘要:常規的接口總線是雙數據線全雙工的同步通訊總線,在芯片的管腳上占用四根線。這里將介紹一種半雙工的,單數據線,且編程器作為從機的通訊協議,這次的通訊比較高,達到了10MHz。

        本文引用地址:http://www.104case.com/article/281502.htm

          1、標準的通訊協議

          是串行外設接口(Serial Peripheral Interface)的縮寫,是一種高速,全雙工,同步的通訊協議。SPI

          通常需要四根線,它們是MOSI(數據輸出)、MISO(數據輸入)、SCLK()、SS(片選)。

          (1) MOSI - 主設備數據輸出,從設備數據輸入;

          (2) MISO – 主設備數據輸入,從設備數據輸出;

          (3) SCLK – 信號,由主設備產生;

          (4) SS – 從設備使能信號,有主設備控制;

          

        圖片41.jpg

         

          圖1 SPI標準通訊接口

          SPI通訊接口的優點是傳輸數據快,能達到幾兆到幾十兆,并且沒有系統開銷。但是,SPI總線的缺點也比較明顯,主要是沒有指定的流控制,也沒有應答機制確認是否接收到數據。

          2.單線SPI接口

          還有一種另類的SPI通訊接口方式。這種SPI接口在標準SPI接口上做修改,由原來的兩根數據線改為一根數據線。這樣,通訊方式也成為半雙工的通訊方,在接線上面,顯得更簡約了。

          

        圖片42.jpg

         

          圖2 SPI單線通訊接口

          3.讓編程器當從機的SPI單線通訊接口

          在編程界,遇到特殊編程接口的芯片已經成為家常便飯。因為有時候,芯片為了設計更優的編程方式,會采用一些少見的,奇葩的通訊方式。

          在支持MAXIM部分芯片的編程時,該芯片采取的是芯片當主機的單數據線的SPI通訊,其通訊特點是:

          (1) TCLK由始至終都是由芯片產生,編程器接收時鐘;

          (2) 時鐘頻率較高,達到10MHz;

          (3) 通訊方式是芯片每收到一個字節后立刻返回一個字節。

          其數據通訊見下圖(注:圖片來源于編程手冊)。由于在通訊過程中不會發生主從互換的問題,因此使能腳SS也是可以忽視的。

          

        圖片43.jpg

         

          圖3 編程器當從機的單數據線SPI通訊

          對于該系列的芯片,由于通訊時鐘頻率較高,要對數據進行采樣,編程器的采樣時鐘至少為20MHz,而且還需要硬件很好地兼容,并且編程器發送完數據后必須立刻切換為接收狀態,一般的編程器很難達到這種苛刻的要求。

          在這里采用的處理方案是使用超高速處理器的P800-ISP對其進行支持。下圖是截取從邏輯分析儀上捕捉到燒寫過程的一段通訊波形,明顯看到,時鐘的脈寬為50ns(對應的時鐘頻率為10MHz)。

          

        圖片44.jpg

         

          圖4 單線SPI通訊波形

          該單線SPI編程接口的總結如下:

          優點:是接線少(實際用到的線只需要兩根)、通訊快、數據簡單;

          缺點:但高頻通訊時對從機要求苛刻,需要兼容高頻率采樣和收發狀態的切換能力(如,發送數據后馬上切換到接收狀態)。



        關鍵詞: SPI 時鐘

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江孜县| 新宾| 喀什市| 渝北区| 万年县| 闵行区| 禄丰县| 赞皇县| 汉寿县| 天水市| 遂昌县| 赣州市| 班玛县| 安国市| 沧州市| 阿拉善盟| 临高县| 沅江市| 嘉鱼县| 阜阳市| 马鞍山市| 莒南县| 郎溪县| 微博| 丹巴县| 广宁县| 开原市| 平遥县| 襄樊市| 武安市| 固始县| 永平县| 嘉荫县| 凌云县| 巍山| 衡水市| 东山县| 简阳市| 甘泉县| 平谷区| 精河县|