新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SPI總線技術(shù)的同步422接口設(shè)計(jì)

基于SPI總線技術(shù)的同步422接口設(shè)計(jì)

作者: 時(shí)間:2010-11-30 來(lái)源:網(wǎng)絡(luò) 收藏


雖然SPI有以上優(yōu)點(diǎn),然而在圖像傳輸中卻很少用到,原因主要是其抗干擾能力差。SPI采用的是單端非平衡的傳輸方式,即傳輸?shù)臄?shù)據(jù)位的電壓電平是以公共地作為參考的。在這種傳輸方式中,對(duì)于已進(jìn)入中的干擾是無(wú)法消除和減弱的。而在傳輸過(guò)程中總會(huì)受到干擾,而且距離越長(zhǎng)干擾越嚴(yán)重,以致于傳輸產(chǎn)生錯(cuò)誤。在這種條件下,信號(hào)傳輸就變得毫無(wú)意義了。另外,由于單端非平衡傳輸方式以公共地作為參考點(diǎn),地線作為信號(hào)回流線,因此也存在信號(hào)電流。當(dāng)傳輸線兩端的系統(tǒng)之間存在交流電位差時(shí),這個(gè)電位差將直接竄到信號(hào)中,形成噪聲干擾。所以,為了解決抗干擾問(wèn)題,通常采用平衡傳輸 (balanced transmission)方式,這里采用比較常見(jiàn)的RS-422。

2 RS-422簡(jiǎn)介

RS-422標(biāo)準(zhǔn)是RS-232的改進(jìn)型,全稱是“平衡電壓數(shù)字接口電路的電氣特性”。它使用兩根線之間的電壓差來(lái)代表邏輯電平,通常稱之為雙絞線。它是一種平衡傳輸,任何噪聲或干擾都會(huì)同時(shí)影響兩根雙絞線中的每一根,但對(duì)二者之間的差異影響很小,這種現(xiàn)象稱為共模抑制。所以RS-422可以在更遠(yuǎn)的距離上以更快的速度傳輸數(shù)據(jù),其抗干擾能力遠(yuǎn)強(qiáng)于RS-232、SPI等非平衡傳輸方式。其最大傳輸距離約1 200 m,最大傳輸速度可達(dá)10 Mb/s。但是由于線路過(guò)長(zhǎng)造成損耗,其傳輸速率會(huì)隨著距離的增加而下降。

圖3是RS-422的基本連接示意圖。驅(qū)動(dòng)器D通過(guò)雙絞線和接收器R連接。位于雙絞線接收端的電阻Rt是一個(gè)終止電阻,它用來(lái)消除在遠(yuǎn)距離傳輸過(guò)程中發(fā)生的信號(hào)反射。但在300 m以下的短距離傳輸中可以不接該電阻。
3.JPG

RS-422標(biāo)準(zhǔn)允許相同傳輸線上連接多個(gè)接收節(jié)點(diǎn),最多可接10個(gè),即一個(gè)主設(shè)備、10個(gè)從設(shè)備,從設(shè)備之間不能通信[8]。RS-422支持一點(diǎn)對(duì)多點(diǎn)的雙向通信。由于它的接口采用單獨(dú)的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,各裝置之間任何必需的信號(hào)交換均可以通過(guò)軟件方式或硬件方式實(shí)現(xiàn)。

RS-422雙絞線之間的電壓差在4 V~12 V之間。其邏輯電平定義為:在發(fā)送端,以雙絞線之間電壓差為+2 V~+6 V表示邏輯1,以-2 V~-6 V表示邏輯0;在接收端,雙絞線之間電壓差大于200 mV時(shí)為邏輯1,小于-200 mV時(shí)為邏輯0。

3 S3C2450X的SPI接口

S3C2450X是SAMSUNG公司最近推出的一款高性能、低功耗16/32 bit RISC處理器,其最高主頻可達(dá)533 MHz,一般工作頻率為400 MHz。它采用ARM926EJ內(nèi)核,該內(nèi)核采用MMU、AMBA總線和哈佛高速緩存體系結(jié)構(gòu),具有單獨(dú)的16 KB指令Cache和16 KB數(shù)據(jù)Cache,每個(gè)Cache都由8字長(zhǎng)的行組成。為了降低成本,片上集成了各種常用模塊,包括NAND Flash Bootloader、系統(tǒng)管理器、PLL時(shí)鐘發(fā)生器、PWM定時(shí)器、8通道DMA和多種接口等,這樣可以使設(shè)計(jì)者在設(shè)計(jì)電路時(shí)省去許多專門的接口控制芯片,不僅降低了成本,也提高了系統(tǒng)的可靠性。

S3C2450X集成了2個(gè)高速SPI接口,每個(gè)接口都有2個(gè)8/16/32 bit的移位寄存器分別用于發(fā)送(Tx FIFO)和接收(Rx FIFO)數(shù)據(jù)。在發(fā)送時(shí),將要發(fā)送的數(shù)據(jù)寫(xiě)入SPI發(fā)送數(shù)據(jù)寄存器(HS_SPI_Tx_DATA)中,數(shù)據(jù)會(huì)被自動(dòng)移入Tx FIFO;在接收數(shù)據(jù)時(shí),為了從Rx FIFO中讀出數(shù)據(jù),CPU訪問(wèn)SPI數(shù)據(jù)接收寄存器(HS_SPI_Rx_DATA),此時(shí)數(shù)據(jù)會(huì)自動(dòng)轉(zhuǎn)移到HS_SPI_Rx_DATA中。

S3C2450X的SPI接口支持主模式和從模式兩種傳輸方式。在主模式下,同步時(shí)鐘SPICLK由S3C2450X產(chǎn)生并傳輸給外圍設(shè)備。此時(shí),通過(guò)設(shè)置時(shí)鐘配置寄存器(Clk_CFG)可以調(diào)整同步時(shí)鐘SPICLK的頻率,從而改變數(shù)據(jù)傳輸率。SPI有3個(gè)可用時(shí)鐘源:內(nèi)部時(shí)鐘源PCLK,外部時(shí)鐘源Epll clock和USBCLK。其同步時(shí)鐘計(jì)算公式為:

同步時(shí)鐘頻率=f/[2×(預(yù)分頻值+1)]

其中f是所選時(shí)鐘源的頻率,預(yù)分頻值的取值范圍是0~255。若取f=400 MHz,則同步時(shí)鐘頻率最大可達(dá)200 MHz,其傳輸速率理論上接近200 Mb/s。但由于受到內(nèi)部寄存器和外部接口等其他因素限制,再加上傳輸速率太高時(shí),由傳輸延時(shí)造成的影響越來(lái)越明顯,從而會(huì)引起傳輸錯(cuò)誤,所以其實(shí)際數(shù)據(jù)傳輸率不會(huì)很高,一般只有幾Mb/s。


關(guān)鍵詞: 控制器 信號(hào)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉