Страница 1 из 1

Attiny24 и MCP-3201

СообщениеДобавлено: 10 май 2018, 09:38
Андрей
Здравствуйте товарищи, помогите разобраться с внешним АЦП MCP-3201 по шине SPI. АЦП данные выдаёт, но у меня не получается забрать данные с SPI Переменные Adc_1 и Adc_2 всё время содержат значения 0xFF.

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 10 май 2018, 10:59
Андрей
Если поставить software mode то работает.

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 10 май 2018, 12:51
Андрей
Да спасибо работает, но этот режим медленнее и займёт ресурсы в программе, мне потом в дальнейшем программу дописывать придётся. Поэтому я и отказался от внутреннего АЦП (штатные макросы АЦП задерживают цикл на 500-800 мкс.), хотелось бы разобраться почему аппаратный SPI не работает.

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 10 май 2018, 13:16
Андрей
проверить с другим МК, если аппаратный будет работать значит дело в самом МК, изучать даташит.

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 10 май 2018, 15:16
Андрей
Спасибо за подсказку, перенёс на контроллер который будет в будущем проекте заработало. Пусть файл ниже будет в качестве наглядного пособия работы с MCP-3201. Вопрос почему не заработало на Tiny24 остаётся открытым, если у кого появятся мысли пишите не стесняйтесь.

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 10 май 2018, 18:44
Андрей
Извините перезалил файл, убрал одну не критическую операцию в вычислениях. Но к ошибке она не приводила.

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 08 июн 2018, 16:33
Виктор
Добрый день Yushik (Андрей).
Спасибо что опубликовали проект ADC MCP-3201_final.rar. Могли бы Вы поподробней написать настройку макроса SPI под FC v.5 (avr) в режиме чтения информации из slave устройства. Как откорректировать макрос SPI?

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 08 июн 2018, 17:52
Андрей
А что там непонятного в даташите на MCP-3201 написано что частота шины SPI может варьироваться от 100 кгц. при 2.7 v. до 1.6 мгц при 5 v. (большая частота выборки может ухудшить точность АЦП). Соответственно зная тактовую частоту МК в моём примере 8 мгц. делим её на 1.6 мгц. получаем 5 это значение делителя FOSC для SPI. Т. к. такого делителя там нет (в наличии только 4, 16, 64), 4 это много, получиться 2 мгц. соответственно ставим 16. Остальные настройки остаются по умолчанию, ниже я приложил новый файл там коментов побольше.

Re: Attiny24 и MCP-3201

СообщениеДобавлено: 09 июн 2018, 09:15
Виктор
Спасибо ещё раз. В общем проблема была в программе FC 5.3 (в макросе SPI), после установки программы FC 5.5.2.1 протокол SPI заработал корректно. Ссылку на данную программу разместил в файловом архиве. Ещё раз спасибо за подробные и исчерпывающие комментарии в программе ADC MCP-3201_final.rar.