專(zhuān)利名稱(chēng):一種基于fpga的rs232、rs485及can轉(zhuǎn)以太網(wǎng)裝置制造方法
【專(zhuān)利摘要】本實(shí)用新型公開(kāi)了 一種 基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置。該裝置的 CPU控制模塊與FPGA協(xié)議轉(zhuǎn)換模塊的AD總線(xiàn)端口連接,RS232電路模塊與FPGA協(xié)議轉(zhuǎn)換模塊的RS232串行端口相連,RS485電路模塊與FPGA協(xié)議轉(zhuǎn)換模塊的RS485串行端口相連,CAN電路模塊與FPGA協(xié)議轉(zhuǎn)換模塊的CAN總線(xiàn)端口相連,以太網(wǎng)PHY模塊與FPGA協(xié)議轉(zhuǎn)換模塊的MII端口相連。該裝置可以同時(shí)實(shí)現(xiàn)RS232、RS485及CAN總線(xiàn)轉(zhuǎn)以太網(wǎng),節(jié)省了轉(zhuǎn)換設(shè)備運(yùn)行的成本,與此同時(shí)由于使用FPGA作為協(xié)議轉(zhuǎn)換芯片,可以實(shí)現(xiàn)高速數(shù)據(jù)的轉(zhuǎn)換。
【專(zhuān)利說(shuō)明】—種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置
【技術(shù)領(lǐng)域】
[0001]本實(shí)用新型設(shè)計(jì)涉及一種總線(xiàn)轉(zhuǎn)以太網(wǎng)裝置,尤其是一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置。
【背景技術(shù)】
[0002]RS232、RS485和CAN總線(xiàn)屬于現(xiàn)場(chǎng)設(shè)備之間通信的常用接口方式。其中RS232是每臺(tái)設(shè)備的必備接口,通常用于配置及檢測(cè)設(shè)備的各項(xiàng)參數(shù),實(shí)現(xiàn)對(duì)設(shè)備的管理。RS485和CAN總線(xiàn)則主要用于在制造或過(guò)程區(qū)域的現(xiàn)場(chǎng)裝置與控制室內(nèi)的自動(dòng)裝置之間的數(shù)字式、串行、多點(diǎn)通信,解決工業(yè)現(xiàn)場(chǎng)的智能化儀器儀表、控制器、執(zhí)行機(jī)構(gòu)等現(xiàn)場(chǎng)設(shè)備間的數(shù)字通信以及這些現(xiàn)場(chǎng)控制設(shè)備和高級(jí)控制系統(tǒng)之間的信息傳遞問(wèn)題。
[0003]以上接口雖然解決各種設(shè)備的數(shù)據(jù)通信問(wèn)題,但是無(wú)法實(shí)現(xiàn)長(zhǎng)距離的傳輸。如RS232能夠可靠進(jìn)行數(shù)據(jù)傳輸?shù)淖畲笸ㄐ啪嚯x約為15m,RS485最大的通信距離約為1.2km,CAN總線(xiàn)通信距離最遠(yuǎn)可達(dá)到10km,但是通信速率在5kbps以下,這些缺點(diǎn)限制了異地設(shè)備之間的通信。以太網(wǎng)是目前接入因特網(wǎng)、實(shí)現(xiàn)全球數(shù)據(jù)通信的最方便的接口方式,并且速率可以達(dá)到100Mbps以上。因此將RS232、RS485及CAN總線(xiàn)轉(zhuǎn)成以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸成為了一種新的通信發(fā)展趨勢(shì)。
[0004]FPGA (Field — Programmable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在 PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。與此同時(shí),由于使用硬件描述語(yǔ)言完成電路設(shè)計(jì),并且FPGA內(nèi)部集成鎖項(xiàng)環(huán),可以把外部時(shí)鐘倍頻,核心頻率可以到百兆以上。因此其在處理高速數(shù)據(jù)上有著無(wú)可代替的地位。
[0005]目前市場(chǎng)上存在著單種接口轉(zhuǎn)以太網(wǎng)數(shù)據(jù)的設(shè)備,如RS23轉(zhuǎn)以太網(wǎng)裝置、RS485轉(zhuǎn)以太網(wǎng)裝置及CAN轉(zhuǎn)以太網(wǎng)數(shù)據(jù)裝置。當(dāng)需要多種接口時(shí),常常需要多臺(tái)協(xié)議轉(zhuǎn)換裝置,這無(wú)疑加大的設(shè)備運(yùn)行的成本,并且現(xiàn)有協(xié)議轉(zhuǎn)換裝置由于多數(shù)使用軟件代碼實(shí)現(xiàn)功能,效率和速度受到限制,因此提供一種具有多種接口并且可以對(duì)數(shù)據(jù)進(jìn)行高速處理的協(xié)議轉(zhuǎn)換裝置就很有必要。
實(shí)用新型內(nèi)容
[0006]為了克服現(xiàn)有RS232、RS485和CAN總線(xiàn)傳輸距離有限、設(shè)備運(yùn)行成本高的缺點(diǎn),本實(shí)用新型提供一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置。該裝置可以同時(shí)實(shí)現(xiàn)RS232、RS485及CAN總線(xiàn)轉(zhuǎn)以太網(wǎng),節(jié)省了轉(zhuǎn)換設(shè)備運(yùn)行的成本,與此同時(shí)由于使用FPGA作為協(xié)議轉(zhuǎn)換芯片,可以實(shí)現(xiàn)高速數(shù)據(jù)的轉(zhuǎn)換。
[0007]本實(shí)用新型解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,包括:CPU控制模塊、FPGA協(xié)議轉(zhuǎn)換模塊、RS232電路模塊、RS485電路模塊、CAN電路模塊以及以太網(wǎng)PHY模塊;CPU控制模塊的型號(hào)為MPC8308,F(xiàn)PGA協(xié)議轉(zhuǎn)換模塊使用Altera公司的EP4CE10E22C8芯片,F(xiàn)PGA協(xié)議轉(zhuǎn)換模塊包括寄存器配置單元、數(shù)據(jù)處理及存儲(chǔ)單元、數(shù)據(jù)流控制單元和以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元,寄存器配置單元分別與數(shù)據(jù)處理及存儲(chǔ)單元、數(shù)據(jù)流控制單元及以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元連接,CPU控制模塊與FPGA協(xié)議轉(zhuǎn)換模塊的AD總線(xiàn)端口連接,RS232電路模塊使用MAX232芯片,RS232電路模塊與FPGA協(xié)議轉(zhuǎn)換模塊的RS232串行端口相連,RS485電路模塊使用MAX485芯片,RS485電路模塊與FPGA協(xié)議轉(zhuǎn)換模塊的RS485串行端口相連,CAN電路模塊使用MPC2510作為CAN控制器,用PCA82C250作為CAN收發(fā)器,CAN電路模塊與FPGA協(xié)議轉(zhuǎn)換模塊的CAN總線(xiàn)端口相連,以太網(wǎng)PHY模塊采用IPlOl芯片,以太網(wǎng)PHY模塊與FPGA協(xié)議轉(zhuǎn)換模塊的MII端口相連該裝置的核心部分是FPGA內(nèi)部的邏輯設(shè)計(jì),該部分采用VHDL語(yǔ)言實(shí)現(xiàn),設(shè)計(jì)了一系列的FPAG內(nèi)部寄存器用來(lái)設(shè)置通信協(xié)議參數(shù),完成了 RS232、RS485及CAN接口的通信協(xié)議,以及在以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換中CRC、CHECKSUM計(jì)算。本裝置能同時(shí)接收處理四種類(lèi)型的數(shù)據(jù),分別為RS232、RS485、CAN及以太網(wǎng)數(shù)據(jù)。在使用之前CPU控制模塊會(huì)根據(jù)要求通過(guò)AD總線(xiàn)寫(xiě)FPGA內(nèi)部自定義的寄存器,來(lái)實(shí)現(xiàn)對(duì)通信參數(shù)的設(shè)置,當(dāng)RS232電路模塊和RS485電路模塊接收到其他設(shè)備發(fā)送的數(shù)據(jù)時(shí),會(huì)使用內(nèi)部芯片將數(shù)據(jù)轉(zhuǎn)換為T(mén)TL電平數(shù)據(jù),并通過(guò)接口送到FPGA內(nèi)部,F(xiàn)PGA內(nèi)通過(guò)VHDL語(yǔ)言編程實(shí)現(xiàn)數(shù)據(jù)的處理及存儲(chǔ),當(dāng)CAN電路模塊接收到其他設(shè)備發(fā)送的數(shù)據(jù)時(shí),會(huì)通過(guò)中斷信號(hào)告知FPGA,F(xiàn)PGA通過(guò)SPI接口讀取CAN控制器芯片的相應(yīng)寄存器,得到數(shù)據(jù)并存儲(chǔ),當(dāng)檢測(cè)到FPGA內(nèi)存RAM中有數(shù)據(jù)時(shí),會(huì)將數(shù)據(jù)裝換成以太網(wǎng)數(shù)據(jù),通過(guò)MII接口發(fā)送到以太網(wǎng)PHY模塊,當(dāng)以太網(wǎng)PHY模塊接收到UDP以太網(wǎng)數(shù)據(jù)時(shí),會(huì)通過(guò)MII接口發(fā)送到FPGA,首先FPGA會(huì)根據(jù)MAC、IP判斷是否為所需要的數(shù)據(jù)包,不是則丟棄,是則進(jìn)行拆包,將UDP數(shù)據(jù)包中的解析并存儲(chǔ),同時(shí)根據(jù)數(shù)據(jù)包中端口號(hào)來(lái)判斷將數(shù)據(jù)轉(zhuǎn)成RS232、RS485或CAN數(shù)據(jù)協(xié)議。如需要轉(zhuǎn)成232協(xié)議,F(xiàn)PGA會(huì)將數(shù)據(jù)轉(zhuǎn)換成TTL數(shù)據(jù)通過(guò)232接口發(fā)送給RS232電路模塊。
[0008]本實(shí)用新型的有益效果在于:
[0009]1、多種通訊數(shù)據(jù)接收發(fā)送功能。既可以將RS232、RS485和CAN數(shù)據(jù)透明、高效地轉(zhuǎn)化為以太網(wǎng)數(shù)據(jù),也可以將以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換為RS232、RS485和CAN數(shù)據(jù),實(shí)現(xiàn)了對(duì)具有這些接口設(shè)備的遠(yuǎn)程管理及遠(yuǎn)程通信。
[0010]2、數(shù)據(jù)協(xié)議可操作性強(qiáng)。通過(guò)讀寫(xiě)FPGA內(nèi)部的寄存器,可以改變通訊協(xié)議的每一個(gè)配置。如232和485數(shù)據(jù)的波特率、數(shù)據(jù)位、奇偶校驗(yàn)、停止位,CAN數(shù)據(jù)的速率、ID號(hào),以太網(wǎng)數(shù)據(jù)的源目的MAC、源目的IP、源目的端口號(hào)等。
[0011]3、多種組合使用方式。當(dāng)單獨(dú)使用本裝置時(shí),可以實(shí)現(xiàn)RS232、RS485和CAN數(shù)據(jù)轉(zhuǎn)以太網(wǎng)數(shù)據(jù),也可以實(shí)現(xiàn)RS232、RS485和CAN數(shù)據(jù),這三種數(shù)據(jù)協(xié)議之間的互相轉(zhuǎn)換;當(dāng)成對(duì)使用本裝備時(shí),可以實(shí)現(xiàn)RS232、RS485和CAN數(shù)據(jù)的長(zhǎng)距離傳輸。
[0012]4、高效的處理能力。由于是FPAG作為協(xié)議轉(zhuǎn)換芯片,所以本裝置具有高速數(shù)據(jù)處理能力,并且由于使用FPAG內(nèi)部的RAM作為數(shù)據(jù)的緩存,可以實(shí)現(xiàn)對(duì)三種數(shù)據(jù)的輪詢(xún)處理。
【附圖說(shuō)明】
[0013]下面結(jié)合附圖和實(shí)施例對(duì)本實(shí)用新型進(jìn)一步說(shuō)明。
[0014]圖1為本實(shí)用新型的電路框圖。
[0015]圖1中,1.CPU控制模塊,2.FPGA協(xié)議轉(zhuǎn)換模塊,2-1.寄存器配置單元,2-2.數(shù)據(jù)處理及存儲(chǔ)單元,2-3.數(shù)據(jù)流控制單元,2-4.以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元,3.RS232電路模塊,4.RS485電路模塊,5.CAN電路模塊,6.以太網(wǎng)PHY模塊。
【具體實(shí)施方式】
[0016]圖1中,一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,包括:CPU控制模塊1、FPGA協(xié)議轉(zhuǎn)換模塊2、RS232電路模塊3、RS485電路模塊4、CAN電路模塊5以及以太網(wǎng)PHY模塊6,CPU控制模塊I的型號(hào)為MPC8308,F(xiàn)PGA協(xié)議轉(zhuǎn)換模塊2使用Altera公司的EP4CE10E22C8芯片,F(xiàn)PGA協(xié)議轉(zhuǎn)換模塊2包括寄存器配置單元2_1、數(shù)據(jù)處理及存儲(chǔ)單元2-2、數(shù)據(jù)流控制單元2-3、以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元2-4,寄存器配置單元2-1分別與數(shù)據(jù)處理及存儲(chǔ)單元2-2、數(shù)據(jù)流控制單元2-3及以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元2-4連接,CPU控制模塊I與FPGA協(xié)議轉(zhuǎn)換模塊2的AD總線(xiàn)端口連接,RS232電路模塊3使用MAX232芯片,RS232電路模塊3與FPGA協(xié)議轉(zhuǎn)換模塊2的RS232串行端口相連,RS485電路模塊4使用MAX485芯片,RS485電路模塊4與FPGA協(xié)議轉(zhuǎn)換模塊2的RS485串行端口相連,CAN電路模塊5使用MPC2510作為CAN控制器,用PCA82C250作為CAN收發(fā)器,CAN電路模塊5與FPGA協(xié)議轉(zhuǎn)換模塊2的CAN總線(xiàn)端口相連,以太網(wǎng)PHY模塊6采用IPlOl芯片,以太網(wǎng)PHY模塊6與FPGA協(xié)議轉(zhuǎn)換模塊2的MII端口相連。該裝置的核心部分是FPGA內(nèi)部的邏輯設(shè)計(jì),該部分采用VHDL語(yǔ)言實(shí)現(xiàn),設(shè)計(jì)了一系列的FPAG內(nèi)部寄存器用來(lái)設(shè)置通信協(xié)議參數(shù),完成了RS232、RS485及CAN接口的通信協(xié)議,以及在以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換中CRC、CHECKSUM計(jì)算,本裝置能同時(shí)接收處理四種類(lèi)型的數(shù)據(jù),分別為RS232、RS485、CAN及以太網(wǎng)數(shù)據(jù)。在使用之前(PU控制模塊(I)會(huì)根據(jù)要求通過(guò)AD總線(xiàn)寫(xiě)FPGA內(nèi)部自定義的寄存器,來(lái)實(shí)現(xiàn)對(duì)通信參數(shù)的設(shè)置,當(dāng)RS232電路模塊3和RS485電路模塊4接收到其他設(shè)備發(fā)送的數(shù)據(jù)時(shí),會(huì)使用內(nèi)部芯片將數(shù)據(jù)轉(zhuǎn)換為T(mén)TL電平數(shù)據(jù),并通過(guò)接口送到FPGA內(nèi)部,F(xiàn)PGA內(nèi)通過(guò)VHDL語(yǔ)言編程實(shí)現(xiàn)數(shù)據(jù)的處理及存儲(chǔ),當(dāng)CAN電路模塊5接收到其他設(shè)備發(fā)送的數(shù)據(jù)時(shí),會(huì)通過(guò)中斷信號(hào)告知FPGA,F(xiàn)PGA通過(guò)SPI接口,讀取CAN控制器芯片的相應(yīng)寄存器,得到數(shù)據(jù)并存儲(chǔ),當(dāng)檢測(cè)到FPGA內(nèi)存RAM中有數(shù)據(jù)時(shí),會(huì)將數(shù)據(jù)轉(zhuǎn)換成以太網(wǎng)數(shù)據(jù),通過(guò)MII接口發(fā)送到以太網(wǎng)PHY模塊6。當(dāng)以太網(wǎng)PHY模塊6接收到UDP以太網(wǎng)數(shù)據(jù)時(shí),會(huì)通過(guò)MII接口發(fā)送到FPGA,首先FPGA會(huì)根據(jù)MAC、IP判斷是否為所需要的數(shù)據(jù)包,不是則丟棄,是則進(jìn)行拆包,將UDP數(shù)據(jù)包中的解析并存儲(chǔ),同時(shí)根據(jù)數(shù)據(jù)包中端口號(hào)來(lái)判斷將數(shù)據(jù)轉(zhuǎn)成RS232、RS485或CAN數(shù)據(jù)協(xié)議,如需要轉(zhuǎn)成232協(xié)議,F(xiàn)PGA會(huì)將數(shù)據(jù)轉(zhuǎn)換成TTL數(shù)據(jù)通過(guò)232接口發(fā)送給RS232電路模塊2。
【權(quán)利要求】
1.一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,包括:CPU控制模塊(1)、FPGA協(xié)議轉(zhuǎn)換模塊(2)、RS232電路模塊(3)、RS485電路模塊(4)、CAN電路模塊(5)以及以太網(wǎng)PHY模塊(6),其中FPGA協(xié)議轉(zhuǎn)換模塊(2)包括寄存器配置單元(2_1)、數(shù)據(jù)處理及存儲(chǔ)單元(2-2)、數(shù)據(jù)流控制單元(2-3)、以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元(2-4),寄存器配置單元(2-1)分別與數(shù)據(jù)處理及存儲(chǔ)單元(2-2)、數(shù)據(jù)流控制單元(2-3)及以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元(2-4 )連接;其特征是:CPU控制模塊(I)與FPGA協(xié)議轉(zhuǎn)換模塊(2 )的AD總線(xiàn)端口連接,RS232電路模塊(3)與FPGA協(xié)議轉(zhuǎn)換模塊(2)的RS232串行端口相連,RS485電路模塊(4)與FPGA協(xié)議轉(zhuǎn)換模塊(2 )的RS485串行端口相連,CAN電路模塊(5 )與FPGA協(xié)議轉(zhuǎn)換模塊(2)的CAN總線(xiàn)端口相連,以太網(wǎng)PHY模塊(6)與FPGA協(xié)議轉(zhuǎn)換模塊(2)的MII端口相連。2.根據(jù)權(quán)利要求1所述的一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,其特征在于,F(xiàn)PGA協(xié)議轉(zhuǎn)換模塊(2)包括寄存器配置單元(2-1)、數(shù)據(jù)處理及存儲(chǔ)單元(2-2)、數(shù)據(jù)流控制單元(2-3)及以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元(2-4);寄存器配置單元(2-1)分別與數(shù)據(jù)處理及存儲(chǔ)單元(2-2)、數(shù)據(jù)流控制單元(2-3)及以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元(2-4)連接;數(shù)據(jù)處理及存儲(chǔ)單元(2-2)上有3個(gè)數(shù)據(jù)端口,分別為232串行端口、485串行端口和CAN總線(xiàn)端口 ;數(shù)據(jù)處理及存儲(chǔ)單元(2-2)的數(shù)據(jù)輸出端和數(shù)據(jù)流控制單元(2-3)數(shù)據(jù)輸入端口連接,數(shù)據(jù)流控制單元(2-3)的數(shù)據(jù)輸出端口和以太網(wǎng)數(shù)據(jù)協(xié)議轉(zhuǎn)換單元(2-4)的輸入端口連接。3.根據(jù)權(quán)利I所述的一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,其特征在于:CPU控制模塊(I)使用MPC8308芯片。4.根據(jù)權(quán)利I或2所述的一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,其特征在于:FPGA協(xié)議轉(zhuǎn)換模塊(2)使用Altera公司的EP4CE10E22C8芯片。5.根據(jù)權(quán)利I所述的一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,其特征在于:RS232電路模塊(3)使用MAX232芯片,將232電平轉(zhuǎn)換后送到FPAG協(xié)議裝換模塊,或者將FPAG給的數(shù)據(jù)裝換成232電平。6.根據(jù)權(quán)利I所述的一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,其特征在于:RS485電路模塊(4)使用MAX485芯片,將總線(xiàn)數(shù)據(jù)轉(zhuǎn)換后送到FPAG協(xié)議裝換模塊,或者將FPAG給的數(shù)據(jù)裝換成總線(xiàn)數(shù)據(jù)。7.根據(jù)權(quán)利I所述的一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,其特征在于:CAN電路模塊(5)使用MPC2510做為CAN控制器,用PCA82C250作為CAN收發(fā)器。8.根據(jù)權(quán)利I所述的一種基于FPGA的RS232、RS485及CAN轉(zhuǎn)以太網(wǎng)裝置,其特征在于:以太網(wǎng)PHY模塊(6) IPlOl芯片,通過(guò)MII接口和FPGA連接。
【文檔編號(hào)】H04L12-40GK204291023SQ201420774144
【發(fā)明者】權(quán)國(guó)棟, 滿(mǎn)忠昊 [申請(qǐng)人]中國(guó)礦業(yè)大學(xué)