Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
А этот вариант?
http://forum.easyelectronics.ru/downloa ... &mode=view
http://forum.easyelectronics.ru/viewtop ... 4&start=25
EDIT: я конечно имел ввиду часть "1" рисунка, управление усилением и сдвиг луча.
http://forum.easyelectronics.ru/downloa ... &mode=view
http://forum.easyelectronics.ru/viewtop ... 4&start=25
EDIT: я конечно имел ввиду часть "1" рисунка, управление усилением и сдвиг луча.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
На старой работе досталась пару десятков stm32f437 - были куплены, но в серию пошли другие модели. Возникло желание посидеть вечерами за написанием кодов. Есть несколько вопросов.
Где посмотреть примеры исходников для вывода на дисплей по 16битной шине? Я так понимаю обращаться нужно как к памяти через контроллер памяти, но что туда нужно писать и по каким адресам?
Как за несколько тактов прочесть внешний АЦП? По таймеру в прерывании? Но например для частоты дискретизации 30mps это всего 9 тактов, как успеть в прерывании выполнить чтение порта? Ассемблерные вставки?
Где посмотреть примеры исходников для вывода на дисплей по 16битной шине? Я так понимаю обращаться нужно как к памяти через контроллер памяти, но что туда нужно писать и по каким адресам?
Как за несколько тактов прочесть внешний АЦП? По таймеру в прерывании? Но например для частоты дискретизации 30mps это всего 9 тактов, как успеть в прерывании выполнить чтение порта? Ассемблерные вставки?
- Fusion
- Грызет канифоль
- Сообщения: 272
- Зарегистрирован: Пт ноя 13, 2009 10:39:32
- Откуда: Москва
- Контактная информация:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
По 16 битной шине просто вывод на любой 16 разрядный порт. И подтверждаем WR.
Вот пример:
Delay 1 микросекунда.
Вот пример:
Спойлер
Код: Выделить всё
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 микросекунда.
- GFX
- Поставщик валерьянки для Кота
- Сообщения: 2040
- Зарегистрирован: Вт окт 23, 2012 18:36:14
- Откуда: Ростов-на-Дону
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Есть несколько вопросов.
Где посмотреть примеры исходников для вывода на дисплей по 16битной шине? Я так понимаю обращаться нужно как к памяти через контроллер памяти, но что туда нужно писать и по каким адресам?
Как за несколько тактов прочесть внешний АЦП? По таймеру в прерывании? Но например для частоты дискретизации 30mps это всего 9 тактов, как успеть в прерывании выполнить чтение порта? Ассемблерные вставки?
наверное, вам стоит создать свою тему с вопросом как работать с экраном. По работе с экранами куча информации, нужно даташит прочитать на него для начала, тогда и понимание придет. А то так можно спрашивать совсем общие вопросы... По чтению с АЦП - нет, это делается не по таймеру с прерываниями. В этой теме описано как это делается,причем на разных мк по разному. Нужно даташит и на мк прочитать, вернее референс мануал. И тогда уже задавать конкретные обдуманные вопросы.Где посмотреть примеры исходников для вывода на дисплей по 16битной шине? Я так понимаю обращаться нужно как к памяти через контроллер памяти, но что туда нужно писать и по каким адресам?
Как за несколько тактов прочесть внешний АЦП? По таймеру в прерывании? Но например для частоты дискретизации 30mps это всего 9 тактов, как успеть в прерывании выполнить чтение порта? Ассемблерные вставки?
- pap.cot
- Нашел транзистор. Понюхал.
- Сообщения: 170
- Зарегистрирован: Пн мар 24, 2014 22:07:01
- Откуда: Оренбургская область
- Контактная информация:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
С Днем Победы!
Вопросы по Fusion-446:
на схеме указаны выводы USB D+ и USB D- а на плате разведены 3 резистора - можно схему дополнить?
Чистый STM32F446 программируется через USB программой DfuSe_Demo_V3.0.5_Setup.exe?
DAC_OUT2 это выход генератора на отдельный разъем?
Смещение сигнала по Y нет?
Вопросы по Fusion-446:
на схеме указаны выводы USB D+ и USB D- а на плате разведены 3 резистора - можно схему дополнить?
Чистый STM32F446 программируется через USB программой DfuSe_Demo_V3.0.5_Setup.exe?
DAC_OUT2 это выход генератора на отдельный разъем?
Смещение сигнала по Y нет?
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
USB там (пока) никак не задействован. Я прошивал обычным способом, ST-LINK. И, да там есть выход генератора. Частота переключаетса кноками, удерживая "Pause/Shift".
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Полистайте назад, у меня такое было - не хватало ещё одного соединения, где две ножки контроллера один и тот же сигнал
EDIT:
Надо соединить выводы Sync: PortA4, PortB7 и PortD2.
Запуск DCMI.
Еще надо соединить PXCLK:
Port A6 и PortA8. Тактирование DCMI.
EDIT:
Надо соединить выводы Sync: PortA4, PortB7 и PortD2.
Запуск DCMI.
Еще надо соединить PXCLK:
Port A6 и PortA8. Тактирование DCMI.
- Fusion
- Грызет канифоль
- Сообщения: 272
- Зарегистрирован: Пт ноя 13, 2009 10:39:32
- Откуда: Москва
- Контактная информация:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Что то не так с инициализацией экрана.
У меня вот такой:
download/file.php?id=279974
Код инициализации 3.95 LCD дисплея 320 х 480 (ILI9488 ?)
У меня вот такой:
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 - пр
Получил платы для мурзик-1. Буду сегодня паять
Очень интересно, будем ждать результаты работы!
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Я тут добавлю фотки моей версии "Мурзика-446", закорпусованного.
Сверху прозрачная "крышка" - вырезал из какой-то упаковки чего-то. Внутри питания нет, только внешнее, microUSB или просто двумя проводками 5V.
Есть в наличии ещё один чип F446 (подарок от STmicroelectronics, за что им Спасибо), может буду делать вариант на компактной печатной плате, но подожду - может ещё развитие этого железа тут появитса
Свежие фотки:
http://bildites.lv/a/h5qbhzp2#5c8avszg
Ранние фотки:
http://bildites.lv/a/wt6smmzt#mc9epmjv
Добавлено after 3 hours 37 minutes 12 seconds:
Я тут раньше (27 марта, точнее) об этом предупреждал, распостранённые TFT 3.5" (а не 3.95") модули при существующей прошивке рисуют неправильно, получаетса полоска снизу переноситса на верх, как то так. Может уважаемый Fusion может пошаманить в кодах, по инициализации таких 3.5" дисплеев? Я ещё счастлившик который успел купить 3.95" как у Автора, но потом я смотрел, они пропали с продаж (в последнее время не проверял).
download/file.php?id=281136
Сверху прозрачная "крышка" - вырезал из какой-то упаковки чего-то. Внутри питания нет, только внешнее, microUSB или просто двумя проводками 5V.
Есть в наличии ещё один чип F446 (подарок от STmicroelectronics, за что им Спасибо), может буду делать вариант на компактной печатной плате, но подожду - может ещё развитие этого железа тут появитса
Свежие фотки:
http://bildites.lv/a/h5qbhzp2#5c8avszg
Ранние фотки:
http://bildites.lv/a/wt6smmzt#mc9epmjv
Добавлено 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 - пр
Помогите советом по моему мурзику-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
Добавлено 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 - пр
Помогите советом по моему мурзику-1м. Все нормально кроме наличия шумов размахом 200мв частотой 250кгц. Начал искать причину...
Я бы наверное для ясности пробовал бы такое:
как, если TFT запитать от отдельного источника?
как, если аналоговую 2-полярную часть запитать от чего-то лиенйного, скажем, два телефонных акуммулятора со стабилизаторами на 3.3V ?
Ето даст базу для действий (если вообще даст что-то позитивное
Ну и, конечно, очень важно, где и как и какие "земли" сходятса.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Juris более того, если мне не изменяет память, в том же Хамелеоне цифровая и аналоговые части питаются от отдельных стабилизаторов, но там внешний АЦП, в Мурзике встроенный, полностью разделить не получится, но отделить питание дисплея точно не помешает.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Juris более того, если мне не изменяет память, в том же Хамелеоне цифровая и аналоговые части питаются от отдельных стабилизаторов, но там внешний АЦП, в Мурзике встроенный, полностью разделить не получится, но отделить питание дисплея точно не помешает.
Пару сообщений выше есть ссылка на схему мурзика модифицированного мной. Там именно так и сделано.
Там цифровое и аналоговое питание берется с разных стабилизаторов. Более того даже земли в разводке разделены и соедены в нужной точке. А питание АЦП контроллера выведенной на отдельные ноги.
Добавлено after 8 hours 5 minutes 32 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Все победил шумы, диоды шотки по входу влияния на шумы не оказывают. Поставил в аналоговой части везде конденсаторы блокировочные по 10мкф и все стало хорошо. Завтра выложу окончательную схему.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Вот рабочая схема с коментариями.
https://....
Есть несколько плат, если кому нужно могу выслать почтой. Цена 100р за плату + почтовые расходы.
Не ту ссылку на плату со схемой выложил блин, вот правильная
https://cloud.mail.ru/public/EiTL/vGEyYTVs3
https://....
Есть несколько плат, если кому нужно могу выслать почтой. Цена 100р за плату + почтовые расходы.
Не ту ссылку на плату со схемой выложил блин, вот правильная
https://cloud.mail.ru/public/EiTL/vGEyYTVs3