Страница 1 из 2

АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 14:21:03
shinsei
Может кто-то знает? С ADC0 и АDC1 снимаем данные, они, в виде 1 и 0, поступают на В0. USB подключено: D- - B0, D+ - INT0. Как распознать с какого порта АЦП поступил сигнал? Чтоб потом передать по USB.

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 16:24:40
Mishany
научитесь выражать свои мысли на понятном для остальных языке. а так написан полный бред....
а если по теме, то по аналогии:
СпойлерИзображение

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 16:32:56
shinsei
Ну не бредовей ответа. Если хотите помочь спросите, что не понятно в том что написано, а если просто...., то смысл вообще писать

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 16:59:25
Mishany
данные с ацп представлены в виде числа размером char либо int в зависимости от настроек ацп, Вы передаете 1 и 0... на.... и тут надо додумать что B0 это вероятнее всего имелось в виду порт PB0, но тогда как?
чем помочь то? настроить АЦП или что?
А следующие вопросы как по усб отправить? как на компе принять?

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 17:04:08
khomych
если данные идут в виде 1 и 0 то при чем АЦП? обычные логические уровни. ставьте ТЗ яснее

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 17:51:06
Pnjom-Penb
Не слушайте никого - подавайте нолики на D-, а единички - на D+.

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 20:11:12
shinsei
Ещё раз, данные с АЦП, с обоих портов, поступают на порт В0, на этом порту идёт подключение к усб по Д- (Д+ подключён к ИНТ0), я не могу придумать как снимая данные с порта В0 определить с какого именно из двух портов АЦП поступил сигнал, их на порту В0 надо как-то разграничить. ПК должен по усб определять какое устройство из двух подключенное к ацп сработало (включилось или выключилось).
Роль включения и выключения выполняют фоторезисторы которые и подключены к АЦП и они выполнять должны функции кнопок, т.е. свет на фоторезистор не идёт это вкл., пока поступает - это выкл.

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 20:22:00
shinsei
данные с ацп представлены в виде числа размером char либо int в зависимости от настроек ацп, Вы передаете 1 и 0... на.... и тут надо додумать что B0 это вероятнее всего имелось в виду порт PB0, но тогда как?
В МК логические 0 и 1, т.е. земля или питание, программа снимает данные с порта АЦП и в зависимости от нужного результата подаёт на другой порт, в моем случа на В0, 0 или 1, а именно землю или питание))), ну это я так описал по простецки. Вот так на порт В0 я и подаю 0 или 1. Код маленький и не сложный))

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 20:31:25
Mishany
а почему д+ подключен именно к инт0? и зачем вообще там усб? может для начала с диодиками потренироваться? а потом уже и усб подтягивать?
как вы ацп настроили? сначало на эти вопросы потом продолжим.

Re: АЦП и USB - atmega32a.

Добавлено: Ср окт 21, 2015 20:57:21
B@R5uk
Во-первых, в ATmega32 нет аппаратного контроллера USB, а работать ногодрыгом по USB это изврат.
Во-вторых, работа с USB пока ещё не ваш уровень, так что если хотите данные передавать в компьютер, то разберитесь как работает USART в МК, как общаться с последовательным портом на компе и купите конвертер USB/USART типа FT232, CP2102 или купите в салоне сотовой связи какой-нибудь готовый для старого мобильника.

Re: АЦП и USB - atmega32a.

Добавлено: Чт окт 22, 2015 07:31:25
Engineer_Keen
shinsei писал(а):В МК логические 0 и 1, т.е. земля или питание, программа снимает данные с порта АЦП и в зависимости от нужного результата подаёт на другой порт, в моем случа на В0, 0 или 1
Пока другую тему автора не прочитал, не мог догнать смысл...
Хотите понимать с какого АЦП пришли данные, запоминайте в какой-нибудь переменной номер канала АЦП в тот момент когда переключаете PB0 (чтобы точно определить какой канал повлиял на работу PB0). Ну или читайте AMDUX, учитывая последовательность с которой каналы переключаются.

Re: АЦП и USB - atmega32a.

Добавлено: Чт окт 22, 2015 15:53:38
shinsei
Да у меня уже подключён усб, плата нормально работает, вопрос не как подключить усб, а как определить какой из портов АЦП сработал.
Диоды нормально работают.
Enginer_Keen спасибо за совет попробую, хоть кто-то вразумительно подсказал. Ещё раз Вам спасибо

Re: АЦП и USB - atmega32a.

Добавлено: Чт окт 22, 2015 17:59:05
khomych
судя по вашей второй теме то за чтение из АЦП отвечает фУнкция "int readADC(unsigned int ch)". вот в передаваемой переменной "ch" и хранится номер текущего канала АЦП. 0 - ADC0 , 1 - ADC1

Re: АЦП и USB - atmega32a.

Добавлено: Чт окт 22, 2015 18:24:34
alex_
shinsei писал(а):Да у меня уже подключён усб, плата нормально работает
Мне вот интересно а USB у тебя нормально с компом общается, и через какую прогу на компе мониторишь события? :)

Re: АЦП и USB - atmega32a.

Добавлено: Пт окт 23, 2015 13:40:59
shinsei
Я же вроде бы указал, что нормально работает. Плата собрана, протестирована. Пишется программа, не могу понять одного. Задаю вопрос по программе, а мне начинают рассказывать что я не правильно собрал схему, что усб не мой уровень и т.д. Да работает плата, вопрос по программе, а не по тому как и что подключить к МК.
судя по вашей второй теме то за чтение из АЦП отвечает фУнкция "int readADC(unsigned int ch)". вот в передаваемой переменной "ch" и хранится номер текущего канала АЦП. 0 - ADC0 , 1 - ADC1
Да, спасибо я так и попробую, выше мне так и предложили. Спасибо Вам за подсказку тоже.

Re: АЦП и USB - atmega32a.

Добавлено: Пт окт 23, 2015 14:38:32
alex_
shinsei писал(а):Я же вроде бы указал, что нормально работает.
Вот тут многие в недоумении. И думаю всем интересно как? :shock: как у вас работает USB, при том что аппаратного USB у меги 32 нет, а это значит что надо извращатся писать всё это ручками, причём такие вещи пишутся только а асме, хотя в пред идущей теме было сказано что вы в асме ноль и он вам не интересен. Мало того протокол USB не из лёгких чтобы его реализовать программно, и такое не каждому под силу и не каждый за такое возьмётся. Как правило кто способен написать программный USB, у того вопросов по мелочёвке таких как АЦП таймеры и прерывания возникать в принципе не должно. :dont_know:

Re: АЦП и USB - atmega32a.

Добавлено: Пт окт 23, 2015 15:04:18
eess9
Видимо, товарищ использует библиотечку V-USB. Прикручивание ее несложное, а разобравшись раз, можно прикрутить ее на любую AVR и любое прерывание от порта (хоть PCINT, но там будут свои ограничения из-за приоритетов прерываний в таблице).

Re: АЦП и USB - atmega32a.

Добавлено: Пт окт 23, 2015 17:14:43
shinsei
Eess9 Вы на 100% правы. А тема не про то как прикрутить усб к 32а, можно отдельно создать, да и гугл показывает. В итоге по теме всего пару человек попытались помочь остальные почему-то вообще в другую сторону повели. Зачем тогда что-то писать если не знаешь? Просто набивать себе счётчик?
Alex_ если Вам действительно интересно как, я могу Вам в личку написать, чтоб лишний раз не захламлять пост.

Re: АЦП и USB - atmega32a.

Добавлено: Пт окт 23, 2015 21:23:56
uk8amk
Давайте мух отделим от котлет.
1. Внутренний АЦП, который имеет:
а) шину данных 10 бит(регистр данных) и управляющие регистры, отображаемые в ОЗУ контроллера.
б) аналоговые каналы ADC0...ADC7. Именно каналы, а не порты.

2. Программный USB методом ногодрыга, подключенный к выводам B0 и INT0.

3.
Сам USB работает и нормально передаёт данные в комп? Тогда зачем писать эти подробности.

Не ясно как передать данные в комп о номере канала и результате преобразования АЦП?
Это называется протокол передачи данных.
Может быть 'запрос-ответ'.
ПК говорит Канал 0 - МК отвечает Результат 0
ПК говорит Канал 1 - МК отвечает Результат 1
Можно непрерывно передавать пакет за пакетом. Синхронизировать по событию включения USB устройства от драйвера.
Конкретная реализация протокола зависит от задач устройства. Нет универсальных рекомендаций.

Re: АЦП и USB - atmega32a.

Добавлено: Сб окт 24, 2015 09:14:01
shinsei
Спасибо, я примерно в этом направлении и решил идти