Можно ли подключить дисплей ILI9341 к Arduino на 5 В без преобразователя уровней?
Обновлено Редакция GAW
Даже если модуль с ILI9341 питается от 5 В через собственный стабилизатор, сам контроллер работает от 3,3 В. Вопрос не в питании, а в сигнальных линиях SCK, MOSI, CS, D/C и RESET: от Arduino Uno они приходят с уровнем 5 В.
Что говорит даташит
| Параметр | ILI9341 (VDDI = 3,3 В) | Arduino Uno (ATmega328P, 5 В) |
|---|---|---|
| Питание логики | 1,65–3,3 В | 5 В |
| Наибольшее напряжение на входе | VDDI + 0,3 = 3,6 В | VCC + 0,5 = 5,5 В |
| Порог единицы на входе | 0,7 · 3,3 = 2,31 В | 0,6 · 5 = 3,0 В |
| Уровень единицы на выходе | не меньше 0,8 · 3,3 = 2,64 В | около 5 В |
Расчёт порогов наш, по формулам даташитов. Вывод: 5 В от Arduino превышают предел входов ILI9341 на 1,4 В, а за пределами предельных режимов, по разд. 18.1 даташита, микросхема может быть необратимо повреждена. В обратную сторону (MISO) гарантированная единица дисплея — 2,64 В — ниже гарантированного порога ATmega328P 3,0 В, так что приём единицы не гарантирован вовсе.
Как подключить правильно
- Проверьте модуль. Если на плате рядом с разъёмом стоит буферная микросхема, уровни уже согласованы — тогда можно подключать напрямую. Если линии идут прямо на шлейф дисплея, согласование уровней нужно.
- Сигналы к дисплею — через неинвертирующий буфер с питанием 3,3 В. TI прямо описывает CD74HC4050 как преобразователь сверху вниз: его входы выдерживают напряжение выше собственного питания.
- MISO к Arduino — через буфер серии 74HCT с питанием 5 В, у которого порог единицы ниже; почему, объясняет ответ «Можно ли поставить 74HCT вместо 74HC».
- Или возьмите плату на 3,3 В — ESP32, STM32, Arduino с логикой 3,3 В — и подключайте без буферов.
Другие схемы преобразователей уровней собраны в статье «Согласование логических уровней 3,3 и 5 В», а что значит толерантность к 5 В у входов микроконтроллеров — в глоссарии. Команды и подключение дисплея — в статье «TFT-дисплей на ILI9341».
Похожие вопросы
Почему дисплей работает от 5 В, хотя по даташиту нельзя?
Лишний ток, скорее всего, уходит через входные защитные цепи в шину питания 3,3 В, и какое-то время это работает. Но в разд. 18.1 даташита ILI Technology предупреждает: за пределами предельных режимов ILI9341 может быть необратимо повреждён, а превышение даже кратковременно ухудшает качество микросхемы. То, что дисплей пока работает, ничего не гарантирует.
Можно ли обойтись резисторами вместо буфера?
Последовательные резисторы ограничивают ток через защитные диоды, но напряжение на входе всё равно выше допустимого, а делители затягивают фронты на высокой частоте SPI. Буфер с питанием 3,3 В надёжнее.
Нужно ли согласовывать линию MISO от дисплея к Arduino?
Да. ATmega328P при 5 В гарантированно видит единицу только от 0,6 · VCC = 3,0 В, а ILI9341 гарантирует на выходе не меньше 0,8 VDDI — 2,64 В при 3,3 В (наш расчёт). Гарантированная единица дисплея ниже гарантированного порога Arduino, то есть приём единицы вообще не гарантирован; нужен буфер, например серии 74HCT с питанием 5 В.
Источники
- ILI Technology. ILI9341 a-Si TFT LCD Single Chip Driver, Specification V1.11 (ILI9341_DS_V1.11) — разд. 1 — питание логики VDDI 1,65–3,3 В, аналоговое VCI 2,5–3,3 В; разд. 18.1 Absolute Maximum Ratings — за пределами предельных режимов ILI9341 может быть необратимо повреждён; VDDI и VCI от −0,3 до +4,6 В, входное напряжение логики от −0,3 В до VDDI + 0,3 В; превышение даже кратковременно может ухудшить качество изделия; разд. 18.2 — VIH не меньше 0,7 VDDI, VOH не меньше 0,8 VDDI
- Microchip. ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet (DS40002061B, 2020) — DC Characteristics: VIH не меньше 0,6 VCC при VCC от 2,4 до 5,5 В
- Texas Instruments. CD54HC4049, CD74HC4049, CD54HC4050, CD74HC4050 High-Speed CMOS Logic Hex Buffers (SCHS205I, revised February 2005) — изменённая входная защита позволяет использовать буферы как преобразователи уровня сверху вниз при питании от низкого напряжения; входное напряжение до 16 В в предельном режиме и до 15 В в рабочем
Нашли ошибку?
Смотрите также
- TFT на ILI9341Питание, SPI с D/CX, RGB565 и RGB666, окно записи, поворот, инициализация
- Преобразователь уровнейМикросхема, согласующая логические сигналы разных напряжений
- Вывод FT (5 V tolerant)Вход на 3,3 В, выдерживающий 5 В, и его условия
- Можно ли поставить 74HCT вместо 74HC?При 5 В — да, при 2–4,5 В — нет: питание HCT только 4,5–5,5 В
- Согласование уровнейПрямое соединение, делитель, диоды, MOSFET-транслятор, I²C на BSS138