支持單線SPI接口的燒錄技術(shù)實現(xiàn)
1、標準的SPI通訊協(xié)議
SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是一種高速,全雙工,同步的通訊協(xié)議。SPI
通常需要四根線,它們是MOSI(數(shù)據(jù)輸出)、MISO(數(shù)據(jù)輸入)、SCLK(時鐘)、SS(片選)。
?。?) MOSI - 主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;
?。?) MISO – 主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;
?。?) SCLK – 時鐘信號,由主設(shè)備產(chǎn)生;
?。?) SS – 從設(shè)備使能信號,有主設(shè)備控制;
圖1 SPI標準通訊接口
SPI通訊接口的優(yōu)點是傳輸數(shù)據(jù)快,能達到幾兆到幾十兆,并且沒有系統(tǒng)開銷。但是,SPI總線的缺點也比較明顯,主要是沒有指定的流控制,也沒有應答機制確認是否接收到數(shù)據(jù)。
2.單線SPI接口
還有一種另類的SPI通訊接口方式。這種SPI接口在標準SPI接口上做修改,由原來的兩根數(shù)據(jù)線改為一根數(shù)據(jù)線。這樣,通訊方式也成為半雙工的通訊方,在接線上面,顯得更簡約了。
圖2 SPI單線通訊接口
3.讓編程器當從機的SPI單線通訊接口
在編程界,遇到特殊編程接口的芯片已經(jīng)成為家常便飯。因為有時候,芯片為了設(shè)計更優(yōu)的編程方式,會采用一些少見的,奇葩的通訊方式。
在支持MAXIM部分芯片的編程時,該芯片采取的是芯片當主機的單數(shù)據(jù)線的SPI通訊,其通訊特點是:
?。?) TCLK由始至終都是由芯片產(chǎn)生,編程器接收時鐘;
?。?) 時鐘頻率較高,達到10MHz;
?。?) 通訊方式是芯片每收到一個字節(jié)后立刻返回一個字節(jié)。
其數(shù)據(jù)通訊見下圖(注:圖片來源于編程手冊)。由于在通訊過程中不會發(fā)生主從互換的問題,因此使能腳SS也是可以忽視的。
圖3 編程器當從機的單數(shù)據(jù)線SPI通訊
對于該系列的芯片,由于通訊時鐘頻率較高,要對數(shù)據(jù)進行采樣,編程器的采樣時鐘至少為20MHz,而且還需要硬件很好地兼容,并且編程器發(fā)送完數(shù)據(jù)后必須立刻切換為接收狀態(tài),一般的編程器很難達到這種苛刻的要求。
在這里采用的處理方案是使用超高速處理器的P800-ISP對其進行支持。下圖是截取從邏輯分析儀上捕捉到燒寫過程的一段通訊波形,明顯看到,時鐘的脈寬為50ns(對應的時鐘頻率為10MHz)。
圖4 單線SPI通訊波形
該單線SPI編程接口的總結(jié)如下:
優(yōu)點:是接線少(實際用到的線只需要兩根)、通訊快、數(shù)據(jù)簡單;
缺點:但高頻通訊時對從機要求苛刻,需要兼容高頻率采樣和收發(fā)狀態(tài)的切換能力(如,發(fā)送數(shù)據(jù)后馬上切換到接收狀態(tài))。