Поиск и устранение проблем с I2C интерфейсом

I2C, или Inter-Integrated Circuit, является интерфейсом «микросхема - микросхема», поддерживающим двухпроводную связь. Instrument Control Toolbox™ I2C support позволяет открывать соединения с отдельными чипами и читать и записывать соединения с отдельными чипами.

Интерфейс I2C Instrument Control Toolbox позволяет осуществлять обмен данными между чипами с помощью Aardvark или NI-845x хост-адаптера. Некоторые приложения этого интерфейса включают связь с микросхемами SPD EEPROM и NVRAM. связь с устройствами SMBus, управление акселерометрами, доступ к низкоскоростным ЦАП и АЦП, изменение настроек на цветных мониторах с помощью канала отображения данных, изменение громкости звука в интеллектуальных динамиках, мониторах оборудования чтения и диагностических датчиках, визуализация данных, отправляемых с датчика I2C, и включение или выключение степени подачи компонентов системы.

Поддерживаемые платформы

Для использования интерфейса NI-845x необходимо установить хост-адаптер Total Phase Aardvark или плату I2C адаптера.

Интерфейс I2C поддерживается на этих платформах при использовании с хост-адаптером Aardvark:

  • Linux® - Программное обеспечение работает с Red Hat Enterprise Linux 4 и 5 с ядром 2.6. Это также может быть успешно с SuSE и Ubuntu распределений.

  • Microsoft® Windows® 64-разрядная версия

Примечание

Для R2018b и R2018a нельзя использовать адаптер Aardvark для I2C или SPI интерфейсов на платформе macOS. Вы по-прежнему можете использовать его в Windows и Linux. Для релизов до R2018a можно использовать его на всех трех платформах, включая Mac.

Интерфейс I2C поддерживается на этих платформах при использовании с NI-845x адаптером хоста:

  • 64-разрядная версия Microsoft Windows

Для обновления списка поддерживаемых в настоящее время платформ для MATLAB®, см. https://www.mathworks.com/support/sysreq/current_release/.

Требования к адаптерам

Для использования интерфейса NI-845x необходимо установить хост-адаптер Total Phase Aardvark или плату I2C адаптера. В следующих разделах описываются требования для каждой опции.

Специфические для Aardvark требования

Чтобы использовать интерфейс I2C с адаптером Aardvark, загрузите пакет аппаратной поддержки, чтобы получить последний драйвер, если драйвер еще не установлен. Если у вас уже установлен последний драйвер, загрузка этого пакета поддержки не требуется.

Если драйвер Aardvark не установлен, см. раздел Установка пакета поддержки I2C/SPI интерфейса Total Фазу Aardvark.

Установите программный API Aardvark и общую библиотеку, соответствующие вашей операционной системе.

The aardvark.dll файл, поставляемый с платой адаптера Total Phase Aardvark, должен быть доступен в одном из следующих расположений для использования на платформах Windows:

  • Расположение, откуда был запущен MATLAB ( интервал)

  • Текущая папка MATLAB (PWD)

  • Папка Windows C:\winnt или C:\windows

  • Папки, перечисленные в переменной окружения пути

Для использования на платформах Linux, aardvark.so файл, поставляемый с платой адаптера Total Phase Aardvark, должен находиться в пути MATLAB.

NI-845x-specific требования

Чтобы использовать интерфейс I2C с NI-845x адаптером, загрузите пакет аппаратной поддержки, чтобы получить последний драйвер, если драйвер еще не установлен. Если у вас уже установлен последний драйвер, вы не должны загружать этот пакет поддержки.

Если драйвер NI-845x не установлен, см. раздел Установка пакета поддержки NI-845x I2C/SPI Interface.

Строение и подключение

  1. Убедитесь, что для устройства установлен правильный драйвер прибора. См. документацию устройства и веб-сайт поставщика.

  2. Убедитесь, что ваше устройство поддерживается в Instrument Control Toolbox. См. «Поддерживается ли мое оборудование?».

  3. Для использования NI-845x необходимо установить хост-адаптер Total Phase Aardvark или плату i2c адаптера интерфейс. Установите соответствующий пакет поддержки, если еще нет. См. раздел «Требования к адаптерам».

    Убедитесь, что ваша I2C плата адаптера подключена к компьютеру с MATLAB. Можно проверить, что один из адаптеров установлен, используя instrhwinfo функция со i2c имя интерфейса.

    Если вы не видите ни одного aardvark или ni845x необходимо установить один из пакетов поддержки или установить драйвер непосредственно от поставщика.

  4. Убедитесь, что Instrument Control Toolbox распознает ваше устройство, используя instrhwinfo функция со i2c имя интерфейса и имя адаптера aardvark или ni845x. Для примера:

    instrhwinfo('i2c', 'Aardvark')
    ans = 
    
              AdaptorDllName: [1x127 char]
           AdaptorDllVersion: 'Version 3.0.0'
                 AdaptorName: 'aardvark'
           InstalledBoardIds: 0
       ObjectConstructorName: 'i2c('aardvark', BoardIndex, RemoteAddress);'
               VendorDllName: 'aardvark.dll'
     VendorDriverDescription: 'Total Phase I2C Driver'
    

    Для создания i2c потребуется отображаемая информация объект. Если устройство не отображается, проверьте предыдущие шаги.

  5. Убедитесь, что вы можете создать i2c объект. Для создания объекта необходимо указать три аргумента. BoardIndex обычно 0, и Vendor является либо aardvark или ni845x. The RemoteAddress характерен для вашего устройства. Ознакомьтесь с документацией чипа в порядок, чтобы узнать, какой удаленный адрес. Например, в этом случае мы создаем объект для связи с чипом eeprom по удаленному адресу 50h:

    % Vendor = aardvark
    % BoardIndex = 0
    % RemoteAddress = 50
    
    eeprom = i2c('aardvark', 0, '50h');

    Совет

    Также можно увидеть удаленный адрес чипа, просканировав инструменты в инструмент Test & Measurement. В инструменте щелкните правой кнопкой мыши узел I2C и выберите Scan for I2C adaptors. Все чипы, найденные при скане, перечислены в дереве оборудования. Список включает удаленный адрес чипа.

  6. Если вы не получите ошибку, объект был создан успешно. Для проверки можно просмотреть свойства объекта, используя имя, которое вы присвоили объекту, eeprom в этом случае.

  7. Убедитесь, что вы можете подключиться к устройству, используя fopen функция с именем объекта.

    fopen(eeprom);

    Если вы не получите ошибку, подключение было успешно выполнено. Если вы получили ошибку, выполните шаги в сообщении об ошибке и/или проверьте предыдущие шаги, перечисленные здесь.

  8. Когда вы подключены, вы можете связаться с вашим устройством. Пример чтения и записи в чип см. в разделе Передача данных по I2C интерфейсу.