Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Raspberry Pi
  3. Управление устройствами по I2C шине

Управление устройствами по I2C шине

Запланировано Прикреплена Закрыта Перенесена Raspberry Pi
13 Сообщения 1 Posters 169 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано
    #4

    Т.е. мне нужно разово произвести настройку (прописать значения) и чтоб потом малинка отправляла всю конфигурацию по i2c скопом без моего участия при запуске.
    А вот Mike, думаю, будет делать с использованием кнопок для автопоиска радиостанций или установки частоты.

    1 ответ Последний ответ
    0
    • piP Не в сети
      piP Не в сети
      pi
      написал в отредактировано
      #5

      Самое первое, с чего нужно начинать, это изучить документацию на то устройство, которым вы собрались управлять. Если этим устройством является некоторая микросхема, то набиваете в Гугле "datasheet название микросхемы" и изучаете найденый документ. В нём подробно будет расписано- какие команды и параметры вы должны передать этой микросхеме и какие данные и как вы можете считать из неё. Ну и уже после этого сможете выбрать способ реализации.

      1 ответ Последний ответ
      0
      • piP Не в сети
        piP Не в сети
        pi
        написал в отредактировано
        #6

        В принципе, эта микросхема уже работает в автономном проекте под управлением атмеги с выводом текстовой информации на жк-дисплей от телефона. Да и не думаю, что набор команд сильно влияет на выбор способа. Тут главное как это вообще будет правильно организовать в распе. Можно ли вообще организовать, что я хочу.

        1 ответ Последний ответ
        0
        • piP Не в сети
          piP Не в сети
          pi
          написал в отредактировано
          #7

          Ну если уже всё работает, то никаких проблем возникнуть недолжно. К RPi она подключается так-же, как и к МК. Устнавливаете частоту шины, устанавливаете адрес устройства, а дальше командой записи передаёте то что нужно в шину I2c.

          1 ответ Последний ответ
          0
          • piP Не в сети
            piP Не в сети
            pi
            написал в отредактировано
            #8

            А вот с этим пока проблема "дальше командой записи передаёте то что нужно в шину I2c". Буду конечно учится по слепому методу, пока отдельным командам, потом как все запихать в один скрипт. Вот и жду работу Mike в качестве образца. Надеюсь он пойдет дальше, чем просто послать в КС одну команду на запись в один регистр. А пока собираю устройство в железе, надо плату нарисовать, да запаять.

            1 ответ Последний ответ
            0
            • piP Не в сети
              piP Не в сети
              pi
              написал в отредактировано
              #9

              Теперь мое видение этого проекта.

              Самый простой вариант сделать bash-скрипт, которые запишет нужные данные в регистры чипа утилитой i2cset. Я имел дело с FM чипами Philips. Частота, на которую нужно настроится задаётся двухбайтным словом. Формула, как рассчитывается значение этого слова есть в Datasheet. Ещё один регистр отвечает за выбор частоты генератора такта. И есть ещё регистр, который отвечает за старт автопоиска станций, MONO/STEREО, уровень сигнала при котором Stereo будет автоматически переключён на Mono и т.д

              И будет ли возможность управлять gpio с автозапуска под учетной записью pi? Или нужно будет входить с правами администратора?

              В Linux'е любое устройство это файл. Соответственно для работы с i2c у пользователя должен быть доступ на чтение/запись в файл /dev/i2c-0
              Вообще есть мнение, что работать с gpio из userspace это плохо.
              Я так не считаю. Программа должна быть рабочей и по возможности простой. Всё остальное вторично

              1 ответ Последний ответ
              0
              • piP Не в сети
                piP Не в сети
                pi
                написал в отредактировано
                #10

                В принципе тоже на скрипте остановился, через i2cset. У меня не приемник, а передатчик, так что мне часто запись в регистры не нужна. Один раз рассчитал, прописал в скрипте, и больше туда не лезть. Тем более раз работа не отличается от МК.
                Осталось только собрать все железо в кучу и разобраться с обращениями к gpio. Я так понял, проблем с правами доступа к /dev/i2c-1 значит нет, просто устанавливаются как и для любого другого файла. Спасибо за за эту информацию.

                1 ответ Последний ответ
                0
                • piP Не в сети
                  piP Не в сети
                  pi
                  написал в отредактировано
                  #11

                  Собрал в железе, все заработало. Осталось красиво оформить.

                  1 ответ Последний ответ
                  0
                  • piP Не в сети
                    piP Не в сети
                    pi
                    написал в отредактировано
                    #12

                    Самый простой вариант сделать bash-скрипт
                    ну если делать программу с помошью которой можно будет управлять чипом - то баш не лучший вариант. я лично за руби.
                    Управление устройствами по I2C шине
                    а ктонибудь пробовал подключать к шине i2c несколько устройств (ну там мастер/слейв и тп)?
                    а ктонибудь пробовал работать одновременно с двумя шинами i2c-0 и i2c-1?

                    1 ответ Последний ответ
                    0
                    • piP Не в сети
                      piP Не в сети
                      pi
                      написал в отредактировано
                      #13

                      нашел вот это http://raspberrypi.ru/readtopic/415/ так что мои вопросы про подключение устройств бльше не актуальны.

                      1 ответ Последний ответ
                      0

                      • Войти

                      • Нет учётной записи? Зарегистрироваться

                      • Login or register to search.
                      • Первое сообщение
                        Последнее сообщение
                      0
                      • Категории
                      • Главная
                      • Документация
                      • Последние
                      • Пользователи