Main Content

XCP 硬件连接

您可以使用 CAN 协议将 XCP 客户端连接到服务器模块。这允许您使用事件和访问服务器模块上的测量变量。

Work flow diagram for connecting an XCP client and server

使用 CAN 设备创建 XCP 通道

以下示例说明如何创建 XCP CAN 通道连接和访问通道属性。该示例还说明如何使用种子和密钥安全性解锁服务器。

访问说明服务器模块的 A2L 文件。

 a2lfile = xcpA2L('C:\work\XCPServerSineWaveGenerator.a2l')
a2lfile = 

  A2L with properties:

   File Details
                 FileName: 'XCPServerSineWaveGenerator.a2l'
                 FilePath: 'C:\work\XCPServerSineWaveGenerator.a2l'
               ServerName: 'ModuleName'
                 Warnings: [0×0 string]

   Parameter Details
                   Events: {'100 ms'}
                EventInfo: [1×1 xcp.a2l.Event]
             Measurements: {1×6 cell}
          MeasurementInfo: [6×1 containers.Map]
          Characteristics: {'Gain'  'ydata'}
       CharacteristicInfo: [2×1 containers.Map]
                 AxisInfo: [1×1 containers.Map]
            RecordLayouts: [4×1 containers.Map]
             CompuMethods: [3×1 containers.Map]
                CompuTabs: [0×1 containers.Map]
               CompuVTabs: [0×1 containers.Map]

   XCP Protocol Details
        ProtocolLayerInfo: [1×1 xcp.a2l.ProtocolLayer]
                  DAQInfo: [1×1 xcp.a2l.DAQ]
    TransportLayerCANInfo: [0×0 xcp.a2l.XCPonCAN]
    TransportLayerUDPInfo: [0×0 xcp.a2l.XCPonIP]
    TransportLayerTCPInfo: [1×1 xcp.a2l.XCPonIP]

使用 MathWorks 虚拟 CAN 通道 1 创建一个 XCP 通道。

xcpch = xcpChannel(a2lfile,'CAN','MathWorks','Virtual 1',1)
xcpch = 

  Channel with properties:

              ServerName: 'ModuleName'
             A2LFileName: 'XCPServerSineWaveGenerator.a2l'
          TransportLayer: 'CAN'
    TransportLayerDevice: [1×1 struct]
              SeedKeyDLL: []

配置通道以解锁服务器

以下示例说明在您的模块被锁定而无法进行激励操作时,如何配置通道以使用包含种子和密钥安全算法的 dll 来解锁服务器。

创建 XCP 通道并设置通道 SeedKeyDLL 属性。

 xcpch.SeedKeyDLL = ('C:\work\SeedNKeyXcp.dll')
xcpch = 

  Channel with properties:

              ServerName: 'ModuleName'
             A2LFileName: 'XCPServerSineWaveGenerator.a2l'
          TransportLayer: 'CAN'
    TransportLayerDevice: [1×1 struct]
              SeedKeyDLL: 'C:\work\SeedNKeyXcp.dll'