USB and WiFi JTAG "cable" for FPGA
USB: Simulate a FT2232H Device
WiFi: Act as an XVC server
JTAG: HW SPI master and SPI slave in byte mode shifting, GPIO in bit mode shifting
- High speed shifting, with WiFi speeds up to 5M
- Clock adaptable
HW: ESP32S2 <=> SN74AVC4T774 <=> XC7K480T
- Vivado
- XVC: ✅. Speeds up to 5M
- USB: ❌. Will be ported to ch32v30x
- Gowin (todo)
ESP-IDF in VSCode
Any ESP32 with SPI master and slave controller. The SPI clock is connected through the internal mux.
// esp32_jtag_idf/main/jtag_dev.c
#define PIN_NUM_JTAG_TDI 39
#define PIN_NUM_JTAG_TDO 40
#define PIN_NUM_JTAG_TCK 41
#define PIN_NUM_JTAG_TMS 42// esp32_jtag_idf/main/user_io.c
#define GPIO_NUM_SW2 BOOT_BUTTON_NUM
#define GPIO_NUM_SW3 26
#define GPIO_NUM_SW4 21
#define BUTTON_ACTIVE_LEVEL 0GPIO_NUM_SW2: WiFi configuration
GPIO_NUM_SW3: USB mode
GPIO_NUM_SW4: XVC mode
WS2812
// esp32_jtag_idf/main/user_io.c
#define RMT_LED_STRIP_GPIO_NUM 18Red Blink: Waiting for mode selection
Blue Blink: Waiting for connection in XVC mode
Blue: XVC mode connected
Green: USB mode
- Restart
Red Blink- Press
GPIO_NUM_SW3to enterUSB mode, pressGPIO_NUM_SW4to enterXVC mode
- Restart
Red Blink- Press and hold
GPIO_NUM_SW2, then pressGPIO_NUM_SW4 - Connect to hotspot ESP32_xxxx
- Setup in http://192.168.4.1
AN_201_FT-X MTP Memory Configuration.pdf
AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf
https://github.com/sipeed/RV-Debugger-BL702
esp32-s2_datasheet_cn.pdf
esp32-s2_technical_reference_manual_cn.pdf
