Forum Rule: Always post complete source code & details to reproduce any issue!
Page 3 of 3 FirstFirst 1 2 3
Results 51 to 65 of 65

Thread: ADAT white noise on Teensy 4.0

  1. #51
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Ah, I've mixed up something, you've ben talking about the BNC signal, this is exactly the sample rate. So for 44.1kHz, that is a 44.1kHz signal.

    I've measured the E-Mu, wich has 1 V p-p into 75 Ohm, capacitively coupled, unbalanced. High voltage for left sample.

    There is also a studio clock with time code, which is the mentioned AES signal.

    So, to make use of the BNC signal, we'd need some sort of PLL to upvert it to the mclk?

    LRCLK is actually the same as the BNC wordclock, as much as I can see. So the bit clocks need to be derived from that to be in sync and in phase. right?
    Last edited by flashburn; 05-17-2020 at 04:21 PM.

  2. #52
    Thats the one, BNC word clock seemed like a good idea, It is a common way to sync clocks among interfaces in a studio situation.

    Unless I have got behind with the times, most studio audio interfaces don't have an AES out, just ADAT and BNC word clock. afaik AES is common on live setups such as digital mixing consoles to talk to stage boxes and the like.

    Do you know of a suitable PLL to convert the BNC word clock to mclk? We would also need some way of knowing in the software that the signal is being received and the teensy is locked to it.

  3. #53
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    In our studio, it is AES with SMPTE timecode, that also syncs the mixer, the video tape (yes..) and all the other ADAT and MIDI stuff. There is, as said, the BNC signal as well, which is not used.

    Confirmed now with a dual channel scope. LRCLK is actually the same as the BNC wordclock. The left sample is on, while the BNC wordclock is high.
    So the bit clocks need to be derived from that to be in sync and in phase. right?
    Last edited by flashburn; 05-17-2020 at 04:44 PM.

  4. #54
    Fair enough! that doesn't sound like a setup I am familiar with at all.
    From what Frank was saying it sounds like it would be fairly easy to sync a Teensy to that because you can just use spdif in (basically AES as you know) to drive the I2S slave. I don't really want to use up the optical out on my RME but if you make progress let me know it would be cool to use a nicer clock.

  5. #55
    Senior Member vjmuzik's Avatar
    Join Date
    Apr 2017
    Posts
    510
    AES can certainly be used to sync to but it’s not as accurate as a BNC word clock which is still the go to standard. It might be more convenient to just go with AES and not run BNCs since it’s twice the number of cables, but BNC will always be the best since it runs directly to a DAC or ADC.

  6. #56
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Optical fibers for ADAT can be spliced into a Y, to get two same outputs with half light intensity from one, provided it is accurately made. There is usually enough power for this.

    The AES signal is phase coupled and sample exact as well, so there is no such thing like "better" or "not so accurate".

    The BNC signal is just simpler by means of signal complexity, but challenges how to get a bclk or mclk from it. Also, the BNC signal is picky about cables, because if the edges get "washed out" by bad cabling or lacking termination, it turns useless or even worse than having no signal at all.

    So for our purpose at first glance it seems to be easier to use the AES or S/PDIF whatever signal, because is is decoded by S/PDIF input and provides an inherent word clock as well as a bit clock.

    But let's see if we can use the BNC word clock. It seems to be more common in the audio-only world, so this is well worth the effort!

  7. #57
    I am happy either way! If I can slave my teensy to my RME at 48k then I will be on top of the world

  8. #58
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,874
    Looks like it does not use mclk:

    Code:
        // not using MCLK in slave mode - hope that's ok?
        //CORE_PIN23_CONFIG = 3;  // AD_B1_09  ALT3=SAI1_MCLK
        CORE_PIN21_CONFIG = 3;  // AD_B1_11  ALT3=SAI1_RX_BCLK
        CORE_PIN20_CONFIG = 3;  // AD_B1_10  ALT3=SAI1_RX_SYNC 
        IOMUXC_SAI1_RX_BCLK_SELECT_INPUT = 1; // 1=GPIO_AD_B1_11_ALT3, page 868
        IOMUXC_SAI1_RX_SYNC_SELECT_INPUT = 1; // 1=GPIO_AD_B1_10_ALT3, page 872
    So, all what's missing is sync (is above an input as well) - i think that can be generated internally, as in master mode.
    All what we need then is a 48khz clock signal...

  9. #59
    I don't totally follow what you are saying I am afraid Frank!

  10. #60
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,874
    It looks like we need the bitclock only.

  11. #61
    Senior Member vjmuzik's Avatar
    Join Date
    Apr 2017
    Posts
    510
    It's not the bit clock that you need for BNC word clock, you need frame sync which is set in the I2S1_TCR4 register bit zero, from the data sheet:
    Code:
    Frame Sync Direction
    Configures the direction of the frame sync.
    0b - Frame sync is generated externally in Slave mode. 
    1b - Frame sync is generated internally in Master mode.
    Then you just have to configure the correct pin and feed it the word clock signal.

  12. #62
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,874
    Ah.. I see

  13. #63
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Frame sync?

    BNC word clock is the same as LRCLK.

  14. #64
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,874
    That's the same for two channels.

  15. #65
    Senior Member vjmuzik's Avatar
    Join Date
    Apr 2017
    Posts
    510
    Quote Originally Posted by flashburn View Post
    Frame sync?

    BNC word clock is the same as LRCLK.
    It has many names, frame sync is one of them and it’s what the manual uses.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •