一種spi總線抗干擾裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通訊技術(shù)領(lǐng)域,尤其涉及一種SPI總線抗干擾裝置及方法。
【背景技術(shù)】
[0002]串行外設(shè)接口(Serial Peripheral Interface,SPI)是一種高速的,全雙工,同步的通信總線。SPI的通訊原理是以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基于SPI的設(shè)備共有的,它們是SDI (數(shù)據(jù)輸入端)、SDO (數(shù)據(jù)輸出端)、SCLK (時鐘信號端)、CS (片選信號端)。其中,CS是控制芯片是否被選中的,也就是說只有片選信號為預先規(guī)定的使能信號時(高電位或低電位),對此芯片的操作才有效。
[0003]SPI通訊是通過數(shù)據(jù)交換完成的,由SCLK提供時鐘脈沖,SDI,SDO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過SDO線,數(shù)據(jù)在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時鐘信號的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。
[0004]由于SPI總線只占用四根線,節(jié)約了芯片的管腳,同時為電路板(Printed circuitboard,PCB)的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,如今越來越多的芯片集成了這種通信協(xié)議。但是SPI總線最大問題在于其抗干擾能力差,有效傳輸距離要小于5米。已難于滿足實際需求。
[0005]現(xiàn)有的SPI抗干擾方法,是通過把SPI輸出的數(shù)據(jù)由中央處理器(Centralprocessing unit,CPU)重新讀回,然后與CPU之前通過SPI輸出的數(shù)據(jù)相比較,如果相同則認為電路沒有受到干擾,數(shù)據(jù)沒有出錯。反之,則認為電路收到干擾數(shù)據(jù)出錯。由此可見現(xiàn)有的通過軟件來實現(xiàn)SPI抗干擾的方法加大了 CPU的工作量。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問題在于提供一種SPI總線抗干擾裝置及方法,旨在不需要CPU的參與的情況下,能有效提高SPI總線的抗干擾能力及傳輸距離。
[0007]本發(fā)明是這樣實現(xiàn)的,一種SPI總線抗干擾裝置,其包括SPI主機、SPI從機、第一 RS232轉(zhuǎn)換模塊及第二 RS232轉(zhuǎn)換模塊。該第一 RS232轉(zhuǎn)換模塊的型號與該第二 RS232轉(zhuǎn)換模塊的型號相同。該SPI主機與該第一 RS232轉(zhuǎn)換模塊電連接,該第一 RS232轉(zhuǎn)換模塊與該第二 RS232轉(zhuǎn)換模塊電連接,該第二 RS232轉(zhuǎn)換模塊與該SPI從機電連接。該第一RS232轉(zhuǎn)換模塊將該SPI主機產(chǎn)生的信號轉(zhuǎn)換成RS232信號。該RS232信號被進行長距離傳輸后傳遞給該第二 RS232轉(zhuǎn)換模塊。該第二 RS232轉(zhuǎn)換模塊將接收到的RS232信號轉(zhuǎn)換成該SPI從機能夠識別的信號。
[0008]本發(fā)明還提供了一種SPI總線抗干擾方法,其包括如下步驟:將一個SPI主機輸出的信號轉(zhuǎn)換成RS232信號;將該RS232信號進行遠距離傳輸;將遠距離傳輸后的該RS232信號轉(zhuǎn)換成一個SPI從機能夠識別的信號;及該SPI從機接收其自身能夠識別的信號。
[0009]本發(fā)明與現(xiàn)有技術(shù)相比,有益效果在于:該SPI總線抗干擾裝置無需CPU的參與,沒有加大CPU的工作量,來解決SPI的干擾問題,能有效提高SPI總線的抗干擾能力及傳輸距離。
【附圖說明】
[0010]圖1是本發(fā)明實施例提供的SPI總線抗干擾裝置的功能模塊圖。
[0011]圖2是圖1的SPI總線抗干擾裝置的外圍電路示意圖。
[0012]圖3是本發(fā)明實施例提供的SPI總線抗干擾方法的流程圖。
【具體實施方式】
[0013]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0014]如圖1所示,本發(fā)明所提供的一種SPI總線抗干擾裝置100,其包括SPI主機10、第一 RS232轉(zhuǎn)換模塊20、第二 RS232轉(zhuǎn)換模塊30及SPI從機40。該第一 RS232轉(zhuǎn)換模塊20的型號與該第二 RS232轉(zhuǎn)換模塊30的型號相同。
[0015]RS232是個人計算機上的通訊接口之一,它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標準。工業(yè)控制的RS-232 口一般只使用RXD、TXD、GND三條線。一般可用于20m以內(nèi)的通信。具體通訊距離還與通信速率有關(guān),例如,在9600pbs時,普通雙絞屏蔽線時,距離可達30-35 米。
[0016]該SPI主機10與該第一 RS232轉(zhuǎn)換模塊20電連接,該第一 RS232轉(zhuǎn)換模塊20與該第二 RS232轉(zhuǎn)換模塊30電連接,該第二 RS232轉(zhuǎn)換模塊30與該SPI從機40電連接。
[0017]該SPI主機10及該SPI從機40均包括SCLK端(時鐘信號端)、SDO端(數(shù)據(jù)輸出)及SDI端(數(shù)據(jù)輸入)。
[0018]該第一 RS232轉(zhuǎn)換模塊20將該SPI主機10產(chǎn)生的信號(即CMOS電平)轉(zhuǎn)換成RS232信號(即RS232電平),該RS232信號被進行遠距離傳輸后傳遞給該第二 RS232轉(zhuǎn)換模塊30,該第二 RS232轉(zhuǎn)換模塊30將所接收到的RS232信號(即RS232電平)轉(zhuǎn)換成該SPI從機40能夠識別的信號(即CMOS電平),并輸入到該SPI從機40對應的引腳中。由于RS232電平的抗干擾能力強,能進行長距離傳輸,因此能有效提高該SPI總線的抗干擾能力及傳輸距離。
[0019]如圖2所示,該第一 RS232轉(zhuǎn)換模塊20及該第二 RS232轉(zhuǎn)換模塊30均由MAX3232芯片及其外圍電路構(gòu)成。該MAX3232芯片的外圍電路包括3.3V電源經(jīng)、濾波電容CBYPASS、電容Cl、電容C2、電容C3及電容C4。該3.3V電源經(jīng)濾波該電容Cbypass進入到該MAX3232芯片的電源輸入端。該電容Cl的兩端分別連接到該MAX3232芯片的引腳I及引腳3,該電容C2的兩端分別連接到該MAX3232芯片的引腳4及引腳5,該電容C3的兩端分別連接到該MAX3232芯片的引腳4及接地,該電容C4的兩端分別連接到該MAX3232芯片的引腳6及接地,從而組成一個電荷栗電路,以便于該MAX3232芯片產(chǎn)生RS232電平。該MAX3232芯片的引腳11通過第一二極管連接到引腳14,引腳10通過第二二極管連接到引腳7,引腳12通過第三二極管連接到引腳13、引腳9通過第四二極管連接到引腳8,引腳15接地。
[0020]該SPI主機10的SDO端依次經(jīng)過該兩個MAX3232芯片連接到該SPI從機40的SDI端,該SPI主機10的SDI端經(jīng)過該兩個MAX3232芯片連接到該SPI從機40的SDO端,該SPI主機10的SCLK端依次經(jīng)過該兩個MAX3232芯片連接到該SPI從機40的SCLK端。
[0