|
|
  |
SAM7S, CS на SPI |
|
|
|
May 1 2009, 18:54
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(prottoss @ May 1 2009, 06:19)  Это Вы зря говорите. SPI вполне полноценный, и нормально работает с использованием PDC. Криво сделано только аппаратное дергание выводами выборки NPCS. НО ни кто не мешает делать выборку слэйвов программно. вот у меня пока... все очень даже прямо работает(SAM7A3) у меня часть транзакций по PDC (FRAM FM25xx) и часть c MBI5028(по ожиданию окончания передачи) и еще 74hc595(и по PDC и програмным опросом) Часть транзакций с софтовым CS(MBI, 595), часть с аппаратным FM25xx. Что я делаю не так ? И почему всегда работает ?
|
|
|
|
|
May 1 2009, 19:02
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(singlskv @ May 1 2009, 22:54)  Что я делаю не так ? И почему всегда работает ? Да у меня тоже все работает, но на errata и для SAM7S и SAM7X я наткнулся и приходилось обходить софтом. Самое обидное что атмел не выпускает новые ревизии чипов и не исправляет ошибки. И в SAM7S и SAM7X баги разные. LSATXFER например криво работает. А если надо использовать PDC то смешать несколько устройств с разными форматами посылки и что бы аппаратно дергались CS в нужном месте невозможно ни на одном семействе у атмела!
|
|
|
|
|
May 2 2009, 19:19
|
Местный
  
Группа: Свой
Сообщений: 207
Регистрация: 26-01-06
Из: СПб
Пользователь №: 13 659

|
Цитата(singlskv @ May 1 2009, 00:09)  а с какой частотой и через сколько каналов хотите оцифровывать ? канал 1, просто такой АЦП был уже, под него и плату сделал. А мысль была по таймеру 1-5кГц запускать SPI через PDC на 8-16 выборок ~500ksps и потом обрабатывать результат. Но сам AD7924 тактируется от того же SPI и хочет получать отдельный CS на каждое слово. Так что пока 2 пути - либо в основном цикле программно все делать, тогда аппаратный CS нормально отрабатывает, либо через PDC посылать в 2 раза больше посылок, но каждую нечетную отправлять на другой, не используемый канал, тогда тоже будет для АЦП на каждое слово свой CS.
|
|
|
|
|
May 4 2009, 12:05
|
Местный
  
Группа: Свой
Сообщений: 207
Регистрация: 26-01-06
Из: СПб
Пользователь №: 13 659

|
Цитата(Dron_Gus @ May 4 2009, 12:48)  Не обязательно неиспользуемый. Можно их обьеденить и тогда не надо удваивать количество посылок. неиспользуемый канал - имелось в виду PCS самого SPI-я. Если одно слово слать на адрес 0 а следующее (и не слово а байт для быстроты) на канал 1 то получается то что надо - на каждое слово для CS0 приходит свой импульс CS. Адрес 1 SPI просто сконфигурен но выход PIO к SPI не подключен.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|