In addition to the possibility to attenuate the input signal from the included 3.5mm JACK connector, AudioAMP 4 click can use analog voltage as the amplifier input, derived from the PWM signal at the mikroBUS™ PWM pin. This allows the MCU software to generate custom waveforms, by simply changing the duty cycle of the PWM signal. Features such as the flat audio characteristic, low THD and noise levels over the entire range of the audio spectrum, digital volume control, power supply from the mikroBUS™ 5V rail, make this Click board™ a perfect solution for rapid development of applications, when a quick and simple low-power audio signal reinforcement is required.
How does it work?
There are two integrated circuits on the AudioAMP 4 click: the LM4860, a Boomer® series 1W audio power amplifier with shutdown mode; CD74HC4051, a high-speed CMOS logic analog mux/demux IC, both from Texas Instruments. The LM4860 is used as the main audio amplifier component. This IC features a high level of integration, reducing the number of external components to a minimum. It does not require any output capacitors, bootstrap capacitors, or snubber circuits, which makes the design very simple and straightforward.
Besides other functions, the IC features the Shutdown mode, activated by a HIGH logic level on a dedicated SHUTDOWN pin. Therefore, to enable the amplifier, this pin must be set to a LOW logic level. However, AudioAmp 4 click already has a pull-down resistor, so the audio amplifier IC is enabled by default. The SHUTDOWN pin is routed to the CS pin of the mikroBUS™ and it is labeled as EN. While in Shutdown mode, the power consumption is minimized, which is very useful for applications that rely on a battery power supply. The Shutdown mode pin is also routed to the #E pin of the CD74HC4051, simultaneously disabling this IC as well.
The audio signal can be connected via the 3.5mm JACK connector. By default, this signal is connected to one side of the voltage divider, composed of eight resistors. The other end of the voltage divider is tied to the GND, while the middle tap of the voltage divider can be selected by activating any of the 8 available positions of the CD74HC4051 IC. The CD74HC4051 IC uses three control pins, allowing its internal analog SP8T switch to be closed between any of the eight I/O pins (A0 to A7), and one common I/O pin. The audio signal goes through this divider, gets divided by the ratio selected with the control pins, and into the audio input of the LM4860 audio amp IC. This results in having eight discrete volume levels, which can be digitally selected by S0 to S3 control pins routed to the mikroBUS™.
AudioAmp 4 click is equipped with the SMD jumper, labeled as IN SEL. This jumper allows to select the output from the RC filter, which filters out the PWM signal from the mikroBUS™ PWM pin, creating a DC signal of constant voltage. By changing the pulse width of the PWM signal, the voltage output of the RC filter will change. If the IN SEL switch is moved to the PWM position, this signal will be introduced into the voltage divider, instead of the audio signal from the 3.5mm JACK connector. It can be used to generate custom waveforms by the software running on the host MCU.
Three control pins of the CD74HC4051 labeled as S0, S1, and S2, are routed to the mikroBUS™ pins AN, RST, and INT, respectively, labeled according to the names of the control pins. These pins accept logic HIGH and LOW levels from the host MCU, so the CD74HC4051 can be controlled using a binary format on the control pins.
The Click board™ uses only 5V rail from the mikroBUS™ and as such it should not be interfaced with MCUs that have only 3.3V tolerant pins. The complete control of the IC is done exclusively by GPIO pins of the MCU, so the software development complexity is reduced to a minimum. However, the click comes with the mikroSDK compliant library, offering a simple usage example and functions for the rapid development of applications.
Specifications
Type
Amplifier
Applications
It can be used in various low power audio systems, home stereo components, computer speakers, and many other similar audio applications that require an audio amplification with the digitally controlled volume level
On-board modules
LM4860M, a Boomer® series 1W audio power amplifier with shutdown mode; CD74HC4051, a high-speed CMOS logic analog mux/demux IC, both from Texas Instruments
Key Features
High quality audio output up to 1W of continuous power, good frequency response, low THD and SNR, it can be directly implemented into the existing stereo system, digital volume control.
Interface
GPIO,PWM
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
5V
Pinout diagram
This table shows how the pinout on AudioAmp 4 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED indicator |
JP1 | IN SEL | Left | Input signal source selection: left position 3.5mm JACK, right position PWM pin of the mikroBUS™ |
Software support
We provide a library for the AudioAmp 4 Click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library performs a audio control and works as audio amplifier. Possible commands are to turn ON or OFF the output (speaker) and to set the output volume by selecting the desired channel. For more details check documentation.
Key functions:
T_AUDIOAMP4_RETVAL audioamp4_setChannel( uint8_t channel )
– Function performs a volume channel selection.T_AUDIOAMP4_RETVAL audioamp4_shutdown( uint8_t state )
– Function turns shutdown to ON or OFF state.
Examples description
The application is composed of the three sections :
- System Initialization – Initializes peripherals and pins.
- Application Initialization – Initializes GPIO interface, turns shutdown OFF and performs a volume channel 3 selection.
- Application Task – (code snippet) – Checks which command is sent from uart and performs a determined command. Note : Possible commands are:
- Shutdown OFF
- Shutdown ON l Legend 0-7 Volume channel selection
void applicationTask() { rxDat = UART_Rdy_Ptr(); if (rxDat != _NO_RECEIVED_DATA) { rxDat = UART_Rd_Ptr(); if (rxDat == '+') { audioamp4_shutdown( _AUDIOAMP4_SHUTDOWN_OFF ); mikrobus_logWrite( "* Shutdown OFF *", _LOG_LINE ); } else if (rxDat == '-') { audioamp4_shutdown( _AUDIOAMP4_SHUTDOWN_ON ); mikrobus_logWrite( "* Shutdown ON *", _LOG_LINE ); } else if (rxDat == 'l') { writeLegend(); } else { channSel = rxDat - '0'; responseCheck = audioamp4_setChannel( channSel ); checkResponse(); } } }
Additional Functions :
- void checkResponse() – Checks is channel selection parametar valid or not.
- void writeLegend() – Writes the all possible commands on uart.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
UART
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.