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

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

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

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

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

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

  A2L with properties:

                 FileName: 'XCPSIM.a2l'
                 FilePath: 'C:\work\XCPSIM.a2l'
                SlaveName: 'CPP'
        ProtocolLayerInfo: [1x1 struct]
                  DAQInfo: [1x1 struct]
    TransportLayerCANInfo: [1x1 struct]
                   Events: {1x6 cell}
             Measurements: {1x38 cell}

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

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