Аппаратная связь XCP

Можно соединить клиент XCP с модулем сервера с помощью протокола CAN. Это позволяет вам использовать события и измерения доступа на модуле сервера.

Work flow diagram for connecting an XCP client and server

Создайте канал XCP Используя устройство CAN

В этом примере показано, как создать связь канала CAN XCP и свойства канала доступа. Пример также показывает, как разблокировать сервер с помощью ключевой безопасности seed.

Доступ к файлу 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]

Создайте использование канала XCP MathWorks виртуальный канал CAN 1.

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, который содержит seed и ключевой алгоритм безопасности, когда модуль заблокирован для операций Stimulation.

Создайте свой канал 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'