Подключение pt6311b по spi

Тема в разделе "Arduino & Shields", создана пользователем Funny59, 8 фев 2020.

Метки:
  1. Funny59

    Funny59 Нерд

    Внешнюю синхронизацию подключить не смогу. 250кг частота spi
     
  2. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Даташит говорит надо подтягивающий резистор 1-10ком на DOUT. То есть это цепь MISO.
    Не понятно зачем вы после каждой команды CS (STB) гоняете вверх-вниз. Опустили, передали всю партию и тогда подняли. И после того как строб опустили, надо бы delay ставить, чтоб микра "подготовилась" к загрузке.
     
    Последнее редактирование: 9 фев 2020
  3. Funny59

    Funny59 Нерд

    Подтянуто. Вот так выглядит в железе
     

    Вложения:

    • VP1EJfcLYmk.jpg
      VP1EJfcLYmk.jpg
      Размер файла:
      168,4 КБ
      Просмотров:
      327
  4. Funny59

    Funny59 Нерд

    Смотрю по диаграммам на странице 13
     
  5. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Ааа. Точно. Тогда - номинал резистора ? Я по цветам понимаю, но фиг видно. Вроде как не то. Прибором мерили ? И коротыша между дорог нет ?
     
    Последнее редактирование: 9 фев 2020
  6. Funny59

    Funny59 Нерд

    КЗ нет, резистор 3к3
     
  7. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Из справочника по SPI
    Код (C++):
    void digitalPotWrite(int address, int value) {
      // take the SS pin low to select the chip:
      digitalWrite(slaveSelectPin, LOW);
      delay(100);
      //  send in the address and value via SPI:
      SPI.transfer(address);
      SPI.transfer(value);
      delay(100);
      // take the SS pin high to de-select the chip:
      digitalWrite(slaveSelectPin, HIGH);
    }
     
  8. Funny59

    Funny59 Нерд

    Так и делаю, только без delay
     
  9. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Почитал даташит. Эта фиговина тактируется от резистивного генератора. Рекомендуется 56ком задающий резистор (сколько там у вас ?). При таком номинале производитель гарантирует разброс частоты 350-650кгц. Берем за нижнюю частоту Fosc 350кгц. По даташиту (стр. 12) один период SPI - минимум 2 периода тактовой частоты Fosc, те. 175кгц. Может в этом гвоздь ?!
     
    Последнее редактирование: 9 фев 2020
  10. Funny59

    Funny59 Нерд

    Стоит 56к. То есть понизить частоту spi?
     
  11. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Мне Протеус показывает - при SPI_CLOCK_DIV32 (Ардуина 16Мгц) период "1" или "0" - 1мкс. В Ардуине 8мгц - ессно будет 2мкс. А по даташиту - он в предельноим случае должен быть больше (1000000 / 175000гц) мкс. Но, это не опыт, а логическое рассуждалово. Так что решайте сами.
    ПС. SPI_CLOCK_DIV128 - дерзайте >)))
     
    Последнее редактирование: 9 фев 2020
  12. Funny59

    Funny59 Нерд

    Всё заработало! Ошибку нашёл
    Всем спасибо
     
  13. parovoZZ

    parovoZZ Гуру

    Где была ошибка?
     
  14. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Расскажите в чем был затык. На чужом опыте - учатся. А то больше помогать не будем !
     
    Последнее редактирование: 10 фев 2020
  15. Funny59

    Funny59 Нерд

    Очень стыдно за такой косяк, но надо лучше проверять к какому пину подключен CS
     
    Daniil нравится это.
  16. parovoZZ

    parovoZZ Гуру

    На SPI mode 2 взлетело или 3?
     
  17. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Я думал на какой плате есть 14й пин (?!). На Уне - нет. Не стал спрашивать. Использовал 8-й.
    Ну и какой максимум скорости тянет ?
     
  18. Funny59

    Funny59 Нерд

    SPI_MODE3
    Со скоростью сложнее, попробовал делитель 2 поставить - работает! Но оставил на 32
    Вот что получилось
     
    Daniil и parovoZZ нравится это.