Okay, so when running the input and output sections synchronously you feed a master clock into the BeagleBone at one pin. This is then used as a reference and via clock division a bit clock and LR clock are generated internally. When using the BB as a datastreamer it will receiver data from whatever its source is and then clock the data out to these generated clocks. In other words if you were to use the BB to drive a DAC chip directly you would feed the externally provided master clock into both the BB and the DAC chip, you would then feed AFSX and ACLKX from the BB into the DACs corresponding pins and then hook up AXR0 as a data transmit to the data input of the DAC.
When configured as such the receiver module on the BB will be expecting to receive data clocked synchronously to those very same clocks. If you were to add in an ADC then you would simply connect AFSX and ACLKX up to the relevant pins on the ADC, along with the externally provided master clock, configure the ADC as a slave and then hook up the ADCs data output into AXR2 configured as an input.
As you mention though you do need to know if the BB will require you to physically connect the input and output bit and LR clocks together at the pins, or whether it is routed internally for you. On the SigmaDSP chips you have to route it manually yourself as the clock domains cannot be joined up physically.
I don't know why you are going to want to feed data back, or why you eve need to connect a microphone up to this. Realistically speaking the only thing you need the microphone for is for the initial measurements of the system with a suitable program such as ARTA.
If the BB is going to act as a datastreamer itself then it's fairly simple as far as I see it.
You feed the master clock into the BB to act as the high quality source. The BB then uses clock division to generate the necessary clocks which it uses to clock the streamed data out of one of its data ports. You then connect the LR clock, bit clock and data out, that the BB generates, to the input clock domain of the DSP. You then physically connect the LR clock and bit clock to the output clock domain on the DSP and configure both the input and output domains on the DSP as a slave. You disable the internal ASRCs.
After this you feed the reference master clock and the LR clock and bit clock generated by the BB into the DAC chips. You then feed the data out lines from the DSP into the DACs.
Done like this everything will be entirely synchronous to the high quality clocks and clocked data stream from the BB and should be bit perfect and low jitter. This does not require the use of any ASRCs either and is essentially how I would want everything to be configured.
Configured like that you will have to ensure that the sample rate is kept constant on the output of the BB or have the BB detect the outgoing sample rate and update the DSPs filter coefficients based on what sample rate is being used.
Obviously if you are going to be providing a master clock that operates at multiples of 48/96 and 192 kHz then you will require resampling somewhere in software to get 44.1k stuff into something appropriate first.
When configured as such the receiver module on the BB will be expecting to receive data clocked synchronously to those very same clocks. If you were to add in an ADC then you would simply connect AFSX and ACLKX up to the relevant pins on the ADC, along with the externally provided master clock, configure the ADC as a slave and then hook up the ADCs data output into AXR2 configured as an input.
As you mention though you do need to know if the BB will require you to physically connect the input and output bit and LR clocks together at the pins, or whether it is routed internally for you. On the SigmaDSP chips you have to route it manually yourself as the clock domains cannot be joined up physically.
I don't know why you are going to want to feed data back, or why you eve need to connect a microphone up to this. Realistically speaking the only thing you need the microphone for is for the initial measurements of the system with a suitable program such as ARTA.
If the BB is going to act as a datastreamer itself then it's fairly simple as far as I see it.
You feed the master clock into the BB to act as the high quality source. The BB then uses clock division to generate the necessary clocks which it uses to clock the streamed data out of one of its data ports. You then connect the LR clock, bit clock and data out, that the BB generates, to the input clock domain of the DSP. You then physically connect the LR clock and bit clock to the output clock domain on the DSP and configure both the input and output domains on the DSP as a slave. You disable the internal ASRCs.
After this you feed the reference master clock and the LR clock and bit clock generated by the BB into the DAC chips. You then feed the data out lines from the DSP into the DACs.
Done like this everything will be entirely synchronous to the high quality clocks and clocked data stream from the BB and should be bit perfect and low jitter. This does not require the use of any ASRCs either and is essentially how I would want everything to be configured.
Configured like that you will have to ensure that the sample rate is kept constant on the output of the BB or have the BB detect the outgoing sample rate and update the DSPs filter coefficients based on what sample rate is being used.
Obviously if you are going to be providing a master clock that operates at multiples of 48/96 and 192 kHz then you will require resampling somewhere in software to get 44.1k stuff into something appropriate first.
Comment