本發明屬于CAN總線電路,具體涉及一種CAN總線自動編碼電路及編碼方法。
背景技術:
CAN總線是一種兩線差分式的總線通訊方式,總線上可以同時連接多個CAN收發節點,進行總線式數據傳送,由于多個節點共享總線,所以每個CAN收發節點需要有獨立的ID號,目前市面上CAN總線上各收發節點地址需要手動編碼,效率低下,增加生產工藝復雜度,且容易出錯。維護維修階段,更是需要匹配ID號才能更換模塊,而這部分工作只有專業廠家才能實現。
為了解決上述技術不足,目前市面上有一種CAN總線節點自動編碼技術,通過每個模塊增加額外的開關輸入輸出端口,同時增加2條額外的線纜傳遞開關握手信號,實現節點順序編碼。每個模塊分別有一個開關輸入檢測端口和一個開關量輸出端口。CAN總線互聯以后,通過增加額外的線纜把第一個模塊的開關輸出端口連接到第二個模塊的開關輸入檢測端口。同時第二模塊的輸出端口連接到第三個模塊的開關輸入端口,依次類推,前一個模塊的輸出連接到下一個模塊的輸入,連接成一個菊花鏈的開關傳遞總線。系統上電模塊沒有編碼前,所有模塊輸出端口輸出閉合狀態,在這種情況下,除了第一模塊輸入檢測為開路,其它每個模塊的輸入都會收到前一個模塊的輸出且為閉合狀態。這個時候,檢測到開路的第一個模塊自動編碼為1號模塊。然后第一個模塊輸出端口改成開路狀態,緊接著第二號模塊的輸入會檢測為開路,然后第二號模塊開始編碼。編碼前先探測所有已經編碼完的模塊,然后在已存在的所有模塊號加一編碼為自己的模塊號,然后二號模塊輸出端口狀態改為開路,依次類推,所有模塊自動編碼完成。
然而,該自動編碼方式效率低下,且增加額外的線纜,增加了布線成本,線束復雜,接口多,降低產品可靠性。
技術實現要素:
本發明的目的之一在于:針對現有技術的不足,提供一種CAN總線自動編碼電路,以簡化電路,并有效完成自動編碼。
為了實現上述目的,本發明采用如下技術方案:
一種CAN總線自動編碼電路,包括主機模塊和從機模塊,所述從機模塊至少設置有兩個,所述從機模塊與主機模塊級聯連接,所述主機模塊能夠向所述從機模塊發送探測幀和編碼命令,所述探測幀能夠檢測從機模塊的ID是否為初始固定ID;所述從機模塊包括CAN收發器和通訊級聯開關,所述CAN收發器設置有外接引出線,第一級從機模塊的CAN收發器通過外接引出線與主機連接,所述通訊級聯開關一端與本級從機模塊的CAN收發器的外接引出線連接,另一端與下一級從機模塊的CAN收發器的外接引出線連接,所述從機模塊完成編碼后所述通訊級聯開關能夠自動閉合。
作為本發明所述的一種CAN總線自動編碼電路的改進,所述通訊級聯開關為雙聯開關。
作為本發明所述的一種CAN總線自動編碼電路的改進,所述從機模塊還包括微控制單元。
本發明的目的之一的有益效果在于:提供一種CAN總線自動編碼電路,在不需另外增加線纜的情況實現CAN總線電路的自動編碼,簡化電路降低成本,且自動編碼效率高,穩定性好。
本發明的目的之二,針對現有技術的不足,提供一種CAN總線自動編碼方法,以簡化電路,并有效完成自動編碼。
為了實現上述目的,本發明采用如下技術方案:
一種CAN總線自動編碼方法,包括上述CAN總線自動編碼電路,具體如下述步驟:
步驟一,CAN總線自動編碼電路連接后各級從機模塊的通訊級聯開關斷開,此時第一級從機模塊與主機模塊連通,所述主機模塊向從機模塊發送探測幀,探測幀檢測到第一級從機模塊ID為初始固定ID,主機模塊向從機模塊發送編碼命令,第一級從機模塊獲得新的ID,第一級從機模塊的通訊級聯開關自動閉合,使下一級從機模塊與主機模塊連通。
步驟二,主機模塊向從機模塊發送探測幀,與主機模塊新連通的從機模塊ID為初始固定ID,主機模塊向從機模塊發送編碼命令,新連通的從機模塊獲得新的ID,該從機模塊的通訊級聯開關自動閉合,使下一級從機模塊與主機模塊連通。
步驟三,重復步驟二,至每一級從機模塊編碼完成。
本發明的目的之二的有益效果在于:提供一種CAN總線自動編碼方法,在不需另外增加線纜的情況實現CAN總線電路的自動編碼,簡化電路降低成本,且自動編碼效率高,穩定性好。
附圖說明
圖1為發明的原理圖。
其中,1.主機模塊,2.從機模塊,21.CAN收發器,22.通訊級聯開關,23.外接引出線,24.微控制單元。
具體實施方式
下面將結合具體實施方式對本發明及其有益效果作進一步詳細說明,但是,本發明的具體實施方式并不局限于此。
如圖1所示,一種CAN總線自動編碼電路,包括主機模塊1和從機模塊2,所述從機模塊2至少設置有兩個,所述從機模塊2與主機模塊1級聯連接,所述主機模塊1能夠向所述從機模塊2發送探測幀和編碼命令,所述探測幀能夠檢測從機模塊2ID是否為初始固定ID;所述從機模塊2包括CAN收發器21和通訊級聯開關22,所述CAN收發器21設置有外接引出線23,第一級從機模塊2的CAN收發器21通過外接引出線23與主機連接,所述通訊級聯開關22一端與本級從機模塊2的CAN收發器21的外接引出線23連接,另一端與下一級從機模塊2的CAN收發器21的外接引出線23連接,所述從機模塊2完成編碼后所述通訊級聯開關22能夠自動閉合。通過設置通訊級聯開關22,使得不需另外增加線纜的情況實現CAN總線電路的各從機模塊2的自動編碼,簡化電路降低成本,且自動編碼效率高,穩定性好。
作為優選,所述通訊級聯開關22為雙聯開關。
作為優選,所述從機模塊2還包括微控制單元24。
一種CAN總線自動編碼方法,包括上述CAN總線自動編碼電路,具體如下述步驟:
步驟一,CAN總線自動編碼電路連接后各級從機模塊2的通訊級聯開關22斷開,此時第一級從機模塊2與主機模塊1連通,所述主機模塊1向從機模塊2發送探測幀,探測幀檢測到第一級從機模塊2ID為初始固定ID,主機模塊1向從機模塊2發送編碼命令,第一級從機模塊2獲得新的ID,第一級從機模塊2的通訊級聯開關22自動閉合,使下一級從機模塊2與主機模塊1連通。
步驟二,主機模塊1向從機模塊2發送探測幀,與主機模塊1新連通的從機模塊2ID為初始固定ID,主機模塊1向從機模塊2發送編碼命令,新連通的從機模塊2獲得新的ID,該從機模塊2的通訊級聯開關22自動閉合,使下一級從機模塊2與主機模塊1連通。
步驟三,重復步驟二,至每一級從機模塊2編碼完成。
通過該方法,使得不需另外增加線纜的情況實現CAN總線電路的各從機模塊2的自動編碼,簡化電路降低成本,且自動編碼效率高,穩定性好。
根據上述說明書的揭示和教導,本發明所屬領域的技術人員還能夠對上述實施方式進行變更和修改。因此,本發明并不局限于上述的具體實施方式,凡是本領域技術人員在本發明的基礎上所作出的任何顯而易見的改進、替換或變型均屬于本發明的保護范圍。此外,盡管本說明書中使用了一些特定的術語,但這些術語只是為了方便說明,并不對本發明構成任何限制。