Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

//================== DISPLAY 384 x 240 =====
if (fft ==0)
{
SendCMD(ILI9341_MAC);
SendData(Orient_Book1); //88
SendCMD(ILI9341_PAGE_ADDR);// ILI9486_PAGE_ADDR
SendData(0);
SendData(10); // 47
SendData(0x01);
SendData(0xDF); //479
SendCMD(ILI9341_COLUMN_ADDR);// ILI9486_COLUMN_ADDR
SendData(0);
SendData(43); // 43
SendData(0x01);
SendData(0x19); // 281
SendCMD(ILI9341_GRAM); // ILI9486_GRAM

LCD_CS0; //
LCD_DC1; // data

GPIOB->BSRR = 0x80; // set PB7 dlya izmereniya vremeni cykla
register int ar __asm("r3");
register int br __asm("r6");

for (uint16_t j = 1; j < 384; j++) {
ar = buffer[sdvig+j];
br = buffer[sdvig+j-1];

for (uint16_t i = 1; i < 240; i++) {
color = 0;

if (!(i - (i * 43691 >> 20) * 24) || !(j - (j * 43691 >> 20) * 24)) color = 16;// Grid

if (i==120) {color = 4;} // Centr
if (j==192) {color = 4;} // Centr

if (OSD==1) {
if (i == SynU) {color = 54;}
if (i == U_0) {color = 231;}
}

//if (i == buffer [j+sdvig] ) color = 255; // otrisovka tochkami

if (ar > br)
{
if ((i<=1+ar)&(i>=1+br)) {color = 255;}
}
else{if ((i>=1+ar)&(i<=1+br)) {color = 255;}}

__asm { STRB color,[#0x48000415]}
WR_STROBE;
WR_STROBE; //
}
}
GPIOB->BRR = 0x80; // reset PB7 dlya izmereniya vremeni cykla
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

55 mS

Спасибо!

Добавлено after 26 minutes 34 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Блин, что делает компилятор?
Если сделать так
// LCD_CS0; //
// LCD_DC1; // data
то время отрисовки увеличивается до 64 милисекунды ???
Эти сигналы мне не нужны
CS - аппаратно на земле
DC - возвращается в 1 по выходу из SendCMD
IVL ex UA6PJ
Реклама
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение Reflector »

Кстати, 120MHz - это минимум 2WS, у меня было 3, по правилам должно 4, а при выполнении из CCM будет 0, потому перенеся свою функцию в CCM я получил 13 ms :)
Реклама
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение a797945 »

"Блин, что делает компилятор?"
это вопрос к компилятору :)
а так, как бе теоретически (но по дилетантски): от реального расположения куска кода в нем может измениться способ адресации, в одном случае применит просто смещение к инфе, что уже есть в каком-нибудь регистре, а в другом будет подгружать адрес из флэша.

"перенеся свою функцию в CCM"
этот пилотаж пока не про меня, я даже не знаю в каких камнях это водится. :)
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение Reflector »

[uquote="a797945",url="/forum/viewtopic.php?p=3891399#p3891399"]этот пилотаж пока не про меня, я даже не знаю в каких камнях это водится. :)[/uquote]
F3/G4/F7/H7... У F4 CCM как бы есть, но только для данных, код из нее выполнять нельзя. На F3 у меня и раньше использовалось, можно за 2 такта с порта читать.
Реклама
Эиком - электронные компоненты и радиодетали
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение a797945 »

вот, поэтому и не в курсе - мне по развлекаться и f103 пока выше крыши.
Реклама
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

"этот пилотаж пока не про меня" , для меня тоже. В принципе 16-17 fps вполне устраивают. Я стм и кейл начал изучать с первых исходников от Fusion углубляюсь потихоньку, но времени мало.

Добавлено after 12 minutes 21 second:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Мурзик с экраном 480х320 от FLY IQ239
Вложения
084_cr.jpg
(239.46 КБ) 352 скачивания
IVL ex UA6PJ
Реклама
mihlit2
Родился
Сообщения: 16
Зарегистрирован: Вт авг 11, 2020 08:07:16

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение mihlit2 »

У меня очередной теоретический вопрос. Есть фрейм вывода осциллограммы, тут же рисуется сетка. Количество отсчетов в одном делении сетки(по Х) и количество пикселей дисплея на один отсчет? Кто и как решил для себя этот вопрос?
У меня два дисплея: 320х240 3,2 дюйма и 480х320 3,5 дюйма. Диагональ почти одинаковая, у второго получается кол-во пикселей по Х в 1,5 больше, т.е. осциллограмма визуально будет сжата.
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение a797945 »

держите теоретический ответ от не профессионала:
Вы же, по любому, выбираете решение из компромисса между желаниями и возможностями. какие критерии назначите - такие пути к решениям и сложатся.
решил "поменьше объем кода" - то "один пиксель - один замер"и"сетка по степени 2" - в результате получил начало разверток "2,4,10,20", а не типовое "1,2,5".
а захотел бы (при тех же технических данных) и ряд разверток типовой и чтоб начинался от 0.2 - то и сетка была б другая и "луч" по огибающей (по функции), за-то килограммы математики. :)
или вот у Вас - применяете "видео буфер" в озу МК, прикрутите к нему формирование синхронизации и можете выводить хоть на матрицу от ноута. а на методе, что в мурзике это невозможно - там "видео буфер" должен быть в контроллере дисплея.

или я опять не понял вопроса. тогда так: начните делать, если использовать минимум преобразований, вариантов останется не много. например: сколько у Вас отсчетов на 1 мкс? ну и сколько сделаете сетку? это вяжется на делителях таймера для шага развертки 1,2,5? совместите все это и получите искомое число.
Последний раз редактировалось a797945 Вс сен 13, 2020 11:44:13, всего редактировалось 1 раз.
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

Да , шаг сетки делается кратным максимальному количеству преобразований в секунду (сэмплов). В Мурзике максимум 48 мегасемплов, потому я сделал сетку 24 пикселя, получилось минимальное время развертки 0.5 мкСек/деление. Если сделать сетку 48 пикселей будет 1 мкСек/деление и т. д.. а дальше увеличиваете период опроса АЦП с шагом 1,2,5.

Добавлено after 3 minutes 28 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Первые 2 диапазона я опрашиваю порт на ассемблере, дальше ДМА и таймер.
IVL ex UA6PJ
mihlit2
Родился
Сообщения: 16
Зарегистрирован: Вт авг 11, 2020 08:07:16

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение mihlit2 »

У меня сейчас 10 мегасемплов. Рисовал 40 и 50 пикселей сетку, получается 4 и 5 микросекунд. 4 мкс не вяжется с 1-2-5. Попробую 20 пикселей и я кнопку у себя предусмотрел, изменение кол-ва пикселей на отсчет х1, х2, х5. Такой вот немудреный zoom. Спасибо за подсказку, буду пробовать
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

20 пикселей мелковато будет , переводи АЦП в Triple Mode и делай 30 точек. Или внешний АЦП.
IVL ex UA6PJ
mihlit2
Родился
Сообщения: 16
Зарегистрирован: Вт авг 11, 2020 08:07:16

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение mihlit2 »

[uquote="240265",url="/forum/viewtopic.php?p=3892057#p3892057"]20 пикселей мелковато будет , переводи АЦП в Triple Mode и делай 30 точек. Или внешний АЦП.[/uquote]

"Мурзик с экраном 480х320 от FLY IQ239" - а здесь сколько, интересно.

С внешним АЦП - это вторая часть балета. Я на этом проекте хочу мозги себе (и Вам :) повынести. А с Triple Mode я ковырялся,сейчач уже не помню, что то мне в нем не понравилось.

При 240MHz Triple Mode 12MSPS. Если задирать частоту выше, у АЦП начинались глюки - маленькую( до 1вольта он оцифровывал, потом переставал реагировать на увеличение амплитуды и где то после 2,2 вольта входных он резко выдавал амплитуду 3,3 вольта, хотя на входе у него было 2,5. Вот почему я и выбрал Dual mode и 240MHz.
Аватара пользователя
Theodoro
Грызет канифоль
Сообщения: 290
Зарегистрирован: Чт янв 11, 2018 14:32:00
Откуда: Новгородская обл.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение Theodoro »

Приехали новые AD9280. Маркировка облезла, но однако рабочие. Начал настройку, и сразу вопрос.
Реле переключения входного делителя работает наоборот. Реле применил обычное неполяризованное, электролит закорочен.
После старта на затворах полевиков 0, реле включено. Как проще исправить ситуацию с минимальной переделкой схемы и печатки? Может оставить один 2N7002 в качестве ключа и всё? Придется резать дорожки бросать перемычки. :(
Хорошо бы програмно инвертировать сигнал, но это фантастика, сынок. :)
man_200
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Вс янв 20, 2013 12:45:25
Откуда: Астана, Казахстан

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение man_200 »

Этот вопрос многократно задавался. Я поменял местами выводы обмотки реле, но оно поляризованное. Его применение уменьшает ток потребления. Как вариант - ставь переключатель
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

"Мурзик с экраном 480х320 от FLY IQ239" 24 пикселя на клетку (48 Мегасэмплов/Сек).
Theodoro, Инвертируй сигнал аппаратно , под каждую "хотелку"..........
IVL ex UA6PJ
Аватара пользователя
Theodoro
Грызет канифоль
Сообщения: 290
Зарегистрирован: Чт янв 11, 2018 14:32:00
Откуда: Новгородская обл.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение Theodoro »

Подключил реле через n-канальный 2N7002. Переключаться стало правильно, но есть вопрос. При старте происходит кратковременное включение реле. Это что переходные процессы или програмно?. Вообще то сие не есть гуд, и видимо придется заказывать IM41.
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

Программно, так сказать "инициализация" IM41.
IVL ex UA6PJ
Аватара пользователя
Theodoro
Грызет канифоль
Сообщения: 290
Зарегистрирован: Чт янв 11, 2018 14:32:00
Откуда: Новгородская обл.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение Theodoro »

Ведь говорила мама советовали добрые люди питать 1-ю ногу МК от батарейки. Все откладывал. В результате подал на схему по запарке 9 В. :roll: Все выжило и работает, а вход "BAT" конечно - гвоздь.
Но это - пол беды. Запаял новый STM32F303CBT6 и вижу такую картину:
Изображение Изображение
Брал здесь. Судя по отзывам, жалоб нет.
Так что только моему МК мозгов не доложили, или у меня их не хватает?
Что то у Мурзика аппетит разыгрался, почти как у моего Мартына (см. аватарку) :)
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

Загрузил в ST-LINK говорит размер 0xF420 что есть 62496 Байт.

Добавлено after 1 minute 11 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
А МК у Вас похоже не тот.
IVL ex UA6PJ
FreeKom
Родился
Сообщения: 8
Зарегистрирован: Чт янв 16, 2014 12:46:30
Откуда: Казань

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение FreeKom »

Интересует мнение, за и против использования исходников от осцилла dso 202 или 212.
Есть плюсы:
- поддержка двух лучей,
- 10 Мсэмплов на канал,
- usb диск для скриншотов и обновлений,
- открытые исходники,
- генератор сигнала,
- параллельная 16 битная шина дисплея,
- можно адаптировать под дисплей 320х480,

Я щас занимаюсь адаптацией под дисплей fly iq 239, взял версию исходников 212 модели, схемы под нее нет, в исходниках не все понятно, поэтому методом тыка разбираюсь с ножками и куда что идет.

Купил у бурундуков stm32, распаял на китайском переходнике, в таком виде разбираюсь.
Исходники компилятся под iar 6.5 без проблем.

Для ковыряния в импульсных бп самое то, 700 кгц показывает, нежалко сжечь проц и дисплей, закупил партию fly iq 230 и 239.
https://yadi.sk/d/MZwJ0NqGODwczg?w=1
Куча исходников под dso есть на китайском сайте, гуглится легко.
Ответить

Вернуться в «ARM»