Страница 1 из 1
HELP - MCP42xxx цифровой потенциометр
Добавлено: Чт сен 11, 2008 10:15:27
Настя
MCP42xxx
http://www.chipnews.ru/html.cgi/arhiv/01_08/10.htm
При работе в режиме делителя напряжения (рис. 6,Б)
какое максимальное напряжение относительно общего
провода можно подводить (к точке V1).
Напряжение 12В не будет критичным для устройства?
Добавлено: Чт сен 11, 2008 10:57:35
YurkaM
Пролистал весь даташит вдоль и поперёк...
Похоже, что не больше, чем питание самой MCP...
В разделе Absolute Maximum Ratings:
All inputs and outputs w.r.t. Vss ........ -0.6V to Vdd +1.0V
И в таблицах, в секциях Resistor Terminals:
Voltage Range Va,b,w от 0 до Vdd
А Vdd (питание самой микросхемы) в свою очередь не больше 7 Вольт.
ps реально в наличии не имею, проверить нечем...
Добавлено: Чт сен 11, 2008 12:34:11
Настя
YurkaM - понятно. Интуитивно я также думала.
Вопрос второй. Описание протокола SPI на русском,
кратко и по делу (длительности сигналов и уровни).
И может какие особенности протокола.
Добавлено: Чт сен 11, 2008 19:48:52
sema
SPI кратко и по делу описывается в книжке "микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel", автор А.В. Евстифеев
Добавлено: Пт сен 12, 2008 09:00:19
Настя
sema, дорогой мой, спасибо. Нашла книжечку, полистала.
Оказывается всё довольно просто.
AVR xnj kb gj.pfnm/
Добавлено: Пн сен 22, 2008 15:58:03
Botsman_r61
Здравствуйте.
Я, как и Настя, столкнулся с этим зверем, почитал даташит, все просто и понятно но работать не хочет
Программирую в Баскоме, пробовал библиотечные функции - не работает.
Программно дергаю ногами - все равно не работает.
Пробовал другую м.сх - результат аналогичный
МК Мега8
M8 MCP
PD6 > CS
PB5 > SLK
PB3 > SI
SHDN и RS у MCP42010 на +5
Что-то я делаю не так, а что? Ткните носом, пожалуйста.
Добавлено: Вт сен 23, 2008 08:24:30
Настя
Мне эту железку еще не довезли.
Со дня на день планируется.
Пока ничего сказатьл не могу.
Добавлено: Вт сен 23, 2008 08:25:46
Настя
И было бы неплохо посмотреть схему включения,
линий типа чип-селекта или шинного адреса.
Добавлено: Вт сен 23, 2008 10:07:54
Botsman_r61
Да там все на макетке, но вкратце я описал постом выше. Рисовать долго, опишу.
Оцифровываю с переменного резистора напряжение и записываю это значение в МСР. Вроде все по даташиту, сначала пишу значение сопротивления младшим битом вперед, потом пишу команду($13-записать значение в оба канала) тоже младшим битом вперед
Нога Мега8---Нога МСР
PB5(sck)----Clk
PB3(mosi)----SI
PD6----CS
остальные ноги MCP
Vss - земля
Vdd - питание +5
SO - не используется
SHDN - +5
RS - +5
PA0 - земля
PB0 - +5
PW0 - снимаю напряжение
PA1, PB1, PW1 - пока не подключены
Добавлено: Вт сен 23, 2008 13:37:47
YurkaM
Botsman_r61 писал(а): ...Вроде все по даташиту, сначала пишу значение сопротивления младшим битом вперед, потом пишу команду($13-записать значение в оба канала) тоже младшим битом вперед
Хм.. Вроде по даташиту всё наоборот: сначала команда, потом данные. И
старшим битом вперёд. Картинка даташита FIGURE 5-1
Добавлено: Вт сен 23, 2008 15:05:07
Botsman_r61
Попробовал все комбинации: старшим-младшим вперед, команда-данные первым, всего-то 4 варианта.
Результат одинаковый.
Не могут же быть обе мелкосхемы дохлые? Или еще что-то?
Может кто-то с ними сталкивался?
Добавлено: Вт сен 23, 2008 17:06:01
MetEl
Там 16 битный регистр, и одно слова 16бит (по SPI за раз).
А Атмега8 8-битное слово передаёт по SPI.
Тоесть по два слова за раз передавать.
Код: Выделить всё
SS=0; //(можно и с PD6 к CE MCP)
SPDR(command); // передача первых 8 бит
while(!SPIF); // ожидать прерывания окончании передачи, можно и без него
SPIF=0; // погасить флаг окончяния передачи, можно и без него
SPDR(data); // передача первых 8 бит
while(!SPIF);
SPIF=0;
SS=1;
Вроде бы так, должно выглядеть.
Флаги и регистры SPI.
Добавлено: Вт сен 23, 2008 20:48:19
YurkaM
MetEl писал(а): А Атмега8 8-битное слово передаёт по SPI....
Смотри внимательней.
Botsman_r61 не использует аппаратный SPI.
Botsman_r61, а у тебя чем-нить другим по SPI получалось рулить? Т.е. ты уверен, что ентот твой Бейсик адекватный код делает? Или посмотри осцилом, те-ли импульсы получаются, что задуманы..
Добавлено: Вт сен 23, 2008 21:59:49
MetEl
Да внимательность не помешает.
Я написал используя наименования регистра и битов.
Нельзя сказать что эт даже псевдо Си.
Не использует?
Так ведь может.
Тем более, что временные интервалы удержания и переходов, как раз таки будут соответствовать ТТ.
-----------------------
у него указаны ноги(атмегм), которые выдают SPI.
Добавлено: Вт сен 23, 2008 22:51:16
YurkaM
MetEl писал(а): у него указаны ноги(атмегм), которые выдают SPI.
Догадаться не сложно. Автор сначала пробовал использовать аппаратный SPI и функции Васика для этого. Когда не пошло, решил дёргать вручную - чтобы наверняка, потому как фик его знает, чё там этот Басик на самом деле делает...
ps: А вот чтобы на самом деле наверняка, надо пользовать асм
ps2: Кстати,
Botsman_r61 , в меге SPI имеет 4 возможных режима. Тебе нужен 0. Может где-то в Басике ты упустил эту настройку? (в варианте с аппаратным SPI)
Добавлено: Вт сен 23, 2008 23:03:53
MetEl
YurkaM писал(а):
ps: А вот чтобы на самом деле наверняка, надо пользовать асм
Согласен, но в чём писать (работать). Си как то продвинут а вот Асм.. как то не видно.
Добавлено: Ср сен 24, 2008 21:08:16
Murz
Работал с этим потенциометром, писал на asm, правда для PIC, все работает отлично.
Добавлено: Пт сен 26, 2008 14:30:37
Botsman_r61
Спасибо всем за внимание, но я сейчас в командировке, в понедельник доберусь до работы, попробую еще, потом отпишусь.