Отговори на тема  [ 9 мнения ] 
ADC на PIC18F1320 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

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


Вто Мар 11, 2008 12:53 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
Това време не е времето на преобразуване, а времето на заряд на sample/hold кондензатора.


Вто Мар 11, 2008 11:21 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 29, 2007 2:39 pm
Мнения: 8
Мнение 
Благодаря, а какви са препоръките за избор?


Вто Мар 11, 2008 11:39 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
В пдф-а е описано как се смята - има формула. После, в зависимост от тактовта честота на която си пуснал пика, с ACQT2-ACQT0 на ADCON2 си правиш нужното време.


Вто Мар 11, 2008 11:50 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 29, 2007 2:39 pm
Мнения: 8
Мнение 
@Gogo, предполагам ти ми говориш за ADCS2-ADCS0 - които се изчисляват в зависимост от тактовата честота и може да се вземат от таблицата:

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


Прикачени файлове:
tabl1.jpg
tabl1.jpg [ 38.76 KiB | Прегледано 1493 пъти ]
tabl.jpg
tabl.jpg [ 32.8 KiB | Прегледано 1490 пъти ]
Вто Мар 11, 2008 2:55 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

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


Вто Мар 11, 2008 5:18 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

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


Вто Мар 11, 2008 6:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

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


Сря Мар 12, 2008 11:39 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 29, 2007 2:39 pm
Мнения: 8
Мнение 
Благодаря @Cekins!


Сря Мар 12, 2008 2:35 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 9 мнения ] 

Кой е на линия

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


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

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