欢迎您光临五金加工厂,如有问题请及时联系我们。

mco芯片干什么的?如何使用STM32CubeMX配置ETH?

作者:五金加工
文章来源:本站

  

mco芯片干什么的?如何使用STM32CubeMX配置ETH?

  

mco芯片干什么的?如何使用STM32CubeMX配置ETH?

  mco芯片干什么的?

  mco芯片是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCo的身影。

  MCO是microcontroller clock output的缩写,是微控制器时钟输出引脚,在STM32 F1系列中 由PA8复用所得,主要作用是可以对外提供时钟,相当于一个有源晶振。MCO的时钟来源可以是:PLLCLK/2、HSI、HSE、SYSCLK,具体选哪个由时钟配置寄存器CFGR的位26-24:MCO[2:0]决定。

   除了对外提供时钟这个作用之外, 我们还可以通过示波器监控MCO引脚的时钟输出来验证我们的系统时钟配置是否正确。

  如何使用STM32CubeMX配置ETH?

  具体配置过程:

  1、打开STM32CubeMX,并选择好相应的芯片。文中的芯片为STM32F207VCT6,选择后:

  2、配置RCC时钟、ETH、PA8以及使能LWIP;由于此处的开发板硬件上为RMII方式,因此选择ETH-RMII,若有同志的开发板为MII方式,请参考MII的配置方法,此处只针对RMII;RCC选择外部时钟源,另外勾选MCO1,软件会自动将PA8配置为MCO1模式,该引脚对于RMII方式很重要,用于为PHY芯片提供50MHz时钟;使能LWIP;

  3、时钟树的相关配置,必须保证MCO1输出为50Mhz,如果这个频率不对会导致PHY芯片无法工作;这里因为芯片为207VCT6,为了使MCO1输出为50Mhz,做了PLL倍频参数的一些调整,总体如下:

  (同志们配置时可根据自己的芯片灵活配置,但需保证MCO1的输出为50Mhz)

  4、ETH、LWIP、RCC相关参数设置;至此,比较重要的都在前面了,但是还有一点仍需要注意,即PA8引脚输出速度,几次不成功都是因为这个引脚没注意。

  后续的参数设置可以根据同志们自己的需求分别设置,这里给出设置供参考;ETH参数保持默认,但中断勾选一下;

  LWIP参数设置如下:

  (因为这里是配置UDP服务器,IP选择静态分配)

  5、生成工程,做最后的函数修改;给生成的工程添加UDP服务器的初始化以及端口绑定等相关函数;

  这里直接将之前的官方例程中的UDP服务器文件加进来,如下:

  之后将。c文件添加到用户程序,主函数添加Udp的。h头文件;如下:

  (udp文件的具体内容在后面给出)

  6、主函数还需要添加一下几个函数,在这里不对函数作用及实现原理讲解,仅做添加说明。

来源:文章来源于网络,如有侵权请联系我们删除。本文由五金加工编辑,欢迎分享本文,转载请保留出处和链接!