本公開(kāi)涉及usb-can模塊識(shí)別,尤其涉及一種usb-can模塊的識(shí)別方法和系統(tǒng)。
背景技術(shù):
1、usb-can模塊是將通用串行總線(usb)與控制器局域網(wǎng)絡(luò)(can)結(jié)合起來(lái)的一種技術(shù),通過(guò)usb接口與can網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的收發(fā)和監(jiān)控,usb-can接口通常具有高速傳輸且穩(wěn)定可靠等特點(diǎn),廣泛應(yīng)用于工業(yè)自動(dòng)化行業(yè)中。usb-can模塊的核心是mcu(微控制單元),mcu作為數(shù)據(jù)傳輸?shù)闹虚g媒介,將usb傳輸過(guò)來(lái)的數(shù)據(jù)轉(zhuǎn)換為can數(shù)據(jù)并發(fā)送出去,同時(shí)can傳輸過(guò)來(lái)的數(shù)據(jù)也會(huì)經(jīng)由mcu轉(zhuǎn)換為usb數(shù)據(jù)包發(fā)送到usb終端設(shè)備。
2、對(duì)于現(xiàn)有的windowsxp/7/10/11操作系統(tǒng),主機(jī)一般集成多個(gè)usb接口,可以同時(shí)接入多個(gè)usb-can模塊,并與多個(gè)usb-can模塊進(jìn)行通信。具體地,在將usb-can模塊接入主機(jī)的任一usb接口后,將調(diào)用usb接口的驅(qū)動(dòng)程序識(shí)別usb-can模塊的設(shè)備名稱(chēng),并按照usb-can模塊接入的先后順序?qū)⑵湓O(shè)備名稱(chēng)添加至設(shè)備列表中,以將接入的usb-can模塊記錄至設(shè)備列表中,并建立與usb-can模塊的通信。但是當(dāng)多個(gè)usb-can模塊同時(shí)接入同一臺(tái)主機(jī)時(shí),由于驅(qū)動(dòng)程序針對(duì)各usb-can模塊識(shí)別出的設(shè)備名稱(chēng)是一致的,這就導(dǎo)致用戶(hù)無(wú)法區(qū)分設(shè)備列表中記錄的各usb-can模塊具體對(duì)應(yīng)哪個(gè)實(shí)體usb-can模塊,需要通過(guò)手動(dòng)測(cè)試的方式進(jìn)行測(cè)定。因此,如何自動(dòng)確定設(shè)備列表中記錄的各usb-can模塊具體對(duì)應(yīng)哪個(gè)實(shí)體usb-can模塊是本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本公開(kāi)提出了一種usb-can模塊的識(shí)別方法和系統(tǒng),可以自動(dòng)實(shí)現(xiàn)設(shè)備列表中記錄的各usb-can模塊與實(shí)體usb-can模塊的對(duì)應(yīng),無(wú)需用戶(hù)進(jìn)行手動(dòng)測(cè)試。
2、根據(jù)本公開(kāi)的第一方面,提供了一種usb-can模塊的識(shí)別方法,用于識(shí)別確定出當(dāng)前接入主機(jī)各接口所對(duì)應(yīng)的usb-can模塊,包括:
3、獲取設(shè)備列表,所述設(shè)備列表中記錄有當(dāng)前接入至主機(jī)的兩個(gè)以上的usb-can模塊,且兩個(gè)以上的所述usb-can模塊按照初始順序排列;
4、對(duì)所述設(shè)備列表中所記錄的各所述usb-can模塊進(jìn)行遍歷,針對(duì)遍歷到的當(dāng)前usb-can模塊,由所述主機(jī)的多個(gè)usb接口中篩選出接入所述當(dāng)前usb-can模塊的接口作為當(dāng)前調(diào)用接口,并對(duì)所述當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制;
5、根據(jù)所述主機(jī)上針對(duì)各所述usb接口所配置的io接口的控制結(jié)果,對(duì)所述設(shè)備列表中記錄的各所述usb-can模塊的初始順序進(jìn)行調(diào)整,以使調(diào)整后的各所述usb-can模塊的排列順序按照所述主機(jī)上的usb接口順序依次排列。
6、在一種可能的實(shí)現(xiàn)方式中,在對(duì)所述當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制時(shí),包括:
7、通過(guò)所述當(dāng)前調(diào)用接口向所述當(dāng)前usb-can模塊發(fā)送第一預(yù)設(shè)指令;
8、通過(guò)所述當(dāng)前調(diào)用接口所配置的io接口接收所述當(dāng)前usb-can模塊響應(yīng)所述第一預(yù)設(shè)指令所返回的第一響應(yīng)信號(hào);
9、根據(jù)所述第一響應(yīng)信號(hào)對(duì)所述當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制。
10、在一種可能的實(shí)現(xiàn)方式中,所述當(dāng)前usb-can模塊響應(yīng)所述第一預(yù)設(shè)指令所返回的第一響應(yīng)信號(hào)為高電平信號(hào);
11、在根據(jù)所述第一響應(yīng)信號(hào)對(duì)所述當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制時(shí),包括:
12、根據(jù)所述第一響應(yīng)信號(hào)將所述當(dāng)前調(diào)用接口所配置的io接口設(shè)置為高電平,并標(biāo)識(shí)所述當(dāng)前調(diào)用接口所配置的io接口的順序。
13、在一種可能的實(shí)現(xiàn)方式中,在根據(jù)所述第一響應(yīng)信號(hào)對(duì)所述當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制時(shí),還包括:
14、在根據(jù)所述第一響應(yīng)信號(hào)將所述當(dāng)前調(diào)用接口所配置的io接口設(shè)置為高電平之后,通過(guò)所述當(dāng)前調(diào)用接口向所述當(dāng)前usb-can模塊發(fā)送第二預(yù)設(shè)指令;
15、通過(guò)與所述當(dāng)前調(diào)用接口所配置的io接口接收所述當(dāng)前usb-can模塊響應(yīng)所述第二預(yù)設(shè)指令所返回的第二響應(yīng)信號(hào);
16、根據(jù)所述第二響應(yīng)信號(hào)對(duì)所述當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制。
17、在一種可能的實(shí)現(xiàn)方式中,所述當(dāng)前usb-can模塊響應(yīng)所述第二預(yù)設(shè)指令所返回的第二響應(yīng)信號(hào)為低電平信號(hào);
18、在根據(jù)所述第二響應(yīng)信號(hào)對(duì)所述當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制時(shí),包括:
19、根據(jù)所述第二響應(yīng)信號(hào)將所述當(dāng)前調(diào)用接口所配置的io接口設(shè)置為低電平。
20、在一種可能的實(shí)現(xiàn)方式中,在根據(jù)所述主機(jī)上針對(duì)各所述usb接口所配置的io接口的控制結(jié)果,對(duì)所述設(shè)備列表中記錄的各所述usb-can模塊的初始順序進(jìn)行調(diào)整時(shí),包括:
21、獲取并根據(jù)所述主機(jī)上針對(duì)各所述usb接口所配置的io接口的順序?qū)λ鲈O(shè)備列表中記錄的各所述usb-can模塊的初始順序進(jìn)行調(diào)整,以使調(diào)整后的各所述usb-can模塊的排列順序按照所述主機(jī)上的usb接口順序依次排列。
22、根據(jù)本公開(kāi)的第二方面,提供了一種usb-can模塊的識(shí)別系統(tǒng),包括:
23、包括主機(jī)和當(dāng)前接入主機(jī)各接口的多個(gè)usb-can模塊;
24、所述主機(jī)中設(shè)置有主板,所述主板包括cpu、多個(gè)usb接口以及針對(duì)各所述usb接口所配置的io接口,其中,各所述usb接口分別與所述cpu上的多個(gè)usb引腳電連接,針對(duì)各所述usb接口所配置的io接口分別與所述cpu上的多個(gè)io引腳電連接;
25、各所述usb-can模塊包括mcu、can接口、usb接口以及所述usb接口所配置的io接口,其中,所述can接口與所述mcu上的can引腳電連接、所述usb接口與所述mcu上的usb引腳電連接,所述usb接口所配置的io接口與所述mcu上的io引腳電連接;
26、各所述usb-can模塊的usb接口和所述usb接口所配置的io接口分別電連接至所述主板上一組配置的usb接口和io接口上,各所述usb-can模塊的所述can接口分別電連接一個(gè)外部設(shè)備的can接口。
27、在一種可能的實(shí)現(xiàn)方式中,所述主板上各所述usb接口和與其配置的io接口集成在一個(gè)非標(biāo)usb接口中。
28、在一種可能的實(shí)現(xiàn)方式中,各所述usb-can模塊的所述usb接口和與其配置的io接口集成在一個(gè)非標(biāo)usb接口中。
29、本公開(kāi)提供了一種usb-can模塊的識(shí)別方法和系統(tǒng),該方法包括:獲取設(shè)備列表,設(shè)備列表中記錄有當(dāng)前接入至主機(jī)的兩個(gè)以上的usb-can模塊,且兩個(gè)以上的usb-can模塊按照初始順序排列;對(duì)設(shè)備列表中所記錄的各usb-can模塊進(jìn)行遍歷,針對(duì)遍歷到的當(dāng)前usb-can模塊,由主機(jī)的多個(gè)usb接口中篩選出接入當(dāng)前usb-can模塊的接口作為當(dāng)前調(diào)用接口,并對(duì)當(dāng)前調(diào)用接口所配置的io接口進(jìn)行控制;根據(jù)主機(jī)上針對(duì)各usb接口所配置的io接口的控制結(jié)果,對(duì)設(shè)備列表中記錄的各usb-can模塊的初始順序進(jìn)行調(diào)整,以使調(diào)整后的各usb-can模塊的排列順序按照主機(jī)上的usb接口順序依次排列。通過(guò)本公開(kāi)的方法可以自動(dòng)實(shí)現(xiàn)設(shè)備列表中記錄的各usb-can模塊與實(shí)體usb-can模塊的對(duì)應(yīng),無(wú)需用戶(hù)進(jìn)行手動(dòng)測(cè)試。
30、根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,本公開(kāi)的其它特征及方面將變得清楚。