USB-осциллограф на ATmega8. Каковы возможности этого МК

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
USBAVR
Родился
Сообщения: 17
Зарегистрирован: Вс ноя 06, 2011 19:47:38

USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение USBAVR »

Здравствуйте, господа знатоки! Мое почтение.

На повестке дня такая у меня проблема. Сам я студент. Решил совместить два курсовых проекта в одном. По дисциплинам "Программирование под Windows" и "Схемотехника" Решил
вые***ться перед преподами. :))

Поставил перед собой задачу создать USB-осциллограф на базе atmega8 с кварцем 16 МГц.А именно совместить осциллограф и генератор сложных сигналов. Прошивку пишу на Си (AVR Studio 4 со встроенным GCC Си компилятором). А для компьютера на C++ Builder 6. Использую V-USB (HID Устройство) Научился через USB светодиоды зажигать на ногах МК.
Характеристики хочу такие (по пути сразу задам пару вопросов):

1. ДВА КАНАЛА ИЗМЕРЕНИЯ (РАЗРЕШЕНИЕ КАЖДОГО 8 БИТ)

Вообще у Atmega8 в DIP корпусе 6 входов АЦП.

2. ПОЛОСА ПРОПУСКАНИЯ от 0 до 1 МГЦ

Сразу вопрос. Сможет ли такая мега8 обеспечить такую полосу пропускания?
Есть такая Теорема Котельникова, которая гласит, что частота дискретизации должна быть миним в два раза выше частоты восстанавливаемого сигнала. То есть у меня она должна быть 2 МГц. А обязательна ли такая частота дискретизации в моем случае?

3. Может ли АЦП меги8 измерять величину отрицательного сигнала?. Ну например переменный синусоидальный ток с амплитудой 4 В. То есть положительную полуволну он измерит. А отрицательную нет. Если может ее измерить. То как АЦП настроить. дайте ссылку. А если нет, то можно инвертирующий повторитель напряжения поставить на операционном усилителе. Но есть проблема. У ОУ с рочтом частоты АЧХ "заваливается"
Как быть?

4 В КАЧЕСТВЕ ГЕНЕРАТОРА БУДУ ИСПОЛЬЗОВАТЬ САМОПАЛЬНЫЙ ЦАП R-2R.
Хочу через него потом мелодию проиграть в WAV формате.

Логика осциллографа такая. МК опрашиват с определенной частотой АЦП. Эти выборки он записывает на карту памяти. MMC/SD А потом данные с карты передает через USB на комп, где эти данные обрабатывать будет моя программа. Но это уже отдельный разговор. Помогите кто чем может.
Реклама
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Kavka »

Судя по названию темы и вопросам...
Вам неплохо было бы ознакомиться со спецификацией МК. Часть вопросов отпадёт сама собой, да и с мат.частью ознакомитесь. :)
http://www.atmel.com/dyn/resources/prod ... /8159S.pdf
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Реклама
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение ut1wpr »

USBAVR писал(а):Логика осциллографа такая. МК опрашиват с определенной частотой АЦП. Эти выборки он записывает на карту памяти. MMC/SD
Для начала определи максимальную частоту следования выборок выбранного МК. Потом почитай про способы записи в карту. Особенно обрати внимание на время записи блока (про побайтную запись забудь). Вылезет идея про промежуточные буфера в ОЗУ. Прикинь сразу, какие по размеру они должны быть, сможет ли выбранный МК разместить их в своей памяти. Определив максимальные размеры буферов (а их, как окажется, понадобится два как минимум) попытайся определить время заполнения одного буфера. С этими данными можно подходить к оценке предложенной идеи. Если ты рассчитываешь успевать оцифровывать и сохранять полосу более 2-4 КГц - стоит призадуматься в выборе МК, наличии карты как промежуточного буфера и вообще, всего метода в целом. А ведь ты собрался еще с этой карты и РС передавать одновременно.. Не знаю, не уверен...
С уважением,
Виктор.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Flasher »

Я бы, отказавшись от програмного USB и перейдя на ком-порт на 115200 замахнулся бы на более реальные параметры: 2 канала с чередованием частота дискретизации 100 кГц. Полоса наблюдаемых сигналов- до 10 кГц. 100 кГц частота сэмлирования DACa. Естественно, что буфера короткие.
Реклама
Эиком - электронные компоненты и радиодетали
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение clawham »

мега 8 и карта памяти? :)))) уже немного смешно
мега 8 и 2 мегагерца АЦП ? трижды смешно...
каналов то у меги 6 но АЦП один...никакие два канала не получится никак....только по очереди

dec, забросить однозначно - сделать отдельной микрухой ком-юсб переходник, мега выполняет роль управляемой АЦП
конечно же мега не умеет мерять отрицательное напряжение - нужно будет делать виртуальную сренюю точку на уровне половины опоры и просто считать что ноль 'mk 2/5 вольта В+мах - 5 вольт В-мах = 0 вольт :)

а если чесно...то....там нечего делать микроконтроллеру :)))
берется FT232 на её шину цепляется любая паралельная ADC которая и минусы мерять умеет и частота у неё нормальная...
а вся работа производится на компьютере

в общем то такой проект уже давно есть и успешно работает на частоте до 24 мегавыборок - USBee AX :)

разница только в том что интерфейсная микруха это не мега8 или FT шка а кипарисовый скоростной чип

мега 8 очень медленная для скольлибо приемлемых показателей частоты выборки
даже в крутех армах встроенное АЦП 1 мегавыборка в секу...да и снова таки..нечего делать арму в осцилографе
на меге 8-й можно сделать осцил НО
нужен внешний экран с контроллером, нужна внешняя память и внешняя АЦП ну и конечно же ПЛИС на которой будет организовано управление АЦП и буфером
а мега 8 будет просто давать команды - стартовать АЦП или остановить АЦП или очистить буфер...или будет сливать этот буфер на экран или на комп
вот тогда можно и 266 мегавыборок достич...и 32 мегабайта буфер...если заюзать память типа PC-133 :)

в общем на одной меге проект нереализуем...тем более вы очень сильно удивитесь как быстро заканчивается флешпамять у меги 8-й :)
а вот 1-10 килогерц сигнал напрямую гнать на комп..это конечно можно...но .... зачем тут МК?
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Реклама
USBAVR
Родился
Сообщения: 17
Зарегистрирован: Вс ноя 06, 2011 19:47:38

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение USBAVR »

Благодарю за конструктивную критику
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3384
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Мурик »

Не ну если это ATmega8U, то можно попробовать и напрямую к USB, тока "ПОЛОСА ПРОПУСКАНИЯ от 0 до 1 МГЦ" это фантастика для данного железа.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение ut1wpr »

USBAVR писал(а):Благодарю за конструктивную критику
Это не было критикой в твой адрес.
Народ весьма толково рассказал, каким образом делать оценочные выводы по поставленной тобой задаче. Толково, грамотно и с расжевкой. Проблема в другом. До уровня твоей подготовки все равно не дотягивает. Еще проще объяснять - пройти весь куср с нуля мало кто захочет. Так что, без обид. Если действительно нужно - учи матчасть. Если спихнуть курсак - вопрос денег, заплатил и забыл, как страшный сон.
С уважением,
Виктор.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение coredumped »

На меге8 не получится реально более чем 1 мегасэмпл. Для 2-х каналов, соответственно, в 2 раза меньше. По теореме Котельникова, для совсем простого непрерывного сигнала у Вас будет полоса как минимум в 2 раза меньше частоты сэмплирования. Получаем в сухом остатке максимум 250кГц на канал. На обработку процессорных ресурсов при этом не остается, за программный USB даже речи нет.
Выводы:
1. Ставьте для МК реальные планы. А это не более 100 кГц и один канал, либо 2 по 50. При этом советую USB реализовать аппаратно (FTDI - например).
2. Выберать другую реализацию - ARM + внешний ADC. Здесь, при правильном выборе элементной базы, все получится.
ЗЫ: я это к тому, что не стоит ставить планку на высоту, которую с данными техсредствами никогда не взять. Только зря потеряете время.
Все будет только лучше, в крайнем случае - хуже.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение clawham »

Ye почему же не взять-то?
вполне себе и взять
только вот нужно внешнее АЦП, мелкая плиска и внешний буфер пусть даже тот же 65 килобайт чтоб иметь аппаратный доступ к этой памяти на атмеге!
Тогда проц и будет выполнять роль контроллера техпроцесса
подготовку буффера, запуск генератора и счетчика адреса, фиксирование момента останова, обработку буффера - интерфейс с человеком через экран-кнопочки-ЮСБ-КОМ-САН-и т.д.
это вполне по силам меге 8й....правда скорость этого интерфейса будет не ахти но всё равно именно так все осцилографы и делаются...
но думаю пропахать с нуля программирование МК, программирование ПЛИС, приёмы работы с аналоговым сигналом...операционники-сдвиги уровней-диапазоны-калибровка....помомему для человека с нулем знаний по данной части - нереально....для меня самого плисы пока темный лес хотя с мк знаком давно и плотно....
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
polli123456
Встал на лапы
Сообщения: 86
Зарегистрирован: Пн мар 07, 2011 15:06:32
Откуда: Murom

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение polli123456 »

Встречался подобный проект http://www.elektroda.pl/rtvforum/topic1908810.html ,есть обсуждение там на форуме. Хотел сделать, но полоса пропускания -никакая. Прикладываю проект в proteus.
Вложения
Oscil.zip
(42.72 КБ) 592 скачивания
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Мастер Ломастер »

когда-то интересовался этой темой... есть такие микросхемы памяти - ОЗУ очереди или FIFO, как-то так зовутся... так вот, они содержат внутри счетчик адреса, все, что им нужно - это данные и такт записи/чтения. ну, само собой настройки режимов.

так вот, берется быстрый АЦП с параллельным выходом, такое FIFO ОЗУ, стыкуется друг с другом так, что сигнал готовности данных АЦП является тактовым сигналом ОЗУ... и ставится AVR-ка, которая только и ждет сигнала переполнения ОЗУ, чтобы остановить АЦП и неспеша выдать данные из ОЗУ в комп. собственно, ПЛИС не нужно для этого... все выглядит реальным...

такая вот идея. для диплома - просто золотое дно :) однако, все это весьма дорого выйдет, ОЗУ это дорогое...
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Kavka »

coredumped писал(а):На меге8 не получится реально более чем 1 мегасэмпл.
[злой мыш поел]
Получаем в сухом остатке максимум 250кГц на канал.
[хрум]
1. Ставьте для МК реальные планы. А это не более 100 кГц и один канал, либо 2 по 50.
Какой 1 мегасэмпл? 250кГц? 100кГц?
Вы, похоже, спецификацию тоже не читали.
Возьмём ATmega8A.
Пункт 25.8...
Clock Frequency max. 1000 kHz - это не частота выборки АЦП, а частота на которой АЦП тактируется.
Исходя из этого имеем 1000/13=76,92kSPS Почему 13? Потому что это, так сказать, одно из свойств АЦП встроенного в мегу. Читайте спецификацию.
И это с потерей точности. Причём величина потери точности не нормируется в спецификации.
Для 10 битного разрешения частота тактирования рекомендуется 50-200кГц. Т.е. скорость выборок до 15kSPS.
А теперь опять пункт 25.8
Input bandwidth typ. 38.5 kHz - полоса пропускания входных цепей относительно земли (single ended). При использовании дифференциального режима ещё меньше.
Это всё для непрерывного установившегося режима работы АЦП. А ещё каналы переключать.
Последний раз редактировалось Kavka Ср ноя 16, 2011 07:18:38, всего редактировалось 1 раз.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
USBAVR
Родился
Сообщения: 17
Зарегистрирован: Вс ноя 06, 2011 19:47:38

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение USBAVR »

Так. Ладушки. Я так понял, что 20 КГц полосу пропускания выдавить из него можно, да?

Мне важно даже не крутые навороты замутить в этом проекте. А саму идею.

То есть речевой сигнал обработать вполне возможно, так? Господа
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Avarges »

USBAVR в самом деле - почитай даташит, если английский немного понимаешь, там написаны все характеристики и скорость ацп итд.

Кстати, мега8 может довольно многое, вот например у меня вышло на базе меги8 показывать видео со скоростью 24 кадра в секунду на LCD экране мобильного телефона, одновременно читая его с SD карты:
http://www.youtube.com/watch?v=PqPR8k5EV-A

Что касается программного USB, то помни что он даёт только скорость обмена данными 6400 бит в секунду, это очень мало.

Если взять мегу8, внешний АЦП с 2MSPS и CP2102 для USB канала (1Мбит/с), то об осциллографе можно будет уже подумать.
USBAVR
Родился
Сообщения: 17
Зарегистрирован: Вс ноя 06, 2011 19:47:38

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение USBAVR »

Благодарю за дельные ответы. Буду пробовать и по ходу дела отчитываться о проделанной работе
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение qwerky »

На меге8 не получится реально более чем 1 мегасэмпл
получится, с внешним АЦП. Макс.частота выборок =F_CPU/3, то есть при 24МГц тактовой можно получить 8Мsps. Количество выборок ограничивается доступным ОЗУ. 512 выборок - вполне прилично, для карманного осциллографа хватит
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Kavka »

Хм... Внешний АЦП... Смотрим, например Analog Devices. Самый мало-разрядный и близкий к 8 мегасэмплам в секунду AD9220. Но его цена, думаю, не для любительской поделки.
Если уж на такое заморачиваться, то и затраты переводить на новый уровень. Взять, скажем, Altera Cyclon 3 младшую модель (это ПЛИС) - там и память быстродействующая (до 300 МГц, если не ошибаюсь) на борту уже есть под буффер и внешнюю можно вплоть до DDR2 прицепить. И в ПЛИС можно хоть проц, хоть контроллер небольшой "запихать"... Ну и т.д. и т.п.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение qwerky »

посмотрите на AD9280/9283/9288, они подешевле. В 9288 2 независимых АЦП, можно сделать чередование каналов и повысить частоту выборок
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB-осциллограф на ATmega8. Каковы возможности этого МК

Сообщение Kavka »

qwerky, хорошо, есть недорогие АЦП.
Ну и F_CPU/3 не со всяким АЦП можно получить :)
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»