FPGA設(shè)計(jì)EtherCAT主站的方法和常見問題
作者從事EtherCAT等實(shí)時(shí)工業(yè)網(wǎng)絡(luò)及運(yùn)控產(chǎn)品的開發(fā)多年?;贔PGA的EtherCAT主站,是不少公司的明智選擇。無論是實(shí)時(shí)性,靈活性,還是性價(jià)比均可有很好的保證。
一、基于FPGA的EtherCAT主站的設(shè)計(jì)方法
FPGA模塊主要分為五部分:初始化、狀態(tài)機(jī)、PDO、SDO、同步。
1)初始化模塊
初始化主要工作是搜集網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、搜集各個(gè)節(jié)點(diǎn)的信息內(nèi)容、初始化各個(gè)節(jié)點(diǎn)的時(shí)間系統(tǒng)與初始同步。
2)狀態(tài)機(jī)模塊
該模塊主要實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)的狀態(tài)機(jī)轉(zhuǎn)化。
INIT->預(yù)運(yùn)行->安全運(yùn)行->運(yùn)行
該模塊實(shí)現(xiàn)PDO數(shù)據(jù)的準(zhǔn)備、發(fā)送、接收。
4)SDO模塊
該模塊實(shí)現(xiàn)SDO數(shù)據(jù)的準(zhǔn)備、發(fā)送、接收。
5)同步
該模塊實(shí)現(xiàn)動(dòng)態(tài)時(shí)間同步。
將以上五個(gè)模塊設(shè)計(jì)完成,加上與ARM/DSP/CPU通信的通信接口,以及與運(yùn)控相關(guān)的模塊(模擬量、IO、手輪等),即可實(shí)現(xiàn)整個(gè)設(shè)計(jì)。
二、基于FPGA的EtherCAT主站的常見問題
1)初始化模塊中,訪問節(jié)點(diǎn)EEPROM的方式理解比較繞
2)狀態(tài)機(jī)轉(zhuǎn)移中,出現(xiàn)轉(zhuǎn)移不成功,記得讀取節(jié)點(diǎn)0x134寄存器,查看錯(cuò)誤代碼,根據(jù)錯(cuò)誤代碼來查看具體不能轉(zhuǎn)移成功的原因。
這里,會(huì)出現(xiàn)林林總總的原因,只要對(duì)照手冊(cè),基本都能解決。
這里,也是整個(gè)主站設(shè)計(jì)中,比較耗時(shí)間的問題之一。
3)PDO模塊中,部分廠家對(duì)設(shè)置尋址和邏輯尋址有特殊要求,需要注意。
4)SDO模塊中,部分廠家支持FMMU來進(jìn)行數(shù)據(jù)訪問,部分廠家僅支持寄存器來進(jìn)行數(shù)據(jù)訪問。
5)同步模塊中,出現(xiàn)從站之間的同步問題,主站和從站之間的同步問題,出現(xiàn)產(chǎn)品應(yīng)用與主站之間的同步問題。
關(guān)于同步算法,也是最耗時(shí)間的問題。
關(guān)于同步方案,可以以FPGA主站作為同步源,也可以以第一個(gè)伺服作為同步源;后者難度高點(diǎn),但作者經(jīng)歷前者的產(chǎn)品應(yīng)用多一些。
三、EtherCAT主站方案的比較
開發(fā)時(shí)間層面:基于ARM的開源linux主站最優(yōu),基于ARM FPGA的主站次之
產(chǎn)品成本層面:基于FPGA的主站最優(yōu),基于ARM的開源linux主站次之
產(chǎn)品性能層面:基于FPGA的主站最優(yōu),基于ARM FPGA的主站次之
END
本文由21ic論壇feihufuture原創(chuàng)撰寫
▍