Аналізатори портів (COM, LPT і USB)

  1. Контроль послідовного порту комп'ютера (COM)
  2. Контроль паралельного порту комп'ютера (LPT)
  3. Контроль USB-порту комп'ютера

Олег Татарників

Контроль послідовного порту комп'ютера (COM)

Контроль паралельного порту комп'ютера (LPT)

Контроль USB-порту комп'ютера

Сьогодні комп'ютерні віруси буквально наводнили світ і вільно переміщаються по Інтернету, тому коли мова заходить про портах, то більшість користувачів частіше згадують про логічних портах, які в таких мережевих технологіях, як TCP / IP або UDP, використовуються для організації каналів зв'язку, і забувають про фізичних портах для підключення зовнішніх пристроїв. Втім, навіть для підключення принтерів, мишей і клавіатур все частіше застосовуються високошвидкісні USB-порти і все рідше - старі добрі COM і LPT (послідовний і паралельний порти). Однак останні є навіть в самих сучасних комп'ютерах, і, напевно, прийшов час використовувати їх для якихось інших цілей (скажімо, для управління тим чи іншим спеціалізованим пристроєм).

Для того щоб відстежити обмін між комп'ютером і якимось пристроєм, як раз і є необхідними програми - аналізатори портів.

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

Контроль послідовного порту комп'ютера (COM)

Одну з програм для аналізу послідовного порту написав Валерій Ковтун ( http://valery-us4leh.narod.ru/ ). Спасибі йому за гарний інструмент!

Програма називається Com Port Visual Control ( http://valery-us4leh.narod.ru/ComVC.html ), Поширюється безкоштовно і призначена для візуального контролю, документування обміну даними і дослідження процесів, що відбуваються в приймач-UART під час роботи додатків, що використовують СОМ-порт персонального комп'ютера. Функціонує ця програма в середовищі Windows 9x / Me / NT / 2000 / XP і здійснює постійний перегляд (моніторинг) всіх регістрів мікросхеми UART. Контролер має формат 8x8 (вісім регістрів по вісім біт) і для кожного регістра незалежно відображається: поточний стан (одночасно в десятковому і в шістнадцятковому форматі), а також логічне стан. Крім того, програма може записувати значення в регістри (також в обох форматах - десятковому та шістнадцятковому) і відповідно управляти логічним станом. Крім цього вона відстежує зміни в регістрах і веде протокол (LOG) згідно командам приймача мікросхеми UART, а також веде протокол прийнятих і переданих даних на рівні машинних кодів. Після роботи програма переглядає і зберігає LOG-файли і може здійснювати в них пошук необхідної інформації.

Com Port Visual Control має вбудований приймач для стандартної налаштування режимів порту: бітів даних, степових бітів, швидкості, парності, контролю помилок, можливості прийому і передачі текстових даних і команд модему, а також індикатор контролю активного стану команд UART (підтримується 17 основних команд) . Крім того, здійснюється контроль портів комп'ютера з одночасним відображенням групи регістрів і бітів стану і ведеться протокол зміни даних в базовому регістрі.

З подібних програм можна відзначити безкоштовну утиліту ComLite32 компанії Realtime Communications (RTCOMM, http://www.rtcomm.com/ ), Написану для Windows 95, і її розширену платну версію ComLab32 ( http://www.rtcard.com/comlab32.html ).

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

Програма має зручний і інтуїтивно зрозумілий інтерфейс, який полегшує стеження за обміном, управління портами введення-виведення і постачання докладної онлайнової документацією

Програми ComLite32 і ComLab32 працюють з портами RS-232, RS-422, RS-485 і RTX485 (з останнім портом - тільки на читання) і дозволяють вести протокол обміну з цими портами в обох напрямках. Системні вимоги програми ComLite32 мінімальні: всього 8 Мбайт оперативної пам'яті, 6 Мбайт дискового простору і хоча б один пристрій, що працює з послідовним портом (включаючи PCMCIA-модеми ноутбуків).

І нарешті, хотілося б відзначити програми Advanced Serial Port Monitor і Advanced Serial Data Logger компанії AGG Software ( http://www.aggsoft.ru ). Advanced Serial Data Logger обробляє дані, отримані по RS-232, і передає їх в файл Excel, Access, або в будь-яке інше додаток Windows. Програма надає можливість в реальному часі збирати дані з будь-якого пристрою, а також приймати і передавати дані по інтерфейсу RS-232 або по інтерфейсу RS-485 при наявності апаратного конвертора. Advanced Serial Data Logger збирає дані з послідовного порту, обробляє їх відповідно до потреб користувача, виділяє блоки даних із загального потоку, а потім передає дані в будь-який додаток Windows або DOS - шляхом натискання відповідних клавіш у вікні програми. Дані передаються через DDE (Dynamic Data Exchange), ODBC, OLE і т.д. Це рішення можна використовувати в автоматизованих системах збору даних або в системах аналізу дзвінків офісних АТС.

Advanced Serial Data Logger також може передавати запити і команди через послідовний порт для безпосереднього керування пристроями по ASCII (за замовчуванням) або MODBUS-протоколу. Таким чином, програма Advanced Serial Data Logger стає сервером введення-виведення. Що стосується управління і настройки, то вони дуже прості і інтуїтивно зрозумілі. Додаткове програмування для збору даних не потрібно.

Крім того, Advanced Serial Data Logger може працювати як сервіс під Windows NT / 2000 / XP / 2003, який стартуватиме при завантаженні системи і записувати дані з послідовного порту в файл на диску або в інші зазначені місця ще до входу користувача в систему (і продовжить функціонувати після завершення сеансу користувача).

Програма має можливість запуску декількох копій на одному комп'ютері, так що кілька портів можуть протоколюватися одночасно.

Що стосується програми Advanced Serial Port Monitor, то вона може стати в нагоді як початківцям користувачам, так і професіоналам.

Advanced Serial Port Monitor може служити як для спостереження за передачею даних іншими додатками, так і для відправки і прийому даних через послідовний порт комп'ютера (RS-232). Програма надає різні способи збереження даних в файл або візуалізації їх на екрані монітора.

Таким чином, ви можете працювати з будь-якими пристроями, що працюють по інтерфейсу RS-232 або RS-485 (RS-422) при наявності відповідного перетворювача. Ви будете спостерігати за обміном даними між будь-яким Windows-додатком і зовнішніми пристроями, приєднаними до послідовного порту. Це може бути або вимірювальний пристрій, або домашня радіостанція, або ж інший комп'ютер, з'єднаний через z-модемний або нуль-модемний кабель.

Advanced Serial Port Monitor підтримує дуплексний режим роботи, тобто ви можете спостерігати за обміном в обидві сторони, не використовуючи інші програми і не перериваючи роботу інших додатків. Вся проходить через послідовний порт інформація відображається на екрані в спеціальному вікні і може бути записана в файл. Все відображаються параметри можна змінювати під час роботи. При цьому програма підтримує два режими - автоматичний і ручний, тобто можна відсилати дані після натискання кнопки «Відправити» або вони будуть відправлятися автоматично через певний інтервал (від 10 до 10 000 мс).

За допомогою додаткових модулів можна не тільки приймати дані або передавати команди, але і емулювати роботу якихось конкретних пристроїв, а в режимі спостерігача (перехоплювача) - просто стежити за обміном даними між зовнішнім пристроєм, підключеним до послідовного порту, і якимось додатком Windows. І нарешті, Advanced Serial Port Monitor має свій вбудований мова написання сценаріїв, за допомогою якого можна запускати програму з попередньо встановленими опціями і діями, а також виконувати команди з модулів.

Контроль паралельного порту комп'ютера (LPT)

У Валерія Ковтуна є і інша корисна комунікаційна програма - LPT 3D Hard Analyzer. Програма представляє собою графічний запам'ятовує аналізатор-осцилограф, призначений для зняття цифрових сигналів і протоколів пристроїв, підключених до паралельного порту комп'ютера в ОС Windows 95/98 / Mе / NT / 2000 / XP.

LPT 3D Hard Analyzer працює через LPT-порт і дозволяє аналізувати п'ять вхідних ліній (каналів) і 12 вихідних каналів (тобто управляти цифровими сигналами з комп'ютера) в режимі SPP або маніпулювати чотирма вихідними і 14 вхідними параметрами в режимі EPP. Двохнаправлений ЕРР-режим паралельного порту передбачений практично на всіх комп'ютерах, випущених після 1993 року. Іноді, правда, він не включений за замовчуванням в BIOS (це необхідно перевірити і по можливості - включити).

При роботі в режимі осцилографа програма запам'ятовує всі 17 графіків (ліній), глибина (відображається довжина графіка за часом) яких обмежена тільки вільною пам'яттю комп'ютера (а з урахуванням файлу підкачки в OC Windows це буде кілька сот мегабайт). Також доступна можливість автоматичного збереження кожної нової сторінки в графічному форматі.

Також доступна можливість автоматичного збереження кожної нової сторінки в графічному форматі

Аналізатор-осцилограф LPT 3D Hard Analyzer будує графіки зміни даних в двовимірному і тривимірному вигляді, а також показує дві незалежні діаграми: 17-канальний осцилограф (по біту на канал) і графік регістрів порту (вхідних, вихідних, контрольних). Є регулювання швидкості аналізу, і відображається загальна кількість циклів за весь період просування графіка. Можна програмувати і кількість циклів з можливістю копіювання графіків в пам'ять (глибина побудови обмежена тільки доступною оперативною пам'яттю комп'ютера). Програма має засоби для економії системних ресурсів під час зчитування даних з високошвидкісних пристроїв, підключених до LPT-порту і синхронізованих з ним даною програмою (тобто вона може застосовуватися на відносно слабких комп'ютерах). При відключенні графічного режиму виведення на дисплей графіки копіюються тільки в пам'ять комп'ютера - в результаті швидкість роботи програми підвищується в десятки разів. Після закінчення аналізу графік проглядається так само, як якщо б він був переведений в графічний режим відображення. Прокрутка графіків здійснюється плавно і посторінково (правою кнопкою миші). Є гнучка настройка швидкості і кроку прокрутки, а також можливість автоматичного стиснення всієї діаграми в межах однієї сторінки. Знімки стану обраної сторінки графіка можна запам'ятовувати в форматах BMP і WMF (Windows-метафайл) або задавати автоматичне збереження в окремий файл кожної нової сторінки. Для перегляду в пакеті є вбудований браузер графічних файлів.

Модуль управління портами заснований на ядрі коду іншої програми Валерія Ковтуна - XP LPT, що використовує драйвер введення-виведення LPT WDMIO.

Програма XP LPT призначена для управління паралельними портами комп'ютера з ОС Windows 9x / 2000 / XP і має наступні можливості:

  • проводить автоматичну реєстрацію драйвера в Windows XP на правах адміністратора системи;
  • веде автоматичну перевірку встановлених портів;
  • здійснює одночасне читання регістрів даних, контролю та стану обраного LPT-порту;
  • відображає вміст регістрів одночасно в різних форматах (десятковому і шістнадцятковому), що позбавляє від необхідності перерахунку.

У цієї програми доступний вихідний код, опис, а також приклади створення програм для управління зовнішніми пристроями за допомогою паралельного порту на основі даного рішення.

У цієї програми доступний вихідний код, опис, а також приклади створення програм для управління зовнішніми пристроями за допомогою паралельного порту на основі даного рішення

Як ми вже згадували, програма функціонує через драйвер введення-виведення LPT WDMIO і призначена спеціально для навчання і налагодження самостійно виготовлених програм управління зовнішніми пристроями за допомогою паралельного порту в середовищі Windows.

Валерій Ковтун також створив програму PortControl, яка використовується для управління паралельним портом з 17-бітовим аналізатором протоколу обміну даними пристроїв, що використовують LPT-порт комп'ютера. Програма написана для сімейства ОС Windows і володіє наступними можливостями:

  • є три незалежні канали, за допомогою яких реалізуються введення адреси порту (регістра), автоматичне читання даних з порту, запис даних в порт в десятковому і шістнадцятковому форматі, а також відображення даних в форматах bite, word і Dword;
  • відображається стан кожного з 17 бітів LPT-порту і здійснюється управління вихідними битами;
  • є дев'ять програмованих банків пам'яті порт / дані;
  • працює 17-канальний аналізатор-осцилограф логічного стану кожного біта з можливістю установки швидкості аналізу (за часом), синхронізації за допомогою одного з 17 бітів - як по вищому розряду (1), так і за низьким (0), а також працює лічильник переданих даних по кожному біту і багато інших функцій для зручної перевірки і настройки цифрових пристроїв, підключених до комп'ютера.

Ця програма може використовуватися як в якості цифрового багатоканального осцилографа, так і для управління зовнішніми пристроями за допомогою комп'ютера.

Ця програма може використовуватися як в якості цифрового багатоканального осцилографа, так і для управління зовнішніми пристроями за допомогою комп'ютера

Програми аналізу та управління портами можуть мати різні застосування. По-перше, їх можна використовувати для детальної перевірки та тестування працездатності паралельного порту комп'ютера, наприклад для перевірки швидкодії LPT-порту і системи в цілому за допомогою режиму Test out. Причому всі операції зручно спостерігати в часі за допомогою вбудованого 17-канального аналізатора-осцилографа з можливістю гнучкого налаштування під певний тип вимірювань.

Для аналізу підключених до комп'ютера високошвидкісних шин передачі цифрових даних різних радіоелектронних пристроїв і мікросхем рекомендується комп'ютер з частотою процесора не нижче 300 МГц. Але для низькошвидкісних пристроїв нормально працюють і більш слабкі комп'ютери під управлінням Windows 95.

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

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

По-четверте, програми-аналізатори виявляться дуже корисними для ремонту оргтехніки, так чи інакше використовує паралельний порт комп'ютера, - різних принтерів, сканерів, касових апаратів і інших пристроїв.

По-п'яте, перераховані програми знадобляться починаючим програмістам. Наприклад, якщо ви вирішили написати невелику програму для управління тими чи іншими зовнішніми пристроями за допомогою паралельного порту, то вам буде дуже зручно візуально спостерігати алгоритм роботи вашої програми в багатофункціональному інтерфейсі PortControl. В результаті вам вдасться вчасно виявити і усунути допущені помилки без використання вимірювальних приладів на виході порту і без втручання в схемотехнику керованого пристрою.

В результаті вам вдасться вчасно виявити і усунути допущені помилки без використання вимірювальних приладів на виході порту і без втручання в схемотехнику керованого пристрою

І нарешті, для паралельного порту Валерій Ковтун пропонує корисну програму PinRegistrator, призначену для спостереження і реєстрації логічного стану бітів LPT-порту. Написана програма під Windows 95/98 / Me і веде протокол стан паралельного порту автоматично або вручну.

Контроль USB-порту комп'ютера

У вищезгаданій компанії AGG Software існують програми, призначені для аналізу та моніторингу USB-портів, шин, контролерів і пристроїв. Наприклад, Advanced USB Monitor ( http://www.aggsoft.ru/usb-monitor/index.htm ) Дозволяє захоплювати, аналізувати, переглядати і переробляти USB-трафік для ефективної налагодження і тестування USB-пристроїв. Підтримуються пристрої, які відповідають усім специфікаціям: UHCI- (старі пристрої USB 1.x, що працюють на швидкостях до 1,5 Мбіт / с), OHCI- (пристрої USB 1.x наступного покоління, що працюють на швидкостях до 12 Мбіт / с) і , нарешті, пристрої EHCI-стандарту USB 2.0 (працюють на швидкостях до 480 Мбіт / с). Advanced USB Monitor дозволяє розширити лабораторний інструментарій як розробників USB-пристроїв, так і просунутих користувачів.

Advanced USB Monitor дозволяє розширити лабораторний інструментарій як розробників USB-пристроїв, так і просунутих користувачів

Advanced USB Monitor может відображаті передані пакети даних до чітається, декодуваті дескриптори, візначаті помилки в пакетах и ​​вімірюваті продуктивність прістроїв. Во время Захоплення пакети Даних могут відображатіся в реальному часі, что дозволяє відстежуваті стан прістроїв. Пакети Даних зберігаються в хронологічному порядку и містять повну інформацію про адреси и кінцевіх точках. Це дозволяє дуже просто ідентіфікуваті пакети, фільтруваті їх и Здійснювати по ним поиск. Програма надає кілька рівнів деталізоване відображення вмісту. Швидке декодування USB-трафіку дає можливість працювати навіть з такими швидкісними пристроями, як USB-диски або USB-камери. Причому захоплення, моніторинг і запис захоплюваних даних відбуваються в реальному часі. За допомогою Advanced USB Monitor ви можете переглядати трафік в той же самий момент, коли він виникає, причому одночасно для ряду USB-пристроїв за допомогою декількох одночасно відкритих вікон моніторингу.

Використання драйвера ядра для захоплення даних з підтримкою WDM, WMI, Power Management і PNP дозволяє досягти повної сумісності з операційною системою і USB-пристроями, забезпечуючи максимальну швидкодію.

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

За тим же принципом, що і вищеописані аналізатори-осцилографи для паралельного порту, працюють і USB-осцилографи ( http://www.usb-osc.narod.ru/ ). USB-осцилограф в першу чергу призначений для радіоаматорів, які за родом своєї діяльності стикаються з необхідністю проводити аналіз низькочастотних аналогових сигналів, реєструвати тривалі повільно мінливі процеси, а також дослідити виконавчі сигнали від різних пристроїв. Крім того, USB-осцилограф може бути використаний в якості простого двоканального вольтметра для напружень в діапазоні +/- 20 В, частотоміра для частот сигналів до 50 кГц або пробника із звуковим оповіщенням.

Крім того, USB-осцилограф може бути використаний в якості простого двоканального вольтметра для напружень в діапазоні +/- 20 В, частотоміра для частот сигналів до 50 кГц або пробника із звуковим оповіщенням

Отже, USB-осцилограф забезпечує наступні режими роботи:

  • двоканальний осцилограф (маркерні вимірювання, синхронізація, вимір напруги і частоти сигналу, фільтрація і т.д.);
  • двоканальний спектроаналізатор (маркерні вимірювання, різні віконні функції, фільтрація і т.д.);
  • двоканальний самописець (маркерні вимірювання, запис сигналу протягом декількох десятків годин і т.д.);
  • 8/16-канальний логічний аналізатор (маркерні вимірювання, синхронізація, пропуск заданого кількості імпульсів, пошук заданої логічної комбінації, розшифровка інтерфейсів UART, SPI, I2C, 1-Wire і т.д.);
  • 8-канальний логічний генератор (табличне завдання сигналу або безпосередня побудова тимчасових діаграм мишею і т.д.).

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

Однак USB-осцилографи - це вже не просто програми, а пристрої, виконані у вигляді зовнішніх блоків з USB-інтерфейсом і супроводжувані обслуговуючими їх програмними модулями. Тобто це цілий універсальний вимірювальний комплекс, що складається з комутаційної приставки і комп'ютера. До речі, проводити оновлення прошивки такого пристрою можна по USB-шині, що дозволяє доповнювати можливості пристрою будь-якими функціями на замовлення.

Проводять такі пристрої українська компанія Da-Labs ( http://www.da-labs.com/ ) І російська компанія «Трейд-М» (http://motor-master.ru/index.htm/). Ціна комплекту російської фірми становить 1850 руб. без урахування доставки.

Отже, озброївшись необхідним інструментарієм, ми тепер маємо можливість самостійно писати програми управління різними зовнішніми пристроями за допомогою будь-яких портів нашого комп'ютера.

КомпьютерПресс 6'2006