PCI AC5 АДАПТЕРНА КАРТКА / ДРАЙВЕР HAL
1. Адаптерна плата
Це карта, виготовлена Opto22 для адаптації PCI-порту до твердотільних релейних стійок, таких як їх стандартна серія або серія G4. Вона має 2 порти, які можуть керувати до 24 точками кожен, і 4 вбудовані світлодіоди. Порти використовують 50-контактні роз’єми, такі самі, як і плати Mesa. Будь-які релейні стійки/роз’ємні плати, що працюють з платами Mesa, повинні працювати з цією платою, з урахуванням того, що будь-які лічильники енкодера, PWM тощо повинні бути реалізовані в програмному забезпеченні. AC5 не має на борту жодної «розумної» логіки, це просто адаптер.
Більше інформації дивіться на веб-сайті виробника:
Я хотів би подякувати Opto22 за публікацію інформації в їхньому посібнику, що полегшило написання цього драйвера!
2. Драйвер
Цей драйвер призначений для карти PCI AC5 і не працює з картою ISA AC5. Драйвер HAL є модулем реального часу. Він підтримує 4 карти в поточній конфігурації (з можливістю підтримки більшої кількості карт після внесення змін до вихідного коду). Завантажте базовий драйвер таким чином:
loadrt opto_ac5
Це завантажить драйвер, який буде шукати максимум 4 плати. Він встановить вхід/вихід 2 портів кожної плати на стандартні налаштування. Стандартна конфігурація передбачає 12 входів і 12 виходів. Номери виводів відповідають позиції на релейній стійці. Наприклад, імена виводів для стандартних налаштувань входу/виходу порту 0 будуть такими:
-
opto_ac5.0.port0.in-00 - Вони будуть пронумеровані від 00 до 11
-
opto_ac5.0.port0.out-12 - Вони будуть пронумеровані від 12 до 23, порт 1 буде однаковим.
3. Піни
-
opto_ac5.[BOARDNUMBER].port[PORTNUMBER].in-[PINNUMBER] OUT bit -
-
opto_ac5.[BOARDNUMBER].port[PORTNUMBER].in-[PINNUMBER]-not OUT bit - Підключіть бітовий сигнал HAL до цього виводу, щоб зчитати точку вводу/виводу з плати. PINNUMBER позначає положення в релейній стійці. Наприклад, PINNUMBER 0 — це позиція 0 в релейній стійці Opto22 і буде контактом 47 на 50-контактному роз’ємі. Контакт -not інвертований, тому LOW дає TRUE, а HIGH дає FALSE.
-
opto_ac5.[BOARDNUMBER].port[PORTNUMBER].out-[PINNUMBER] IN bit - Підключіть бітовий сигнал HAL до цього виводу, щоб записати дані в точку вводу-виводу карти. PINNUMBER позначає положення в релейній стійці. Наприклад, PINNUMBER 23 — це положення 23 в релейній стійці Opto22 і буде контактом 1 на 50-контактному роз’ємі.
-
opto_ac5.[BOARDNUMBER].led[NUMBER] OUT bit - Вмикає/вимикає один із 4 вбудованих світлодіодів. Світлодіоди пронумеровані від 0 до 3.
НОМЕР ПЛАТИ може бути 0-3, НОМЕР ПОРТІ може бути 0 або 1. Порт 0 розташований найближче до кронштейна плати.
4. Параметри
-
opto_ac5.[BOARDNUMBER].port[PORTNUMBER].out-[PINNUMBER]-invert W bit - Якщо TRUE, інвертувати значення відповідного виводу -out так, щоб TRUE давало низький рівень, а FALSE - високий.
5. ФУНКЦІЇ
-
opto_ac5.0.digital-read - Додайте це до теми, щоб прочитати всі вхідні дані.
-
opto_ac5.0.digital-write - Додайте це до потоку, щоб записати всі вихідні точки та світлодіоди.
Наприклад, назви контактів для налаштувань вводу/виводу порту 0 за замовчуванням будуть такими:
opto_ac5.0.port0.in-00
Вони будуть пронумеровані від 00 до 11
opto_ac5.0.port0.out-12
Вони будуть пронумеровані від 12 до 23, порт 1 буде однаковим.
6. Налаштування портів вводу/виводу
Щоб змінити налаштування за замовчуванням, завантажте драйвер приблизно так:
loadrt opto_ac5 portconfig0=0xffff portconfig1=0xff0000
Звичайно, змінюючи номери відповідно до потрібних вам вводів/виводів. Кожен порт можна налаштувати по-різному.
Ось як визначити це число: номер конфігурації представляє собою 32-бітний код, який вказує карті, які точки вводу-виводу є вихідними, а які вхідними. Нижні 24 біти є точками вводу-виводу одного порту. Два найвищі біти призначені для двох вбудованих світлодіодів. Один біт у будь-якій позиції робить точку вводу-виводу вихідною. Два найвищі біти повинні бути вихідними, щоб світлодіоди працювали. Драйвер автоматично встановить два найвищі біти за вас, ми не будемо про них говорити.
Найпростіший спосіб зробити це - запустити калькулятор в розділі ПРОГРАМИ/АКСЕСУАРИ. Встановіть його в науковий режим (натисніть «Вид»). Встановіть його в ДВОЙКОВИЙ режим (перемикач «Bin»). Натисніть 1 для кожного виходу, який ви хочете, і/або 0 для кожного входу. Пам’ятайте, що контакт HAL 00 відповідає крайньому правому біту. 24 цифри представляють 24 точки вводу/виводу одного порту. Отже, для стандартних налаштувань (12 входів і 12 виходів) ви повинні натиснути 1 дванадцять разів (це виходи), а потім 0 дванадцять разів (це входи). Зверніть увагу, що перша точка вводу/виводу є найнижчим (крайнім правим) бітом. (цей біт відповідає виводу HAL 00 .дивиться назад) На екрані має бути 24 цифри. Тепер натисніть кнопку Hex. Відображене число (fff000) є номером конфігураційного порту (поставте перед ним 0x, щоб позначити його як число HEX).
Інший приклад: встановити порт для 8 виходів та 16 входів (те саме, що й у карти Mesa). Ось 24 біти, представлені у двійковому числі. Біт 1 — це крайнє праве число:
000000000000000011111111
Це перетворюється на FF на калькуляторі, тому 0xff – це число, яке слід використовувати для portconfig0 та/або portconfig1 під час завантаження драйвера.
7. Нумерація контактів
Контакт HAL 00 відповідає біту 1 (крайньому правому), який представляє позицію 0 на релейній стійці Opto22. Контакт HAL 01 відповідає біту 2 (на одне місце ліворуч від крайнього правого), який представляє позицію 1 на релейній стійці Opto22. Контакт HAL 23 відповідає біту 24 (крайньому лівому), який представляє позицію 23 на релейній стійці Opto22.
Контакт HAL 00 підключається до контакту 47 на 50-контактному роз’ємі кожного порту. Контакт HAL 01 підключається до контакту 45 на 50-контактному роз’ємі кожного порту. Контакт HAL 23 підключається до контакту 1 на 50-контактному роз’ємі кожного порту.
Зверніть увагу, що Opto22 і Mesa використовують протилежні системи нумерації: позиція 23 Opto22 = контакт 1 роз’єму, і позиція зменшується в міру збільшення номера контакту роз’єму. Позиція 1 Mesa Hostmot2 = контакт 1 роз’єму, і номер позиції збільшується в міру збільшення номера контакту роз’єму.