JTAG Serial Cable run2 for Milkymist One
From Qi-Hardware
Contents |
Schedule
| Item | Description | Planned Start date | Status |
|---|---|---|---|
| KiCad design file, | Notice: Any derivative work from here, you should completely read all test results and take works yourself. If you found error, please let us know about them. Design tar backed file here. | Done | |
| KiCad to BOM | KiCad generates lst file | Done | |
| KiCad to Digi-Key/Mouser/Sharism | boom generates shopping list / Order status | Done | |
| Single gerber-Out to PCB maker | check list, illustration of panelized pcb, outgoing report | Done | |
| KiCad to AI file | coordinate files(front /back ) of parts. | Done | |
| Engineering files to SMT manufacturer | BoM/AI/panel gerber/placement top/placement bottom/released parts' qty information/page 58 of Soldering reflow profile in FT2232HQ-REEL | Done | |
| [Tests & Results] | Not yet |
Change Notes
- place C27 and C28 away from J6's housing (P/N: Molex 87832-1420) on Milkymist One board when hooking up, see [1]
- lengthen one side of board edge to 1.6mm to let J6's housing on M1 not collide U1's body, U1, R1, R2, R12, R13 are all moved down 1.6mm.
Gerber Overview
Before do below, generate drill with
drill units: inches, zeros format: decimal, drill origin: auxiliary, all other options off/none
The gerber image overview generated by Werner's EDA tool:
adam@adam-laptop:~/extras-m1/jtag-serial/gerber$ /home/adam/eda-tools/fab/drl2gerber usb_jtag.drl > usb_jtag.gbr adam@adam-laptop:~/extras-m1/jtag-serial/gerber$ /home/adam/eda-tools/fab/prettygerbv -d usb_jtag.gbr usb_jtag all jtag_rc2_gerber_overview.png
Be noticed that the final drill file we generated with "suppress leading zeros" for zeros format and send to pcb maker.
Bare Panelized PCB
Manufacturing serial number
- 1107001 ~ 1107200 : YYMM###; YY = 11, means 2011 year; MM = 07, means July; ###, means number; Be noticed that previous run1 (or others), there's hex coded serial number generated by FT_Prog utility for Windows from FTDI [2].
Test tools
1. Build the libftdi-1.0 and compile new ftdi eeprom. [3]
2. Script file for reflash jtag/serial board, [4], [5]
Test Procedures
Step 1:
# cd ftdi_eeprom # lsusb ; get usb device name, for example 002:003 # sudo ./flash_jtag.sh /dev/bus/usb/002/003 1107001 ; vendor_id=0x20b7 product_id=0x0713 self_powered=false remote_wakeup=false chip_type=2232H max_power=90 in_is_isochronous=false out_is_isochronous=false suspend_pull_downs=false use_serial=true change_usb_version=false usb_version=0 manufacturer="Qi Hardware" product="Milkymist One JTAG/Serial" serial="1107001" FTDI eeprom generator v@EEPROM_VERSION_STRING@ (c) Intra2net AG <opensource@intra2net.com> Found device with VID:PID : 0x20B7:0x713 EEPROM size: -1 FTDI erase eeprom: 0 FTDI close: 0 FTDI eeprom generator v@EEPROM_VERSION_STRING@ (c) Intra2net AG <opensource@intra2net.com> Found device with VID:PID : 0x20B7:0x713 EEPROM size: -1 Used eeprom space: 128 bytes FTDI write eeprom: 0 FTDI close: 0
Step 2: 1. unplug jtag and replug
# sudo lsusb -v -d 20b7:0713
Bus 002 Device 006: ID 20b7:0713
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x20b7
idProduct 0x0713
bcdDevice 7.00
iManufacturer 1 Qi Hardware
iProduct 2 Milkymist One JTAG/Serial
iSerial 3 1107001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 55
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 90mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 Milkymist One JTAG/Serial
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 Milkymist One JTAG/Serial
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
Step 3: make sure JTAG daughter board detected as new high speed USB device and attached. Follow Step 3 of http://en.qi-hardware.com/wiki/JTAG_Serial_Cable_run_1_for_Milkymist_One#Tests_and_Results to verify JTAG daughter can work with Milkymist One board.
Previous Schedule
JTAG Serial Cable run 1 for Milkymist One
Links
- Milkymist JTAG-serial daughterboard
- http://www.milkymist.org/wiki/index.php?title=Flashing_the_Milkymist_One
- http://www.milkymist.org/wiki/index.php?title=JTAG
- Files to parts / pcb / smt manufacturer
- Way(IRC logs) to generate Gerber image from Werner Almesberger's EDA tools, see sources of tool.
- RC2 status email to list