基于SPI總線技術(shù)的同步422接口設(shè)計
摘 要: 以SPI總線技術(shù)為基礎(chǔ),用微控制器S3C2450X和電平轉(zhuǎn)換芯片MAX3088設(shè)計了一個RS-422接口電路,將SPI單端非平衡傳輸信號轉(zhuǎn)換為RS-422差分信號。在保證SPI同步傳輸?shù)母咝院透咚傩缘耐瑫r,還增強了信號的抗干擾能力。
同步傳輸(Synchronous Transmission)是一種發(fā)送方與接收方都采用相同時鐘頻率的傳輸方式。具體來說,就是把要傳輸?shù)囊唤M數(shù)據(jù)組合成一幀,每一幀的開頭部分是一組同步字符,用于通知接收方一個幀已經(jīng)到達,但它同時還能確保接收方的采樣速度和比特的到達速度一致,使收發(fā)雙方進入同步。幀的結(jié)尾部分是一個幀結(jié)束標(biāo)記,用于表示在下一幀開始之前沒有其他即將到達的數(shù)據(jù)了。接收方不必對每個字符進行開始和停止的操作,一旦檢測到幀同步字符,就在接下來的數(shù)據(jù)到達時接收它們。因此,與異步傳輸相比,具有很高的傳輸速度。而且,由于沒有在傳輸?shù)拿總€字符中都加入起始位和結(jié)束位,所以同步傳輸?shù)拈_銷比異步傳輸要小得多,通常前者的數(shù)據(jù)增值只有2.5%左右,而后者的高達25%。所以,在高速通信中一般都采用同步傳輸方式。
由于圖像的數(shù)據(jù)量一般很大,所以圖像數(shù)據(jù)的傳輸都是高速傳輸。在某實時圖像存儲系統(tǒng)設(shè)計中,為了保證能夠?qū)崟r存儲圖像,需要在以S3C2450X為MCU的嵌入式系統(tǒng)中采用同步422接口向外傳輸圖像數(shù)據(jù)。由于S3C2450X的UART接口不支持同步串行通信模式,所以采用了將SPI外圍總線轉(zhuǎn)換為同步422接口的設(shè)計方法。
1 SPI基本原理與結(jié)構(gòu)
串行外圍設(shè)備接口(SPI)是由Motorola公司開發(fā)的、用來在微控制器和外圍設(shè)備芯片之間實現(xiàn)數(shù)據(jù)交換的低成本、易使用接口。與標(biāo)準(zhǔn)的串行接口不同,SPI是一個同步協(xié)議接口,全雙工通信,所有的傳輸都參照一個共同的時鐘,這個同步時鐘信號由主機產(chǎn)生。接收數(shù)據(jù)的外設(shè)使用時鐘對串行比特流的接收進行同步化。其傳輸速度可達幾Mb/s。
SPI主要使用4個信號:MISO(主機輸入/從機輸出)、MOSI(主機輸出/從機輸入)、 SCLK(串行時鐘)、或(外設(shè)片選或從機選擇)。
MISO信號由從機在主機的控制下產(chǎn)生。信號用于禁止或使能外設(shè)的收發(fā)功能。為高電平時,禁止外設(shè)接收和發(fā)送數(shù)據(jù);為低電平時,允許外設(shè)接收和發(fā)送數(shù)據(jù)。圖1所示是微處理器通過SPI與外設(shè)連接的示意圖。
主機和從機都有一個串行移位寄存器,主機通過向它的SPI串行寄存器寫入一個字節(jié)來發(fā)起一次傳輸。寄存器通過MOSI信號線將字節(jié)傳送給從機,從機也將自己的移位寄存器中的內(nèi)容通過MISO信號線返回給主機(如圖2所示)。這樣,兩個移位寄存器中的內(nèi)容就被交換。外設(shè)的寫操作和讀操作是同步完成的。
如果只進行寫操作,主機只需忽略接收到的字節(jié);反之,若主機要讀取從機的一個字節(jié),就必須發(fā)送一個空字節(jié)來引發(fā)從機的傳輸。
當(dāng)主機發(fā)送一個連續(xù)的數(shù)據(jù)流時,有些外設(shè)能夠進行多字節(jié)傳輸。多數(shù)具有SPI接口的存儲芯片就以這種方式工作。在這種傳輸方式下,從機的片選端必須在整個傳輸過程中保持低電平。此時,一次傳輸可能會涉及到成千上萬字節(jié)的信息,而不必在每個字節(jié)的數(shù)據(jù)發(fā)送的前后都去檢測其起始位和結(jié)束位,這正是同步傳輸方式優(yōu)于異步傳輸方式的原因所在。
評論