主要内容

I2C接口故障处理

I2C,或Inter-Integrated Circuit,是一种支持两线通信的芯片对芯片接口。金宝app仪表控制工具箱™I2C支持允许您打开与单个芯片的连接,并通过对单金宝app个芯片的连接进行读写。

仪表控制工具箱I2C接口允许您使用Aardvark或NI-845x主机适配器进行芯片到芯片的通信。该接口的一些应用包括与SPD EEPROM和NVRAM芯片通信,与SMBus设备通信,控制加速度计,访问低速dac和adc,使用显示数据通道更改彩色监视器上的设置,更改智能扬声器中的音量,读取硬件监视器和诊断传感器,可视化来自I2C传感器的数据,以及打开或关闭系统组件的电源。

金宝app支持的平台上

您需要安装一个Total Phase Aardvark主机适配器或NI-845x适配器板才能使用I2C接口。

当与Aardvark主机适配器一起使用时,金宝app在这些平台上支持I2C接口:

  • Linux®—适用于redhat Enterprise Linux 4和5(内核2.6)。它也可能在SuSE和Ubuntu发行版上成功。

  • 微软®窗户®64位

请注意

对于R2018b和R2018a,不能将Aardvark适配器用于I2C或SPI接口macOS平台。你仍然可以在Windows和Linux上使用它。对于R2018a之前的版本,您可以在所有三个平台上使用它,包括Mac。

当与NI-845x主机适配器一起使用时,在金宝app这些平台上支持I2C接口:

  • 微软Windows 64位

有关MATLAB当前支持的平台列表的更新金宝app®,请参阅系统需求

适配器的要求

您需要安装一个Total Phase Aardvark主机适配器或NI-845x适配器板才能使用I2C接口。下面几节描述了每个选项的需求。

Aardvark-specific需求

Aardvark适配器的I2C接口如果没有安装驱动程序,请下载硬件支持包获取最新的驱动程序。金宝app如果您已经安装了最新的驱动程序,则不需要下载此支持包。金宝app

如果您没有安装Aardvark驱动程序,请参见安装Total Phase Aardvark I2C/SPI接口支持包金宝app安装它。

安装适合您的操作系统的Aardvark软件API和共享库。

aardvark.dll与Total Phase Aardvark适配器板一起提供的文件必须在以下位置之一可用,以便在Windows平台上使用:

  • MATLAB开始的位置(bin文件夹)

  • MATLAB当前文件夹(PWD)

  • Windows文件夹C: \ winntC: \ windows

  • 在path环境变量中列出的文件夹

在Linux平台上使用aardvark.so全相位食蚁兽适配器板附带的文件必须在您的MATLAB路径中。

ni - 845 x -特定的需求

I2C接口配合NI-845x适配器使用时,如果没有安装驱动程序,请下载硬件支持包获取最新的驱动程序。金宝app如果您已经安装了最新的驱动程序,则不需要下载此支持包。金宝app

如果您没有安装NI-845x驱动程序,请参见安装NI-845x I2C/SPI接口支持包金宝app安装它。

配置与连接

  1. 请确保为您的设备安装了正确的仪器驱动程序。参考您的设备文档和供应商的网站。

  2. 确保仪器控制工具箱支持您的设备。金宝app看到支持我的硬件吗?金宝app

  3. 您必须安装一个Total Phase Aardvark主机适配器或NI-845x适配器板才能使用i2c接口。如果还没有安装,请安装适当的支持包。金宝app看到适配器的要求

    确保您的I2C适配器板已插入运行MATLAB的计算机。方法可以验证是否安装了其中一个适配器instrhwinfo函数与i2c接口名称。

    如果你没有看到土豚ni845x列出,您需要安装其中一个支持包或直接从供应商安装驱动程序。金宝app

  4. 工具,确保仪器控制工具箱能识别您的设备instrhwinfo函数与i2c接口名称和适配器名称土豚ni845x.例如:

    instrhwinfo (“i2c”“豚”
    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,供应商要么是土豚ni845x.的RemoteAddress特定于您的设备。阅读芯片的文档,以了解远程地址是什么。例如,在本例中,我们创建一个对象与远程地址的eeprom芯片通信50 h

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

    提示

    您还可以通过在测试和测量工具中扫描仪器来查看芯片的远程地址。在工具中,右键单击I2C节点并选择扫描I2C适配器.扫描发现的任何芯片都列在硬件树中。该清单包括芯片的远程地址。

  6. 如果没有得到错误,则对象已成功创建。为了验证,你可以查看对象属性,使用你分配给对象的名称,eepm在这种情况下。

  7. 方法,确保可以连接到该设备打开外部文件函数使用对象名。

    fopen (eepm);

    如果没有得到错误,则表示连接成功。如果确实出现错误,请按照错误消息中的步骤和/或检查这里列出的前面步骤。

  8. 当你已经连接,你可以与你的设备通信。看到通过I2C接口传输数据这是一个读取和写入芯片的例子。