Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

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

Вс апр 30, 2017 10:10:51

А этот вариант?
http://forum.easyelectronics.ru/downloa ... &mode=view
http://forum.easyelectronics.ru/viewtop ... 4&start=25

EDIT: я конечно имел ввиду часть "1" рисунка, управление усилением и сдвиг луча.

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

Ср май 03, 2017 03:50:31

На старой работе досталась пару десятков stm32f437 - были куплены, но в серию пошли другие модели. Возникло желание посидеть вечерами за написанием кодов. Есть несколько вопросов.
Где посмотреть примеры исходников для вывода на дисплей по 16битной шине? Я так понимаю обращаться нужно как к памяти через контроллер памяти, но что туда нужно писать и по каким адресам?
Как за несколько тактов прочесть внешний АЦП? По таймеру в прерывании? Но например для частоты дискретизации 30mps это всего 9 тактов, как успеть в прерывании выполнить чтение порта? Ассемблерные вставки?

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

Ср май 03, 2017 09:02:51

По 16 битной шине просто вывод на любой 16 разрядный порт. И подтверждаем WR.
Вот пример:
Спойлер
Код:
void SendData(uint16_t SendData)
{
   GPIO_SetBits(GPIOB, LCD_RS);      // data
   GPIOC->ODR = SendData;
   GPIO_ResetBits(GPIOB, LCD_WR);
   GPIO_SetBits(GPIOB, LCD_WR);
}
void SendCMD(uint16_t SendData)
{
   GPIO_ResetBits(GPIOB, LCD_RS);      // comand
   GPIOC->ODR = SendData;
   GPIO_ResetBits(GPIOB, LCD_WR);
   GPIO_SetBits(GPIOB, LCD_WR);
}

void LCDclr(void)
{
   SendCMD(0x36);
   SendData(0x0A);
   SendCMD(0x2A);
   SendData(0x00);
   SendData(0x00);
   SendData(0x01);
   SendData(0x3F);
   SendCMD(0x2B);
   SendData(0x00);
   SendData(0x00);
   SendData(0x01);
   SendData(0xE0);
   SendCMD(0x2C);
   GPIO_SetBits(GPIOB, LCD_RS);      // data         
   GPIOC->ODR = 0x0000;
   for (unsigned int i = 0; i < 320*480*2; i++)
   {
      GPIO_ResetBits(GPIOB, LCD_WR);
      GPIO_SetBits(GPIOB, LCD_WR);
   }
}

void LCDinit(void)
{
   GPIO_ResetBits(GPIOB, LCD_RST);
   Delay(20000);
   GPIO_SetBits(GPIOB, LCD_RST);
   Delay(20000);
   SendCMD(0x11);
   Delay(20000);
   SendCMD(0xD0);
   SendData(0x07);
   SendData(0x42);
   SendData(0x18);
   SendCMD(0xD1);
   SendData(0x00);
   SendData(0x07);
   SendData(0x10);
   SendCMD(0xD2);
   SendData(0x01);
   SendData(0x02);
   SendCMD(0xC0);
   SendData(0x10);
   SendData(0x3B);
   SendData(0x00);
   SendData(0x02);
   SendData(0x11);
   SendCMD(0xC5);
   SendData(0x03);
   SendCMD(0xC8);
   SendData(0x00);
   SendData(0x32);
   SendData(0x36);
   SendData(0x45);
   SendData(0x06);
   SendData(0x16);
   SendData(0x37);
   SendData(0x75);
   SendData(0x77);
   SendData(0x54);
   SendData(0x0C);
   SendData(0x00);
   SendCMD(0x36);
   SendData(0x0A);
   SendCMD(0x3A);
   SendData(0x55);
   SendCMD(0x2A);
   SendData(0x00);
   SendData(0x00);
   SendData(0x01);
   SendData(0x3F);
   SendCMD(0x2B);
   SendData(0x00);
   SendData(0x00);
   SendData(0x01);
   SendData(0xE0);
   Delay(120000);
   SendCMD(0x29);
}

Delay 1 микросекунда.

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

Ср май 03, 2017 09:17:54

Есть несколько вопросов.
Где посмотреть примеры исходников для вывода на дисплей по 16битной шине? Я так понимаю обращаться нужно как к памяти через контроллер памяти, но что туда нужно писать и по каким адресам?
Как за несколько тактов прочесть внешний АЦП? По таймеру в прерывании? Но например для частоты дискретизации 30mps это всего 9 тактов, как успеть в прерывании выполнить чтение порта? Ассемблерные вставки?
наверное, вам стоит создать свою тему с вопросом как работать с экраном. По работе с экранами куча информации, нужно даташит прочитать на него для начала, тогда и понимание придет. А то так можно спрашивать совсем общие вопросы... По чтению с АЦП - нет, это делается не по таймеру с прерываниями. В этой теме описано как это делается,причем на разных мк по разному. Нужно даташит и на мк прочитать, вернее референс мануал. И тогда уже задавать конкретные обдуманные вопросы.

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

Вт май 09, 2017 10:55:52

С Днем Победы! :beer:
Вопросы по Fusion-446:
на схеме указаны выводы USB D+ и USB D- а на плате разведены 3 резистора - можно схему дополнить?
Чистый STM32F446 программируется через USB программой DfuSe_Demo_V3.0.5_Setup.exe?
DAC_OUT2 это выход генератора на отдельный разъем?
Смещение сигнала по Y нет?

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

Вт май 09, 2017 11:15:46

USB там (пока) никак не задействован. Я прошивал обычным способом, ST-LINK. И, да там есть выход генератора. Частота переключаетса кноками, удерживая "Pause/Shift".

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

Вс май 14, 2017 16:37:49

Fusion-446:
Не работает АЦП:
PIXCLK соединил с 10 выв. АЦП и с 22, 41 выв. МК - на экране только картинка.
Прошивка project180-2017_03_28.hex
Ток потребления 350 мА :shock: :shock:

Картинка сдвинута в право - это у меня дисплей дефектный?
Изображение

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

Вс май 14, 2017 20:26:35

Полистайте назад, у меня такое было - не хватало ещё одного соединения, где две ножки контроллера один и тот же сигнал

EDIT:

Надо соединить выводы Sync: PortA4, PortB7 и PortD2.
Запуск DCMI.
Еще надо соединить PXCLK:
Port A6 и PortA8. Тактирование DCMI.

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

Пн май 15, 2017 17:04:46

соединил выводы Sync: PortA4, PortB7 и PortD2,
одна и та же картинка, мерцает надпись в верхнем углу.
прошивка project200-2017_04_05.hex

Изображение

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

Пн май 15, 2017 20:40:02

Что то не так с инициализацией экрана.
У меня вот такой:
download/file.php?id=279974

Код инициализации 3.95 LCD дисплея 320 х 480 (ILI9488 ?)
Спойлер
Код:


void LCD_init(void)
{
GPIO_SetBits(GPIOB, LCD_RD);
GPIO_SetBits(GPIOB, LCD_WR);
GPIO_SetBits(GPIOB, LCD_RS);

GPIO_ResetBits(GPIOB, LCD_RST);
Delay(10000);
GPIO_SetBits(GPIOB, LCD_RST);
Delay(10000);

SendCMD(0xE0);
SendDAT(0x00);
SendDAT(0x07);
SendDAT(0x10);
SendDAT(0x09);
SendDAT(0x17);
SendDAT(0x0B);
SendDAT(0x40);
SendDAT(0x8A);
SendDAT(0x4B);
SendDAT(0x0A);
SendDAT(0x0D);
SendDAT(0x0F);
SendDAT(0x15);
SendDAT(0x16);
SendDAT(0x0F);
SendCMD(0xE1);
SendDAT(0x00);
SendDAT(0x1A);
SendDAT(0x1B);
SendDAT(0x02);
SendDAT(0x0D);
SendDAT(0x05);
SendDAT(0x30);
SendDAT(0x35);
SendDAT(0x43);
SendDAT(0x02);
SendDAT(0x0A);
SendDAT(0x09);
SendDAT(0x32);
SendDAT(0x36);
SendDAT(0x0F);
SendCMD(0xB1);
SendDAT(0xA0);
SendCMD(0xB4);
SendDAT(0x02);
SendCMD(0xC0);
SendDAT(0x17);
SendDAT(0x15);
SendCMD(0xC1);
SendDAT(0x41);
SendCMD(0xC5);
SendDAT(0x00);
SendDAT(0x0A);
SendDAT(0x80);

SendCMD(0xB6);
SendDAT(0x02);
SendDAT(0x60);

SendCMD(0x36);
SendDAT(0x48);
SendCMD(0x3a);
SendDAT(0x55);
SendCMD(0xE9);
SendDAT(0x00);
SendCMD(0XF7);
SendDAT(0xA9);
SendDAT(0x51);
SendDAT(0x2C);
SendDAT(0x82);
SendCMD(0x11);
Delay(12000);
SendCMD(0x29);
Lcd_CLR();
//=================
}

void Lcd_CLR(void)
{
   SendCMD(ILI9341_MAC);
  SendDAT(0x28);

  SendCMD(ILI9341_COLUMN_ADDR);
   SendDAT(0x00);
   SendDAT(0x00);
   SendDAT(0x01);
   SendDAT(0xDF);
   
  SendCMD(ILI9341_PAGE_ADDR);
   SendDAT(0x00);
   SendDAT(0x00);
   SendDAT(0x01);
   SendDAT(0x3F);
   
   SendCMD(0x2C);

   GPIO_SetBits(GPIOB, LCD_RS);      // data         

         GPIOC->ODR = 0;
   for (unsigned int i = 0; i < 480*320*2; i++)
   {
      GPIO_ResetBits(GPIOB, LCD_WR);
      GPIO_SetBits(GPIOB, LCD_WR);
   }
}

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

Вт май 16, 2017 10:41:46

Получил платы для мурзик-1. Буду сегодня паять
Изображение

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

Вт май 16, 2017 10:44:29

Прошивка project240-2017_04_07.hex
300 мА это нормальное потребление от 5В??
АЦП работает, рисуется сигнал от делителя 470(+3.3В) и 100 Ом(общий).

Изображение
При включении:
PIXCLK - 120 кГц
DAC_OUT2- 1 кГц
кнопки и Enc1 - 3.3В
Enc0 и Enc2 - 0В
Дисплей такой:(снял только 1117)
Изображение

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

Вт май 16, 2017 10:44:54

Получил платы для мурзик-1. Буду сегодня паять

Очень интересно, будем ждать результаты работы! :)

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

Вт май 16, 2017 20:55:17

Собрал, пациент задышал сразу.
Завтра буду проверять и возможно настраивать.
Изображение Изображение

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

Ср май 17, 2017 15:20:39

Я тут добавлю фотки моей версии "Мурзика-446", закорпусованного.
Сверху прозрачная "крышка" - вырезал из какой-то упаковки чего-то. Внутри питания нет, только внешнее, microUSB или просто двумя проводками 5V.
Есть в наличии ещё один чип F446 (подарок от STmicroelectronics, за что им Спасибо), может буду делать вариант на компактной печатной плате, но подожду - может ещё развитие этого железа тут появитса :-)
Свежие фотки:
http://bildites.lv/a/h5qbhzp2#5c8avszg
Ранние фотки:
http://bildites.lv/a/wt6smmzt#mc9epmjv

Murzik-2_036sm.jpg
Murzik-446 by Juris
(24.68 KiB) Скачиваний: 1181


Добавлено after 3 hours 37 minutes 12 seconds:
Дисплей такой:(снял только 1117)

Я тут раньше (27 марта, точнее) об этом предупреждал, распостранённые TFT 3.5" (а не 3.95") модули при существующей прошивке рисуют неправильно, получаетса полоска снизу переноситса на верх, как то так. Может уважаемый Fusion может пошаманить в кодах, по инициализации таких 3.5" дисплеев? Я ещё счастлившик который успел купить 3.95" как у Автора, но потом я смотрел, они пропали с продаж (в последнее время не проверял).

download/file.php?id=281136

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

Чт май 18, 2017 07:37:56

Помогите советом по моему мурзику-1м. Все нормально кроме наличия шумов размахом 200мв частотой 250кгц. Начал искать причину. По частоте шума предположил что это инвертор -3.3в. Когда отключаю нагрузку выпариванием дросселя все чисто. Потребление по цепи -3.3в - 14мА это ведь нормально?. Изучал даташит на tps60400, выяснил что она чувствительна к ESR конденсаторов, а у меня вместо 1мкф стоял 10мкф, пробовал ставить из тех что у меня есть 0,22 , 0.33, 4.7 результата нет. Сегодня пойду в магазин за конденсаторами 1мкф, но что то чувствую не в этом дело. Есть у кого идеи?

Добавлено after 2 hours 12 minutes 45 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Еще раз внимательно изучил даташит на tps60400, пульсации на выходе 30мв. Подозреваю что эти пульсации лезут через ёмкость диодов шотки которые стоят на входе операционника, попробую их выкинуть

Добавлено after 1 hour 31 minute 56 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Схема мурзика-1м ежели чего тут(36я страница)
download/file.php?id=283747

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

Чт май 18, 2017 08:28:26

Помогите советом по моему мурзику-1м. Все нормально кроме наличия шумов размахом 200мв частотой 250кгц. Начал искать причину...

Я бы наверное для ясности пробовал бы такое:
как, если TFT запитать от отдельного источника?
как, если аналоговую 2-полярную часть запитать от чего-то лиенйного, скажем, два телефонных акуммулятора со стабилизаторами на 3.3V ?
Ето даст базу для действий (если вообще даст что-то позитивное :) )
Ну и, конечно, очень важно, где и как и какие "земли" сходятса.

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

Чт май 18, 2017 11:46:24

Juris более того, если мне не изменяет память, в том же Хамелеоне цифровая и аналоговые части питаются от отдельных стабилизаторов, но там внешний АЦП, в Мурзике встроенный, полностью разделить не получится, но отделить питание дисплея точно не помешает.

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

Чт май 18, 2017 20:01:10

Juris более того, если мне не изменяет память, в том же Хамелеоне цифровая и аналоговые части питаются от отдельных стабилизаторов, но там внешний АЦП, в Мурзике встроенный, полностью разделить не получится, но отделить питание дисплея точно не помешает.

Пару сообщений выше есть ссылка на схему мурзика модифицированного мной. Там именно так и сделано.
Там цифровое и аналоговое питание берется с разных стабилизаторов. Более того даже земли в разводке разделены и соедены в нужной точке. А питание АЦП контроллера выведенной на отдельные ноги.

Добавлено after 8 hours 5 minutes 32 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Все победил шумы, диоды шотки по входу влияния на шумы не оказывают. Поставил в аналоговой части везде конденсаторы блокировочные по 10мкф и все стало хорошо. Завтра выложу окончательную схему.

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

Пт май 19, 2017 06:16:12

Вот рабочая схема с коментариями.
https://....

Есть несколько плат, если кому нужно могу выслать почтой. Цена 100р за плату + почтовые расходы.
Не ту ссылку на плату со схемой выложил блин, вот правильная
https://cloud.mail.ru/public/EiTL/vGEyYTVs3
Ответить