Page 1
WM8960 Audio Board WM8960 Audio Board User Manual OVERVIEW The is WM8960 Audio board uses WM8690 which is a Low consumption, Stereo encoder/decoder. Can be used for portable digital audio applications, like recoding or drive speaker to play. FEATURES High quantity MEMS silicon MIC, for recording without earphone.
WM8960 Audio Board HARDWARE HARDWARE CONNECTION This WM8960 use I2C for controlling, I2S and SAI for Audio communicating. There are 3P pins for choosing MCLK signal, left one is MCLK signal transmitted, and the right one is MCLK signal received.
Page 4
8 bits and the high 7 bits are address and the lowest one is response signal. MSB first. According to Datasheet, registers of WM8960 are 9-bit. Thus, when we send data to it, should split data to two bytes and add the ID of register to recognized before transmitting.
Page 5
WM8960 Audio Board I2S BUS I2S has four signal lines, they are: SCLK, LRCK, SDATA and MCLK. And the first three are most important. For better synchronize with system clock, you can mater device clock, or external clock circuit. Serial clock SCLK is also called as bit clock BCLK, which related to every bit of digital audio.
Page 6
WAV file from SD card, record WAV audio file to SD card. EXAMPLES FOR OPEN429I-C Example 1: Play audio data internal 1. Hardware connection Board: Open429I-C Module required: WM8960 Audio Board You should connect WM8960 module to I2S interface of the Open board Open429I-C 3.3V I2C1_SDA (PB9) I2C1_SCL (PB8) I2S2CLK (PB13)
Page 7
(the internal audio) 3. Expected result: Shorted MCLK and TX on board with jumper, connect WM8960 audio board to Open429 as table above. Connect an earphone or speaker to audio board, then download the example to development board. Audio will be outputted to earphone/speaker.
Page 8
2. Description of files Examples are compiled on MDK-ARM V4, generated by STM32CubeMX ../Src: WM8960.c: Bottom driver of WM8960, mainly provide functions that sending data to chip, initializes chip Play_WAV.c: Provide function that play WAV file from SD card, include read list of WAV files, read audio information of files, play WAV files, handle keys events and so on.
Page 9
1. Hardware connection Board: Open429I-C Modules required: Micro SD Storage Board, SD card, WM8960 Audio Board You should insert SD card to Micro SD Storage Board, then connect the SD board to SDIO interface of Open429. Finally insert Audio board to SAI interface of Open429.
Page 10
WM8960.c: Bottom driver of WM8960, mainly provide functions that sending data to chip, initializes chip. In the top of this file, macros are used to choose record devices (On board mic or earphone mic), in the function of WM8960 initialization, you can uncomment codes to enable functions of bypass output Record_WAV.c: Provide function that record audio and stores to SD card, include...
Page 11
WM8960 Audio Board EXAMPLES FOR OPEN746I-C Example 1: Play audio data internal 4. Hardware connection Board: Open746I-C Module required: WM8960 Audio Board You should connect WM8960 module to I2S interface of the Open board Open746I-C 3.3V I2C1_SDA (PB9) I2C1_SCL (PB8) I2S2_CLK (PB13)
Page 12
(the internal audio) 6. Expected result: Shorted MCLK and TX on board with jumper, connect WM8960 audio board to Open746I-C as table above. Connect an earphone or speaker to audio board, then download the example to development board. Audio will be outputted to earphone/speaker.
Page 13
2. Description of files Examples are compiled on MDK-ARM V4, generated by STM32CubeMX ../Src: WM8960.c: Bottom driver of WM8960, mainly provide functions that sending data to chip, initializes chip Play_WAV.c: Provide function that play WAV file from SD card, include read list of WAV files, read audio information of files, play WAV files, handle keys events and so on.
Page 14
1. Hardware connection Board: Open746I-C Modules required: Micro SD Storage Board, SD card, WM8960 Audio Board You should insert SD card to Micro SD Storage Board, then connect the SD board to SDIO interface of Open746I-C. Finally insert Audio board to SAI interface of Open429.
Page 15
WM8960.c: Bottom driver of WM8960, mainly provide functions that sending data to chip, initializes chip. In the top of this file, macros are used to choose record devices (On board mic or earphone mic), in the function of WM8960 initialization, you can uncomment codes to enable functions of bypass output Record_WAV.c: Provide function that record audio and stores to SD card, include...