tft每日頭條

 > 生活

 > rs232串口芯片原理圖

rs232串口芯片原理圖

生活 更新时间:2024-09-02 23:23:13

CAN通訊以其高穩定性,被廣泛應用在工業通訊、工業物聯網以及工業控制領域。傳統的設備大都是串口通訊如RS485/RS232,這類設備如果要接入CAN網絡,一般需要CAN轉換器。針對這種應用,智嵌物聯ZQWL研發出了高穩定高效率的CAN轉串口/CAN轉網絡系列設備,如CAN轉串口系列有型号ZQWL-RCAN-1C311/1D311,CAN轉網絡系列有型号ZQWL-CANET-1C111/1C112等。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)1

本文以ZQWL-RCAN-1C311為例介紹CAN與串口設備的轉換使用說明。

一、硬件準備

為了測試1C311,需要以下硬件:

  • 1C311一個;
  • DC5V 1A電源适配器一個;
  • 串口線一個(如果不測RS232功能,可以不用);
  • 串口(或USB)轉RS485接頭一個(如果不測RS485功能,可以不用);
  • USB轉CAN設備一個(推薦型号:ZQWL-UCAN-5C121);

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)2

1.1 透傳測試

先用産品的默認參數來測試,默認參數如下:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)3

1、RS232與CAN透傳測試

用串口線将電腦和設備的RS232口(DB9)連接,連接好usb轉CAN調試器(第一次使用需要安裝軟件和驅動,詳細使用方法請咨詢相關廠家),然後DC5V 1A電源适配器給設備供電。

打開串口調試助手,選擇所用的串口号,并将串口的參數按照圖1.2.2設置。設置好後打開串口。

打開usb轉can調試軟件,設置好波特率為250kbps:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)4

圖 1.2.2 RS232與CAN數據透傳

經過以上步驟後,CAN與RS232就可以互相發數據了。

2、RS485與CAN透傳測試

用串口(或USB)轉RS485接頭将電腦和設備的RS485口(綠色插頭,A接A,B接B)連接,連接好usb轉CAN調試器(第一次使用需要安裝軟件和驅動,詳細使用方法請咨詢相關廠家),然後用DC5V 1A電源适配器給設備供電。

測試方法和RS232與CAN透傳完全一樣。

二、功能簡介

ZQWL-RCAN-1C311是一款小巧精緻、高性能、高穩定性的串口轉CAN模塊。它具有1路RS232接口、1路RS485接口和1路CAN接口。串口的波特率支持1200~460800bps;CAN的波特率支持10kbps~1000kbps。可以通過RS232/485 實現對設備的固件升級,使用非常方便。

用戶利用它可以輕松完成串口設備與CAN設備的互聯。

2.1 硬件特點

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)5

2.2 設備特性

·實現CAN與RS232/485 的雙向數據通訊;

·支持Modbus RTU協議轉換;

·可以通過RS232/485 實現對設備的固件升級,方便定制固件;

·接口靜電防護;浪湧防護;具有優良的EMC性能;

·14組可設置的濾波器;

· 4種工作模式:透明轉換、透明帶标識轉換、格式轉換和Modbus RTU協議轉換;

·具有離線檢測和自動恢複功能;

· 符合CAN 2.0B規範,兼容CAN 2.0A;符合ISO 11898-1/2/3。

· 波特率支持10kbps~1000kbps。

·CAN緩沖器達1000幀,保證數據不丢失;

· 高速轉換,串口在115200波特率,CAN在250kbps下,CAN發送速度可達1270擴展幀/秒(接近理論最大值1309);串口在460800波特率,CAN在1000kbps下,CAN發送速度可達5000擴展幀/秒以上;

三、模塊硬件接口3.1 模塊接口及尺寸

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)6

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)7

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)8

圖2 尺寸

3.2 模塊指示燈含義

本模塊共有4個LED指示燈:PWR、RUN、COM和CAN。其基本含義如表1:

表1 指示燈基本含義

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)9

3.1 RS232/485接口

本模塊共有1路RS232/485接口(5.00mm綠色端子引出),其中RS232采用DB9母頭(孔型),信号定義如下:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)10

可以與标準公頭串口線對接。

3.4 電源接口

本模塊采用DC5~36V寬壓供電,模塊功率小于0.2W。

供電接口采用兩種:5.08mm間距工業級接線端子和黑色電源适配器插座,兩種接口任選其一,如下圖:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)11

3.5 CAN接口

CAN接口采用5.00mm綠色端子方式引出,接口具有120歐姆終端電阻選擇功能。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)12

其中“RS”為終端電阻選擇,如果用導線将“RS”和“CAN_L”連接起來,則模塊内部的120歐電阻并入到CAN總線中;否則,120歐電阻未接入總線。

(按照ISO 11898規範,為了增強CAN-bus 通訊的可靠性,CAN-bus 總線網絡的兩個端點

通常要加入終端匹配電阻(120Ω),如下圖所示。終端匹配電阻的大小由傳輸電纜的特性阻抗所決定,例如,雙絞線的特性阻抗為120Ω,則總線上的兩個端點也應集成120Ω終端電

阻。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)13

四、模塊參數配置

本模塊可以用“智嵌物聯CAN轉串口配置軟件”通過RS232或RS485接口來實現對模塊的參數配置。如果不慎配置錯誤而導緻無法連接設備,可以通過“CFG”按鈕來恢複出廠參數(按住CFG,保持5秒,3個綠色指示燈同步閃爍後,再松開)。

4.1 智嵌串口服務器配置軟件

配置前必須要知道模塊上次配置成功的RS232/485波特率,如果忘記,可以通過對模塊恢複出廠,出廠參數為115200,8,N,1:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)14

第一步選擇合适的“串口号”;

第二步選擇上次模塊的波特率等參數;

第三步“打開串口”;

第四步“獲取設備參數”;

五、轉換參數設置

該部分規定了設備的轉換模式、轉換方向、CAN标識符在串行中的位置、CAN信息是否轉串行中以及CAN幀ID是否轉串行中等。

5.1 轉換模式

轉換模式有4種可以選擇:透明轉換、透明帶标識轉換,格式轉換和Modbus協議轉換。

  • 透明轉換

是将一種格式的總線數據原樣轉換成另一種總線的數據格式,而不附加數據和對數據做修改。這樣既實現了數據格式的交換又沒有改變數據内容,對于兩端的總線來說轉換器如同透明的一樣。這種方式下不會增加用戶通訊負擔,而能夠實時的将數據原樣轉換,能承擔較大流量的數據的傳輸。

  • 透明帶标識轉換

是透明轉換的一種特殊的用法,也不附加協議。這種轉換方式是根

據通常的串行幀和CAN 報文的共有特性,使這兩種不同的總線類型也能輕松的組建同一個

通信網絡。該方式能将串行幀中的“地址”轉換到CAN 報文的标識域中,其中串行幀“地址”在串行幀中的起始位置和長度均可配置,所以在這種方式下,轉換器能最大限度地适應用戶的自定義協議。

  • 格式轉換

是一種最簡單的使用模式,數據格式約定為13 字節,包含了CAN 幀的所以信息。

  • Modbus協議轉換

是将标準的Modbus RTU串行數據協議轉換成特定的CAN數據格式,此種轉換一般要求CAN總線設備報文可編輯。

5.2 轉換方向

有3種可以選:雙向、僅串口轉CAN和僅CAN 轉串口。

雙向:轉換器将串行總線的數據轉換到CAN 總線,也将CAN 總線的數據轉換到串行

總線。

僅串口轉CAN:隻将串行總線的數據轉換到CAN 總線,而不将CAN 總線的數據轉換

到串行總線。這種方式可以最大限度的過濾掉CAN總線上的幹擾。

僅CAN 轉串口:隻将CAN 總線的數據轉換到串行總線,而不将串行總線的數據轉換

到CAN 總線。

5.3 CAN标識符在串行中的位置

該參數隻有在“透明帶ID轉換”模式下有效:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)15

在串口數據轉換成CAN 報文時,CAN 報文的幀ID 的起始字節在串行幀中的偏移地址和幀ID 的長度。

幀ID 長度在标準幀的時候可填充1 到2 個字節,分别對應CAN 報文的ID1,ID2,在擴展幀的時候可以填充1~4 個字節ID1,ID2,ID3 和ID4。标準幀時ID 為11 位,擴展幀時ID 為29 位。

獲取參數成功後,就可以修改參數了,修改完成,點擊“保存設備參數”,然後重啟設備。下面對配置軟件裡的各項參數進行說明。

5.4 CAN信息是否轉串行中

該參數僅在“透明轉換”模式下使用,當選中該項後,轉換器工作時會将CAN 報文的

幀信息添加在串行幀的第一個字節。未選中時不轉換CAN 的幀信息 。

5.5 CAN幀ID是否轉串行中

該參數僅在“透明轉換”模式下使用,當選中該項後,轉換器工作時會将CAN 報文的

幀ID 添加在串行幀的幀數據之前,幀信息之後(如果允許幀信息轉換)。未選中時不轉換

CAN 的幀ID。

六、CAN參數設置

該部分可以設置轉換器的CAN的波特率、CAN發送ID、幀類型以及CAN的濾波器。

CAN波特率支持10kbps~1000kbps,也支持用戶自己定義。幀類型支持擴展幀和标準幀。CAN的幀ID為十六進制格式,在“透明轉換”模式和“透明帶标識轉換”模式時有效,向CAN總線以此ID發送數據;在“格式轉換”模式下該參數無效。

CAN接收濾波器共有14組,每組都有“濾波類型”、“過濾驗收碼”和“過濾屏蔽碼”組成。下面詳細介紹如何使用。

6.1 CAN波特率設置

波特率列表裡已經預定了大部分常用波特率:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)16

如果需要其他波特率,可以選擇“自定義”,然後再點“自定義波特率”來設置期望波特率:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)17

波特率計算公式為:36000000/(同步段 相位緩沖段1 相位緩沖段2)/預分頻;

例如250K的波特率:36000000/(1 15 2)/8 = 250000 = 250K。

一般情況下,隻需要在“期望波特率”裡填寫所需的波特率,軟件就會自動計算出相應的參數(比如:預分頻),這時會得到一個“實際波特率”,如果兩者的值不同,可以打開“高級選項”:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)18

6.2 CAN濾波器設置

CAN的14組接收濾波器在出廠時都處于禁止狀态,即不對CAN總線數據做過濾。當用戶需要使用濾波器時,隻需要在配置軟件裡添加即可,一共可以添加14組:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)19

濾波類型:可選“标準幀”和“擴展幀”;

過濾驗收碼:用于比對CAN接收到的幀ID,以确定該幀是否被接收,十六進制格式。

過濾屏蔽碼:用于屏蔽驗收碼裡的某些位,以确定驗收碼某些位(bit)是否參與比對(對應位為0不參與比對,為1參與比對),十六進制格式。

舉例1:濾波器類型選擇“标準幀”;“過濾驗收碼”填00 00 00 01,“過濾屏蔽碼”填00 00 0F FF;

釋義:由于标準幀ID隻有11位,驗收碼和屏蔽碼最後11位有意義, 屏蔽碼最後11位全是1,所以驗收碼的後11位全部參與比對,因此上述設置可以讓幀ID為0001的标準幀通過。

舉例2:濾波器類型選擇“标準幀”;“過濾驗收碼”填00 00 00 01,“過濾屏蔽碼”填00 00 0F F0;

釋義:同例1,标準幀隻有11位有效,屏蔽碼的最後4位是0,表示驗收碼的最後4位不參與對比,因此上述設置可以讓幀ID從00 00到000F的一組标準幀通過。

舉例3:濾波器類型選擇“擴展幀”;“過濾驗收碼”填00 03 04 01,“過濾屏蔽碼”填1F FF FF FF;

釋義:擴展幀有29位,屏蔽碼的後29位全為1,表示驗收碼的後29位全部參與比對,因此上述設置可以讓幀ID為00 03 04 01的擴展幀通過。

舉例4:濾波器類型選擇“擴展幀”;“過濾驗收碼”填00 03 04 01,“過濾屏蔽碼”填1F FC FF FF;

釋義:根據上述設置可以讓幀ID從00 00 04 01到00 0F 04 01的一組擴展幀通過。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)20

七、轉換示例7.1 透明轉換

透明轉換方式下,轉換器接收到一側總線的數據就立即轉換發送至另一總線側。

  1. 串行幀轉CAN

串行幀的全部數據依序填充到CAN 報文幀的數據域裡。轉換器接收到串行總線上的一幀數據後立即轉到CAN總線上。轉換成的CAN 報文幀信息(幀類型部分)和幀ID 來自用戶事先的配置,并且在轉換過程中幀類型和幀ID 一直保持不變。

數據轉換對應格式如下圖所示:

如果收到串的行幀長度小于等于8字節,依序将字符1到n(n為串行幀長度)填充到CAN報文的數據域的1到n個字節位置(如下圖中n為7)。

如果串行幀的字節數大于8,那麼處理器從串行幀首個字符開始,第一次取8個字符依

次填充到CAN報文的數據域。将數據發至CAN總線後,再轉換餘下的串行幀數據填充到CAN報文的數據域,直到其數據被轉換完。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)21

例如,CAN參數設置中選擇了“标準幀”,CAN ID 填00000060,注意标準幀隻有後11位有效。

轉成CAN的數據如下:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)22

CAN幀轉串口

對于CAN總線的報文也是收到一幀就立即轉發一幀。數據格式對應如下圖所示。

轉換時将CAN報文數據域中的數據依序全部轉換到串行幀中。

如果在配置的時候,開啟了“CAN信息是否轉串行中”,那麼轉換器會将CAN報文的“幀信息”字節直接填充至串行幀。

如果開啟了“CAN幀ID是否轉串行中”,那麼也将CAN報文的“幀ID”字節全部填充至串行幀。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)23

例如,開啟了“CAN信息是否轉串行中”,不開啟“CAN幀ID是否轉串行中”,CAN幀轉到串行如下圖:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)24

7.2 透明帶ID轉換

透明帶标識轉換是透明轉換的特殊用法,有利于用戶通過轉換器更方便的組建自己的網

絡,使用自定的應用協議。

該方式把串行幀中的地址信息自動轉換成CAN總線的幀ID。隻要在配置中告訴轉換器

該地址在串行幀的起始位置和長度,轉換器在轉換時提取出這個幀ID 填充在CAN 報文的

幀ID域裡,作為該串行幀的轉發時的CAN報文的ID。在CAN報文轉換成串行幀的時候也把CAN報文的ID轉換在串行幀的相應位置。注意在該轉換模式下,配置軟件的“CAN參數設置”項的“CAN ID”無效,因為此時發送的标識符(幀ID)由上述的串行幀中的數據填充。的。

串行幀轉CAN

轉換器接收完一幀串行數據後,立即轉發到CAN總線上。

串行幀中所帶有的CAN的ID在串行幀中的起始地址和長度可由配置設定。起始地址

的範圍是0~7,長度範圍分别是1~2(标準幀)或1~4(擴展幀)。

轉換時根據事先的配置将串行幀中的CAN幀ID對應全部轉換到CAN報文的幀ID域中(如果所帶幀ID個數少于CAN報文的幀ID個數,那麼在CAN報文的填充順序是幀ID1~

ID4,并将餘下的ID填為0),其它的數據依序轉換,如下圖所示。

如果一幀CAN報文未将串行幀數據轉換完,則仍然用相同的ID作為CAN報文的幀ID繼續轉換直到将串行幀轉換完成。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)25

例如,CAN ID在串行幀中的起始地址是0,長度是3(擴展幀情況下),串行幀和轉

換成CAN報文結果如下圖所示。其中,兩幀CAN 報文用相同的ID 進行轉換。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)26

CAN幀轉串行

假定配置的CAN ID在串行幀中的起始地址是0,長度是3(擴展幀情況下),CAN報文和轉換成串行幀的結果如下圖:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)27

八、格式轉換

數據轉換格式,如下圖所示每一個CAN幀包含13個字節,13個字節内容包括CAN信息 ID 數據。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)28

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)29

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)30

九、Modbus協議轉換

将标準的Modbus RTU串行數據協議轉換成特定的CAN數據格式,此種轉換一般要求CAN總線設備報文可編輯。

串口側數據必須符合标準的Modbus RTU協議,否則不能轉換,注意,CRC校驗不轉換到CAN側。

CAN側制定了一個簡單高效的分段通訊格式來實現 Modbus RTU的通訊,不區分主機和從機,用戶隻需按照标準的Modbus RTU協議通訊即可。

CAN側不需要加CRC校驗,轉換器收到最後一個CAN幀後,會自動加上CRC,組成一幀标準的Modbus RTU數據包,發到串口上。

該模式下,配置軟件的【CAN參數設置】的【CAN ID】無效,因為此時發送的标識符(幀ID)由Modbus RTU串行幀中的地址域(節點ID)填充。

⑴ 串行幀格式(Modbus RTU)

串行參數:波特率、數據位、停止位和校驗位都可通過配置軟件設置。數據協議需符合标準的Modbus RTU協議。

⑵ CAN幀格式

CAN側設計了一套分段協議格式,其定義了一個長度大于 8 字節的信息進行分段以及重組的方法,如下所示。注意,當CAN幀為單幀時,分段标志位為0x00。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)31

CAN幀信息(遠程幀或數據幀;标準幀或擴展幀)通過配置軟件設置。

傳輸的 Modbus協議内容即可從“數據 2”字節開始,如果協議内容大于 7 個字節,那麼将剩下的協議内容照這種分段格式繼續轉換,直到轉換完成。

數據1是分段控制信息(占1個字節,8Bit),其含義如下:

分段标記

占1個Bit位(Bit7), 标志該報文是否是分段報文。該位為 0 表示單獨報文,為 1 表示屬于被分段報文中的一幀。

分段類型

占2個Bit位(Bit6,Bit5),用于表示該報文在分段報文中的類型:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)32

分段計數器

占5個Bit位(Bit4-Bit0),用于區分同一幀Modbus報文中分段的序号,夠驗證是同一幀的分段是否完整。

⑶ 轉換示例

串口側Modbus RTU數據(十六進制):

01 03 14 00 0A 00 00 00 00 00 14 00 00 00 00 00 17 00 2C 00 37 00 C8 4E 35

第一個字節01是Modbus RTU的地址碼,轉換成CAN的ID.7-ID.0;

最後2個字節(4E 35)為Modbus RTU的CRC校驗,丢掉不轉換。

最終轉成CAN數據報文如下:

第1幀CAN報文:81 03 14 00 0A 00 00 00

第2幀CAN報文:a2 00 00 14 00 00 00 00

第3幀CAN報文:a3 00 17 00 2C 00 37 00

第4幀CAN報文:c4 c8

CAN報文的幀類型(标準幀或擴展幀)通過配置軟件設置;

每個CAN報文的第一個數據都有分段信息來填充(81、a2、a3和c4),該信息不轉換到Modbus RTU幀中,僅做為報文的确認控制信息。

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)33

CAN側的數據到ModBus RTU的轉換原理和上面相同,CAN側收到上述4條報文後,轉換器會将收到的CAN報文按照上述的CAN分段機制組合成一幀RTU數據,并在結尾加上CRC校驗:

rs232串口芯片原理圖(智嵌物聯CAN轉串口RS485)34

每個 CAN 報文的第一個數據都有分段信息來填充(81、a2、a3 和 c4),該信息不轉換

到 Modbus RTU 幀中,僅做為報文的确認控制信息。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved