I'm trying to understand the clocking on this board ( because I'm trying to design a similar board with slightly different clocking ). I understand the way the Cirrus fractional-n clock generator is driven from the L2 chip with the SYNC_OUT signal. I can also see how the master clock generator frequency is changed in audio.xc depending on whether the sampling rate is a multiple of 48kHz or 44.1kHz, by passing the required master clock frequency to ClockingConfig():
        /* Configure clocking for required master clock */
        ClockingConfig(mClk); 
When I follow this through, ClockingConfig() ( in clocking.xc ) then calls PllMult() to set the multiplier registers in the CS2300:
/* For L2 reference design configure external fractional-n clock multiplier for 300Hz -> mClkFreq */
    PllMult(mClkFreq/300);
This implies that the L2 chip generates a 300Hz signal to the CS2300 ( on SYNC_OUT ). I cannot however see either WHY this is ( i.e. why the "magic number" of 300 ) or indeed WHERE it is generated.
Can anyone assist?
			
			
									
							
		USB Audio MC Clocking
- 
				asibbald
- Member
- Posts: 11
- Joined: Thu Jan 07, 2010 1:56 am
- 
				Ross Verified Verified
- XCore Legend
- Posts: 1310
- Joined: Thu Dec 10, 2009 9:20 pm
- Location: Bristol, UK
Hi there, 
300Hz divides 44100 and 48000 :)
It is generated from the clockgen thread via a timer (this can also base this reference on a digital input stream such as ADAT/SPDIF)
			
			
									
										
						300Hz divides 44100 and 48000 :)
It is generated from the clockgen thread via a timer (this can also base this reference on a digital input stream such as ADAT/SPDIF)
- 
				asibbald
- Member
- Posts: 11
- Joined: Thu Jan 07, 2010 1:56 am
Indeed it does - so the cirrus doesn't need to do fractional-n! I hadn't realised that. Thanks for the clarification.
			
			
									
										
						- 
				namal
- Newbie
- Posts: 1
- Joined: Mon Oct 13, 2014 5:47 am
