一種ip網(wǎng)絡(luò)接口與can總線接口轉(zhuǎn)換裝置制造方法
【專(zhuān)利摘要】本發(fā)明提供了一種IP網(wǎng)絡(luò)接口與CAN總線接口轉(zhuǎn)換裝置,所述裝置包括以太網(wǎng)接口、以太網(wǎng)控制器、CPU、CAN控制器、CAN接口。通過(guò)總線接口轉(zhuǎn)換電路、接口軟件設(shè)計(jì)實(shí)現(xiàn)接口兼容,接口轉(zhuǎn)換通過(guò)單片機(jī)控制,通過(guò)以太網(wǎng)接口、以太網(wǎng)控制器完成以太網(wǎng)數(shù)據(jù)收發(fā)控制,通過(guò)CAN控制器、CAN接口完成CAN總線數(shù)據(jù)收發(fā)控制。本發(fā)明的裝置能實(shí)現(xiàn)以太網(wǎng)和CAN總線通信轉(zhuǎn)換,解決通信協(xié)議和通信接口不同的兩種系統(tǒng)的信息交互問(wèn)題。
【專(zhuān)利說(shuō)明】-種IP網(wǎng)絡(luò)接口與CAN總線接口轉(zhuǎn)換裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種IP網(wǎng)絡(luò)接口與CAN總線接口轉(zhuǎn)換裝置,該裝置能夠?qū)崿F(xiàn)以太網(wǎng)和 CAN總線通信轉(zhuǎn)換,解決通信協(xié)議和通信接口不同的兩種系統(tǒng)的信息交互問(wèn)題。
【背景技術(shù)】
[0002] 目前總線網(wǎng)絡(luò)已經(jīng)廣泛應(yīng)用于信息控制領(lǐng)域。基于IP的以太網(wǎng)是常用的信息網(wǎng) 絡(luò)接口,具有傳輸距離遠(yuǎn)、傳輸帶寬高的優(yōu)點(diǎn)。隨著傳輸速率的提高和交換技術(shù)的使用,以 太網(wǎng)的確定性和實(shí)時(shí)性得到了保證,工業(yè)以太網(wǎng)的安全性和網(wǎng)絡(luò)生存性也得到了很大程度 的提高,使其在工業(yè)控制領(lǐng)域得到廣泛的應(yīng)用。CAN總線也是應(yīng)用及其普遍的一種現(xiàn)場(chǎng)總 線,具有實(shí)時(shí)性好的優(yōu)勢(shì),被廣泛應(yīng)用于汽車(chē)等交通運(yùn)輸工具、工業(yè)控制、智能樓宇、機(jī)械工 業(yè)、醫(yī)療器械、傳感器等領(lǐng)域,被稱(chēng)為最有前途的現(xiàn)場(chǎng)總線之一,但其主要缺點(diǎn)是不適合遠(yuǎn) 距離傳輸。但由于以太網(wǎng)和CAN總線通信協(xié)議不同,兩種總線器件間無(wú)法進(jìn)行數(shù)據(jù)通信,這 對(duì)系統(tǒng)擴(kuò)展或信息兼容造成了影響。為解決網(wǎng)絡(luò)的兼容問(wèn)題,提高效率,在需要實(shí)現(xiàn)兩種總 線信息交互的系統(tǒng)中,有必要采用技術(shù)手段,實(shí)現(xiàn)通過(guò)以太網(wǎng)接口使計(jì)算機(jī)融入CAN網(wǎng)絡(luò), 把以太網(wǎng)的遠(yuǎn)距離傳輸性與CAN的專(zhuān)業(yè)性結(jié)合起來(lái),優(yōu)勢(shì)組合。
【發(fā)明內(nèi)容】
[0003]為滿足以太網(wǎng)和CAN總線進(jìn)行數(shù)據(jù)交互的要求,解決因通信協(xié)議、通信接口不同 造成的通信兼容問(wèn)題,本發(fā)明提供一種IP網(wǎng)絡(luò)接口與CAN總線接口轉(zhuǎn)換裝置,通過(guò)總線接 口轉(zhuǎn)換電路、接口軟件設(shè)計(jì)實(shí)現(xiàn)接口兼容。
[0004] 本發(fā)明的IP網(wǎng)絡(luò)接口與CAN總線接口轉(zhuǎn)換裝置,含有以太網(wǎng)接口、以太網(wǎng)控制 器、中央處理器CPU、光電耦合器I、光電耦合器II、CAN接口; CPU與以太網(wǎng)控制器連接,以太 網(wǎng)控制器與以太網(wǎng)接口連接通過(guò)時(shí)鐘同步信號(hào)完成數(shù)據(jù)的同步傳輸;CPU分別通過(guò)光電耦 合器I、光電耦合器II與CAN接口連接;CPU中存儲(chǔ)有用于數(shù)據(jù)上行通信與下行通信的控制程 序。
[0005]所述控制程序含有如下步驟: 1) 以太網(wǎng)接口接收到數(shù)據(jù)并向CAN總線發(fā)送時(shí),寫(xiě)數(shù)據(jù)至以太網(wǎng)控制器,以太網(wǎng)控制 器觸發(fā)CPU控制器的0號(hào)中斷; 2) CPU解析以太網(wǎng)控制器緩存區(qū)的協(xié)議數(shù)據(jù),把需發(fā)送的數(shù)據(jù)拷貝到其內(nèi)存空間,并 轉(zhuǎn)換成CAN總線協(xié)議; 3) CPU向CAN接口的發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù),由CAN接口轉(zhuǎn)發(fā)到CAN總線網(wǎng)絡(luò); 4) CAN總線有數(shù)據(jù)發(fā)送至以太網(wǎng)時(shí),CAN接口觸發(fā)CPU控制器的1號(hào)中斷; 5) CPU收到數(shù)據(jù)后,進(jìn)行數(shù)據(jù)解析,根據(jù)以太網(wǎng)協(xié)議轉(zhuǎn)換成以太網(wǎng)幀格式; 6) 將數(shù)據(jù)寫(xiě)入太網(wǎng)控制器的發(fā)送緩沖區(qū),以太網(wǎng)控制器通過(guò)以太網(wǎng)接口將數(shù)據(jù)發(fā)送 至以太網(wǎng)。
[0006]本發(fā)明的IP網(wǎng)絡(luò)接口與CAN總線接口轉(zhuǎn)換裝置,在保證數(shù)據(jù)完整和協(xié)議可靠的前 提下,充分遵循以太網(wǎng)和CAN協(xié)議的基礎(chǔ)上,不僅能夠?qū)崿F(xiàn)以太網(wǎng)數(shù)據(jù)與CAN數(shù)據(jù)的轉(zhuǎn)發(fā), 同時(shí)還可以解決以太網(wǎng)的高速性與CAN的低速率沖突,以及兩者數(shù)據(jù)包之間的大小不同的 矛盾。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0007] 圖1為本發(fā)明的硬件連接結(jié)構(gòu)示意圖; 圖2為本發(fā)明中的以太網(wǎng)轉(zhuǎn)CAN的工作流程圖; 圖3為本發(fā)明中的CAN轉(zhuǎn)以太網(wǎng)的工作流程圖。
【具體實(shí)施方式】
[0008] 圖1為本發(fā)明的轉(zhuǎn)換裝置部件連接示意圖,在圖1中,本發(fā)明的轉(zhuǎn)換裝置含有以太 網(wǎng)接口 111、以太網(wǎng)控制器12UCPU131、光電耦合器I 141,光電耦合器II 142、CAN接口 151。 CPU131與以太網(wǎng)控制器121連接,以太網(wǎng)控制器121與以太網(wǎng)接口 111連接,CPU131分別 通過(guò)光電耦合器I 141,、光電耦合器II 142與CAN接口 151連接。以太網(wǎng)接口 111、以太網(wǎng)控 制器12UCPU131進(jìn)行以太網(wǎng)數(shù)據(jù)通信,CPU131,光電耦合器I 141,光電耦合器II 142、CAN 接口 151進(jìn)行CAN數(shù)據(jù)通信。以太網(wǎng)接口 111與以太網(wǎng)控制器121之間要求需的時(shí)鐘同步 信號(hào)完成數(shù)據(jù)的同步傳輸,以太網(wǎng)控制器121與CPU131的通訊采用數(shù)據(jù)總線與地址總線, 并通過(guò)中斷觸發(fā),CPU131與CAN接口 151之間的高速光耦I(lǐng) 141、高速光稱(chēng)II 142用于提高 系統(tǒng)的抗干擾性,CAN接口 151接入CAN總線增加限流電阻用于提高系統(tǒng)的可靠性。CPU131 中存儲(chǔ)有用于數(shù)據(jù)上行通信與下行通信的控制程序。
[0009] 圖2為以太網(wǎng)轉(zhuǎn)換CAN流程圖。步驟200為初始流程,實(shí)現(xiàn)參數(shù)和接口的初始化。 當(dāng)以太網(wǎng)控制器121收到以太網(wǎng)數(shù)據(jù)時(shí)進(jìn)入步驟201,進(jìn)入步驟202的數(shù)據(jù)轉(zhuǎn)換狀態(tài)。步驟 203為CPU131得到數(shù)據(jù)轉(zhuǎn)換信息后觸發(fā)INTO,若觸發(fā)有效,則進(jìn)入步驟205,將數(shù)據(jù)從以太 網(wǎng)控制器121的接收緩沖區(qū)拷貝到其內(nèi)存空間,并按照以太網(wǎng)和CAN總線格式,將收到的報(bào) 文轉(zhuǎn)換打包或拆包轉(zhuǎn)換為標(biāo)準(zhǔn)CAN總線協(xié)議報(bào)文,轉(zhuǎn)換完成后進(jìn)入步驟206,等待發(fā)送區(qū)空 閑,若觸發(fā)無(wú)效則繼續(xù)等待。若CPU131發(fā)送區(qū)空閑,則進(jìn)入步驟208通過(guò)CAN接口 151將 數(shù)據(jù)轉(zhuǎn)發(fā)到CAN網(wǎng)絡(luò),完成轉(zhuǎn)換和發(fā)送。發(fā)送區(qū)忙則進(jìn)入步驟207,等待發(fā)送區(qū)空閑。
[0010] 圖3為CAN轉(zhuǎn)換以太網(wǎng)的流程圖。步驟300為初始流程,實(shí)現(xiàn)參數(shù)和接口的初始 化。當(dāng)CAN接口收到CAN數(shù)據(jù)后進(jìn)入步驟301,由于CPU內(nèi)置CAN控制器,進(jìn)入步驟302等 待CPU接收區(qū)空閑,若空閑進(jìn)入步驟304,接收數(shù)據(jù)并進(jìn)入數(shù)據(jù)轉(zhuǎn)換,不空閑則進(jìn)入等待步 驟303。步驟305為CPU131得到數(shù)據(jù)轉(zhuǎn)換信息后觸發(fā)INT1,若觸發(fā)有效,進(jìn)入步驟306,完 成CAN協(xié)議至TCP/IP協(xié)議轉(zhuǎn)換,觸發(fā)無(wú)效則繼續(xù)等待。轉(zhuǎn)換完成進(jìn)入步驟307,將數(shù)據(jù)通過(guò) 總線寫(xiě)入以太網(wǎng)控制器緩存區(qū)并進(jìn)入步驟308,由控制器將轉(zhuǎn)換后的報(bào)文發(fā)送至以太網(wǎng),完 成轉(zhuǎn)換和發(fā)送。
[0011] 本發(fā)明的轉(zhuǎn)換裝置,CAN與以太網(wǎng)都采用中斷觸發(fā)方式,把數(shù)據(jù)包先存入緩沖區(qū), 進(jìn)一步分析數(shù)據(jù)。在數(shù)據(jù)接收時(shí),不允許接收新的數(shù)據(jù)和中斷,直到數(shù)據(jù)完全接收后,才將 接收緩沖區(qū)釋放。在數(shù)據(jù)發(fā)送時(shí),先確認(rèn)發(fā)送緩沖區(qū)空閑才寫(xiě)入數(shù)據(jù)。由于兩者都有內(nèi)部 的發(fā)送和接收緩沖區(qū),主程序的主要任務(wù)就是實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)以及通訊的握手協(xié)議。
[0012]CPU131采用新華龍C8051F040單片機(jī),內(nèi)置CAN控制器; 以太網(wǎng)控制器121采用CP2200 ; 以太網(wǎng)接口 111采用HR911105A ; CAN 接口 151 采用 SN65HVD230 ; C8051RM0與SN65HVD230間采用的光電耦合器141、光電耦合器142為6N173 ; 65HVD230至CAN總線采用兩只5 Q電阻用于限流; 網(wǎng)絡(luò)數(shù)據(jù)為標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù),遵循TCP/IP網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議; CAN總線協(xié)議支持標(biāo)準(zhǔn)幀和擴(kuò)展幀; 網(wǎng)絡(luò)接口模塊HR911105A與網(wǎng)絡(luò)接口芯片CP2200的時(shí)鐘統(tǒng)一; 所述協(xié)議轉(zhuǎn)換的參數(shù)設(shè)定在系統(tǒng)初始化時(shí)完成。
【權(quán)利要求】
1. 一種IP網(wǎng)絡(luò)接口與CAN總線接口轉(zhuǎn)換裝置,含有以太網(wǎng)接口(111)、以太網(wǎng)控制器 (121)、CPU(131)、光電耦合器I(141)、光電耦合器II(142)、CAN接口(151);CPU(131)與 以太網(wǎng)控制器(121)連接,以太網(wǎng)控制器(121)與以太網(wǎng)接口(111)連接通過(guò)時(shí)鐘同步信號(hào) 完成數(shù)據(jù)的同步傳輸;CPU(131)分別通過(guò)光電耦合器I(141)、光電耦合器II(142)與CAN 接口(151)連接;CPU(131)中存儲(chǔ)有用于數(shù)據(jù)上行通信與下行通信的控制程序。
2. 根據(jù)權(quán)利要求1所述的轉(zhuǎn)換裝置,其特征在于,所述控制程序含有如下步驟: 1) 以太網(wǎng)接口(111)接收到數(shù)據(jù)并向CAN總線發(fā)送時(shí),寫(xiě)數(shù)據(jù)至以太網(wǎng)控制器(121), 以太網(wǎng)控制器(121)觸發(fā)CPU(131)控制器的O號(hào)中斷; 2. CPU(131)解析以太網(wǎng)控制器緩存區(qū)的協(xié)議數(shù)據(jù),把需發(fā)送的數(shù)據(jù)拷貝到其內(nèi)存空 間,并轉(zhuǎn)換成CAN總線協(xié)議; 3. CPU(131)向CAN接口(151)的發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù),由CAN接口(151)轉(zhuǎn)發(fā)到CAN 總線網(wǎng)絡(luò); 4)CAN總線有數(shù)據(jù)發(fā)送至以太網(wǎng)時(shí),CAN接口(151)觸發(fā)CPU(131)控制器的1號(hào)中 斷; 5. CPU(131)收到數(shù)據(jù)后,進(jìn)行數(shù)據(jù)解析,根據(jù)以太網(wǎng)協(xié)議轉(zhuǎn)換成以太網(wǎng)幀格式; 6) 將數(shù)據(jù)寫(xiě)入太網(wǎng)控制器(121)的發(fā)送緩沖區(qū),以太網(wǎng)控制器(121)通過(guò)以太網(wǎng)接口 (111)將數(shù)據(jù)發(fā)送至以太網(wǎng)。
【文檔編號(hào)】H04L29/10GK104320497SQ201410612087
【公開(kāi)日】2015年1月28日 申請(qǐng)日期:2014年11月5日 優(yōu)先權(quán)日:2014年11月5日
【發(fā)明者】朱松柏, 劉治紅, 陳濤, 王鈐 申請(qǐng)人:四川省綿陽(yáng)西南自動(dòng)化研究所