Hello FC community, It looks like our new FCDEV3B V2 boards need a little bit of rework before being sent out to project supporters. It appears that the resistors controlling the gain of the loudspeaker amplifier have been populated incorrectly, causing the loudspeaker output to have a lower amplitude than it should. I got a hold of my contact at Technotronix and scheduled an appointment for this Thursday to look into this issue, and I am hoping that we'll be able to replace the resistors and fix the issue on all of the boards that day.
Background: being a development board, our FCDEV3B is designed to be used on a lab bench, or perhaps for demonstrations at group gatherings and conferences. If I am exercising voice calls in my lab or in a public demo setting, I want the voice downlink to go to a loudspeaker, not an earpiece or headphones, and I want it to be as loud as possible, so it can be heard comfortably as the speaker sits somewhere on the ESD mat next to the board, without me having to hold it up to my ear like a non-loudspeaker phone. This loudspeaker setup is also great for exercising ringtone generation capabilities of TI's DSP in the Calypso. But TI's Iota ABB (the analog part of our baseband chipset) cannot drive a hands-free loudspeaker directly, instead it requires an external amplifier if such a hands-free loudspeaker is desired, hence our FCDEV3B includes that external loudspeaker amplifier circuit copied from TI's Leonardo schematics. The gain of this board-level amplifier is controlled by two pairs of resistors: there is one pair of matched resistors for the input (Ri) and another matched resistor pair for the feedback path (Rf), and the Rf/Ri ratio sets the gain of the amplifier. My current board population instructions call for Ri = 10 kOhm and Rf = 18 kOhm, putting the gain at 1.8. These gain control resistor values have been arrived at empirically during the course of our board bring-up since 2017. The boards in our first batch (serial numbers 001 through 008) had both Ri and Rf populated with 10 kOhm (unity gain), but the speaker output was too quiet, so I looked into it deeper. The maximum Vpp swing on the output of our speaker amplifier is limited by the power supply voltage (each of the two differential legs can only swing between GND and VBAT), and for us this power supply voltage is not strictly defined: the chipset is designed to run on a Li-ion battery that starts out at 4.2 V and runs down until the shut-off threshold, and there are different low voltage shut-off thresholds for different components. As usual, engineering is all about trade-offs and compromises, so I decided to optimize our loudspeaker amplifier gain setting for a 3.6 V power supply. When the amplifier gain is set to 1.8 with my choice of resistor values, the maximum swing of *each leg* of the differential output is right around 3.6 V - this maximum swing is produced when the digital voice output from the Calypso is at full scale and the analog volume control in the ABB is set to 0 dB (maximum volume setting of no attenuation), thus if the power supply voltage is greater than 3.6 V (e.g., a fully charged Li-ion battery at 4.2 V), there still won't be any more than 3.6 V of output swing per leg. On the other hand, if the power supply voltage is lower than 3.6 V (the VRPC block in the Iota ABB allows switch-on at as low as 3.2 V), then you won't be able to drive the loudspeaker at full volume - if you try, it will clip the output waveform as each output leg hits the voltage ceiling. When we assembled our second batch of FCDEV3B V1 boards (serial numbers 009 through 016) in the summer of 2017, I changed the feedback resistors from 10 kOhm to 18 kOhm, producing the just-described 1.8 gain setting, and when I used a good speaker, the sound came out loud and clear. When I ordered the assembly of our current batch of FCDEV3B V2 boards, I asked for the same resistor values (Ri = 10 kOhm, Rf = 18 kOhm), but it looks like someone messed it up. I first noticed that something didn't seem right when my test speaker sounded quieter than I remembered it being, but of course my ears and my wetware memory are not a reliable indicator - so this morning I dusted off my oscilloscope for a more objective check. And sure enough, the Vpp swing on the speaker output header on the new boards is way low. The low Vpp swing I see on the o'scope is consistent with the two resistor values being swapped, so perhaps that is the population error - but in any case, I am taking the entire batch of boards back to Technotronix this Thursday, we will remove the resistors from one board and measure them to see what's going on, and hopefully fix all of the boards that same day. Hasta la Victoria, Siempre, Mychaela aka The Mother _______________________________________________ Community mailing list Community@freecalypso.org https://www.freecalypso.org/mailman/listinfo/community