Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите разобраться
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Abram
Доброго времени суток!
Помогите, пожалуйста, новичку. Как подключить внешний АЦП по SPI-интефейсу? И как вобще правильно построить(на програмном уровне) работу с внешним АЦП?
kolisnichenko_r
Цитата(Abram @ Nov 14 2008, 10:34) *
Доброго времени суток!
Помогите, пожалуйста, новичку. Как подключить внешний АЦП по SPI-интефейсу? И как вобще правильно построить(на програмном уровне) работу с внешним АЦП?

Сначала нужно разобраться как работает АЦП - прочитать описание от производителя. Поттом с микроконтроллером - прочитать все об SPI-интефейс. И наконец соединянять, программировать.
Какой АЦП и микроконтроллер?
Abram
Контроллер mega16, а вот с АЦП еще не определился. Нужно 13 разрядов. Есть на 14, но они дорогие, сейчас смотрю на 16. Может с выбором АЦП кто поможет?
Stanislav_S
Цитата(Abram @ Nov 14 2008, 12:24) *
Контроллер mega16, а вот с АЦП еще не определился. Нужно 13 разрядов. Есть на 14, но они дорогие, сейчас смотрю на 16. Может с выбором АЦП кто поможет?

Для этого надо знать:
- какая задача стоит, что именно надо мерять
- какая точность необходима
- частотная полоса входного сигнала
и многое другое, поэтому огласите задачу, а то пока не о чем говорить.
Abram
Нужно мерять синусоиду амплитудой до 50 мВ(буду усиливать до 2.5В). Точность - 0,01мВ (т.е. после усиления - 0,5мВ). Частота сигнала 10 кГц. Подсчитал, что нужно 13 разрядов.
MrYuran
Цитата(Abram @ Nov 14 2008, 13:57) *
Подсчитал, что нужно 13 разрядов.

Не забудьте отбросить младшие 2 разряда...
Как раз 16 получится.
VladimirYU
Цитата(Abram @ Nov 14 2008, 13:57) *
Нужно мерять синусоиду амплитудой до 50 мВ(буду усиливать до 2.5В). Точность - 0,01мВ (т.е. после усиления - 0,5мВ). Частота сигнала 10 кГц. Подсчитал, что нужно 13 разрядов.

Что вы вкладываете в слова "мерять синусоиду"? Какой(ие) параметр(ы)?
MrYuran
Цитата(Abram @ Nov 14 2008, 10:24) *
Есть на 14, но они дорогие, сейчас смотрю на 16. Может с выбором АЦП кто поможет?

Дорогие - это сколько?
И за сколько хотелось бы?
Abram
Да я так и сделал. А теперь ищу, что именно подойдет, чтобы "не дорого и со вкусом". smile.gif
Может кто подскажет, что лучше выбрать?

Дорогие - это по 15-20$
А хотелось бы за 8-10$.
Очень уж ограничен финансово!

Цитата(VladimirYU @ Nov 14 2008, 15:01) *
Что вы вкладываете в слова "мерять синусоиду"? Какой(ие) параметр(ы)?


Я имею ввиду амплитуду.

Выбрал АЦП ADS8320EB Техаса. Стоит 10$. Так как всетаки по SPI с ним общаться?
Точнее как правильно настроить SPI контроллера МЕГА16. Программирую biggrin.gif в CVAVR.
VladimirYU
Цитата(Abram @ Nov 14 2008, 15:02) *
Да я так и сделал. А теперь ищу, что именно подойдет, чтобы "не дорого и со вкусом". smile.gif
Может кто подскажет, что лучше выбрать?

Дорогие - это по 15-20$
А хотелось бы за 8-10$.
Очень уж ограничен финансово!
Я имею ввиду амплитуду.

Выбрал АЦП ADS8320EB Техаса. Стоит 10$. Так как всетаки по SPI с ним общаться?
Точнее как правильно настроить SPI контроллера МЕГА16. Программирую biggrin.gif в CVAVR.


Внимательно посмотрите на временные диаграммы АЦП (он Слэйвом у вас будет) (фазировка SCK, порядок передачи битов, ...) не забудьте про SS ( CS не знаю как он в Вашем АЦП называется) и сравните их и Fig. 67, 68 из DS на мегу 16. Выбирите нужную, а далее раберетесь как правильно запрограммировать SPI меги.
Посмотрите в инете методы измерения амплитуды синусоиды, выбирайте подходящий для вашего случая удолетворяющий схемотехнике устройства и возможностям АЦП.
Stanislav_S
Посмотрел данный АЦП - простой как дверь, никаких особенностей нет. Обмен очень простой, дергаете CS вниз, затем принимаете 3 байта из них вытаскиваете результат, ничего сложного.
ЗЫ Вы действительно хотите мерять амплитуду с точностью 0,02%? Тогда я вам скажу это очень не тревиальная задача, я бы даже сказал это очень круто!
Abram
Цитата(Stanislav_S @ Nov 14 2008, 16:45) *
Посмотрел данный АЦП - простой как дверь, никаких особенностей нет. Обмен очень простой, дергаете CS вниз, затем принимаете 3 байта из них вытаскиваете результат, ничего сложного.
ЗЫ Вы действительно хотите мерять амплитуду с точностью 0,02%? Тогда я вам скажу это очень не тревиальная задача, я бы даже сказал это очень круто!

Да я сам понимаю, что это "круто". Только мне от этого только хуже становится. wacko.gif
Ну ничего, как-нибудь поборем эту задачу.
Огромное всем спасибо за помощь. Очень признателен! a14.gif
Stanislav_S
Цитата(Abram @ Nov 14 2008, 19:26) *
Да я сам понимаю, что это "круто". Только мне от этого только хуже становится. wacko.gif
Ну ничего, как-нибудь поборем эту задачу.
Огромное всем спасибо за помощь. Очень признателен! a14.gif

Если так, то вам необходимо подумать о смене элементной базы. поскольку этот АЦП и М16 не вписываются в эту задачу. Кстати, что именно вам надо мерять, амплитуду или СКЗ?
uriy
Интересно какие у вас пульсации по питанию, раз вам нужна точность 0,5 мВ
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.