Отговори на тема  [ 19 мнения ]  Отиди на страница 1, 2  Следваща
STM32 Контролиран от брояч пин 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Апр 01, 2023 9:59 am
Мнения: 302
Мнение STM32 Контролиран от брояч пин
Пичове здрасти. Можете ли да ударите едно рамо с ресет на ацп-та на Аналог Дивайсес? Нещо не успявам да докарам подчертаната крива така че пинът да Нуклеото да започне ниско, да бъде активен за X период от време и да завърши отново ниско. Периодът е доста малък примерно 1000 и 4000 ns. (два различни периода са за различни видове ресет). Опитах да настроя TIM4 но не мога да докарам походяща крива. Обикновенно почва с високо, минава на ниско и завършва отново на високо. Опитах с Output Compare CH1 с One Pulse Mode включено и в комбинация с различни режими, но не успявам да го докарам. По-голям успех имах с PWM generation CH1, където кривата е добре, но таймерът е периодичен. Трябва да спра таймера, което автоматично поставя изходящия пин във високо състояние. :?


Прикачени файлове:
reset.jpg
reset.jpg [ 96.38 KiB | Прегледано 3591 пъти ]
Пет Яну 17, 2025 12:29 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 5:18 pm
Мнения: 1750
Мнение Re: STM32 Контролиран от брояч пин
Това, което казваш е че дори при отсъствие на захранване имаш високо състояние на Ресет сигнала така ли? Интересно...

_________________
“Intelligence is the ability to adapt to change.” Stephen Hawking


Пет Яну 17, 2025 2:10 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Сеп 26, 2013 2:24 pm
Мнения: 1765
Мнение Re: STM32 Контролиран от брояч пин
Без да задълбавам в четене има хардуерно инвертирани изходи на същия таймер. Просто ползвай TIM4N изхода.
Би трябвало и с настройките да можеш да го подкараш в 1 пулс мод но ако си го подкарал както искаш просто инвертирано - ползвай другия изход и готово.


Пет Яну 17, 2025 8:38 am
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Апр 01, 2023 9:59 am
Мнения: 302
Мнение Re: STM32 Контролиран от брояч пин
Bai Ui написа:
Това, което казваш е че дори при отсъствие на захранване имаш високо състояние на Ресет сигнала така ли? Интересно...


Е не.

Pif написа:
Без да задълбавам в четене има хардуерно инвертирани изходи на същия таймер. Просто ползвай TIM4N изхода.
Би трябвало и с настройките да можеш да го подкараш в 1 пулс мод но ако си го подкарал както искаш просто инвертирано - ползвай другия изход и готово.


Благодаря за насоките Пиф! Ако разбирам правилно пишеш за CH polarity. С това мога да обърна сигнала. Работата е там че с включването на Нуклеото сигналът става висок, следва контролираното от таймера време, след приключването на пулса сигналът отново става висок. Прав си че мога да го оставя нисък с polarity, но преди сработването на таймера пинът си е висок. Има някакво време от включването на платката (при което сигналът става висок) до времето за сработване на таймера. Прилагам изображение на постигната крива с два цикъла на TIM4. Разширил съм интервалите за да си личат по-лесно.

Днес ще опитам нещо по-просто - да управлявам ръчно пина (със сет/ресет) + цикъл, който брои, примерно от 1 до 10. С DWT Мога да засека за колко тика го прави и от там да изчисля и контролирам времето с броят на изброените цифри.


Прикачени файлове:
reset2.jpg
reset2.jpg [ 81.75 KiB | Прегледано 3543 пъти ]
Пет Яну 17, 2025 11:49 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 5:18 pm
Мнения: 1750
Мнение Re: STM32 Контролиран от брояч пин
Ако ще сипваш в темата на ден по лъжичка скоро на хората ще им писне. От снапшота който си показал нещо ми подсказва че не си изпълнил условието за стръмност на захранването - t POWER UP. Измери с осцилоскопа скоростта на покачване и сравни с дейташита.

_________________
“Intelligence is the ability to adapt to change.” Stephen Hawking


Пет Яну 17, 2025 12:10 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 2:21 am
Мнения: 12764
Местоположение: София
Мнение Re: STM32 Контролиран от брояч пин
Ама "t power up" не е скорост с която се покачва захранването...

Към автора на темата:
Не можеш ли да формираш тоя сигнал за ресет по "бабешкия" начин: пин във високо ниво, изчакване време Х, пин в ниско ниво.


Пет Яну 17, 2025 12:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: STM32 Контролиран от брояч пин
A koe е ацп-то?
Някои ацпт-та може да ги ресетнеш и по друг начин...
Една схема на свързване ако постнеш ще получиш по-полезни отговори

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Пет Яну 17, 2025 12:37 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Апр 01, 2023 9:59 am
Мнения: 302
Мнение Re: STM32 Контролиран от брояч пин
Bai Ui написа:
Ако ще сипваш в темата на ден по лъжичка скоро на хората ще им писне. От снапшота който си показал нещо ми подсказва че не си изпълнил условието за стръмност на захранването - t POWER UP. Измери с осцилоскопа скоростта на покачване и сравни с дейташита.


Baj Uj Опитвам се да бъда точен. Извинявам се ако съм пропуснал нещо съществено. Не е нарочно за те дразня. Просто се опитвам да потърся помощ.

itso.t написа:
Към автора на темата:
Не можеш ли да формираш тоя сигнал за ресет по "бабешкия" начин: пин във високо ниво, изчакване време Х, пин в ниско ниво.

Благодаря за предложението! Това ще направя да. Първоначално го отхвърлих заради много малкия времеви отрязък от порядъка на ns, пък и да се пробвам с тия таймери :)


MYXATA написа:
A koe е ацп-то?
Някои ацпт-та може да ги ресетнеш и по друг начин...
Една схема на свързване ако постнеш ще получиш по-полезни отговори


Здрасти MYXA! Развойна платка е. EVAL-AD7606BFMCZ самото ацп е ad7606b. Апаратната част не ми е силна страна, за това реших с развойна платка, така че да се концентрирам основно към софтуерния аспект. Връзването е съвсем опростено с джъмпер жици и щипки. Захранване и ГНД към зарядно. VDrive, AVCC и гнд към Нуклео, също SPI пиновете + /reset, convst, и busy.


Пет Яну 17, 2025 1:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Сеп 26, 2013 2:24 pm
Мнения: 1765
Мнение Re: STM32 Контролиран от брояч пин
Таймерите имат 4 канала като всеки канал има позитивен и негативен (инвертиран) пин. Може и 4-и канал на таймера да е само позитивен. Имат и ИТР сигнал. В твоя случай ако само смениш на съседния пин и го включиш да е пак на същия канал но негативния изход - ще имаш точно същия сигнал но инвертиран. Това се ползва когато ти трябва диференциален сингал - примерно да управляваш мосфети.
А вариянта с клатене на гпио е напълно приложим. Ако го драйваш през хал библиотеката мисля беше 300-400 наносекунди но ако пишеш директно в регистъра може би под 100нс се изкарват.


Пет Яну 17, 2025 2:54 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Апр 01, 2023 9:59 am
Мнения: 302
Мнение Re: STM32 Контролиран от брояч пин
Pif написа:
Таймерите имат 4 канала като всеки канал има позитивен и негативен (инвертиран) пин. Може и 4-и канал на таймера да е само позитивен. Имат и ИТР сигнал. В твоя случай ако само смениш на съседния пин и го включиш да е пак на същия канал но негативния изход - ще имаш точно същия сигнал но инвертиран. Това се ползва когато ти трябва диференциален сингал - примерно да управляваш мосфети.
А вариянта с клатене на гпио е напълно приложим. Ако го драйваш през хал библиотеката мисля беше 300-400 наносекунди но ако пишеш директно в регистъра може би под 100нс се изкарват.


Благодаря за съвета! Ще го потърся кой е инвертирания пин и ще пробвам и с него.

Значи да се похваля "изклатих" го :) ха-ха голям кеф. Пробвам да разуча ХАЛ малко защото с директното писане в регистрите нещата вървят много тегаво. Измъдрих следното: Спирам пина, замервам колко тика с нужни за един цикъл на for-13, смятам го вреално време защото за различните системи може да е различно. После гледам на каква скорост работи системата и получавам времето за един цикъл на for. След това разделям зададеното време на периодът за един цикъл (в наносекунди) и получавам броя цикли. После пускам for с нужния брой цикли. Не е супер точно май, една секунда в логическия анализатор излиза 986.5 ms но това е грешка умножена по 1000000000. За наносекунди е доста по-добре. С параметър 10000 логическия анализатор мери точно 10 милисекунди.
Туй то. Благодаря отново на включилите се :)

Код:
#include "ad7606.h"

//Брой цикли:
uint32_t cycles;
//Скорост на контролерчето:
uint32_t sysclk;
uint32_t forI;

double oneCyclePeriod;


void A7606Reset (uint64_t RSTtime){
      //Замерване на системната скорост:
   sysclk = HAL_RCC_GetSysClockFreq();

      // Активирам DWT
   CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk;

      // Пускане на брояча
   DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;

      // Нулиране
   DWT->CYCCNT = 0;

     //Нулирам Порт B пин 6
   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET);

     //Изчаквам малко за да се види в анализатора
   HAL_Delay(500);


        //Замерване на броя тикове
        uint32_t start = DWT->CYCCNT;
        {
        for (volatile uint8_t i=0; i<2; i++){}
        }
        uint32_t end = DWT->CYCCNT;

     //Минус 1 защото първия цикъл винаги е с един тик повече от останалите
     //Делено на 3 за броят цикли, така че cycles да приеме стойност на времето
     //Нужно за извършване на един цикъл.
   cycles = ((end - start)-1)/3;

    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, 0);

    //Определяне времето за един цикъл
    oneCyclePeriod=(double)cycles/(double)sysclk;

    //Определяне броя цикли нужни за да се достигне RST Time
    forI=(uint32_t)(RSTtime/(oneCyclePeriod*1000000000.0));

     //Активирам Порт B пин 6
   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, 1);

   //Измервам необходимото време
   for (volatile uint32_t i=0; i<=forI; i++){}

     //Отново нулирам Порт B пин 6
   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, 0);
}


Прикачени файлове:
reset22.jpg
reset22.jpg [ 84.4 KiB | Прегледано 3486 пъти ]
Пет Яну 17, 2025 4:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: STM32 Контролиран от брояч пин
Пак отказваш да нарисуваш схема на това което правиш.
Например като си написал,че захранване и маса са към зарядно(каквото и да разбираш под това) и маса и спи вързана към нуклео, вързал ли си масата на зарядното към масата на е нуклеото? Трябва да са вързани масите.
Особено ако едното си го захранил от пц или усб хуб там са изолирани от порт до порт....
Аз поне смятам повече да не пиша по темата ако не нарисуваш точно какво си направил...

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Пет Яну 17, 2025 4:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 5:18 pm
Мнения: 1750
Мнение Re: STM32 Контролиран от брояч пин
MYXATA написа:
Аз поне смятам повече да не пиша по темата ако не нарисуваш точно какво си направил...

Ееее, много си краен, ти сега хляба ли се опитваш да му вземеш на човека, като му крадеш идеите?

_________________
“Intelligence is the ability to adapt to change.” Stephen Hawking


Пет Яну 17, 2025 7:53 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Апр 01, 2023 9:59 am
Мнения: 302
Мнение Re: STM32 Контролиран от брояч пин
Въобще нищо не крия, просто не е редно да се показват неготови неща. Не всички връзки са направени, не съм правил схеми на КиКад. Водя си записки, при четенето на документацията, това имам.
Един недоволстваше, че съм си криел името, а то написано вместо прякор. Те и вие така сега. Сложил съм кода, обяснил съм връзките, които имам в момента. Криел съм бил, отказвал съм бил. Нито отказвам, нито крия. Ето рисунка от уважение:


Прикачени файлове:
Svarzvaniq.jpg
Svarzvaniq.jpg [ 242.55 KiB | Прегледано 3441 пъти ]
Пет Яну 17, 2025 9:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Сеп 26, 2013 2:24 pm
Мнения: 1765
Мнение Re: STM32 Контролиран от брояч пин
Вместо да му крадете на човека проекта вземете му дайте банковите си сметки и като му превеждат парите направо да ви ги преведе ;)

Скоро някой питаше за 8 микрофона за хващане на посоката. Това тоя проект ли е или е съвпадение?


Пет Яну 17, 2025 11:12 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Апр 01, 2023 9:59 am
Мнения: 302
Мнение Re: STM32 Контролиран от брояч пин
Pif написа:
Вместо да му крадете на човека проекта вземете му дайте банковите си сметки и като му превеждат парите направо да ви ги преведе ;)

Скоро някой питаше за 8 микрофона за хващане на посоката. Това тоя проект ли е или е съвпадение?


Да, същото нещо :)


Пет Яну 17, 2025 11:27 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 19 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни