Отговори на тема  [ 21 мнения ]  Отиди на страница Предишна  1, 2
PIC16F1826 вграден компаратор и цифрови импулси. 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Май 04, 2014 8:34 pm
Мнения: 9
Мнение Re: PIC16F1826 вграден компаратор и цифрови импулси.
Сподели идеята ако може :)


Вто Май 06, 2014 8:00 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение Re: PIC16F1826 вграден компаратор и цифрови импулси.
Разгледах го по-подробно, не е манчестър, прилича повече на 1 wire.В този случай това което си направил е удачно, така или наче ти трябват само отношението, т.е. запълването. Принципно както сега е конфигуриран таймера той мери импулса, с малко въпбражение може да го накараш да мери и двете, т.е. период и импулс, за да получиш коефициент на запълване. Ти сигурно и сега го правиш така, въпроса е как мериш периода, може би по прекъсванията на компаратора ?


Вто Май 06, 2014 1:03 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Май 04, 2014 8:34 pm
Мнения: 9
Мнение Re: PIC16F1826 вграден компаратор и цифрови импулси.
ToHu написа:
Разгледах го по-подробно, не е манчестър, прилича повече на 1 wire.В този случай това което си направил е удачно, така или наче ти трябват само отношението, т.е. запълването. Принципно както сега е конфигуриран таймера той мери импулса, с малко въпбражение може да го накараш да мери и двете, т.е. период и импулс, за да получиш коефициент на запълване. Ти сигурно и сега го правиш така, въпроса е как мериш периода, може би по прекъсванията на компаратора ?


В началото бях тръгнал прекъсване по компаратор да правя, но после сложих по преход към нула на тригера. Работи, но мисля да направя цялата процедура без прекъсване. Видях в нета много готин и прост метод и мисля да го пробвам довечера. Хората след преход на порта към 1 изчакват 30us и проверяват състоянието. Тъй като 0 я дават до 28us a 1 до 70us, ако при проверката състоянието е 0, значи бита е 0 и така. Има конфогурирано прекъсване по запълване на таймер за timeout. Готино :)


Вто Май 06, 2014 2:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение Re: PIC16F1826 вграден компаратор и цифрови импулси.
Да, подобен е метода при манчестър, въпроса обаче е колко са гарантирани времената на протокола. При протоколи при които имаш поредица за синхронизация се действа горе долу така. Не го четох толкова подробно, но ако поддръжа времето с 20% точност няма да имаш проблем. Друг вариант който може да приложеиш е времето в което проверяваш да не е твърдо а да го смяташ на база response пулса, а след това да се самосинхронизираш по фронтовете, което е просто. Слагаш преъсане по заден фронт и на всяко прекъсване вземаш таймера, така имаш периода на данните и от там може да си коригираш момента за мерене, зависи колко са точни времената на чипчето, ако държи точни не ти трябва синхронизация, освен това имаш и CRC.

п.с. ако го правиш без прекъсване ще ти яде не малко време, прекъсването е по-добрият вариант, като гледам времената 5 байта ще отидат около 5 ms , зависи колко често мериш, ако е веднъж на 100 мс не е кой знае какво, но ако мериш по често ще си изгубиш времето в чакане.


Вто Май 06, 2014 3:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: PIC16F1826 вграден компаратор и цифрови импулси.
Да - това е по-верния подход. При положение, че времената са горе-долу известни и не се очакват много големи отклонения. Това което аз правя е за доста по дълги периоди и като цяло са възможни известни отклонения в тайминга - поради дрифт на осцилатора дето генерира пвм-а. И на всичко отгоре на мен ми трябва точното съотношение период импулс.

В твоя случай, ако държиш да ги мериш импулсите, е по-удачно да ползваш кепчъра - него го пускаш при 1-ца и го спираш при 0, после проверяваш каква стойност има, ако е по-малка от нещо си (границата за 0) го вземаш за 0, ако е по-голяма И е по малка от границата за 1-ца си е 1-ца. Този трик го прилагам за разни ООК радио приемници - само че аз там си правя и още едно време - за преамбюла - да може декодера да си нулира регистрите и да знае кога е началото на предаването. И при радиото има доста повече смущения - разни импулсчета дето могат да ти ошашкат четенето.

И колегата малко ме изпревари :)


Вто Май 06, 2014 3:11 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Май 04, 2014 8:34 pm
Мнения: 9
Мнение Re: PIC16F1826 вграден компаратор и цифрови импулси.
Това, което съм направил сега е същото - при 1 от сензора, към таймера отива такт и брои, а при 0 - не. Отделно от това при падащ фронт влиза в прекъсване, взема стойността на таймера и го нулира. После я сравнява с 40 примерно (подал съм му 1MHz с 1:1 делител и брои на 1us) и определя стойността на бита. Но в сучая меренето ще става на големи периоди така, че мисля да направя по простия и готин (според мен) вариант. А и устрйството е само за мерене на температура и влага, така че имам колкото си искам процесорно време. :)


Вто Май 06, 2014 3:45 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 21 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

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


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

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