Ethercat解析(十四)之初始化流程

一、EtherCAT入口

源代碼執行命令sudo /etc/init.d/ethercat start,將會從文件module.c文件中的ec_init_module函數中開始往下執行初始化流程。

二、初始化大致過程

這裏寫圖片描述

(1) ec_init_module
主要用於生成/dev/EtherCAT設備,並且調用ec_master_init初始化主機相關信息。

ec_master_init()的主要工作內容:

1.設置IDLE模式下數據發送週期;
2.初始化數據包隊列;
3.初始化網絡設備;
4.初始化master主狀態機;
5.初始化參考時鐘數據包;
6.初始化時鐘數據包;
7.初始化對時監測數據包;
8.初始化字符設備,/dev/EtherCAT0;
9.初始化RTDM設備;

(2) IDLE狀態進程
設備打開後,設備調用ec_master_enter_idle_phase,該函數中將啓用ec_master_idle_thread進程

ec_master_idle_thread以設定的週期(send_interval)發送數據包並處理,其流程如下:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章