• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2010-08-12 12:05:08謝俊聃曹劍中
      電子技術(shù)應(yīng)用 2010年8期
      關(guān)鍵詞:傳輸方式雙絞線外設(shè)

      謝俊聃,曹劍中

      (西安光學(xué)精密機(jī)械研究所,陜西西安710119)

      同步傳輸(Synchronous Transmission)是一種發(fā)送方與接收方都采用相同時(shí)鐘頻率的傳輸方式。具體來說,就是把要傳輸?shù)囊唤M數(shù)據(jù)組合成一幀,每一幀的開頭部分是一組同步字符,用于通知接收方一個(gè)幀已經(jīng)到達(dá),但它同時(shí)還能確保接收方的采樣速度和比特的到達(dá)速度一致,使收發(fā)雙方進(jìn)入同步。幀的結(jié)尾部分是一個(gè)幀結(jié)束標(biāo)記,用于表示在下一幀開始之前沒有其他即將到達(dá)的數(shù)據(jù)了。接收方不必對(duì)每個(gè)字符進(jìn)行開始和停止的操作,一旦檢測(cè)到幀同步字符,就在接下來的數(shù)據(jù)到達(dá)時(shí)接收它們[1]。因此,與異步傳輸相比,具有很高的傳輸速度。而且,由于沒有在傳輸?shù)拿總€(gè)字符中都加入起始位和結(jié)束位,所以同步傳輸?shù)拈_銷比異步傳輸要小得多,通常前者的數(shù)據(jù)增值只有2.5%左右,而后者的高達(dá)25%。所以,在高速通信中一般都采用同步傳輸方式。

      由于圖像的數(shù)據(jù)量一般很大,所以圖像數(shù)據(jù)的傳輸都是高速傳輸。在某實(shí)時(shí)圖像存儲(chǔ)系統(tǒng)設(shè)計(jì)中,為了保證能夠?qū)崟r(shí)存儲(chǔ)圖像,需要在以S3C2450X為MCU的嵌入式系統(tǒng)中采用同步422接口向外傳輸圖像數(shù)據(jù)。由于S3C2450X的UART接口不支持同步串行通信模式,所以采用了將SPI外圍總線轉(zhuǎn)換為同步422接口的設(shè)計(jì)方法。

      1 SPI基本原理與結(jié)構(gòu)

      串行外圍設(shè)備接口(SPI)是由Motorola公司開發(fā)的、用來在微控制器和外圍設(shè)備芯片之間實(shí)現(xiàn)數(shù)據(jù)交換的低成本、易使用接口。與標(biāo)準(zhǔn)的串行接口不同,SPI是一個(gè)同步協(xié)議接口,全雙工通信,所有的傳輸都參照一個(gè)共同的時(shí)鐘,這個(gè)同步時(shí)鐘信號(hào)由主機(jī)產(chǎn)生。接收數(shù)據(jù)的外設(shè)使用時(shí)鐘對(duì)串行比特流的接收進(jìn)行同步化。其傳輸速度可達(dá)幾Mb/s。

      SPI主要使用4個(gè)信號(hào):MISO(主機(jī)輸入/從機(jī)輸出)、MOSI(主機(jī)輸出/從機(jī)輸入)、SCLK(串行時(shí)鐘)、CS或SS(外設(shè)片選或從機(jī)選擇)[2,3]。

      MISO信號(hào)由從機(jī)在主機(jī)的控制下產(chǎn)生。SS信號(hào)用于禁止或使能外設(shè)的收發(fā)功能。SS為高電平時(shí),禁止外設(shè)接收和發(fā)送數(shù)據(jù);SS為低電平時(shí),允許外設(shè)接收和發(fā)送數(shù)據(jù)。圖1所示是微處理器通過SPI與外設(shè)連接的示意圖。

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

      圖1 微處理器通過SPI接口與外設(shè)進(jìn)行連接

      圖2 SPI的數(shù)據(jù)傳輸

      如果只進(jìn)行寫操作,主機(jī)只需忽略接收到的字節(jié);反之,若主機(jī)要讀取從機(jī)的一個(gè)字節(jié),就必須發(fā)送一個(gè)空字節(jié)來引發(fā)從機(jī)的傳輸。

      當(dāng)主機(jī)發(fā)送一個(gè)連續(xù)的數(shù)據(jù)流時(shí),有些外設(shè)能夠進(jìn)行多字節(jié)傳輸。多數(shù)具有SPI接口的存儲(chǔ)芯片就以這種方式工作。在這種傳輸方式下,從機(jī)的片選端必須在整個(gè)傳輸過程中保持低電平。此時(shí),一次傳輸可能會(huì)涉及到成千上萬字節(jié)的信息,而不必在每個(gè)字節(jié)的數(shù)據(jù)發(fā)送的前后都去檢測(cè)其起始位和結(jié)束位,這正是同步傳輸方式優(yōu)于異步傳輸方式的原因所在。

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

      2 RS-422簡介

      RS-422標(biāo)準(zhǔn)是RS-232的改進(jìn)型,全稱是“平衡電壓數(shù)字接口電路的電氣特性”。它使用兩根線之間的電壓差來代表邏輯電平,通常稱之為雙絞線。它是一種平衡傳輸,任何噪聲或干擾都會(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。但是由于線路過長造成損耗,其傳輸速率會(huì)隨著距離的增加而下降。

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

      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)交換均可以通過軟件方式或硬件方式實(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[8]。

      3 S3C2450X的SPI接口

      S3C2450X[9]是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字長的行組成。為了降低成本,片上集成了各種常用模塊,包括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ù)寫入SPI發(fā)送數(shù)據(jù)寄存器(HS_SPI_Tx_DATA)中,數(shù)據(jù)會(huì)被自動(dòng)移入Tx FIFO;在接收數(shù)據(jù)時(shí),為了從Rx FIFO中讀出數(shù)據(jù),CPU訪問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í),通過設(shè)置時(shí)鐘配置寄存器(Clk_CFG)可以調(diào)整同步時(shí)鐘SPICLK的頻率,從而改變數(shù)據(jù)傳輸率。SPI有3個(gè)可用時(shí)鐘源:內(nèi)部時(shí)鐘源PCLK,外部時(shí)鐘源Epll clock和USBCLK。其同步時(shí)鐘計(jì)算公式為:

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

      4 轉(zhuǎn)換電路設(shè)計(jì)

      由于RS-422采用的電平與SPI不同,所以必須使用電平轉(zhuǎn)換芯片。這里采用MAXIM公司的MAX3088[10]。這是一款用于RS-422通信的一路高速低功耗電平轉(zhuǎn)換收發(fā)芯片,半雙工通信,傳輸速率最大可達(dá)10 Mb/s。它有8個(gè)引腳:5號(hào)引腳為電源引腳,8號(hào)引腳為接地引腳,6號(hào)(A)、7號(hào)(B)是差分信號(hào)引腳。其他幾個(gè)引腳分別為:1(RO)是接收器輸出;2(RE)是接收器輸出使能,3(DE)是驅(qū)動(dòng)器輸出使能,4(DI)是驅(qū)動(dòng)器輸入。要使其工作在發(fā)送模式,只需將RE和DE同時(shí)置1,此時(shí),若輸入DI為1,則輸出的A為1,B為0;若DI為0,則A為0,B為1。它與S3C2450X的連接圖如圖4所示。

      圖4中將S3C2450X的SPICLK0和SPIMOSI0引腳分別接到2個(gè)MAX3088的DI引腳上,DE和RE接5 V直流電源,A和B為差分信號(hào)對(duì)輸出,C1、C2為旁路電容。由于只使用SPI的發(fā)送功能,所以忽略了SPIMISO0引腳。

      5 接口電路調(diào)試

      由于RS-422只是規(guī)定了電壓標(biāo)準(zhǔn)而無具體實(shí)現(xiàn)細(xì)節(jié),所以接口的軟件調(diào)試主要是對(duì)S3C2450X的SPI模塊進(jìn)行設(shè)置。其具體編程步驟如下:

      (1)通過SPI配置寄存器CH_CFG設(shè)置數(shù)據(jù)傳輸格式。

      (2)設(shè)置時(shí)鐘配置寄存器Clk_CFG,決定同步時(shí)鐘頻率。

      (3)設(shè)置SPI模式寄存器MODE_CFG,包括傳送數(shù)據(jù)的單位以及是否啟用DMA模式等。

      (4)設(shè)置中斷使能寄存器,包括是否響應(yīng)FIFO溢出以及為空時(shí)所產(chǎn)生的中斷等。

      (5)通過設(shè)置CH_CFG中的RxChOn和TxChOn打開數(shù)據(jù)傳輸通道。

      (6)發(fā)送數(shù)據(jù),檢查發(fā)送準(zhǔn)備好標(biāo)志(TxFifoRdy=1),然后寫數(shù)據(jù)到數(shù)據(jù)發(fā)送寄存器TX_DATA。

      (7)接收數(shù)據(jù),檢查接收準(zhǔn)備好標(biāo)志(RxFifoRdy=1),接著數(shù)據(jù)接收寄存器RX_DATA自動(dòng)從讀緩沖區(qū)讀出數(shù)據(jù),之后從RX_DATA中讀數(shù)據(jù)。

      將S3C2450X產(chǎn)生的SPIMOSI信號(hào)傳輸至驅(qū)動(dòng)芯片MAX3088,用示波器測(cè)得轉(zhuǎn)換前后信號(hào)的波形如圖5所示。

      從圖5中可以看出轉(zhuǎn)換后的2個(gè)差分信號(hào)VA和VB之差與轉(zhuǎn)換前的單端信號(hào)DI保持了邏輯上的一致,只是由于芯片在信號(hào)轉(zhuǎn)換中需要耗時(shí),所以產(chǎn)生了約25 ns的延時(shí)。

      通過將SPI總線由單端不平衡傳輸轉(zhuǎn)換為雙端平衡傳輸,解決了SPI信號(hào)易受干擾的問題。又由于其同步通信的高效性使得它非常適用于圖像傳輸。另外,如果對(duì)傳輸速率的要求不是太高,則RS-422也可以進(jìn)行遠(yuǎn)距離傳輸,這大大擴(kuò)展了SPI器件的使用范圍。隨著技術(shù)的發(fā)展,以RS-422為代表的雙端平衡傳輸模式將會(huì)得到越來越廣泛的應(yīng)用。

      [1]李忠橋,游小杰,鄭瓊林.單片SPI機(jī)通信中數(shù)據(jù)流的同步問題研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(1).

      [2]解書鋼,馬維華,吳術(shù).SPI總線的UART擴(kuò)展方法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(6).

      [3]蔣偉,文昱.SPI總線及其在單片機(jī)系統(tǒng)中的應(yīng)用[J].科技廣場(chǎng),2008(10).

      [4]黃智偉,鄧月明,王彥.ARM9嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2008.

      [5]劉嵐,尹勇,李京蔚.基于ARM的嵌入式系統(tǒng)開發(fā)[M].北京:電子工業(yè)出版社,2008.

      [6]梁德堅(jiān),劉玉瓊.SPI總線數(shù)據(jù)遠(yuǎn)距離傳輸實(shí)現(xiàn)[J].電子測(cè)試,2009(1).

      [7]CATSOULIS J.嵌入式硬件設(shè)計(jì)[M].O’Reilly Taiwan編譯.徐君明,陳振林,郭天杰,改編.第二版.北京:中國電力出版社,2007.

      [8]趙佳,唐禎安.一種實(shí)現(xiàn)RS422通信協(xié)議的接口電路[J].現(xiàn)代電子技術(shù),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.

      猜你喜歡
      傳輸方式雙絞線外設(shè)
      雙絞線的使用規(guī)范與制作技巧
      電子制作(2018年17期)2018-09-28 01:56:56
      可穿戴式多通道傳感系統(tǒng)功能需求分析及設(shè)計(jì)
      擠壓深度對(duì)屏弊雙絞線電氣性能的影響研究
      電氣化鐵道(2016年2期)2016-05-17 03:42:36
      基于分布式傳感器的GIS局部放電在線監(jiān)測(cè)實(shí)時(shí)數(shù)據(jù)傳輸方式的研究
      淺談工程建設(shè)中的信息化發(fā)展與網(wǎng)絡(luò)傳輸方式選擇
      道路監(jiān)控系統(tǒng)圖像數(shù)據(jù)傳輸方式探討
      Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
      如何把斷裂網(wǎng)線連接起來
      礦用雙絞線傳輸特性的分析
      山西煤炭(2010年3期)2010-11-10 01:57:04
      貼身呵護(hù) 必不可少的PSP外設(shè)
      浮山县| 城市| 涟源市| 休宁县| 乐业县| 佛山市| 广安市| 鸡西市| 潜江市| 安陆市| 呼伦贝尔市| 潜江市| 渝北区| 防城港市| 察隅县| 会昌县| 开阳县| 东山县| 湄潭县| 东至县| 射洪县| 平邑县| 宁蒗| 乡宁县| 青铜峡市| 万宁市| 盐边县| 柏乡县| 大埔县| 丹寨县| 滦平县| 晋江市| 北票市| 辽阳市| 沈阳市| 中阳县| 原阳县| 砀山县| 淳化县| 凌源市| 缙云县|