Передача данных по интерфейсу SPI

Типичный рабочий процесс для передачи данных по интерфейсу SPI включает открытие адаптера, связь, коммуникацию и очистку. Открытие может быть сделано только на уровне адаптера. У вас должны быть Общий адаптер Муравьеда Фазы или плата адаптера NI-845x, установленная, чтобы использовать spi интерфейс.

Передайте данные по SPI Используя муравьеда

В этом примере показано, как связаться с чипом EEPROM на печатной плате с параметром плат 0 и порт использования 0.

  1. Убедитесь, что адаптер Муравьеда установлен так, чтобы можно было использовать spi интерфейс.

  2. Посмотрите на свойства адаптера.

    Убедитесь, что вам установили программный драйвер Муравьеда и что aardvark.dll находится на вашем пути MATLAB®. Для получения дополнительной информации смотрите Требования Использования Интерфейса SPI и Инструкции.

  3. Создайте объект SPI под названием S, использование этих свойств:

    % Vendor = aardvark
    % BoardIndex = 0
    % Port = 0
    
    S = spi('aardvark', 0, 0);

    Необходимо обеспечить эти три параметра, чтобы создать объект.

  4. Посмотрите на свойства объектов.

    Когда вы создаете spi объект, коммуникационные настройки по умолчанию используются, как показано здесь. Чтобы изменить любую из этих настроек, смотрите Using Properties на Объекте SPI для получения дополнительной информации и списке свойств.

  5. Свяжите с чипом.

    connect(S);
  6. Читайте и запишите в чип.

    % Create a variable containing the data to write
    dataToWrite = [3 0 0 0]; 
    
    % Write the binary data to the chip
    write(S, dataToWrite);
    
    % Create a variable that contains the number of values to read
    numData = 5; 
    
    % Read the binary data from the chip
    data = read(S, numData);
  7. Отключите устройство SPI и вымойтесь путем очистки объекта.

    disconnect(S); 
    clear('S');

Передайте данные по SPI Используя NI-845x

В этом примере показано, как связаться с чипом EEPROM на печатной плате с параметром плат 0 и порт использования 0.

  1. Убедитесь, что адаптер NI-845x установлен так, чтобы можно было использовать spi интерфейс.

  2. Посмотрите на свойства адаптера NI-845x.

    Убедитесь, что вам установили программный драйвер NI-845x. Для получения дополнительной информации смотрите Требования Использования Интерфейса SPI и Инструкции.

  3. Создайте объект SPI под названием s2, использование этих свойств:

    % Vendor = ni845x
    % BoardIndex = 0
    % Port = 0
    
    s2 = spi('ni845x', 0, 0);

    Необходимо обеспечить эти три параметра, чтобы создать объект.

  4. Посмотрите на свойства объектов.

    Когда вы создаете spi объект, коммуникационные настройки по умолчанию используются, как показано здесь. Чтобы изменить любую из этих настроек, смотрите Using Properties на Объекте SPI для получения дополнительной информации и списке свойств.

  5. Свяжите с чипом.

    connect(s2);
  6. Читайте и запишите в чип.

    % Create a variable containing the data to write
    dataToWrite = [3 0 0 0]; 
    
    % Write the binary data to the chip
    write(s2, dataToWrite);
    
    % Create a variable that contains the number of values to read
    numData = 5; 
    
    % Read the binary data from the chip
    data = read(s2, numData);
    
    ans = 
    
         0     0     0     0     0
  7. Отключите устройство SPI и вымойтесь путем очистки объекта.

    disconnect(s2); 
    clear('s2');

Функции SPI

Можно использовать эти функции с spi объект.

Примечание

SPI является полнодуплексным протоколом связи, и данные должны быть записаны для того, чтобы считать данные. Можно использовать read функционируйте, чтобы записать фиктивные данные в устройство. write функционируйте сбрасывает данные, возвращенные устройством. writeAndRead функция делает чтение и пишет вместе.

ФункцияЦель
instrhwinfoПроверяйте, что адаптер Муравьеда и/или NI-845x установлен.

instrhwinfo('spi')

Посмотрите на свойства адаптера.

instrhwinfo('spi', 'Aardvark')

instrhwinfo('spi', 'ni845x')

spiinfoВозвращает информацию об устройствах и отображает информацию о на основание поставщика.

info = spiinfo()

connectСоедините объект SPI с устройством. Используйте этот синтаксис:

connect(spiObject);

readСинхронно считайте двоичные данные из устройства. Чтобы считать данные, сначала создайте переменную, такую как numData, задавать размер данных, чтобы читать. В этом случае создайте переменную, чтобы считать 5 байтов. Затем используйте read функционируйте как показано здесь, где spiObject имя вашего объекта. Этот процесс также показывают на шаге 6 предыдущего примера. Точность данных является UINT8.

numData = 5;

read(spiObject, numData);

Или можно использовать этот синтаксис:

A = read(spiObject, size)

writeСинхронно запишите двоичные данные в устройство. Чтобы записать данные, сначала создайте переменную, такую как dataToWrite. В этом случае создайте данные [3 0 0 0]. Затем используйте write функционируйте как показано здесь, где spiObject имя вашего объекта. Этот процесс также показывают на шаге 6 предыдущего примера. Точность записанных данных является UINT8.

dataToWrite = [3 0 0 0];

write(spiObject, dataToWrite);

writeAndReadСинхронно сделайте одновременное чтение и запись двоичных данных с устройством. В этом случае функция синхронно пишет данные, заданные переменной dataToWrite к устройству в двоичном формате, затем синхронно чтения от устройства и возвращает данные в переменную data, как показано здесь, где spiObject имя вашего объекта. Точность записанных данных и читала, UINT8.

dataToWrite = [3 0 0 0];

data = writeAndRead(spiObject, dataToWrite)

disconnectОтключите объект SPI от устройства. Используйте этот синтаксис:

disconnect(spiObject);

Примечание

Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.