Мигать светодиодом. ARM или не-ARM?
Re: Мигать светодиодом. ARM или не-ARM?
У меня STlink определяет f030k6 как f031, но таймеры не проверял.
- Реклама
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
определяется у меня так:

Подключил индикатор, надо библиотеку LCD 4 бит, нашел тут:
http://easystm32.ru/indication/24-library-for-hd44780
кривоватая там задержка, увеличил на порядок, заработало:

PA5, так как там ETR (недокументированный) пришлось освободить, "RS" вывод индикатора теперь на PA6, в библиотеке он "CD"
тестовый кодик:
з.ы. индикатор из старых запасов, без подсветки - когда то давно по цене мусора купил мешок чужих неактульных устройств на AT89C2051 (SOIC) с такими индикаторами, индикаторы разошлись, один оставил для экспериментов, пригодилось.
Подключил индикатор, надо библиотеку LCD 4 бит, нашел тут:
http://easystm32.ru/indication/24-library-for-hd44780
кривоватая там задержка, увеличил на порядок, заработало:
PA5, так как там ETR (недокументированный) пришлось освободить, "RS" вывод индикатора теперь на PA6, в библиотеке он "CD"
тестовый кодик:
Спойлер
Код: Выделить всё
#include "stm32f0xx.h"
#include "hd44780_driver.h"
void SystemInit(void)
{
RCC->CR |= RCC_CR_HSEON;
/* Wait till HSE is ready */
while((RCC->CR & RCC_CR_HSERDY) != (RCC_CR_HSERDY));
RCC->CR &= ~(RCC_CR_HSION);
// This is potentially a dangerous function as it could
// result in a system with an invalid clock signal - result: a stuck system
// Set the PLL up
// First ensure PLL is disabled
RCC->CR &= ~RCC_CR_PLLON;
while ((RCC->CR & RCC_CR_PLLRDY));
// wait for PLL ready to be cleared
// set PLL multiplier to 6 (yielding 48MHz)
// Warning here: if system clock is greater than 24MHz then wait-state(s) need to be
// inserted into Flash memory interface
FLASH->ACR |= FLASH_ACR_LATENCY;
// Turn on FLASH prefetch buffer
FLASH->ACR |= FLASH_ACR_PRFTBE;
RCC->CFGR &= ~(RCC_CFGR_PLLMUL_3 | RCC_CFGR_PLLMUL_2 | RCC_CFGR_PLLMUL_1 | RCC_CFGR_PLLMUL_0);
RCC->CFGR [code]|= (RCC_CFGR_SW_PLL | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL_2);
// Need to limit ADC clock to below 14MHz so will change ADC prescaler to 4
RCC->CFGR |= RCC_CFGR_ADCPRE;
// Do the following to push HSI clock out on PA8 (MCO)
// for measurement purposes. Should be 8MHz or thereabouts (verified with oscilloscope)
/*
RCC->CFGR |= (RCC_CFGR_MCO_2 | RCC_CFGR_MCO_0);
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA->MODER |= GPIO_MODER_MODER8_1;
*/
// and turn the PLL back on again
RCC->CR |= RCC_CR_PLLON;
// set PLL as system clock source
RCC->CFGR |= RCC_CFGR_SW_1;
}
int main(void)
{
// Power up PORTA
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA->MODER |= (GPIO_MODER_MODER0_0 |
GPIO_MODER_MODER1_0 |
GPIO_MODER_MODER2_0 |
GPIO_MODER_MODER3_0 |
GPIO_MODER_MODER4_0 |
GPIO_MODER_MODER6_0
); // make bits an output
lcd_init(); //Инициализируем дисплей
lcd_out("Hello"); //Выводм надпись в нулевую строку
lcd_set_xy(0,1); //переводим курсор в первую строку
lcd_out("Radiokot");
for (;;)
{
}
}Re: Мигать светодиодом. ARM или не-ARM?
Прежде всего, спасибо ТС Олегу за информативные сообщения о новинках электроники в этой теме. Это далеко не единственный мой источник подобной информации, но получилось так, что уже второй раз именно его сообщения подвинули меня для более подробного ознакомления с соответствующими изделиями при выборе элементной базы. В первый раз это было при упоминании здесь несколько лет назад изделий PSoC фирмы Cypress – сейчас я их вовсю использую. Теперь это ARM микроконтроллеры фирмы Infinion.
Для некоторых моих проектов представляют интерес МК в мелких корпусах QFN24/QFN16. Таковые выпускаются разными производителями, но МК XMC13xx выделяются среди других архитектуры ARM-CM0 наличием матeматического ко-процессора и возможностью тактирования некоторых периферийных модулей (в частности ко-процессора) на частоте выше, чем частота тактирования ядра (и шины APB). Ко-процессор ускоряет процесс вычисления частного и остатка при операции 32-битного целочисленного деления, а также ряда тригонометрических и других функций и вычислений связанных с ними. Так, согласно апноуту AP32307 фирмы, ускорение вычисления частного с ко-процессором по сравнению со стандартными библиотеками составляет 3 – 7 раз в зависимости от компилятора. При этом выигрыш при вычислении косинуса составляет 20 - 40 раз по числу тактов процессора.
Напомню, что в архитектуре CM0 отсутствует аппаратный делитель (есть только однотактовый умножитель). Делителем оснащены МК архитектуры CM3 и выше, но и в них отсутствует аппаратное вычисление других функций. Подчеркну, что в данном случае меня интересуют QFN корпуса с не более, чем 24 выводами. На настоящий момент мне известна лишь одна модель МК ARM-CM3 в QFN24, именно EFM32TG1xx фирмы Silicon Labs (если кто знает модели CM3 других фирм в таких корпусах, буду признателен за информацию). Однако, у них из 24 выводов корпуса целых 7 задействованы под выводы питания/блокирующих конденсаторов/ресета, в то время как у XMC13хх под это задействованы всего 2.
После предварительного знакомства с документацией я предметно поговорил с представителем фирмы на Arrow Tech Expo (про неё будет отдельный пост здесь). Он дал мне советы по среде отладки и для ускорения первого знакомства с семейством XMC и подарил отладочную платку XMC-2GO. Это, пожалуй, самая маленькая отладочная плата на рынке, также одна из самых дешёвых - всего 7 USD не в Китае, что дешевле суммарной стоимости компонентов на ней при покупке в розницу. Её длина сравнима со спичкой и выполнена она в виде брелка. На плате помимо МК установлен внутрисхемный отладчик JLink.
Хотя МК на плате не совсем тот, что меня интересовал, он имеет на борту 64К флеша и 16К RAM. Надо будет заказать ещё такую и перепаять на ней МК на XMC1301/1302. Пока-же я снял брелочный шнурок с платы и распаял колодки для установки платы на безпаячную монтажку (колодки к плате не прилагаются). Для сравнения рядом показана моя самодельная платка для МК Kinetis MKL03 в QFN16 с разъёмом для программирования.
Помимо стандартных IDE, таких как IAR или Keil, МК фирмы поддерживаются её собственным IDE DAVE, основанным на платформе Eclipse. Именно её мне и посоветовал представитель фирмы для первого знакомства. В состав DAVE входит графический конфигуратор ресурсов наподобии Cube-MX, позволяющий сконфигурировать ресурсы и выводы корпуса за несколько кликов мышкой. В придачу на вебсайте фирмы предлагается бесплатная и полноценная версия системы uC-Probe без всяких ограничений, заточенная эксклюзивно под МК фирмы. Это приложение для Windows позволяет мониторить различные процессы в МК в режиме реального времени и служит дополнением к отладчику. Разработано оно фирмой Micrium (сейчас она вошла в состав Silicon Labs) – я по ней в прошлом посетил уже дважды учения. Кто не знает что это такое – лучше попробовать свободную версию, работающую в течении минуты после каждого запуска. В общем, первое знакомство с семейством XMC состоялось и впечатление оставило положительное.
Для некоторых моих проектов представляют интерес МК в мелких корпусах QFN24/QFN16. Таковые выпускаются разными производителями, но МК XMC13xx выделяются среди других архитектуры ARM-CM0 наличием матeматического ко-процессора и возможностью тактирования некоторых периферийных модулей (в частности ко-процессора) на частоте выше, чем частота тактирования ядра (и шины APB). Ко-процессор ускоряет процесс вычисления частного и остатка при операции 32-битного целочисленного деления, а также ряда тригонометрических и других функций и вычислений связанных с ними. Так, согласно апноуту AP32307 фирмы, ускорение вычисления частного с ко-процессором по сравнению со стандартными библиотеками составляет 3 – 7 раз в зависимости от компилятора. При этом выигрыш при вычислении косинуса составляет 20 - 40 раз по числу тактов процессора.
Напомню, что в архитектуре CM0 отсутствует аппаратный делитель (есть только однотактовый умножитель). Делителем оснащены МК архитектуры CM3 и выше, но и в них отсутствует аппаратное вычисление других функций. Подчеркну, что в данном случае меня интересуют QFN корпуса с не более, чем 24 выводами. На настоящий момент мне известна лишь одна модель МК ARM-CM3 в QFN24, именно EFM32TG1xx фирмы Silicon Labs (если кто знает модели CM3 других фирм в таких корпусах, буду признателен за информацию). Однако, у них из 24 выводов корпуса целых 7 задействованы под выводы питания/блокирующих конденсаторов/ресета, в то время как у XMC13хх под это задействованы всего 2.
После предварительного знакомства с документацией я предметно поговорил с представителем фирмы на Arrow Tech Expo (про неё будет отдельный пост здесь). Он дал мне советы по среде отладки и для ускорения первого знакомства с семейством XMC и подарил отладочную платку XMC-2GO. Это, пожалуй, самая маленькая отладочная плата на рынке, также одна из самых дешёвых - всего 7 USD не в Китае, что дешевле суммарной стоимости компонентов на ней при покупке в розницу. Её длина сравнима со спичкой и выполнена она в виде брелка. На плате помимо МК установлен внутрисхемный отладчик JLink.
Спойлер

Спойлер
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Добавлю
платку XMC 2GO, кому надо, можно прикупить поближе, например:
https://www.terraelectronica.ru/news_postup.php?ID=3736
Infineon XMC1100 еще бывают в корпусах TSSOP16 (типа XMC1100-T016F0008 8KB Flash, 16KB RAM, 2.0 - 5.5V) - можно применять в хоббийных проектах вместо ATtiny.
TSSOP-38 удобный имхо корпус (типа XMC1100-T038F0064 64KB Flash, 16KB RAM, 2.0 - 5.5V ) - можно применять вместо ATmega.
платку XMC 2GO, кому надо, можно прикупить поближе, например:
https://www.terraelectronica.ru/news_postup.php?ID=3736
Infineon XMC1100 еще бывают в корпусах TSSOP16 (типа XMC1100-T016F0008 8KB Flash, 16KB RAM, 2.0 - 5.5V) - можно применять в хоббийных проектах вместо ATtiny.
TSSOP-38 удобный имхо корпус (типа XMC1100-T038F0064 64KB Flash, 16KB RAM, 2.0 - 5.5V ) - можно применять вместо ATmega.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Пробуем сделать частотомер на STM32F030F4P6. Прямой счет. В принципе в Протеусе уже было все проверено, но было проверено то на серии F1, а у нас F0 и еще реальное железо. Таймера F1 и F0 практически очень похожи. Решил упростить - обойтись вообще без прерываний - все равно выводим результаты раз в секунду. TIM3 - секундный таймер, когда в режиме OPM програмно производим его запуск - он разрешает счет TIM2, по истечении секунды TIM3 останавливается и TIM2 далее не считает - в счетчике TIM2 искомое значение частоты. TIM2 32 бит - за 1 сек имхо не переполнится. Время измерения легко переключить - например на 0,1 сек или 10 сек.
программка:
Вроде как совсем не сложно получилось.
Главное теперь частоту теперь найти, чтоб измерять. Нашел у себя кварцевый генератор 8.00000МГц, 3В питание - для тестов пойдет. Вот что показал наш частотомер:

Показания иногда прыгают 1 Гц. От температуры (палец на кварце отладчной платы) показания увеличиваются - можно организовать измерение температуры с помощью кварца. Для проверки возможностей железа это имхо не принципиально.
программка:
Спойлер
Код: Выделить всё
#include "stm32f0xx.h"
#include "hd44780_driver.h"
void SystemInit(void)
{
RCC->CR |= RCC_CR_HSEON;
/* Wait till HSE is ready */
while((RCC->CR & RCC_CR_HSERDY) != (RCC_CR_HSERDY));
RCC->CR &= ~(RCC_CR_HSION);
// This is potentially a dangerous function as it could
// result in a system with an invalid clock signal - result: a stuck system
// Set the PLL up
// First ensure PLL is disabled
RCC->CR &= ~RCC_CR_PLLON;
while ((RCC->CR & RCC_CR_PLLRDY));
// wait for PLL ready to be cleared
// set PLL multiplier to 6 (yielding 48MHz)
// Warning here: if system clock is greater than 24MHz then wait-state(s) need to be
// inserted into Flash memory interface
FLASH->ACR |= FLASH_ACR_LATENCY;
// Turn on FLASH prefetch buffer
FLASH->ACR |= FLASH_ACR_PRFTBE;
RCC->CFGR &= ~(RCC_CFGR_PLLMUL_3 | RCC_CFGR_PLLMUL_2 | RCC_CFGR_PLLMUL_1 | RCC_CFGR_PLLMUL_0);
RCC->CFGR |= (RCC_CFGR_SW_PLL | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL_2);
// Need to limit ADC clock to below 14MHz so will change ADC prescaler to 4
RCC->CFGR |= RCC_CFGR_ADCPRE;
// and turn the PLL back on again
RCC->CR |= RCC_CR_PLLON;
// set PLL as system clock source
RCC->CFGR |= RCC_CFGR_SW_1;
}
const char* u32ToStr(uint32_t val)
{
static char buf[12];
for (int i = 10; i >= 0; i--)
{
buf[i] = '0' + val % 10;
val /= 10;
if (!val) return buf + i;
}
return 0;
}
void TIM3_Init(void)
{
TIM3->PSC = 48000-1; //48000000/48000 = 1000Hz
TIM3->ARR = 1000-1; //1000/1000 = 1Hz
/*Enable - the Counter enable signal, CNT_EN, is used as trigger output (TRGO). It is
useful to start several timers at the same time or to control a window in which a slave timer is
enabled. The Counter Enable signal is generated by a logic OR between CEN control bit
and the trigger input when configured in gated mode.
When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO,
except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR
register).*/
TIM3->CR2 |= TIM_CR2_MMS_0;
/*Counter stops counting at the next update event (clearing the bit CEN) Counter enabled*/
TIM3->CR1 |= TIM_CR1_OPM;
}
void TIM2_Init()
{
/*External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF
002: Internal Trigger 2 (ITR2) TIM3_TRGO*/
TIM2->SMCR |= TIM_SMCR_ECE | TIM_SMCR_TS_1;
/*101: Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The
counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of
the counter are controlled.*/
TIM2->SMCR |= TIM_SMCR_SMS_0 | TIM_SMCR_SMS_2;
/*010: Update - The update event is selected as trigger output (TRGO). For instance a master
timer can then be used as a prescaler for a slave timer.*/
TIM2->CR2 |= TIM_CR2_MMS_1;
TIM2->CR1 |= TIM_CR1_CEN;
}
void GPIO_Init()
{
GPIOA->MODER |= (GPIO_MODER_MODER0_0 |
GPIO_MODER_MODER1_0 |
GPIO_MODER_MODER2_0 |
GPIO_MODER_MODER3_0 |
GPIO_MODER_MODER4_0 |
GPIO_MODER_MODER5_1 | /*Select alternate function mode */
GPIO_MODER_MODER6_0
); /*make bits an output*/
/**TIM2 GPIO Configuration
PA5 ------> TIM2_ETR
*/
/*Configure gpio alternate function of a dedicated pin from 0 to 7 for a dedicated port.
Possible values are from AF0 to AF7 depending on target.
GPIOA->AFR[0] |= ((((Pin * Pin) * Pin) * Pin) * Alternate));*/
/*PA5 Select alternate function 2*/
GPIOA->AFR[0] |= (((((uint32_t)(1<<5) * (uint32_t)(1<<5)) * (uint32_t)(1<<5)) * (uint32_t)(1<<5)) * (uint32_t)2); //=0x00200000
}
int main(void)
{
// Power up PORTA, TIM2, TIM3
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN | RCC_APB1ENR_TIM3EN;
GPIO_Init();
lcd_init(); //Инициализируем дисплей
lcd_out("Frequency"); //Выводм надпись в нулевую строку
TIM2_Init();
TIM3_Init();
for (;;)
{
TIM2->CNT = 0;
TIM3->CR1 |= TIM_CR1_CEN;
while((TIM3->CR1 & TIM_CR1_CEN) == TIM_CR1_CEN) {}
lcd_set_xy(0,1); //переводим курсор в первую строку
lcd_out(" "); //clear
lcd_set_xy(0,1); //переводим курсор в первую строку
lcd_out(u32ToStr(TIM2->CNT));
lcd_out("Hz");
}
}
Главное теперь частоту теперь найти, чтоб измерять. Нашел у себя кварцевый генератор 8.00000МГц, 3В питание - для тестов пойдет. Вот что показал наш частотомер:
Показания иногда прыгают 1 Гц. От температуры (палец на кварце отладчной платы) показания увеличиваются - можно организовать измерение температуры с помощью кварца. Для проверки возможностей железа это имхо не принципиально.
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мигать светодиодом. ARM или не-ARM?
Как это мило


если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
мне тоже нравится, интересно как такое на AVR 8 бит организовать...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мигать светодиодом. ARM или не-ARM?
никак, наверное. хотя я не долго думал, но вряд ли ошибся...oleg110592 писал(а):как такое на AVR 8 бит организовать
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
нашел на AVR частотомер, метод измерения несколько отличается, но не суть
http://chipenable.ru/index.php/programm ... llere.html
ну что сказать - труднее было раньше делать хоббийный частотомер, все таймера (3) похоже пришлось задействовать прерывания, переполнения, unsigned long, unsigned long long...
http://chipenable.ru/index.php/programm ... llere.html
ну что сказать - труднее было раньше делать хоббийный частотомер, все таймера (3) похоже пришлось задействовать прерывания, переполнения, unsigned long, unsigned long long...
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="oleg110592",url="/forum/viewtopic.php?p=3186470#p3186470"]нашел на AVR частотомер, метод измерения несколько отличается, но не суть
http://chipenable.ru/index.php/programm ... llere.html
ну что сказать - труднее было раньше делать хоббийный частотомер, все таймера (3) похоже пришлось задействовать прерывания, переполнения, unsigned long, unsigned long long...[/uquote]
И максимально измеряемая частота на AVR меньше примерно в 3.5 раза относительно F0 и раз в 5 относительно F1.
ps. Код наглядно демонстрирует насколько сложны таймеры STM32, аж 4 регистра пришлось задействовать, а в простейшем случае хватило бы и трех. Это к тому, что некоторые рассказывают будто одни эти таймеры сложнее AVR в целом
Конечно есть в них и более сложные режимы, но никто их использовать не заставляет...
http://chipenable.ru/index.php/programm ... llere.html
ну что сказать - труднее было раньше делать хоббийный частотомер, все таймера (3) похоже пришлось задействовать прерывания, переполнения, unsigned long, unsigned long long...[/uquote]
И максимально измеряемая частота на AVR меньше примерно в 3.5 раза относительно F0 и раз в 5 относительно F1.
ps. Код наглядно демонстрирует насколько сложны таймеры STM32, аж 4 регистра пришлось задействовать, а в простейшем случае хватило бы и трех. Это к тому, что некоторые рассказывают будто одни эти таймеры сложнее AVR в целом
Последний раз редактировалось aen Вт сен 19, 2017 10:08:19, всего редактировалось 1 раз.
Причина: Нарушение Правил форума п. 2.7
Причина: Нарушение Правил форума п. 2.7
- КРАМ
- Друг Кота
- Сообщения: 25266
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мигать светодиодом. ARM или не-ARM?
Откуда эта непобедимая любовь к частотомерам?
Стесняюсь спросить о сфере их применения...
Когда занимался сантиметровым и верхним дециметровым диапазонами, частотомер доставал с полки раза 2 в год, когда сдавал тему представителю заказчика.
А радиолюбителю..., ну разве часы откалибровать быстро, ну еще цифровую шкалу приемнику сбацать.
В первом случае частота совсем низкая, а во втором не нужно высокое разрешение и единственный корпус за 5...10 рублей на входе дополнительно к МК (все равно формирователь на россыпи делать) решает вопросы верхней частоты радикально.
Это я к тому, что доказывать на этой основе что АРМ лучше Атмела просто смешно. Никаких принципиальных отличий там нет. Реализуемо примерно одинаково на обеих платформах. Дело вкуса.
Стесняюсь спросить о сфере их применения...
Когда занимался сантиметровым и верхним дециметровым диапазонами, частотомер доставал с полки раза 2 в год, когда сдавал тему представителю заказчика.
А радиолюбителю..., ну разве часы откалибровать быстро, ну еще цифровую шкалу приемнику сбацать.
В первом случае частота совсем низкая, а во втором не нужно высокое разрешение и единственный корпус за 5...10 рублей на входе дополнительно к МК (все равно формирователь на россыпи делать) решает вопросы верхней частоты радикально.
Это я к тому, что доказывать на этой основе что АРМ лучше Атмела просто смешно. Никаких принципиальных отличий там нет. Реализуемо примерно одинаково на обеих платформах. Дело вкуса.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
чукча не читатель - тут начало:Откуда эта непобедимая любовь к частотомерам?
http://radiokot.ru/forum/viewtopic.php? ... 6#p3179216
Отвлечемся немного - интересный семинар (имхо) от ST.
STM32 hands-on workshop: Connect your long-range network to the cloud
Полный день практического семинара
Этот 1-дневный семинар включает в себя 3 различных практические тренинга эксперта STM32 о том , как подключить приложение IoT к облаку с помощью маломощного глобальной сети (LPWAN).
Вы будете работать на платформе разработки STM32, полностью LoRa® и Sigfox совместимыми и узнаете , как создать свою собственную рабочую область на облачных вычислений службы Microsoft Azure.
Целевая аудитория
Аппаратные и программные инженеры работающие над приложениями IoT иследующие возможности соединения облака через LPWAN.
Программа
* Как настроить среду разработки STM32
* Технология указания для подключения STM32 на основе приложения к LPWAN
* Основы LoRa® и Sigfox технологий
* Практический опыт и примеры для репликации в Ваших помещениях
* Прямой контакт с инженерно-техническим персоналом STM32
Бесплатно. Где, когда, подробнее, регистрация тут:
http://www.st.com/content/st_com/en/abo ... cloud.html
главное 12:00–13:00 Lunch не пропустить.
видео "STM32L0 LoRa discovery kit Getting started" тут:
https://www.youtube.com/watch?v=MgbTraRq0K8
- КРАМ
- Друг Кота
- Сообщения: 25266
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мигать светодиодом. ARM или не-ARM?
Ссылка не объясняет мотивацию фанатов частотомеростроения. Эта любовь иррациональна, как любовь к почтовым маркам или значкам...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мигать светодиодом. ARM или не-ARM?
нет, не совсем так. филателист редко когда хвалится количеством своих марок, а тут налицо чисто количественные характеристики, подтверждающие ЧСВ: частоту можно мерить с точностью до 1Гц в диапазоне до 10МГц! это ж как круто! с точностью в 0,5% такую частоту пусть лошары меряют (50 кГц)КРАМ писал(а):Эта любовь иррациональна, как любовь к почтовым маркам или значкам...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="КРАМ",url="/forum/viewtopic.php?p=3186533#p3186533"]не объясняет мотивацию фанатов частотомеростроения[/uquote]
мотивация проста - разминка для мозга (хобби и такое бывает)
По теме - PSoC 6 подробное учебное пособие мигания светодиодом:
https://www.rs-online.com/designspark/p ... =407972548
PSoC 6
* Dual-Core ARM Cortex-M
* Ultra-Low-Power
* High-Performance
* Human Machine Interface (HMI)
* Wired and Wireless Connectivity
* Hardware Based Security
мотивация проста - разминка для мозга (хобби и такое бывает)
По теме - PSoC 6 подробное учебное пособие мигания светодиодом:
https://www.rs-online.com/designspark/p ... =407972548
PSoC 6
* Dual-Core ARM Cortex-M
* Ultra-Low-Power
* High-Performance
* Human Machine Interface (HMI)
* Wired and Wireless Connectivity
* Hardware Based Security
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="КРАМ",url="/forum/viewtopic.php?p=3186520#p3186520"]Откуда эта непобедимая любовь к частотомерам?
Стесняюсь спросить о сфере их применения...
Когда занимался сантиметровым и верхним дециметровым диапазонами, частотомер доставал с полки раза 2 в год, когда сдавал тему представителю заказчика.
А радиолюбителю..., ну разве часы откалибровать быстро, ну еще цифровую шкалу приемнику сбацать.[/uquote]
Только недавно была тема, просили помочь настроить для AVR ШИМ на 30КГц, вот там бы частотомер точно не помешал
Еще можно время выполнения кода косвенно измерять, даже я так иногда делаю, например, когда оптимизировал эмулятор спектрума, то отключал синхронизацию, периодически генерил на ножке импульс и измерял частоту кадров. Можно сделать небольшое изменение и получить +30 фпс
А в целом согласен, потому и говорил, что частотомер как самостоятельное устройство для меня достаточно уныл...
Еще и точность после делителя упадет...
Стесняюсь спросить о сфере их применения...
Когда занимался сантиметровым и верхним дециметровым диапазонами, частотомер доставал с полки раза 2 в год, когда сдавал тему представителю заказчика.
А радиолюбителю..., ну разве часы откалибровать быстро, ну еще цифровую шкалу приемнику сбацать.[/uquote]
Только недавно была тема, просили помочь настроить для AVR ШИМ на 30КГц, вот там бы частотомер точно не помешал
Думаю многим любителям 8-ми ногих тинек будет очень сложно доказать, что добавление единственного корпуса будет означать отсутствие принципиальных отличийВ первом случае частота совсем низкая, а во втором не нужно высокое разрешение и единственный корпус за 5...10 рублей на входе дополнительно к МК (все равно формирователь на россыпи делать) решает вопросы верхней частоты радикально.
Это я к тому, что доказывать на этой основе что АРМ лучше Атмела просто смешно. Никаких принципиальных отличий там нет. Реализуемо примерно одинаково на обеих платформах. Дело вкуса.
- КРАМ
- Друг Кота
- Сообщения: 25266
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мигать светодиодом. ARM или не-ARM?
Не точность, милостивый государь, а разрешение. Да и то при определенных условиях. Если измерять захватом с включенным предделителем, то никуда разрешение не упадет... Как Вы уже знаете. 
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="КРАМ",url="/forum/viewtopic.php?p=3186594#p3186594"]Не точность, милостивый государь, а разрешение. Да и то при определенных условиях. Если измерять захватом с включенным предделителем, то никуда разрешение не упадет... Как Вы уже знаете.
[/uquote]
Допустим у мк предел измерений частоты 10MHz, а хочется измерять в 4 раза больше, тогда ставим делитель на 4, подаем 7 импульсов на частоте близкой к максимальной, ведь ради этого делитель и ставили, сколько насчитает мк?
Допустим у мк предел измерений частоты 10MHz, а хочется измерять в 4 раза больше, тогда ставим делитель на 4, подаем 7 импульсов на частоте близкой к максимальной, ведь ради этого делитель и ставили, сколько насчитает мк?
Последний раз редактировалось aen Вт сен 19, 2017 11:59:34, всего редактировалось 1 раз.
Причина: Нарушение Правил форума п. 2.7
Причина: Нарушение Правил форума п. 2.7
- КРАМ
- Друг Кота
- Сообщения: 25266
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мигать светодиодом. ARM или не-ARM?
Зачем допускать, если можно посмотреть в даташит. Опять же 10/4=2500000 гц, сиречь за 0,25 сек получим разрешение в 6 полных десятичных разрядов. Вы полагаете, что точность будет выше? 
И что Вы будкте применять в качестве эталона? Гиацинт?
И что Вы будкте применять в качестве эталона? Гиацинт?
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Ну теперь можно опробовать и другие методы измерения частоты. Прямой счет, как мы убедились, оказалось легко реализовать.
Вот еще нашел частотомер на ATtiny2313:
http://www.mshopf.de/proj/avr/freq_meter.html
утверждается что это reciprocal метод - надо разбираться, изучать матчасть. Так как ресурсов ATtiny2313 маловато - автор похоже применил самописную 64 бит математику на ассемблере. Про точность и проблемы реализации в железе по ссылке README.
Вот еще нашел частотомер на ATtiny2313:
http://www.mshopf.de/proj/avr/freq_meter.html
утверждается что это reciprocal метод - надо разбираться, изучать матчасть. Так как ресурсов ATtiny2313 маловато - автор похоже применил самописную 64 бит математику на ассемблере. Про точность и проблемы реализации в железе по ссылке README.


