Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: spi
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
kostik2
Я использую ЦАП ad5300, в которую данные загружаются по SPI.
Для нее надо выдавать 16 бит данных.
ATmega8 выдает по 8 бит.
Если выдавать 2 байта по 8-мь, то ЦАП примет правильно ?
И во время включенного SPI можно ли использовать вход MISO отдельно как порт ?
aaarrr
Цитата(kostik2 @ Jan 10 2007, 14:37) *
Если выдавать 2 байта по 8-мь, то ЦАП примет правильно ?

Да, если CS не снимать между байтами.

Цитата(kostik2 @ Jan 10 2007, 14:37) *
И во время включенного SPI можно ли использовать вход MISO отдельно как порт ?

Увы, нет.
prottoss
Цитата(kostik2 @ Jan 10 2007, 18:37) *
Я использую ЦАП ad5300, в которую данные загружаются по SPI.
Для нее надо выдавать 16 бит данных.
ATmega8 выдает по 8 бит.
Если выдавать 2 байта по 8-мь, то ЦАП примет правильно ?
Да, можно. Но только не нужно снимать сигнал ShipSelect c ЦАП, если он, конечно, имеется. Только после окончания переджачи всего слова.


Цитата(kostik2 @ Jan 10 2007, 18:37) *
И во время включенного SPI можно ли использовать вход MISO отдельно как порт ?
В принципе, да



Цитата(aaarrr @ Jan 10 2007, 18:47) *
Цитата(kostik2 @ Jan 10 2007, 14:37) *

Если выдавать 2 байта по 8-мь, то ЦАП примет правильно ?

Да, если CS не снимать между байтами.

Цитата(kostik2 @ Jan 10 2007, 14:37) *
И во время включенного SPI можно ли использовать вход MISO отдельно как порт ?

Увы, нет.
А отчего нет?
aaarrr
Цитата(prottoss @ Jan 10 2007, 14:54) *
А отчего нет?

Просто не заметил слова "вход" в вопросе.
Как вход можно, конечно, но это как-то не эстетично, ИМХО smile.gif
prottoss
Цитата(aaarrr @ Jan 10 2007, 18:59) *
Цитата(prottoss @ Jan 10 2007, 14:54) *

А отчего нет?

Просто не заметил слова "вход" в вопросе.
Как вход можно, конечно, но это как-то не эстетично, ИМХО smile.gif
Согласен
kostik2
Цитата(aaarrr @ Jan 10 2007, 14:59) *
Цитата(prottoss @ Jan 10 2007, 14:54) *

А отчего нет?

Просто не заметил слова "вход" в вопросе.
Как вход можно, конечно, но это как-то не эстетично, ИМХО smile.gif

а как выход ?

Цитата(kostik2 @ Jan 10 2007, 15:09) *
Цитата(aaarrr @ Jan 10 2007, 14:59) *

Цитата(prottoss @ Jan 10 2007, 14:54) *

А отчего нет?

Просто не заметил слова "вход" в вопросе.
Как вход можно, конечно, но это как-то не эстетично, ИМХО smile.gif

а как выход ?

у меня просто свободных ного нету.
aaarrr
Цитата(kostik2 @ Jan 10 2007, 15:11) *
а как выход ?

А как выход уж точно никак sad.gif
kostik2
спасибо за информацию.
dkostik
2 последовательно слать можно.
а если хош сразу 16 битиков по вот примерчик AVR320.pdf - это апноут с сайта www.atmel.com
=GM=
Цитата(kostik2 @ Jan 10 2007, 11:37) *
И во время включенного SPI можно ли использовать вход MISO отдельно как порт ?

Сложный вопрос, мнения разделились...Когда вы конфигурируете спи, как мастер, а так и надо, поскольку вы выдаете данные в цап, мисо становится вводом и только вводом. Не вижу причины, по которой вы не сможете програмно читать состояние с этой ноги. Другой вопрос, что биты с этой ноги будут заталкиваться в сдвиговый регистр спи, вроде не должно мешать читать.
prottoss
Цитата(aaarrr @ Jan 10 2007, 19:16) *
Цитата(kostik2 @ Jan 10 2007, 15:11) *

а как выход ?

А как выход уж точно никак sad.gif
На самом деле, опять же можно. НО для этого необходимо отключать SPI. Я видел как 8-и разрядный порт, на котором сидит SPI, использовали как шину данных ЖКИ и все прекрасно работет. Накладных расходов - дюжина байт, всего то
aaarrr
Цитата(prottoss @ Jan 10 2007, 15:24) *
На самом деле, опять же можно. Накладных расходов - дюжина байт, всего то

Да, но вопрос был "во время включенного SPI можно ли использовать вход MISO".
И далеко не всегда выход можно безнаказанно делать входом.
=GM=
Цитата(aaarrr @ Jan 10 2007, 12:35) *
Цитата(prottoss @ Jan 10 2007, 15:24) *

На самом деле, опять же можно. Накладных расходов - дюжина байт, всего то

Да, но вопрос был "во время включенного SPI можно ли использовать вход MISO".
И далеко не всегда выход можно безнаказанно делать входом.

Еще можно добавить, что при большой скорости спи, скажем 4 мбода или 8, не всегда есть время на переключение, можно потерять и данные, и синхронизацию.
prottoss
Цитата(aaarrr @ Jan 10 2007, 19:35) *
Цитата(prottoss @ Jan 10 2007, 15:24) *

На самом деле, опять же можно. Накладных расходов - дюжина байт, всего то

Да, но вопрос был "во время включенного SPI можно ли использовать вход MISO".
И далеко не всегда выход можно безнаказанно делать входом.
Да, этого делать нельзя, по своему опыту - SPI клинит (мега32). Но в чем вопрос? Записать в SPCR ноль, сконфигурировать пин как надо, сделать что надо, сконфигурировать пин обратно, записать в SPCR константу, делов то.



Сразу оговорюсь по поводу жаждущих скорости - используйте ARM, ну или, на крайний случай ПЕнь4 smile.gif . Мы говорим здесть о восьмиразрядных микроконтроллерах
aaarrr
Цитата(prottoss @ Jan 10 2007, 15:55) *
Но в чем вопрос? Записать в SPCR ноль, сконфигурировать пин как надо, сделать что надо, сконфигурировать пин обратно, записать в SPCR константу, делов то.

Да я не о том: внешнему устройству, подключенному к MISO, может не понравиться переодический переход пина в high-impedance. Полноценным выходом это не будет.
prottoss
Цитата(aaarrr @ Jan 10 2007, 20:06) *
Цитата(prottoss @ Jan 10 2007, 15:55) *

Но в чем вопрос? Записать в SPCR ноль, сконфигурировать пин как надо, сделать что надо, сконфигурировать пин обратно, записать в SPCR константу, делов то.

Да я не о том: внешнему устройству, подключенному к MISO, может не понравиться переодический переход пина в high-impedance. Полноценным выходом это не будет.
А я думаю, что за писк и рев blink.gif от ЖКИ постоянно, наверное плачит бедный biggrin.gif Если внешним цепям не нравится "подвешенное" состояние - естественно, тогда ответ на вопрос, его задававшего однозначный - НЕТ
defunct
Одного пина не хватает?!
Один из путей экономии одной ноги - плюнуть на аппаратный SPI и использовать два любых пина для управления ЦАПом.
Второй путь - просто взять МК с большим числом ног/портов.

Третий - добавить внешний регистр-защелку.
GDI
если сделать программный SPI чтобы только читать данные из АЦП, то можно... только программный SPI будет медленнее чем аппаратный, если, конечно, последний работает на максимальной скорости.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.