基于SPI總線(xiàn)技術(shù)的同步422接口設計
4 轉換電路設計
由于RS-422采用的電平與SPI不同,所以必須使用電平轉換芯片。這里采用MAXIM公司的MAX3088[10]。這是一款用于RS-422通信的一路高速低功耗電平轉換收發(fā)芯片,半雙工通信,傳輸速率最大可達10 Mb/s。它有8個(gè)引腳:5號引腳為電源引腳,8號引腳為接地引腳,6號(A)、7號(B)是差分信號引腳。其他幾個(gè)引腳分別為:1(RO)是接收器輸出;2()是接收器輸出使能,3(DE)是驅動(dòng)器輸出使能,4(DI)是驅動(dòng)器輸入。要使其工作在發(fā)送模式,只需將和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為差分信號對輸出,C1、C2為旁路電容。由于只使用SPI的發(fā)送功能,所以忽略了SPIMISO0引腳。
5 接口電路調試
由于RS-422只是規定了電壓標準而無(wú)具體實(shí)現細節,所以接口的軟件調試主要是對S3C2450X的SPI模塊進(jìn)行設置。其具體編程步驟如下:
(1)通過(guò)SPI配置寄存器CH_CFG設置數據傳輸格式。
(2)設置時(shí)鐘配置寄存器Clk_CFG,決定同步時(shí)鐘頻率。
(3)設置SPI模式寄存器MODE_CFG,包括傳送數據的單位以及是否啟用DMA模式等。
(4)設置中斷使能寄存器,包括是否響應FIFO溢出以及為空時(shí)所產(chǎn)生的中斷等。
(5)通過(guò)設置CH_CFG中的RxChOn和TxChOn打開(kāi)數據傳輸通道。
(6)發(fā)送數據,檢查發(fā)送準備好標志(TxFifoRdy=1),然后寫(xiě)數據到數據發(fā)送寄存器TX_DATA。
(7)接收數據,檢查接收準備好標志(RxFifoRdy=1),接著(zhù)數據接收寄存器RX_DATA自動(dòng)從讀緩沖區讀出數據,之后從RX_DATA中讀數據。
將S3C2450X產(chǎn)生的SPIMOSI信號傳輸至驅動(dòng)芯片MAX3088,用示波器測得轉換前后信號的波形如圖5所示。
從圖5中可以看出轉換后的2個(gè)差分信號VA和VB之差與轉換前的單端信號DI保持了邏輯上的一致,只是由于芯片在信號轉換中需要耗時(shí),所以產(chǎn)生了約25 ns的延時(shí)。

通過(guò)將SPI總線(xiàn)由單端不平衡傳輸轉換為雙端平衡傳輸,解決了SPI信號易受干擾的問(wèn)題。又由于其同步通信的高效性使得它非常適用于圖像傳輸。另外,如果對傳輸速率的要求不是太高,則RS-422也可以進(jìn)行遠距離傳輸,這大大擴展了SPI器件的使用范圍。隨著(zhù)技術(shù)的發(fā)展,以RS-422為代表的雙端平衡傳輸模式將會(huì )得到越來(lái)越廣泛的應用。本文引用地址:http://dyxdggzs.com/article/173122.htm
評論