Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Аналоговая схемотехника»

работаю с ацп max1301b - выдает или нули, или ничего

Отправлено libr 29 июля 2008 г. 23:24


День добрый.
Приходится работать с max1301b, и не идет.
Пробовал и в режиме internal clock, и external clock, не работает.
В первом не выставляется сигнал готовности (sstrb в 1), во втором читаю только нули. Параметры SPI по даташиту (cpol=0, cpha=0, sclk=2MHz), частота контроллера = 48 МГц. Дифференциальный или нет режим, канал и диапазон вроде значения не имеют (меняются только три передаваемых значения).
Вот как делаю (куски на C с камментами):
| Инициализация:
| NSSMD0 = 0; // CS = low
| SpiWriteByte(adcAnalogInputConfigurationByte /*==0x81*/);
| NSSMD0 = 1; // CS = high
| NSSMD0 = 0; // CS = low
| SpiWriteByte(adcModeControlByte /*==0x88*/);
| NSSMD0 = 1; // CS = high

| Чтение данных:
| NSSMD0 = 0; // CS = low
| SpiWriteByte(adcConvertionStartByte /*==0x80*/);
| SpiWriteByte(0xFF /*dummy*/);
| bRetValue_H = SpiReadByte();
| bRetValue_L = SpiReadByte();
| NSSMD0 = 1; // CS = high

Может что не так пишется/читается? Не та инициализация? Или особенности какие есть? Дивайс вроде новый... Проверял на двух устройствах, результат один. Вряд ли оба дивайса битые...


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru