CH347T USB 2.0 High-Speed UART SPI I2C JTAG Programlama ve Debug Kartı
Yeni

CH347T USB 2.0 High-Speed UART SPI I2C JTAG Programlama ve Debug Kartı

CH347T tabanlı çok protokollü USB köprü kartı; UART, SPI, I2C ve JTAG bağlantılarını bilgisayar üzerinden kullanarak elektronik devrelerin programlanması, test edilmesi ve hata ayıklanması için geliştirilmiştir. USB Type-C bağlantısı, 3.3 V lojik seviyesi ve USB 2.0 High-Speed desteğiyle gömülü sistem geliştirme ve servis uygulamalarına uygundur.
454,10 ₺
Stok Kodu
sk1984
Fiyat
8,00 USD + KDV
Havale
440,48 TL (%3,00 havale indirimi)

CH347T USB 2.0 High-Speed UART SPI I2C JTAG Programlama ve Debug Kartı

CH347T Board, bilgisayarın USB portunu elektronik geliştirme sırasında kullanılan UART, SPI, I2C ve JTAG arayüzlerine dönüştüren çok amaçlı, yüksek hızlı bir USB köprü kartıdır. Örneğin tek bir kartla bir mikrodenetleyicinin seri port kayıtlarını okuyabilir, I2C sensör veya EEPROM ile haberleşebilir, SPI Flash belleğin kimlik bilgisini okuyup programlayabilir ya da JTAG üzerinden MCU, DSP, FPGA ve CPLD hedeflerinde hata ayıklama yapabilirsiniz. Bu nedenle yalnızca bir USB - seri dönüştürücü değil; laboratuvar, üretim, servis, tersine mühendislik ve gömülü sistem geliştirme çalışmalarında farklı protokoller için tekrar kullanılabilen bir test ve programlama aracıdır.

Kartın merkezinde WCH tarafından geliştirilen CH347T bulunur. CH347T, bilgisayara USB 2.0 High-Speed, yani 480 Mbit/s USB veri yolu üzerinden bağlanır. Bu değer her protokolün 480 Mbit/s hızında çalıştığı anlamına gelmez; UART, SPI, I2C ve JTAG kendi saat ve protokol sınırlarına sahiptir. Yüksek hızlı USB bağlantısı özellikle büyük SPI aktarımlarında, JTAG işlemlerinde ve sık komut alışverişinde Full-Speed sınıfındaki eski dönüştürücülere göre daha elverişli bir taşıma altyapısı sağlar.

Bu ürün CH347T tabanlı karttır ve CH347F kartla aynı değildir. CH347T'nin pinleri birden fazla işlev arasında paylaşılır; kullanılacak arayüz kart üzerindeki mod anahtarlarıyla seçilir. CH347F ise farklı paket ve pin yapısı sayesinde daha fazla arayüzü aynı anda sunabilir. Aşağıdaki mod tablosu ve bağlantı açıklamaları özellikle CH347T sürümü için hazırlanmıştır.

CH347T USB High-Speed UART SPI I2C JTAG geliştirme kartı genel görünümü

Neden CH347T Board?

  • Tek USB bağlantısıyla UART, SPI, I2C, JTAG ve moda bağlı GPIO görevleri
  • 480 Mbit/s USB 2.0 High-Speed taşıma altyapısı
  • UART için 9 Mbit/s'ye kadar baud hızı ve donanımsal akış kontrolü
  • SPI mod 0, 1, 2 ve 3; MSB/LSB sıralaması ve iki chip-select hattı
  • I2C master olarak 20 kHz, 100 kHz, 400 kHz ve 750 kHz hız seçenekleri
  • OpenOCD ile JTAG tabanlı programlama ve hata ayıklama desteği
  • Windows için CH347DLL API, örnek uygulama ve kaynak kodları
  • Windows, Linux, Android ve macOS için WCH sürücü ekosistemi
  • SPI Flash, I2C EEPROM, sensör, ekran, MCU, DSP, FPGA ve CPLD çalışmalarına uygunluk
  • USB Type-C konnektör, 3.3 V lojik ve pinlere kolay erişim sağlayan başlıklar

Teknik Özellikler

Ürün tipi USB çok protokollü köprü, programlama ve debug kartı
Ana entegre WCH CH347T, TSSOP-20
USB arabirimi USB 2.0 High-Speed, 480 Mbit/s
USB konnektör USB Type-C
Arayüzler UART, SPI master, I2C master, JTAG ve moda bağlı GPIO
UART sayısı Mod 0'da UART0 + UART1; diğer modlarda UART1
UART hızı 1200 bit/s - 9 Mbit/s
UART biçimi 8 veri biti; 1 veya 2 stop biti; none, odd veya even parity
UART akış kontrolü Otomatik donanımsal akış kontrolü; UART0 üzerinde geniş modem sinyalleri
SPI çalışma biçimi 4 telli master, mod 0/1/2/3, MSB veya LSB first
SPI chip-select SCS0 ve SCS1; iki hedef cihaz zaman paylaşımlı kullanılabilir
SPI hızı Kart deposunda 36 MHz'e kadar; CH347 API saat seçenekleri 60 MHz'e kadar
I2C modu Master
I2C hızları 20 kHz, 100 kHz, 400 kHz ve 750 kHz
JTAG sinyalleri TCK, TMS, TDI, TDO ve TRST
JTAG yazılımı CH347DLL/JTAG TAP API ve CH347 destekli OpenOCD
Lojik seviyesi 3.3 V
Kart beslemesi USB Type-C üzerinden 5 V; kart üzerinde 3.3 V regülatör
Çalışma sıcaklığı CH347T için -40°C ile +85°C
Genel VID 0x1A86

Hız notu: SPI ve JTAG için erişilebilen gerçek hız; seçilen mod, sürücü, API, hedef cihaz, kablo uzunluğu, sinyal bütünlüğü ve yazılım komutlarının boyutuna bağlıdır. 480 Mbit/s yalnızca USB veri yolunun teorik sınıfıdır.

CH347T ve CH347F Arasındaki Önemli Fark

Özellik CH347T Board CH347F
Paket TSSOP-20 QFN-28
Arayüz seçimi Paylaşılan pinler nedeniyle mod anahtarlarıyla seçilir Daha fazla arayüz aynı anda dışarı alınabilir
I/O gerilimi Bu kartta 3.3 V lojik Kart tasarımına göre VIO seçenekleri bulunabilir
Bu açıklamadaki kapsam Tüm mod ve pin anlatımları CH347T içindir CH347F'ye özgü özellikler ürüne dahil kabul edilmemelidir

CH347T ve CH347F kartlarının fiziksel farklarını gösteren karşılaştırma

CH347T Çalışma Modları

CH347T açılırken DTR1 ve RTS1 yapılandırma seviyelerini okur. Kart üzerindeki iki anahtar bu seviyeleri belirler. Mod değiştirdikten sonra yeni yapılandırmanın algılanması için USB bağlantısını çıkarıp yeniden takmak veya kartı yeniden enerjilendirmek gerekir.

Mod DTR1 RTS1 Kullanılabilir işlevler
Mod 0 1 1 UART0 + UART1
Mod 1 1 0 UART1 + SPI + I2C; vendor sürücüsü/API
Mod 2 0 1 HID UART1 + SPI + I2C; HID erişimi
Mod 3 0 0 UART1 + JTAG + I2C

Kart şemasındaki anahtar karşılığı şöyledir: S1 kapalı/S2 kapalı Mod 0; S1 açık/S2 kapalı Mod 1; S1 kapalı/S2 açık Mod 2; S1 açık/S2 açık Mod 3. Üretim revizyonunda baskı yönü değişebileceğinden fiziksel kart üzerindeki MODE açıklaması da kontrol edilmelidir.

Pratik seçim: İki seri port gerekiyorsa Mod 0; SPI veya I2C için CH347DLL kullanılacaksa Mod 1; sürücüsüz HID yaklaşımı isteniyorsa Mod 2; OpenOCD/JTAG kullanılacaksa Mod 3 tercih edilir.

CH347T USB High-Speed Bridge kartı bağlantı ve mod görünümü

Kart Üzerindeki Pinler ve Çoklanan Sinyaller

CH347T'nin sınırlı sayıdaki pinleri çalışma moduna göre farklı isimlerle kullanılır. Bir başlık üzerinde görülen aynı fiziksel pin, seçilen moda bağlı olarak UART kontrol hattı, SPI, I2C, JTAG veya GPIO işlevi üstlenebilir. Bu nedenle hedef devre bağlanmadan önce mod seçilmeli ve aşağıdaki eşleştirme kontrol edilmelidir.

Fiziksel CH347T sinyali Alternatif görevler
CTS0 / GPIO0 SPI SCK veya JTAG TCK
RTS0 / GPIO1 SPI MISO veya JTAG TDO
DSR0 / GPIO2 SPI SCS0 veya JTAG TMS
RI0 / GPIO3 I2C SCL
DCD0 / GPIO4 GPIO4 veya etkinlik sinyali
TXD0 SPI MOSI veya JTAG TDI
RXD0 I2C SDA
DTR0 / GPIO5 SPI SCS1 veya JTAG TRST
CTS1 / GPIO6 UART1 CTS veya GPIO6
RTS1 / GPIO7 UART1 RTS veya GPIO7; açılışta mod seçimi

Kart şeması, iki adet 16 pin bağlantı başlığında UART0, UART1, I2C, SPI ve JTAG sinyallerinin yanı sıra 5 V, 3.3 V ve GND hatlarının dışarı alındığını gösterir. JTAG tarafında TCK, TMS, TDI, TDO ve TRST; SPI tarafında SCS0, SCS1, SCK, MISO ve MOSI; I2C tarafında SCL ve SDA bulunur.

Elektriksel uyarı: Haberleşme pinleri 3.3 V lojik seviyesindedir. 5 V, 2.5 V veya 1.8 V hedeflere sinyal pinlerini doğrudan bağlamayın. Hedefin I/O seviyesi 3.3 V değilse uygun çift yönlü ya da protokole özel seviye dönüştürücü kullanın. 5 V başlık pini bir lojik seviye referansı değildir.

UART: Seri Konsol, Log ve Cihaz Haberleşmesi

Mod 0 seçildiğinde kart iki bağımsız UART kanalı sunar. UART0; TXD, RXD, CTS, RTS, DTR, DSR, DCD ve RI gibi geniş modem/akış kontrol sinyallerine sahiptir. UART1 daha sınırlı kontrol sinyalleriyle birlikte TXD1 ve RXD1 hatlarını sunar. Mod 1, 2 veya 3 kullanılırken çoklanan UART0 pinleri diğer protokollere ayrılır; bu durumda UART1 kullanılabilir.

  • Mikrodenetleyici boot loglarını ve hata kayıtlarını izleme
  • AT komutlu Wi-Fi, Bluetooth, GNSS, GSM/LTE veya LoRa modüllerini yapılandırma
  • RS-232/RS-485 fiziksel katman dönüştürücüsü ekleyerek endüstriyel cihazlara erişme
  • Üretim testinde iki seri cihazı tek USB bağlantısıyla sınama
  • 9 Mbit/s'ye kadar yüksek baud gerektiren özel seri bağlantılar

Bağlantı: CH347T TX hattı hedef RX'e, CH347T RX hattı hedef TX'e ve GND hatları birbirine bağlanır. Donanımsal akış kontrolü gerekiyorsa CTS/RTS çapraz bağlantısı hedef cihazın adlandırmasına göre yapılır. RS-232'nin pozitif/negatif gerilimleri veya RS-485'in diferansiyel A/B hattı doğrudan UART pinlerine bağlanamaz; uygun transceiver gerektirir.

// Windows CH347DLL ile UART1'i 115200 8N1 açma iskeleti
ULONG uartIndex = 0;
HANDLE uart = CH347Uart_Open(uartIndex);
if (uart != INVALID_HANDLE_VALUE) {
    BOOL ok = CH347Uart_Init(
        uartIndex,
        115200,  // Baud
        8,       // Veri biti
        0,       // Parity: none
        0,       // Stop: 1 bit
        200      // Timeout, ms
    );

    UCHAR tx[] = "AT\r\n";
    ULONG txLen = sizeof(tx) - 1;
    if (ok) CH347Uart_Write(uartIndex, tx, &txLen);

    CH347Uart_Close(uartIndex);
}

İşlev numaraları ve parity/stop biti sabitleri kullanılan CH347DLL sürümünün başlık dosyasından doğrulanmalıdır. UART kanalı işletim sisteminde standart COM/tty olarak görünüyorsa PuTTY, Tera Term, minicom, screen veya Python pySerial gibi seri port araçları da kullanılabilir.

I2C Master: Sensör, EEPROM ve Çevre Birimleri

CH347T, I2C master olarak SCL saatini üretir ve SDA üzerinden hedef cihazla çift yönlü veri alışverişi yapar. 20 kHz, 100 kHz, 400 kHz ve 750 kHz seçenekleri; eski veya yavaş cihazlardan daha hızlı sensör ve bellek uygulamalarına kadar farklı ihtiyaçları karşılar. Clock stretching ayarı ve gecikme fonksiyonları, zamanlama gereksinimi özel olan hedeflerle uyumluluğu artırır.

  • AT24Cxx serisi EEPROM okuma, yazma ve doğrulama
  • Sıcaklık, nem, basınç, ışık ve hareket sensörlerinin kimlik/register kontrolü
  • RTC, GPIO expander, ADC/DAC ve güç yönetimi entegrelerini yapılandırma
  • I2C adres tarama ve kart üretim testi
  • Bir mikrodenetleyici firmware'i hazır olmadan çevre birimini PC üzerinden doğrulama
// CH347DLL ile 0x50 adresli EEPROM'dan iki bayt okuma örneği
// API ilk baytta 8-bit adres ve R/W bitini bekler.
ULONG dev = 0;
UCHAR request[] = {
    (0x50 << 1) | 0, // Yazma yönü: EEPROM adresi
    0x00,               // Bellek adresi yüksek bayt
    0x10                // Bellek adresi düşük bayt
};
UCHAR data[2] = {0};

if (CH347OpenDevice(dev) != INVALID_HANDLE_VALUE) {
    CH347SetTimeout(dev, 500, 500);
    BOOL ok = CH347StreamI2C(
        dev,
        sizeof(request), request,
        sizeof(data), data
    );
    CH347CloseDevice(dev);
}

I2C bağlantı notu: SDA ve SCL hatları için hedef devrede uygun pull-up dirençleri bulunmalıdır. Birden fazla pull-up paralel olduğunda toplam direnç çok düşebilir. Cihaz adresi, register adres uzunluğu, repeated-start ihtiyacı ve yazma sonrası bekleme süresi hedef entegre datasheet'ine göre ayarlanmalıdır.

SPI Master: Flash, Ekran ve Hızlı Çevre Birimleri

SPI arayüzü 4 telli master olarak SCK, MOSI, MISO ve chip-select hatlarını kullanır. SCS0 ve SCS1 sayesinde iki ayrı hedef aynı veri ve saat hatlarını paylaşabilir; hangi cihazla konuşulacağı ilgili chip-select ile belirlenir. CPOL/CPHA kombinasyonlarının tamamı, yani SPI mod 0, 1, 2 ve 3; ayrıca MSB-first veya LSB-first aktarım desteklenir.

USB-HS-Bridge kart deposu CH347T kartı için 36 MHz'e kadar SPI hızından söz eder. WCH API ve güncel başlık dosyalarında 60, 30, 15, 7.5, 3.75 ve 1.875 MHz ile 937.5 ve 468.75 kHz gibi saat kademeleri bulunur; bazı API sürümleri frekansı Hz olarak ayarlama işlevi de sunar. Kararlı üst sınır hedef cihaz, kart revizyonu, kablo ve sürücüye göre değişir. İlk test düşük hızda yapılmalı, sinyal kalitesi doğrulandıkça saat artırılmalıdır.

  • W25Qxx, MX25, SST25 ve benzeri SPI NOR Flash bellek işlemleri
  • SPI LCD/OLED ekran komutlarının ve görüntü verisinin gönderilmesi
  • ADC, DAC, RF transceiver, CAN controller ve Ethernet controller testleri
  • JEDEC ID okuma, sektör silme, sayfa yazma ve veri doğrulama
  • Üretim hattında seri numarası veya yapılandırma belleği programlama
// SPI Flash JEDEC ID (0x9F) okumak için temel CH347DLL iskeleti
ULONG dev = 0;
mSpiCfgS cfg = {0};
cfg.iMode = 0;           // SPI mode 0
cfg.iClock = 1;          // API sürümündeki saat indeksi
cfg.iByteOrder = 1;      // MSB first
cfg.iSpiWriteReadInterval = 0;
cfg.iSpiOutDefaultData = 0xFF;
cfg.iChipSelect = 0x80;  // CS0 otomatik kontrol

UCHAR frame[4] = {0x9F, 0xFF, 0xFF, 0xFF};
if (CH347OpenDevice(dev) != INVALID_HANDLE_VALUE) {
    CH347SetTimeout(dev, 500, 500);
    if (CH347SPI_Init(dev, &cfg)) {
        CH347SPI_WriteRead(dev, 0x80, sizeof(frame), frame);
        // Dönüşte frame[1..3] üretici, bellek tipi ve kapasite kodudur.
    }
    CH347CloseDevice(dev);
}

Önemli: CH347DLL'deki 16-bit SPI veri genişliği ayarı güncel uygulama kılavuzunda CH347F'ye özgü olarak işaretlenmiştir. Bu CH347T ürünü için 16-bit aktarım özelliği varsayılmamalı; uygulama 8-bit bayt akışı üzerinden kurulmalıdır.

CH347T kartının bağlantı başlıkları ve bileşenleri

JTAG ve OpenOCD ile Programlama / Hata Ayıklama

Mod 3'te CH347T, TCK, TMS, TDI, TDO ve TRST sinyalleriyle JTAG master olarak çalışır. JTAG; işlemci durdurma, register ve bellek inceleme, breakpoint kullanma, Flash programlama, boundary-scan ve FPGA yapılandırma gibi işlemlerde kullanılır. Hedefe göre OpenOCD, GDB, üretici programlama araçları veya CH347 JTAG TAP API devreye alınabilir.

MuseLab USB-HS-Bridge deposu kart için 18 Mbit/s'ye kadar JTAG aktarımı belirtirken WCH CH347 yazılım deposu optimize edilmiş çözümlerde 30 Mbit/s değerini belirtir. Bu rakamlar farklı yazılım sürümü, API ve test koşullarından gelir. Uygulamada güvenilir TCK hızı hedef MCU/FPGA'nın sınırı ve kablo yapısına göre seçilmelidir.

# openocd/ch347.cfg
adapter driver ch347
ch347 vid_pid 0x1a86 0x55dd
adapter speed 10000
# Örnek komut: hedefe uygun cfg dosyasını seçin
openocd -f interface/ch347.cfg -f target/stm32f4x.cfg

# Başka terminalde GDB bağlantısı
arm-none-eabi-gdb firmware.elf
(gdb) target extended-remote localhost:3333
(gdb) monitor reset halt
(gdb) load
(gdb) continue
  1. Kartı Mod 3'e alın ve USB bağlantısını yenileyin.
  2. TCK, TMS, TDI, TDO, gerekiyorsa TRST ve mutlaka ortak GND bağlantısını yapın.
  3. Hedef kartı kendi uygun beslemesiyle çalıştırın; CH347T sinyallerinin 3.3 V uyumluluğunu doğrulayın.
  4. CH347 destekli OpenOCD sürümünü ve doğru interface/target yapılandırmasını kullanın.
  5. İlk bağlantıda düşük adapter speed seçin; bağlantı kararlıysa kademeli artırın.
  6. GDB veya IDE üzerinden hedefi durdurun, firmware yükleyin ve debug oturumu başlatın.

Uyumluluk notu: OpenOCD'nin her standart derlemesi CH347 sürücüsü içermez. WCH deposundaki hazır derleme kullanılabilir veya kaynak kodu --enable-ch347 seçeneğiyle derlenebilir. Hedef yongaya ait OpenOCD target desteği ayrıca bulunmalıdır.

FPGA Programlama Aracı

WCHSoftGroup/ch347 deposu, OpenOCD temelli CH347FPGADownloader adlı Qt masaüstü aracını da içerir. Adında CH347F geçmese de araç CH347-JTAG aygıtıyla çalışacak şekilde sunulmuştur; gerçek kart/driver uyumluluğu kullanılan sürümle kontrol edilmelidir. Depodaki hazır boundary-scan bitstream dosyaları özellikle Xilinx Spartan-3/6, Artix-7, Kintex-7, Virtex-7 ve bazı UltraScale ailesi hedeflerine odaklanır.

  • BIT dosyası: FPGA yapılandırma RAM'ine yüklenir; güç kesildiğinde kaybolur.
  • BIN dosyası: FPGA'ya bağlı yapılandırma Flash belleğine yazılır; kalıcıdır ve işlem sonrası FPGA yeniden başlatılır.
  • Varsayılan TCK seçenekleri 10, 15 ve 30 MHz'tir; özel hız girilebilir.
  • FPGA modeli ve uygun BSCAN dosyası seçilmelidir.
  • Arayüzde dosya seçimi, ilerleme çubuğu, aygıt takma/çıkarma bildirimi ve çıktı günlüğü bulunur.

CH347 FPGA Downloader cihaz ve FPGA seçim ekranı

CH347 FPGA Downloader dosya yükleme ve ilerleme ekranı

GPIO Kullanımı

CH347DLL, GPIO0-GPIO7 için yön ve seviye okuma/yazma API'leri sunar. Ancak CH347T üzerinde bu pinler UART, SPI, I2C ve JTAG sinyalleriyle çoklanmıştır. Dolayısıyla sekiz GPIO'nun tamamı her modda serbest bir mikrodenetleyici portu gibi kullanılamaz. Uygulama, seçilen modun ayırdığı pinlerle ve başlıkta dışarı çıkan sinyallerle sınırlandırılmalıdır.

// GPIO4'ü çıkış ve 1 yapmak için kavramsal örnek
UCHAR enable = (1 << 4);
UCHAR direction = (1 << 4);
UCHAR level = (1 << 4);
CH347GPIO_Set(0, enable, direction, level);

// Tüm mevcut GPIO yön/seviye bitlerini oku
UCHAR dir = 0, data = 0;
CH347GPIO_Get(0, &dir, &data);

GPIO çıkışları LED, röle bobini, motor veya başka yüksek akımlı yükleri doğrudan sürmek için kullanılmamalıdır. Gerektiğinde seri direnç, transistor/MOSFET sürücü, flyback diyot ve harici güç kaynağı kullanılmalıdır.

Sürücüler, İşletim Sistemleri ve Aygıt Kimlikleri

WCH, CH347 ailesi için Windows, Linux, Android ve macOS tarafında sürücüler ve örnekler yayımlar. UART işlevleri sanal COM port sürücüsüyle, SPI/I2C/JTAG/GPIO işlevleri ise vendor/paralel sürücü veya HID erişimiyle çalışabilir. Gereken paket seçilen CH347T moduna ve uygulamanın kullandığı API'ye bağlıdır.

Kullanım Kimlik / sürücü notu
WCH üretici kimliği VID 0x1A86
Mod 1 SPI/I2C VID_1A86 & PID_55DB & MI_02
Mod 2 SPI/I2C VID_1A86 & PID_55DC & MI_01; HID modu
Mod 3 JTAG/I2C VID_1A86 & PID_55DA & MI_02
OpenOCD örnek kimliği VID 0x1A86, PID 0x55DD
UART sürücüsü WCH CH343SER/uyumlu VCP sürücü paketi
Linux vendor erişimi WCH CH341PAR Linux ailesi / CH347 uyumlu paket

PID ve arayüz numaraları firmware/sürücü sürümüne göre farklı görülebilir. Aygıt yöneticisinde veya lsusb çıktısında gerçek kimlik kontrol edilmeli, yapılandırma dosyası buna göre düzenlenmelidir.

Windows'ta İlk Kurulum

  1. Kullanacağınız arayüze göre kart modunu seçin.
  2. Veri aktarımını destekleyen USB Type-C kabloyla kartı bilgisayara bağlayın.
  3. UART için WCH seri port sürücüsünü; SPI/I2C/JTAG için CH347/parallel driver paketini kurun.
  4. Aygıt Yöneticisi'nde WCH aygıtlarının hatasız göründüğünü kontrol edin.
  5. CH347EVT içindeki CH347Demo ile arayüzü ve hedef cihazı düşük hızda test edin.
  6. Kendi uygulamanız için mimariye uygun x86, x64 veya ARM64 CH347DLL kitaplığını seçin.
  7. Mod değiştirdiğinizde USB'yi yeniden bağlayın ve yeni aygıt arabirimlerinin oluşmasını bekleyin.

Linux'ta İlk Kontrol

# USB aygıtını kontrol et
lsusb | grep -i 1a86

# UART portlarını kontrol et
dmesg | tail -n 40
ls -l /dev/ttyUSB* /dev/ttyACM* 2>/dev/null

# OpenOCD'nin CH347 adaptörünü tanıyıp tanımadığını sınama
openocd -f interface/ch347.cfg -c "adapter speed 1000; init; shutdown"

Linux'ta vendor API kullanımı için WCH'nin güncel CH347/CH341PAR paketindeki kernel modülü, kullanıcı alanı kitaplığı veya udev kuralı gerekebilir. Dağıtımın çekirdek sürümü ve Secure Boot ayarı üçüncü taraf modül yüklemesini etkileyebilir. İzin sorunlarında aygıt düğümünün grubu ve udev kuralları incelenmelidir; uygulamayı sürekli root çalıştırmak kalıcı çözüm olarak önerilmez.

CH347DLL Yazılım Mimarisi ve API Grupları

CH347DLL, kartı özel bir PC yazılımına entegre etmek için kapsamlı bir C/C++ API sunar. Depodaki paketlerde x86, AMD64 ve ARM64 kitaplıkları, İngilizce/Çince başlık dosyaları ve MFC tabanlı CH347Demo kaynak kodu bulunur. Uygulama geliştirilirken DLL, import library ve header dosyalarının aynı sürümden olması önemlidir.

API grubu Başlıca işlevler
Aygıt yönetimi CH347OpenDevice, CH347CloseDevice, CH347GetDeviceInfor, CH347GetVersion
Olay ve zaman aşımı CH347SetDeviceNotify, CH347SetTimeout
SPI Init, GetCfg, ChangeCS, SetChipSelect, Write, Read, WriteRead, StreamSPI4
I2C Set, SetStretch, SetDelaymS, StreamI2C, StreamI2C_RetACK, ReadEEPROM, WriteEEPROM
UART Open, Close, Init, SetTimeout, Read, Write, QueryBufUpload
JTAG INIT, TmsChange, IoScan, WriteRead, Fast, TAP state, byte/bit DR ve IR işlemleri
GPIO Get, Set, SetIntRoutine, ReadInter, AbortInter

Aygıt indeksi birden fazla CH347 bağlandığında hangi kartın açılacağını belirler. Depoda 32 cihaza kadar çoklu CH347 kullanımına yönelik paket de bulunur. Üretim sistemi tasarlanırken yalnızca indeks sırasına güvenmek yerine aygıt bilgisi, USB yolu veya uygulamaya özgü eşleme kullanılması daha güvenilirdir.

WCH CH347 yazılım ve arayüz kullanım diyagramı

GitHub Depolarında Neler Var?

wuxx/USB-HS-Bridge deposu kartın donanım ve hızlı başlangıç merkezi niteliğindedir. İngilizce ve Çince README dosyaları, CH347T kart fotoğrafları, CH347T v1.0 şeması, opsiyonel seviye dönüştürücü genişleme kartı şeması, CH347EVT geliştirme paketi ve Windows için CH347 uyumlu OpenOCD derlemesi bulunur.

  • CH347Demo: UART, SPI/I2C, SPI Flash, I2C EEPROM, JTAG ve GPIO test ekranları
  • Kaynak kod: UartDebug.cpp, SpiIicDebug.cpp, SPI_Flash.cpp, EepromDebug.cpp, JtagDebug.cpp ve GpioDebug.cpp
  • Kitaplıklar: x86, AMD64 ve ARM64 için CH347DLL header, LIB ve DLL dosyaları
  • OpenOCD: Windows çalıştırılabilir dosyası ve ch347.cfg örneği
  • Donanım: CH347T kart şeması ve VREF/1.8 V seviye dönüştürücülü ExtBoard tasarımı

WCHSoftGroup/ch347 deposu ise WCH'nin yazılım referansıdır. CH347 destekli hazır OpenOCD, CH347 adaptör sürücüsü eklenmiş OpenOCD kaynak kodu ve Xilinx odaklı CH347FPGATool/CH347FPGADownloader uygulamasını içerir. OpenOCD kaynak kodunu kendi Linux/Windows ortamına uyarlamak isteyen geliştiriciler için yama yerine tam kaynak ağaç sunulmuştur.

CH347 JTAG OpenOCD ve hedef cihaz bağlantı yapısı

Örnek Projeler ve Uygulama Fikirleri

Proje CH347T'nin görevi
SPI Flash programlayıcı JEDEC ID okuma, erase, page program ve doğrulama
I2C EEPROM yedekleme AT24Cxx içeriğini dosyaya alma ve geri yazma
Sensör test istasyonu I2C adres tarama, kimlik register'ı ve kalibrasyon değerlerini kontrol etme
Çift UART servis aracı İki farklı seri cihazın loglarını aynı anda izleme
MCU debug probu OpenOCD/GDB ile JTAG programlama, breakpoint ve bellek inceleme
FPGA laboratuvarı BIT dosyasını SRAM'e veya BIN dosyasını yapılandırma Flash'ına aktarma
LCD kontrol deneyi SPI komutları, renk testi ve framebuffer verisi gönderme
Üretim fikstürü Firmware yükleme, seri numarası yazma ve fonksiyon testi
Protokol öğrenme platformu UART, SPI, I2C ve JTAG işlemlerini PC uygulamasından gözlemleme

Bir Kullanıcı Neden Bu Ürünü Seçmeli?

Yalnızca UART kullanılacaksa basit bir USB-UART dönüştürücü daha ekonomik olabilir. CH347T'nin avantajı, farklı geliştirme aşamalarında aynı donanımı tekrar kullanabilmesidir. Bir kartın boot logu UART ile izlenebilir, çevresindeki EEPROM I2C ile okunabilir, firmware belleği SPI ile programlanabilir ve işlemci JTAG ile debug edilebilir. Ayrı adaptörler arasında geçiş yapmak yerine mod anahtarı ve yazılım değiştirerek aynı araçla devam edilir.

Özellikle yüksek veri hacmi, otomasyon ve PC yazılımı entegrasyonunda CH347DLL önemli bir avantajdır. API üzerinden test adımları sıraya konabilir, üretim sonucu kaydedilebilir ve birden fazla cihaz yönetilebilir. OpenOCD kaynak kodunun yayımlanmış olması da standart GDB tabanlı araç zincirlerine entegrasyonu kolaylaştırır.

Buna karşılık CH347T bir lojik analizör veya osiloskop değildir; hat üzerindeki zamanlamayı örnekleyip dalga şekli göstermez. Protokol sorunlarının elektriksel analizi için ayrıca osiloskop/lojik analizör gerekebilir. Ayrıca CH347T'nin modlu yapısı, tüm arayüzlerin aynı anda kullanılmasını gerektiren uygulamalarda CH347F veya farklı çok kanallı çözümlere göre sınırlayıcı olabilir.

Bağlantı ve Güvenli Kullanım Notları

  • Her haberleşmede CH347T ve hedef devre arasında ortak GND bağlantısı kurun.
  • Hedef I/O gerilimini ölçmeden sinyal hatlarını bağlamayın; kart sinyalleri 3.3 V'tur.
  • 5 V tolerans bilgisi açıkça doğrulanmayan CH347T pinlerine 5 V uygulamayın.
  • Hedef devre kendi kaynağından besleniyorsa 5 V/3.3 V besleme pinlerini iki kaynak arasında doğrudan birleştirmeyin.
  • Uzun jumper kablolar yüksek hızlı SPI/JTAG sinyalini bozabilir; bağlantıları kısa ve GND dönüşü iyi olacak şekilde kurun.
  • I2C pull-up geriliminin CH347T ve hedef cihaz için güvenli olduğundan emin olun.
  • SPI'da hedef dışındaki cihazların chip-select hatlarını pasif seviyede tutun.
  • Mod anahtarını değiştirdikten sonra USB bağlantısını yenileyin.
  • JTAG pin dizilimini hedef konektör standardıyla birebir karşılaştırın; konektör şekline bakarak bağlamayın.
  • Flash yazmadan önce içeriği yedekleyin ve doğru gerilim/kapasite/komut setini doğrulayın.
  • ESD hassas hedeflerle çalışırken topraklı çalışma alanı ve uygun ESD önlemleri kullanın.

Sorun Giderme

Kart bilgisayarda görünmüyor.

Şarj amaçlı değil, veri destekli başka bir Type-C kablo ve farklı USB portu deneyin. Kartı hub yerine doğrudan bilgisayara bağlayın. VID 1A86 için Aygıt Yöneticisi veya lsusb kontrolü yapın.

UART görünüyor ancak SPI/I2C/JTAG arayüzü görünmüyor.

Kart büyük olasılıkla Mod 0'dadır veya yalnızca seri sürücü kuruludur. İstenen protokole uygun modu seçin, USB'yi yeniden bağlayın ve WCH paralel/CH347 sürücüsünü kurun.

I2C cihaz ACK vermiyor.

7-bit adresin API'de 8-bit adres + R/W biti biçimine çevrilip çevrilmediğini kontrol edin. SDA/SCL çapraz bağlanmamalı, ortak GND ve pull-up bulunmalı, pull-up gerilimi 3.3 V olmalıdır. Hızı 100 kHz veya 20 kHz'e düşürün.

SPI Flash kimliği yanlış okunuyor.

SPI modunu, CS hattını, MSB/LSB seçimini ve besleme gerilimini doğrulayın. Saat hızını düşürün, kabloları kısaltın ve Flash'ın HOLD/WP pinlerinin doğru seviyede olduğundan emin olun.

OpenOCD "adapter not found" diyor.

CH347 destekli OpenOCD derlemesi kullandığınızı, kartın Mod 3'te olduğunu ve config dosyasındaki VID/PID'nin gerçek aygıtla eşleştiğini kontrol edin. Sürücü erişimi veya Linux udev izinleri de bağlantıyı engelleyebilir.

JTAG bağlantısı düşük hızda çalışıyor, yüksek hızda kopuyor.

Bu genellikle sinyal bütünlüğü veya hedef sınırıyla ilgilidir. TCK hızını düşürün, kabloları kısaltın, GND bağlantısını iyileştirin ve TCK/TMS hatlarının yönlendirmesini kontrol edin.

Sık Sorulan Sorular

CH347T bir mikrodenetleyici geliştirme kartı mıdır?

Hayır. Kendi başına kullanıcı uygulaması çalıştıran Arduino benzeri bir MCU kartı değil; bilgisayar ile harici elektronik cihazlar arasında protokol köprüsüdür.

Tüm arayüzleri aynı anda kullanabilir miyim?

Hayır. CH347T pinleri çoklanmıştır ve arayüz kombinasyonu Mod 0-3 ile seçilir. Örneğin Mod 0 iki UART sunarken Mod 3 UART1, JTAG ve I2C sunar.

CH347F yazılımı bu kartta çalışır mı?

Bazı ortak CH347 API ve araçları iki varyantı da destekleyebilir, ancak pinler, modlar ve CH347F'ye özgü işlevler aynı değildir. Uygulama kılavuzunda CH347T desteği açıkça doğrulanmalıdır.

5 V Arduino kartına doğrudan bağlanabilir mi?

Hedef kartın ilgili pinleri 3.3 V seviyesinde çalışmıyorsa doğrudan bağlantı önerilmez. Uygun seviye dönüştürücü kullanılmalıdır. Besleme pini ile lojik sinyal seviyesi birbirinden farklı konulardır.

SPI Flash programlayabilir mi?

Evet. CH347EVT demo kaynaklarında farklı SPI Flash aileleri için okuma, yazma, silme ve doğrulama örnekleri bulunur. Hedef belleğin gerilim ve komut uyumluluğu kontrol edilmelidir.

JTAG ile hangi işlemciler programlanabilir?

Fiziksel JTAG uyumluluğuna ek olarak OpenOCD veya kullanılan yazılımın hedef yongayı desteklemesi gerekir. STM32, RISC-V, CPLD ve FPGA gibi birçok hedef mümkün olsa da uyumluluk hedefe özel config/driver ile doğrulanmalıdır.

SWD desteği var mı?

CH347 ailesinin bazı ürün tablolarında SWD çözümleri anılır; ancak bu CH347T USB-HS-Bridge kartının yayımlanmış başlığı ve şeması JTAG sinyallerini dışarı alır. Kart üzerinde doğrudan SWD desteği varsayılmamalıdır.

Paket İçeriği

  • 1 x CH347T USB High-Speed Bridge programlama ve debug kartı

USB Type-C kablo, hedef kart, jumper kablo, seviye dönüştürücü genişleme kartı ve pin header aksesuarları aksi belirtilmedikçe pakete dahil değildir. Satın alınan ürün revizyonunun görselleri ve paket kapsamı sipariş öncesinde kontrol edilmelidir.

Kaynaklar ve Teknik Belgeler

Bu ürün açıklaması CH347T tabanlı USB-HS-Bridge kartının yayımlanmış şeması, WCH CH347 dokümantasyonu, uygulama geliştirme kılavuzu ve açık kaynak depolarındaki örnek yazılımlar temel alınarak hazırlanmıştır. Kart revizyonları, sürücüler ve API'ler zamanla değişebileceğinden kritik programlama, üretim ve elektriksel bağlantılarda fiziksel kart üzerindeki işaretler ile güncel resmî belgeler birlikte kontrol edilmelidir.

Bu ürüne ilk yorumu siz yapın!
Ürün hakkında henüz soru sorulmamış.
Bu ürünün fiyat bilgisi, resim, ürün açıklamalarında ve diğer konularda yetersiz gördüğünüz noktaları öneri formunu kullanarak tarafımıza iletebilirsiniz.
Görüş ve önerileriniz için teşekkür ederiz.
CH347T USB 2.0 High-Speed UART SPI I2C JTAG Programlama ve Debug Kartı CH347T programlama ve debug kartı; UART, SPI, I2C ve JTAG desteği, USB Type-C bağlantısı ve 3.3 V lojik seviyesiyle elektronik geliştirme, test ve hata ayıklama uygulamalarına uygundur. sk1984
CH347T USB 2.0 High-Speed UART SPI I2C JTAG Programlama ve Debug Kartı

Tavsiye Et

*
*
*
ideasoft e-ticaret paketleri ile hazırlandı.