Можно соединить ведущее устройство 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: [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 и ключевой алгоритм безопасности, когда модуль заблокирован для операций 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'