Beruflich Dokumente
Kultur Dokumente
LOGO
LOGO
LOGO
LOGO
LOGO
Components Description LPCEB2000-B Processor Board Installed with a Philips ARM processor LPC2292 Two debugging modes are available via JTAG_EN Jumper and ETM_EN Jumper Boot set jumper: can boot from internal flash or external flash by jumper set. Two I/O ports (P0.0-31, P1.0-31) for I/O interface
LOGO
J1, J2, J3, J4 are connectors for external bus interface. J1 and J3 are 40 Pins, J2 and J4 are 20 Pins. J1 and J2 are used to connect the board to applied board, J3 and J4 are used to extend J1 upwards J2
J4
J3
LOGO STA015 Microelectronics MP3 decoder chip An MPEG Layer III audio decoder with ADPCM compression / decompression capabilities and BYPASS mode for auxiliary audio sources post-processing Decodes elementary streams compressed by using low sampling rates Receives the input data through a Serial input Interface The decoded signal can be a stereo, mono, or dual channel digital output. Interfaced to LPC2292 using the I2C and SPI interface pins of Port 0 Equipped with a buffer
LOGO
CS4334 Stereo digital-to-analog output systems including interpolation, 1-bit D/A conversion and output analog filtering in an 8-pin package Adjustment of sample rate between 2 kHz and 100 kHz simply by changing the master clock frequency On-chip digital de-emphasis, operates from a single +5 V power supply, and requires minimal support circuitry Ideal for portable CD players and other portable playback systems Directly connected to the output of STA015 via the IIS interface
LOGO
LCD Display 16 characters, 2 rows LCD module Requires 8-bit ASCII character input and 3 input control signals Use for testing wire-wrapped board is correctly installed
LOGO
Bus Setting - I2C A bi-directional 2-wire bus for efficient inter-IC control There are Serial Data Line (SDA) and Serial Clock Line (SCL) In this lab, we used I2C to configure the STA015.
LOGO
Bus Setting - Data Request We use polling to keep checking the data port (EINT3) When the buffer in STA015 underflow, it will generate a data request signal.
LOGO
LOGO
LOGO
LOGO
Design Flow
System Initialization LCD Initialization I2C Initialization STA015 Initialization SPI Initialization STA015 Data Request Signal (Polling) Play song
LOGO
System Initialization
Set all the port 0 to GPIO ports Set the PLL Clock frequency to 60MHz Code: System_Init() in LCD.c
LOGO
LCD Initialization
Set the LCD data pins By sending command to set the preferences of the LCD display Code: LCD_Init() in LCD.c Related functions: --SendCommand(char cmd); --sendchar(char a); --LCD_output(char *str);
LOGO
I2C Initialization
Code: I2C_Init() in I2C_Test.c Related functions:
--I2C_IRQ_Srv(); --uint8 I2CTest_SendStr(uint8 SlaveAddr, uint8 WrAddr,uint8 *Str,uint8 number); --uint8 I2CTest_RcvStr(uint8 SlaveAddr, uint8 RDAddr,uint8 *Str,uint8 number);
LOGO
STA015 Initialization
LOGO
STA015 Initialization
Code: sta015_init() in sta015.c
LOGO
SPI Initialization
Modify the Clock of SPI Update the spi_set() function Code: SPI_Init() in SPI_Test.c
LOGO
Play song
Download a mp3 file to a particular address through EmbestIDE softwares Run all the initialialzation functions Signal spi to send data Code: Main() in mp3.c
LOGO
LOGO
Testing
Check register $01(IDENT) , return 0xAC if STA015 is presence Using the Oscilloscope -- Checking I2C Clock, I2C Data -- Checking SPI Clock, SPI Data -- Checking 1KHz tone frequency
LOGO
Difficulties Encountered
Unclear concept of STA015 Using wrong Oversampling Ratio Missing Hardware Reset Missing Data Request
LOGO
Conclusion
What we had learnt -- Project Management -- STA015 configuration -- Debugging with Oscilloscope -- Practically understand I2C and SPI data transfer bus
LOGO