本發(fā)明涉及集線器領(lǐng)域,特別是涉及一種智能CAN集線器。
背景技術(shù):
現(xiàn)今,科學(xué)技術(shù)日新月異。計(jì)算機(jī)技術(shù)、控制工程技術(shù)、通信技術(shù)等現(xiàn)代通信的核心技術(shù)的發(fā)展,推動(dòng)了消費(fèi)電子、智能家居、工控現(xiàn)場以及軍工產(chǎn)品對信息技術(shù)的應(yīng)用。
自從CAN總線問世以來,就不斷得到完善發(fā)展,如今已經(jīng)成為最常用的現(xiàn)場總線之一,CAN總線是在眾多的現(xiàn)場總線里唯一一個(gè)成為國際標(biāo)準(zhǔn)的總線,由于它的高可靠性、功能完善、成本低、技術(shù)先進(jìn)、通信速率快等諸多優(yōu)點(diǎn)使得CAN總線成為國際上被使用的最多的總線,在諸如控制工業(yè)、農(nóng)業(yè)機(jī)械、國防工業(yè)等領(lǐng)域都用到了CAN總線系統(tǒng),在醫(yī)療設(shè)備方面,應(yīng)用于CT斷層掃描儀,保證了CT能夠正常工作,改善了醫(yī)療設(shè)備的性能;在傳感器和數(shù)據(jù)采集系統(tǒng)方面,采用了傳感器總線這種現(xiàn)場總線,使得總線接口與傳感器一體化,簡化了系統(tǒng)的結(jié)構(gòu),提高了可靠性;在現(xiàn)代工業(yè)控制中,實(shí)現(xiàn)了現(xiàn)場設(shè)備間的數(shù)據(jù)通訊,大大提升了現(xiàn)場設(shè)備間的協(xié)調(diào)性。CAN總線網(wǎng)絡(luò)之間的通信要用到集線器,它可以實(shí)現(xiàn)兩網(wǎng)絡(luò)間的報(bào)文轉(zhuǎn)發(fā)和報(bào)文過濾的功能,并且還具有增大通信距離提高可靠性等諸多優(yōu)點(diǎn)。
在CAN總線的通信中,必須遵循一個(gè)總線網(wǎng)絡(luò)內(nèi)的通信速率必須相同,否則節(jié)點(diǎn)間的通信就會(huì)出現(xiàn)數(shù)據(jù)丟失、數(shù)據(jù)溢出等故障。而本發(fā)明設(shè)計(jì)的CAN集線器,就是要實(shí)現(xiàn)波特率不同的兩個(gè)網(wǎng)絡(luò)之間的基本通信以及報(bào)文過濾、報(bào)文統(tǒng)計(jì)與監(jiān)控等高級功能。
技術(shù)實(shí)現(xiàn)要素:
。
本發(fā)明的目的是提供智能CAN集線器,是基于VxWorks系統(tǒng)設(shè)計(jì)一個(gè)CAN集線器,智能化程度較高,實(shí)現(xiàn)CAN集線器節(jié)點(diǎn)信息通信,報(bào)文過濾,信息統(tǒng)計(jì)與監(jiān)控等豐富的高級功能,提高CAN集線器的使用靈活性,CAN總線可應(yīng)用于船舶導(dǎo)航領(lǐng)域、園區(qū)智能、環(huán)境工程、工業(yè)制冷等方面提供實(shí)踐依據(jù),具有廣闊的應(yīng)用前景和推廣價(jià)值。
本發(fā)明的目的通過以下技術(shù)方案來實(shí)現(xiàn):
智能CAN集線器,由PC104、CAN口1控制器SJA1000、CAN總線收發(fā)器1、總線1、CAN口2控制器SJA1000、CAN總線收發(fā)器2、總線2構(gòu)成;所述PC104連接CAN口1控制器SJA1000,CAN口1控制器SJA1000連接CAN總線收發(fā)器1,CAN總線收發(fā)器1連接總線1;所述PC104連接CAN口2控制器SJA1000,CAN口2控制器SJA1000連接CAN總線收發(fā)器2,CAN總線收發(fā)器2連接總線2。
所述集線器功能實(shí)現(xiàn)過程:首先初始化CAN口1控制器SJA1000、CAN口2控制器SJA1000,包括對工作方式、波特率設(shè)置,濾波寄存器RAM設(shè)置;然后集線器對總線1、總線2進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)接收口有報(bào)文,調(diào)用報(bào)文接收子程序把報(bào)文接收進(jìn)來;然后調(diào)用報(bào)文過濾子程序用該報(bào)文的標(biāo)識(shí)符到濾波寄存器RAM中查詢匹配,當(dāng)匹配上就接收報(bào)文,否則丟棄該報(bào)文;再調(diào)用人機(jī)界面子程序顯示報(bào)文的ID、數(shù)據(jù)信息;當(dāng)有報(bào)文被轉(zhuǎn)發(fā),調(diào)用報(bào)文發(fā)送子程序發(fā)送報(bào)文,并把轉(zhuǎn)發(fā)的報(bào)文在界面中顯示出來。
本發(fā)明的有益效果:本發(fā)明的智能CAN集線器,是基于VxWorks系統(tǒng)設(shè)計(jì)一個(gè)CAN集線器,實(shí)現(xiàn)CAN集線器節(jié)點(diǎn)信息通信,報(bào)文過濾,信息統(tǒng)計(jì)與監(jiān)控等豐富的高級功能,提高CAN集線器的使用靈活性,CAN總線可應(yīng)用于船舶導(dǎo)航領(lǐng)域、園區(qū)智能、環(huán)境工程、工業(yè)制冷等方面提供實(shí)踐依據(jù),具有廣闊的應(yīng)用前景和推廣價(jià)值。
附圖說明
圖1是本發(fā)明的整體結(jié)構(gòu)示意圖;
圖2是本發(fā)明的工作原理流程圖;
圖3是SJA1000的內(nèi)部結(jié)構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。
實(shí)施例1
如圖1所示,智能CAN集線器,由PC104、CAN口1控制器SJA1000、CAN總線收發(fā)器1、總線1、CAN口2控制器SJA1000、CAN總線收發(fā)器2、總線2構(gòu)成;所述PC104連接CAN口1控制器SJA1000,CAN口1控制器SJA1000連接CAN總線收發(fā)器1,CAN總線收發(fā)器1連接總線1;所述PC104連接CAN口2控制器SJA1000,CAN口2控制器SJA1000連接CAN總線收發(fā)器2,CAN總線收發(fā)器2連接總線2。
實(shí)施例2
如圖2所示,所述集線器功能實(shí)現(xiàn)過程:首先初始化CAN口1控制器SJA1000、CAN口2控制器SJA1000,包括對工作方式、波特率設(shè)置,濾波寄存器RAM設(shè)置;然后集線器對總線1、總線2進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)接收口有報(bào)文,調(diào)用報(bào)文接收子程序把報(bào)文接收進(jìn)來;然后調(diào)用報(bào)文過濾子程序用該報(bào)文的標(biāo)識(shí)符到濾波寄存器RAM中查詢匹配,當(dāng)匹配上就接收報(bào)文,否則丟棄該報(bào)文;再調(diào)用人機(jī)界面子程序顯示報(bào)文的ID、數(shù)據(jù)信息;當(dāng)有報(bào)文被轉(zhuǎn)發(fā),調(diào)用報(bào)文發(fā)送子程序發(fā)送報(bào)文,并把轉(zhuǎn)發(fā)的報(bào)文在界面中顯示出來。
實(shí)施例3
進(jìn)一步地,所述SJA1000是由NXP公司設(shè)計(jì)研發(fā)的主要用于控制工業(yè)中的區(qū)域網(wǎng)的一種獨(dú)立的控制器,SJA1000的內(nèi)部結(jié)構(gòu)如圖3所示。
接口管理邏輯:如圖3所示通過AD0~AD7地址數(shù)據(jù)復(fù)用引腳、控制總線與外界主控制器相連。它的功能是用來解釋主控制器的命令,還可以控制CAN寄存器的尋址。
發(fā)送緩沖器:作為CPU與位流處理器BSP之間的接口,能夠儲(chǔ)存一個(gè)從CAN總線接收并確認(rèn)的標(biāo)準(zhǔn)型或者擴(kuò)展型報(bào)文。當(dāng)收到主控制器發(fā)出的發(fā)送命令,就會(huì)使CAN核心模塊在發(fā)送緩沖器中讀取報(bào)文。
驗(yàn)收濾波器:當(dāng)收到一個(gè)報(bào)文時(shí),就把報(bào)文的標(biāo)識(shí)符取出來與驗(yàn)收濾波器設(shè)置的內(nèi)容相比較,如果滿足條件就接收,否則不接收,所有待接收的報(bào)文都必須經(jīng)過驗(yàn)收之后才能接收,并把滿足接收條件的報(bào)文存入接收緩存區(qū)中。