Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
13.07.2010, 13:56
|
|
Временная регистрация
Регистрация: 04.01.2007
Сообщений: 90
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
|
AVR (168) аппаратный SPI
имею необходимость читать нестандартные данные, т.е. 4 бита, 30 бит, 12 бит....
второй день читаю даташит, уже сам почти все понял
пока у меня мнение, аппаратно вычитать такие данные нельзя, т.к. регистр сдвига 8и битный?
т.е. нужно писать свою либу или функцию?
|
|
|
|
13.07.2010, 14:06
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,381
Сказал спасибо: 1,962
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: AVR (168) аппаратный SPI
по моему, нельзя, у него только 8 бит обмен предусмотрен.
Возможности настройки были, кажется, у тинек - но у них, по сути, не SPI, а некий USI интерфейс, который может работать и как SPI. Вот там, кажется, была возможность указать количество бит обмена.
Но тот USI какой-то странный, один раз пришлось с ним возиться - и в конце концов плюнул и написал софтовый - быстрее получилось, чем разбираться.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
13.07.2010, 16:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: AVR (168) аппаратный SPI
Самый нормальный у них ЮСИ. Нужно примеры из даташита читать и все заработает. У самого тини261 читает WAV-файлы с ат45дб016, если б делал софтово - скорости б не хватило
И кстати большинство 4-12-30-битных микрух прекрасно работают с БОЛЬШИМ количеством бит - то есть 8-16-32, только одни микросхемы теряют первые "лишние" биты, другие - последние... По моему нужно с этого начинать
|
|
|
|
13.07.2010, 16:33
|
|
Временная регистрация
Регистрация: 04.01.2007
Сообщений: 90
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
|
Re: AVR (168) аппаратный SPI
дело в том, что я прикидываюсь слэйвом в уже существующей системе ВМЕСТО существующего девайса.
и боюсь, если я мастеру подсуну 32 бита вместо 30 или 8 вместо 4, он сильно развеселится
т.е. там разные по длинне посылки разные по назначению, я думаю, что мастер по длинне посылки определяет ее назначение, и если ему прилетит 8 вместо 4... кто знает, что будет
|
|
|
|
13.07.2010, 18:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: AVR (168) аппаратный SPI
Ну тогда еще проще - мастер больше 30 бит не высосет (он же генерит тактовую), а в слэйве после каждой посылки выключайте и снова включайте СПИ. Счетчик битов СПИ слэйва от этого обнулится, правда последний байт (биты 25...30) потеряется... Или делайте программный СПИ (потери в скорости, пропуск битов) или что лучше - юзайте тиньку с ЮСИ
|
|
|
|
13.07.2010, 19:37
|
|
Временная регистрация
Регистрация: 04.01.2007
Сообщений: 90
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
|
Re: AVR (168) аппаратный SPI
ну передачу как-то криво еще можно так сделать, а на прием точно не прокатит, мастер выплюнет 11 бит и заляжет...
сейчас попробую, что будет
хотя не понимаю... как можно вычитать непредсказуемое количество бит аппаратно?
все же поковыряю софтово, видать аппаратно не прокатит
|
|
|
|
13.07.2010, 21:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: AVR (168) аппаратный SPI
Скорость СПИ какая? Если выше 100 кГц - будут пропуски битов даже на ассемблере
Все-таки поковыряйте тинькину ЮСЮ
Кол-во бит считается между перепадами на ножке CS
|
|
|
|
14.07.2010, 11:07
|
|
Временная регистрация
Регистрация: 04.01.2007
Сообщений: 90
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
|
Re: AVR (168) аппаратный SPI
смотрю даташиты на тиньки
с аппаратным вчера ничего не вышо... в смысле в буффере остаются биты, и выдает при первом чтении 4 байта, потом 5, потом 4, потом 5...
и софтово шляпа какая-то.
смотрю что есть дома из тинек, читаю шиты
|
|
|
|
15.07.2010, 02:18
|
|
Временная регистрация
Регистрация: 04.01.2007
Сообщений: 90
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
|
Re: AVR (168) аппаратный SPI
нарыл дома tiny26 даташит говорит, там есть USI
буду пробовать читать
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:57.
|
|