XCP- Оборудования соединение

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

Work flow diagram for connecting an XCP master and slave

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

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

Доступ к файлу A2L, который описывает ведомый модуль.

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

  A2L with properties:

                 FileName: 'XCPSIM.a2l'
                 FilePath: 'C:\work\XCPSIM.a2l'
                SlaveName: 'CPP'
        ProtocolLayerInfo: [1×1 xcp.ProtocolLayerInfo]
                  DAQInfo: [1×1 xcp.DAQInfo]
    TransportLayerCANInfo: [1×1 xcp.TransportLayerCANInfo]
    TransportLayerUDPInfo: [1×1 xcp.TransportLayerUDPInfo]
    TransportLayerTCPInfo: []
                   Events: {'Key T'  '10 ms'  '100ms'  '1ms'  'FilterBypassDaq'  'FilterBypassSt'}
             Measurements: {1×45 cell}
          Characteristics: {1×16 cell}
                EventInfo: [1×6 xcp.Event]
          MeasurementInfo: [45×1 containers.Map]
       CharacteristicInfo: [16×1 containers.Map]
                 AxisInfo: [1×1 containers.Map]
            RecordLayouts: [41×1 containers.Map]
             CompuMethods: [16×1 containers.Map]
                CompuTabs: [0×1 containers.Map]
               CompuVTabs: [2×1 containers.Map]

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

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

  Channel with properties:

               SlaveName: 'CPP'
             A2LFileName: 'XCPSIM.a2l'
          TransportLayer: 'CAN'
    TransportLayerDevice: [1x1 struct]
              SeedKeyDLL: []

Сконфигурируйте канал для разблокировки ведомого сервера

В этом примере показано, как сконфигурировать канал для разблокировки ведомого устройства с помощью dll, которая содержит seed и алгоритм безопасности ключа, когда ваш модуль заблокирован для операций стимуляции.

Создайте свой канал XCP и установите канал SeedKeyDLL свойство.

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

  Channel with properties:

               SlaveName: 'CPP'
             A2LFileName: 'XCPSIM.a2l'
          TransportLayer: 'CAN'
    TransportLayerDevice: [1x1 struct]
              SeedKeyDLL: 'C:\work\SeedNKeyXcp.dll'