SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)的制作方法
【技術(shù)領(lǐng)域】
[0001]本實(shí)用新型涉及通信技術(shù),尤其涉及一種SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)。
【背景技術(shù)】
[0002]串行外設(shè)接口(Serial Peripheral Interface ;簡(jiǎn)稱:SPI)協(xié)議是一種高速的、全雙工、同步的通信總線協(xié)議。由于SPI協(xié)議為全雙工且沒有定義速度限制,其傳輸速度通常能夠達(dá)到甚至超過10Mbps,非常適用于高速數(shù)據(jù)傳輸。因此,SPI總線協(xié)議在列車乘客信息系統(tǒng)(Passenger Informat1n System ;簡(jiǎn)稱:PIS系統(tǒng))和閉路電視系統(tǒng)(ClosedCircuit Televis1n ;簡(jiǎn)稱CCTV系統(tǒng))中得到了廣泛應(yīng)用。CANopen是一種基于控制局域網(wǎng)絡(luò)(Controller Area Network ;簡(jiǎn)稱CAN)的高層通訊協(xié)議,包括通信子協(xié)議和設(shè)備子協(xié)議,CANopen協(xié)議在列車控制網(wǎng)絡(luò)系統(tǒng)中有廣泛的應(yīng)用。在列車實(shí)際控制過程中,SPI協(xié)議和CANopen協(xié)議之間需要進(jìn)行數(shù)據(jù)交換。
[0003]但是,現(xiàn)有技術(shù)中,SPI協(xié)議與CANopen協(xié)議的數(shù)據(jù)幀格式不同,從而導(dǎo)致SPI協(xié)議格式的數(shù)據(jù)與CANopen協(xié)議格式的數(shù)據(jù)無法直接進(jìn)行通信。
【實(shí)用新型內(nèi)容】
[0004]本實(shí)用新型提供一種SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān),以實(shí)現(xiàn)SPI協(xié)議格式的數(shù)據(jù)與CANopen協(xié)議格式的數(shù)據(jù)之間的通信。
[0005]本實(shí)用新型提供一種SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān),包括:
[0006]SPI接口、控制器和CANopen總線收發(fā)器,其中,所述SPI接口、所述控制器和所述CANopen總線收發(fā)器依次相連,所述控制器用于SPI協(xié)議格式的數(shù)據(jù)和CANopen協(xié)議格式的數(shù)據(jù)之間的相互轉(zhuǎn)換,所述SPI接口用于在SPI總線與所述控制器之間傳輸所述SPI協(xié)議格式的數(shù)據(jù),所述CANopen總線收發(fā)器用于在CANopen總線與所述控制器之間傳輸所述CANopen協(xié)議格式的數(shù)據(jù)。
[0007]進(jìn)一步地,上述SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)中,所述CANopen總線收發(fā)器還用于CANopen協(xié)議格式的數(shù)字信號(hào)和CANopen協(xié)議格式的雙線差分信號(hào)之間的相互轉(zhuǎn)換。
[0008]進(jìn)一步地,上述SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)中,還包括:SPI光電隔離接口,所述SPI光電隔離接口位于所述SPI接口與所述控制器之間,所述SPI光電隔離接口用于濾除所述SPI協(xié)議格式的數(shù)據(jù)中的干擾信號(hào)。
[0009]進(jìn)一步地,上述SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)中,還包括:CANopen光電隔離接口,所述CANopen光電隔離接口位于所述CANopen總線收發(fā)器與所述控制器之間,所述CANopen光電隔離接口用于濾除所述CANopen協(xié)議格式的數(shù)據(jù)中的干擾信號(hào)。
[0010]進(jìn)一步地,上述SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)中,所述控制器為STM32F103。
[0011]進(jìn)一步地,上述SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)中,所述STM32F103還用于提供工作電源和監(jiān)視電壓。
[0012]本實(shí)用新型提供一種SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān),通過SPI接口、控制器和CANopen總線收發(fā)器依次相連,控制器用于SPI協(xié)議格式的數(shù)據(jù)和CANopen協(xié)議格式的數(shù)據(jù)之間的相互轉(zhuǎn)換,SPI接口用于在SPI總線與控制器之間傳輸SPI協(xié)議格式的數(shù)據(jù),CANopen總線收發(fā)器用于在CANopen總線與控制器之間傳輸CANopen協(xié)議格式的數(shù)據(jù),能使SPI協(xié)議和CANopen協(xié)議的之間相互轉(zhuǎn)換,實(shí)現(xiàn)了 SPI協(xié)議格式的數(shù)據(jù)與CANopen協(xié)議格式的數(shù)據(jù)直接進(jìn)行通信。
【附圖說明】
[0013]為了更清楚地說明本實(shí)用新型實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本實(shí)用新型的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1為本實(shí)用新型SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)實(shí)施例一的結(jié)構(gòu)示意圖;
[0015]圖2為本實(shí)用新型SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)實(shí)施例二的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0016]為使本實(shí)用新型實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本實(shí)用新型實(shí)施例中的附圖,對(duì)本實(shí)用新型實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本實(shí)用新型一部分實(shí)施例,而不是全部的實(shí)施例?;诒緦?shí)用新型中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本實(shí)用新型保護(hù)的范圍。
[0017]圖1為本實(shí)用新型SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)實(shí)施例一的結(jié)構(gòu)示意圖。如圖1所示,本實(shí)施例提供的SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)包括:
[0018]SPI接口 11、控制器12和CANopen總線收發(fā)器13,其中,SPI接口 11、控制器12和CANopen總線收發(fā)器13依次相連,控制器12用于SPI協(xié)議格式的數(shù)據(jù)和CANopen協(xié)議格式的數(shù)據(jù)之間的相互轉(zhuǎn)換,SPI接口用于在SPI總線14與控制器12之間傳輸SPI協(xié)議格式的數(shù)據(jù),CANopen總線收發(fā)器13用于在CANopen總線15與控制器12之間傳輸CANopen協(xié)議格式的數(shù)據(jù)。
[0019]具體地,本實(shí)施例提供的SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)可以應(yīng)用在列車等工業(yè)現(xiàn)場(chǎng)控制領(lǐng)域中。在需要SPI協(xié)議格式的數(shù)據(jù)與CANopen協(xié)議格式的數(shù)據(jù)通信時(shí),由于SPI協(xié)議格式的數(shù)據(jù)和CANopen協(xié)議格式的數(shù)據(jù)的數(shù)據(jù)幀格式不同,兩者之間不能直接通信,需要使用本實(shí)施例提供的SPI協(xié)議與CANopen協(xié)議通信的網(wǎng)關(guān)實(shí)現(xiàn)兩者的通信。SPI接口 11、控制器12和CANopen總線收發(fā)器13依次電連接,即SPI接口 11連接控制器12,控制器12連接CANopen總線收發(fā)器13。
[0020]當(dāng)需要從SPI總線14發(fā)送數(shù)據(jù)到CANopen總線15時(shí):SPI接口 11接收SPI總線14上發(fā)送的SPI協(xié)議格式的數(shù)據(jù),或者,SPI接口 11以一定的頻率定期從SPI總線14上獲取SPI協(xié)議格式的數(shù)據(jù),本實(shí)施例對(duì)此不做限制,只要SPI接口 11能從SPI總線14上得到SPI協(xié)議格式的數(shù)據(jù)即可。SPI接口 11將SPI協(xié)議格式的數(shù)據(jù)發(fā)送給控制器12,控制器12將SPI協(xié)議格式的數(shù)據(jù)轉(zhuǎn)換成CANopen協(xié)議格式的數(shù)據(jù),具體地,控制器12對(duì)SPI協(xié)議格式的數(shù)據(jù)進(jìn)行解碼,解碼出有效數(shù)據(jù)后再按照CANopen協(xié)議格式的數(shù)據(jù)進(jìn)行封裝,得到CANopen協(xié)議格式的數(shù)據(jù)??刂破?2將轉(zhuǎn)換后的CANopen協(xié)議格式的數(shù)據(jù)發(fā)送給CANopen總線收發(fā)器13,CANopen總線收發(fā)器13將CANopen協(xié)議格式的數(shù)據(jù)發(fā)送給CANopen總線15,完成一次SPI總線14上的數(shù)據(jù)和CANopen總線15上的數(shù)據(jù)的通信。
[0021]當(dāng)需要從CANopen總線15發(fā)送數(shù)據(jù)到SPI總線14時(shí):CANopen總線收發(fā)器13接收CANopen總線15上發(fā)送的CANopen協(xié)議格式的數(shù)據(jù),或者,CANopen總線收發(fā)器13以一定的頻率定期從CANopen總線15上獲取CANopen協(xié)議格式的數(shù)據(jù),本實(shí)施例對(duì)此不做限制。CANopen總線收發(fā)器13將CANopen協(xié)議格式的數(shù)據(jù)發(fā)送給控制器12,控制器12將CANopen協(xié)議格式的數(shù)據(jù)轉(zhuǎn)換成SPI協(xié)議格式的數(shù)據(jù),具體地,控制器12對(duì)CANopen協(xié)議格式的數(shù)據(jù)進(jìn)行解碼,解碼出有效數(shù)據(jù)后再按照SPI協(xié)議格式的數(shù)據(jù)進(jìn)行封裝,得到SPI協(xié)議格式的數(shù)據(jù)??刂破?2將轉(zhuǎn)換后的SPI協(xié)議格式的數(shù)據(jù)發(fā)送給SPI接口 11,SPI接口 11將SPI協(xié)議格式的數(shù)據(jù)發(fā)送給SPI總線14,完成一次CANopen總線15上的數(shù)據(jù)和SPI總線14上的數(shù)據(jù)的通信。
[0022]可選的,在上述實(shí)施例中,SPI接口 11從SPI總線上得到SPI協(xié)議格式的數(shù)據(jù)后可以對(duì)SPI協(xié)議格式的數(shù)據(jù)進(jìn)行一定的處理,例如,加上SPI接口自身的報(bào)頭標(biāo)識(shí)等后再發(fā)送給控制器12。CANopen總線收發(fā)器13從CANopen總線15上得到CANopen協(xié)議格式的數(shù)據(jù)后可以對(duì)CANopen協(xié)議格式的數(shù)據(jù)進(jìn)行一定的處理,例如,加上CANopen總線收發(fā)器13自身的報(bào)頭標(biāo)識(shí)等后再發(fā)送給控制器12??刂破?2在進(jìn)行SPI協(xié)議格式的數(shù)據(jù)和CANopen協(xié)議格式的數(shù)據(jù)之間的相互轉(zhuǎn)換后,可以將轉(zhuǎn)換后的數(shù)據(jù)存儲(chǔ)在自身的緩存中,以備后續(xù)調(diào)用??刂破?2在進(jìn)行SPI協(xié)議格式的數(shù)據(jù)和CANopen協(xié)議格式的數(shù)據(jù)的相互轉(zhuǎn)換時(shí),可以先對(duì)CANopen網(wǎng)絡(luò)進(jìn)行初始化,再通過特定的端口接收CANopen總線收發(fā)器13發(fā)送的CANopen協(xié)議格式的數(shù)據(jù),再將CANopen協(xié)議格式的數(shù)據(jù)轉(zhuǎn)換成SPI協(xié)議格式的