Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
07.11.2010, 16:27
|
|
Гражданин KAZUS.RU
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от realid
|
Fosc/2=Tcy если от системного тактового генератора.
|
Тогда как это согласуется с тем, что изображено на нижнем скриншоте? Там написано - делишь на 4 - получаешь 2 МГц.
__________________
ДА, НО НЕТ!
|
|
|
|
07.11.2010, 18:12
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от NikMih_1
|
Тогда как это согласуется с тем, что изображено на нижнем скриншоте? Там написано - делишь на 4 - получаешь 2 МГц.
|
На нижнем скриншоте в регистр CLKDIV задается частота внутреннего тактового генератора путем деления номинальной частоты 8 Мгц. И в итоге получается Fosc.
|
|
|
|
07.11.2010, 18:18
|
|
Гражданин KAZUS.RU
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от realid
|
И в итоге получается Fosc.
|
Таким образом, Tcy становится равным 1мксек, обратно 1 МГц. Хорошо, когда понятно становится. ![Выпьем!](images/smilies/icon_drink.gif) Красное вино, полусухое, я люблю больше.
__________________
ДА, НО НЕТ!
|
|
|
|
08.11.2010, 23:55
|
|
Гражданин KAZUS.RU
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
|
Re: Вопросы от NikMih_1
Когда что-то понимаешь, тут же находится то, что не понимаешь (мой аферизм).
Обнаружил, что сэмплирующий усилитель дифференциальный и вроде бы на один из его входов должно быть подано опорное напряджение. Мучаюсь теперь с назначением входов. Есть Русскоязычное описание модуля 10-разрядного АЦП. Вижу раздел:23.6 Настройка аналоговых входов ![Рот до ушей](images/smilies/icon_doushei.gif) . Рад несказанно. Читаю, что если в регистре установит 0, то соответствующий вывод превратится в цифровой выход. И всё в таком духе. Фуфло, а не документация, одним словом. Перевод с Микрочипа, между прочим.
__________________
ДА, НО НЕТ!
|
|
|
|
09.11.2010, 10:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от NikMih_1
|
Когда что-то понимаешь, тут же находится то, что не понимаешь (мой аферизм).
Обнаружил, что сэмплирующий усилитель дифференциальный и вроде бы на один из его входов должно быть подано опорное напряджение. Мучаюсь теперь с назначением входов. Есть Русскоязычное описание модуля 10-разрядного АЦП. Вижу раздел:23.6 Настройка аналоговых входов . Рад несказанно. Читаю, что если в регистре установит 0, то соответствующий вывод превратится в цифровой выход. И всё в таком духе. Фуфло, а не документация, одним словом. Перевод с Микрочипа, между прочим.
|
Попробуйте без перевода. Простейший вариантю В качестве опоры VDD и VSS.
Код:
|
void initADC( int amask)
{
AD1PCFG = amask; // select analog input pins
AD1CON1 = 0x00E0; // automatic conversion start after sampling
AD1CSSL = 0; // no scanning required
AD1CON2 = 0; // use MUXA, AVss and AVdd are used as Vref+/-
AD1CON3 = 0x1F02; // Tsamp = 32 x Tad; Tad=125ns
AD1CON1bits.ADON = 1; // turn on the ADC
} //initADC |
Ещё раз внимательно почитайте про AD1CON2.
|
|
|
|
09.11.2010, 10:54
|
|
Гражданин KAZUS.RU
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от ut1wpr
|
Ещё раз внимательно почитайте про AD1CON2.
|
Да я не просто читал, почти наизусть выучил. Я в EXCEL для собственной ясности таблички составил. Прилепляю книгу.
__________________
ДА, НО НЕТ!
|
|
|
|
09.11.2010, 11:13
|
|
Гражданин KAZUS.RU
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от ut1wpr
|
Ещё раз внимательно почитайте про AD1CON2.
|
У меня вророй вопрос. В моём случае АЦП должен работать по внешнему прерыванию и не по каждому, а по решению обработчика прерываний.
Вопрос. Функция инициализации АЦП должна вызываться каждый раз перед взятием отсчета АЦП или один раз в программе?
__________________
ДА, НО НЕТ!
|
|
|
|
09.11.2010, 13:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от NikMih_1
|
У меня вророй вопрос. В моём случае АЦП должен работать по внешнему прерыванию и не по каждому, а по решению обработчика прерываний.
Вопрос. Функция инициализации АЦП должна вызываться каждый раз перед взятием отсчета АЦП или один раз в программе?
|
Инициализация любого периферийного модуля производится один раз при старте программы. Что не исключает (по необходимости) изменеий параметров инициализации в дальнейшем.
Путей решения вашей задачи несколько. Вам выбирать. Практически готовый фрагмент программы под ваши условия находится в переведённой книге Ю.С. Магда (я вам её отправлял) в разделе 11.2 Практическое использование модуля АЦП. (Схема и листинги). Уберите лишнее и добавьте нужное.
|
|
|
|
09.11.2010, 14:09
|
|
Гражданин KAZUS.RU
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от ut1wpr
|
Практически готовый фрагмент программы под ваши условия находится в переведённой книге Ю.С. Магда (я вам её отправлял)
|
Большое спасибо, я пользуюсь Вашей книгой. Не всё понятно, дяденька забыл указать некоторые переменные и очень легко обращается с переменной Canal. Много льёт воды там, где и так понятно, а серьёзные вещи (про входные мультиплексоры) опускает. Читаю сразу несколько источников. Много полезных примеров есть в Мануале по PIC24H, прорвусь с Вашей и других отзывчивых людей помощью.
__________________
ДА, НО НЕТ!
|
|
|
|
09.11.2010, 17:18
|
|
Гражданин KAZUS.RU
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
|
Re: Вопросы от NikMih_1
Сообщение от ut1wpr
|
Практически готовый фрагмент программы под ваши условия находится в переведённой книге Ю.С. Магда (я вам её отправлял) в разделе 11.2
|
Будьте снисходительны, объясните мне какой вывод ЧИПа зашифрован в выражении
#define Channel 7. И что Вы и дяденька Магда имеете в виду под AD1PCFG = adcmask;
В каком формате значение admask? Оно никак не расшифровано в книге. Забыл указать страницу - 212 Вашей книги.
__________________
ДА, НО НЕТ!
Последний раз редактировалось NikMih_1; 09.11.2010 в 18:39.
Причина: Указал страницу.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:27.
|
|