咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2019-08-28 13:55:27 |來(lái)源:中國(guó)知網(wǎng)
引言
CAN 總線是一種現(xiàn)場(chǎng)總線,由 某 公司于1986 年正式推出。CAN 總線最早應(yīng)用于汽車上,憑借著快速、可靠、高效的特點(diǎn),CAN 總線的應(yīng)用很快便拓展到過(guò)程控制、工業(yè)機(jī)械、紡織機(jī)械、軌道交通、船舶等領(lǐng)域 [1] ,并在相應(yīng)領(lǐng)域誕生了各具特色的應(yīng)用標(biāo)準(zhǔn)。相較于傳統(tǒng)的 RS485 串口通信,CAN 有著如下顯著特征:
● 多主通信,非破壞性仲裁;
● 速率高達(dá) 1M bps,實(shí)時(shí)性好;
● 錯(cuò)誤處理和檢錯(cuò)機(jī)制可靠;
● 短幀結(jié)構(gòu) (單個(gè)報(bào)文可攜帶 8 字節(jié)數(shù)據(jù)),可實(shí)施復(fù)雜的數(shù)據(jù)加密策略;
● 嚴(yán)重錯(cuò)誤情況下,故障節(jié)點(diǎn)自動(dòng)關(guān)閉,不影響其他節(jié)點(diǎn)通信。
CAN 是一種開放性的現(xiàn)場(chǎng)總線,其本身只定義了數(shù)據(jù)鏈路層和部分物理層內(nèi)容,允許用戶更大程度的去開發(fā)或定義自己的通信應(yīng)用。筆者通過(guò)深入了解稱重行業(yè)的實(shí)際需求及國(guó)內(nèi)外的發(fā)展動(dòng)向,開發(fā)了一款集成了 CANopen 協(xié)議和自定義CAN 協(xié)議 (以下簡(jiǎn)稱 KLink 協(xié)議) 的稱重儀表,其中 CANopen 協(xié)議用于連接儀表和 PC (或 PLC等),其協(xié)議棧完全符合 CiA DS301 規(guī)范;而KLink 協(xié)議則用于連接儀表和數(shù)字傳感器,缺省狀態(tài)下,該協(xié)議運(yùn)行于 125kbps波特率,可連接多達(dá)16 個(gè)的傳感器,通信距離達(dá) 200 米。
1 國(guó)內(nèi)外稱重行業(yè) C AN 總線應(yīng)用情況
CAN 是當(dāng)前唯一入選 ISO 標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線 [2] ,在國(guó)內(nèi)外眾多領(lǐng)域中得到廣泛應(yīng)用。在稱重行業(yè),國(guó)外有很多廠家或組織對(duì)其展開了研究,并將其應(yīng)用到相關(guān)稱重產(chǎn)品中去,其中較為知名的是 CiA(CAN in Autom ation) 協(xié)會(huì)發(fā)布的 CiA DSP459、CiADSP461 設(shè)備描述文件。CiA 這兩份有關(guān)稱重系統(tǒng)的 CANopen 設(shè)備描述文件,對(duì)于建立統(tǒng)一的稱重設(shè)備通信接口,實(shí)現(xiàn)不同廠家 CANopen 設(shè)備的互聯(lián)互通有著重要意義。這兩份協(xié)議中,CiA DSP459 定義了車載稱重設(shè)備的 CANopen 應(yīng)用,其中包含了一般要求、通信參數(shù)規(guī)范、應(yīng)用參數(shù)規(guī)范等內(nèi)容,主要用于卡車、非道路車輛,如叉車、垃圾收運(yùn)車;而 CiA
DSP461 則定義了常規(guī)稱重設(shè)備的 CANopen 應(yīng)用,其中包含數(shù)據(jù)加密、儀表及傳感器設(shè)備描述文件
等,主要用于衡器,如貿(mào)易用稱重設(shè)備。
但在國(guó)內(nèi),由于技術(shù)引入較晚,且相對(duì)集中于車輛、工業(yè)機(jī)械等行業(yè),CAN 總線并不為稱重行業(yè)所熟悉,相應(yīng)的 CAN 總線稱重儀表也并不多見。
2 CAN 接口電路設(shè)計(jì)
儀表的 CAN 接口電路起著連接 CAN 總線網(wǎng)絡(luò)和 CAN 控制器的作用,它是實(shí)現(xiàn) CAN 數(shù)據(jù)收發(fā)的關(guān)鍵。
本設(shè)計(jì)中 CAN 收發(fā)器采用某公司的 SN65H VD251。該收發(fā)器符合 ISO11898-2 標(biāo)準(zhǔn),能以高達(dá)1M bps的速率實(shí)現(xiàn) CAN 數(shù)據(jù)的差分發(fā)送和接收。SN65H VD251 收發(fā)器有 8 個(gè)引腳,如圖 1 所示,其中 D 連接到 CAN 控制器的 TX 引腳、R 連接到CAN 控制器的 RX 引腳、Rs用于設(shè)定收發(fā)器工作模式 (斜率、高速)。
為減少信號(hào)跳變沿的諧波成分,收發(fā)器的 RS引腳通過(guò) 10KΩ 電阻接地,從而實(shí)現(xiàn)收發(fā)器的斜率控制。
由于稱重儀表使用環(huán)境的多樣性,在設(shè)計(jì)CAN 接口電路時(shí),要特別注意接口的浪涌保護(hù)。本設(shè)計(jì)中采用了由氣體放電管、TVS、熱敏電阻等組成的二級(jí)浪涌保護(hù)電路如圖 2 所示。在后期的試驗(yàn)中,該電路通過(guò)了 8KV 的靜電放電實(shí)驗(yàn)以及3KV 的雷擊浪涌實(shí)驗(yàn),這表明該電路能對(duì) CAN 接口提供有效保護(hù)。此外,若傳輸距離較遠(yuǎn),CAN 接口電路還應(yīng)采用相關(guān)隔離保護(hù)手段。
CAN 接口電路中的浪涌保護(hù)和信號(hào)隔離電路,會(huì)對(duì)波形質(zhì)量或傳輸延時(shí)有所影響,設(shè)計(jì)時(shí)應(yīng)選擇結(jié)電容小的浪涌保護(hù)器件、傳輸延時(shí)小的隔離器件。
3 CAN open 協(xié)議設(shè)計(jì)
在本設(shè)計(jì)中,CANopen 協(xié)議是儀表同 PC 或PLC 等上位機(jī)進(jìn)行通信的協(xié)議。該協(xié)議的設(shè)計(jì)完全符合 CiA DS301 規(guī)范,支持基于 LSS 服務(wù)的節(jié)點(diǎn)號(hào)或波特率更改。
在實(shí)際的工控或車載使用中,CANopen 稱重儀表往往作為從站運(yùn)行,故本設(shè)計(jì)中將儀表設(shè)計(jì)為CANopen 從站。作為 CANopen 從站的儀表,其狀態(tài)運(yùn)轉(zhuǎn)如圖 3 所示完全受控于主站的 NM T 指令。
CANopen 協(xié)議有多種通信對(duì)象[3] ,如 NM T、SDO、PDO、EM CY 等,對(duì)應(yīng)不同的 NM T 狀態(tài),從站可提供的通信對(duì)象是不同的 (見圖 3 中各狀態(tài)框)。在確定采用何種通信對(duì)象時(shí),必須綜合分析所要傳輸信息的性質(zhì)及通信需求。在本儀表的設(shè)計(jì)中,稱重儀表的重量信息 (皮重、毛重、凈重等) 作為過(guò)程數(shù)據(jù),以 PDO 的形式進(jìn)行通信;而其他配置信息或功能設(shè)定信息,則采用需確認(rèn)的 SDO 進(jìn)行通信。其中,PDO 采用發(fā)送類型為255 的異步發(fā)送,以 TPDO1 為例,其通信參數(shù)如表 1 所示。
CANopen 協(xié)議棧的核心是對(duì)象字典,應(yīng)用程序和 CANopen 協(xié)議棧以此為中心進(jìn)行數(shù)據(jù)的交換。對(duì)象字典的設(shè)計(jì)嚴(yán)格遵循 CiA DS301 及 CiA DS306協(xié)議。根據(jù)稱重儀表數(shù)據(jù)傳輸?shù)膶?shí)際需求,在可使用的范圍內(nèi),本設(shè)計(jì)將對(duì)象字典索引區(qū)間進(jìn)行了劃分如表 2 所示。
4 KLink 應(yīng)用協(xié)議設(shè)計(jì)
KLink 協(xié)議是儀表和傳感器間的 CAN 通信協(xié)議。KLink 協(xié)議采用主從結(jié)構(gòu),其中儀表作為通信主站,負(fù)責(zé)發(fā)起通信并監(jiān)控網(wǎng)絡(luò)運(yùn)行狀態(tài);而傳感器則作為通信從站,不主動(dòng)發(fā)起任何通信,僅響應(yīng)主站的請(qǐng)求。
儀表和傳感器之間傳輸?shù)臄?shù)據(jù)主要有重量信息和各種配置、標(biāo)定、狀態(tài)信息,它們有著如下
特點(diǎn):
a) 重量信息需要持續(xù)傳送,要求具備最高的傳輸優(yōu)先級(jí);
b) 配置、標(biāo)定、狀態(tài)信息只在特定條件下才會(huì)訪問(wèn),且需要回應(yīng);
c) 配置、標(biāo)定、狀態(tài)信息與具體傳感器息息相關(guān);
d) 信息需要加密傳輸;
e) 信息傳輸要求高的實(shí)時(shí)性。
結(jié)合上述信息傳輸?shù)奶攸c(diǎn),KLink 協(xié)議采用了兩種通信模型:點(diǎn)對(duì)點(diǎn)通信 (如圖 4 所示)、廣播通信 (如圖 5 所示)。設(shè)計(jì)通信協(xié)議的時(shí)候,根據(jù)通信對(duì)象的屬性,如讀寫、存儲(chǔ)、加密、校驗(yàn)等,為每種通信對(duì)象指定了具體的通信模型和通信服務(wù)。對(duì)于需頻繁傳輸?shù)闹亓繑?shù)據(jù),應(yīng)支持主從廣播通信;同時(shí),為方便特定條件下的使用,也應(yīng)支持主從點(diǎn)對(duì)點(diǎn)通信。
試驗(yàn)表明,在連接 16 個(gè)傳感器,波特率設(shè)定為 125kbps的情況下,KLink 協(xié)議可實(shí)現(xiàn)對(duì)重量數(shù)據(jù) 57H z 的高速讀取。該讀取頻率與網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量、波特率相關(guān),在傳感器數(shù)量減少或波特率提高的情況下,讀取速度還會(huì)有更大提升。
5 總結(jié)
結(jié)合 CAN 總線的一系列特點(diǎn),筆者全新開發(fā)了一款 CAN 總線稱重儀表,并在仔細(xì)分析稱重儀表數(shù)據(jù)傳輸需求的基礎(chǔ)上設(shè)計(jì)了其通信協(xié)議。相較于傳統(tǒng) RS485 接口的儀表,該儀表在速度、加密傳輸?shù)确矫娑硷@示了其顯著優(yōu)勢(shì)。
目前,前述研發(fā)成果已應(yīng)用在多款帶 CAN 接口的物聯(lián)網(wǎng)及工控儀表中,如 D39-W -CAN 如圖 6所示、KL3101-D2+C、KL3101-D2+C(CANopen)。憑借優(yōu)異的防作弊性能和高可靠性,該系列儀表在市場(chǎng)上已得到眾多終端用戶的青睞。
CAN 總線在極度重視安全性、可靠性的汽車行業(yè)應(yīng)用多年,并在工控等領(lǐng)域得以持續(xù)發(fā)展,其高速、可靠的特性完全勝任稱重儀表的數(shù)字傳輸需要,在未來(lái)的稱重行業(yè)必將有著廣闊的應(yīng)用空間。
摘于中國(guó)知網(wǎng),如有侵權(quán)請(qǐng)聯(lián)系刪除