реклама на сайте
подробности

 
 
> Конфигурация ADC, at91sam7
fmdost
сообщение Mar 19 2009, 11:26
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Доброго времени суток Уважаемые.
Камень at91sam7s256. Не понял какое время и в каком формате необходимо установить для схемы выборки-хранения.
Подскажите правильное значение SHTIM?
Частота 18.432мГц.
Предделитель 18. Разрешение 10 бит.
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Mar 21 2009, 18:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Уже писал, показывал конкретные ошибки. Повторяться не буду.

Если человек не может подергать пином GPIO без "либы" производителя, то вон из профессии.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 21 2009, 18:22
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Mar 21 2009, 20:14) *
Уже писал, показывал конкретные ошибки. Повторяться не буду.

Не надо говорить об ошибках в каких-то других функциях библиотеки.
Скажите конкретно, что не так с этой функцией, и в чем состоит ее вред.
Спасибо.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 21 2009, 18:54
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Mar 21 2009, 21:22) *
Не надо говорить об ошибках в каких-то других функциях библиотеки.

Почему это? Тут ходи, а тут не ходи?
Вред не в конкретной функции, а в подходе к освоению процессора. Нельзя это делать "через либу" - не научит ничему.

P.S. Вполне Вам верю, что в указанной функции ошибок нет.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 22 2009, 01:45
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Mar 21 2009, 20:54) *
Почему это? Тут ходи, а тут не ходи?

Потому что либу пишет не один человек. Следовательно, в ней есть места где можно поучиться, а есть и такие о которых Вы пишете.

Цитата
Вред не в конкретной функции, а в подходе к освоению процессора. Нельзя это делать "через либу" - не научит ничему.

А что мешает сказать то же самое про освоение IP стека? Нельзя это делать через готовую либу - ничему не научит. Тем не менее что-то я мало народу встречал, кто собственноручно с нуля по RFC написал TCP/IP. Как правило большинство пользует либы, многие учатся на uIP, который бесспорно кривой по самые не могу, но это же не значит что он вреден.

Сценарий как можно было воспользоваться либой, чтобы чему-то научиться мог бы быть таким.
Открываем указанную функцию:
Код
//*----------------------------------------------------------------------------
//* \fn    AT91F_ADC_CfgTimings
//* \brief Configure the different necessary timings of the ADC controller
//*----------------------------------------------------------------------------
__inline void AT91F_ADC_CfgTimings (
    AT91PS_ADC pADC, // pointer to a ADC controller
    unsigned int mck_clock, // in MHz
    unsigned int adc_clock, // in MHz
    unsigned int startup_time, // in us
    unsigned int sample_and_hold_time)    // in ns  
{
    unsigned int prescal,startup,shtim;
    
    prescal = mck_clock/(2*adc_clock) - 1;
    startup = adc_clock*startup_time/8 - 1;
    shtim = adc_clock*sample_and_hold_time/1000 - 1;
    
    //* Write to the MR register
    pADC->ADC_MR = ( (prescal<<8) & AT91C_ADC_PRESCAL) | ( (startup<<16) & AT91C_ADC_STARTUP) | ( (shtim<<24) & AT91C_ADC_SHTIM);
}


Находим, что SHTIM считается как

shtim = adc_clock * sample_and_hold_time / 1000 - 1;

Что такое adc_clock понятно без вопросов. sample_and_hold_time в ns дает порядок величины.
Из формулы где округление adc_clock идет до единиц Mhz практически сразу ясно что этот параметр не особо важен и м.б. +/- километр.

Далее идем в ДШ и делаем поиск по ключевой фразе Sample and Hold Time и попадаем вот сюда:

Цитата
The user can drive ADC input with impedance up to:
• ZOUT ≤ (SHTIM -470) x 10 in 8-bit resolution mode
• ZOUT ≤ (SHTIM -589) x 7.69 in 10-bit resolution mode
with SHTIM (Sample and Hold Time register) expressed in ns and ZOUT expressed in ohms.


Все, вопрос по SHTIM решен.

Пользовать функцию или написать свою становится уже делом автора.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 22 2009, 01:57
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Mar 22 2009, 04:45) *
...в ней есть места где можно поучиться

Нет таких, чесслово.

Цитата(defunct @ Mar 22 2009, 04:45) *
А что мешает сказать то же самое про освоение IP стека?

Не надо путать IP стек и дерганье PIO. AT91lib - это набор примитивнейших функций, написать которые самостоятельно не составляет труда (если, конечно, кому-то вообще может понадобиться столь плинтусный уровень абстракции). Даже "сложная" периферия типа USB и EMAC'а в ней обойдена стороной.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 22 2009, 02:14
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Mar 22 2009, 03:57) *
Нет таких, чесслово.

Deja vu smile.gif
AT91F_PDC_ReceiveFrame().

Цитата
Не надо путать IP стек и дерганье PIO.

Всякая либа создается главным образом для того чтобы экономить время разработчика и ни к чему не обязывает.
С такой позиции разницы между либой IP стека и либой для дергания PIO - нет.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 22 2009, 02:43
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Mar 22 2009, 05:14) *
Deja vu smile.gif
AT91F_PDC_ReceiveFrame().

Ничего умного в ней нет. Работа с PDC очень сильно зависит от типа периферии, пытаться работать с USART, SPI и SSC одним и тем же способом - глупость.

Других функций не вспомните?

Цитата(defunct @ Mar 22 2009, 05:14) *
Всякая либа создается главным образом для того чтобы экономить время разработчика и ни к чему не обязывает.

Ну не поможет данная "либа" сэкономить время по причине крайней своей примитивности.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Т.Достоевский   Конфигурация ADC   Mar 19 2009, 11:26
- - defunct   Цитата(Т.Достоевский @ Mar 19 2009, 13:26...   Mar 20 2009, 23:43
|- - aaarrr   Цитата(defunct @ Mar 21 2009, 02:43) см. ...   Mar 20 2009, 23:56
|- - defunct   насчет чтения ДШ - нет возражений, насчет бездумно...   Mar 21 2009, 02:53
|- - Т.Достоевский   Ниасилил. Если у меня частота тактирования АДЦ 1,2...   Mar 21 2009, 12:58
- - aaarrr   Цитата(defunct @ Mar 21 2009, 05:53) ...П...   Mar 21 2009, 15:11
|- - Т.Достоевский   Цитата(aaarrr @ Mar 21 2009, 18:11) В DS ...   Mar 21 2009, 15:22
|- - Сергей Борщ   Цитата(aaarrr @ Mar 21 2009, 17:11) В DS ...   Mar 21 2009, 17:26
||- - Т.Достоевский   Цитата(Сергей Борщ @ Mar 21 2009, 20:26) ...   Mar 21 2009, 19:54
||- - Сергей Борщ   Цитата(Т.Достоевский @ Mar 21 2009, 21:54...   Mar 21 2009, 21:50
|- - defunct   Цитата(aaarrr @ Mar 21 2009, 17:11) Мне б...   Mar 21 2009, 17:53


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 23:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01537 секунд с 7
ELECTRONIX ©2004-2016