Will do! Looking back at my schematics I see that I had very little understanding of the codec and was very confused haha
The thought of having to hand solder that qfn one more time though.. *shudders*
Will do! Looking back at my schematics I see that I had very little understanding of the codec and was very confused haha
You can use the 4220 in single-ended mode, you just need to tie the unused input (typically the -ve) to VA through a 4u7 and 100n cap. Then feed your signal into the +ve input. You can also just ignore the -ve output and use the positive.sebxx4 wrote: ↑Sat Jul 23, 2022 8:07 am In my case this is Crystal CS4220, but it looks the same as CirrusLogic's one.
Well, at the moment I just fired it up on prototype board so I don't have schematic. I only wanted to check if will it work so it's basicly 4220 datasheet application. FXCore Fs @ 48kHz, all codec's inputs pulled directly to GND, outputs directly to oscilloscope, VD and VA to +5V, VL to +3,3V, XTI to FXCore, DIF0/1 to GND and de-emphasis set to 48kHz.
Btw, I tried with CS4220 bacause I had one at home, but maybe you can recommend me something else? I'm looking for some cheap, easy to buy codec, without differential input.
Code: Select all
andi flags, OUT2OFLO ; IN2OFLO / IN3OFLO / OUT2OFLO / OUT3OFLO
jz acc32, 1
set user0|0, acc32
multri acc32, 0 ; without any instruction here, the assembler returns error: "JZ ACC32 1" - parameter: 1 attempting to jump past end of program.
Something is causing the overflow, if you have a logic analyzer look at the data streams.
This error is correct, you can only jump to an instruction not past the end of code.sebxx4 wrote: ↑Sat Jul 23, 2022 10:59 amCode: Select all
andi flags, OUT2OFLO ; IN2OFLO / IN3OFLO / OUT2OFLO / OUT3OFLO jz acc32, 1 set user0|0, acc32 multri acc32, 0 ; without any instruction here, the assembler returns error: "JZ ACC32 1" - parameter: 1 attempting to jump past end of program.
I also get this error, must have an error in range checking on the andi instruction or error in definition of OUT3OFLO, will look into it next week. Using 0x8000 instead of OUT3OFLO works so use that as a work around for now.