Доброго времени суток! Дорогие форумчане, произошла такая вещь: использовал я сперва одни световые китайские модули со сдвиговиками SN16207S (инфы по ним нет), которые работали по принципу задвинул данные, дёрнул защёлку - получил данные на выход. Эти сдвиговики простые до безобразия и никаких проблем с ними не было. Теперь пришли светодиодные модули ТОЙ ЖЕ МОДЕЛИ, но с другим сдвиговиком, естественно, со старым кодом ничё не заработало. А стоят в них теперь сдвиговики ICN2038 и у этих сдвиговиков аж два конфигурационных регистра на борту (!). Нашёл микруку, с которой была слизана ICN2038, это оказалась MBI5038.
Собсно, сам вопрос: кто-нибудь работал с этой(ми) микрухой? Из ДШ я понял, что данные защёлкиваются только тогда, когда при поднятом LATCH подаём три клока. И у меня даже получилось рандомно вывести несколько пикселей. И самое интересное - в каждом байте происходит дикий сдвиг или вообще не выводятся ровно три (!) пикселя. Кто чем подскажет?
Плохо ты даташит изучил: Я мельком глянул - содержит 16 битовый сдвиговый регистр. (и не один. Общая память содержит 64 строчки по 32 бита) И все их надо заполнить 1 и 0. (как тебе надо). То есть: если ты впихнул всего 3 бита, то остальные будут нулики. Долго долго ждать, пока они все выскочат на выходе. А чо - нормальная микра. Надо как нибудь куда то её пристроить.
"...данные защёлкиваются только тогда, когда при поднятом LATCH подаём три клока..." я такое в даташите на MBI5038 не увидел. клоки вовремя 1 на LE нужны для общения с регистром конфигурации, а так : с 16ю клоками закидываете 16 бит, останавливаете клок и после тычка на LE (т.е. с возвратом на 0) - на выходе получаете 16бит в параллель, если есть разрешение на работу выходных ключей (OE и чего-то еще по температуре). для записи в регистр конфигурации: пишешь битики, за 4 клока до последнего бита (D0) поднимаешь LE, после 4го клока снимаешь LE - данные отправляются в регистр конфигурации. я такое насмотрел. может у Вас что-то с защитой не так, я анг.я. не очень, в эту тему не вникал.
Последний раз редактировалось a797945 Ср мар 28, 2018 18:36:13, всего редактировалось 2 раз(а).
с 16ю клоками закидываете 16 бит, останавливаете клок и после тычка на LE (т.е. с возвратом на 0)
Добавлю - Clock останавливать не обязательно, важно снять высокий уровень LE до прихода следующего фронта Clock (по спаду LE данные "защёлкиваются" в регистр хранения).
UPD:
Как я понял из даташита на MBI5038 - если не "отпускать" высокий уровень на LE (Load Enable), то начиная с 4-ого фронта сигнала Clock данные будут писаться в регистр конфигурации.
_________________ Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. Всегда с уважением, Александр.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Выше я упомянул, что MBI5038 - это то, с чего была слизана ISN2038. В модуле стоит именно ISN2038 (http://www.xlix.ru/datasheet/icn2038s.pdf). На пятой странице, если я правильно понял, говорится, что чтобы задвинуть данные в буфер, надо при поднятой защёлке три раза тыцнуть клоком. Собственно, я так и сделал, и при этом появилось хоть что-то на световых модулях, в отличае от того, когда я просто дёргал защёлкой один раз (0->1->0) после записи данных и ничего не происходило. Так что я пока не понимаю, когда надо дёргать защёлкой и с какого уровня в какой.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Т.е., если у меня развертка 1/4, то я при запрещённом OE наваливаю в сдвиговики данные каждой первой строки светоовых модулей, затем делаю тыц защёлкой и разрешаю выход опусканием OE (при этом каждая первая строка начинает светится огнями), а после продолжаю накидывать данные для каждых 2х 3их 4ых строк, и когда их необходимо поджечь, дёргаю OE?
Добавлено after 12 minutes 2 seconds: И если OE является как бы "разрешалкой" для показа следующих данных из кольцевого буфера, то напрашивается ещё один вопрос: как тогда рулить яркостью светового модуля, если раньше для этого юзался ШИМ на OE?
OE (Output Enable) здесь имеет ту же функциональность что и всегда, и является независимым (и не накладывает зависимости на остальные управляющие сигналы) сигналом.
_________________ Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. Всегда с уважением, Александр.
выложенный даташит показался мне довольно странным и тем не менее, заявлено - сдвиговый регистр с двумя защелками, на стр.7 показана работа с их участием (с обоими). при этом по спаду LE данные защелкиваются в первом регистре, по спаду на OE из первого данные защелкиваются во второй (он же выход). можно закидывать по 32бита. что подразумевается как буфер и как можно пользоваться раздельной записью в регистры (стр.5) внятно не раскрыто. можно подумать, что при опущенном OE и длительности LE 12 клоков выводиться будет сразу. дополню - на диаграммах (что на стр.7, что на стр.13) смена данных на выходе нарисована в присутствии импульсов на клоке, что бы было явно указано нужен ли импульс на клоке для переноса данных из регистра1 в регистр2 или не нужен я не увидел. во общем нужны эксперименты.
Последний раз редактировалось a797945 Чт мар 29, 2018 07:16:37, всего редактировалось 1 раз.
Данные из регистра сдвига отправляются либо в регистр хранения по спаду LE после 3-х тактов Clock, либо в регистр конфигурации №1 по спаду LE после 11-и тактов Clock, или в регистр конфигурации №2 по спаду LE после 12-и тактов Clock. Т.е грузим данные, поднимаем LE, ждём 3 такта Clock, опускаем LE и данные отправляются в регистр хранения (защёлкиваются). Если ждём 11 или 12 тактов Clock, то данные записываются в соответствующий конфигурационный регистр. Однако чем занимается в этот момент (с поднятым LE) сам регистр сдвига остаётся загадкой. То ли он продолжает двигать данные (3, 11 или 12 тактов, пока поднят LE), или же он останавливает сдвиг и ждёт опускания LE, после чего в зависимости от числа "пропущенных" тактов отправляет данные в нужный регистр. В первом случае получается что нужно поднимать LE за 3 такта до окончания передачи блока данных, т.е. после передачи 13-ого бита., и опускать после передачи 16-ого. Ну а во втором случае поднимать LE после окончания передачи блока данных, делать паузу в загрузке данных в регистр сдвига на 3 такта (приостановить только передачу данных, не прерывая Clock), после чего возобновить выгрузку данных в регистр.
Я понял это примерно так. ТС остаётся выяснить чем занимается регистр сдвига при поднятом LE.
_________________ Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. Всегда с уважением, Александр.
В общем, очень даже помогли ваши рассуждения, за что большое спасибо! В итоге, добился, чего хотел. С конфигурационными регистрами пока не разбирался, ибо незачем. Данные, которые мы хотим увидеть ан светодиодных панелях, записываются просто: если нам надо вкатить 128 бит данных, то начинаем их вкачивать, как в обычные сдвиговики типа hc595. Затем, перед тем, как задвинуть последние 3 бита, поднимаем защёлку, задвигаем их, опускаем защёлку. Дальше просто радуемся жизни.
Товарищи! Работал по алгоритму сообщением выше с китайскими LED-модулями на сдвиговиках ICN2038S, причём нормально до поры до времени, пока не словил хорошую помеху от сети и не получил плохо читаемую надпись "нет сигнала". То есть, надпись-то отображалась, но как будто поверх неё записались какие-то левые данные (или надпись была записана поверх левых данных).
Вложение:
Комментарий к файлу: Нет сигнала нет сигнала-min.jpg [254.74 KiB]
Скачиваний: 766
Вспомнил про то, что в ДШ на ICN2038S что-то писалось про двойную защёлку. Чтобы разобраться с управляющими сигналами, купили контроллер для управления LED-экранами HUDI HD-C10. Легче не стало. При показе данных на каждую 4ю линию (всего их 4, развёртка 1/4, Z или S -образная, не помню, в какую сторону) он успевает два (2! Может, это связанно как-то с двойной защёлкой?) раза записать выводимые данные. Если у кого-то хватит терпения, прошу помочь разобраться, как всё-таки управляются эти ПОДНЕБЕСНЫЕ модули.
Сейчас вывожу такую картинку для отладки, причём на максимальной яркости:
Вложение:
Комментарий к файлу: LED-модули LED-модули-min.jpg [228.1 KiB]
Скачиваний: 593
Снял Logic Analyserом сигналы с LED-модулей: 1) Общим планом, чтобы была видна структура пакетов.
Вложение:
Комментарий к файлу: Общий план Общий план.png [49.41 KiB]
Скачиваний: 534
2) Увеличен масштаб пакетов, пронумерован согласно нумерации на общем плане.
Прошу обратить внимание на запись данных в регистр конфигурации (11 импульсов клока при поднятой защёлке в файле 1.png), информации о котором я не нашёл, и на то, что в каждую линию (A,B,C,D) LED-контроллер пишет данные два раза, дёргая при этом ногу управления текущей линией и ногу OE, причём синхронно. Очень хочется понять, как всё-таки управлять этими LED-модулями.
На всякий случай, прикрепляю логи Logic 1.2.11 (файл весит аж 27 Мб, поэтому залил на яндекс.диск): https://yadi.sk/d/ZEfRT7KT3W4nX3
Добавлено after 15 minutes 3 seconds: Передёргивание текущей линии (например A) и OE происходит на середине передачи второй посылки. Не понимаю, почему и зачем это надо. Полная посылка состоит из 128 бит, т.к. экран из двух модулей имеет разрешение 16х64 пикселя.
Сейчас этот форум просматривают: avtar, Google [Bot] и гости: 30
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения