本發明專利技術提供了一種基于LPC1768平臺的CAN中繼器,包括CAN控制器以及分別連接到CAN總線的第一CAN收發器和第二CAN收發器;所述CAN控制器具有兩個CAN數據收發通道、兩個接收緩沖器以及三個發送緩沖器且所述第一CAN收發器和第二CAN收發器分別連接到一個數據收發通道;所述CAN控制器還包括數據發送模塊、數據接收模塊;其中:所述數據接收模塊,用于以中斷方式接收CAN報文并存儲到接收緩沖器;所述數據發送模塊,用于將待發送CAN報文存入發送緩沖器,并在CAN總線空閑時將所述發送緩沖器中的CAN報文發送出去。本發明專利技術還提供一種對應的數據轉發方法。本發明專利技術通過LPC1768芯片自帶的兩路數據收發通道進行CAN報文轉發,簡化了CAN中繼電路,并提高了數據吞吐速度。
【技術實現步驟摘要】
基于LPC1768平臺的CAN中繼器及數據轉發方法
本專利技術涉及CAN數據中繼領域,更具體地說,涉及一種基于LPC1768平臺的CAN中繼器及數據轉發方法。
技術介紹
CAN link協議是CAN實時總線應用層協議,主要用于PLC、變頻器、伺服控制器等產品之間的實時控制與高速數據交互。在一些專用的CAN控制器中,有一些能夠實現CAN數據轉發的模塊。這些CAN中繼設計大多使用微處理器(MCU)加CAN控制器的雙芯片或者多芯片解決方案。上述CAN中繼器的主要具有以下優點:擴大了通信距離;增加了節點的最大數目;各個網段可使用不同的通信速率。然而在上述的雙芯片或者多芯片CAN中繼器中,其電路復雜,微處理器和CAN控制器通過外部總線進行連接。并且該類CAN中繼器對接收的幀要先存儲后轉發,增加了延時,使得數據吞吐速度較慢,可靠性比較差。此外,上述CAN中繼器中,CAN總線的MAC子層并沒有流量控制功能,當網絡上的負荷很重時,可能因中繼器中緩沖器的存儲空間不夠而發生溢出,以致產生幀丟失的現象。
技術實現思路
本專利技術要解決的技術問題在于,針對上述CAN中繼器數據吞吐速度慢、可靠性較差的問題,提供一種基于LPC1768平臺的CAN中繼器及數據轉發方法。本專利技術解決上述技術問題的技術方案是,提供一種基于LPC1768平臺的CAN中繼器,包括集成到LPC1768芯片的CAN控制器以及分別連接到CAN總線的第一 CAN收發器和第二 CAN收發器;所述CAN控制器具有兩個CAN數據收發通道、兩個接收緩沖器以及三個發送緩沖器且所述第一 CAN收發器和第二 CAN收發器分別連接到一個數據收發通道;所述CAN控制器還包括數據發送模塊、數據接收模塊;其中:所述數據接收模塊,用于以中斷方式通過CAN數據收發通道接收CAN報文并存儲到接收緩沖器;所述數據發送模塊,用于在確認接收的CAN報文需要轉發時將所述CAN報文存入發送緩沖器,并在CAN總線空閑時通過CAN數據收發通道將所述發送緩沖器中的CAN報文發送出去。在本專利技術所述的基于LPC1768平臺的CAN中繼器中,所述CAN控制器還包括數據重發模塊,用于以中斷方式檢查各個發送緩沖器并在所述發送緩沖器中具有未發送的CAN報文時對該CAN報文進行重發。在本專利技術所述的基于LPC1768平臺的CAN中繼器中,所述CAN控制器與第一 CAN收發器之間設有第一光電隔離單元,所述CAN控制器與第二 CAN收發器之間設有第二光電隔離單元。在本專利技術所述的基于LPC1768平臺的CAN中繼器中,所述第一光電隔離單元和第二光電隔離單元分別通過獨立的電源供電。在本專利技術所述的基于LPC1768平臺的CAN中繼器中,所述CAN中繼器還包括集成到LPC1768芯片的驗收濾波器,該驗收濾波器中存儲有CAN協議的標識符集;所述數據接收模塊在接收的CAN報文的標識符與驗收濾波器中的標識符集匹配上后將該CAN報文存儲到接收緩沖器。本專利技術還提供一種基于LPC1768平臺的CAN數據轉發方法,所述LPC1768平臺包括集成到LPC1768芯片的CAN控制器以及分別連接到CAN總線的第一 CAN收發器和第二CAN收發器;所述CAN控制器具有兩個CAN數據收發通道、兩個接收緩沖器以及三個發送緩沖器且所述第一 CAN收發器和第二 CAN收發器分別連接到一個數據收發通道;該方法包括以下步驟:(a)以中斷方式通過CAN數據收發通道接收CAN報文并存儲到接收緩沖器;(b)在確認接收的CAN報文需要轉發時將所述CAN報文存入發送緩沖器,并在CAN總線空閑時通過CAN數據收發通道將所述發送緩沖器中的CAN報文發送出去。在本專利技術所述的基于LPC1768平臺的CAN數據轉發方法中,該方法還包括:通過中斷方式檢查各個發送緩沖器中是否存在未發送出去的CAN報文,并在發送緩沖器存在未發送的CAN報文時重新發送。在本專利技術所述的基于LPC1768平臺的CAN數據轉發方法中,所述步驟(b)包括:(bl)在接收到CAN報文并確認是需要轉發的CAN報文后,選擇一個空置的發送緩沖器設置標識符并把待發送CAN報文裝入;(b2)置位相應的發送寄存器;(b3)在所述發送緩沖器成為最高優先級的發送緩沖器且CAN總線進入空閑狀態時,將所述發送緩沖器內的CAN報文通過第一 CAN收發通道或第二 CAN收發通道發送出去;(b4)在CAN報文發送成功后將所述發送緩沖器標為空置發送緩沖器。在本專利技術所述的基于LPC1768平臺的CAN數據轉發方法中,所述CAN中繼器還包括集成到LPC1768芯片的驗收濾波器,該驗收濾波器中存儲有CAN協議的標識符集;所述步驟(a)包括:將接收的CAN報文的標識符與驗收濾波器中的標識符集進行匹配,并在所述標識符與驗收濾波器的標識符集匹配上時將該CAN報文存儲到接收緩沖器。在本專利技術所述的基于LPC1768平臺的CAN數據轉發方法中,所述接收緩沖器以先進先出隊列存儲接收的CAN報文。本專利技術基于LPC1768平臺的CAN中繼器及數據轉發方法,通過LPC1768芯片自帶的兩路數據收發通道進行CAN報文轉發,簡化了 CAN中繼電路,并提高了數據吞吐速度。【附圖說明】圖1是本專利技術基于LPC1768平臺的CAN中繼器實施例的示意圖。圖2是本專利技術基于LPC1768平臺的CAN數據轉發方法實施例的流程示意圖。圖3是圖2中接收CAN報文步驟的流程圖。【具體實施方式】為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。如圖1所示,是本專利技術基于LPC1768平臺的CAN中繼器實施例的示意圖。本實施例的CAN中繼器包括集成到LPC1768芯片的CAN控制器10以及分別連接到CAN總線的第一CAN收發器15和第二 CAN收發器16,并且CAN控制器10具有兩個CAN數據收發通道、兩個接收緩沖器以及三個發送緩沖器且第一 CAN收發器15和第二 CAN收發器16分別連接到一個數據收發通道。上述兩個數據收發通道、兩個接收緩沖器以及三個發送緩沖器由CP1768芯片自帶。上述CAN控制器10還包括數據發送模塊12和數據接收模塊11,且上述數據發送模塊12和數據接收模塊11由運行于LP1768芯片的軟件實現。數據接收模塊11用于通過CAN數據收發通道并經由第一 CAN收發器15和第二 CAN收發器16從CAN總線接收CAN報文并存儲到接收緩沖器。為了提高數據傳輸的實時性,數據接收模塊11采用中斷方式接收CAN報文。具體地,上述接收緩沖器可為三態FIFO (先入先出)隊列。數據發送模塊12用于在確認接收的CAN報文需要轉發時將CAN報文存入發送緩沖器(即發送郵箱),并在CAN總線空閑時通過CAN數據收發通道并經由第一 CAN收發器或第二 CAN收發器將發送緩沖器中的CAN報文發送出去。具體地,數據發送模塊12在接收到CAN報文并確認是需要轉發的CAN報文后,選擇I個空置的發送緩沖器設置標識符,并把待發送CAN報文裝入該發送緩沖器,然后置位相應的發送寄存器(一旦發送緩沖器不再為空置,數據發送模塊12對相應的發送寄存器不再有寫的權限),來請求發送并等待成為最高優先級的本文檔來自技高網...
【技術保護點】
一種基于LPC1768平臺的CAN中繼器,其特征在于:包括集成到LPC1768芯片的CAN控制器以及分別連接到CAN總線的第一CAN收發器和第二CAN收發器;所述CAN控制器具有兩個CAN數據收發通道、兩個接收緩沖器以及三個發送緩沖器且所述第一CAN收發器和第二CAN收發器分別連接到一個數據收發通道;所述CAN控制器還包括數據發送模塊、數據接收模塊;其中:所述數據接收模塊,用于以中斷方式通過CAN數據收發通道接收CAN報文并存儲到接收緩沖器;所述數據發送模塊,用于在確認接收的CAN報文需要轉發時將所述CAN報文存入發送緩沖器,并在CAN總線空閑時通過CAN數據收發通道將所述發送緩沖器中的CAN報文發送出去。
【技術特征摘要】
1.一種基于LPC1768平臺的CAN中繼器,其特征在于:包括集成到LPC1768芯片的CAN控制器以及分別連接到CAN總線的第一 CAN收發器和第二 CAN收發器;所述CAN控制器具有兩個CAN數據收發通道、兩個接收緩沖器以及三個發送緩沖器且所述第一 CAN收發器和第二 CAN收發器分別連接到一個數據收發通道;所述CAN控制器還包括數據發送模塊、數據接收模塊;其中:所述數據接收模塊,用于以中斷方式通過CAN數據收發通道接收CAN報文并存儲到接收緩沖器;所述數據發送模塊,用于在確認接收的CAN報文需要轉發時將所述CAN報文存入發送緩沖器,并在CAN總線空閑時通過CAN數據收發通道將所述發送緩沖器中的CAN報文發送出去。2.根據權利要求1所述的基于LPC1768平臺的CAN中繼器,其特征在于:所述CAN控制器還包括數據重發模塊,用于以中斷方式檢查各個發送緩沖器并在所述發送緩沖器中具有未發送的CAN報文時對該CAN報文進行重發。3.根據權利要求1所述的基于LPC1768平臺的CAN中繼器,其特征在于:所述CAN控制器與第一 CAN收發器之間設有第一光電隔離單元,所述CAN控制器與第二 CAN收發器之間設有第二光電隔離單元。4.根據權利要求3所述的基于LPC1768平臺的CAN中繼器,其特征在于:所述第一光電隔離單元和第二光電隔離單元分別通過獨立的電源供電。5.根據權利要求1所述的基于LPC1768平臺的CAN中繼器,其特征在于:所述CAN中繼器還包括集成到LPC1768芯片的驗收濾波器,該驗收濾波器中存儲有CAN協議的標識符集;所述數據接收模塊在接收的CAN報文的標識符與驗收濾波器中的標識符集匹配上后將該CAN報文存儲到接收緩沖器。6.一種基于LPC1768平臺的CAN數據轉發方法,其特征在于:所述LPC1768平臺包括集成到LPC1768芯片的CAN控制器以及分別連接到CAN總線的第...
【專利技術屬性】
技術研發人員:黃華政,
申請(專利權)人:深圳市匯川控制技術有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。