Лучше быть голодным, чем есть что попало,
лучше быть одиноким, чем быть с кем попало.
Омар Хайям

Меню навигации для мобильных

Последние сообщения

#1
Цифровая техника / Re: Светодиодные матрицы
Последний ответ от zenon - Сегодня в 00:25
Давай называть пины так, как я их задефайнил, а то запутаемся.
nOE, PinA, PinB, SCLK - ногодрыг и SPI ноги - CLK, MOSI (PA5/PA7).
У F103 камня управление третьей ногой SS аппаратное реализовано как-то не верно, никто им не пользуется, только две ноги хардварного SPI у всех, не вдавался в подробности почему.
В принципе и у F0 делал также.
#2
Цифровая техника / Re: Светодиодные матрицы
Последний ответ от Slabovik - Вчера в 23:02
nOE... я забыл про него.
RDY - это не оно. Это строб, по фронту которого происходит перезапись данных из регистра сдвига в выходной регистр.
Тогда да, nOE пусть остаётся как есть. Потому что выход надо "погасить" перед подъёмом RDY и "зажечь" после выставления строки AB.

Гм, оборванный вывод? Это вполне проблема, да... Жаль, что у STM даташиты такие разбросанные. Не случилось ли какой рестрикции из-за конфигов. Но это читать много надо, так не помню, практиковался совсем мало  :-\

Ну трындец какой-то. Я тутпро RDY вещаю, а на входе матрицы этой фигни нет. В общем, RDY - это ST на микросхемах, формируется как-то автоматом. Давай я завтра, как время будет, возьму и на основе уже этой схемы нарисую циклограммы, как там вообще должно быть. А то я по памяти всё, и... промахиваюсь...

и,да... OE по схеме не задействован, так что совсем печалька...
#3
Цифровая техника / Re: Светодиодные матрицы
Последний ответ от zenon - Вчера в 22:36
RDY это nOE? Который шимить можно?
Тут понял что у меня происходит, PA15, я его и так и эдак - не вижу, как был высоким так и остаётся высоким....
... ну и перекиул сначала на PA6, - и сразу увидел его анализатором, завёл на enable, вижу оба состояния.
перекинул инит на PB15, чтобы себя проверить, не напутал ли я что-то с кодом, нет всё ок, рабодает.
В что с PA15 не пойму, те же манипуляции с ним - не реагирует никак, козы на плате нет, до своей ноги звонится.
Может и до этого была проблема из-за него.
#4
Цифровая техника / Re: Светодиодные матрицы
Последний ответ от Slabovik - Вчера в 21:30
При инициализации устанавливаем RDY (OE? не помню, как там на картинке) в 1, Clk тоже в 1

При передаче
1. Опускаем RDY
2. запускаем SPI (для одной строки 32x16 надо передать (32/8)*(16/4)=16 байт. Если передать меньше, то строка не обновится полностью - переданное ранее просто сместится далее по регистрам. Байты можно придумать разные, хоть 1-2-3-4-5...
3.a Поднимаем RDY
3.б Выставляем строку AB

Эти два действия надо сделать с минимальным интервалом времени, причём порядок даже не важен. Если разнести во времени, то между этими действиями выведенные данные  светятся на "чужой" строке, а это нам сейчас не надо (можно загонять конечно между делом 16 нулей, либо "жать резет", но это не сейчас).

Далее перво-наперво, посмотри осциллографом, как выглядит Clk.
Далее можно зацепить каналы на Rdy и Data. Синхронизацию на Rdy прицепить по спаду - на экране будет начало посылки. Прицепить по подъёму - будет конец посылки. Ну там разберёшься...
#5
Цифровая техника / Re: Светодиодные матрицы
Последний ответ от zenon - Вчера в 20:57
Да, вероятно скорость выше, анализатор обычный на стм-ке 24МГц может максимум.
---
У меня таки оно ожило, но пока не так как надо, потому что метод не тот, ну и передаю я всего одну посылку 8-бит, а надо 16.
Сейчас над распутать алгоритм передачи.
Из вышеупомянутой ссылки он такой:
Цитата1. Выдаём по SPI данные для сдвиговых регистров.
2. Устанавливаем лог. 0 на ножке nOE.
3. Устанавливаем лог. уровни на ножках A и B в соответствии с обновляемой группой светодиодов (одной из четырёх).
4. Выдаём на ножку SCLK короткий положительный импульс.
5. Устанавливаем лог. 1 на ножке nOE.
Для переключения PinA-PinB сделал функцию:
void PINAB_change(uint8_t col){
  switch (col) {
    case 0: {PinA0; PinA0;};
    case 1: {PinA0; PinA1;};
    case 2: {PinA1; PinA0;};
    case 3: {PinA1; PinA1;};
  }
}

дальше вопрос в SPI, настроил на 8-ми битный режим, main такой:
do {
  uint8_t _data = 0; // то, что запишем в SPI
  for (col = 0; col < 4; col++) {
    SPI1_send(_data); // 1. передаём данные
    nOE0; // 2. Устанавливаем лог. 0 на ножке nOE
    PINAB_change(col); //  лог. уровни на ножках A и B
    SCLK1; // 3. выдаём на ножку SCLK короткий положительный импульс
    dummy_loop(10);
    SCLK0;
    nOE1;
  }
  delay_ms(10);
  } while (1);
}
Результат происходящего:
https://youtu.be/fBkpjaoDfQo

:: добавлено 01 Май, 2024, 20:07
ы. Да, без RDY (MISO) каша, надо попробовать третий провод и нормально посмотреть.
#6
Цифровая техника / Re: Светодиодные матрицы
Последний ответ от Slabovik - Вчера в 20:11
Видишь лес. А надо смотреть деревья. Пакеты идут много быстрее, чем настроен анализатор. В итоге весь пакет выглядит иголкой. В итоге ничего не видно.
Я не особо разбирался в инитах, но на какой скорости там должно ходить всё? Для разборок не стоит делать высокую скорость, не более мегагерца, а лучше ниже.
И ещё. Там есть третий сигнал. Его тоже надо бы смотреть. Он очень помогает в разборках, если настроен правильно: перед передачей строки его надо опустить, а по окончании поднять, чем переданная информация (строка) будет передана на выход регистров.

Попробуй описывать словами, что именно делаешь. Т.е "настраиваем таймер SPI на такую-то скорость... поднимаем RDY...опускаем......

В общем, clk должен быть похож на меандр, примерно. Data - как попадёт, но меняется реже. Rdy - перед пакетом падает, после поднимается.  Скорость передачи контролируется по clk

зы: а может ли анализатор вообще с такой скоростью работать, с какой контроллер выдаёт? В этом случае лучше осциллограф.
#7
Цифровая техника / Re: Светодиодные матрицы
Последний ответ от zenon - Вчера в 17:08
Накидал инит SPI для F1, дефайны для вкл/выкл пинов.
Подключил анализатор на CLK и MOSI, передаю единичку, вижу ... не пойму что вижу???
:)
скрины с анализатора и код тут
https://github.com/minamonra/my_stm_snippets/tree/main/F1/p10m
#8
Фото, видео, аудио / Re: Коротко о погоде
Последний ответ от Slabovik - 30 Апр., 2024, 08:17
Снова прожарило до +28. И снова затем стало прохладно. Качели температурные. Но зато в конце прожарки случился дождь с громом и молнией.

TJM-2024-04-29.jpg
#9
Цифровая техника / Re: Орион-128 возрождение эпох...
Последний ответ от matrixplus - 29 Апр., 2024, 12:18


процессор z80 в орионе http://rdk.regionsv.ru/orion128z80test/z-001.jpg

:: добавлено 29 Апр., 2024, 12:23


Кросшина + кросшина мини  http://rdk.regionsv.ru/orion512/cros/cros-017.jpg

и вставленный НГМД 






:: добавлено 30 Апр., 2024, 00:18
Ром диск на 27с512 - 27с801 http://rdk.regionsv.ru/orion512/rom-001.jpg




Описание и сборка http://rdk.regionsv.ru/orion128-express-05-01.htm
#10
Цифровая техника / Re: Re: Орион-128 возрождение ...
Последний ответ от matrixplus - 28 Апр., 2024, 09:21

Орион Восточный Экспресс 512  http://rdk.regionsv.ru/