Типичный рабочий процесс передачи данных через интерфейс SPI включает в себя обнаружение адаптера, подключение, коммуникацию и очистку. Обнаружение может быть выполнено только на уровне адаптера. Для использования NI-845x необходимо установить адаптер Total Phase Aardvark или плату spi
адаптера интерфейс.
Передача данных по SPI с помощью Aardvark
В этом примере показано взаимодействие с микросхемой EEPROM на печатной плате с индексом платы 0 и использованием порта 0.
Убедитесь, что адаптер Aardvark установлен так, что вы можете использовать spi
интерфейс.
Проверьте свойства адаптера.
Убедитесь, что установлен драйвер программного обеспечения Aardvark и что aardvark.dll
находится на вашем MATLAB® путь. Для получения дополнительной информации смотрите Требования к использованию интерфейса SPI и Инструкции.
Создайте объект SPI под названием S
, используя следующие свойства:
% Vendor = aardvark % BoardIndex = 0 % Port = 0 S = spi('aardvark', 0, 0);
Вы должны предоставить эти три параметра, чтобы создать объект.
Проверьте свойства объекта.
Когда вы создаете spi
объект, используются настройки связи по умолчанию, как показано здесь. Для изменения любой из этих настроек см. раздел «Использование свойств объекта SPI» для получения дополнительной информации и списка свойств.
Подключитесь к чипу.
connect(S);
Читайте и записывайте в чип.
% 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);
Отсоедините SPI-устройство и очистите его, очистив объект.
disconnect(S); clear('S');
Передача данных по SPI с помощью NI-845x
В этом примере показано взаимодействие с микросхемой EEPROM на печатной плате с индексом платы 0 и использованием порта 0.
Убедитесь, что адаптер NI-845x установлен так, что вы можете использовать spi
интерфейс.
Проверьте свойства NI-845x адаптера.
Убедитесь, что установлен NI-845x драйвер программного обеспечения. Для получения дополнительной информации смотрите Требования к использованию интерфейса SPI и Инструкции.
Создайте объект SPI под названием s2
, используя следующие свойства:
% Vendor = ni845x % BoardIndex = 0 % Port = 0 s2 = spi('ni845x', 0, 0);
Вы должны предоставить эти три параметра, чтобы создать объект.
Проверьте свойства объекта.
Когда вы создаете spi
объект, используются настройки связи по умолчанию, как показано здесь. Для изменения любой из этих настроек см. раздел «Использование свойств объекта SPI» для получения дополнительной информации и списка свойств.
Подключитесь к чипу.
connect(s2);
Читайте и записывайте в чип.
% 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
Отсоедините SPI-устройство и очистите его, очистив объект.
disconnect(s2); clear('s2');
Функции SPI
Можно использовать эти функции с spi
объект.
Примечание
SPI является полнодуплексным протоколом связи, и данные должны быть записаны в порядок для чтения данных. Можно использовать read
функция для записи фиктивных данных в устройство. The write
функция очищает данные, возвращенные устройством. The writeAndRead
функция выполняет чтение и запись вместе.
Функция | Цель |
---|---|
instrhwinfo | Проверьте, установлен ли адаптер Aardvark и/или NI-845x.
Проверьте свойства адаптера.
|
spiinfo | Возвраты информацию об устройствах и отображениях информацию по каждому базису поставщика.
|
connect | Подключите объект SPI к устройству. Используйте следующий синтаксис:
|
read | Синхронно считывайте двоичные данные с устройства. Чтобы считать данные, сначала создайте переменную, такую как numData , для задания размера считываемых данных. В этом случае создайте переменную, чтобы считать 5 байт. Затем используйте read функция, как показано здесь, где spiObject - имя вашего объекта. Этот процесс также показан на этапе 6 предыдущего примера. Точность данных UINT8.
Или можно использовать этот синтаксис:
|
write | Синхронно запишите двоичные данные на устройство. Чтобы записать данные, сначала создайте переменную, такую как dataToWrite . В этом случае создайте данные [3 0 0 0] . Затем используйте write функция, как показано здесь, где spiObject - имя вашего объекта. Этот процесс также показан на этапе 6 предыдущего примера. Точность записанных данных UINT8.
|
writeAndRead | Синхронно выполняйте одновременное чтение и запись двоичных данных с устройством. В этом случае функция синхронно записывает данные, заданные переменной dataToWrite к устройству в двоичном формате, затем синхронно читается с устройства и возвращает данные в переменную data , как показано здесь, где spiObject - имя вашего объекта. Точность записанных и считанных данных UINT8.
|
disconnect | Отсоедините объект SPI от устройства. Используйте следующий синтаксис:
|
Примечание
Чтобы получить список опций, которые можно использовать для функции, нажмите клавишу Tab после ввода функции в командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой расширенной функции заполнения клавишей Tab, смотрите Использование заполнения клавишей Tab для функций.