Поклонники продукции Microchip Technology Inc тусуются тут.
Пт мар 10, 2023 09:22:22
Доброе время суток, уважаемые форумчане! У меня есть какой-то измерительный прибор с МК pic18f4520 и ацп AD7706. Я хотел его запрограммировать под свои нужды, но столкнулся с проблемой. Поначалу думал, что они подключены по spi интерфейсу, но когда стал прозванивать дорожки, понял, что ошибался. Распайка такая:
МК - ацп
SDI/SDA - SCLK
VCC - REFIN-
RA0/AN0 - CS
RA1/AN1- RESET
TOCKI/C1OUT - DRDY
CCP1/P1A - DOUT, DIN (причём они закорочены)
Не пойму, что это за распайка и как с ней работать. Помогите, пожалуйста, кто чем может.
Пт мар 10, 2023 09:38:53
Возможно на PIC реализован программный SPI. TOCKI - это RA4, CCP1 - это RC2, развели исходя из удобства трассировки ПП. Х.з для чего закоротили DOUT и DIN, может, чтобы DOUT в воздухе не оставлять ( на резисторе сэкономили :-D ). С интересом почитаю, какие будут еще мнения.
Пт мар 10, 2023 10:16:02
Х.з для чего закоротили DOUT и DIN, может, чтобы
Это ШТАТНОЕ подключение. В даташите обозначен как 8051-интерфейс. Обычный двунаправленный двухпроводный SPI.
PS. Резистор подтяжки там должен быть. Работать с этим АЦП без входа нельзя. Там конфигурирование входного мультиплексора и усиления PGA.
Пт мар 10, 2023 11:37:31
В смысле, если нужно прочитать регистр, просто подкидываешь clock и читаешь биты на той-же ноге МК, только настроенной на вход? Я как-то не встречался ранее с такой схемой включения, сам всегда эти линии разделял и не знал, что это распространенная практика.
Пт мар 10, 2023 11:50:32
не знал, что это распространенная практика.
Распространенная. Например, цифровые потенциометры Микрочипа в корпусах SOIC8 (
MCP41x1) тоже совмещают вход и выход.
Пт мар 10, 2023 12:16:18
Спасибо. Век живи, век учись.
Последний раз редактировалось
phalanx Пт мар 10, 2023 15:10:28, всего редактировалось 1 раз.
Пт мар 10, 2023 13:28:07
Мне нужно вначале настроить ацп, отправить туда байты, а потом считывать. Нужно настроить ножку МК RC3/SCK/SCL на 1, потом на 0. Дальше програмируем эту ногу как выход, отправляем байт и опять в конце включаем выключаем её, настраиваем на вход и принимаем байт? Так?
Пт мар 10, 2023 15:16:46
SPI - самый простой протокол, реализуется на любом МК. Раз аппаратный SPI не используется, значит нужно организовать обычный "ногодрыг". Посмотрите datasheet на АЦП, там все, что нужно для управления нарисовано.
Вт мар 14, 2023 13:28:03
Работу ацп я так понимаю:
1. Нужно вначале поднять и опустить ss
2. Записываем байт в communications register
3. Пункт 1
4. Записываем байт в communications register с последующей записью в setup register.
5. Пункт 1
6. Записываем байт в communications register с последующей записью в clock register
7. Пункт 1
8. Записываем байт в communications register с последующей записью в data register.
И так оставшиеся три регистра.
Т. к. dout и din закорочены и spi программный запись в регистры делаю так:
1. Записываю во временный регистр сколько бит передать
2. Обнуляю mosi
3. Сдвигаю влево байт
4. Проверяю бит С: если он = 1, то устанавливаем 1 на mosi, если = 0, то sck на 1.
5. Отнимает из временного регистра 1 с проверкой на 0.
6. Если вр. регистр = 0, то переходим на пункт 2.
Поправьте, пожалуйста кто может. И ещё вопрос: как считать с ацп?
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.