iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo
User Guide
Contents
Acronymns in This Document ........................................................................................................................................ 3
3.3.Configuring the MDP Board .......................................................................................................................... 5
3.3.1.Setting Jumpers and Switches ................................................................................................................... 5
4.Programming the Demo ........................................................................................................................................ 7
4.1.Programming the Bitstream to the iCE40 UltraPlus MDP ............................................................................... 7
5.Running the Demo ................................................................................................................................................. 9
5.1.Using Windows Application .......................................................................................................................... 9
Appendix A. Schematic Diagram .................................................................................................................................. 11
Appendix B. Bill of Materials ........................................................................................................................................ 12
Technical Support ....................................................................................................................................................... 13
Revision History .......................................................................................................................................................... 13
Figures
Figure 2.1. iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo Overview ..................................................................... 4
Figure 2.2. iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo Block Diagram .............................................................. 4
Figure 5.1. J30 Section on MDP Board ......................................................................................................................... 10
Figure 5.2. Header to Connect to the Oscilloscope ....................................................................................................... 10
Tables
Table 3.1. Detailed Information of the Board Configuration ........................................................................................... 6
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
I²S (Inter-IC Sound) bus is widely used to communicate Pulse Code Modulation (PCM) audio data between integrated
circuits in an electronic device. The standard I²S protocol, however, is designed to transfer only two channels (LEFT and
RIGHT) on a data line. This limitation can be addressed by using Serial Peripheral Interface (SPI), an interface bus
commonly used to send data between microcontrollers and small peripherals.
The iCE40 UltraPlus™ 6:1 MIC Aggregation over SPI demo addresses a market opportunity to transfer up to six
microphones channels using an SPI bus.
2. Functional Description
2.1. Demo Design Overview
The iCE40 UltraPlus 6:1 MIC Aggregation over SPI demo implements an SPI bus using the iCE40 UltraPlus FPGA. The
demo uses FPGA-B on the primary iCE40 UltraPlus Mobile Development Platform (MDP), plus a daughter board with six
Pulse Density Modulation (PDM) microphones for the input sources. Sound generated by the microphones can be
captured and heard through Windows applications. This version of the the project design uses the Lattice Radiant
Software tool.
Figure 2.1 shows an overview diagram of the iCE40 UltraPlus 6:1 MIC Aggregation over SPI demo.
Figure 2.2 shows the iCE40 UltraPlus 6:1 MIC Aggregation over SPI demo block diagram.
Figure 2.1. iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo Overview
Figure 2.2. iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo Block Diagram
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
The following hardware and software are required to run the iCE40 UltraPlus 6:1 MIC Aggregation over SPI demo.
3.1. Hardware Requirements
iCE40 UltraPlus MDP (PN: iCE40UP5K-MDP-EVN)
8 to 1 Mic Aggregator Board (Daughter Board) (PN: LF-81AGG-EVN)
3.2. Software Requirements
Lattice Radiant 1.0
Radiant Programmer (Version 1.0 or later)
System Solution Platform (SSP)
Note: SSP installer and installation guide are included with this solution under SSP folder. Follow the instructions in the
guide to install this application properly.
3.3. Configuring the MDP Board
3.3.1. Setting Jumpers and Switches
Board reconfiguration is needed before running this demo. Figure 3 highlights (in orange boxes) all switches and
jumpers need to be verified or reconfigured on Mobile Development Platform (MDP) board.
Figure 3.1. iCE40 UltraPlus MDP Configuration
Note: This demo uses FPGA-B.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
Table 3.1 lists the detailed information of these configurations on switches and jumpers.
Table 3.1. Detailed Information of the Board Configuration
Before programming the MDP, perform the following steps:
1. On the iCE40 Ultraplus MDP, install a 0-Ω (0603) resistor at R30 if not yet installed.
2. Connect the 8 to 1 Mic Aggregator Board on top of the MDP board.
Figure 3.2. 8 to 1 Mic Aggregator Board (Daughter Board)
Figure 3.3. iCE40 UltraPlus MDP and 8 to 1 Mic Aggregator Board
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
Right-click on the device and select Device Properties in the context menu.
6. In the Device Properties dialog box, apply the settings as shown in Figure 4.1.
Figure 4.1. Device Properties
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo
User Guide
Target Memory: Set to Compressed Random Access Memory (CRAM).
Port Interface: Set to Slave SPI.
Access Mode: Set to Direct Programming.
Operation: Set to Fast Configuration.
Programming File: Path of the bitstream file for demo.
3. Click OK to exit the Device Properties dialog box.
Click the Program Device button on the main interface to download the bitstream file.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo
User Guide
5. Running the Demo
5.1. Using Windows Application
To run the demo:
1. Load the bitstream into the FPGA-B on the iCE40 UltraPlus MDP.
2. Using Windows Explorer, navigate to the …/SSP folder.
3. Delete the previously run data.txt file.
4. Run the batch file named run_pcm_emu.bat to start capturing audio data on the microphone sensor. A new file
data.txt file is created.
5. Press Ctrl + C to stop the audio capture.
6. Copy the generated data.txt file to the ../tool folder.
7. In the ..tool/ folder, run the pcm_processor.exe file.
This converts the data.txt file into hexadecimal and decimal files for checking. In addition, a wave file is also generated
for audio playback.
Figure 5.1. Running pcm_processor.exe
.
Figure 5.2. Files Generated by Running pcm_processor.exe
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
iCE40 UltraPlus 6:1 MIC Aggregation over SPI Demo
User Guide
5.2. Oscilloscope Connection Points
You can use an oscilloscope to observe signals of the SPI interface. The signals are available at FPGA-B header J30 on
the iCE40 UltraPlus MDP.
Figure 5.1. J30 Section on MDP Board
Figure 5.2. Header to Connect to the Oscilloscope
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
Each microphone requires air hole
Place L\R microphone pairs next to each other
Place 0 ohm resistors close to header
Route CLK Daisy-Chain
Resistors and 100nF Capacitors are 0402 size
10uF Capacitors are 6.3V minimum 0603 size
LEDs are 0603 size
Manufacturer = Wurth Electronics Inc.
PART_NUMBER = 150060YS75000
VDD
2
1
2
4
R50
3
4
6
WS
5
6
NC_AMP
8
7
8
10
9
10
8 to 1 Mic Aggregator Card
8 to 1 Mic Aggregator Card
8 to 1 Mic Aggregator Card
305-PD-17-0490A.0
305-PD-17-0490A.0
305-PD-17-0490A.0
SW1
J13
NPTC052KFMS-RC
2
1
2
4
3
4
6
5
6
8
7
8
10
9
10
of
22Thursday, July 20, 2017
22Thursday, July 20, 2017
22Thursday, July 20, 2017
8 to 1 Mic Aggregator Card
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
For assistance, submit a technical support case at www.latticesemi.com/techsupport.
Revision History
User Guide
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.