《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于SPI總線技術的同步422接口設計
基于SPI總線技術的同步422接口設計
來源:電子技術應用2010年第8期
謝俊聃,曹劍中
西安光學精密機械研究所,陜西 西安710119
摘要: 以SPI總線技術為基礎,用微控制器S3C2450X和電平轉(zhuǎn)換芯片MAX3088設計了一個RS-422接口電路,將SPI單端非平衡傳輸信號轉(zhuǎn)換為RS-422差分信號。在保證SPI同步傳輸?shù)母咝院透咚傩缘耐瑫r,還增強了信號的抗干擾能力。
中圖分類號: TP274
文獻標識碼: B
文章編號: 0258-7998(2010)08-0026-03
RS-422 interface design based on SPI bus technology
XIE Jun Dan,CAO Jian Zhong
Xi′an Institute of Optics and Precision Mechanic of CAS, Xi′an 710119,China
Abstract: This paper designed RS-422 interface circuit with microprocessor S3C2450X and transceivers MAX3088 based on SPI bus technology.This circuit could convert SPI single-ended unbalance signal to RS-422 differential signal ,in order to enhance signal’s ability of anti-interference. And it also guarantees the high-efficiency and high-speed of SPI synchronous transmission.
Key words : synchronous transmission;SPI;S3C2450X;RS-422;MAX3088

    同步傳輸(Synchronous Transmission)是一種發(fā)送方與接收方都采用相同時鐘頻率的傳輸方式。具體來說,就是把要傳輸?shù)囊唤M數(shù)據(jù)組合成一幀,每一幀的開頭部分是一組同步字符,用于通知接收方一個幀已經(jīng)到達,但它同時還能確保接收方的采樣速度和比特的到達速度一致,使收發(fā)雙方進入同步。幀的結(jié)尾部分是一個幀結(jié)束標記,用于表示在下一幀開始之前沒有其他即將到達的數(shù)據(jù)了。接收方不必對每個字符進行開始和停止的操作,一旦檢測到幀同步字符,就在接下來的數(shù)據(jù)到達時接收它們[1]。因此,與異步傳輸相比,具有很高的傳輸速度。而且,由于沒有在傳輸?shù)拿總€字符中都加入起始位和結(jié)束位,所以同步傳輸?shù)拈_銷比異步傳輸要小得多,通常前者的數(shù)據(jù)增值只有2.5%左右,而后者的高達25%。所以,在高速通信中一般都采用同步傳輸方式。
    由于圖像的數(shù)據(jù)量一般很大,所以圖像數(shù)據(jù)的傳輸都是高速傳輸。在某實時圖像存儲系統(tǒng)設計中,為了保證能夠?qū)崟r存儲圖像,需要在以S3C2450X為MCU的嵌入式系統(tǒng)中采用同步422接口向外傳輸圖像數(shù)據(jù)。由于S3C2450X的UART接口不支持同步串行通信模式,所以采用了將SPI外圍總線轉(zhuǎn)換為同步422接口的設計方法。
1 SPI基本原理與結(jié)構
    串行外圍設備接口(SPI)是由Motorola公司開發(fā)的、用來在微控制器和外圍設備芯片之間實現(xiàn)數(shù)據(jù)交換的低成本、易使用接口。與標準的串行接口不同,SPI是一個同步協(xié)議接口,全雙工通信,所有的傳輸都參照一個共同的時鐘,這個同步時鐘信號由主機產(chǎn)生。接收數(shù)據(jù)的外設使用時鐘對串行比特流的接收進行同步化。其傳輸速度可達幾Mb/s。
    SPI主要使用4個信號:MISO(主機輸入/從機輸出)、MOSI(主機輸出/從機輸入)、 SCLK(串行時鐘)、(外設片選或從機選擇)[2,3]。
    MISO信號由從機在主機的控制下產(chǎn)生。信號用于禁止或使能外設的收發(fā)功能。為高電平時,禁止外設接收和發(fā)送數(shù)據(jù);為低電平時,允許外設接收和發(fā)送數(shù)據(jù)。圖1所示是微處理器通過SPI與外設連接的示意圖。


    主機和從機都有一個串行移位寄存器,主機通過向它的SPI串行寄存器寫入一個字節(jié)來發(fā)起一次傳輸。寄存器通過MOSI信號線將字節(jié)傳送給從機,從機也將自己的移位寄存器中的內(nèi)容通過MISO信號線返回給主機(如圖2所示)[4,5]。這樣,兩個移位寄存器中的內(nèi)容就被交換。外設的寫操作和讀操作是同步完成的。

    如果只進行寫操作,主機只需忽略接收到的字節(jié);反之,若主機要讀取從機的一個字節(jié),就必須發(fā)送一個空字節(jié)來引發(fā)從機的傳輸。
    當主機發(fā)送一個連續(xù)的數(shù)據(jù)流時,有些外設能夠進行多字節(jié)傳輸。多數(shù)具有SPI接口的存儲芯片就以這種方式工作。在這種傳輸方式下,從機的片選端必須在整個傳輸過程中保持低電平。此時,一次傳輸可能會涉及到成千上萬字節(jié)的信息,而不必在每個字節(jié)的數(shù)據(jù)發(fā)送的前后都去檢測其起始位和結(jié)束位,這正是同步傳輸方式優(yōu)于異步傳輸方式的原因所在。
    雖然SPI有以上優(yōu)點,然而在圖像傳輸中卻很少用到,原因主要是其抗干擾能力差。SPI采用的是單端非平衡的傳輸方式,即傳輸?shù)臄?shù)據(jù)位的電壓電平是以公共地作為參考的。在這種傳輸方式中,對于已進入信號中的干擾是無法消除和減弱的。而信號在傳輸過程中總會受到干擾,而且距離越長干擾越嚴重,以致于信號傳輸產(chǎn)生錯誤。在這種條件下,信號傳輸就變得毫無意義了。另外,由于單端非平衡傳輸方式以公共地作為參考點,地線作為信號回流線,因此也存在信號電流。當傳輸線兩端的系統(tǒng)之間存在交流電位差時,這個電位差將直接竄到信號中,形成噪聲干擾[6]。所以,為了解決抗干擾問題,通常采用平衡傳輸(balanced transmission)方式,這里采用比較常見的RS-422。
2 RS-422簡介
    RS-422標準是RS-232的改進型,全稱是“平衡電壓數(shù)字接口電路的電氣特性”。它使用兩根線之間的電壓差來代表邏輯電平,通常稱之為雙絞線。它是一種平衡傳輸,任何噪聲或干擾都會同時影響兩根雙絞線中的每一根,但對二者之間的差異影響很小,這種現(xiàn)象稱為共模抑制。所以RS-422可以在更遠的距離上以更快的速度傳輸數(shù)據(jù),其抗干擾能力遠強于RS-232、SPI等非平衡傳輸方式。其最大傳輸距離約1 200 m,最大傳輸速度可達10 Mb/s。但是由于線路過長造成損耗,其傳輸速率會隨著距離的增加而下降。
    圖3是RS-422的基本連接示意圖。驅(qū)動器D通過雙絞線和接收器R連接。位于雙絞線接收端的電阻Rt是一個終止電阻,它用來消除在遠距離傳輸過程中發(fā)生的信號反射。但在300 m以下的短距離傳輸中可以不接該電阻[7]。

    RS-422標準允許相同傳輸線上連接多個接收節(jié)點,最多可接10個,即一個主設備、10個從設備,從設備之間不能通信[8]。RS-422支持一點對多點的雙向通信。由于它的接口采用單獨的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,各裝置之間任何必需的信號交換均可以通過軟件方式或硬件方式實現(xiàn)。
    RS-422雙絞線之間的電壓差在4 V~12 V之間。其邏輯電平定義為:在發(fā)送端,以雙絞線之間電壓差為+2 V~+6 V表示邏輯1,以-2 V~-6 V表示邏輯0;在接收端,雙絞線之間電壓差大于200 mV時為邏輯1,小于-200 mV時為邏輯0[8]。
3 S3C2450X的SPI接口
    S3C2450X[9]是SAMSUNG公司最近推出的一款高性能、低功耗16/32 bit RISC處理器,其最高主頻可達533 MHz,一般工作頻率為400 MHz。它采用ARM926EJ內(nèi)核,該內(nèi)核采用MMU、AMBA總線和哈佛高速緩存體系結(jié)構,具有單獨的16 KB指令Cache和16 KB數(shù)據(jù)Cache,每個Cache都由8字長的行組成。為了降低成本,片上集成了各種常用模塊,包括NAND Flash Bootloader、系統(tǒng)管理器、PLL時鐘發(fā)生器、PWM定時器、8通道DMA和多種接口控制器等,這樣可以使設計者在設計電路時省去許多專門的接口控制芯片,不僅降低了成本,也提高了系統(tǒng)的可靠性。
    S3C2450X集成了2個高速SPI接口,每個接口都有2個8/16/32 bit的移位寄存器分別用于發(fā)送(Tx FIFO)和接收(Rx FIFO)數(shù)據(jù)。在發(fā)送時,將要發(fā)送的數(shù)據(jù)寫入SPI發(fā)送數(shù)據(jù)寄存器(HS_SPI_Tx_DATA)中,數(shù)據(jù)會被自動移入Tx FIFO;在接收數(shù)據(jù)時,為了從Rx FIFO中讀出數(shù)據(jù),CPU訪問SPI數(shù)據(jù)接收寄存器(HS_SPI_Rx_DATA),此時數(shù)據(jù)會自動轉(zhuǎn)移到HS_SPI_Rx_DATA中。
    S3C2450X的SPI接口支持主模式和從模式兩種傳輸方式。在主模式下,同步時鐘SPICLK由S3C2450X產(chǎn)生并傳輸給外圍設備。此時,通過設置時鐘配置寄存器(Clk_CFG)可以調(diào)整同步時鐘SPICLK的頻率,從而改變數(shù)據(jù)傳輸率。SPI有3個可用時鐘源:內(nèi)部時鐘源PCLK,外部時鐘源Epll clock和USBCLK。其同步時鐘計算公式為:
    同步時鐘頻率=f/[2×(預分頻值+1)]
其中f是所選時鐘源的頻率,預分頻值的取值范圍是0~255。若取f=400 MHz,則同步時鐘頻率最大可達200 MHz,其傳輸速率理論上接近200 Mb/s。但由于受到內(nèi)部寄存器和外部接口等其他因素限制,再加上傳輸速率太高時,由傳輸延時造成的影響越來越明顯,從而會引起傳輸錯誤,所以其實際數(shù)據(jù)傳輸率不會很高,一般只有幾Mb/s。
4 轉(zhuǎn)換電路設計
    由于RS-422采用的電平與SPI不同,所以必須使用電平轉(zhuǎn)換芯片。這里采用MAXIM公司的MAX3088[10]。這是一款用于RS-422通信的一路高速低功耗電平轉(zhuǎn)換收發(fā)芯片,半雙工通信,傳輸速率最大可達10 Mb/s。它有8個引腳:5號引腳為電源引腳,8號引腳為接地引腳,6號(A)、7號(B)是差分信號引腳。其他幾個引腳分別為:1(RO)是接收器輸出;2()是接收器輸出使能,3(DE)是驅(qū)動器輸出使能,4(DI)是驅(qū)動器輸入。要使其工作在發(fā)送模式,只需將和DE同時置1,此時,若輸入DI為1,則輸出的A為1,B為0;若DI為0,則A為0,B為1。它與S3C2450X的連接圖如圖4所示。

    圖4中將S3C2450X的SPICLK0和SPIMOSI0引腳分別接到2個MAX3088的DI引腳上,DE和RE接5 V直流電源,A和B為差分信號對輸出,C1、C2為旁路電容。由于只使用SPI的發(fā)送功能,所以忽略了SPIMISO0引腳。
5 接口電路調(diào)試
    由于RS-422只是規(guī)定了電壓標準而無具體實現(xiàn)細節(jié),所以接口的軟件調(diào)試主要是對S3C2450X的SPI模塊進行設置。其具體編程步驟如下:
    (1)通過SPI配置寄存器CH_CFG設置數(shù)據(jù)傳輸格式。
    (2)設置時鐘配置寄存器Clk_CFG,決定同步時鐘頻率。
    (3)設置SPI模式寄存器MODE_CFG,包括傳送數(shù)據(jù)的單位以及是否啟用DMA模式等。
    (4)設置中斷使能寄存器,包括是否響應FIFO溢出以及為空時所產(chǎn)生的中斷等。
    (5)通過設置CH_CFG中的RxChOn和TxChOn打開數(shù)據(jù)傳輸通道。
    (6)發(fā)送數(shù)據(jù),檢查發(fā)送準備好標志(TxFifoRdy=1),然后寫數(shù)據(jù)到數(shù)據(jù)發(fā)送寄存器TX_DATA。
    (7)接收數(shù)據(jù),檢查接收準備好標志(RxFifoRdy=1),接著數(shù)據(jù)接收寄存器RX_DATA自動從讀緩沖區(qū)讀出數(shù)據(jù),之后從RX_DATA中讀數(shù)據(jù)。
    將S3C2450X產(chǎn)生的SPIMOSI信號傳輸至驅(qū)動芯片MAX3088,用示波器測得轉(zhuǎn)換前后信號的波形如圖5所示。
    從圖5中可以看出轉(zhuǎn)換后的2個差分信號VA和VB之差與轉(zhuǎn)換前的單端信號DI保持了邏輯上的一致,只是由于芯片在信號轉(zhuǎn)換中需要耗時,所以產(chǎn)生了約25 ns的延時。


    通過將SPI總線由單端不平衡傳輸轉(zhuǎn)換為雙端平衡傳輸,解決了SPI信號易受干擾的問題。又由于其同步通信的高效性使得它非常適用于圖像傳輸。另外,如果對傳輸速率的要求不是太高,則RS-422也可以進行遠距離傳輸,這大大擴展了SPI器件的使用范圍。隨著技術的發(fā)展,以RS-422為代表的雙端平衡傳輸模式將會得到越來越廣泛的應用。
參考文獻
[1] 李忠橋,游小杰,鄭瓊林.單片SPI機通信中數(shù)據(jù)流的同步問題研究[J].單片機與嵌入式系統(tǒng)應用,2007(1).
[2] 解書鋼,馬維華,吳術.SPI總線的UART擴展方法[J].單片機與嵌入式系統(tǒng)應用,2008(6).
[3] 蔣偉,文昱.SPI總線及其在單片機系統(tǒng)中的應用[J].科技廣場,2008(10).
[4] 黃智偉,鄧月明,王彥.ARM9嵌入式系統(tǒng)設計基礎教程[M].北京:北京航空航天大學出版社,2008.
[5] 劉嵐,尹勇,李京蔚.基于ARM的嵌入式系統(tǒng)開發(fā)[M]. 北京:電子工業(yè)出版社,2008.
[6] 梁德堅,劉玉瓊. SPI總線數(shù)據(jù)遠距離傳輸實現(xiàn)[J].電子測試,2009(1).
[7] CATSOULIS J.嵌入式硬件設計[M].O’Reilly Taiwan編譯.徐君明,陳振林,郭天杰,改編.第二版.北京:中國電力出版社,2007.
[8] 趙佳,唐禎安.一種實現(xiàn)RS422通信協(xié)議的接口電路[J]. 現(xiàn)代電子技術,2007(20).
[9] Samsung Electronics.S3C2450X-400MHz & 533 MHz 32 bit  RISC microproccesor user’s manual revision 0.0.http://www.samsung.com.
[10] Maxim Integrated Products.Fail-Safe,High-Speed(10 Mb/s),Slew-Rate-Limited RS-485/RS-422 Transceivers.Rev 1. http://www.maxim-ic.com.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品一区二区三区在线观看| 欧美中文字幕视频| 亚洲一区视频在线观看视频| 亚洲激情二区| 国产一区二区三区在线播放免费观看 | 一区免费观看| 国产综合在线看| 国产午夜精品一区理论片飘花 | 久久精品国产亚洲a| 韩国免费一区| 美女主播一区| 麻豆av一区二区三区| 亚洲人成网在线播放| 久久成人免费网| 国产亚洲欧美一区在线观看| 国产精品一二三| 亚洲一区三区视频在线观看| 夜夜嗨av一区二区三区网站四季av| 99re8这里有精品热视频免费| 136国产福利精品导航网址| 国产一区二区三区成人欧美日韩在线观看| 国产精品久久久久aaaa| 国产精品爽爽ⅴa在线观看| 国产精品久久久久久久久搜平片 | 免费看成人av| 欧美+日本+国产+在线a∨观看| 国产精品白丝jk黑袜喷水| 欧美中文字幕视频在线观看| 亚洲毛片在线看| 国产精品久久久久三级| 国产精品免费aⅴ片在线观看| 国产精品video| 欧美电影免费观看高清| 欧美精品在线视频观看| av不卡在线看| 亚洲无玛一区| 欧美影院午夜播放| 久久精品视频在线看| 美日韩精品视频免费看| 欧美人交a欧美精品| 欧美午夜激情小视频| 国产精品一区二区久激情瑜伽| 国产婷婷色一区二区三区| 黑人操亚洲美女惩罚| 亚洲电影免费| 亚洲天堂偷拍| 欧美综合国产精品久久丁香| 亚洲人成免费| 亚洲与欧洲av电影| 久久精品论坛| 欧美精品色综合| 国产精品日韩二区| 激情亚洲网站| 亚洲精品国产欧美| 亚洲香蕉网站| 亚洲国产天堂久久综合| 亚洲视频专区在线| 久久久国产精品一区二区三区| 欧美激情一区二区三区四区| 国产精品久久久久久久久久免费| 国产亚洲欧美日韩美女| 亚洲日本va午夜在线影院| 亚洲已满18点击进入久久| 亚洲春色另类小说| 亚洲视频欧美视频| 久久久五月天| 欧美日韩一区二区免费在线观看 | 在线精品高清中文字幕| 亚洲美女av电影| 亚洲欧美国产一区二区三区| 亚洲福利视频在线| 亚洲一区二区动漫| 久久久午夜视频| 国产精品另类一区| 亚洲国产精品成人一区二区| 亚洲欧美激情视频| 亚洲免费av片| 久久久久国内| 国产精品成人在线| 影音先锋亚洲视频| 亚洲综合激情| av成人毛片| 久久久亚洲人| 国产精品美女xx| 亚洲人成网站在线播| 久久国产精品电影| 亚洲一区二区3| 欧美成人免费视频| 一区二区三区精密机械公司 | 亚洲欧洲综合| 亚洲在线视频网站| 男女激情视频一区| 国产日韩av一区二区| 亚洲精品一区在线观看香蕉| 久久av二区| 午夜在线播放视频欧美| 欧美激情在线狂野欧美精品| 国内自拍一区| 午夜精品电影| 亚洲欧美一区二区三区久久| 欧美激情在线播放| 在线国产欧美| 亚洲第一区色| 久久久一二三| 国产欧美日韩精品丝袜高跟鞋| 99精品久久久| 99re6这里只有精品| 久久免费一区| 国产九九精品| 亚洲素人在线| 亚洲图色在线| 欧美日韩三级视频| 亚洲精选一区| 亚洲免费久久| 欧美成人自拍视频| 狠狠色噜噜狠狠色综合久| 亚洲欧美日韩视频一区| 亚洲欧美日韩另类| 欧美午夜剧场| 一级成人国产| 亚洲午夜在线观看| 欧美日韩一区二区三区视频| 亚洲啪啪91| 日韩一级裸体免费视频| 欧美国产第一页| 亚洲欧洲日本在线| 亚洲乱码视频| 欧美日本在线| 日韩视频在线一区| 亚洲视频日本| 久久岛国电影| 国产在线视频欧美一区二区三区| 午夜视频一区二区| 久久av在线看| 国产午夜一区二区三区| 欧美亚洲视频| 久久深夜福利免费观看| 好男人免费精品视频| 亚洲国产精品一区二区www在线 | 亚洲国产另类久久精品| 免费高清在线视频一区·| 在线观看一区二区精品视频| 亚洲欧洲视频| 欧美精品在线一区二区三区| 亚洲乱码国产乱码精品精| 亚洲视频第一页| 国产精品午夜视频| 欧美一级专区免费大片| 久久婷婷久久| 亚洲国产日韩在线| 99精品视频免费| 国产精品高清一区二区三区| 亚洲欧美日韩精品在线| 久久免费国产精品| 亚洲二区在线视频| 一区二区三区四区五区视频| 国产精品日韩欧美一区| 欧美在线视频日韩| 欧美激情2020午夜免费观看| 日韩视频三区| 亚久久调教视频| 激情婷婷欧美| 99精品免费| 国产精品日本一区二区| 久久成人久久爱| 欧美精品粉嫩高潮一区二区 | 国产精品视频一区二区高潮| 久久精品盗摄| 欧美日韩精选| 香蕉久久夜色精品| 欧美成人中文字幕| 亚洲综合色激情五月| 免播放器亚洲一区| 一区二区欧美视频| 久久久久久久久岛国免费| 亚洲精品国精品久久99热| 亚洲欧美美女| 玉米视频成人免费看| 亚洲一区二区三区久久| 国产亚洲欧美激情| 一区二区三区导航| 国产一区二区三区高清 | 亚洲欧美日韩国产综合在线| 国产一区二区三区免费在线观看| 亚洲精品久久久久中文字幕欢迎你| 欧美吻胸吃奶大尺度电影| 久久成人综合视频| 国产精品第一区| 91久久久久久| 国产欧美短视频| 一本久道久久综合狠狠爱| 国产日韩欧美精品| 一级成人国产| 韩国成人精品a∨在线观看| 亚洲小说春色综合另类电影| 在线播放中文一区| 性18欧美另类| 亚洲人成人99网站| 久久美女性网| 亚洲欧美春色|