Skip to main content
BKies.1
Associate
January 15, 2020
Question

SPDIFRX_FRAME_SYNC not working/configured?

  • January 15, 2020
  • 8 replies
  • 1796 views

Hi all,

when trying to use the SPDIFRX_FRAME_SYNC on a STM32H743 I ran into a problem.

I configure TIM17 as Input capture and set TIM17_TISEL = 1 which should select the SPDIFRX_FRAME_SYNC signal, but the CCR1 register is not updated with the current counter value, when the rising edge of the SPDIFRX_FRAME_SYNC signal would occur.

Looks to me, that it is like the SPDIFRX_FRAME_SYNC signal is not there/toggling.

I could not find a possibility to put the SPDIFRX_FRAME_SYNC signal on a pin to verify it with a scope.

Additionally, my timer seems to be working, bc. when I set TIM17_TISEL to MCO1 (which is configured appropriately), the expected behaviour happens: CCR1 of TIM17 is updated regularly.

Also I presume that the SPDIFRX peripheral is configured corretly, since I can receive valid data by DMA and interrupt. So I think that the SPDIFX component should be synchonized and a valid SPDIFRX_FRAME_SYNC signal should be available.

Looking forward to any pointers and tips.

  • Berni
This topic has been closed for replies.

8 replies

waclawek.jan
Super User
January 16, 2020

This is a user-driven forum, with only casual ST presence, so it's unlikely you will get a relevant answer here.

Please ask directly ST, through the web support form or through a FAE.

Please come back with any results.

Thanks,

JW

BKies.1
BKies.1Author
Associate
January 16, 2020

Will do.

Moreno1
Associate
January 7, 2021

As it seems on newer revs of the STM32H series, the SPDIF_FRAME_SYNC is routed to TIM12, not TIM17. Refer to AN5312 for more details. I'm still trying to figure out how to handle this in my code.

waclawek.jan
Super User
January 8, 2021

> I'm still trying to figure out how to handle this in my code.

Well, this obviously depends on what do you want to accomplish. You can for example use it through an interrupt to detect SPDIF cable insertion.

Anyway, thanks for coming here with this info.

The spdifrx_frame_sync signal disappeared from TIM17_TISEL and appeared in TIM12_TISEL between rev.6 and rev7 of RM0433. IMO this is not correct; RM0433 ought to cover both revisions. Also, rev.7 still contains the TIM17 in the Interconnect chapter, both in Table 90. Peripherals interconnect matrix (D2 domain) and Table 92. Peripherals interconnect matrix details. There's also a discrepancy between the indicated connection, noted as S in Table 90 and as A in table 92.

@Imen DAHMEN​ , can this please be chalked up for correction?

Thanks,

JW

ST Technical Moderator
January 8, 2021

Hi @Community member​ ,

Thank you for reporting these errors and for helping us improve our documentation.

I will report this to the team in charge for correction.

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
waclawek.jan
Super User
January 8, 2021

Thanks, Imen.

JW

waclawek.jan
Super User
January 9, 2021

>>> I'm still trying to figure out how to handle this in my code.

>> Well, this obviously depends on what do you want to accomplish. [...]

 > I meant handling different silicon revs with the same base timer code as you cannot guarantee what the manufacturer will eventually solder to you board.

Ah, sorry for the confusion.

I don't use Cube.

JW