亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器的制作方法

文檔序號:12805791閱讀:3179來源:國知局
一種基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器的制作方法與工藝

本實用新型涉及工業(yè)現(xiàn)場總線控制網(wǎng)絡(luò)通信協(xié)議轉(zhuǎn)換技術(shù)領(lǐng)域,具體涉及一種基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器。



背景技術(shù):

CAN控制器局域網(wǎng)絡(luò),是國際上應(yīng)用最為廣泛的現(xiàn)場總線之一,應(yīng)用范圍從汽車行業(yè)面向工業(yè)領(lǐng)域逐步發(fā)展,控制局域網(wǎng)絡(luò)(Control Area Network,CAN)最早由德國BOSCH公司推出,用于汽車內(nèi)部測量與執(zhí)行部件之間的通信,屬于總線式串行通信網(wǎng)絡(luò),具有高可靠性、高性能、靈活等優(yōu)點,應(yīng)用比較廣泛,但是在實際應(yīng)用中不可避免的與串行RS232或者RS485之間通信,RS232通信距離短,可進行點到點的通信,但是不能組建多點通信網(wǎng)絡(luò),隨著控制網(wǎng)絡(luò)規(guī)模的擴大數(shù)據(jù)通信量的增多,RS232的短距離通信已遠遠不能滿足通信實時性、可靠性的要求,為了進一步提高通信實時性、可靠性的要求,組成多點通信網(wǎng)絡(luò),延長通信距離,采用CAN控制器局域網(wǎng)絡(luò),因此研究設(shè)計了一款基于STM32的串口與CAN的總線協(xié)議轉(zhuǎn)換器,既可以彌補串口通信的不足,又可以充分利用CAN的優(yōu)點。



技術(shù)實現(xiàn)要素:

本實用新型的主要目的是設(shè)計了一款一種基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器彌補串口通信的不足,充分利用了CAN的優(yōu)點,設(shè)計電路簡單且非常實用,主控芯片采用32位的ARM STM32F107為內(nèi)核的CPU處理單元,電路由STM32F107主控芯片且內(nèi)部帶有CAN控制器、CAN接口收發(fā)電路A1050C、串行通信接口電平轉(zhuǎn)換電路SP3232和RS485通信電路組成,可方便的應(yīng)用于工業(yè)現(xiàn)場集中控制網(wǎng)絡(luò)中,在電動汽車充電樁聯(lián)網(wǎng)監(jiān)控系統(tǒng)現(xiàn)場CAN總線數(shù)據(jù)采集傳輸顯示中起到關(guān)鍵的作用。

基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器主要內(nèi)容包括:支持數(shù)據(jù)的雙向轉(zhuǎn)換功能、支持CAN2.0A和CAN2.0B協(xié)議接口轉(zhuǎn)換類型、支持三線式RS232和兩線式RS485通信接口類型。轉(zhuǎn)換模式包括二種:第一種為將某一種格式的總線數(shù)據(jù)轉(zhuǎn)換成另一種總線的數(shù)據(jù)格式,不附加數(shù)據(jù)和對數(shù)據(jù)進行修改,既實現(xiàn)了數(shù)據(jù)格式的相互交換又沒有改變數(shù)據(jù)內(nèi)容,這種方式下不但不會增加終端通信設(shè)置,而能夠?qū)崟r的將數(shù)據(jù)原樣轉(zhuǎn)換,能承擔較大流量的數(shù)據(jù)傳輸;第二種為將串行幀中的地址轉(zhuǎn)換到CAN報文的標識域中,其中串行幀地址在串行幀中的起始位置和長度均可配置。

第一種數(shù)據(jù)轉(zhuǎn)換包括兩種轉(zhuǎn)換方式,分別為串行幀轉(zhuǎn)CAN報文和CAN報文轉(zhuǎn)串行幀,轉(zhuǎn)換的過程分別為:串行幀轉(zhuǎn)CAN報文方式就是將串行幀的全部數(shù)據(jù)依序填充到CAN報文幀的數(shù)據(jù)幀中,基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器一旦檢測到串行總線上有數(shù)據(jù)就立即接收并轉(zhuǎn)換,在轉(zhuǎn)換過程中幀類型和幀ID一直保持不變其轉(zhuǎn)換數(shù)據(jù)對應(yīng)關(guān)系如圖1所示;CAN報文轉(zhuǎn)串行幀就是將CAN報文數(shù)據(jù)幀中的數(shù)據(jù)依序全部轉(zhuǎn)換到串行幀中,可以將基于STM32的基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器CAN報文的幀信息字節(jié)直接填充至串行幀中,也可以將CAN報文的幀ID字節(jié)全部填充至串行幀中,數(shù)據(jù)轉(zhuǎn)換對應(yīng)關(guān)系如圖2所示。

第二種數(shù)據(jù)轉(zhuǎn)換主要把串行幀中的地址信息自動轉(zhuǎn)換成CAN總線的幀ID,這種方式方便終端通過基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器組建網(wǎng)絡(luò),使用自定義的協(xié)議?;赟TM32的串口與CAN總線協(xié)議轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)換過程中記錄需要轉(zhuǎn)換的串行數(shù)據(jù)的的起始位置和長度,同時將此地址信息記錄在CAN報文的幀ID域里,將此地址信息作為轉(zhuǎn)換后CAN報文的ID;同理將CAN報文轉(zhuǎn)換成串行幀時也是將CAN報文的ID信息作為轉(zhuǎn)換后的串行幀的特征信息。

附圖說明

圖1為轉(zhuǎn)換器串行幀轉(zhuǎn)CAN報文轉(zhuǎn)換數(shù)據(jù)對應(yīng)關(guān)系圖

圖2為轉(zhuǎn)換器CAN報文轉(zhuǎn)串行幀轉(zhuǎn)換數(shù)據(jù)對應(yīng)關(guān)系圖

圖3基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器總體框圖

具體實施方式

基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器電路主要有STM32F107主控芯片且內(nèi)部帶有CAN控制器、CAN接口收發(fā)電路A1050C、串行口接口電平轉(zhuǎn)換電路SP3232和RS485通信電路組成,主要內(nèi)容包括:數(shù)據(jù)的雙向轉(zhuǎn)換功能、支持CAN2.0A和CAN2.0B協(xié)議接口轉(zhuǎn)換類型、支持三線式RS232和兩線式RS485通信接口類型。轉(zhuǎn)換模式包括二種:第一種為將某一種格式的總線數(shù)據(jù)轉(zhuǎn)換成另一種總線的數(shù)據(jù)格式,不附加數(shù)據(jù)和對數(shù)據(jù)進行修改,既實現(xiàn)了數(shù)據(jù)格式的交換又沒有改變數(shù)據(jù)內(nèi)容,這種方式下不但不會增加用戶通訊負擔,而卻能夠?qū)崟r的將數(shù)據(jù)原樣轉(zhuǎn)換,能承擔較大流量的數(shù)據(jù)的傳輸;第二種為將串行幀中的地址轉(zhuǎn)換到CAN報文的標識域中,其中串行幀地址在串行幀中的起始位置和長度均可配置。

第一種數(shù)據(jù)轉(zhuǎn)換包括兩種轉(zhuǎn)換方式,分別為串行幀轉(zhuǎn)CAN報文和CAN報文轉(zhuǎn)串行幀,轉(zhuǎn)換的過程分別為:串行幀轉(zhuǎn)CAN報文方式就是將串行幀的全部數(shù)據(jù)依序填充到CAN報文幀的數(shù)據(jù)幀中,基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器一旦檢測到串行總線上有數(shù)據(jù)就立即接收并轉(zhuǎn)換,在轉(zhuǎn)換過程中幀類型和幀ID一直保持不變其轉(zhuǎn)換數(shù)據(jù)對應(yīng)關(guān)系如圖1所示;CAN報文轉(zhuǎn)串行幀就是將CAN報文數(shù)據(jù)幀中的數(shù)據(jù)依序全部轉(zhuǎn)換到串行幀中,可以將基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器CAN報文的幀信息字節(jié)直接填充至串行幀中,也可以將CAN報文的幀ID字節(jié)全部填充至串行幀中,數(shù)據(jù)轉(zhuǎn)換對應(yīng)關(guān)系如圖2所示。

第二種數(shù)據(jù)轉(zhuǎn)換主要把串行幀中的地址信息自動轉(zhuǎn)換成CAN總線的幀ID,這種方式方便終端通過基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器組建網(wǎng)絡(luò),使用自定義的協(xié)議?;赟TM32的串口與CAN總線協(xié)議轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)換過程中記錄需要轉(zhuǎn)換的串行數(shù)據(jù)的的起始位置和長度,同時將此地址信息記錄在CAN報文的幀ID域里,將此地址信息作為轉(zhuǎn)換后CAN報文的ID;同理將CAN報文轉(zhuǎn)換成串行幀時也是將CAN報文的ID信息作為轉(zhuǎn)換后的串行幀的特征信息。

在第二種數(shù)據(jù)轉(zhuǎn)換中必須要有完整的串行數(shù)據(jù)幀,基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器以兩幀間的時間間隔作為幀的劃分,并且該間隔可由終端設(shè)置。串行幀最大長度為緩沖區(qū)的長度為255字節(jié),基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器在串行總線空閑狀態(tài)下檢測到的首個數(shù)據(jù),那么這個數(shù)據(jù)將作為接收幀的首個字符,傳輸過程中該幀內(nèi)字符間的傳輸時間間隔必須小于或等于傳輸N個字符的時間,基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器傳輸一個字符的時間是用該字符包含的位數(shù)來除以相應(yīng)的波特率,那么N個字符的時間就可以計算得出。在基于STM32的串口與CAN總線協(xié)議轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)換過程中接收到一個字符后小于等于N個字符的傳輸時間內(nèi)沒有字符再被接收,那么就認為此幀傳輸結(jié)束,將該字符作為此幀的最后一個字符;因此,N個字符時間之后的字符就不屬于該幀,而應(yīng)該計入下一幀的內(nèi)容。

以上顯示和描述了本發(fā)明的基本工作原理和主要功能。本行業(yè)的技術(shù)人員應(yīng)該有所了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是本發(fā)明的基本實現(xiàn)功能,在不脫離本發(fā)明精神和范圍的前期下,本發(fā)明還會有各種變化和改進,這種變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權(quán)利要求書及其等效物界定。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1