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