打印
[STM32H5]

【NUCLEO- H563ZI 测评】4.EtherCat移植(一)

[复制链接]
578|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
移植前先把网络调通
EtherCat是基于SOEM的开源主站进行移植,目前我移植的版本是1.3.1。
第一步,网口配置
 MX_ETH_Init();
int32_t status = 0;
void ETHThread_Entry(void *argument)
{
        (void) argument;
        ETH_MACConfigTypeDef MACConf;

        ETH_DMAConfigTypeDef dmaDefaultConf;
        dmaDefaultConf.DMAArbitration = ETH_DMAARBITRATION_RX1_TX1;
        dmaDefaultConf.AddressAlignedBeats = ENABLE;
        dmaDefaultConf.BurstMode = ETH_BURSTLENGTH_FIXED;
        dmaDefaultConf.TxDMABurstLength = ETH_TXDMABURSTLENGTH_32BEAT;
        dmaDefaultConf.RxDMABurstLength = ETH_RXDMABURSTLENGTH_32BEAT;
        dmaDefaultConf.FlushRxPacket = DISABLE;

        dmaDefaultConf.PBLx8Mode = DISABLE;

        dmaDefaultConf.RebuildINCRxBurst = DISABLE;

        dmaDefaultConf.SecondPacketOperate = ENABLE;
        dmaDefaultConf.TCPSegmentation = DISABLE;
        dmaDefaultConf.MaximumSegmentSize = 536;

        /* enable OSF bit to enhance throughput */
        HAL_ETH_SetDMAConfig(ð_handle, &dmaDefaultConf);

        /* Infinite loop */
        nx_eth_phy_init();
        status = nx_eth_phy_get_link_state();
         /* Get MAC Config MAC */
        HAL_ETH_GetMACConfig(ð_handle, &MACConf);
        MACConf.DuplexMode = ETH_FULLDUPLEX_MODE;
        MACConf.Speed = ETH_SPEED_100M;
        HAL_ETH_SetMACConfig(ð_handle, &MACConf);
        HAL_ETH_Start_IT(ð_handle);

        while(1)
        {
                status = nx_eth_phy_get_link_state();
                vTaskDelay(150);
        }
}
/* USER CODE
根据官方给的例程代码,首先将网口初始化,MX_ETH_Init()。
初始化MAC之后最主要的是PHY的初始化。
根据例程的翻阅,只需要调用nx_eth_phy_init();即可。
根据nx_eth_phy_get_link_state()获取的状态进行全双工/半双工,10M/100M/1000M的适配,目前LAN8742只支持100M。
配置MAC后,启动中断。
根据link_state就可查询到是否插入网线。
下一步开始测试MAC收发函数功能和移植SOEM的ETHERCAT。

使用特权

评论回复
沙发
kaif2n9j| | 2024-1-12 16:59 | 只看该作者
EtherCat一般应用于什么场景啊?

使用特权

评论回复
板凳
t1ngus4| | 2024-1-12 17:15 | 只看该作者
其实用lwip是不是也是可以的?

使用特权

评论回复
地板
ex7s4| | 2024-1-12 17:29 | 只看该作者
感觉还不错啊,这个做网络服务器是不是也是没啥问题的?

使用特权

评论回复
5
zhizia4f| | 2024-1-12 18:22 | 只看该作者
期待移植这个EtherCat,想了解一下这个源码能支持什么

使用特权

评论回复
6
y1n9an| | 2024-1-12 19:32 | 只看该作者
配置PHY是不是挺麻烦的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

64

帖子

2

粉丝