Страница 1 из 1

Подключение к линии дискретного порта

СообщениеДобавлено: 31 янв 2013, 20:44
ilya
Добрый вечер!
Пытаюсь подключиться к линии дискретного порта BH-40(J3) EXT_DATA15 (бит регистра EXT_HI).
Выводы порта подключал к электрической схеме, где последовательно включены источник постоянного напряжения 3 В и резистор 300 кОм.
При этом амперметр ток не регистрирует вообще, вольтметр показывает на линии напряжение 2,2 В.
В регистр ENA записывал значения 0х40 и 0х43.
При этом если программно обратиться к регистру EXT_HI, то при значении регистра ENA 0x43 всё нормально считывается/записывается.
Подозреваю, что забыл установить какой-нибудь флаг или произвести какую-нибудь инициализацию... ну или не понял чего-то концептуального:(

Re: Подключение к линии дискретного порта

СообщениеДобавлено: 01 фев 2013, 01:02
h0rr0rr_drag0n
Выводы порта подключал к электрической схеме, где последовательно включены источник постоянного напряжения 3 В и резистор 300 кОм.
При этом амперметр ток не регистрирует вообще, вольтметр показывает на линии напряжение 2,2 В.

Судя по процитированному, представления о работе параллельного порта расходятся с реальностью. Как я понимаю, ожидается, что при подаче логической единицы в соответствующий бит регистра EXT_HI, выводы порта замкнутся и через них потечет ток от внешнего источника, который и будет зарегистрирован измерительными приборами.

На самом деле, все не так. Если в EXT_HI записать 0x80, то на линии №15 параллельного порта появится напряжение -- около 3В. Грубо говоря, соответствующие выводы регистра EXT_HI просто напрямую подключены к ножкам 8-15 параллельного порта; и когда в одном из разрядов у нас 1, то на соответствующей ножке -- напряжение, соответствующее логической единице (для используемой нами микросхемы ПЛИС -- как раз 3.3В). Соответственно и для 0.

Про ENA написано верно. Первые два бита должны равняться единице, если нужно выводить данные через параллельный порт.