| Микроконтролери и електроника 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 си правиш нужното време. |
|
| Автор: | 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/ |
|