CAN轉232/485/422協議轉換器
CAN-UART系列CAN轉UART模塊體積小巧,本模塊可以快速將串口TTL信號通訊設備連接CAN-bus 現場總線。CAN轉RS232/485/422模塊使用亞當外殼方便安裝DIN導軌,模塊UART端為標準RS232/485/422接口方便現場連接。 模塊UART支持600~921600bps,CAN支持5Kbps~1Mbps速率任意設置。 模塊供5種數據轉換模式:透明轉換、帶標識轉換、 Modbus-RTU轉換 (Modbus轉換功能僅在CAN總線設備報文可編輯的情況下可以使用),Modbus-RTU從機轉換、格式轉換。 CANCOM模塊可用CAN-TTL端口、串口端RS232/485/422、USB虛擬串口連接PC后使用軟件或“AT”命令兩種配置方法。模塊可以很方便地嵌入到具有UART接口的設備中,在不需改變原有硬件結構的前提下使設備獲得CAN-bus通訊接口,實現具有UART設備和CAN-bus網絡之間的數據通訊。
所屬分類:
CANbus系列
-
文件大小: 1.4MB
-
文件大小: 19.3MB
產品描述
功能特點
共5種轉換模式:
透明轉換、
帶標識符 轉換、
Modbus-RTU分包組包、
Modbus-RTU從機、
自定義CAN幀格式(允許包首插入0-4個用戶自定字節,包尾插入0-4個用戶自定字節);支持256條UARTID與CAN標識符ID映射(CAN-TTL模塊支持16條映射);
UARTID與CAN標識符ID映射,在UART端用戶自定義字節與0-4字節長度可選;
提供三種ID映射方向UARTID映射到CANID、CANID映射到UARTID、雙向映射;
CAN幀類型包括:標準數據幀、標準擴展幀、標準遠程幀、擴展遠程幀;
CANbus具有14組過濾器,每組過濾器允許工作在
標準列表模式、
擴展列表模式、
標準屏蔽模式、
擴展屏蔽模式總共4種模式;
過濾器列表模式多至56個標準幀標識符ID或28個擴展幀標識符ID;
CAN緩沖區256幀,串口緩沖區2幀每幀2048字節;
支持 CAN2.0A、CAN2.0B 協議符合ISO/DIS 11898-1/2規范;
1 路UART_TTL或RS485/422通道600~460800bps之間波特率;
CAN-UART_TTL提供RS485控制輸出,CAN-UART RS232提供硬件控制CTS\RTS;
1 路CANbus 通道2.5K-1Mbps之間允許自定義波特率;
CANbus離線自動恢復功能;
CAN-UART_TTL內置120歐終端電阻,CAN-UART內置120歐終端電阻用戶可配置;
通過UART、UART_TTL、USB虛擬串口連接上位機軟件或AT命令配置;
用戶隨時在工作模式與配置模式切換;
支持上位機軟件更新運行程序;
內置硬件看門狗,穩定不宕機;
隔離電壓2500VDC,CAN端口與RS485/422浪涌保護600W,靜電保護15KV;
模塊1.72cm x 1.55cm x 0.4cm大小(CAN-UART_TTL模塊),12個點貼片或插針連接用戶設備(CAN-UART_TTL模塊);
CAN-UART_TTL模塊5V供電,CAN-RS232/485/422使用DC9-40V供電內部提供過壓過流保護;
CAN-RS232/485/422支持DIN35導軌安裝;
自主研發可根據用戶需要定制功能。
五種轉換模式
透明轉換模式
透明轉換模式下轉換器接收到一側總線的數據就立即轉換發送至另一總線側。這樣以數據流的方式來處理,最大限度地提高了轉換器效率。
CAN報文ID、幀類型通過軟件配置,CAN幀數據長度由轉換器自動生成。CAN幀數據長度最大為8字節,不足8字節時由串口接收間隔時間決定分包。CAN接收到的幀數據會發送UART側,只要UART發送緩沖區內有數據就會連續發送。根據配置可以把CAN幀信息和CANID轉發到UART幀中。
1.串行幀轉 CAN 報文。
配置透傳模式 CAN 報文幀信息為“標準數據幀”,幀ID為0x03、0x45。



2.CAN 報文轉串行幀。
CAN過濾器必須允許接收0x1A34的擴展幀。

透明帶標識符轉換模式
透明帶標識轉換模式下把串行幀中的地址信息自動轉換成CAN總線的報文ID。此模式要在配置中告知轉換器該地址在串行幀的起始位置(起始偏移)和長度,轉換器在接收到UART數據時可以按照配置自動提取出ID添加到CAN報文ID域中。此時CAN端口發送標識符無意義,只有CAN幀類型有起作用。在標準類型報文時串口中的ID總是和07FF與運算,在擴展類型報文時串口中的ID總是和1FFFFFFF與運算,然后把運算結果插入到對應的CAN報文ID域中。
1.串行幀轉 CAN 報文
串行幀中所帶有的CAN的標識在串行幀中的起始偏移和長度可由配置設定。起始地址的范圍是0~8,長度范圍分別是1~4。在下圖中選擇的位置為5,長度為2進行串口到CAN報文的轉換。

注意:這里串口內ID位A3 B2 但是CAN標準幀ID最大為07 FF,與運算后CANID為03 B2。透明帶標識轉模式轉換器可以啟動ID映射功能把A3 B2映射為CAN標準幀或擴展幀ID范圍內的所有值。
2.CAN 報文轉串行幀
CAN報文收到一幀就立即轉發一幀,每次轉發的時候也是根據事先配置的CAN幀ID在串行幀中的位置和長度把接收到的CAN報文的ID作相應的轉換。值得注意的是,無論是串行幀還是CAN報文在應用的時候其幀格式(標準幀還是擴展幀)應該符合事先配置的幀格式要求,否則可能致使通訊不成功。這里還是選擇的起始偏移為5,長度為2進行CAN報文到串行幀的轉換。

注意: 這里配置串口ID長度為2所以擴展幀ID0x12345678取低兩個字節。透明帶標識轉模式轉換器可以啟動ID映射功能把0x12345678映射為串口ID長度范圍內的所有值。
Modbus-RTU分包組包模式
注意:Modbus-RTU分包組包模式僅在CAN總線設備報文可編輯的情況下可以使用。
模塊串口側使用標準的 Modbus RTU 格式,所以模塊可以和任何標準的 Modbus RTU 設備連接。模塊在 Modbus 總線上扮演的是協議驗證和轉發的角色,而不是 Modbus 主機或從機,只要按照 Modbus 協議通信即可。CAN幀ID由Modbus協議地址或映射ID自動填充。CAN報文內的分包組包字節和ModbusCRC自動生成或去除。串口側由兩個發送和兩個接收緩沖區組成,每個緩沖區2048字節共2048字節*4=8192字節。借助雙緩沖區優勢轉換器可以連續處理兩幀Modbus數據。Modbus-RTU幀長度要小于緩沖區長度: 2048 字節。在串口側Modbus嚴格按照4.1節中 UART串行幀間隔時間處理。用戶可按照實際情況配置“串行幀之間的接收時間間隔”和“串行幀之間的發送時間間隔”。推薦使用Modbus協議規定間隔時間發送4字節接收3.5字節。
在CAN側,制定了一個簡單易用的分包組包通訊格式來實現 Modbus 的通訊。CAN分包組包機制,采用 CAN 數據的第一個字節存儲分段信息,在使用上用戶可不關心該機制。串口數據依然是透明傳輸。
分段標志:0 表示該報文為單獨報文,1 表示該報文屬于分段報文中的一幀;
分段類型:0 表示為該報文的第一個分段,1 表示為該報文的中間分段,2 表示為該報文的最后分段,單獨報文該位為 0;
分段計數器:表示該分段在整個報文中的序號,從 1 開始到 31 循環;
此模式可以啟用ID映射功能,ID映射方向包括:串口ID映射到CANID標識符、CANID標識符映射到串口ID和雙向映射。共256條ID映射可編輯,序號越小的優先級越高的原則。此模式串口ID長度默認為1,偏移默認為0,用戶不可編輯。
串口接收機制:當接收數據間隔時間大于“串行幀之間的接收時間間隔” 時認為收到一包完整數據,在CRC驗證為有效數據后就會啟動 CAN發送。用戶必須正確配置 “串行幀之間的接收時間間隔”讓轉換器判斷串行完整Modbus-RTU數據幀。在Modbus-RTU協議中串口的發送間隔必須大于4個字節時間,接收間隔小于3.5個字節時間。例如9600,n,8,1 配置3.5個字節時間為:1(秒)/9600*10(位)*3.5(字節) = 3647us ≈ 36*100us,“串行幀之間的接收時間間隔”寫入36。如串口19200,n,8,1 配置3.5 個字節時間為:1(秒)/19200*10(位)*3.5(字節) ≈ 0.001822s = 1822us ≈ 18 *100us,“串行幀之間的接收時間間隔”寫入18。

串口發送機制:當CAN收到數據幀為最后分段時啟動數據轉換。使用CANID低字節作為ModbusID,如果啟動幀映射功能模塊檢索到CANID的匹配則使用配置好的UARTID作為Modbus的ID字節。轉換過程中模塊使用分段字節自動排序有效數據,去除分段字節,添加CRC寫入串口發送緩沖區。模塊串口檢測“串行幀之間的發送時間間隔”大于或等于配置時間,啟動數據的發送輸出。Modbus協議要求發送間隔大于4字節。例如4800,n,8,1 配置4個字節時間為:1(秒)/4800*10(位)*4(字節) ≈ 8333us ≈ 84*100us,“串行幀之間的發送時間間隔”寫入84。57600,n,8,1 配置4個字節時間為:1(秒)/57600*10(位)*4(字節) ≈ 694us ≈ 7*100us,“串行幀之間的發送時間間隔”寫入7。

Modbus-RTU從機模式
Modbus-RTU從機模式,支持標準 Modbus-RTU 協議的 10H 和 03H功能碼其他功能碼響應為80+功能碼。使用(10H)寫多個寄存器指令,實現 CAN 數據的發送。使用(03H)讀多個寄存器指令,可以實現 CAN 緩存數據的讀取。CAN 收發緩沖器具備 256 幀的 CAN 發送緩存和256幀的接收緩存。
CAN幀格式為下圖。

使用配置軟件修改模塊Modbus從機地址,軟件配置如下圖:

例如模塊作為從機地址配置0x01使用功能碼0x10寫多個寄存器發送數據:
使用串口調試工具發送16進制數:01 10 00 00 00 0B 16 00 88 12 34 56 67 00 11 00 22 00 33 00 44 00 55 00 66 00 77 00 88 FF C6數據格式說明如下圖其中的起始地址模塊不做任何判斷。


例如模塊接收到01 10 00 00 00 0B 16 00 87 12 34 56 67 00 11 00 22 00 33 00 44 00 55 00 66 00 77 00 88 00 39 如果Modbus要轉換7字節數據位,必須寫入00 88位置轉換器會忽略此寄存器置位但CRC會計算該位置。
例如模塊作為從機地址配置0x01使用功能碼0x03讀多個寄存器讀出模塊內CAN數據:

自定義CAN幀模式
使用一下CAN幀格式允許用戶自定義0-4個起始字節和0-4個結束字節。例如可以設置3個起始字符“AT+”16進制數為0x41 0x54 0x2B,兩個結束換行符“\r\n”16進制數為0x0D 0x0A。借助此功能用戶可以自由定義起始字節和結束字節。CAN幀格式固定為下圖。



下例設置幀起始為0,幀結束為0。

上一頁
上一頁
相關下載