Мастер 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'