Доброе время суток, уважаемые форумчане! У меня есть какой-то измерительный прибор с МК pic18f4520 и ацп AD7706. Я хотел его запрограммировать под свои нужды, но столкнулся с проблемой. Поначалу думал, что они подключены по spi интерфейсу, но когда стал прозванивать дорожки, понял, что ошибался. Распайка такая: МК - ацп SDI/SDA - SCLK VCC - REFIN- RA0/AN0 - CS RA1/AN1- RESET TOCKI/C1OUT - DRDY CCP1/P1A - DOUT, DIN (причём они закорочены) Не пойму, что это за распайка и как с ней работать. Помогите, пожалуйста, кто чем может.
Возможно на PIC реализован программный SPI. TOCKI - это RA4, CCP1 - это RC2, развели исходя из удобства трассировки ПП. Х.з для чего закоротили DOUT и DIN, может, чтобы DOUT в воздухе не оставлять ( на резисторе сэкономили :-D ). С интересом почитаю, какие будут еще мнения.
Это ШТАТНОЕ подключение. В даташите обозначен как 8051-интерфейс. Обычный двунаправленный двухпроводный SPI. PS. Резистор подтяжки там должен быть. Работать с этим АЦП без входа нельзя. Там конфигурирование входного мультиплексора и усиления PGA.
В смысле, если нужно прочитать регистр, просто подкидываешь clock и читаешь биты на той-же ноге МК, только настроенной на вход? Я как-то не встречался ранее с такой схемой включения, сам всегда эти линии разделял и не знал, что это распространенная практика.
Мне нужно вначале настроить ацп, отправить туда байты, а потом считывать. Нужно настроить ножку МК RC3/SCK/SCL на 1, потом на 0. Дальше програмируем эту ногу как выход, отправляем байт и опять в конце включаем выключаем её, настраиваем на вход и принимаем байт? Так?
SPI - самый простой протокол, реализуется на любом МК. Раз аппаратный SPI не используется, значит нужно организовать обычный "ногодрыг". Посмотрите datasheet на АЦП, там все, что нужно для управления нарисовано.
Работу ацп я так понимаю: 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.
Поправьте, пожалуйста кто может. И ещё вопрос: как считать с ацп?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения