﻿/**
  ******************************************************************************
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * Copyright (C) 2021 Shanghai Eastsoft Microelectronics Co., Ltd. ALL rights reserved.
  *******************************************************************************
  */

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->

2023-03-10	V1.00	AE TEAM

<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
本示例功能：PWM/DAC播放音频
音频文件为16KHz，16bit，PWM输出有效精度10bit,DAC输出有效精度12bit

<--------------------------------------------------------------------------------
测试环境:
--------------------------------------------------------------------------------->
测试用板：
ES-PDS-ES32F3696LX-V1.0
微雪音频测试板
ES-PDS-FLASH (可选)

辅助工具：
多功能接口转换工具ES-DAPLink(ES-Bridge)

辅助软件：
ES-DAPLink(ES-Bridge)上位机软件
ECOM串口助手

其他：
若干电阻、电容、面包板
<--------------------------------------------------------------------------------
测试步骤：
--------------------------------------------------------------------------------->
1) 编译工程，编译通过后将程序下载到目标芯片；
2) I2S和I2C接口连接WM8978
3) 复位芯片，或在线调试，运行程序；
4) 能听到声音则测试成功

<--------------------------------------------------------------------------------
注意：
--------------------------------------------------------------------------------->
1) 使用内置的flash存储音频(audio_data.c)，该文件生成方式请参考pwm_dac_adc下的readme
2) 内部有两端音频，其中一段使用ADPCM压缩，另一段无压缩，可比较两段音频的差异
<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
External HOSC[12MHz] divided by 3, then PLL to 72MHz.

<--------------------------------------------------------------------------------
Pin connection: 
--------------------------------------------------------------------------------->
UART2_TX ---- PE2
UART2_RX ---- PE3
PWM      ---- PB6
DAC      ---- PA4
ADC      ---- PC0
SPI_SCK  ---- PD3
SPI_MISO ---- PB4
SPI_MOSI ---- PB5
SPI_CS   ---- PB6