Вертикальные ореолы на матричной светодиодной RGB-панели 64x32 1/16 RGB

Я работал над созданием некоторых стандартных светодиодных матричных панелей, которые можно найти в Интернете для продажи (например, эта ), 64x32.

Я много боролся с отсутствием реальной документации, но мне удалось создать довольно приличный образ, используя FPGA и модуляцию двоичного кода. Однако у меня есть проблема с вертикальным ореолом, которую я не могу исправить.

введите описание изображения здесь

На изображении выше все тусклые пиксели в обведенной области должны быть отключены, но, как вы можете видеть, пиксели в первой строке — нет. Поскольку эти светодиоды наполовину выключены, они не ложатся на второй ряд.

Если я выключу светодиоды в ряду 16, полусветящиеся светодиоды в верхнем ряду полностью погаснут, предполагая, что 16-й ряд «перетекал» в первый (ряд 16 был последним рядом в верхней половине). На изображении ниже обратите внимание на то, что строка 16 (обведена кружком) сама по себе тускло освещена, несмотря на то, что она записана в ноль:

введите описание изображения здесь

Я не хотел публиковать свой код Verilog полностью, так как боялся, что это сделает сообщение слишком длинным, но я с радостью предоставлю его, если это поможет. Несмотря на это, основной процесс, которому я следую, чтобы нарисовать каждую пару верхней/нижней строки:

  • Синхронизируйте строку данных, используя сигналы RGB и CLOCK на панелях.
  • Пустой дисплей при высоком уровне OE
  • Заблокируйте данные строки, установив LATCH/STB в высокий уровень
  • Возьмите LATCH низкий уровень
  • Если мы находимся на последней (5-й) итерации BCM, увеличьте текущую строку (адресные контакты строки A, B, C, D), чтобы настроить для следующей пары строк.
  • Установите низкий уровень OE, чтобы снова включить отображение
  • Задержка до значения, необходимого для текущей итерации вывода BCM
  • Удвойте значение задержки для следующего прохода и повторяйте, пока строка не будет выведена 5 раз (5-битный BCM, 15-битный цвет).

Я был бы очень рад, если бы кто-нибудь мог просветить меня относительно того, что именно вызывает ореолы в первую очередь, и как я могу уменьшить/устранить их.

Я пытался замедлить процесс, перемещая время приращения строки/адреса так, чтобы оно происходило немного раньше и раньше, но, похоже, ничего не помогает.

Вы должны быть уверены, что есть «мертвое время», когда все светодиоды выключены, чтобы вы могли менять шаблоны без просачивания. Также относитесь к ним как к радиочастотным проектам, поскольку возврат заземления должен быть выполнен из толстой медной оплетки, если это возможно. Отскок земли также может вызывать эхо-изображения. Каждая строка или столбец должны иметь собственный возврат на землю или питание на общую точку на плате драйвера.
Красные пиксели выглядят чистыми, жаль, что нет даташита

Ответы (1)

Все диоды и переключатели имеют емкость при разомкнутой цепи или смещении без тока. Это приводит к медленному времени затухания после переключения коммутации.

Таким образом, это рассеяние или ореол имеет эффективное время затухания RC, которое зависит от скорости коммутации, емкости диода (которая также увеличивается с номинальной мощностью) и времени затухания драйвера.

Ваш выбор несколько, но зависит от реализации.

  • 1) добавить мертвое время или выключить все светодиоды непосредственно перед переключением на следующую строку и увеличить выдержку до исчезновения призрака за счет средней яркости
  • 2) зажать шину до достижения 0 мА в светодиодах и разрядить его внутреннюю емкость и шунтировать ток драйвера на каждый сигнал шины. Быстрее, но за дополнительную плату HW
  • 3) уменьшить скорость коммутации за счет риска мерцания периферического движения
  • 4) использовать двухтактные драйверы за счет большей стоимости аппаратного обеспечения
  • 5) использовать пассивный байпас через светодиодную шину, потребляя около 1% тока светодиода, но эффективно сокращая время выключения светодиода, когда в конце добавляется короткое мертвое время.
  • 6) использовать меньше светодиодов в мультиплексоре, чтобы уменьшить скорость коммутации без ущерба для мерцания, поэтому частота кадров не должна быть в 16 раз выше при использовании двух мультиплексоров от 1 до 8 или 4x 1:4 мультиплексированных светодиодов за счет большего количества оборудования.

Я бы поэкспериментировал с 5) ... добавьте 1 кОм на один светодиод, чтобы увидеть, уменьшится ли ореол (поглощение> 3 мА), а затем более или менее, чтобы увидеть, имеет ли это какой-либо эффект в качестве отправной точки.

В противном случае... Затем настройте свой двоичный код, чтобы сделать 1)

Имейте в виду, что эти 5-миллиметровые светодиоды имеют очень маленькие золотые усики, что делает их почти невидимыми, поэтому номинальный пиковый ток всего на 50% больше, чем номинальный, например, 30 мА против 20 мА, поэтому накачка большего количества может повредить проводную связь или добавить тепла к соединению. Кто знает, как они это сделали?

Ваши светодиоды могут немного отличаться по номиналу. Но именно поэтому старые 80-колоночные 11-сегментные светодиодные дисплеи, сделанные HP, не мультиплексировали их в 80 шагов, а были специально изготовленными КРАСНЫМИ светодиодами, выдерживающими 8-кратный ток с цифрами 1: 8 на коммутацию, как я помню с конца 70-х на HP9825s.