999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

交流伺服驅動器EtherCAT通信功能的實現*

2019-12-26 03:24:42
上海電氣技術 2019年4期
關鍵詞:交流

張 靜

上海電氣集團股份有限公司 中央研究院 上海 200070

1 研究背景

近年來,自動化行業發展迅速,機器人開始逐漸代替人進行相關工作。交流伺服驅動器作為機器人的關鍵零部件,在工業機器人、協作機器人,以及醫療與餐飲行業中的服務機器人領域,都有廣泛應用。機器人屬于由控制器控制多臺伺服驅動器的集成系統,多臺伺服驅動器的通信實時性要求較高。

傳統的以太網硬件和標準傳輸控制協議(TCP)/網際協議(IP),如施耐德Modbus/TCP、羅克韋爾Ethernet/IP和西門子Profinet(第一版)等,已經不能滿足市場對于交流伺服驅動器通信功能的要求。在不改變以太網硬件基礎的前提下,Powerlink和Profinet(第二版)改善了過程數據的通信協議,但受硬件層限制,通信的實時性仍有欠缺。對此,倍福提出了EtherCAT,通過硬件集成來提高以太網的性能,同時運行過程數據通信協議和TCP/IP協議棧,保證數據鏈路層的實時性。EtherCAT具有拓撲結構靈活和系統配置簡單的特點,滿足交流伺服驅動器中通信功能實時性和成本低的要求。

2 EtherCAT概述

隨著工業自動化的迅猛發展,以及EtherCAT具有較強的實時性和擴展性特點,市場上越來越多的交流伺服驅動器配置EtherCAT通信功能。為提高產品迭代更新的速率,筆者研究在現有交流伺服驅動器上實現EtherCAT通信功能。

2.1 EtherCAT主從站技術

EtherCAT由倍福于2003年提出,于2007年12月成為國際標準。作為一種實時以太網現場總線技術,EtherCAT采用主從介質訪問方式,主站控制所有從站發送或接收數據。主站可以選取基于個人計算機的軟件控制方法,如將TwinCAT上位機作為一個虛擬主站,但這一方法的實時性不佳,且開發費用較高。通過應用網絡接口控制器(NIC)卡或集成以太網媒體訪問控制(MAC)的板卡,在Linux系統中進行主站開發,可以實現良好的開源性,且費用較低。

對于從站的開發,倍福先后提出兩種從站接口控制器(ESC)——ET1100和ET1200。ESC實現了EtherCAT物理層與數據鏈路層的通信,通常具備兩個MAC地址,可擴展為兩個網口,從而方便級聯構成多種拓撲結構。

2.2 EtherCAT協議

CoE(CANopen over EtherCAT)協議是專門針對交流伺服驅動器制定的協議。CoE協議中EtherCAT數據幀包含標準CANopen數據幀內容,數據幀格式如圖1所示。EtherCAT數據幀分為三個部分:以太網幀頭、EtherCAT數據區和幀校驗序列。一個完整的EtherCAT子報文由10 Byte子報文頭、最大可存儲1 486 Byte的數據區及2 Byte工作計數器(WKC)組成。

圖1 EtherCAT數據幀格式

2.3 從站周期性過程數據通信

在交流伺服驅動器中,周期性過程數據通信非常關鍵,所對應的變量為過程數據對象(PDO)變量。EtherCAT從站可運行于自由運行模式和同步運行模式,前者利用查詢的方式來處理PDO變量,后者在中斷服務函數中處理PDO變量。

筆者主要介紹同步運行模式下的PDO變量傳輸方式,以及EtherCAT主站對從站的讀寫操作。PDO通信流程如圖2所示。EtherCAT主站對從站進行寫操作時,內存管理單元FMMU0復制至同步管理器通道SM2緩存器中,同時觸發過程數據接口(PDI)中斷。再將SM2緩存器中的數據復制至PDI_Isr中斷函數中,應用層更新數據。與寫操作類似,EtherCAT主站對從站進行讀操作時,需要將更新后的輸入數據寫入同步管理器通道SM3緩存器中,內存管理單元FMMU1將SM3緩存器中的數據寫入EtherCAT數據幀,進而將所讀取的數據發送至EtherCAT主站。

圖2 PDO通信流程

3 硬件設計

筆者打破傳統的數字信號處理器(DSP)+ET1X00芯片設計模式,采用DSP+XMC4300芯片硬件結構,兩片芯片之間通過串行外設接口(SPI)進行數據傳輸。將TMS320F2809作為交流伺服驅動器主程序芯片,同時作為SPI的主站和EtherCAT通信中的從站。通過XMC4300芯片,實現交流伺服驅動器的EtherCAT通信功能,并將這一芯片作為SPI的從站和EtherCAT通信中的主站。XMC4300芯片支持SPI全雙工和半雙工功能,可以有效提高數據幀的傳輸速率。

3.1 SPI技術

SPI通過時鐘信號實現主從站的同步,數據傳輸時不需要增加起始位、停止位等用于同步的格式位。SPI主站發送數據的寄存器中可以直接存放要傳送的數據,根據時鐘節拍,將寄存器中的數據移位至SPI主站的輸出口(MOSI)。根據時鐘節拍,從站將接收到的數據移位至移位寄存器中。當接收完一個完整的數據幀后,設置中斷標志,通知SPI從站數據已接收完畢,同時將移位寄存器中的數據傳輸至接收數據寄存器中。

3.2 硬件框架

硬件框架如圖3所示,將基于TMS320F2809芯片的交流伺服驅動器電路板與基于XMC4300芯片的開發板通過SPI連接起來。其中,CLK為SPI通信周期的時鐘信號,STE為SPI通信的片選信號,MOSI為SPI主站輸出數據幀至SPI從站,這三種信號均為從SPI主站TMS320F2809芯片發送至SPI從站XMC4300芯片。SPI從站至SPI主站有五種信號,其中:MISO為SPI從站輸出數據幀至SPI主站;RDY為SPI通信中的準備信號,高電平時進行數據幀傳輸;SYNC為EtherCAT中的sync0信號,用于實現XMC4300芯片的時鐘與TMS320F2809芯片的時鐘同步,保證EtherCAT的通信實時性;CS1和CS2為片選信號。

圖3 硬件框架

4 軟件設計

4.1 軟件工具

軟件開發環境采用英飛凌Dave平臺,結合Dave內置的圖形化編程界面App Dependency Tree,同時利用C語言進行編程。App Dependency Tree界面可以方便地增加SPI_SLAVE模塊,便于設置和修改SPI相關參數。

EtherCAT主站選用TwinCAT,設定EtherCAT的通信時間為250μs。鑒于個人計算機的內核資源有限,將TwinCAT安裝在倍福 C6915工控機上進行操作。

TwinCAT與基于XMC4300芯片的開發板之間通過IE-C6FP8LD帶屏蔽功能網線連接,從而減少EtherCAT通信受到SPI通信的干擾。系統框架如圖4所示。

圖4 系統框架

4.2 SPI協議

現有的交流伺服驅動器中,DSP芯片采用Modbus協議,而XMC4300芯片采用CoE協議,為實現DSP芯片與XMC4300芯片之間的成功通信,需要建立一個新的SPI協議。建立的思路是將XMC4300芯片中CoE協議的變量名稱及索引號與TMS320F2809芯片中Modbus協議的地址一一對應,方便兩塊芯片之間的數據傳輸。

以CoE協議中的狀態字0x6041為例,此PDO變量為PDO1部分中的只讀型變量,規定其對應TMS320F2809芯片中Modbus協議的地址值為0x850。與此類似,控制字0x6040為PDO1部分中的讀寫型變量,規定其對應TMS320F2809芯片中Modbus協議的地址值為0x851。

在EtherCAT通信中,XMC4300芯片作為通信的主站,TMS320F2809芯片作為通信的從站。主站向從站發送請求數據,從站向主站發送應答數據,兩塊芯片之間通過SPI通信來實現數據的傳輸。新的SPI協議中,規定一個命令對應一個數據值,命令和數據的長度均為1 Word,并且規定在命令字中高兩位為命令的類型,低14位為地址值。

數據字均為16 bit,這就需要對CoE協議中的變量數據長度進行處理。對于32 bit變量,需要拆分為高16 bit和低16 bit兩部分數據值。這兩部分數據值分別對應不同的地址,從而實現SPI通信中的數據傳輸。對于16 bit變量,不需要進行數據處理操作。對于8 bit變量,需要將其數據長度擴展為16 bit。

4.3 軟件框架

實現SPI基本通信功能,主要包含調用spi_handle()函數。spi_handle()函數用于初始化握手過程,插入握手階段的數據存儲,同時進行片選信號和同步信號的設置。在Dave軟件開發平臺上,通過圖形化軟件進行設計,設置SPI基本通信為全雙工,傳輸模式為直接存儲器存取(DMA)方式,每一幀的數據長度為8 bit,每一個SPI周期可以發送64幀。

設計EtherCAT通信中的PDO變量數據傳輸框架。根據EtherCAT的實時性及SPI每周期可傳輸的數據幀情況,將需要傳輸的PDO變量分為PDO1和PDO2部分,保證PDO1、PDO2分別每隔50μs通信一次,實現TwinCAT對伺服驅動單元的讀寫操作。PDO1與PDO2傳輸數據的時序關系如圖5所示。

圖5 PDO變量數據傳輸時序

通過TwinCAT進行PDO變量數據的讀寫操作,此部分需要新的SPI協議。spi_pdo_data_load()函數和Coe_read_Modbus_PDO()函數用于實現XMC4300芯片對TMS320F2809芯片寫數據時的SPI通信功能,spi_pdo_data_fetch()函數和Modbus_write_Coe_PDO()函數用于實現XMC4300芯片對TMS320F2809芯片讀數據時的SPI通信功能。

Coe_read_Modbus_PDO()函數針對寫操作中所用到的PDO變量,對EtherCAT從站功能中的PDO變量順序與自定義SPI協議中的PDO變量順序確定對應關系,同時將一個32 bit的PDO變量拆分為高16 bit和低16 bit兩個PDO變量。

spi_pdo_data_load()函數對寫操作中所用到的PDO變量進行移位和與操作,將16 bit變量轉換為8 bit變量,進而傳輸至SPI底層模塊的端口。

Modbus_write_Coe_PDO()函數針對讀操作中所用到的PDO變量,對EtherCAT從站功能中的PDO變量順序與自定義SPI協議中的PDO變量順序確定對應關系,同時將一個32 bit的PDO變量拆分為高16 bit和低16 bit兩個PDO變量。

spi_pdo_data_fetch()函數對讀操作中所用到的PDO變量進行移位和與操作,將16 bit變量轉換為8 bit變量,進而傳輸至SPI底層模塊的端口。

PDO變量讀寫操作流程如圖6所示。

圖6 PDO讀寫操作流程

(1)讀寫型PDO變量。以控制字0x6040為例,在EtherCAT主站TwinCAT中輸入控制字0x6040的數據值時,EtherCAT主站向EtherCAT從站發起寫操作請求。PDO變量的寫操作經過SM2通道,在PDI_Isr函數中調用spi_handle()函數后,在SM2的函數中調用spi_pdo_data_load()函數和Modbus_write_Coe_PDO()函數,再通過SPI通信方式,發送至TMS320F2809芯片。

控制字0x6040為讀寫型變量,在進行寫操作的同時,EtherCAT主站向EtherCAT從站發起讀操作請求。這一讀操作請求同樣通過SPI通信傳輸至TMS320F2809芯片,TMS320F2809芯片作為SPI通信的主站,再將控制字0x6040當前的數據值通過SPI通信傳輸至XMC4300芯片。XMC4300芯片分別作為SPI通信和EtherCAT通信的從站,接收控制字0x6040當前的數據值。PDO變量的讀操作經過SM3通道,在SM3的函數中調用Coe_read_Modbus_PDO()函數和spi_pdo_data_fetch()函數。最終將控制字0x6040的數據值傳輸至EtherCAT主站TwinCAT,并成功顯示。

(2)只讀型PDO變量。以狀態字0x6041為例,在EtherCAT主站TwinCAT中輸入狀態字0x6041的數據值時,EtherCAT主站向EtherCAT從站發起寫操作請求,由于狀態字0x6041為只讀型變量,因此在上位機上顯示寫操作錯誤。EtherCAT主站向EtherCAT從站發起讀操作請求,步驟與讀寫型PDO變量相同,此處不再重復介紹。

5 測試

5.1 SPI通信周期測試

筆者設置SPI的時鐘頻率為12.5 MHz,每傳輸1 bit數據需要80 ns時間,每個SPI周期中可傳輸256 bit容量的數據。由此可知,理論上傳輸一個SPI數據幀的時間應為20.48μs,示波器上顯示的實測時間為21μs,如圖7所示。圖7中,A為SPI數據傳輸中的時鐘信號,B為SPI中的RDY信號。

圖7 SPI通信周期測試

5.2 EtherCAT通信PDO變量讀寫操作測試

對于讀寫型變量,選取索引號為0x60E1的PDO變量,其名稱為反轉轉矩限制值,數據長度為16 bit,寫入數值為0xFFFF,如圖8所示。基于TMS320F2809芯片的交流伺服驅動器端手動操作板上顯示為有符號的16 bit十進制數,則對應0xFFFF實際顯示值為-1,如圖9所示。針對讀寫型變量的讀寫操作成功,與設計思路相符。

圖8 讀寫型變量TwinCAT寫入數值

圖9 讀寫型變量手動操作板顯示數值

對于只讀型變量,選取索引號為0x606C的PDO變量,其名稱為實際速度值,數據長度為32 bit。在基于TMS320F2809芯片的交流伺服驅動器端手動操作板上分別設置該變量的高位為十進制數-4,對應0xFFFC;低位為十進制數-7,對應0xFFF9,如圖10所示。在TwinCAT上讀取到該變量的數值為0xFFFCFFF9,如圖11所示。針對只讀型變量的讀操作成功,與設計思路相符。

圖10 只讀型變量手動操作板寫入數值

6 結束語

筆者對EtherCAT主從站技術、EtherCAT協議和從站周期性過程數據通信進行了介紹,設計了DSP+XMC4300芯片的硬件結構,兩塊芯片之間通過SPI進行PDO變量的數據傳輸,并規定了新的SPI協議及數據傳輸中16 bit數據的格式,進而實現了交流伺服驅動器EtherCAT通信功能。對新SPI協議下軟件框架中的讀寫操作流程進行了介紹,給出了通過上位機TwinCAT對讀寫型與只讀型PDO變量進行讀寫操作的具體過程,并通過測試驗證了設計的合理性與正確性。

猜你喜歡
交流
如此交流,太暖!
科教新報(2022年12期)2022-05-23 06:34:16
學習交流
加強交流溝通 相互學習借鑒
今日農業(2021年14期)2021-10-14 08:35:28
學習交流
學習交流
學習交流
學習交流
周櫻 兩岸交流需要更多“對畫”
海峽姐妹(2020年8期)2020-08-25 09:30:18
回眸·交流
遵義(2018年14期)2018-08-06 06:32:18
交流&イベント
主站蜘蛛池模板: 成人中文字幕在线| 大香网伊人久久综合网2020| 欧美在线视频a| 老司机久久99久久精品播放| 波多野吉衣一区二区三区av| 2020亚洲精品无码| 欧美一区二区三区香蕉视| 欧美色香蕉| 国产精品亚洲精品爽爽| 99国产在线视频| 欧美日韩v| 国产一二三区在线| 99资源在线| 美女国内精品自产拍在线播放| 国产激情影院| 国产丝袜丝视频在线观看| 日韩国产精品无码一区二区三区| 在线免费a视频| 亚洲h视频在线| 国产成人综合欧美精品久久| 国产91无码福利在线| 国产超薄肉色丝袜网站| 伊人久久婷婷五月综合97色| AV在线天堂进入| 欧洲欧美人成免费全部视频 | 狠狠操夜夜爽| 国产三级毛片| 亚洲欧美综合在线观看| 亚洲国产高清精品线久久| 国产日韩精品欧美一区喷| 伊人成人在线| 午夜视频在线观看免费网站 | 91毛片网| 亚洲日韩Av中文字幕无码 | 毛片视频网址| 亚洲美女久久| 亚洲黄色成人| 亚洲精品卡2卡3卡4卡5卡区| 国产精品xxx| 亚洲成人一区二区| 国产全黄a一级毛片| 亚洲免费毛片| 国产一级视频在线观看网站| 亚洲天堂视频在线观看| 亚洲综合激情另类专区| 日韩第九页| 亚洲综合一区国产精品| 亚洲永久色| 亚洲中文字幕无码爆乳| 精品视频在线一区| 成年午夜精品久久精品| 亚洲人成网址| 久久免费看片| 91丝袜美腿高跟国产极品老师| 四虎亚洲国产成人久久精品| 美女亚洲一区| 婷婷午夜影院| 538国产在线| 91啦中文字幕| 中文字幕精品一区二区三区视频| 亚洲天堂视频网| 日本午夜影院| 亚洲精品成人片在线观看| 亚洲最新地址| 天天综合网色| a级毛片网| 国产精品久久久久久久久久98| 国产91精品调教在线播放| www.亚洲色图.com| 亚洲人成日本在线观看| 国产成人久久综合777777麻豆| 免费xxxxx在线观看网站| 国产成人精品高清不卡在线 | 亚洲v日韩v欧美在线观看| 新SSS无码手机在线观看| 69视频国产| 91色国产在线| 婷婷99视频精品全部在线观看| 一级毛片a女人刺激视频免费| 青青草国产精品久久久久| 色精品视频| 久草性视频|