JTAG Serial Cable run 1 for Milkymist One

From Qi-Hardware
Revision as of 13:14, 10 February 2011 by Adamwang (Talk | contribs)
Jump to: navigation, search

Contents

Schedule

Item Description Planned Start date Status
KiCad design file, Done
KiCad to BOM KiCad generates lst file Done
KiCad to Digi-Key/Mouser/Sharism boom generates shopping list / Order status All parts get ordered. Done
KiCad to gerber/drill file The process of settings on KiCad Gerber and Drill Files Done
Determine PCB panelized http://en.qi-hardware.com/wiki/File:M1_jtag_panel_run1_illustration_revised.pdf, source. Done
Single gerber-Out to PCB maker check list, pcb maker sent a panel gerber file back Done
KiCad to AI file How to generate KiCad Automatic Insertion File? coordinate files(front /back ) of parts. Done
PCB Back Check Confirm PCB quality, panel top, panel bottom Done
Engineering files to SMT manufacturer BoM/AI/panel gerber/placement top/placement bottom/parts polarity top/released parts' qty information/page 58 of Soldering reflow profile in FT2232HQ-REEL This date prior to SMT date Done
Some photos SMT/Through hole process PCBA is estimated arrival on January 3th, 2011 Within end week of 2010 Done
Tests & Results Done

Some photos

Tests and Results

  • Step1: Make sure the pod connected on a stable +5V[2] supplied by mini-USB cable and its current is good without huge consumptions. See Fig. 3. Finally got one board with D2 failure.
  • Step2: Update Milymist One JTAG/Serial pod firmware

Follow instructions of Update JTAG firmware on Windows[3], use FTDI_Prog tool to update following data:

Vendor ID : 20B7
Product ID : 0713
Manufacturer : Qi Hardware
Product Description : MIlkymist One JTAG/Serial
Port A Hardware : 245 FIFO
Port B Hardware : RS232 UART

The result of Step 2, got one board can not be detected in FTDI_Prog. See pictures below:

  • Step3: Test on Milkymist One board

1, Make sure Milkymist One board power is off.

2, Plug JTAG/Serial pod into Milkymist One board.

3, Plug USB mini-B cable into pod's usb connector.

4, Open a terminal session, type dmesg. There must be two usb devices shown below:

[ 6956.054952] usbcore: registered new interface driver usbserial
[ 6956.055192] USB Serial support registered for generic
[ 6956.055479] usbcore: registered new interface driver usbserial_generic
[ 6956.055482] usbserial: USB Serial Driver core
[ 6956.061052] USB Serial support registered for FTDI USB Serial Device
[ 6956.061755] ftdi_sio 6-1:1.0: FTDI USB Serial Device converter detected
[ 6956.061806] usb 6-1: Detected FT2232H
[ 6956.061809] usb 6-1: Number of endpoints 2
[ 6956.061812] usb 6-1: Endpoint 1 MaxPacketSize 64
[ 6956.061814] usb 6-1: Endpoint 2 MaxPacketSize 64
[ 6956.061816] usb 6-1: Setting MaxPacketSize 64
[ 6956.063218] usb 6-1: FTDI USB Serial Device converter now attached to ttyUSB0
[ 6956.063270] ftdi_sio 6-1:1.1: FTDI USB Serial Device converter detected
[ 6956.063302] usb 6-1: Detected FT2232H
[ 6956.063304] usb 6-1: Number of endpoints 2
[ 6956.063307] usb 6-1: Endpoint 1 MaxPacketSize 64
[ 6956.063309] usb 6-1: Endpoint 2 MaxPacketSize 64
[ 6956.063312] usb 6-1: Setting MaxPacketSize 64
[ 6956.066249] usb 6-1: FTDI USB Serial Device converter now attached to ttyUSB1
[ 6956.066294] usbcore: registered new interface driver ftdi_sio
[ 6956.066296] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver

5, Turn power on the Milkymist One board.

6, Git clone UrJTAG[4] tool, then type jtag. Under this tool, type cable milkymist and detect commands to read Spartan-6 FPGA id back as below. Then this means the connection of JTAG between Milkymist One board and JTAG/Serial pod is well-connected and passed.

root@adam-laptop:/home/adam# jtag
UrJTAG 0.10 #
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors
UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.
jtag.c:518 main() Warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.
jtag> cable milkymist
Connected to libftdi driver.
jtag> detect
IR length: 6
Chain length: 1
Device Id: 00100100000000001000000010010011 (0x24008093)
 Manufacturer: Xilinx (0x093)
 Part(0):      xc6slx45 (0x4008)
 Stepping:     2
 Filename:     /usr/local/share/urjtag/xilinx/xc6slx45/xc6slx45
jtag> quit

7, Use automated test program binary file boot.bin[5] and open another new session of terminal, type following command to wait:

adam@adam-laptop:~/m1_adam/rc2_test$ flterm --port /dev/ttyUSB1 --kernel boot.bin
[FLTERM] Starting...

8, Press SW2 on Milkymist One board, you should see some log messages came from Milkymist One board in automated test program session as below. This means the way RX function from Milkymist One to pod is good and passed. Meanwhile the D3 and D4 LEDs on pods must be flash. Immediately go into automated test program session and press 'Escape' key, if you see boot status stop and BIOS> show up. Means the way TX function from pod to Milkymist One board is also work well and passed. Of course you can still type 'serialboot' enter automated test program.

libHPDMC SDRAM initialization runtime
(c) Copyright 2010 Sebastien Bourdeauducq, released under GNU LGPL version 3.
Version 1.0RC1

Initialization sequence completed.
Autocalibration OK, testing memory...
All SDRAM initialization completed, boot continuing.

VGA: framebuffers at 0x441a33e0 0x443233e0 0x444a33e0
VGA: DDC I2C bus initialized
VGA: mode set to 640x480

MILKYMIST(tm) v1.0RC1 BIOS   http://www.milkymist.org
(c) Copyright 2007, 2008, 2009, 2010 Sebastien Bourdeauducq

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.

I: BIOS CRC passed (7f7b4c54)
BRD: SoC 1.0RC1 on Milkymist One (PCB revision 1)
BRD: Mem. card : Yes
BRD: AC'97     : Yes
BRD: PFPU      : Yes
BRD: TMU       : Yes
BRD: Ethernet  : Yes
BRD: FML meter : Yes
BRD: Video in  : Yes
BRD: MIDI      : Yes
BRD: DMX       : Yes
BRD: IR        : Yes
BRD: USB       : Yes
BRD: Memtester : No
TMU: texture mapping unit initialized
USB: loading Navre firmware
USB: starting host controller
USB: HC: softusb-input v1.0RC1
UKB: USB keyboard connected to console
I: Displaying splash screen...USB: HC: Low speed device on port A
OK
I: MAC address: 10:e2:d5:00:00:24
I: Press Q or ESC to abort boot
I: Aborted boot on user request
BIOS> USB: HC: VID: 046D, PID: C062
USB: HC: Found mouse
serialboot

9, Turn power off on Milkymist One board and plug out USB mini-B cable.

10, Marking a p character on J1 of pod to stand for passed pod.

After Step3 test, there's one pod got jtag mis-function.

Notice: My linux laptop didn't tell if pod is inserted, so entered two commands at my site. Then type 'dmesg', should show USB device messages shown as Step 3's item 4. See how community helped me this, see Qi Hardware IRC log[6] and Milkymist IRC log[7].

root@adam-laptop:/home/adam# rmmod ftdi_sio
root@adam-laptop:/home/adam# modprobe ftdi_sio vendor=0x20b7 product=0x0713
root@adam-laptop:/home/adam# dmesg

Meanwhile recorded my environment here:

root@adam-laptop:/home/adam# uname -a
Linux adam-laptop 2.6.32-27-generic #49-Ubuntu SMP Wed Dec 1 23:52:12 UTC 2010 i686 GNU/Linux

To be fixed/improved

1, Without high speed connection successfully[8].

1-1, An example of detecting a new full speed USB device.

a new full speed USB device>, Measurement on D- line when power up on jtag serial pod(made by Sharism) in zoom-in
[ 9097.820073] usb 5-1: new full speed USB device using uhci_hcd and address 2
[ 9097.963104] usb 5-1: not running at top speed; connect to a high speed hub
[ 9097.994227] usb 5-1: configuration #1 chosen from 1 choice
[ 9098.002301] usb 5-1: Ignoring serial port reserved for JTAG
[ 9098.006252] ftdi_sio 5-1:1.1: FTDI USB Serial Device converter detected
[ 9098.006315] usb 5-1: Detected FT2232H
[ 9098.006321] usb 5-1: Number of endpoints 2
[ 9098.006327] usb 5-1: Endpoint 1 MaxPacketSize 64
[ 9098.006333] usb 5-1: Endpoint 2 MaxPacketSize 64
[ 9098.006338] usb 5-1: Setting MaxPacketSize 64
[ 9098.007555] usb 5-1: FTDI USB Serial Device converter now attached to ttyUSB0


1-2, An example of detecting normally a new high speed USB device.

a Good new high speed USB device found, Measurement on D- line when power up on jtag serial pod(made by Yanjun) in zoom-in. Is it a Packet Sync condition described in Negotiating High Speed? See High Speed Basics.
[ 9152.329069] usb 2-1: new high speed USB device using ehci_hcd and address 6
[ 9152.465653] usb 2-1: configuration #1 chosen from 1 choice
[ 9152.468353] usb 2-1: Ignoring serial port reserved for JTAG
[ 9152.472379] ftdi_sio 2-1:1.1: FTDI USB Serial Device converter detected
[ 9152.472417] usb 2-1: Detected FT2232H
[ 9152.472419] usb 2-1: Number of endpoints 2
[ 9152.472422] usb 2-1: Endpoint 1 MaxPacketSize 512
[ 9152.472425] usb 2-1: Endpoint 2 MaxPacketSize 512
[ 9152.472427] usb 2-1: Setting MaxPacketSize 512
[ 9152.473533] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0


Note: This JTAG/Serial pod is still under debugging...

  • Swapped parts:
U1(Eeprom)- mark: CSIS4N 93C46VI 990043, ATMEL642 93C46 SU27;
U4(regulator) - mark: LE33, LG33;
Crystal(X1) - mark: T120 DWO1, JFVNY 12.000;
C1/C3(33pF, 27pF);
J1(USB connector);

After swapping parts, same result without high speed. I've not swapped FT2232HQ chips, they are mark differently:

U5(FTDI chip) - mark: 0942-B D4JNF.1 FT2232HQ, 1005-B D4JNG.1 FT2232HQ

2, Determine and find suitable height of J5 header on Milkymist One board.

3, SMT/Through holes process: feedbacks to smt vendor about above three failures.

Links

References

  1. FUJI XP-243E
  2. ABM-8303D 30V 3A
  3. Update JTAG firmware on_Windows
  4. http://urjtag.git.sourceforge.net/git/gitweb.cgi?p=urjtag/urjtag;a=summary
  5. Milkymist One test tool
  6. http://en.qi-hardware.com/irclogs/qi-hardware_2011-01-03.log.html
  7. Kernel doesn't tell USB device of Milkymist One JTAG/Serial pod
  8. High Speed Basics
Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export