STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

Почему в референс мануале на F030xx в разделах, упоминающих RTC, не говорится о том, что кварц 32768 можно подключить только к чипам Cx и Rx исполнения, т.е при наличии не менее 48 ног?

Прошелся по описанию тактов, конкретно от LSE - молчание. В разделе собственно RTC аналогично. То же и в ДШ. При этом по другим моментам пишут в примечаниях, мол, такое-то не для таких-то девайсов. Только по табпице распиновки можно понять, что к TSSOP28 и LQFP32 часовой кварц ни-ни. Понятно, что можно взять щелчки от оставшихся трех источников, но не понятно, почему об этом явно не пишут. Или я что-то не понимаю?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Реклама
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: STM32 новичку в ARM что к чему

Сообщение scorpi_0n »

Потому что в референсе присутствует только описание работы модулей МК, а наличие или отсутствие модулей, как и наличие или отсутствие пинов МК, описывает даташит.
Реклама
zöner
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

Re: STM32 новичку в ARM что к чему

Сообщение zöner »

что к TSSOP28 и LQFP32 часовой кварц ни-ни
вот в Меге8 мудро поступили - на ноги основного кварца можно повесить 32К, и работать от внутреннего...
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

ОК. Вот вырезка из RM0360:
СпойлерИзображение
Обратите внимание на название картинки. Оно включает в себя так же F030F4 и F030K6, 20- и 32-ногие чипы соответственно.
Внизу есть примечание об отсутствии НЧ генераторов только в F030х8 чипах. Все остальные должны иметь всё, изображенное на блок-схеме.
На деле же упомянутые мной выше кристаллы НЕ имеют выводы предназначенные под часовой кварц.

Потому я и спросил в чем причина этого: ошибка мануала или я не знаю каких-то особенностей.
zöner писал(а):вот в Меге8 мудро поступили...
В равнозначных ему PIC16F87xA чипах поступили еще мудрее: отдельные выводы для ВЧ кварца, отдельные для НЧ, но тема не о них.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

Zhuk72 писал(а):Обратите внимание на название картинки. Оно включает в себя так же F030F4 и F030K6, 20- и 32-ногие чипы соответственно. Внизу есть примечание об отсутствии НЧ генераторов только в F030х8 чипах. Все остальные должны иметь всё, изображенное на блок-схеме.
Откройте даташит и посмотрите к каким выводам подключается часовой кварц (это PC14 и PC15). Они есть в F030F4?
Вероятнее всего во всех моделях перечисленных на картинке один и тот же кристалл, но выведено разное число выводов в зависимости от модели.
Реклама
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

На картинке перечислены (сужу по свежему ST MCU Finder) F030F4, F030K6, F030C8 и F030R8. Согласно распиновке в этом же документе, первые два не имеют выводов под LSE, а согласно примечанию под картинкой последние два не имеют ни LSE, ни LSI. Так для чего надо было рисовать то, чего нет ни в одном из описываемых чипов?

Выходит, что единственным достоверным источником тактов для часов может быть только внешний кварц.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Реклама
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: STM32 новичку в ARM что к чему

Сообщение scorpi_0n »

Внимательно смотрите в картинку, вы там явно не видите.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

Не знаю что там подразумевают на картинке, но в F030C8 LSE есть.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

[uquote="scorpi_0n",url="/forum/viewtopic.php?p=3144555#p3144555"]Внимательно смотрите в картинку, вы там явно не видите.[/uquote]
Что именно не вижу?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: STM32 новичку в ARM что к чему

Сообщение scorpi_0n »

Что сноска "1. LSI/LSE is not available on STM32F030x8 devices." относится только к МСО.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

Ясно. Но в таком случае логично было бы и около OSC32 выводов поставить цифру 2 и в примечании указать not available on STM32F030x4 and STM32F030x6 devices.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: STM32 новичку в ARM что к чему

Сообщение amv2000 »

Добрый вечер! Вопрос по SPI? MCU STM32F103C8 дисплей ST7735s
беру функцию инициализации:

Код: Выделить всё

 /*******************************************************************************
Имя функции : lcd7735_ini
Описание    : Инициализация дисплея
Ввод        : Нет
Возврат     : Нет
*******************************************************************************/

void lcd7735_ini(void) {
  LCD_CS0;                // CS=0   
  LCD_RST0;               // RST=0 

  HAL_Delay(10);      

  LCD_RST1;               // RST=1
  HAL_Delay(10);          // 

   
  lcd7735_sendCmd(0x11);  // вывод из спящего режима

	HAL_Delay(120);         // задержка

  lcd7735_sendCmd (0x3A); // режим цвета:
  lcd7735_sendData(0x05); // 16 бит
	lcd7735_sendCmd (0x36); // направление вывода изображения:
	lcd7735_sendData(0x14); // порядок цветов RGB, 0х14 (0x1C)-снизу вверх, справа на лево 
	lcd7735_sendCmd (0x29); // Включить дисплей
}
Если в коде инициализации вместо lcd7735_sendCmd(0x11); писать SPI1->DR = 0x11; то всё работает. Если изменить функцию

Код: Выделить всё

/*******************************************************************************
Имя функции : lcd7735_sendCmd
Описание    : Отправка команды
Ввод        : cmd - передаваемая команда
Возврат     : Нет
*******************************************************************************/

void lcd7735_sendCmd(unsigned char cmd) {
   LCD_DC0; // установим ноль на линии DC
//lcd7735_senddata(cmd);		
	SPI1->DR = cmd;
	while(SPI1->SR & SPI_SR_BSY);
}
то ничего не работает, почему так ведь это же одно и тоже?
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

Разбираюсь с 401RE.
Наткнулся на непонятки в ситуации, когда моя инициализация вешала МК после смены системных тактов с внутреннего генератора 16 МГц на PLL с конечным выходом 80 МГц (84 допустимый максимум). Уже хотел писать сюда, но тут неожиданно (не искал даже) наткнулся на статью уважаемого котоварища YS, в которой говорится о флэше и частоте. Зашел в RM, увидел, победил. Светодиод исправно замигал.

Но теперь пришел черед второй непонятки, которая меня раздражала, раз уж с первой разобрался.
Итак в startup.s первой прописана SystemInit() в генерируемом системой файле тратата.с следующего содержания (после очистки от комментариев и условной компиляции)...

Пока писал, разобрался и со второй проблемой. Как оказалось, разрешение FPU должно идти в самом начале инициализации. Просто прописал ее мануальный асм вариант в startup.s и все заработало.

Вот так писал вопрос, а получился маленький ФАК.

Задержкой помигал, системным таймером тоже, теперь пойду мигать стандартным таймером, потом часами, ну а дальше как получится 8)
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Alexey_N
Сверлит текстолит когтями
Сообщения: 1273
Зарегистрирован: Вт фев 01, 2011 17:56:40
Откуда: г. Жуковка, Брянская обл.

Re: STM32 новичку в ARM что к чему

Сообщение Alexey_N »

[uquote="amv2000",url="/forum/viewtopic.php?p=3151370#p3151370"]Если в коде инициализации вместо lcd7735_sendCmd(0x11); писать SPI1->DR = 0x11; то всё работает. Если изменить функцию

Код: Выделить всё

/*******************************************************************************
Имя функции : lcd7735_sendCmd
Описание    : Отправка команды
Ввод        : cmd - передаваемая команда
Возврат     : Нет
*******************************************************************************/

void lcd7735_sendCmd(unsigned char cmd) {
   LCD_DC0; // установим ноль на линии DC
//lcd7735_senddata(cmd);		
	SPI1->DR = cmd;
	while(SPI1->SR & SPI_SR_BSY);
}
то ничего не работает, почему так ведь это же одно и тоже?[/uquote]
Разве одно и то же? Функция меняет линию DC, посылает байт команды в буфер SPI и ждет(!) пока он не уйдет. Не работать может по разным причинам, но, возможно, дело в линии DC - лог. анализатором надо посмотреть что происходит и сравнить с алгоритмом работы контроллера дисплея.
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

Всем привет.
Кто-нибудь может объяснить, почему на F401 такты у SPI такие неравномерные? И это при том, что работает только SPI раз в секунду и прерывание по системному таймеру каждую мс.
Работать-то это работает, но ранее смотрел SPI на F103, так там все было красиво, а тут как будто вручную ногу дергают.
7219.zip
(1.57 КБ) 270 скачиваний
Инициализация простейшая. Если интересно, то вот:

Код: Выделить всё

void spi2_init(void)
{
// APB1 = 40MHz
  RCC->APB1ENR |= RCC_APB1ENR_SPI2EN;
  SPI2->CR1 = (SPI_CR1_BR_0 | SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_MSTR | SPI_CR1_DFF); // 40:4 MHz.
  SPI2->CR2 = SPI_CR2_TXEIE;
  NVIC_EnableIRQ(SPI2_IRQn);
}
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Alexey_N
Сверлит текстолит когтями
Сообщения: 1273
Зарегистрирован: Вт фев 01, 2011 17:56:40
Откуда: г. Жуковка, Брянская обл.

Re: STM32 новичку в ARM что к чему

Сообщение Alexey_N »

Сложно сказать... как вариант лог. анализатор, если он китайский клон, то на высоких частотах так может показывать - мой так точно.
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

Ну не знаю. Я не помню какую частоту я выдавал на F103, но где-то в районе мегагерца.
А здесь даже на 4 МГц такая рваная картинка.
Да и с чего клону так врать? ПЛМ же и у оригинала, и у китайца одинаковые, а входной буфер я менял.

Для пробы попробую проверить картинку на МСО. Там-то уж точно частота от работы периферии не зависит.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

Zhuk72 писал(а):Ну не знаю.
Капитальная отмазка... А надо бы ... :)))

Zhuk72 писал(а): А здесь даже на 4 МГц такая рваная картинка.
Здесь не 4МГц, Clock 12MHz , клон saleae выше 8ми корректно не покажет.
Можно попробовать выкинуть все каналы, оставив MOSI, CLK и CS или MOSI и CLK только...


Изображение
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Zhuk72 »

Вообще там должно быть не больше 10, но по диаграмме этого не понять, потому что длительности импульсов разнятся по всему пакету.
В принципе меня это не особо волнует, ибо шина работает. Просто интересно было выяснить причину.

А в чем отличие клона от оригинала, если уж на то пошло? ПЛМ левый, сборка или еще что?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

[uquote="Zhuk72",url="/forum/viewtopic.php?p=3154900#p3154900"]А в чем отличие клона от оригинала, если уж на то пошло? ПЛМ левый, сборка или еще что?[/uquote]

Да нет , отличий от первых версий оригинала насколько помнится нет. Просто у всех клоны . :)))

Кстати, решил брать этот анализатор, так же уткнулся в ограничения... https://ru.aliexpress.com/item/Kingst-L ... 396.0TSocH
Ответить

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