Raspberry Pi:Типовые проблемы/Проблемы с логическими уровнями (при работе с LCD, UART и другими логическими устройствами)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Проблемы с логическими уровнями (при работе с LCD, UART и другими логическими устройствами)[1]

GPIO-контакты Pi работают с двумя уровнями напряжения – на них подается либо около 3.3v, либо около 0v. Конечно, есть исключения, но для большинства современных логических устройств напряжения в 3.3v недостаточно. Например, LCD-контроллером у многих LCD с разрешением 16х2 является либо KS0066, либо HD44780 – при питании в 5v этим контроллерам нужно как минимум 3.8v, поэтому если подавать 3.3v, и для передачи значения HIGH этого может не хватить.

Это будет искажать показываемые на дисплее символы, а то и вовсе не позволит управлять дисплеем.

Конечно, можно при помощи сдвига уровня сделать так, чтобы на GPIO вместо 3.3v подавалось приблизительно 5v, но для этого нужно как минимум шесть схем сдвига уровня. Впрочем, есть и более простое решение – это снизить напряжение, которым питается LCD, и вместо 5v подать 4v. LCD-контроллер будет прекрасно работать и на 4v, но вместе с тем это понизит и необходимый порог для значения HIGH. Один из самых простых способов понизить напряжение – это добавить диод между 5-вольтовым питанием и контактом питания LCD-контролера (Vcc). Для этого подойдет практически любой диод, но мы рекомендуем 1N4148.

Проблемы с логическими уровнями могут затронуть и системы цифрового ввода вроде сдвиговых регистров. Поэтому мы перед покупкой девайса рекомендуем проверять «даташит» устройства на предмет того, какое значение имеет показатель VIH (voltage input high, т.е. «входное напряжение для значения HIGH») – если он ниже 3.3v, то все нормально.

См.также

Внешние ссылки