These are the examples provided for [[/users/frank26080115/libraries/LPC1700CMSIS_Lib/]] Note, the entire "program" is not compilable!
Diff: I2S/I2S_MCLK/abstract.h
- Revision:
- 0:bf7b9fba3924
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/I2S/I2S_MCLK/abstract.h Sun Mar 20 05:38:56 2011 +0000 @@ -0,0 +1,116 @@ + ******************** (C) COPYRIGHT 2010 NXPSemiconductors ******************* + * @file I2S\I2S_MCLK\abstract.txt + * @author NXP MCU SW Application Team + * @version 2.0 + * @date + * @brief Description of the I2S MCLK example. + ****************************************************************************** + * Software that is described herein is for illustrative purposes only + * which provides customers with programming information regarding the + * products. This software is supplied "AS IS" without any warranties. + * NXP Semiconductors assumes no responsibility or liability for the + * use of the software, conveys no license or title under any patent, + * copyright, or mask work right to the product. NXP Semiconductors + * reserves the right to make changes in the software without + * notification. NXP Semiconductors also make no representation or + * warranty that such application will be suitable for the specified + * use without further testing or modification. + ****************************************************************************** + +@Example description: + Purpose: + This example describes how to use I2S master clock as I2S clock source + Process: + I2S setup: + - wordwidth: 16 bits + - stereo mode + - master mode for TX and slave mode for RX + - ws_haftword = 31 + - frequency = 44.1Khz (maximum is 96kHz) + I2S Clock setting: + - Transmitter: + + Select the RX fractional rate divider clock ouput as the source + + Disable 4-wire mode + + Enable TX_MCLK output (this setting is optional, just used to observe + this clock on oscilloscope) + - Receiver: + + Select the TX_MCLK signal as RX_MCLK clock source + + Disable 4-wire mode + + Disable RX_MCLK output + Clock calculate formula: + MCLK = I2S_freq * (bitrate + 1) + bitrate = channel * wordwidth - 1 + Ex: a 48 kHz sample rate for 16-bit stereo data will have master clock: + MCLK = 48K * 16 * 2 = 1.536Mhz + + This example sets I2S receiver use MCLK from I2S transmitter. So we not must have to connect wire + between I2SRX_CLK and I2STX_CLK. + I2S transmit data in interrupt mode. After finished, received and transmited buffer will be verified, + the result will be print out serial display. + + Pls note that because I2S is the protocol for audio data transfer, so sometime it has dummy data + while FIFO transmit is empty. These data are not importance and they can be ignored when verify. + +@Directory contents: + \EWARM: includes EWARM (IAR) project and configuration files + \Keil: includes RVMDK (Keil)project and configuration files + + lpc17xx_libcfg.h: Library configuration file - include needed driver library for this example + makefile: Example's makefile (to build with GNU toolchain) + i2s_mclk.c: Main program + +@How to run: + Hardware configuration: + This example was tested on: + Keil MCB1700 with LPC1768 vers.1 + These jumpers must be configured as following: + - VDDIO: ON + - VDDREGS: ON + - VBUS: ON + - Remain jumpers: OFF + IAR LPC1768 KickStart vers.A + These jumpers must be configured as following: + - PWR_SEL: depend on power source + - DBG_EN : ON + - Remain jumpers: OFF + + I2S connection (uses MCLK share inside): + I2S-RX connects to I2S-TX as following: + - P0.5-I2SRX_WS connects to P0.8-I2STX_WS + - P0.6-I2SRX_SDA connects to p0.9-I2STX_SDA + + Serial display configuration:(e.g: , TeraTerm, Hyperterminal, Flash Magic...) + 115200bps + 8 data bit + No parity + 1 stop bit + No flow control + + Running mode: + This example can run on RAM/ROM mode. + + Note: If want to burn hex file to board by using Flash Magic, these jumpers need + to be connected: + - MCB1700 with LPC1768 ver.1: + + RST: ON + + ISP: ON + - IAR LPC1768 KickStart vers.A: + + RST_E: ON + + ISP_E: ON + + (Please reference "LPC1000 Software Development Toolchain" - chapter 4 "Creating and working with + LPC1000CMSIS project" for more information) + + Step to run: + - Step 1: Build example. + - Step 2: Burn hex file into board (if run on ROM mode) + - Step 3: Connect UART0 on this board to COM port on your computer + - Step 4: Configure hardware and serial display as above instruction + - Step 5: Run example, observe data on serial display + + (Pls see "LPC17xx Example Description" document - chapter "Examples > I2S > I2S_MCLK" + for more details) + +@Tip: + - Open \EWARM\*.eww project file to run example on IAR + - Open \RVMDK\*.uvproj project file to run example on Keil