|
spi, вопрос по SPI |
|
|
|
Jan 10 2007, 14:37
|
Участник

Группа: Участник
Сообщений: 61
Регистрация: 16-02-06
Пользователь №: 14 375

|
Я использую ЦАП ad5300, в которую данные загружаются по SPI. Для нее надо выдавать 16 бит данных. ATmega8 выдает по 8 бит. Если выдавать 2 байта по 8-мь, то ЦАП примет правильно ? И во время включенного SPI можно ли использовать вход MISO отдельно как порт ?
|
|
|
|
|
Jan 10 2007, 14:47
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(kostik2 @ Jan 10 2007, 14:37)  Если выдавать 2 байта по 8-мь, то ЦАП примет правильно ? Да, если CS не снимать между байтами. Цитата(kostik2 @ Jan 10 2007, 14:37)  И во время включенного SPI можно ли использовать вход MISO отдельно как порт ? Увы, нет.
|
|
|
|
|
Jan 10 2007, 14:54
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(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 отдельно как порт ? Увы, нет. А отчего нет?
--------------------
|
|
|
|
|
Jan 10 2007, 15:11
|
Участник

Группа: Участник
Сообщений: 61
Регистрация: 16-02-06
Пользователь №: 14 375

|
Цитата(aaarrr @ Jan 10 2007, 14:59)  Цитата(prottoss @ Jan 10 2007, 14:54)  А отчего нет?
Просто не заметил слова "вход" в вопросе. Как вход можно, конечно, но это как-то не эстетично, ИМХО  а как выход ? Цитата(kostik2 @ Jan 10 2007, 15:09)  Цитата(aaarrr @ Jan 10 2007, 14:59)  Цитата(prottoss @ Jan 10 2007, 14:54)  А отчего нет?
Просто не заметил слова "вход" в вопросе. Как вход можно, конечно, но это как-то не эстетично, ИМХО  а как выход ? у меня просто свободных ного нету.
|
|
|
|
|
Jan 10 2007, 15:20
|
Участник

Группа: Участник
Сообщений: 61
Регистрация: 16-02-06
Пользователь №: 14 375

|
спасибо за информацию.
|
|
|
|
|
Jan 10 2007, 15:22
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(kostik2 @ Jan 10 2007, 11:37)  И во время включенного SPI можно ли использовать вход MISO отдельно как порт ? Сложный вопрос, мнения разделились...Когда вы конфигурируете спи, как мастер, а так и надо, поскольку вы выдаете данные в цап, мисо становится вводом и только вводом. Не вижу причины, по которой вы не сможете програмно читать состояние с этой ноги. Другой вопрос, что биты с этой ноги будут заталкиваться в сдвиговый регистр спи, вроде не должно мешать читать.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Jan 10 2007, 15:43
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(aaarrr @ Jan 10 2007, 12:35)  Цитата(prottoss @ Jan 10 2007, 15:24)  На самом деле, опять же можно. Накладных расходов - дюжина байт, всего то
Да, но вопрос был "во время включенного SPI можно ли использовать вход MISO". И далеко не всегда выход можно безнаказанно делать входом. Еще можно добавить, что при большой скорости спи, скажем 4 мбода или 8, не всегда есть время на переключение, можно потерять и данные, и синхронизацию.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Jan 10 2007, 15:55
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(aaarrr @ Jan 10 2007, 19:35)  Цитата(prottoss @ Jan 10 2007, 15:24)  На самом деле, опять же можно. Накладных расходов - дюжина байт, всего то
Да, но вопрос был "во время включенного SPI можно ли использовать вход MISO". И далеко не всегда выход можно безнаказанно делать входом. Да, этого делать нельзя, по своему опыту - SPI клинит (мега32). Но в чем вопрос? Записать в SPCR ноль, сконфигурировать пин как надо, сделать что надо, сконфигурировать пин обратно, записать в SPCR константу, делов то. Сразу оговорюсь по поводу жаждущих скорости - используйте ARM, ну или, на крайний случай ПЕнь4  . Мы говорим здесть о восьмиразрядных микроконтроллерах
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|