Jump to content
serenbkii

Отладочная Плата Своими Руками.

Recommended Posts

Хочу начать изучение STM32. Но вот ведь незадача, в сети нет отладочных плат для самостоятельного изготовления! Все сидят на дискавери. Может кто- то всё- таки делал для себя и поделится? Сам бы развел, но не знаю что там может пригодиться и какой стандартный обвяз. Только не надо советовать дискавери, какой я радиолюбитель, если буду заказывать готовую плату? Где удовольствие от 0,2- 0,3 ЛУТ, паяние TQFP-48? Как можно доверить такое китайцам, если у самого руки чешутся что- нибудь попаять?

Share this post


Link to post
Share on other sites

Так выберите подходящий Вам STM32, почитайте в его датащите про обвяз и вуаля - плата готова (если конечно 0.2-0.3 и TQFP-48 не являются проблемой). Кажись он ничем по обвязке от других МК не отличается кроме того, что у него есть входы BOOT, которые определяют, из какой памяти начать выполнять программу при запуске. Ну и цепь сброса там интересная (пин NRST) - стоит заострить внимание на этом.

Но это всё же в общих чертах, лучше внимательно прочитать датащит по интересующим вопросам, прежде чем что-то делать :yes:

* у меня тоже есть заинтересованность в том, чтобы под свои цели плату вытравить для STM, но как раз для меня такие миниатюрные детали и дорожки являются проблемой :unknw: , да и времени на это нет :(

Share this post


Link to post
Share on other sites

Вот тут есть пример демо-платы: http://easyelectronics.ru/arm-uchebnyj-kurs-podklyuchenie-kontrollera-i-demoplata.html

А на дискавери вес сидят ибо очень удобно: демо-плата+программатор в одном флаконе. Если же использовать самодельную, то программатор нужно отдельно докупать, либо собирать что-то вроде ColinkEx.

Share this post


Link to post
Share on other sites

Запускаем новый BLE 5.2-чип BlueNRG-LP от STMicroelectronics

Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.

Подробнее

Ну, зачем браться за изучение микроконтроллера, если в готовое устройство его запаять не получится? TQFP- 32 уже без заморочек паяю, не думаю, что с TQFP- 48 проблемы будут. А вот с программатором беда. Надо тогда и его на плату распаивать.

Share this post


Link to post
Share on other sites

Революция в силовой электронике. Начало

Что привлекает в SiC по сравнению с кремнием, и какие особенности делают компоненты SiC часто используемыми, несмотря на более высокую стоимость в сравнении с кремниевыми высоковольтными устройствами? – Объясняет специалист ведущего разработчика силовых приборов из карбида кремния, компании Infineon.

Подробнее

Возьми плату ненужного роутера на этом процессоре, все уже распаяно и JTAG выведен. + бонусом, есть езернет интерфейс.


Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Share this post


Link to post
Share on other sites

Материалы вебинара Практическое использование TrustZone в STM32L5

Материалы вебинара, посвященного экосистеме безопасности и возможностях, которые дает новая технология TrustZone в МК STM32L5, содержат две подробные практические работы: создание простого приложения с изоляцией в TrustZone, и пример отладки и тестирования TFM-SBSFU. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее

Я первую такую городил! для первого старта и знакомства с STM32 , так же знакомство с CAN. Если нужно есть в формате PCAD 2006

post-106461-0-31121300-1383197655_thumb.jpg

post-106461-0-83259300-1383197674_thumb.jpg

Edited by optima

Сергей.

Share this post


Link to post
Share on other sites

С PCAD не знаком, но думаю разберусь, на сайт выложите или почту скинуть? А чем программировали данную плату? Если есть ещё и плата программера и отладчика, то вообще было бы здорово! Я тогда просто по вашему примеру переразведу в спринте, заодно макросов новых нарисую под STM.

Share this post


Link to post
Share on other sites

Вот по этой причине все и сидят на дискавери потому что там программатор встроен!

У меня есть ST-Link им и прошиваю! хотя на просторах интернета встречал его клон с прошивкой, поищите

stm32f103_3.rar


Сергей.

Share this post


Link to post
Share on other sites

Вот по этой причине все и сидят на дискавери потому что там программатор встроен!

Программатор можно "отпилить"( кавычки может и лишние), и использовать как самостоятельное изделие.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Share this post


Link to post
Share on other sites

Конечно можно! только тогда наверное проще купить готовый ST-Link V2, R-Link, J-Link. или их клонов!


Сергей.

Share this post


Link to post
Share on other sites

проще купить готовый

Сейчас проще, отпиливать было актуально когда "дискавери" рассылали даром.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Share this post


Link to post
Share on other sites

Дык вроде дискавери то удобен. Если только начинаешь изучать - для начала работаешь с МК, который на самой плате, а когда уже разобрался достаточно, чтобы что-то своё сделать - можно свою плату забабахать и прошить через тот же дискавери: там вроде можно перемычки снять (отключить программатор от отладочной платы) и потом кинуть шлейф на свою собственную плату - единственное что, под это надо будет предусмотреть на другой плате разьём, но ведь иначе то наверно и никак.

Вот еще такую приходилось делать! под 100 ногий корпус.

А с помощью какой технологии травили платы? :)

Share this post


Link to post
Share on other sites

Можно и без программатора через встроеные загрущики, у одних это UART у других USB.

Плата изготовлена с помощью пленочного фоторезиста!

Edited by optima

Сергей.

Share this post


Link to post
Share on other sites

Человеку больше хочется по паять, чем программировать :pilot:


Иван Сусанин - первый полупроводник

Share this post


Link to post
Share on other sites

Хочется и того и того. Зачем мне программировать устройство, если я даже не уверен, что смогу его запаять. Мне нужны реально работающие и полезные устройства. Здесь и программисты и радиолюбители в одном флаконе, и если один из нас больше любит программировать, то другой обязательно любит попаять. Сколько не интересуюсь, все в основном только свою дискавери и программируют. Устройств на стмках крайне мало, всем достаточно их отладочной платы. Начав изучать АВР я сразу запаял и успешно запустил пару устройств. Это самый плодотворный метод обучения, с моей точки зрения. Вот и хотел пойти по этому пути. Походу дискавери всё таки придется купить, хотябы ради программатора.

Share this post


Link to post
Share on other sites

На сайте ST к дискавери идут схемы, где можно подсмотреть схемотехнику, а на самой дискавери глянете разводку, ну и конечно программатор с пациентом, которого можно перенести на свою плату при желании.

Кстати, к какому МК присмотрелись ?

Edited by TDSS

Иван Сусанин - первый полупроводник

Share this post


Link to post
Share on other sites

Да пока ни к какому не присмотрелся. Они все сейчас для меня с впечатляющим функционалом. С какой серии лучше начать?

Share this post


Link to post
Share on other sites

Это самая "народная" линейка. Хотя уже и устаревшая.

Из нового я бы взял http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF253215

Сейчас играюсь http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/PF254044


Иван Сусанин - первый полупроводник

Share this post


Link to post
Share on other sites

Плата изготовлена с помощью пленочного фоторезиста!

Так так, а ЛУТ-ом реально под этот МК плату вытравить? Мне просто ЛУТ-овские "возможности" в отношении миниатюрности неизвестны, т.к. до встречи с STM32 достаточно было маркером от руки дорожки рисовать, да и принтера лазерного нет, но вот подумываю купить БУ-шный для этих целей, или лучше сразу фоторезист пробовать под STM-ку?

Share this post


Link to post
Share on other sites

Конечно надо на фоторезист перебираться! потом лут будешь вспоминать как страшный сон.

Там на плате дорожки 0.3 и промежутки 0,2 ЛУТОМ делать не фонтан.

post-106461-0-29853500-1383410455_thumb.jpg

Edited by optima

Сергей.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

  • Similar Content

    • By admin
      В видео поговорим об энергоэффективности микроконтроллеров. Сравним потребление в режима сна arduino, blue pill с STM32F103 и представителя новой линейки энергоэффективных микроконтроллеров от st — STM32L552.
      Подробную информацию об линейке L5 можно найти тут: https://www.compel.ru/lib/143383
      Пи тест часть 1: https://youtu.be/ozu1IUjH1_Q
      Пи тест часть 2: https://youtu.be/uLOWYE-JJpA
    • By Стальной
      Доброго времени суток!
      Неделю не могу запустить DCMI на STM32F407VET6. 
      Работаю через HAL, инициализация кубом. К МК подключена камера OV7670. Камера дает картинку 640х480, и такое изображение мне негде хранить. Поэтому через фичу CROP хочу вырезать картинку 160х128 из центра под имеющийся экран.
      Ниже примерный код, без настройки камеры. Камера тактируется от 16 МГц MCO. Сигналы поступают на выводы МК, посмотрел осциллографом. У камеры есть некоторые настройки, которые тут в коде не показал, так как они влияют только на представление данных, но не на алгоритм захвата данных.
      /* USER CODE BEGIN PV */ uint16_t DCMI_data[20480] = {0}; //128*160=20480 words uint32_t ptr; /* USER CODE END PV */ //тут еще код куба, пропущу его int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_DCMI_Init(); /* USER CODE BEGIN 2 */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //снять ресет с матрицы ptr = (uint32_t)(&DCMI_data[0]); HAL_Delay( 500 ); //начать резать с 512 клока строки (256 пиксель), начать резать с 160 строки //захватить 256 клоков (128 пикселей), захватить 160 строк HAL_DCMI_ConfigCrop(&hdcmi, 512, 160, 256, 160); HAL_DCMI_EnableCrop(&hdcmi); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT, ptr, 10240); //однократный захват, 10240 тетрад, 20480 слов, 160*128=40960 пикселей HAL_Delay(1500); } /* USER CODE END 3 */ } В результате в буфере ничего не появляется, DMA туда ничего не кладёт, проверил. Если не вызывать функцию EnableCrop, но какие-то данные появляются, но на экран их корректно отобразить не получается. Также пытался в камере обрезку включить, а не в МК - снова нет данных. Пробовал разные частоты тактирования матрицы давать - без разницы. Отладчиком увидел, что бит EN в регистре конфигурации потока  DMA не снимается, как будто DMA не получал запросов на транзакции. Помогите, пожалуйста, разобраться.
      Проект на яндексДиске
    • By Карен Григорян
      Здравствуйте, товарищи форумчане!
      У меня вот такая проблемка: есть такая схема:

      По сути тут stm32 на который подаётся некоторое постоянное напряжение, а именно на вход PA1. МК получает его, приводит в цифровую форму (разрядность АЦП равна восьми) и выводит их при помощи восьми GPIO выводов, а именно PB0-PB7. Эти выводы соединены со схемой ЦАП, которая преобразует значение, полученное от stm32 обратно в аналоговую форму и выводит в пробнике R2(1).
      Проблема в том результат выводится не верный. Точнее говоря не всегда верный. Когда я подаю 1В, то на выходе получаю 0,99В, что верно. Но когда, например, подаю 300мВ, то получаю 1.8В, что совсем не верно. Код прошивки предельно прост:
        while (1)
        {
              HAL_ADC_Start_IT(&hadc1);
              HAL_Delay(10);
      }
      Код колбека прерывания:
      void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
      {
          if(hadc->Instance == ADC1) //check if the interrupt comes from ACD1
          {
            int adc = HAL_ADC_GetValue(&hadc1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,(adc>>0)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,(adc>>1)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,(adc>>2)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,(adc>>3)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,(adc>>4)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(adc>>5)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,(adc>>6)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,(adc>>7)&1);
          }
              }
      На всякий случай вот настройка АЦП в stm32:

      Вот пример неправильного вычисления:

    • By Vladimir Rubtsov
      Здраствуйте) Подскажите мне балбесу что я делаю не так. Хочу сделать чтобы при нажатии кнопки (PB13) срабатывал светодиод (PE1), но не работает, я как понял что я не правильно инициализирую режим работы порта кнопки, должен быть режим Input mode, но я не пойму как это сделать. У меня просто горит светодиод, но при нажатии кнопки ничего не происходит. Плата у меня stm32h743zi. Подскажите пожалуйста что я делаю не так, все сайты прочекал, но так ничего и не нашел. p.s. Пробовал через HAL писать тоже самое, там естественно все работает, но я хочу понять как работать с кнопкой без HAL.
      #include "stm32h7xx.h" void GPIO_Init(void); int main(void) { GPIO_Init(); if((GPIOC->IDR & GPIO_IDR_ID13) != 0) { GPIOE->BSRR |= GPIO_BSRR_BR1; }else{ GPIOE->BSRR |= GPIO_BSRR_BS1; } } void GPIO_Init () { RCC->AHB4ENR |= RCC_AHB4ENR_GPIOEEN; RCC->AHB4ENR |= RCC_AHB4ENR_GPIOCEN; GPIOE->MODER = GPIO_MODER_MODE1_0; GPIOC->MODER &= ~GPIO_MODER_MODE13; }


    • By Денисов Никита
      Здравствуйте. Решил я таки попробовать перебраться с Arduino AVR на STM32 и для начала решил полностью скопировать Arduino проект, но появилась проблема. Код который на AVR занимал 7кбайт и свободно вмещался на Atmega8, на STM32 занимает 26кбайт. В проекте используется 2 канала ацп + прерывания по DMA, дисплей 1602 по i2c и 4 GPIO. Конечно это занимает только 42% памяти STM32F103C8T, но для такого проекта она избыточна и я хотел использовать STM32F030F4P, но там только 16 кб памяти и прошивка не влезает. Что я не так делаю? Может нужно какую-то оптимизацию включить или что-то подобное(выбран уровень оптимизации for size)? Или у меня просто код никчёмный? Но там так мало написано, что сомневаюсь что я мог где-то накосячить 
×
×
  • Create New...