cancel
Showing results for 
Search instead for 
Did you mean: 

How to access spdifrx_symb_ck

etheory
Senior II

In the reference manual: https://www.st.com/resource/en/reference_manual/rm0468-stm32h723733-stm32h725735-and-stm32h730-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf there is a clock symbol mentioned called: spdifrx_symb_ck which is shown on page 336 to connect to the SAI4 clock signal. However I cannot see ANY way to set this up in STM32CubeIDE.

Can anyone please let me know how to set this up so that the SAI output is sychronized to the SPDIF in?

Thanks.

P.S. which STM32 MCU's have the ability to do this synchronization?

8 REPLIES 8
mattias norlander
ST Employee

I re-tag this thread with MX since more an MX configuration issue. @Khouloud OTHMAN​, do you know?

I thought MX was a completely different tool to STM32CubeIDE? Does STM32CubeIDE use MX internally?

CubeMX is packaged as a plug-in inside CubeIDE.

When you create a project of type STM32Cube, it means that CubeIDE will internally fire up CubeMX to generate an MX-project with toolchain set to CubeIDE...

CubeMX will now be in charge of generation of all c/h files into the project based on your configurations in the ioc-file.

If you create an Empty project type. Then CubeIDE will generate the project, but it will only contains the bare-minimum to boot the MCU and branch to main().

CDT projects type contains even less. It is actually totally empty, only configures the toolchain properly. Then the rest is left to the user.

Hello @etheory​ ,

Please excuse my somewhat late reply.

As mentioned in the STM32H723/733, STM32H725/735 and STM32H730 User Manual, the SPDIFRX block can provide a symbol clock on signal named spdifrx_symb_ck, which can be used as the reference kernel clock for another audio device such as SAI4.

SPDIFRX can be configured through Pinout & Configuration view > Component List:

0693W00000JPRdzQAH.png 

Concerning the selection of spdifrx_symb_ck as the clock source for SAI4, this could be done through Clock Configuration view > SAI4A/B Clock Mux:

0693W00000JPRlZQAX.png 

Hope my reply helps you.

Khouloud.

Thank you @Khouloud OTHMAN​.

Is this really the case?

If you look at the following screen capture from an STM32H730ZBT6 configuration from STM32CubeIDE:

0693W00000JPXVSQA5.pngYou will see that it indicates that the SPDIF input to the SAI4A Clock Mux appears to be sourced from the SPDIFRX1 Clock Mux, and not the spdifrx_symb_ck. Either the GUI is wrong, or your above statement is wrong, I'm not sure which one it is. Could you please clarify?

It is a little confusing for the user that the clock speed is shown as the output of the SPDIFRX1 Clock Mux, rather than a different value to indicate that it's sourced from the spdifrx_symb_ck.

Thanks.

Hello @etheory​ ,

Thanks for your feedback, but unfortunately I can't get your point. Did you mean that the naming SPDIF as an input signal is confusing for users ?

Please correct me if I've missed something.

Actually, and as I've already mentioned, spdifrx_symb_ck is the output signal provided by SPDIFRX block:

0693W00000JPgjsQAD.png 

This output symbol clock on signal named spdifrx_symb_ck, can be used as the clock source for SAI4s (which presented as SPDIF in the SAI4 Clock Mux in STM32CubeMX).

Thus, I see no mismatching between STM32CubeMX clock tree and the  STM32H723/733, STM32H725/735 and STM32H730 User Manual ( spdifrx_symb_ck is the SPDIFRX channel symbol clock digital output = clock that can be selected as kernel peripheral clock for SAI4).

Khouloud.

Thanks @Khouloud OTHMAN​ I appreciate the response.

My point above was that the clock rate when set to spdifrx_symb_ck should be relative to the incoming SPDIFRX data, but in the STM32CubeIDE interface, it is shown as the clock frequency coming out of the SPDIFRX1 Clock Mux.

It would be less confusing for the user, IMO, if the clock rate shown in the SAI4A or SAI4B Clock Mux when set to SPDIF as an input, was a "?" character or similar, to indicate that it was variable. In the current interface, it looks to be something it isn't.

Regards,

Luke

I just came across the same problem, found spdifrx_symb_ck in the ref manual, then played with CubeMX...

@etheory have you managed to get SPDIFRX data out via synced SAI?

If yes, how's the jitter?

With more and more dedicated SPDIF ICs going to EOL, this might be an important feature for us.