Ізолятор USB

Раптом знадобилося аж три ізолятори USB.

Ну як сказати «знадобилося». От так щоб треба, так два.
Один для адаптера SWD на FT2232D, який підключався до мікроконтролера за гальванорозв’язкою, другий для клона Saleale logic analyzer, від якого декілька ліній туди ж.
Мікроконтролер на цій стороні, його virtual com port, я теж підключив через ізолятор про всік випадок. Бо вдома таки знайшлося три 🙂

Ізолятори USB

Ліворуч і в центрі з алі-експреса, були приблизно в одну ціну.
Той, що у центрі — з танталовими конденсаторами 22 мкФ і феритовими фільтрами. І з перемикачам режиму 1.5Mbps/12Mbps. І був без корпуса, у трубку я його сам затягнув.
Той, що ліворуч — без феритових фільтрів, зі звичайними електролітами, але із захистом від статики на вході і виході.
Ну а праворуч — зроблений самостійно кількома роками раніше. І з фільтрами, і з захистом від статики 🙂

Saleale logic через ізолятор працював, але чомусь верхню межу частоти семплів відразу поставив 500 кГц, я все ж таки очікував 1 МГц. А взагалі требе зробити нормальну розв’язку до аналізатора, можливо відразу на швидкому ADuM1400C чи подібному, бо часом і десять мегагерц мало. Хоча в цій задачі і один було б з головою.

Та й розв’язаний SWD не завадить, причому швидкий, але це вже складніше/дорожче.

AVReAl/Linux та права адміністратора

Від самого початку AVReAl/Linux працював з LPT напряму, командами процесора для доступу до портів вводу/виводу. Для цього потрібні права адміністратора і avreal встановлюється з параметрами власника та групи root та піднятим SUID-бітом. Пізніше було дописано підтримку роботи з пристроями /dev/parport, для доступу до яких достатньо включити користувача в групу lp. Все це описано у публікації AVReAl та LPT в Linux.

Коли в програму додалася підтримка роботи з FTDI MPSSE, я помітив, що без прав рута не виходить з’єднатися з мікросхемою FT2232. Але у мене на комп’ютері всі версії AVReAl працюють від імені адміністратора, бо час від часу робиться перевірка роботи з прямим доступом до LPT. Тому програма працювала з FT2232 і у мене не було потреби копати глибше.

Нарешті вирішив розібратися з цим питанням. Як це часто буває, щоб зробити правильно, досить лише зупинитися, знайти час трохи почитати та подумати.

Для того, щоб обійтися без привілеїв адміністратора при роботі з програматорами на базі мікросхем FTDI, потрібно в каталог /etc/udev/rules.d/ додати файл з іменем, наприклад, 55-ftdi.rules та наступним вмістом:

# FTDI-based devices
#
# FTDI vid=0403
# FT2232, FT2232H: pid=6010
# FT4232H:  pid=6011
# FT232H:   pid=6014
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010|6011|6014", OWNER="root", GROUP="root", MODE="0666"

Якщо програматор було підключено, його слід відключити та знову підключити до комп’ютера. Перезавантажуватися непотрібно.

Правила написано з розрахунку на мікросхему FTDI, якій записом в конфігураційній EEPROM не замінено vid/pid за умовчанням. Якщо використовується адаптер з іншими vid/pid, треба додати відповідний рядок в цей файл.

Пакет OpenOCD містить в собі файл правил для всіх адаптерів, які він підтримує. При використанні з AVReAl з адаптером на мікросхемі FTDI з цього списку можна просто перенести файл правил OpenOCD в каталог /etc/udev/rules.d/. В правилах OpenOCD використано GROUP="plugdev", MODE="0664". Але я не бачу принципової різниці між цими двома варіантами на «десктопі», де всіх користувачів за умовчанням включено в групу plugdev, щоб вони могли підключати USB-флешки та переносні диски.

Звісно, щоб записати цей файл, права адміністратора знадобляться. Але після цього AVReAl працюватиме від імені будь-якого користувача.

Attached Files:

AVReAl @ XP/64, Windows7/32, Windows7/64

Не було б щастя, так нещастя допомогло.
Знайшов можливість самостійно перевірити роботу avreal під WindowsXP/64, Windows7/32, Windows7/64, досі я перевіряв лише під W2K та XP/32.
Поки-що лише для FTDI (FT2232) – з драйверами CDM 2.06.00 все працює. Найближчими днями буду розбиратися з LPT для перерахованих систем, перевірю різні драйвери та методи їх встановлення. Обговорення було на електроніксі десь з цього місця.

AVReAl update – 1.28r1

Вийшла нова версія програматора avreal – v1.28r1 (Sun 2010-01-31).

  • Додано підтримку FT2232H, FT4232H з можливістю використовувати для програмування обидва канали з MPSSE. Дозволені імена виводів перераховано в описові конфігурування.
  • Додано ключ -k для очікування натискання кнопки на адаптері програмування і відповідний конфігураційний запис key.
  • Додано модифікацію ключа -os для того, щоб задавати безпосередньо частоту SCK, а не частоту тактування мікроконтроллера.

Входить и виходить

Є такий термін — «винахід на застосування» — «застосування пристроїв за новим раніше невідомим призначенням». Ну це не зовсм воно, бо призначення те ж саме — заткнути дірку. Просто дірка інша 🙂

Як з’ясувалося, затичка гнізда зарядного пристрою/гарнітури/… мобільного телефона Siemens ME45 непогано підходить до гнізда USB.
Прямо як у відомого віслючка.
Так що кому жорстокі сертифікатори стріляють чим під руку трапиться у вільні гнізда USB і ноутбук від цього висне — шукайте десь контейнер з такими затичками, щоб вистачило на всю програму випуску, бо якщо вже внесете в комплектність, то треба мати.

Ну і мені з пів мішка відсипете. Бо у мене лише дві штучки — єдине, що залишилося корисного від подарованих мені кілька років тому залишків ME45-тих, нових корпусів до них (один пішов на заміну для такого ж телефона дружини) та кількох акумуляторів, які так і не піднялися 🙁 Жалкую, бо кращого телефона у мене не було, а мій старий вже не працює.

ME45_with_cover USB_with_cover
[flagcounter image]