Перейти к содержанию
    

kumle

Участник*
  • Постов

    159
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о kumle

  • Звание
    Частый гость
    Частый гость

Старые поля

  • skype
    Array

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

3 448 просмотров профиля
  1. Поэтому и разобрал, глючит датчик, дает ложные срабатывания
  2. Ухты, вот так прям сходу. Сразу видно профессионалы. Спасибо.
  3. Всем привет! Кто может подсказать, разобрал датчик удара и срисовал кусок схемы (один канал уровня предупреждения), какую функцию выполняют диоды в обратной связи операционника. Если с отрицательной еще более менее понятно, в литературе встречается разбор таких схем, то с диодом в положительной обраь=тной связи вообще непонятно. Может это какая то хитрая уловка, или тепмературная компенсация?
  4. Вот моя инициализация RTC void RTC_Config(void) { /* Enable the PWR clock */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); /* Allow access to RTC */ PWR_BackupAccessCmd(ENABLE); // if ((RCC->BDCR & RCC_BDCR_RTCEN) != RCC_BDCR_RTCEN) // { // Сброс данных в резервной области // RCC_BackupResetCmd(ENABLE); // RCC_BackupResetCmd(DISABLE); RCC_LSEConfig(RCC_LSE_ON); /* wait till lse is ready */ while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) { } /* Select the RTC Clock Source */ RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); /* Enable the RTC Clock */ RCC_RTCCLKCmd(ENABLE); /* Wait for RTC APB registers synchronisation */ RTC_WaitForSynchro(); /* Configure the RTC data register and RTC prescaler */ //из даташита: F=Frtcosc/((div_a+1)x(div_s+1))=32768/((1+1)*(16383+1))=1Hz //при этом subsecond точность будет равна 1/16384=61,035мкс !!! RTC_InitStructure.RTC_AsynchPrediv = 1; RTC_InitStructure.RTC_SynchPrediv = 16383; RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_12; /* Check on RTC init */ if (RTC_Init(&RTC_InitStructure) == ERROR) { asm("NOP"); asm("NOP"); asm("NOP"); } /* Enable The TimeStamp */ //RTC_TimeStampCmd(RTC_TimeStampEdge_Falling, ENABLE); // } }
  5. Да, выяснил. Поставил вызов в прерывание и сразу при каждом вызове значения были разные !!! А до этого вызов был в бесконечном цикле в main, а так как RTC от часового кварца, то видимо засинхронизировался с тактами контроллера
  6. STM32F4 чтение регистра SSR из RTC

    Пытюсь получать значения субсекунд от RTC сделал тестовую функцию которая запускается в произвольный момент и вызывает 5 чтений SSR через паузы 1 миллисекунду времени по приходу команды void RTC_TEST(void) { volatile unsigned int ssr[5]={0}; ssr[0] = RTC_GetSubSecond(); delay1ms(); ssr[1] = RTC_GetSubSecond(); delay1ms(); ssr[2] = RTC_GetSubSecond(); delay1ms(); ssr[3] = RTC_GetSubSecond(); delay1ms(); ssr[4] = RTC_GetSubSecond(); asm("NOP"); asm("NOP"); asm("NOP"); } далее там где нопы ставлю точку останова и в отладчике смотрю массив ssr. разности соседних значений ssr в массиве соответствуют одной миллисекунде задержки !!!! НО !!!! Далее продолжив программу снова запускаю функцию внешней командой и получаю опять 5 значений в массиве ssr, Причем самое первое ssr[0] всегда примено равно предыдущему значению ssr[0] из предыдущего запуска функции. Как так получается, я ведь запускаю в совершенно разные мометнты времени и миллисекунды тоже должны быть произвольные ? Вот например пример результатов запуска несколько раз этой функции: первый запуск 10944, 10924, 10903, 10883, 10862 второй запуск 10969, 10949, 10928, 10908, 10877 третий запуск 10981, 10961, 10940, 10920, 10900 Модератор: код прячем в теги, пустые строки в большом количестве не оставляем!
  7. Всем привет товприщи ! Тут коллеги по работе решили в довольно таки серьезном проекте использовать wifi модули esp8266. Все бы ничего, но я тоже являюсь участником проекта и данные модули должны обмениваться данными с с платой, за которую я отвечаю. Так вот в случае чего не хотеломь бы расхлебывать проблемы. Мне видится, что модули esp8266 все таки для домашнего применения что-ли. Вобщем хотел их отговорить, но не в какую. Они увидели что там можно вме быстро сделать на питоне и поэтому загорелись этой идеей. Вобщем у меня аргументов не хватает. Может вы чего нибудь подскажете за или против этого модуля ?
  8. Это временное явление. Потом либо STM откатят назад в цене, либо PICи вырастут аналогично
  9. Есть задача измерять фазу синусоиды с генератора в момент времени задаваемый с отметчика. В качестве отметчика беру сигнал 3.3v с той же самой частотой, но только c цифрового выхода этого же генератора Частоту сигнала вычисляю точно модулем захвата в микроконтроллере, получается в герцах два знака после запятой стоят стабильно Также Имеется отдельное АЦП которое всегда запущено и сэмплирует с частотой 5Кгц. По приходу фронта отметчика, я начинаю накапливать выборку 2048 сэмплов сигнала. Далее через сумму синусов и косинусов вычисляю действ. и мнимую часть сигнала и вычисляю фазу через atan2 Теперь самое интересное. Если подаю частоту 10 гц, то фаза считается правильно, стоит +/- 1 градус, при изменении фазы на генераторе тоже меняется ну ту же величину. Если подаю 100Гц, то уже фаза плавает +/-10 градусов. Это происходит отчасти из за того, что у меня есть задержка от прихода фронта отметчика, до прихода первого сэмпла с АЦП (ацп уже запущен ранее) Если частота оцифровки 5кгц, то максимальная задержка будет 200 мкс (время между сэмплами) Чтобы учесть эту задержку в расчете фазы, я делаю так: Я засекаю время прихода отметчика, затем засекаю время прихода первого сэмпла (сигнал DRDY c АЦП), затем разницу этих времен пересчитываю в градусы по формуле: Xg=(dt*360.0)/Tob dt - время в микросекундах от фронта отметчика до первого сэмпла, Tob - период синусоиды с генератора в микросекундах Затем из фазы полученной арктангенсом я вычитаю эту фазовую задержку Xg. Можно ли так делать ?
  10. Здравствуйте, вначале сообщения указано, что Вам требуется схемотехник, так вот он и разработает эту плату, причем она должна быть существенно проще и дешевле нежели чем LCard, так как будет заточена под конкретную задачу (известные уровни сигналов, известные параметры датчиков). Там будет максимум инструментальный усилитель + АЦП 24 бита. А с каналом передачи надо определяться после того как будет известен объем передаваемых данных. Вот например мы разрабатываем 8-и канальники с частотой оцифровки 26Кгц, 24 бита. Поток от одной такой платы получается 5 Mbit/s непрерывно Выходной интерфейс ethernet LAN, через wifi модуль пропустить можно, через bluetooth вряд-ли.
  11. Привет, я пробовал St-link донгл не переделывает в j-link, я переделал отладку stm32F4 discovery
  12. Спасибо, как придет платка буду пробовать !
  13. Всем привет, жду отладочную платку с ebay с модулем nrf51822 вот такую Перелопатил много инфы но до сих пор нет четкого понимания как прошивать, в особенности soft device Понял что нужен j-link от segger, но у меня есть только китайский клон, непонятно подойдет ли он ? Еще читал статью, что можно через st-link используя OPEN OCD, но как то там все сложно...
  14. LCD + stm32f4 discovery

    Это не совсем моя последовательность, я покупал дисплей через ebay и продавец там прикрепил эту инициализацию, они же заинтересованы чтобы у людей все работало. Я ее просто немного изменил.
×
×
  • Создать...