精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-07-10 08:08 ? 次閱讀

1、引言

CANopen是一個(gè)開放的、標(biāo)準(zhǔn)化的應(yīng)用層協(xié)議,在各種控制系統(tǒng)中得到了廣泛的應(yīng)用。依靠CANopen協(xié)議的支持,可以對(duì)不同CAN廠商的設(shè)備通過總線進(jìn)行實(shí)時(shí)通訊。

本文針對(duì)自主研發(fā)的全數(shù)字電機(jī)伺服驅(qū)動(dòng)系統(tǒng),使用CANopen通訊協(xié)議實(shí)現(xiàn)了CAN總線數(shù)字信號(hào)處理器DSP)系統(tǒng)與上位機(jī)CAN卡之間的通訊,并通過測(cè)試實(shí)驗(yàn)驗(yàn)證了信息傳遞的可靠性,保證了全數(shù)字網(wǎng)絡(luò)化伺服驅(qū)動(dòng)系統(tǒng)中對(duì)電機(jī)控制的快速性、準(zhǔn)確性和實(shí)時(shí)性。

2 、通訊系統(tǒng)實(shí)現(xiàn)的基本原理

2.1 LF240x系列DSP的CAN控制器模塊

LF240x系列DSP的CAN控制器模塊,是一個(gè)完全的CAN控制器。具有以下特性[6]:

(1)完全支持CAN2.0B協(xié)議;

(2)對(duì)象有6個(gè)郵箱,用于接收和發(fā)送信息,其數(shù)據(jù)長(zhǎng)度為0~8個(gè)字節(jié);

(3)可編程的中斷配置,位定時(shí)器及CAN總線喚醒功能;

(4)當(dāng)發(fā)送出現(xiàn)錯(cuò)誤或仲裁丟失數(shù)據(jù)時(shí),CAN控制器有自動(dòng)重發(fā)功能;

(5)總線錯(cuò)誤自診斷功能;

(6)支持自測(cè)試模式。

2.2 CANopen協(xié)議

CANopen協(xié)議以CAN芯片硬件基礎(chǔ),有效利用CAN芯片所提供的簡(jiǎn)單通信功能區(qū)實(shí)現(xiàn)工業(yè)控制網(wǎng)絡(luò)的復(fù)雜應(yīng)用層協(xié)議要求。應(yīng)用中應(yīng)該注意以下幾個(gè)方面的內(nèi)容:

2.2.1 對(duì)象字典OD(Object Dictionary)

OD是CANopen協(xié)議的核心概念[1],它是一個(gè)有序的對(duì)象組,每個(gè)對(duì)象用一個(gè)16位的索引值和一個(gè)8位的子索引尋址。CANopen網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都有一個(gè)OD,包含了描述這個(gè)設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù)

2.2.2 CANopen 標(biāo)識(shí)符

CANopen定義了強(qiáng)制性的缺省標(biāo)識(shí)符(COB-ID)分配表。它是基于11位的CAN-ID,包括4位功能段(Function Code)和7位地址段(Node-ID),如圖1所示。文獻(xiàn)[1]中給出了CANopen預(yù)定義主/從連接集CAN標(biāo)識(shí)符分配情況。

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

2.2.3 CANopen通訊機(jī)制

CANopen通訊模型定義了四種報(bào)文(通訊對(duì)象)[1]:

1) 管理報(bào)文NMT(Network Management)

用于網(wǎng)絡(luò)中主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)監(jiān)控和管理。此消息不需要應(yīng)答。NMT消息格式如表1所示。

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

2)服務(wù)數(shù)據(jù)對(duì)象SDO(Service Data Object)

SDO通過使用索引和子索引來訪問一個(gè)設(shè)備的OD。協(xié)議屬于確認(rèn)服務(wù)類型。根據(jù)傳送數(shù)據(jù)的長(zhǎng)度不同,有兩種傳送機(jī)制:加速傳送(最多4字節(jié))和分段傳送(大于4字節(jié))。發(fā)送和應(yīng)答報(bào)文總是包含8字節(jié)信息,基本結(jié)構(gòu)如表2所示:

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

3) 過程數(shù)據(jù)對(duì)象PDO(Process Data Object)

用于傳輸正常網(wǎng)絡(luò)操作中的實(shí)時(shí)數(shù)據(jù)。每個(gè)PDO在OD中用2個(gè)對(duì)象描述:PDO通訊參數(shù)和PDO映射參數(shù)。在此舉例說明PDO的使用方法。假設(shè)第二個(gè)發(fā)送PDO映射如表3所示,如果這個(gè)報(bào)文被發(fā)送,則由3字節(jié)組成,報(bào)文結(jié)構(gòu)如表4所示。

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

4) 預(yù)定義報(bào)文或特殊功能報(bào)文

定義了三個(gè)用于同步,應(yīng)急指示和時(shí)間標(biāo)記的特定對(duì)象。用于配合以上三種通訊機(jī)制。

3、系統(tǒng)通訊的軟、硬件設(shè)計(jì)

3.1 CAN總線硬件設(shè)計(jì)

由于TMS320LF2407A芯片內(nèi)自帶了CAN總線控制器模塊,使得CAN總線的電路設(shè)計(jì)變得非常簡(jiǎn)單。將TMS320LF2407A的CANTX、CANRX引腳和CAN收發(fā)器PCA82C250的TXD、RXD引腳相連即可。CAN總線之間需要使用一個(gè)合適的終端電阻連接。為了進(jìn)一步提高系統(tǒng)的抗干擾能力,可以在控制器和傳輸介質(zhì)之間加接光電隔離器件6N137。電路原理圖如圖2所示。

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

3.2 CANopen協(xié)議對(duì)象字典OD的建立

本伺服驅(qū)動(dòng)器通訊支持CANopen通訊子協(xié)議(DS301)和驅(qū)動(dòng)設(shè)備子協(xié)議及運(yùn)動(dòng)控制命令(DSP-402)。在開發(fā)的過程中,根據(jù)應(yīng)用的具體要求,將數(shù)字輸入/輸入模塊、電機(jī)及驅(qū)動(dòng)設(shè)備、控制器、編碼器等設(shè)備類型及其相應(yīng)的功能在設(shè)備描述的協(xié)議中進(jìn)行了描述。建立的OD分為三個(gè)部分:

1) 通訊協(xié)議對(duì)象(Index 0x1000-0x1AFF)

定義設(shè)備類型,錯(cuò)誤寄存器,廠商指定狀態(tài)寄存器,COB-ID同步信息,通訊循環(huán)周期,同步CAN信息窗口,以及設(shè)備名,軟硬件版本號(hào)等。另外SDO的通訊參數(shù)以及PDO的通訊和映射參數(shù)也在該部分定義。本設(shè)計(jì)中采用固定PDO映射,不允許動(dòng)態(tài)映射。

2) 標(biāo)準(zhǔn)設(shè)備子協(xié)議對(duì)象(Index 0x6000-0x65FF)

定義三類信息:第一類是電機(jī)及驅(qū)動(dòng)器的相關(guān)設(shè)備參數(shù),如類型,廠商信息,分類號(hào)等;第二類是命令字和狀態(tài)字;第三類是位置、速度的相關(guān)參數(shù)。

3) 廠商指定協(xié)議對(duì)象(0x2000-0x20FF)

根據(jù)廠商需求,靈活定義所使用的變量。 此部分的使用使CANopen協(xié)議既保證了設(shè)備的通用性,又保證了系統(tǒng)良好的擴(kuò)展性。

3.3 通訊程序的設(shè)計(jì)及實(shí)現(xiàn)

針對(duì)帶CAN控制器的TMS320LF2407A和PC機(jī)CAN卡之間的通訊進(jìn)行了軟件設(shè)計(jì)。

TMS320LF2407A的CAN控制器的郵箱2配置為接收方式,郵箱3配置為發(fā)送方式。都采用標(biāo)準(zhǔn)信息幀格式(11Bit ID)。其中發(fā)送信息采用查詢方式,接收信息采用中斷方式,郵箱2用低中斷優(yōu)先級(jí)。信息傳輸波特率設(shè)置為500Kbps。

采用CANopen協(xié)議對(duì)設(shè)備進(jìn)行控制的過程可以理解為用SDO對(duì)數(shù)據(jù)字典的讀寫過程。檢測(cè)設(shè)備對(duì)象的狀態(tài)或查詢?cè)O(shè)備當(dāng)前信息時(shí),可用SDO讀取數(shù)據(jù)字典中的對(duì)象;要對(duì)設(shè)備發(fā)布控制命令可利用SDO向相應(yīng)的數(shù)據(jù)字典對(duì)象寫入數(shù)據(jù)。接收到信息幀時(shí)首先要將其命令字節(jié)(byte0)讀出,以確定下一步的讀寫命令處理。

信息幀的接收和發(fā)送均采用緩沖區(qū)的方式。讀操作時(shí),發(fā)送信息幀長(zhǎng)度為4字節(jié),應(yīng)答信息幀約定為8字節(jié);寫操作時(shí),發(fā)送信息幀長(zhǎng)度約定為8字節(jié),應(yīng)答信息幀為4字節(jié)。

采用不同的發(fā)送郵箱發(fā)送數(shù)據(jù)長(zhǎng)度不同的信息幀。本程序設(shè)計(jì)中,采用郵箱4發(fā)送4字節(jié)長(zhǎng)度的信息幀,采用郵箱5發(fā)送8字節(jié)長(zhǎng)度的信息幀。這種方式可以提高信息傳輸?shù)男省\浖O(shè)計(jì)流程圖如圖3所示。

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

4 、測(cè)試結(jié)果

為了測(cè)試CAN總線DSP系統(tǒng)與PC機(jī)CAN卡之間的通訊情況,采用VC++編寫了友好的人機(jī)界面(見圖4)。進(jìn)行通訊測(cè)試時(shí),首先要選擇通訊端口,設(shè)置通訊波特率,ID屏蔽位,信息幀格式及傳輸數(shù)據(jù)的格式(十進(jìn)制或十六進(jìn)制)。特別需要注意PC端設(shè)置的通訊波特率要和DSP端的通訊波特率保持一致。然后打開CAN總線端口,選定發(fā)送SDO的功能段及地址段,填寫信息幀長(zhǎng)度(以字節(jié)為單位)及內(nèi)容,即可進(jìn)行通訊測(cè)試。

基于CANoen協(xié)議實(shí)現(xiàn)DSP系統(tǒng)與上位機(jī)CAN的通訊

例如,要將1號(hào)地址的電機(jī)輪速期望值設(shè)為0x3E8,電機(jī)輪速期望值在OD中的索引為0x606B,使用啟動(dòng)域下載協(xié)議,加速傳輸。則設(shè)置地址段為1,信息幀長(zhǎng)度為8,信息幀內(nèi)容為2B 6B 60 00 E8 03 00 00。發(fā)送成功后返回應(yīng)答信息幀內(nèi)容為:ID=581,LENTH=4,DATA=60 6B 60 0 0 0 0 0,說明寫入操作正確(見圖4)。

要將1號(hào)地址的電機(jī)輪速期望值讀出,即讀出OD中的對(duì)象0x606B,使用啟動(dòng)域上傳協(xié)議,服務(wù)器使用加速傳輸方式應(yīng)答。則設(shè)置地址段為1,信息幀長(zhǎng)度為4,信息幀內(nèi)容為40 6B 60 00 00 00 00 00,發(fā)送成功后返回應(yīng)答信息幀內(nèi)容為:ID=581,LENTH=8,DATA=4B 6B 60 0 E8 03 0 0,說明讀取操作正確(見圖4)。

5 、結(jié)束語

本文用CANoen協(xié)議實(shí)現(xiàn)了CAN總線DSP系統(tǒng)與上位機(jī)CAN的通訊,實(shí)現(xiàn)了控制系統(tǒng)的數(shù)字化、模塊化,并保持了系統(tǒng)的可擴(kuò)展性,為提高伺服驅(qū)動(dòng)系統(tǒng)的智能化水平奠定了堅(jiān)實(shí)的基礎(chǔ)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    551

    文章

    7823

    瀏覽量

    346811
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1896

    瀏覽量

    130330
  • 電機(jī)
    +關(guān)注

    關(guān)注

    141

    文章

    8763

    瀏覽量

    143740
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    需要開發(fā)一個(gè)上位機(jī)和單片的雙向通訊協(xié)議

    需要開發(fā)一個(gè)上位機(jī)和單片的雙向通訊協(xié)議,現(xiàn)在上位機(jī)給單片機(jī)
    發(fā)表于 04-08 15:39

    DSP28035的CAN通訊程序 精選資料推薦

    、TJA1050芯片是屬于物理層芯片,將TTL電平信號(hào)轉(zhuǎn)換為符合CAN規(guī)范的差分信號(hào),從而實(shí)現(xiàn)CAN通訊。因此,上位
    發(fā)表于 08-20 08:07

    上位機(jī)通信協(xié)議控制電機(jī)上位機(jī)C++實(shí)現(xiàn)上位機(jī)6

    常見的上位機(jī)通信協(xié)議控制電機(jī)上位機(jī)C++實(shí)現(xiàn)上位
    發(fā)表于 09-16 06:22

    單片機(jī)上位機(jī)通訊協(xié)議是什么?

    單片機(jī)上位機(jī)通訊協(xié)議是什么
    發(fā)表于 10-10 07:40

    基于DSP的CANopen通訊協(xié)議實(shí)現(xiàn)

    CANopen 是一種開放的應(yīng)用層協(xié)議,其應(yīng)用可以進(jìn)一步提高系統(tǒng)的可靠性、通訊效率及靈活性,而且可以使產(chǎn)品具有很好的兼容性。本文采用CANopen 通訊
    發(fā)表于 09-03 09:19 ?19次下載

    PC機(jī)并口與現(xiàn)場(chǎng)總線CAN通訊實(shí)現(xiàn)

    PC機(jī)并口與現(xiàn)場(chǎng)總線CAN通訊實(shí)現(xiàn) 以PC機(jī)并口與CAN
    發(fā)表于 10-16 17:53 ?1801次閱讀
    PC<b class='flag-5'>機(jī)</b>并口與現(xiàn)場(chǎng)總線<b class='flag-5'>CAN</b><b class='flag-5'>通訊</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    基于DSP和FPGA的HDLC協(xié)議通訊電路設(shè)計(jì)

    摘要:為了實(shí)現(xiàn)高速HDLC通訊協(xié)議,設(shè)計(jì)了DSP+FPGA結(jié)構(gòu)的485通訊接口,接口包括DSP
    發(fā)表于 02-25 17:24 ?98次下載

    交流伺服系統(tǒng)DSP上位機(jī)通訊實(shí)現(xiàn)

    本文介紹了基于DSP的盤流伺服系統(tǒng)上位機(jī)通訊.詳細(xì)升紹了DsP串行
    發(fā)表于 10-12 15:40 ?73次下載
    交流伺服<b class='flag-5'>系統(tǒng)</b>中<b class='flag-5'>DSP</b>與<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>的<b class='flag-5'>通訊實(shí)現(xiàn)</b>

    基于LabVIEW和J1939協(xié)議CAN總線通訊平臺(tái)開發(fā)

    基于J1939 協(xié)議的商用車CAN總線,針對(duì)單片機(jī)微控制器MCU 節(jié)點(diǎn)的MCU + CAN 控制器 + CAN 收發(fā)器的
    發(fā)表于 04-15 16:59 ?5094次閱讀
    基于LabVIEW和J1939<b class='flag-5'>協(xié)議</b>的<b class='flag-5'>CAN</b>總線<b class='flag-5'>通訊</b>平臺(tái)開發(fā)

    CAN總線DSP系統(tǒng)上位機(jī)CAN通訊

    字電機(jī)伺服驅(qū)動(dòng)系統(tǒng),使用CANopen通訊協(xié)議實(shí)現(xiàn)CAN總線數(shù)字信號(hào)處理器(DSP
    發(fā)表于 10-31 11:00 ?16次下載
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>DSP</b><b class='flag-5'>系統(tǒng)</b>與<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b><b class='flag-5'>CAN</b>的<b class='flag-5'>通訊</b>

    基于DSP的CANopen通訊協(xié)議的解析

    字電機(jī)伺服驅(qū)動(dòng)系統(tǒng),使用CANopen通訊協(xié)議實(shí)現(xiàn)CAN總線數(shù)字信號(hào)處理器(DSP
    發(fā)表于 11-01 16:19 ?10次下載
    基于<b class='flag-5'>DSP</b>的CANopen<b class='flag-5'>通訊</b><b class='flag-5'>協(xié)議</b>的解析

    DSP28035的CAN通訊程序

    、TJA1050芯片是屬于物理層芯片,將TTL電平信號(hào)轉(zhuǎn)換為符合CAN規(guī)范的差分信號(hào),從而實(shí)現(xiàn)CAN通訊。因此,上位
    發(fā)表于 12-05 17:36 ?40次下載
    <b class='flag-5'>DSP</b>28035的<b class='flag-5'>CAN</b><b class='flag-5'>通訊</b>程序

    利用CAN通信實(shí)現(xiàn)電機(jī)控制器上位機(jī)監(jiān)控系統(tǒng)

      介紹一種利用TMS320F28335的增強(qiáng)型局域控制網(wǎng),模塊(eCAN)實(shí)現(xiàn)數(shù)據(jù)傳輸,LABVIEW作為上位機(jī)開發(fā)平臺(tái),實(shí)現(xiàn)電機(jī)控制器與電腦CA
    發(fā)表于 04-02 17:38 ?19次下載

    【Z站推薦】CAN接口卡如何解決上位機(jī)系統(tǒng)的調(diào)度延時(shí)問題?

    具體分析。使用CAN接口卡是CAN通訊領(lǐng)域無法避開的話題,它提供各種的接口類型,兼容多種上位機(jī)系統(tǒng)
    的頭像 發(fā)表于 07-24 17:02 ?1083次閱讀
    【Z站推薦】<b class='flag-5'>CAN</b>接口卡如何解決<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b><b class='flag-5'>系統(tǒng)</b>的調(diào)度延時(shí)問題?

    上位機(jī)與plc通訊協(xié)議有哪些

    在工業(yè)自動(dòng)化領(lǐng)域,上位機(jī)與PLC(可編程邏輯控制器)之間的通信至關(guān)重要。上位機(jī)通常指用于監(jiān)控、控制和數(shù)據(jù)管理的計(jì)算機(jī)系統(tǒng),而PLC則負(fù)責(zé)執(zhí)行
    的頭像 發(fā)表于 06-06 09:53 ?1280次閱讀