国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談基于STM32的CANopen協(xié)議棧的實(shí)現(xiàn)

2021-01-28 10:04:54
關(guān)鍵詞:字典報(bào)文總線

桂林理工大學(xué)博文管理學(xué)院 廣西 桂林 541006

在計(jì)算機(jī)軟硬件技術(shù)和集成電路工藝不斷發(fā)展的過(guò)程中,有關(guān)計(jì)算機(jī)的控制從傳統(tǒng)的模式化已經(jīng)逐漸發(fā)展成現(xiàn)場(chǎng)總線控制方式。這種技術(shù)的發(fā)展良好的推動(dòng)了工業(yè)控制領(lǐng)域的進(jìn)步,使工業(yè)控制技術(shù)的發(fā)展進(jìn)入了新的時(shí)代。在這樣的背景下,CAN總線由于數(shù)據(jù)通信中的高效處理能力以及通信靈活性而逐漸受到推廣應(yīng)用。

1 系統(tǒng)設(shè)計(jì)原理

基于STM32的CANopen通信網(wǎng)絡(luò)的實(shí)現(xiàn)主要是通過(guò)1個(gè)主控制節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),相互之間通過(guò)CAN總線進(jìn)行連接,從而形成一個(gè)網(wǎng)絡(luò),通過(guò)CANopen協(xié)議來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)運(yùn)行和通信的整體管理。主控制節(jié)點(diǎn)和從節(jié)點(diǎn)的核心處理器都是使用STM32F107,用戶(hù)在使用時(shí),能夠通過(guò)主控節(jié)點(diǎn)將控制命令發(fā)送到從節(jié)點(diǎn),進(jìn)而對(duì)整體系統(tǒng)進(jìn)行控制。通過(guò)CAN總線,從節(jié)點(diǎn)接收到主控節(jié)點(diǎn)發(fā)送的指令,完成相應(yīng)的處理后發(fā)送有關(guān)指令到CANopen設(shè)備中,實(shí)現(xiàn)對(duì)其行為的控制。

2 系統(tǒng)軟件設(shè)計(jì)

在系統(tǒng)軟件設(shè)計(jì)中,代碼的編寫(xiě)主要是在KEIL編譯環(huán)境中進(jìn)行,這種軟件編譯環(huán)境中有多項(xiàng)目工作區(qū),能夠使操作項(xiàng)目得到簡(jiǎn)化,而且具備實(shí)時(shí)監(jiān)控的管理系統(tǒng)。通過(guò)代碼編寫(xiě),能夠完成操作系統(tǒng)、系統(tǒng)功能以及CANopen協(xié)議的設(shè)計(jì),在編寫(xiě)代碼完成后,經(jīng)過(guò)編譯再下載到控制網(wǎng)絡(luò)的主從機(jī)控制芯片中。

2.1 對(duì)象字典 這主要是指有序的對(duì)象組,單個(gè)對(duì)象地址的尋找主要是通過(guò)16位的主索引和子索引值進(jìn)行,CANopen的設(shè)備需要通過(guò)一個(gè)對(duì)象字典對(duì)其相關(guān)的參數(shù)進(jìn)行描述,而這些對(duì)象集合起來(lái)就是對(duì)象字典。能夠?qū)π枰獙ふ业膬?nèi)容進(jìn)行快速的查找,查找方法和查找目錄也需要設(shè)置,在C語(yǔ)言程序中進(jìn)行定義。通過(guò)一個(gè)特定的數(shù)組將全部的對(duì)象目錄進(jìn)行定義,包括所有對(duì)象的索引值、大小以及位置,用戶(hù)在查找時(shí),通過(guò)對(duì)數(shù)組的掃描就可以很快查找到需要的內(nèi)容。

2.2 網(wǎng)絡(luò)管理對(duì)象NMT 網(wǎng)絡(luò)管理對(duì)象NMT最主要的功能是進(jìn)行狀態(tài)監(jiān)測(cè)和網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)控制。CANopen的從節(jié)點(diǎn)中都包含一個(gè)狀態(tài)機(jī),主節(jié)點(diǎn)主要對(duì)其轉(zhuǎn)換進(jìn)行有效控制,節(jié)點(diǎn)會(huì)在不同的狀態(tài)下實(shí)施相應(yīng)的任務(wù)。對(duì)CANopen的節(jié)點(diǎn)狀態(tài)程序給與了4種定義,系統(tǒng)在接通電源后,就能夠?qū)崿F(xiàn)自動(dòng)跳轉(zhuǎn),待主節(jié)點(diǎn)發(fā)送狀態(tài)轉(zhuǎn)換的指令給從節(jié)點(diǎn)后,通過(guò)函數(shù)proceed NMT執(zhí)行相應(yīng)的命令,使有關(guān)功能模塊發(fā)揮作用。對(duì)于節(jié)點(diǎn)狀態(tài)監(jiān)測(cè)來(lái)講,主要包含節(jié)點(diǎn)監(jiān)控和心跳報(bào)文,具體執(zhí)行是通過(guò)從節(jié)點(diǎn)發(fā)送心跳報(bào)文到主節(jié)點(diǎn),從而對(duì)從節(jié)點(diǎn)的運(yùn)行狀態(tài)進(jìn)行明確。系統(tǒng)初始化中,程序通過(guò)特定函數(shù)設(shè)置心跳報(bào)文的周期,然后從節(jié)點(diǎn)就進(jìn)行周期性的發(fā)送,假設(shè)在規(guī)定的時(shí)間沒(méi)有接收到,就會(huì)自動(dòng)通過(guò)執(zhí)行命令通知系統(tǒng)中的某節(jié)點(diǎn)問(wèn)題,進(jìn)而通過(guò)對(duì)應(yīng)措施進(jìn)行解決。

2.3 過(guò)程數(shù)據(jù)對(duì)象PDO 這個(gè)的主要功能是傳輸實(shí)時(shí)短幀過(guò)程數(shù)據(jù),程序需要實(shí)現(xiàn)PDO的接收和發(fā)送相應(yīng)功能。在發(fā)送前,結(jié)合PDO的有關(guān)參數(shù)利用函數(shù)設(shè)置需要發(fā)送的報(bào)文,再通過(guò)特定函數(shù)將PDO報(bào)文發(fā)送到總線。如果是同步報(bào)文,程序會(huì)對(duì)函數(shù)進(jìn)行調(diào)節(jié),使用調(diào)節(jié)函數(shù)將同步報(bào)文發(fā)送后再發(fā)送PDO報(bào)文。節(jié)點(diǎn)接收到PDO報(bào)文后,通過(guò)函數(shù)對(duì)其進(jìn)行解析處理。

2.4 服務(wù)數(shù)據(jù)對(duì)象SDO 這個(gè)模塊的主要功能是對(duì)實(shí)時(shí)性要求較低、數(shù)據(jù)量大的低優(yōu)先級(jí)數(shù)據(jù)進(jìn)行傳輸。傳輸?shù)姆绞绞欠?wù)器-用戶(hù),SDO的服務(wù)器一般是從節(jié)點(diǎn),而其用戶(hù)端是主節(jié)點(diǎn),用戶(hù)端利用索引對(duì)服務(wù)器對(duì)象字典中的任何對(duì)象都可以進(jìn)行訪問(wèn),從而完成下載、上傳數(shù)據(jù)。在程序中,通過(guò)特定的函數(shù),用戶(hù)端向服務(wù)器發(fā)送下載、上傳數(shù)據(jù)的請(qǐng)求,在服務(wù)器接收到請(qǐng)求后,通過(guò)函數(shù)解析SDO報(bào)文,判斷報(bào)文屬于服務(wù)協(xié)議中的哪一種,接著按照協(xié)議開(kāi)展相應(yīng)的處理。

2.5 其他通信對(duì)象 通信對(duì)象的報(bào)文還包括緊急事件報(bào)文、同步報(bào)文以及Boot-up報(bào)文等,這些在程序中都有被定義。緊急事件報(bào)文是網(wǎng)絡(luò)管理NMT中的組成部分,如果節(jié)點(diǎn)發(fā)生突發(fā)緊急情況,比如過(guò)壓?jiǎn)栴},就會(huì)通過(guò)相應(yīng)的函數(shù)發(fā)送緊急報(bào)文到總線中,其他的節(jié)點(diǎn)在接收到相應(yīng)的緊急報(bào)文后通過(guò)特定函數(shù)進(jìn)行處理。同步報(bào)文主要是通過(guò)函數(shù)周期性的向同步消費(fèi)者傳播,生產(chǎn)同步報(bào)文者接收到同步報(bào)文后使用調(diào)用函數(shù),將同步報(bào)文作為同步PDO報(bào)文對(duì)相應(yīng)參數(shù)進(jìn)行處理。Boot-up報(bào)文主要是從節(jié)點(diǎn)在通電初始化后利用函數(shù)發(fā)送報(bào)文到主節(jié)點(diǎn),使主節(jié)點(diǎn)做好準(zhǔn)備狀態(tài)。

2.6 系統(tǒng)通信實(shí)現(xiàn) 對(duì)CANopen通信的正確性進(jìn)行驗(yàn)證,主要是通過(guò)截取STM32和PC機(jī)通信的CANopen報(bào)文,而這主要是通過(guò)CAN通信監(jiān)測(cè)軟件和CAN-USB轉(zhuǎn)換器來(lái)實(shí)現(xiàn)。通過(guò)分析通信報(bào)文可以得知,控制器的從站能夠?qū)χ髡镜腟DO報(bào)文進(jìn)行響應(yīng),對(duì)PDO的數(shù)據(jù)也能進(jìn)行傳輸處理,主站和從站之間能夠通過(guò)NMT管理良好的進(jìn)行報(bào)文通信,對(duì)于系統(tǒng)中的相應(yīng)功能都可以很好的實(shí)現(xiàn),完成主從機(jī)CANopen通信。

結(jié)束語(yǔ)

綜上所述,CAN總線技術(shù)在如今工業(yè)控制領(lǐng)域的多個(gè)行業(yè)中得到了推廣應(yīng)用,本文通過(guò)以STM32為硬件平臺(tái)實(shí)現(xiàn)了CANopen協(xié)議通信,使設(shè)備之間的連接具有更好的通用性以及功能擴(kuò)展性。在CAN總線不斷普及應(yīng)用的過(guò)程中,CANopen協(xié)議也在逐漸完善,在CANopen協(xié)議下,不同的CAN設(shè)備通信都有標(biāo)準(zhǔn)化的方式,提高了設(shè)備相互之間的可操作性。

猜你喜歡
字典報(bào)文總線
開(kāi)心字典
家教世界(2023年28期)2023-11-14 10:13:50
開(kāi)心字典
家教世界(2023年25期)2023-10-09 02:11:56
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
淺析反駁類(lèi)報(bào)文要點(diǎn)
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
我是小字典
正版字典
讀者(2016年14期)2016-06-29 17:25:50
ATS與列車(chē)通信報(bào)文分析
永川市| 双江| 江永县| 中卫市| 康马县| 虞城县| 富川| 凤山县| 瑞安市| 民丰县| 河曲县| 六盘水市| 白城市| 宜川县| 无为县| 大化| 和顺县| 卫辉市| 名山县| 岳阳县| 咸宁市| 新田县| 烟台市| 方城县| 阜南县| 星子县| 澎湖县| 开江县| 太仓市| 离岛区| 华容县| 扶余县| 富民县| 石楼县| 南川市| 宿州市| 永州市| 仁布县| 伽师县| 巴楚县| 礼泉县|