Cartman

8-канальный Ацп Ad7888

5 сообщений в этой теме

Cartman    0

Имеется 8-канальный АЦП AD7888, присоединенный через SPI к ATmega128. Программирую в CodeVision на С. В данном примере получается противоречие между тем, что написано в datasheet(e) на АЦП и работой SPI микроконтроллера. Согласно даташиту АЦП данные от микроконтроллера (для выбора канала и режима работы) должны передаваться одновременно с принимаемыми данными от АЦП. Согласно описанию ATmega128 происходит ошибка (выставляется флаг повторной записи WCOL в в регистре состояния SPSR). Я это проверял в эмуляторе VMLAB. Но и так понятно.

Получается настраивать SPI, т.е. идут такты SCK, работа получается только если CS=1, хотя в даташите на АЦП пишут при CS=0. Но при этом данные назад не поступают (вернее идет сигнал около 700 мв, хотя ни к какому каналу ничего не приложено).

Кто-нибудь программировал подобные вещи или имеет конкретные ссылки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Duhas    35

мне кажется тут какое-то недопонимание процеса ))) датащит в студию ) и на чем пишите?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Cartman    0

quote name='Duhas' date='19.06.2007 - 13:36' post='149137']

мне кажется тут какое-то недопонимание процеса ))) датащит в студию ) и на чем пишите?

Пишу в CodeVision на С.

_АЦП_AD7888.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Duhas    35

ну вообще нада смотреть диаграмму внимательно.. там не просто тупо по спи посылай байты.. этому ацп нада во первых.. 1 такт передачи на просыпание... потом уже данные...тоесть придется резать байты и клеить как отправляя так и получая назад ...убить мала разработчиков за такой интерфейс имхо..

в кодвижн как я понимаю вапще не пищут...а готовят )) но это вопрос религии...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Cartman    0

Короче похоже заработало! :rolleyes:

Оставляю код функции, может кому понадобится.

Оказалось проще чем я думал. Поэтому до конца не понимаю почему оно работает. Согласно даташиту начать принимать преобразованные данные надо после 4-го такта. Я же для этого ничего не делаю.

На выходе получаю достаточно точный результат. Светодиод моргает при определенном уровне.

AD7888.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Зря ты так, очень даже неплохой КПД у линейного получается! Около 96%. При использовании одного Li-ion на один светодиод (соответственно так же при два на два).  Лучше, чем у большинства обычных DC-DC преобразователей. Чего стоят "Народные" AMC7135 . Да и, в отличии от импульсных, по мере разряда яркость гаснет плавно, что продлевает время свечения. Конечно, и в DC-DC можно встроить функционал, но если с этим туго, то это сложнааа Если при токе 750мА у тебя 3.3В, то это очень плохая подделка. Даже при токе 2А напряжение не должно превысить 3.2В! Это все не синхронные преобразователи, у них транзисторы с большими сопротивлениями, а так же ширпотребные диоды. О каком КПД может идти речь? Хочешь максимальный КПД и с импульсным преобразователем, то только повышайка "Микроконтроллер+полевик(и)" в помощь. Светодиоды последовательно.
    • @DJSLONN ,менять все что не нравится или греется это не ремонт. Ремонт делается после дефектовки,остальные действия это
    • Если в Питере, то макет БП можно придумать по-месту, наверное ))) Опишите параметры ))
    • Переделать выходной каскад http://www.imageup.ru/img6/3058453/peredelka-bp1.gif.html Или распустить косичку и перекоммутировать обмотки http://www.imageup.ru/img26/2808684/obmotki.gif.html
    • Слитие в НК идет большим током, оно мгновенно повышает напряжение НК за счет его ЭПС. Чтобы погасить этот "выброс" по входу регулирующего транзистора, ОУ должен обладать высоким быстродействием (иначе он его просто не заметит). Добился стабильности от вот такой схемы: Q3 представляет собой генератор тока около 6 мА, питающий выходные транзисторы. Если разомкнуть R3, генератор тока легко отключить и, таким образом, отключить выход блока. Я буду отключать в случае снижения напряжения питания ОУ, чтобы случайно на выход не прошло повышенное напряжение. Резисторы R2, R7 и R8 - токовый шунт, в будущем будут использоваться для снятия показаний тока отдельным ОУ. Падение напряжения - 1 В при 3 А. За счет включения после генератора тока, но до регулирующих транзисторов такой шунт практически не увеличивает общего падения напряжения на регуляторе. Недостаток такого включения - через токовый шунт течет ток нагрузочного резистора R9, который может достигать 35 мА. Позже попробую увеличить сопротивление R9, возможно это не сильно скажется на характеристиках блока (в идеале бы заменить его вообще на генератор тока, например, 10 мА). Q4 - усилитель напряжения по схеме с ОБ с сильной ООС в цепи базы (через резисторы R5 и R6). Общий коэффициент усиления по напряжению получается около 6.6. Ток каскад с ОБ не усиливает вообще, поэтому ОУ на выходе должен уметь выдавать весь ток генератора Q3. Диод D3 защищает эмиттерный переход Q4 от обратного напряжения, если на выходе ОУ вдруг будет высокое напряжение. Если его не ставить, то схему нельзя полностью отключить, выключив генератор тока Q3 - на выходе ОУ появляется +15 В, они "пробивают" эмиттерный переход Q4, поднимают напряжение на его базе, в результате чего на базу Q2 поступает положительное напряжение, которое проходит на выход блока. Цепочка C3 R13 уменьшает скорость ОУ до уровня, когда схема не возбуждается. Скорее всего номинал конденсатора в итоговой схеме надо будет корректировать, т.к. сейчас по факту делитель выходного напряжения R11 R12 собран на резисторах 10 К и 62 К. Диод D4 с другой стороны не дает выходному напряжению ОУ сильно подниматься, когда схема переходит в режим СС (на схеме пока нет элементов, отвечающих за этот режим), чтобы ОУ быстрее возвращался из него в режим стабилизации. Выходная цепочка C2 R10 также препятствует возбуждению блока. В результате при не очень высокой общей скорости ОУ выход из режима СС занимает меньше 10 мкс. На осциллограмме ниже желтая линия - выходное напряжение блока, синяя - выходное напряжение ОУ. Режим СС имитировался замыканием базы транзистора Q2 на общий провод.
    • А может там холодильник no frost?