FTDI yongası nasıl çalışır?


20

Birisi bana geçen gün seri UART'tan bir FTDI USB'nin nasıl çalıştığını sordu ve bilmediğimi fark ettim. FT232R için veri sayfasına baktım ve blok diyagramı bana gerçekten yardımcı olmadı. Birisi beni açıklayabilir ya da iyi bir açıklamaya bağlayabilir mi?


3
Bir USB CDC cihazının cihaz tarafını uyguladığından daha fazla açıklama mı? en.wikipedia.org/wiki/USB_communications_device_class
kenny

1
@kenny, aslında, öyle değil. Özel bir profil kullanır, bu yüzden kullanmak için sürücüleri yüklemeniz gerekir (en azından Windows'ta).
avakar

2
@avakar, tüm işletim sistemlerinde sürücüler kullanır, bazıları önceden yüklenmiş olarak gelir.
Kortuk

Yanıtlar:


15

FTDI yongaları USB protokol yığınını uygular. Bu donanımın sorumluluğu, bilgisayarınıza bunun için doğru sürücüyü yükleyebileceği şekilde (bazı kimlik bilgilerini kullanarak) ne olduğunu ve aynı zamanda bilgisayarla veri işlemlerini yöneterek USB uç noktalarına bakın. bu süreçlerin daha iyi bir açıklaması için.

Bu sürücüler yüklendikten sonra, bilgisayarınızın çipi sorgulamak için kullanabileceği bir komut kümesi belirleyecektir. Bu donanım denklemin bir tarafı ile ilgilenir (PC'nizle iletişim). Diğer tarafı, mantık, tamponlar ve hat sürücüleri ve çeşitlerini içeren UART protokolünü yönetmek için bazı özel donanım olacaktır. Daha önce bahsedilen komut seti, UART donanımından okumak veya UART donanımına yazmak için kullanılır. Muhtemelen USB cihazlarının PC tarafından sorgulandığı belirtilmelidir, bu nedenle olaya dayalı kod kullandığınız durumlarda, PC'niz aslında yeni verilerin geldiğini belirlemek için biraz yoklama yapıyor - bu yerel bir diziden farklı olabilir port, bilmiyorum.

Yukarıdaki mantık, özel bir ASIC olarak ya da ROM'da bellenimi yürüten soyulmuş bir mikrodenetleyici çekirdeği kullanılarak uygulanabilir. Gerçekten bir mikrodenetleyici çekirdek ise, o zaman UART'ın bir çevre birimi olarak bağlı olduğunu hayal ediyorum.


Ve yürütülmekte olan bir yazılım programının olmadığından ne kadar eminsiniz? Mikrodenetleyiciler genellikle eşdeğer ASIC adanmış donanım uygulamasından daha az mantık geçidi gerektirir. Mikrodenetleyici ürün yazılımı kullanıcı tarafından erişilebilir değilse, bir ASIC'den bir mikrodenetleyiciye söylemek gerçekten zordur.
Ben Voigt

@Ben: Biliyor musun? Muhtemelen bunu söylememeliydim. Cevap, cehaletim nedeniyle düzenlendi. Blok şemasına baktıktan sonra bağırsak varsayımımla gittim, ancak potansiyel uC ayrıntılarını yine de soyutlamanın daha iyi olacağını düşünüyorum. Sanırım sadece FTDI'dakiler bilirdi ve sanırım kurum içi geliştirme süresine kıyasla çekirdek lisans maliyetlerine denk geliyor.
Jon L

1
Genellikle, bir "protokolünüz" olduğunda, bunu işlemek için bir "program" elde edersiniz ... ASIC veya FPGA'nın derinliklerine gömülü bir motorda çalışıyor olsa bile. İstisna, kör bir şekilde yüksek hızın karmaşıklığı bozduğu, bir devlet makinesi veya büyük bir paralellik görme olasılığınız olan şeyler olabilir. Hesaplama yolunun kontrol mantığıyla orantılı olarak oluşturulduğu motorlar - DSP işlemcilerinin arkasındaki orijinal fikir
Chris Stratton

2

İçinde USB üzerinden tescilli bir protokol (bu nedenle sürücüler ihtiyacı) konuşan ve bunu "normal" UART sinyallerine ve tekrar geri dönüştüren bir USB mikrodenetleyici vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.