You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by Roberto Bucher <ro...@supsi.ch> on 2022/08/22 12:21:22 UTC

Conflicts with network and PWM on stm32f7 nucleo-144

Hi

I've configured a NUCLEO-F746ZG board with different devices:

  * PWM (TIM3 3xOutput)
  * QE
  * ADC
  * GPIO

CONFIG_PWM=y
CONFIG_STM32F7_PWM_MULTICHAN=y
CONFIG_STM32F7_TIM3_PWM=y

CONFIG_STM32F7_TIM1=y
CONFIG_STM32F7_TIM1_QE=y
CONFIG_STM32F7_TIM2=y
CONFIG_STM32F7_TIM2_ADC=y
CONFIG_STM32F7_TIM3=y
CONFIG_STM32F7_TIM3_CH1OUT=y
CONFIG_STM32F7_TIM3_CH2OUT=y
CONFIG_STM32F7_TIM3_CHANNEL1=y
CONFIG_STM32F7_TIM3_CHANNEL2=y
CONFIG_STM32F7_TIM3_PWM=y

but I have problems when I have PWM and UDP working together in a 
pysimCoder block diagram.

Starting the application, the socket to the UDP is opened , but I don't 
receive signals to the UDP server.

In addition, I can't open the RCP channel to the SIlicon Heaven 
application correctly.

The problem disappears when I remove the PWM block in my diagram...

I've increased all the stacks, but without success.

Any Idea?

Roberto

Re: Conflicts with network and PWM on stm32f7 nucleo-144

Posted by Roberto Bucher <ro...@supsi.ch>.
Today I test the possibility to exchange PA07 and PB05 as described 
here, be removing SB121 and closing SB122 solder bridges on the back of 
the nucleo board.

https://os.mbed.com/teams/ST/wiki/Nucleo-144pins-ethernet-spi-conflict

This an HW patch, but quite simple to be done.

Roberto

On 8/23/22 04:27, Nathan Hartman wrote:
> On Mon, Aug 22, 2022 at 9:14 AM raiden00pl <ra...@gmail.com> wrote:
>
>> Do you use the default TIM3 outputs configuration from
>> nucleo-144/include/board.h ? It uses PA7 as the TIM3 channel 2 output which
>> is also used for RMII_CRS_DV.
>>
>>  From the nucleo 144 user manual:
>>
>>> 2. PA7 is used as D11 and connected to CN7 pin14 by default, if JP6 is
>> ON,
>>> it is also connected to both
>>> Ethernet PHY as RMII_DV and CN9 pin15. In this case only one function of
>>> Ethernet or D11 could be used.
>
>
> I wonder if a compile-time check for this conflict could be added somewhere
> to prevent this kind of impossible pinout assignment from being done again
> in the future?
>
> Cheers
> Nathan
>


Re: Conflicts with network and PWM on stm32f7 nucleo-144

Posted by Nathan Hartman <ha...@gmail.com>.
On Mon, Aug 22, 2022 at 9:14 AM raiden00pl <ra...@gmail.com> wrote:

> Do you use the default TIM3 outputs configuration from
> nucleo-144/include/board.h ? It uses PA7 as the TIM3 channel 2 output which
> is also used for RMII_CRS_DV.
>
> From the nucleo 144 user manual:
>
> > 2. PA7 is used as D11 and connected to CN7 pin14 by default, if JP6 is
> ON,
> > it is also connected to both
> > Ethernet PHY as RMII_DV and CN9 pin15. In this case only one function of
> > Ethernet or D11 could be used.



I wonder if a compile-time check for this conflict could be added somewhere
to prevent this kind of impossible pinout assignment from being done again
in the future?

Cheers
Nathan

Re: Conflicts with network and PWM on stm32f7 nucleo-144

Posted by Roberto Bucher <ro...@supsi.ch>.
This is my configuration:

#define GPIO_TIM3_CH1OUT GPIO_TIM3_CH1OUT_2
#define GPIO_TIM3_CH2OUT GPIO_TIM3_CH2OUT_1
#define GPIO_TIM3_CH3OUT GPIO_TIM3_CH3OUT_1
#define GPIO_TIM3_CH4OUT GPIO_TIM3_CH4OUT_1

PA07 for PWM channel 2 is required by the Arduino Motor Shield, used to 
control an external motor.

I can try to set another channel, and see if the problem disappears.

Thanks

Roberto

On 8/22/22 15:14, raiden00pl wrote:
> Do you use the default TIM3 outputs configuration from
> nucleo-144/include/board.h ? It uses PA7 as the TIM3 channel 2 output which
> is also used for RMII_CRS_DV.
>
>  From the nucleo 144 user manual:
>
>> 2. PA7 is used as D11 and connected to CN7 pin14 by default, if JP6 is ON,
>> it is also connected to both
>> Ethernet PHY as RMII_DV and CN9 pin15. In this case only one function of
>> Ethernet or D11 could be used.
>
>
> pon., 22 sie 2022 o 14:22 Roberto Bucher <ro...@supsi.ch>
> napisał(a):
>
>> Hi
>>
>> I've configured a NUCLEO-F746ZG board with different devices:
>>
>>    * PWM (TIM3 3xOutput)
>>    * QE
>>    * ADC
>>    * GPIO
>>
>> CONFIG_PWM=y
>> CONFIG_STM32F7_PWM_MULTICHAN=y
>> CONFIG_STM32F7_TIM3_PWM=y
>>
>> CONFIG_STM32F7_TIM1=y
>> CONFIG_STM32F7_TIM1_QE=y
>> CONFIG_STM32F7_TIM2=y
>> CONFIG_STM32F7_TIM2_ADC=y
>> CONFIG_STM32F7_TIM3=y
>> CONFIG_STM32F7_TIM3_CH1OUT=y
>> CONFIG_STM32F7_TIM3_CH2OUT=y
>> CONFIG_STM32F7_TIM3_CHANNEL1=y
>> CONFIG_STM32F7_TIM3_CHANNEL2=y
>> CONFIG_STM32F7_TIM3_PWM=y
>>
>> but I have problems when I have PWM and UDP working together in a
>> pysimCoder block diagram.
>>
>> Starting the application, the socket to the UDP is opened , but I don't
>> receive signals to the UDP server.
>>
>> In addition, I can't open the RCP channel to the SIlicon Heaven
>> application correctly.
>>
>> The problem disappears when I remove the PWM block in my diagram...
>>
>> I've increased all the stacks, but without success.
>>
>> Any Idea?
>>
>> Roberto
>>


Re: Conflicts with network and PWM on stm32f7 nucleo-144

Posted by Roberto Bucher <ro...@supsi.ch>.
Exactly! The problem is there. Setting the PWM channel to

#define GPIO_TIM3_CH2OUT GPIO_TIM3_CH2OUT_2

the problem disappears.

I need this PA07 to connect the Arduino Motor Shield (Motor B)...

I check the JP6, perhaps it solves the conflict.

Thanks and best regards

Roberto



On 8/22/22 15:14, raiden00pl wrote:
> Do you use the default TIM3 outputs configuration from
> nucleo-144/include/board.h ? It uses PA7 as the TIM3 channel 2 output which
> is also used for RMII_CRS_DV.
>
>  From the nucleo 144 user manual:
>
>> 2. PA7 is used as D11 and connected to CN7 pin14 by default, if JP6 is ON,
>> it is also connected to both
>> Ethernet PHY as RMII_DV and CN9 pin15. In this case only one function of
>> Ethernet or D11 could be used.
>
>
> pon., 22 sie 2022 o 14:22 Roberto Bucher <ro...@supsi.ch>
> napisał(a):
>
>> Hi
>>
>> I've configured a NUCLEO-F746ZG board with different devices:
>>
>>    * PWM (TIM3 3xOutput)
>>    * QE
>>    * ADC
>>    * GPIO
>>
>> CONFIG_PWM=y
>> CONFIG_STM32F7_PWM_MULTICHAN=y
>> CONFIG_STM32F7_TIM3_PWM=y
>>
>> CONFIG_STM32F7_TIM1=y
>> CONFIG_STM32F7_TIM1_QE=y
>> CONFIG_STM32F7_TIM2=y
>> CONFIG_STM32F7_TIM2_ADC=y
>> CONFIG_STM32F7_TIM3=y
>> CONFIG_STM32F7_TIM3_CH1OUT=y
>> CONFIG_STM32F7_TIM3_CH2OUT=y
>> CONFIG_STM32F7_TIM3_CHANNEL1=y
>> CONFIG_STM32F7_TIM3_CHANNEL2=y
>> CONFIG_STM32F7_TIM3_PWM=y
>>
>> but I have problems when I have PWM and UDP working together in a
>> pysimCoder block diagram.
>>
>> Starting the application, the socket to the UDP is opened , but I don't
>> receive signals to the UDP server.
>>
>> In addition, I can't open the RCP channel to the SIlicon Heaven
>> application correctly.
>>
>> The problem disappears when I remove the PWM block in my diagram...
>>
>> I've increased all the stacks, but without success.
>>
>> Any Idea?
>>
>> Roberto
>>


Re: Conflicts with network and PWM on stm32f7 nucleo-144

Posted by raiden00pl <ra...@gmail.com>.
Do you use the default TIM3 outputs configuration from
nucleo-144/include/board.h ? It uses PA7 as the TIM3 channel 2 output which
is also used for RMII_CRS_DV.

From the nucleo 144 user manual:

> 2. PA7 is used as D11 and connected to CN7 pin14 by default, if JP6 is ON,
> it is also connected to both
> Ethernet PHY as RMII_DV and CN9 pin15. In this case only one function of
> Ethernet or D11 could be used.



pon., 22 sie 2022 o 14:22 Roberto Bucher <ro...@supsi.ch>
napisał(a):

> Hi
>
> I've configured a NUCLEO-F746ZG board with different devices:
>
>   * PWM (TIM3 3xOutput)
>   * QE
>   * ADC
>   * GPIO
>
> CONFIG_PWM=y
> CONFIG_STM32F7_PWM_MULTICHAN=y
> CONFIG_STM32F7_TIM3_PWM=y
>
> CONFIG_STM32F7_TIM1=y
> CONFIG_STM32F7_TIM1_QE=y
> CONFIG_STM32F7_TIM2=y
> CONFIG_STM32F7_TIM2_ADC=y
> CONFIG_STM32F7_TIM3=y
> CONFIG_STM32F7_TIM3_CH1OUT=y
> CONFIG_STM32F7_TIM3_CH2OUT=y
> CONFIG_STM32F7_TIM3_CHANNEL1=y
> CONFIG_STM32F7_TIM3_CHANNEL2=y
> CONFIG_STM32F7_TIM3_PWM=y
>
> but I have problems when I have PWM and UDP working together in a
> pysimCoder block diagram.
>
> Starting the application, the socket to the UDP is opened , but I don't
> receive signals to the UDP server.
>
> In addition, I can't open the RCP channel to the SIlicon Heaven
> application correctly.
>
> The problem disappears when I remove the PWM block in my diagram...
>
> I've increased all the stacks, but without success.
>
> Any Idea?
>
> Roberto
>