ICE40HX8K-DRAGON-EVN 数据手册
iCEdragon Demo Board
User’s Guide
November 2012
EB80_01.0
iCEdragon Demo Board
Introduction
Thank you for choosing the iCEdragon™ Demo Board. This board is designed to help you develop hardware solutions based on the Android OS using the iCE40™ ultra-low density FGPA.
To get the latest news, updates and downloadable resources for the iCEdragon Demo Board – including demos
and documentation, visit the Lattice web site at www.latticesemi.com/boards and follow the links to the iCEdragon
Demo Board.
Features
• iCE40-HX8K FPGA in 256-ball caBGA package
• Generous I/O access on PCB
• Six status LEDs
• Two pushbuttons
• USB mini plug
• IR Sensor
• Two IR transmitters
• On/off switch
• 8 Mbit SPI serial configuration PROM
• USB mini cable included
Figure 1. iCEdragon Demo Board
The following items are not included with the iCEdragon Demo Board, but may be required to fully utilize the board
in some situations:
• Programming Cable: Lattice HW-USBN-2A may be used.
• DragonBoard development platform: See below for more details
2
iCEdragon Demo Board
Software Requirements
The following software is available for download from the Lattice web site. Go to: www.latticesemi.com/software
and follow the appropriate links.
• iCEcube2™: For development with the iCE40 FGPA
• Programmer: For programming the iCE40 FPGA with a Lattice programming cable (cable available separately)
In addition, drivers and development software may be required for development with the Andriod OS. Specific
details will depend on the level of development you intend to complete.
DragonBoard
The iCEdragon Demo Board is designed exclusively for use with the DragonBoard development system, available
separately from BSquare. The DragonBoard is a system to aid in development of hardware systems based on the
Android OS. The iCEdragon Demo Board is not designed for stand-alone operation; the DragonBoard development
system is required to both power and program the iCEdragon Demo Board, as well as to run the demonstration(s)
described in this document.
For more information on the DragonBoard kits and options, visit the BSquare website at:
www.bsquare.com/store-products.aspx
iCEdragon Demo Board Default Jumper Settings
Table 1. iCEdragon Demo Board Default Jumper Settings
Jumper
Parameter
Setting
J3
VCCIO0
Set at VCCVAR (the voltage on Bank 0, where IR Tx and Rx parts are connected).
J5
VCCIO1
Set at 1V8. This is the voltage on Bank 1 where the DragonBoard interfaces are wired. Must be set
to 1V8 for compatibility with DragonBoard levels.
J19
PWRSEL
Set at DGN. Indicates the source of power, will be 2.85V from the DragonBoard’s J6 connector for
DragonBoard-related demos. This renders VCCVAR at 2.85V throughout the board.
J14
VCCIO2
Set at VCCVAR so that LEDs can light as required.
J7
VCCIO3
Set at 1.8V. No connections for current demos, set it at the lowest voltage.
Qualcomm IR-I2C Bridge Demo Setup
The iCE40 FPGA on the iCEdragon Demo Board comes pre-programmed with the Qualcomm IR-I2C Bridge Demo
described below. The programming file and source code for this demo can be downloaded from the Lattice website
at www.latticesemi.com/boards (navigate to the iCEdragon Demo Board page).
The Qualcomm IR-I2C Bridge Demo setup consists of the iCEdragon Demo Board which includes an IR-Receiver
interfaced with an iCE40 ultra-low density FPGA. The iCEdragon Demo Board is interfaced with a J6 connector
(Sensor board) of the DragonBoard using I2C and interrupt lines. A Sony RMTD301 is used as the IR-Transmitter.
RS232 and OTG-to-USB connections are made between the DragonBoard and a host PC. These are used for
serial debugging and ADB connectivity, respectively.
A serial log can be seen on a CuteCom graphical serial terminal or any other serial console.
An ADB log can be seen on the terminal by using the command ‘$adb shell’ followed by ‘#logcat’.
3
iCEdragon Demo Board
Figure 2. Qualcomm IR-I2C Bridge Demo Setup
Serial
Debugging
OTG cable
For ADB
Connection
DragonBoard
Power Switch
IR-Transmitter
IR_Scanner
Application
iCEdragon
Demo Board
Interrupt Configuration
1. Identify the GPIO Number
The DragonBoard makes use of ACCIL_IRQ (Pin6) on the J6 connector for interrupt.
As
per
the
schematics
(8060DragonBoard_Schematic_CPU_Carrier_Board_(110311).pdf
and
8060DragonBoard_Schematic_Main_Board_(091611).pdf), the GPIO-57 pin of APQ8060 is connected to the
ACCEL_IRQ pin.
2. Print the IRQ Number
The interrupt number is printed by adding the following lines to the board support package file found in the following path:
..../8060_v3/kernel/arch/arm/mach-msm/board-msm8x60.c
#define GPIO_IRDETECT_IRQ
4
57
iCEdragon Demo Board
Under ‘static void __init msm8x60_dragon_init(void)’ add the following lines:
uint32_t irq;
gpio_request(GPIO_IRDETECT_IRQ, "IR-DETECT");
gpio_export(GPIO_IRDETECT_IRQ, 0);
gpio_direction_input(GPIO_IRDETECT_IRQ);
printk(KERN_EMERG " PRINTING IRQ NUMBER \n");
irq = gpio_to_irq(GPIO_IRDETECT_IRQ);
printk(KERN_EMERG " IRQ NUMBER of GPIO-57 : %d\n", irq);
// REQUEST GPIO 57
// EXPORT GPIO 57
// INPUT DIRECTION GPIO 57
// DEBUG
// GET IRQ NUMBER
// DEBUG
Build the kernel and flash boot.img file onto the DragonBoard as explained in Steps 5 and 7.
The boot log generated during reboot will print the IRQ number as follows:
IRQ NUMBER of GPIO-57 : 313
Note: Modified ‘board-msm8x60.c’ is given with this document and can be found in the following location:
/8060_v3/kernel/arch/arm/mach-msm/board-msm8x60.c
3. Identify I2C Device Lines
The I2C device line registered on the J6 connector is identified from the device file of the DragonBoard:
…./8060_v3/kernel/arch/arm/mach-msm/device-msm8x60.c
It is identified that i2c-5 lines are used on the J6 connector (sensor connector). This device lines are used to
read and write from the iCEdragon Demo Board.
4. Interrupt Handling Driver in Kernel
The interrupt handling driver file ‘I2C_irdetect_dev.c’ and respective modified ‘Makefile’ are provided with this
document. These files exists in the path below:
/8060_v3/kernel/drivers/i2c/
Simply copy the above driver file and Makefile to the following Android kernel path:
…./8060_v3/kernel/drivers/i2c/
Now, proceed to build the kernel as described in the following steps.
5. Build the 8060_V3 Android Kernel for the DragonBoard
a. To clean all the previously-built directories and image files, use the command below:
$mke clean
b. To build the kernel source code, use these commands:
$sudo -s
$cd …./8060_v3/
$./build.sh
5
iCEdragon Demo Board
6. Edit init.rc and Rebuild Kernel
When building the kernel source code for first time after using the ‘$make clean’ command, the default init.rc
file will be created in this location:
…./8060_v3/out/target/product/msm8660_surf/root
Note: A modified init.rc file is provided with this document and can be found in the following path:
/8060_v3/out/target/product/msm8660_surf/root/init.rc
Use the commands below to edit the init.rc file:
$cd …./8060_v3/out/target/product/msm8660_surf/root
$sudo vi init.rc
Add the following lines to the init.rc file:
mount debugfs debugfs /sys/kernel/debug
chmod 0777 /dev/i2c-5
chmod 0777 /sys/kernel/debug/IR_detect
chmod 0777 /system/etc/dbus.conf
chown system system /system/etc/dbus.conf
chown system system /dev/i2c-5
chown system system /sys/kernel/debug/IR_detect
After editing the init.rc file, save it and rebuild the kernel for the changes to take effect in the boot.img file.
Re-build the kernel source code using the commands below:
$sudo -s
$cd …./8060_v3/
$./build.sh
Note: Do not use the ‘$make clean’ command during re-build as this will overwrite to default init.rc file.
Once the build is complete, follow the steps below to flash the boot image to the board.
7. Flash the Boot Image to the DragonBoard
a. Run the command below on the terminal to enter Root Mode:
$sudo -s
b. Reboot the DragonBoard in Fastboot Mode. To do this, hold down button 5 on the keypad during
reboot.
The DragonBoard can be rebooted to Fastboot Mode by pressing the Power button on the board for
few seconds until the power-off option is shown on the touch screen. Now hold down button 5 on keypad and click the Power Off option shown on the touch screen. Hold down button 5 until the reboot is
complete.
Note: Not holding down button 5 on the keypad during reboot will reboot the board with the existing
Android operating system.
c. Verify FastBoot Mode. When the board is in FastBoot Mode mode, the screen is blank. Executing the
command below on the terminal with root permission will list the FastBoot device number and its
name:
$fastboot devices
The board is now ready to be flashed with the boot.img file.
6
iCEdragon Demo Board
d. Type the command below to flash the boot.img file:
$cd …./8060_v3/out/target/product/msm8660_surf/
$fastboot flash boot boot.img
If the boot.img file is installed correctly, you will see the OKAY and FINISH comments.
e. Re-boot the DragonBoard to see the new boot image in effect. The following command will reboot the
board to load the Android operating system:
$fastboot reboot
8. Build the IR_Scanner Application
a. Import the project to your Eclipse workspace.
The IR_Scanner application source is located in path given with this document:
Application/IR_Scanner
Open the Eclipse IDE with the Android SDK and ADT plug-in installed.
Click File > Import > General >Existing Project into the workspace.
Click Next and under the Project Options window, browse to select the above project location under
the root directory. Click Next.
Select the Android 2.3.3 option and click Finish.
The IR_Scanner project is successfully imported into the workspace.
b. Build Java Native Interface files
JNI C files can be found in the following location:
‘Application/IR_Scanner/jni’
Open the file nativeIRDetect.c from above location and edit line 53 to include the path of the Anrdoid
Directory i2c-dev.h file:
#include
To re-build JNI files, enter the following commands:
$cd Application/IR_Scanner/jni
$sudo -s
$ …./android-ndk-r6b/ndk-build
Note: Download android-ndk from http://developer.android.com/sdk/ndk/index.html. This will generate
the source file ‘libnativeIRDetect.so’ under the following path:
'Application/IR_Scanner/libs/armeabi/'
c. Clean and build the IR_Scanner project.
Under the Project tab, click the Clean option, select the IR_Scanner and click OK.
To build the IR_Scanner project, select the project IR_Scanner from the Package Explorer window.
Under the Project tab, click Build Project.
7
iCEdragon Demo Board
9. Install IR_Scanner Application to Android
The IR_Scanner application can be installed onto the DragonBoard by following the steps below.
a. The DragonBoard is powered up and running Android.
b. Select the IR_Scanner project from the Package Explorer window on the left side of the Eclipse IDE.
Click Run > Run as > Android Application. This will create and install the IR_Scanner application on
the board.
The Android package file (apk) can be found in the following location:
'Application/IR_Scanner/bin'
10. Run the Qualcomm IR-I2C Bridge Demo
a. Power off the iCEdragon Demo Board by toggling the switch (sw1) to the OFF state.
b. Power off and Restart the DragonBoard.
c. After the Android boot is complete and the home screen appears, switch on the board by toggling the
switch (sw1) to the ON position.
OFF
ON
iCE-Dragon
Power Switch
(sw1)
Dragonboard
Power Switch
d. On the DragonBoard go to the Android application menu and open the application labled IR_Scanner.
The application logo is shown below.
e. Now the application is ready to detect a key press from the Sony remote (RMTD301).
8
iCEdragon Demo Board
11. Debugging and Troubleshooting in the Kernel and Application
To debug board support files using printk statements, use printk functions with the KERN_EMERG flag.
Example: Printk(KERN_EMERG "MY PRINT LOG\n");
The printk lines can be shown on a serial console.
To enable the Android Debug Log, add the following line in the Android.mk file of your jni directory:
LOCAL_LDLIBS := -llo
Inside JNI ‘C’ code use android_log_print lines in the following format to debug:
#include
#define LOG_TAG "nativeIrdetect"
Example:
__android_log_print(ANDROID_LOG_DEBUG, LOG_TAG,"PRINT LOG \n");
__android_log_print(ANDROID_LOG_INFO, "PRINT VALUE=", "%d\n", value);
The debug lines can be observed on a serial console by using the ‘#logcat’ command.
If the android application does not respond, follow the steps below in the correct sequence:
a. Power off the iCEdragon Demo Board by toggling the switch (sw1) to the OFF position.
b. Close the IR_scanner application process running in the background.
Android menu > Settings > Applications > Manage Applications > IR_Scanner > Force Stop
c. Power-on the board by toggling the switch (sw1) to the ON position.
d. Open the IR_Scanner application from the Android menu and the application is ready to detect any
key press.
Installing the DragonBoard USB Driver in Windows XP
1. Download and install the Android Software Development Kit (SDK).
2. Start the SDK Manager GUI and install the Google USB Driver package mentioned in the Extras subheading.
3. Copy [Android SDK Root]\extras\google\usb_driver to [Android SDK Root]\msm8655-mdp_usb_driver. If there
is no such folder, create a new folder.
4. Open the android_winusb.inf (inside of the newly-created directory) file in Notepad or another non-format
appending text editor. Clear the contents of the[Google.NTx86] and [Google.NTamd64] paragraphs so that they
contain only the following:
[Google.NTx86]
;BSQUARE MDP8655
%SingleAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00
%CompositeAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00
%SingleBootLoaderInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00
(1.0, 31-OCTOBER-2012) Lattice Semiconductor Corporation
8 www.Latticesemi.com
Qualcomm IR-I2C Bridge
[Google.NTamd64]
;BSQUARE MDP8655
%SingleAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00
%CompositeAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00
%SingleBootLoaderInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00
9
iCEdragon Demo Board
5. To find VID number of the connected board, follow these steps:
a. Go to My Computer and right-click Properties.
b. In the System Properties window Go to Hardware > Device Manager.
c. In Device Manager you will find “Android Device”. Expand this and you will find “Android ADB Interface”.
d. In Android ADB Interface right-click and go to Properties > Details. The details tab provides the
Device Instance ID.
e. Copy the VID which is listed between USB\“ ”\.
6. Create and/or open the C:\Documents and Settings\[yourusername]\.android\adb_usb.ini file and make
sure it contains only the hex string 0x05C6 (obtained from the step above).
7. Power on the device and connect it to the development machine. Be sure to point Windows to your newly-created USB driver directory for your MSM8655. If Windows is unable to find the needed driver(s), point the driver
search to the original USB driver located in [Android SDK Root]\extras\google\usb_driver.
Ordering Information
Description
Ordering Part Number
iCEdragon Demo Board
ICE40HX8K-DRAGON-EVN
Lattice USB Programming Cable
HW-USBN-2A
China RoHS Environment-Friendly
Use Period (EFUP)
Technical Support Assistance
Hotline: 1-800-LATTICE (North America)
+1-503-268-8001 (Outside North America)
e-mail:
techsupport@latticesemi.com
Internet: www.latticesemi.com
Revision History
Date
Version
November 2012
01.0
Change Summary
Initial release.
© 2012 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as
listed at www.latticesemi.com/legal. 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.
10
11
A
B
C
D
VCC1V8
GND
OUT
VDD
VCC1V2
VDD
GND
OUT
5
TSOP98200
U2
6
4
2
2
1
3
I_IR2_RX
C10
10u
I_IR1_RX
C17
10u
R1
C5
0.1u
C26
10u
C3
10n
IR RX MODULES
R20
47
VCCIO0
2
1
3
R26
47
VCCIO0
100
C2
1u
VCCIO0
J3
VCCIO0
TSOP34338
U4
5
3
1
VCCVAR
VCC2V5
5
C25
0.1u
C6
10n
C4
10n
C1
10n
1
E8
E7
A13
A3
A8
F8
4
GBIN0_F7 F7
GBIN1_C8 C8
J17
GND
4
GBIN0/PIO0_26
GBIN1/PIO0_25
BANK0
PLLVCC0
PLLGND_0
VCCIO0_01
VCCIO0_02
VCCIO0_03
VCCIO0_04
U1A
iCE40HX8K-CT256
3
PIO0_00
PIO0_01
PIO0_02
PIO0_03
PIO0_04
PIO0_05
PIO0_06
PIO0_07
PIO0_08
PIO0_09
PIO0_10
PIO0_11
PIO0_12
PIO0_13
PIO0_14
PIO0_15
PIO0_16
PIO0_17
PIO0_18
PIO0_19
PIO0_20
PIO0_21
PIO0_22
PIO0_23
PIO0_24
PIO0_27
PIO0_28
PIO0_29
PIO0_30
PIO0_31
PIO0_32
PIO0_33
PIO0_34
PIO0_35
PIO0_36
PIO0_37
PIO0_38
PIO0_39
PIO0_40
PIO0_41
PIO0_42
PIO0_43
PIO0_44
PIO0_45
PIO0_46
PIO0_47
PIO0_48
PIO0_49
PIO0_50
PIO0_51
3
C14
B15
D13
B14
C12
E11
C13
A16
A15
B13
E10
C11
D11
B12
B10
B11
C10
A10
A11
D10
C9
E9
D9
A9
F9
B9
D8
B8
A7
C7
B7
B6
C6
D7
A6
D6
A5
B5
E6
B4
A2
D5
A1
C5
C4
B3
D4
E5
D3
C3
PIO0_47_B3
5V
Q1
2N3904
D7
IRTX1
R32
68
Date:
Size
A
2
Saturday, June 23, 2012
Document Number
102-349r1p1-0612
iCE DRAGON - Bank 0 Connections
J2
Bank 0
O_IR2_TX
PIO0_38_A5
PIO0_36_A6
GBIN0_F7
GBIN1_C8
PIO0_27_B9
PIO0_18_A11
PIO0_09_B13
PIO0_07_A16
VCCIO0
IR EMITTERS
O_IR1_TX
R38
3k9
1
1
1
of
6
Rev
1.1
BANK 1 CONNECTOR
2
4
6
8
10
12
14
16
18
20
R31
3k9
Sheet
D8
IRTX2
R35
68
Q2
2N3904
1
PIO0_47_B3
3
PIO0_39_B5
5
PIO0_30_A7
7
PIO0_32_B7
9
PIO0_23_A9
PIO0_17_A10 11
PIO0_15_B11 13
PIO0_08_A15 15
17
19
VCCVAR
VCCVAR
LATTICE CONFIDENTIAL
Title
I_IR1_RX
I_IR2_RX
PIO0_38_A5
PIO0_39_B5
PIO0_36_A6
PIO0_32_B7
PIO0_30_A7
PIO0_27_B9
PIO0_23_A9
PIO0_17_A10
PIO0_18_A11
PIO0_15_B11
PIO0_07_A16
PIO0_08_A15
PIO0_09_B13
O_IR2_TX
O_IR1_TX
2
A
B
C
D
iCEdragon Demo Board
Appendix A. iCEdragon Demo Board Schematics
Figure 3. Bank 0 Connections
12
A
B
C
D
5V
VCC1V8
5
6
4
2
J1
GND
1
1
3
5
7
9
11
13
15
17
19
4
J9
Bank 1
R18
100
R19
100
PIO1_47_C16
PIO1_40_D16
PIO1_36_F15
GBIN3_H11
GBIN2_H16
PIO1_25_J16
PIO1_20_K15
PIO1_14_M15
R22
10k
VCCIO1
4
GBIN2_H16
GBIN3_H11
BANK 1 CONNECTOR
2
4
6
8
10
12
14
16
18
20
R24
100
C41
C32
C36
C38
C34
C30
10n
0.1u 10n
10n
10n
1u
VCCIO1
J5
VCCIO1
PIO1_49_B16
PIO1_44_D15
PIO1_38_E16
PIO1_34_F16
PIO1_30_G16
PIO1_19_J15
PIO1_21_K16
PIO1_16_L16
5
3
1
VCCVAR
VCC2V5
5
DNP
0
GBIN2/PIO1_28
GBIN3/PIO1_27
BANK1
PIO1_00/TDI
PIO1_01/TMS
PIO1_02/CLK
PIO1_03/TDO
TRST_B
VCCIO1_01
VCCIO1_02
VCCIO1_03
VCCIO1_04
U1B
iCE40HX8K-CT256
LED_SNK
ACC_IRQ
H16
H11
R14
R15
P14
P15
N14
H10
C15
H15
N15
3
R29
R30
PIO1_04
PIO1_05
PIO1_06
PIO1_07
PIO1_08
PIO1_09
PIO1_10
PIO1_11
PIO1_12
PIO1_13
PIO1_14
PIO1_15
PIO1_16
PIO1_17
PIO1_18
PIO1_19
PIO1_20
PIO1_21
PIO1_22
PIO1_23
PIO1_24
PIO1_25
PIO1_26
PIO1_29
PIO1_30
PIO1_31
PIO1_32
PIO1_33
PIO1_34
PIO1_35
PIO1_36
PIO1_37
PIO1_38
PIO1_39
PIO1_40
PIO1_41
PIO1_42
PIO1_43
PIO1_44
PIO1_45
PIO1_46
PIO1_47
PIO1_48
PIO1_49
PIO1_50
PIO1_51
3
GYR_IRQ
COMP_IRQ
ALT_EOC
ALT_RST_N
GYR_IRQ
COMP_IRQ
ALT_EOC
ALT_RST_N
GYR_IRQ
COMP_IRQ
ACC_IRQ
ALT_EOC
ALT_RST_N
GND
IO144_PS_OUT
LED_SNK
G_IRQ
CMP_IRQ
FPGA_IRQ
AEOC
ARST
GND
IO144_PS_OUT
LED_SNK
SNS_SDA
SNS_SCL
Date:
Size
A
RN2
RN1
1
2
3
4
1
2
3
4
iCE DRAGON - Bank 1 Connections
2
Monday, June 25, 2012
Document Number
102-349r1p1-0612
GND
ALS_EN_MSMP
ALS_VOUT
SNS_SDA
SNS_SCL
GND
DNP SENSOR ROUTE: THRU FPGA
8
G_IRQ_F
7
CMP_IRQ_F
6
AEOC_F
5
ARST_F
Sheet
2
1
of
6
Rev
1.1
1V8_DRGN
22 SENSOR ROUTE: DIRECT
8
G_IRQ
7
CMP_IRQ
6
AEOC
5
ARST
1
3
5
7
9
11
13
15
2V85_DRGN
1V8_DRGN
2V85
GND
ALS_EN_MSMP
ALS_VOUT
SDA_FPGA
SCL_FPGA
GND
J6
CONN PCB 8x2 SOCK
1
3
5
7
9
11
13
15
SDA_FPGA
SCL_FPGA
SNS_SDA_F
SNS_SCL_F
1
SENSOR BOARD CONNECTIONS
2
4
6
8
10
12
14
16
2
4
6
8
10
12
14
16
0
0
DNP
DNP
J18
CONN PCB 8x2
R39
R34
R40
R37
LATTICE CONFIDENTIAL
Title
P16
SDA_FPGA
M13
SCL_FPGA
M14 SNS_SDA_F
L12 SNS_SCL_F
N16
CMP_IRQ_F
L13
AEOC_F
L14
FPGA_IRQ
K12
ARST_F
M16
G_IRQ_F
J10
M15
PIO1_14_M15
J11
L16
PIO1_16_L16
K13
K14
J15
PIO1_19_J15
K15
PIO1_20_K15
K16
PIO1_21_K16
J14
J12
J13
J16
PIO1_25_J16
H13
H14
G16
PIO1_30_G16
H12
G15
G10
F16
PIO1_34_F16
G11
F15
PIO1_36_F15
G14
E16
PIO1_38_E16
G13
D16
PIO1_40_D16
G12
F14
F12
D15
PIO1_44_D15
F11
E14
C16
PIO1_47_C16
F13
B16
PIO1_49_B16
E13
D14
2
A
B
C
D
iCEdragon Demo Board
Figure 4. Bank 1 Connections
13
A
B
C
D
J15
GND
C15
0.1u
1
2
4
5
GND
VDD
OUT
1
2
CRST
3
1
R28
10k
CLOCK OSCILLATOR
4
C48
0.1u
GBIN4_K9
GBIN5_R9
CDONE
CDONE
VCCVAR
R17
680
D9
DONE
C49
10u
GBIN5_R9
VCCIO2
R23
SW2
STDBY#
R21
10k
J12
STDBY
100
VCC1V2
J14
VCCIO2
6
4
2
4
C53
C50
C51
C52
C55
C54
10n
1u
0.1u 10n
10n
10n
VCCIO2
U3
ASFLMB-27.000MHZ-LC-T
VCCIO2
VCC1V8
5
3
1
VCCVAR
VCC2V5
5
K9
R9
M10
N11
K11
P13
N8
L8
K8
P3
R13
R8
GBIN4/PIO2_27
GBIN5/PIO2_26
CDONE
CRESET_B
PIO2_44/CBSEL0
PIO2_45/CBSEL1
BANK2
PLLGND_2
PLLVCC2
VCCIO2_01
VCCIO2_02
VCCIO2_03
VCCIO2_04
U1C
iCE40HX8K-CT256
3
3
PIO2_00
PIO2_01
PIO2_02
PIO2_03
PIO2_04
PIO2_05
PIO2_06
PIO2_07
PIO2_08
PIO2_09
PIO2_10
PIO2_11
PIO2_12
PIO2_13
PIO2_14
PIO2_15
PIO2_16
PIO2_17
PIO2_18
PIO2_19
PIO2_20
PIO2_21
PIO2_22
PIO2_23
PIO2_24
PIO2_25
PIO2_28
PIO2_29
PIO2_30
PIO2_31
PIO2_32
PIO2_33
PIO2_34
PIO2_35
PIO2_36
PIO2_37
PIO2_38
PIO2_39
PIO2_40
PIO2_41
PIO2_42
PIO2_43
N6
T1
P4
R2
N5
T2
P5
R3
R5
T3
R4
M7
N7
P6
M8
T5
R6
P8
T6
L9
T7
T8
P7
N9
T9
M9
P9
R10
L10
P10
N10
T10
T11
T15
T14
M11
T13
N12
L11
T16
M12
R16
5V
PIO2_43_R16
PIO2_35_T15
PIO2_38_T13
PIO2_33_T10
GBIN4_K9
PIO2_21_T8
PIO2_20_T7
PIO2_15_T5
PIO2_01_T1
PIO2_03_R2
PIO2_05_T2
PIO2_07_R3
PIO2_09_T3
PIO2_02_P4
D1
LD1
R47
680
VCCIO2
1
3
5
7
9
11
13
15
17
19
D2
LD2
R46
680
Date:
Size
A
Title
2
Saturday, June 23, 2012
Document Number
102-349r1p1-0612
D5
LD5
R43
680
1
D6
LD6
R42
680
VCCIO2
Sheet
3
1
of
6
BANK 2 CONNECTOR
2
4
6
8
10
12
14
16
18
20
PIO2_41_T16
PIO2_36_T14
PIO2_34_T11
PIO2_29_R10
PIO2_24_T9
PIO2_17_P8
PIO2_18_T6
PIO2_09_T3
LED INDICATORS
D4
LD4
R44
680
J13 Bank 2
D3
LD3
R45
680
iCE DRAGON - Bank 2 Connections
LATTICE CONFIDENTIAL
PIO2_43_R16
PIO2_41_T16
PIO2_38_T13
PIO2_33_T10
PIO2_34_T11
PIO2_35_T15
PIO2_36_T14
PIO2_29_R10
PIO2_24_T9
PIO2_20_T7
PIO2_21_T8
PIO2_17_P8
PIO2_18_T6
PIO2_15_T5
PIO2_09_T3
PIO2_07_R3
PIO2_05_T2
PIO2_01_T1
PIO2_02_P4
PIO2_03_R2
2
Rev
1.1
A
B
C
D
iCEdragon Demo Board
Figure 5. Bank 2 Connections
14
A
B
C
D
VCC1V8
5
3
1
VCCVAR
VCC2V5
5
5
DP15A
DP15B
DP12A
DP12B
DP05A
DP05B
DP03A
DP03B
DP00A
DP00B
J7
VCCIO3
6
4
2
R16
Rs
R11
Rs
R8
Rs
R5
Rs
DP15A_K1
R15
Rp
DP15B_K3
DP12A_J5
R12
Rp
DP12B_G1
DP05A_G4
R9
Rp
DP05B_E3
DP03A_F4
R6
Rp
DP03B_D2
DP00A_E4
R3
Rp
DP00B_B2
TERMINATION
R14
Rs
R13
Rs
R10
Rs
R7
Rs
R2
Rs
R4
Rs
4
DP12B
DP13A_J3
C31
C23
C35
C27
C29
C33
10n
1u
0.1u 10n
10n
10n
VCCIO3
4
G1
J3
E1
G6
J6
N1
GBIN7/PIO3_25/DP12B
GBIN6/PIO3_26/DP13A
BANK3
VCCIO3_01
VCCIO3_02
VCCIO3_03
VCCIO3_04
U1D
iCE40HX8K-CT256
3
PIO3_28/DP14A
PIO3_29/DP14B
PIO3_30/DP15A
PIO3_31/DP15B
PIO3_32/DP16A
PIO3_33/DP16B
PIO3_34/DP17A
PIO3_35/DP17B
PIO3_36/DP18A
PIO3_37/DP18B
PIO3_38/DP19A
PIO3_39/DP19B
PIO3_40/DP20A
PIO3_41/DP20B
PIO3_42/DP21A
PIO3_43/DP21B
PIO3_44/DP22A
PIO3_45/DP22B
PIO3_46/DP23A
PIO3_47/DP23B
PIO3_48/DP24A
PIO3_49/DP24B
PIO3_50/DP25A
PIO3_51/DP25B
PIO3_27/DP13B
PIO3_24/DP12A
PIO3_00/DP00A
PIO3_01/DP00B
PIO3_02/DP01A
PIO3_03/DP01B
PIO3_04/DP02A
PIO3_05/DP02B
PIO3_06/DP03A
PIO3_07/DP03B
PIO3_08/DP04A
PIO3_09/DP04B
PIO3_10/DP05A
PIO3_11/DP05B
PIO3_12/DP06A
PIO3_13/DP06B
PIO3_14/DP07A
PIO3_15/DP07B
PIO3_16/DP08A
PIO3_17/DP08B
PIO3_18/DP09A
PIO3_19/DP09B
PIO3_20/DP10A
PIO3_21/DP10B
PIO3_22/DP11A
PIO3_23/DP11B
3
R27
10k
VCCIO3
USRSW
SW3
J16
GND
DP15B_K3
DP14B_J1
DP13B_H1
DP12B_G1
DP05B_E3
DP03B_D2
DP02B_C2
5V DP00B_B2
1
1
3
5
7
9
11
13
15
17
19
2
Saturday, June 23, 2012
Document Number
102-349r1p1-0612
2
4
6
8
10
12
14
16
18
20
DP15A_K1
DP14A_J2
DP13A_J3
DP12A_J5
DP05A_G4
DP03A_F4
DP02A_C1
DP00A_E4
1
VCCIO3
4
1
of
6
Rev
1.1
BANK 3 CONNECTOR
Sheet
J11
Bank 3
iCE DRAGON - Bank 3 Connections
LATTICE CONFIDENTIAL
Date:
Size
A
Title
DP14A_J2
DP14B_J1
DP15A
DP15B
DP13B_H1
J2
J1
K1
K3
L4
L1
K4
M1
L6
L3
K5
M2
L7
N2
M6
M3
L5
N3
P1
M4
P2
M5
R1
N4
DP12A
J5
DP05A
DP05B
DP02A_C1
DP02B_C2
DP03A
DP03B
DP00A
DP00B
H1
E4
B2
F5
B1
C1
C2
F4
D2
G5
D1
G4
E3
H5
E2
G3
F3
H3
F2
H6
F1
H4
G2
J4
H2
2
A
B
C
D
iCEdragon Demo Board
Figure 6. Bank 3 Connections
A
B
C
1
S3
S1
3.3EN
3.3VO
C58
47u
5
4
3
1
R25
680
1.2EN
1.2VO
C21
47u
2V85_DRGN
7
3
6
2 1
5 4
USB5V
2V85_DRGN
5V
1.8EN
1.8VO
VCCVAR
D10
PWR
3
1
5
U7
AP7312-1218W6-7
2.5EN
2.5VO
D11
PMEG2005CT,215
J20
USB PWR
C56
0.1u
USB5V
C45
10u
1
2
6
4
4
2
GND
VIN
3
U5
MIC5320-SJYD6 TR
USB POWER, POWER SELECTOR & SWITCH
S2
S4
L2
100Mhz, 26 ohms
L1
100MHz, 26 ohms
J4
GND
G
5
5V
VCC1V8
C57
C46
47u
0.1u
2V85_DRGN
C20
10u
1
5
VIN
GND
2
5V
4
ID
D
D+
3
C44
0.1u
ON
VCC3V3
3
J19
PWRSEL
SW1
PWR
2V85
8
C47
47u
VCC1V2
LDO REGULATORS
VCCVAR
4
6
3
C22 VCC2V5
0.1u
1
2
3
VCC3V3
C18
C19
47u
0.1u
2
D-
15
5V
5
2
Saturday, June 23, 2012
Document Number
102-349r1p1-0612
iCE DRAGON - Power Supply
LATTICE CONFIDENTIAL
Date:
Size
A
Title
2
Sheet
5
1
1
of
6
Rev
1.1
A
B
C
D
iCEdragon Demo Board
Figure 7. Power Supply
16
A
B
C
D
A12
A4
E15
G7
G8
G9
H7
H8
H9
J7
J8
J9
K2
K7
L15
R7
T12
T4
FLSH_CSn
J10
FST
FLSH_MISO
FLSH_SCK
5
GND_01 VPP_FAST
GND_02
VPP_2V5
GND_03
GND_04
GND_05
GND_06
GND_07
GND_08 POWER
GND_09
GND_10
GND_11
GND_12
GND_13
VCC_01
VCC_02
GND_14
GND_15
VCC_03
GND_16
VCC_04
GND_17
VCC_05
VCC_06
GND_18
1
1
3
5
7
9
A14
F10
F6
K10
K6
L2
D12
E12
SS2
SS3
MISO
SCLK
SS1
2
4
6
8
10
FLSH_CSn
FLSH_MOSI
FLSH_MISO
FLSH_SCK
VCCVAR
FLSH_MOSI
P12
P11
R11
R12
FLSH_CSn
1
3
C24
0.1u
6
4
2
7
R41
10k
VCC1V2
3
2
Saturday, June 23, 2012
Document Number
102-349r1p1-0612
Sheet
iCE DRAGON - Decoupling and SPI Configuration
LATTICE CONFIDENTIAL
Date:
Size
A
Title
2
FLSH_MISO
U6
M25P80
SDO
HOLD
VCC
SCK GND
SDI
CS
WP
VCCVAR
SPI CONFIGURATION / FLASH
FLSH_SCK
FLSH_MOSI 5
R36
10k
R33
10k
8
3
C37
C39
C43
C40
C42
C16
C12 C8
C9
C11
10n
10n
10n
10n
10n
10n 0.1u 0.1u
1u
1u
C7
C28
0.1u
1u
GND1
NC2
NC1
MOSI
GND2
J8
SPI PGM
U1E
C13
iCE40HX8K-CT256
10n N13
PIOS_00/SPI_SO
SPI_VCC
PIOS_01/SPI_SI
PIOS_02/SPI_SCK
SPI
PIOS_03/SPI_SS_B
U1F
iCE40HX8K-CT256
C14
0.1u
VCCVAR
4
4
5
6
1
1
of
6
Rev
1.1
A
B
C
D
iCEdragon Demo Board
Figure 8. Decoupling and SPI Configuration