Як працює чіп FTDI?


20

Хтось запитав мене днями, як працює FTDI USB для послідовного UART, і я зрозумів, що не знаю. Я переглянув таблицю даних для FT232R, і блок-схема мені не дуже допомогла. Чи може хтось пояснити або зв’язати мене з гарним поясненням?


3
Більше пояснення, ніж це реалізовано на пристрої USB CDC-пристрою? en.wikipedia.org/wiki/USB_communications_device_class
kenny

1
@kenny, насправді, це не так. Він використовує власницький профіль, саме тому для його використання потрібно встановити драйвери (принаймні в Windows).
авакар

2
@avakar, він використовує драйвери на всіх ОС, деякі з них завантажуються попередньо.
Кортук

Відповіді:


15

Фішки FTDI реалізують стек протоколу USB. Відповідальність цього обладнання полягає в тому, щоб повідомити вашому ПК, що це таке (використовуючи деяку ідентифікаційну інформацію), щоб ваш комп'ютер міг завантажувати потрібний драйвер для нього, а також керувати транзакціями з даними на ПК на ньому після - шукати кінцеві точки USB для кращого пояснення цих процесів.

Після завантаження цих драйверів це визначає набір команд, який ваш ПК може використовувати для запиту чіпа. Ця апаратура піклується про одну сторону рівняння (спілкування з вашим ПК). З іншого боку це буде деяке виділене обладнання для управління протоколом UART, що включає логіку, буфери та драйвери рядків та їх види. Згаданий раніше набір команд буде використовуватися для читання або запису на апаратне забезпечення UART. Напевно, слід зазначити, що USB-пристрої опитуються ПК, тому у випадках, коли ви використовуєте код, який базується на подіях, ваш ПК фактично проводить опитування, щоб визначити, що нові дані надійшли - це може відрізнятись від рідного серіалу порт, я б не знав.

Вищевказана логіка може бути реалізована або як виділений ASIC, або за допомогою стриженого ядра мікроконтролера, який виконує прошивку на ПЗУ. Якщо це дійсно мікроконтролерне ядро, то я думаю, що UART підключений до нього як периферійний.


І наскільки ви впевнені, що не виконується програма прошивки? Мікроконтролерам зазвичай потрібно менше логічних воріт, ніж еквівалентна реалізація програмного забезпечення ASIC. Дійсно важко сказати мікроконтролеру від ASIC, якщо мікропрограмне забезпечення мікроконтролера не є доступним для користувачів.
Бен Войгт

@Ben: Ви знаєте, що? Я, мабуть, не повинен був цього говорити. Відповідь відредаговано через моє незнання. Я пішов зі своїм припущенням про кишки після перегляду блок-схеми, але, мабуть, було б краще все-таки абстрагувати будь-які потенційні відомості щодо UC. Я вважаю, що це знають лише ті, хто на FTDI, і, напевно, це зводиться до основних ліцензійних витрат порівняно з часом забудови.
Джон Л

1
Зазвичай, коли у вас є "протокол", ви закінчуєте "програмою" для його обробки ... навіть якщо він працює на двигуні, закопаному вглиб ASIC або FPGA. Виняток становлять речі, коли сліпо швидка швидкість козиря складна, де ви, швидше за все, побачите стан машини або масовий паралелізм. Поміж ними знаходяться двигуни, де обчислювальний шлях будується пропорційно логіці управління - така собі оригінальна ідея процесорів DSP
Кріс Страттон

2

Всередині є мікроконтролер USB, який говорить про власний протокол через USB (звідси потреба в драйверах) і перетворює це в "звичайні" сигнали UART і знову назад.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.