реклама на сайте
подробности

 
 
> Не хватает портов SPI (AT91SAM7S64), Подключить два ADS1251
rals
сообщение Jul 2 2007, 15:14
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 29-06-06
Пользователь №: 18 472



Стоит задача - подключить два ADS1251. Какие порты можно использовать? Имеющийся SPI уже занят, да и мало одного.
Переходить на другую серию AT91 не хотелось бы.
Прикрепленный файл  ads1251.pdf ( 387.75 килобайт ) Кол-во скачиваний: 530

Прикрепленный файл  slyt222.pdf ( 192.29 килобайт ) Кол-во скачиваний: 319
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Jul 2 2007, 17:05
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(rals @ Jul 2 2007, 18:14) *
Имеющийся SPI уже занят, да и мало одного.
Если я правильно понял ваш вопрос, то вы не до конца представляете как работает SPI. На один SPI можно повесить сколько угодно устройств, ибо выбор конкретного устройства осуществляется выводом ~CS устройства, а этот вывод вы можете управлять любым свободным выходом процессора. Если же вам "ну очень хочется" повесить устройства на разные SPI, то организуйте программный на любых свободных ножках PIO:
Код
uint8_t SPI_exchange(uint8_t data)
{
    uint8_t Counter;
    for(Counter = 0; Counter < 8; ++Counter)
    {
        on(SPI_CLK);
        if(data & (1<<7))
             on(SPI_MOSI);
        else
             off(SPI_MOSI);
        off(SPI_CLK):
        data <<= 1;
        if(signal(SPI_MISO))
            data |= 1;
     }
     return (data);
}


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
rals
сообщение Jul 2 2007, 19:04
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 29-06-06
Пользователь №: 18 472



Цитата(Сергей Борщ @ Jul 2 2007, 21:05) *
Если я правильно понял ваш вопрос, то вы не до конца представляете как работает SPI. На один SPI можно повесить сколько угодно устройств, ибо выбор конкретного устройства осуществляется выводом ~CS устройства, а этот вывод вы можете управлять любым свободным выходом процессора. Если же вам "ну очень хочется" повесить устройства на разные SPI, то организуйте программный на любых свободных ножках PIO


В ADS1251 неполный SPI - там нет Chip Select.
Использовать программный SPI на два 24 битных АЦП не реально (частота выборки 10 кГц). У проца других забот полно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 3 2007, 06:48
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(rals @ Jul 2 2007, 22:04) *
В ADS1251 неполный SPI - там нет Chip Select.
Скачал даташит. Нет там SPI. Т.е. этот синхронный интерфейс, но это совсем не SPI. Неверный вопрос - неверный ответ laughing.gif. В таком случае proba дал неплохой совет, можно еще поставить буфера с третьим состоянием и через них полключать АЦП на существующий SPI.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 03:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016