Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

ADC на PIC18F1320
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=5569
Страница 1 от 1

Автор:  Recruit [ Вто Мар 11, 2008 12:53 am ]
Заглавие:  ADC на PIC18F1320

Не мога да разбера какво точно и как се наглася с битове ACQT2-ACQT0 на ADCON2 регистър.
По принцим в PIC16F873 се дава, че времето за преобразуване е 12TAD за 10-разрядно преобразуване.
В документацията на PIC18F1320 дават, че времето за преобразуване е 11TAD за 10-разрядно преобразуване. Щом това време е точно определно, защо трябва да го избираме от 0TAD - до 20TAD, a не е твърдо определно както е при другите процесори. Не мога да схвана какво се постига с избора на този параметър.
Ако може да ми обясните. Ще съм благодарен.

Автор:  Gogo [ Вто Мар 11, 2008 11:21 am ]
Заглавие: 

Това време не е времето на преобразуване, а времето на заряд на sample/hold кондензатора.

Автор:  Recruit [ Вто Мар 11, 2008 11:39 am ]
Заглавие: 

Благодаря, а какви са препоръките за избор?

Автор:  Gogo [ Вто Мар 11, 2008 11:50 am ]
Заглавие: 

В пдф-а е описано как се смята - има формула. После, в зависимост от тактовта честота на която си пуснал пика, с ACQT2-ACQT0 на ADCON2 си правиш нужното време.

Автор:  Recruit [ Вто Мар 11, 2008 2:55 pm ]
Заглавие: 

@Gogo, предполагам ти ми говориш за ADCS2-ADCS0 - които се изчисляват в зависимост от тактовата честота и може да се вземат от таблицата:

Аз питах за ACQT2-ACQT0

Прикачени файлове:
tabl1.jpg
tabl1.jpg [ 38.76 KiB | Прегледано 1497 пъти ]
tabl.jpg
tabl.jpg [ 32.8 KiB | Прегледано 1494 пъти ]

Автор:  Cekins [ Вто Мар 11, 2008 5:18 pm ]
Заглавие: 

В по старите пикове Aqusition Time се прави ръчно. Тука хората са го направили малко по-автоматично - казваш му че искаш конверсия па то само 1. включва, 2. Чака (зареждане на кондензатора), 3. Преобразува та чак тогава ти казва, че е станала работата. Иначе пак по формулката си смяташ колкото време искаш да е и си му го казваш. Ако прочетеш по-задълбочено описанието на АДЦ-то ще ги прочетеш тия работи ама написани надълго и нашироко. Пиковете друго ако не, поне имат разбрани ПДФ-и.

Автор:  Recruit [ Вто Мар 11, 2008 6:09 pm ]
Заглавие: 

Благодаря, разбрах го!
Всъщност тази настройка заменя изчакването за зареждане на кондензатора и след това включване на преобразуването - вдигане на бит GO/DONE.
А защо има толкова възможности за продължителност на това време?
В спецификацията се казва, че ТAD=1,6uS, a времето за зареждане на кондензатора ТАCQ=15uS.
Следователно трябва да се избере стойност 12TAD (101) за ACQT2-ACQT0.
Питах се защо са другите по-малки стойности от 2TAD до 10TAD. И отговорът, който си дадох е, че те могат да се използват, ако няма превключване на аналоговия вход, а се прави непрекъснато измерване (преобразуване) на един аналогов канал. Тогава S/H кондензаторът няма да се е разредил при предходното преобразуване и ще му е необходимо много по-малко време за установяване. Така ще може да се съкрати времето на целия процес по измерване на аналогов сигнал.
А по-големите стойности 16TAD и 20TAD се използват, когато е необходимо по-голямо време, което следва ако примерно входното съпротивление на сигнала е по-високо от препоръчаното.
Ако всичко това не е така, моля знаещите да разяснят темата. Просто си мисля, че ще е полезна за всички начинаещи, защото без отлично владеене на всички аспекти на документацията, не могат да се правят издържани разработки.

Автор:  Cekins [ Сря Мар 12, 2008 11:39 am ]
Заглавие: 

Времето зависи от честотата на работа на процесора - ако е ниска по малки стойности, ако е висока по големи. Затова има повечко възможности за настройка. Трябва да има табличка за тия работи (или формулка).
Той кондензатора се разрежда напълно, нали точно това е меренето. Няма такова чудо "не се разредил напълно".
Може да не чакаш ако имаш следната постановка : мериш по-рядко (примерно на 1 секунда) и мериш само един канал който ти е постоянно включен. Тогава само сетваш Go/done и чакаш прекъсването. Тия магии са направени за удобство при мерене на повечко канали. Даже някой от по-горните 18-ки имат да казваш кои канали да мери. Само ти казва кога са готови конверсиите.

Автор:  Recruit [ Сря Мар 12, 2008 2:35 pm ]
Заглавие: 

Благодаря @Cekins!

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/