Synchronized DSD(PDM) Playback with Flexcomm I2S

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Synchronized DSD(PDM) Playback with Flexcomm I2S

458 Views
nonameC_
Contributor I

I planned to use LPC5528 to implement a Hi-Fi USB audio interface. For such application, so-called "DSD Native" output is needed. 

Basically, It's two Synchronized PDM audio output DSDA/DSDB, with a bitclock similar to I2S SCK. 

As the reference manual said, LPC5528 has a feature called I2S signal sharing, which allows different Flexcomm I2S interface to share the same SCK/WS/DATAIN, etc.

If I configure two Flexcomm interface as I2S Tx, set one of them as master and let them share the same SCK, are they perfectly synchronized, which could meet the timing requirement of DSD audio interface?

tips: Typical timing requirement of DSD audio interface could be found on CS43198 Datasheet , page 23.

Labels (5)
0 Kudos
Reply
1 Reply

403 Views
Habib_MS
NXP Employee
NXP Employee

Hello @nonameC_,

Is possible, you can use Chapter 35.3 called “Basic Configuration,” in the RM as a guide for configuring this feature. However, please keep the following note in mind:

    Note: Signal sharing connections are made as register values are changed, without
    synchronization, and so should be done prior to the start of data streams.

To keep both modules synchronized, you can follow the suggestion mentioned in this post, which uses the DATAPAUSE mechanism for this purpose.

Also, please keep in mind the dynamic limitations of the I2S peripheral, which are described in Section 11.10 of the datasheet.


Please let me know if you have any further questions.

BR
Habib

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2317314%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ESynchronized%20DSD(PDM)%20Playback%20with%20Flexcomm%20I2S%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2317314%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20planned%20to%20use%20LPC5528%20to%20implement%20a%20Hi-Fi%20USB%20audio%20interface.%20For%20such%20application%2C%20so-called%20%22DSD%20Native%22%20output%20is%20needed.%26nbsp%3B%3C%2FP%3E%3CP%3EBasically%2C%20It's%20two%20Synchronized%20PDM%20audio%20output%20DSDA%2FDSDB%2C%20with%20a%20bitclock%20similar%20to%20I2S%20SCK.%26nbsp%3B%3C%2FP%3E%3CP%3EAs%20the%20reference%20manual%20said%2C%20LPC5528%20has%20a%20feature%20called%20I2S%20signal%20sharing%2C%20which%20allows%20different%20Flexcomm%20I2S%20interface%20to%20share%20the%20same%20SCK%2FWS%2FDATAIN%2C%20etc.%3C%2FP%3E%3CP%3EIf%20I%20configure%20two%20Flexcomm%20interface%20as%20I2S%20Tx%2C%20set%20one%20of%20them%20as%20master%20and%20let%20them%20share%20the%20same%20SCK%2C%20are%20they%20perfectly%20synchronized%2C%20which%20could%20meet%20the%20timing%20requirement%20of%20DSD%20audio%20interface%3F%3C%2FP%3E%3CP%3Etips%3A%20Typical%20timing%20requirement%20of%20DSD%20audio%20interface%20could%20be%20found%20on%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fstatics.cirrus.com%2Fpubs%2FproDatasheet%2FCS43198_DS1156F2.pdf%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3ECS43198%20Datasheet%3C%2FA%3E%26nbsp%3B%2C%20page%2023.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2317314%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EGeneral%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPC55xx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EPeripherals%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EUSB%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E4%B8%AD%E5%9B%BD%E7%94%A8%E6%88%B7%E8%AE%BA%E5%9D%9B%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319243%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Synchronized%20DSD(PDM)%20Playback%20with%20Flexcomm%20I2S%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319243%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256703%22%20target%3D%22_blank%22%3E%40nonameC_%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EIs%20possible%2C%20you%20can%20use%20Chapter%2035.3%20called%20%E2%80%9CBasic%20Configuration%2C%E2%80%9D%20in%20the%20RM%20as%20a%20guide%20for%20configuring%20this%20feature.%20However%2C%20please%20keep%20the%20following%20note%20in%20mind%3A%3C%2FP%3E%0A%3CP%3E%3CEM%3E%26nbsp%3B%20%26nbsp%3B%20Note%3A%20Signal%20sharing%20connections%20are%20made%20as%20register%20values%20are%20changed%2C%20without%20%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%26nbsp%3B%20%26nbsp%3B%20synchronization%2C%20and%20so%20should%20be%20done%20prior%20to%20the%20start%20of%20data%20streams.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FEM%3ETo%20keep%20both%20modules%20synchronized%2C%20you%20can%20follow%20the%20suggestion%20mentioned%20in%20this%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FLPC-Microcontrollers%2FLPC55xx-and-Multi-channel-Audio%2Fm-p%2F1273840%22%20target%3D%22_self%22%3Epost%3C%2FA%3E%2C%20which%20uses%20the%20DATAPAUSE%20mechanism%20for%20this%20purpose.%3C%2FP%3E%0A%3CP%3EAlso%2C%20please%20keep%20in%20mind%20the%20dynamic%20limitations%20of%20the%20I2S%20peripheral%2C%20which%20are%20described%20in%20Section%2011.10%20of%20the%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fnxp%2Fdata-sheets%2FLPC55S2x_LPC552x.pdf%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Edatasheet%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3EPlease%20let%20me%20know%20if%20you%20have%20any%20further%20questions.%3C%2FP%3E%0A%3CP%3EBR%3CBR%20%2F%3EHabib%3C%2FP%3E%3C%2FLINGO-BODY%3E