| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Измерване на продължителност на единичен импулс...как? http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=2028 |
Страница 1 от 1 |
| Автор: | forest_gump [ Съб Мар 18, 2006 12:39 am ] |
| Заглавие: | Измерване на продължителност на единичен импулс...как? |
Уважаеми колеги, дайте някакви идеи как би трябвало да се измери с възможно най-голяма точност продължителността на единичен импулс със почти идеални фронтове. Постановката е следната: имаме система в очакване на събитието, а то е единичен импулс /със положителен или отрицателен фронт/ със възможно време на продължителността на импулса от порядъка на (от 1.5ms до 200ms). Максимално допустимата грешка при измерване да е <5us . Та се чудя как да реализирам кепчващата част, вариянт имам със тригер J-K, броячи каскадно свързани, и еталонен генератор; чудя се също за таймерите във PIC18F2520 или CCP-то му. Ако точноста е по голяма това ще е добре дошло, няма да се знае обаче колко широк импулс се очаква може да е 1.5ms може и да е 200ms ... Та как мислите вие ..? ...Благодаря..! |
|
| Автор: | bateAz [ Съб Мар 18, 2006 12:57 am ] |
| Заглавие: | |
Нямаш проблеми с кепчъра на PIC. Пускаш го по преден фронт, мериш кога е щракнал, сменяш фронта и при прекъсване пак го мериш. Вадиш от едното време другото и получаваш продължителността ( в брой клоци / прескелер ) Сложността идва, ако броячът ти се превърти, но за това ще следиш прекъсванията от таймера и ще си добавяш по 65536 такта. |
|
| Автор: | ¶ [ Съб Мар 18, 2006 1:11 am ] |
| Заглавие: | |
Импулса само с един поляритет ли е ? Нещо ме подвеждат думите положителен и отрицателен фронт на импулса. Предполагам, че искаш да кажеш преден и заден фронт на импулса. |
|
| Автор: | forest_gump [ Съб Мар 18, 2006 1:20 am ] |
| Заглавие: | |
ами ето го импулса : ______|--------|________ или така: --------|______|----------- искам да кажа че може да се инвертират фронтовете както ние удобно.. |
|
| Автор: | ¶ [ Съб Мар 18, 2006 1:50 am ] |
| Заглавие: | |
Ако е така, направи го както казва bateAz, ще работи точно. Малко ще ти се усложи софта, но ще работи. Другото е да си сложиш външни броячи с такава разредност, че да не се препълват, например 24-битов брояч ( от три 8-битови ) запълвайки го с 1 MHz ( 1us разделителна способност ) ще ти свърши работа. |
|
| Автор: | Gogo [ Съб Мар 18, 2006 3:26 am ] |
| Заглавие: | |
Мисля, че външен брояч е излишен в случая. Ан 10 мипса с 18-ката ще имаш точност под 2 микросекунди без излишни хардуерни усложнения
|
|
| Автор: | evc [ Съб Мар 18, 2006 10:25 am ] | |||||||||
| Заглавие: | ||||||||||
Точността всъщност ще бъде под 200ns! И е по-добре да ползваш вградения кепчър на 18Ф2520, нали той за това служи? 200ms не са ти проблем ако разрешиш прекъсването едновременно по кепчър събитие и по препълване на таймер1/таймер3. Като получиш прекъсване от таймера само си увеличаваш един външен брояч, а по прекъсване от кепчъра - вече смяташ. Едит: всъщност и батеАз ти го е казал същото. Само уточнявам за резолюцията. |
||||||||||
| Автор: | forest_gump [ Нед Мар 19, 2006 5:05 pm ] |
| Заглавие: | |
Спрях се на вариянта със CCP-то на 18F2520, тия дни ще обадя резултата ... |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|