LAN9252是Microchip出的EtherCAT Slave Controller (ESC) 晶片,
我使用EVB-LAN9252-SPI開發版,使我的MCU(STM32F103)只需透過SPI與LAN9252通訊,
即可實現EtherCAT 從站的架設。
Microchip有提供LAN9252的SDK,不過想當然爾,該SDK只有Microchip自家的MCU可以使用(PIC系列),所以我的目標就是將該SDK改為STM可以使用。
目前已成功移植並且可以實現PDO的傳輸,不過在TwinCAT CoE - Online的介面使用TwinCAT的Reload Deviece功能時,始終無法進入Online Data,只有在MCU第一次執行的當下可以成功進入Online Data狀態,不過在將網路線重新插拔之後reload,就回到Offline data狀態,而使用Microchip的MCU則不會遇到此情況。
移植的部分只有更改SPI的傳輸方式(把Microchip的function改為STM),以及中斷IO判斷的部分。
想請問版上有沒有相關經驗的大大也有遇到類似的問題可以提供解決辦法。
Source Code : https://github.com/CJ0104/STM32F103_LAN9252_EtherCAT_Slave