Подключение pic18f4520 к ацп AD7706.

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Hailmary
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Ср янв 18, 2023 13:01:27

Подключение pic18f4520 к ацп AD7706.

Сообщение Hailmary »

Доброе время суток, уважаемые форумчане! У меня есть какой-то измерительный прибор с МК pic18f4520 и ацп AD7706. Я хотел его запрограммировать под свои нужды, но столкнулся с проблемой. Поначалу думал, что они подключены по spi интерфейсу, но когда стал прозванивать дорожки, понял, что ошибался. Распайка такая:
МК - ацп
SDI/SDA - SCLK
VCC - REFIN-
RA0/AN0 - CS
RA1/AN1- RESET
TOCKI/C1OUT - DRDY
CCP1/P1A - DOUT, DIN (причём они закорочены)
Не пойму, что это за распайка и как с ней работать. Помогите, пожалуйста, кто чем может.
Реклама
phalanx
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Сб апр 24, 2021 18:42:11

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение phalanx »

Возможно на PIC реализован программный SPI. TOCKI - это RA4, CCP1 - это RC2, развели исходя из удобства трассировки ПП. Х.з для чего закоротили DOUT и DIN, может, чтобы DOUT в воздухе не оставлять ( на резисторе сэкономили :-D ). С интересом почитаю, какие будут еще мнения. :-)
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25259
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение КРАМ »

[uquote="phalanx",url="/forum/viewtopic.php?p=4383666#p4383666"]Х.з для чего закоротили DOUT и DIN, может, чтобы[/uquote]
Это ШТАТНОЕ подключение. В даташите обозначен как 8051-интерфейс. Обычный двунаправленный двухпроводный SPI.
PS. Резистор подтяжки там должен быть. Работать с этим АЦП без входа нельзя. Там конфигурирование входного мультиплексора и усиления PGA.
phalanx
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Сб апр 24, 2021 18:42:11

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение phalanx »

В смысле, если нужно прочитать регистр, просто подкидываешь clock и читаешь биты на той-же ноге МК, только настроенной на вход? Я как-то не встречался ранее с такой схемой включения, сам всегда эти линии разделял и не знал, что это распространенная практика.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25259
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение КРАМ »

[uquote="phalanx",url="/forum/viewtopic.php?p=4383705#p4383705"]не знал, что это распространенная практика.[/uquote]
Распространенная. Например, цифровые потенциометры Микрочипа в корпусах SOIC8 (MCP41x1) тоже совмещают вход и выход.
Реклама
phalanx
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Сб апр 24, 2021 18:42:11

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение phalanx »

Спасибо. Век живи, век учись. :-)
Последний раз редактировалось phalanx Пт мар 10, 2023 15:10:28, всего редактировалось 1 раз.
Реклама
Hailmary
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Ср янв 18, 2023 13:01:27

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение Hailmary »

Мне нужно вначале настроить ацп, отправить туда байты, а потом считывать. Нужно настроить ножку МК RC3/SCK/SCL на 1, потом на 0. Дальше програмируем эту ногу как выход, отправляем байт и опять в конце включаем выключаем её, настраиваем на вход и принимаем байт? Так?
phalanx
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Сб апр 24, 2021 18:42:11

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение phalanx »

SPI - самый простой протокол, реализуется на любом МК. Раз аппаратный SPI не используется, значит нужно организовать обычный "ногодрыг". Посмотрите datasheet на АЦП, там все, что нужно для управления нарисовано.
Hailmary
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Ср янв 18, 2023 13:01:27

Re: Подключение pic18f4520 к ацп AD7706.

Сообщение Hailmary »

Работу ацп я так понимаю:
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.

Поправьте, пожалуйста кто может. И ещё вопрос: как считать с ацп?
Ответить

Вернуться в «PIC»