VECTOR VX1000 Base Modules Instruction Manual

VECTOR VX1000 Base Modules Instruction Manual

VECTOR-logo

VECTOR VX1000 Base Modules

VECTOR-VX1000-Base-Modules-product

Espesifikasyon

  • Pwodwi: VX1000 – Getting started with TI F29
  • Vèsyon: 1.0
  • Dat: 2026-05-15
  • Nòt aplikasyon: AN-IMC-1-508
  • Otè: Lu, Weiyun
  • Kalite dokiman: Dokiman Piblik

Plis paseview

This document provides a step-by-step instruction for the initial operation of the VX1000 measurement and calibration hardware in projects with a Texas Instrument F29 ECU. The document covers a measurement data acquisition using a copying process via SWD. The instructions guide you through the preparations of the hardware on both the VX1000 side and target device/ECU side, the software integration in the ECU application and the settings in the VX1000 configuration tool.

Remak This document requires basic knowledge of the VX1000 hardware components and the VX1000 configuration tools. This information can be obtained from the VX1000 manual, which you will find in the Downloads link via www.vector.com/vx1000-manual.

Glosè

Tèm Eksplikasyon
Sib ECU or evaluation board with an ARM based microcontroller
XCP on Ethernet ASAM (www.asam.net) standard for measurement and calibration
Chofè VX1000If component and VX1000 Application Driver
Aplikasyon Software on the target microcontroller
Travay Linear running program branch
SWD Serial Wire Debug Interface of M-based ARM microcontroller
DAQ Synchronous Data Acquisition
VX1000 OLDA VX1000 OnLine Data Acquisition measurement mode

Materyèl

This section describes which VX1000 components you need and how you connect them to your target with suitable plugs.

Required VX1000 Hardware Components
A measurement setup always needs one Base Module and one POD with an optional cable in between. Following different variants of these components are available:

  • Modil baz
    • VX1060 Serial Base Module or
    • VX1135A/E/F Base Module or
    • VX1161.31A Serial POD Interface card
  • Kab (opsyonèl)
    • VX134xB Serial Cable in desired length (for VX1543B or VX1544A)
    • VX1311 Serial2 Cable in desired length (for VX1543B or VX1544A)
  • POD (with cable pigtail)
    • VX1543B or VX1544A Serial POD for SWD or
    • VX162x xPOD for SWD

You will find a complete overview of all VX1000 components on our websit: www.vector.com/vx1000-poster.

Sib
The VX1543B Serial POD (called Serial POD later) for SWD is supplied with a flat ribbon cable of 100 mm length. For F29 targets, two adapters are provided:

  • VX1954.01 is an adapter for the TI 14-pin connector with 2.54 mm pins and row pitch.
  • VX1954.02 is an adapter for the Compact TI 20Pin (cTI) connector with 2.54 mm row pitch and 1.27 mm pin pitch

The pin assignment can be found on TI Website, JTAG Connectors and Pinout. Pin 6 of VX1954.01/02 is keyed (closed) to ensure correct plugin orientation, compatible with the TI specification. Additionally, VX1954.01/02 provides solder pads for WDGDIS and for the RST Pin.

Remak TI 14Pin does not provide a Reset Pin, which is mandatory for the VX1000 system. Please solder the ECU nReset signal to the RST solder pad on VX1954.01. TI 20Pin (cTI) does provide a Reset Pin on Pin 15, but sometimes it is not connected to the ECU Reset pin. If this is the case, please solder the ECU nReset signal to the RST solder pad on VX1954.02.

The Serial POD is capable of up to 80 MHz in combination with the flat ribbon cable. When you integrate the target connector into a new ECU design, please take care to route the SWD signals directly from the microcontroller to the connector, keeping the signal traces as short as possible and avoiding stubs. And please route nReset to Pin 15 of cTI connector and use the cTI connector together with VX1954.02 such that no soldering is needed.

Nòt: More detailed information on VX1000 cables and adapter options is described in the VX1000 manual.
Atansyon: Please also consult the “Hardware Integration Guide” of the VX1000 manual for recommendations regarding your hardware design.

VX1000 Settings
For the configuration of the VX1000 Base Modules and PODs, the software tool VXconfig is needed. You can obtain the latest version as part of the VXtools at www.vector.com/vxtools.

If you are not yet familiar with VXconfig, please read the introduction to the basic functions in the VX1000 manual, which is part of the VXtools setup. Select the POD node of your Base Module in VXconfig and configure the Microcontroller type as in the following screenshot. Afterwards, set the Interface parameters to SWD and set the Connector Voltage according to your target. Note: Currently, we only support 3.3V targets. If your ECU has another voltage, tanpri kontakte nou.

VECTOR-VX1000-Base-Modules-fig- (1)

In case VREF is connected to the POD, set ECU POD PIN Configuration | VREF available.

Atansyon: Incorrect settings of the electrical parameters of the POD Target interface can damage both the POD and your target! Further, on the sub-node SWD, you can select the SWD frequency. VECTOR-VX1000-Base-Modules-fig- (2)

Save the settings in the POD using Commands | Write Configuration | Select POD as VX Part. Alternatively, click the appropriate symbol in the toolbar: VECTOR-VX1000-Base-Modules-fig- (3)

Lis verifikasyon

  • Ensure that the POD is correctly configured before you connect it to your target.
  • Ensure that all hardware components are correctly connected.
  • Ensure that all VX1000 components and your target are switched on.
  • Verify that the PWR, SYS, POD, and ETH LEDs on the VX1000 Base Module are green. The ECU LED should alternately flash red and green.

Atansyon If the LEDs are not lit as expected, refer to the data sheet of the respective Base Module for troubleshooting hints. The latest VX1000 manual is available at www.vector.com/vx1000-manual.

VX1000 Application Driver and VX1000If

For the VX1000 Measurement and Calibration System, the VX1000 Application Driver must be integrated into the ECU application. This section familiarizes you with the driver and its components and guides you through the first steps of the integration into your target application. The VX1000 Application Driver is provided as an installer that you can get from VXsupport@vector.com. The VX1000 Application Driver contains highly configurable, platform- and derivative-specific code that has not been developed and tested for use in series software releases. The VX1000 Application Driver is always used in conjunction with the module VX1000, which encapsulates access from the application to the VX1000 Application Driver, as seen in Figure 4.

VECTOR-VX1000-Base-Modules-fig- (4)

VX1000 provides an API through which, during runtime, the VX1000 AppDriver can be activated for test and development purposes. Through this API, the VX1000 AppDriver can also be put into a deactivated state in which it can potentially remain in production software. Vector can only grant permission to use VX1000If and a thereover deactivated VX1000 AppDriver in production software, if VX1000If is delivered through a MICROSAR SIP. Activating the VX1000 AppDriver in production software is always prohibited! Every VX1000 Application Driver comes with the VX1000If component. All documentation, including this Application Note, describes explicitly the use of the VX1000 Application Driver through the VX1000If API.

Legal
Please note that the terms and conditions under which the VX1000 Application Driver and the VX1000If component are delivered as standard exclude the use in series software releases.
For deliveries of the VX1000If component via a Vector PES software integration package, on the other hand, special contract conditions apply, including for use in series software releases. You will receive details from VXsupport@vector.com.

VX1000 If
The VX1000If component consists of the following platform- and derivative-independent files:

  • VX1000If.h
  • VX1000If.c
  • TechnicalReference_VX1000If.pdf
  • MemMap.h_TEMPLATE_for_VX1000If
  • Std_Types.h_TEMPLATE_for_VX1000If

VX1000If is an AUTOSAR Complex Device Driver. If you use it outside of an AUTOSAR environment, you must rename the two dummy header files MemMap.h_TEMPLATE_for_VX1000If and Std_Types.h_TEMPLATE_for_VX1000If to add missing definitions.The files VX1000If.c and VX1000If.h must not be changed. The document TechnicalReference_VX1000If.pdf describes the individual functions of the VX1000If API in detail.

VX1000 Application Driver
The VX1000 Application Driver consists of the following files, which have different content for each platform or different targets:

Do not edit manually

  • VX1000.c
  • VX1000.h

Edit

  • VX1000_cfg.h_TEMPLATE_for_xxx

Please ensure that you use the correct driver variant for your derivative. You will find information on compatibility in the header of the individual source code files. The configuration file VX1000_cfg.h allows features and behavior of the VX1000 Application Driver to be configured extensively. The file contains all options in the form of defines that are mostly commented out by default. For configuration, simply activate the appropriate defines and if necessary, specify additional information. All defines are provided in the configuration file itself with extensive comments. In some cases, the comments also show alternative configuration options, which are not further addressed in this Application Note. The VX1000.c and VX1000.h files do not contain any configuration parameters and must not be changed.

Isolation of the VX1000 Application Drivers by VX1000If
For VX1000If to reliably encapsulate the VX1000 Application Driver in your application, you must ensure that your application only calls the VX1000If API and never directly calls the VX1000 Application Driver API. The macro VX1000If_IsVX1000DriverAccessEnabled controls whether the VX1000 Application Driver is isolated by the VX1000If. For this, you must define a Boolean expression suitable for your application. The expression is evaluated by VX1000If each time the VX1000 Application Driver API is about to be accessed. While VX1000If_IsVX1000DriverAccessEnabled returns FALSE, the driver is isolated.

Remak In series software releases, the application must ensure that VX1000If_IsVX1000DriverAccessEnabled always returns FALSE! In use cases that require measurement and calibration access via VX1000, VX1000If_IsVX1000DriverAccessEnabled must return TRUE.

It is best to define VX1000If_IsVX1000DriverAccessEnabled in VX1000_cfg.h. Please note that this definition is not yet present there in commented-out form. The following example shows how you isolate the VX1000 Application Driver in VX1000_cfg.h:

  • Example #define VX1000If_IsVX1000DriverAccessEnabled 0

Basic Integration of the Driver

  • To integrate the driver in your application, you must integrate all modules and headers of VX1000If and VX1000 Application Driver. For files with extension _TEMPLATE_for_xxx, you must remove this part if necessary.
  • To make subsequent updates easier, you should not rename the files and you should make changes exclusively in the driver configuration file VX1000_cfg.h. The following descriptions always relate to configuration options in VX1000_cfg.h.

Sekans inisyalizasyon

  • Ensure in your application that VX1000If_Init() is called once before one of the other API functions is used. If this is not guaranteed, unpredictable malfunctions may occur. VX1000If_Init() initializes exclusively VX1000If-internal supplementary information and does not access the VX1000 Application Driver.
  • All other VX1000If API functions check VX1000If_IsVX1000DriverAccessEnabled for TRUE and only then call the corresponding VX1000 Application Driver API function. This condition is always required in the following.
  • You initialize the VX1000 Application Driver using VX1000If_InitAsyncStart(). Beforehand VX1000If prohibits all accesses to other API functions of the driver to prevent a malfunction.
  • To complete the initialization, you must call VX1000If_InitAsyncEnd(). This can be done immediately after the call of VX1000If_InitAsyncStart().
  • The interaction of VX1000If_InitAsyncStart() and VX1000If_InitAsyncEnd() is needed for advanced features that require an extended handshake between the VX1000 and target. For the first steps, it is sufficient that the VX1000If_Init(),
  • VX1000If_InitAsyncStart() and VX1000If_InitAsyncEnd() functions are called in the indicated order in your application as early as possible.

Definition of a Target Clock
For the DAQ time stamp and internal timeout calculations, the VX1000 Application Driver requires a clock in the form of a cyclically incremented free-running 32-bit counter. For F29, one of the three CPU Timers is a good choice, like in the example below. Note that the CPU timers are counting down, thus you need to enable the VX1000_CLOCK_TIMER_COUNTS_DOWN macro as well.

Example

  • #define VX1000_CLOCK_TIMER_ADDR (0x30218000)
  • #define VX1000_CLOCK_TIMER_SIZE 32
  • #define VX1000_CLOCK_TIMER_COUNTS_DOWN

You must define the time resolution of the clock using VX1000_CLOCK_TICKS_PER_xx. For a clock running with a frequency of 200 MHz, for example, you would need to define the following:

Example

  • #define VX1000_CLOCK_TICKS_PER_MS 200000UL

VECTOR-VX1000-Base-Modules-fig- (5)

For getting started, you should select the VX clock for the DAQ time stamp in VXconfig for simplicity. Please be aware, though, that this will come at the price of a very high jitter of up to several tens of microseconds for the DAQ time stamp. Therefore, we recommend selecting “ECU synchronized” as the DAQ time stamp clock once the target is correctly configured.

Nòt: Better timestamp modes for your microcontroller are described in the Support Note Synchronization Options between VX1000 Interfaces in CANape. You can also contact VXsupport@vector.com for more information.

gVX1000 Structure
The VX1000 Application Driver includes the gVX1000 structure that is used for communication between the VX1000 hardware and the application. The address of the structure in the application must be made known to the VX1000. You will find the address in the linker map file of your generated application. VECTOR-VX1000-Base-Modules-fig- (6)

The above figure 5 shows how you set the address in VXconfig and use the Button Test Address to check the presence of the structure.

Remak In order to keep the gVX1000 structure at a static address for all builds of your application, it is recommended to link gVX1000 to a fixed address. You can enforce the location of gVX1000 in the target RAM by inserting compiler-specific section pragmas or use the AUTOSAR memory abstraction (MemMap.h).

Example section names:

  • VX1000IF_START_SEC_VAR_NOCACHE_NOINIT_32BIT &
  • VX1000IF_STOP_SEC_VAR_NOCACHE_NOINIT_32BIT

Lis verifikasyon

  • Ensure that you have integrated all files of VX1000IF and VX1000 Application Driver in your project.
  • Ensure that you have defined VX1000If_IsVX1000DriverAccessEnabled in VX1000_cfg.h.
  • Ensure that you have correctly implemented the sequence of VX1000If_Init(),
  • VX1000If_InitAsyncStart() and VX1000If_InitAsyncEnd(), and that you do not call any other VX1000If API functions beforehand.
  • Verify that your target application can be generated correctly.
  • Check whether gVX1000 is present in your map file (at the expected address).
  • Use a debugger to check whether VX1000_CLOCK()returns an incrementing counter.
  • When you have connected the VX1000 to your target, and both are switched on, the ECU LED must now be green.

Measurement Data Acquisition

This section guides you through the necessary steps so that you can acquire DAQ measurement data from your target using the VX1000. Measurement data is consistently acquired at a point in time defined by the application (Event) and transferred to the measurement tool. DAQ stands for “synchronous Data AcQuisition”.

VX1000 OLDA
VX1000 OLDA is a DAQ measurement method in which the CPU, using the VX1000 Application Driver, copies the measurement data from its actual memory location in the RAM to a measurement buffer using the VX1000 Application Driver. The VX1000 system then retrieves the data from this memory via TargetIf Daq (here SWD). The data to be acquired by the CPU for a particular event is written to the VX1000 Application Driver by the VX1000 in the form of transfer tables. The VX1000, in turn, receives the DAQ configuration from the measurement and calibration tool via XCP.

VX1000 Application Driver Configuration
The following settings all relate to VX1000_cfg.h.By default, OLDA is activated as #define VX1000_OLDA is active. Make sure that you provide enough memory for the driver for both the OLDA configuration and the OLDA measurement buffer. You define the size using #define VX1000_OLDA_MEMORY_SIZE.

Example #define VX1000_OLDA_MEMORY_SIZE 0x8000
Nòt: The overall required OLDA memory can be roughly estimated by calculating 5 bytes per measurement signal. In detail, it heavily depends on the signals to be measured and if their allocation in RAM is adjacent or scattered. In addition to the mentioned “normal” OLDA mode, other OLDA-based measurement modes can be used, like “IN-PLACE-OLDA” or “MULTIBUFFER-OLDA”. You can request details and demo sources via VXsupport@vector.com.

Triggering of DAQ Measurement Events
To synchronously acquire measurement data in your application, you must call VX1000If_Event() at the appropriate points in your program flow. This function expects the number of the XCP event channel as the parameter. Once event triggers are inserted in your application, you can define in your measurement tool which measurement data is to be acquired for this event. Typically, events are triggered at the end of tasks to acquire the calculated results of this task. For OLDA, the event numbers 0 to 30 are available.

Nòt: For consistent data acquisition, an event must be assigned for the reach measurement value in the measurement tool. This event must be triggered after the application function has written the measurement values.

Lis verifikasyon

  • Ensure that VX1000If_Event() is actually called.
  • Ensure that the event numbers are uniquely assigned.

Example Aplikasyon

The VX1000 Application Driver comes with the example aplikasyon example.c, which demonstrates the initialization of the driver and the triggering of events.

Kontak

For a full list of all Vector locations and addresses worldwide, please visit http://vector.com/contact/.

Dokiman / Resous

PDF thumbnailVX1000 Base Modules
Instruction Manual · AN-IMC-1-508, VX1000, VX1000 Base Modules, VX1000, Base Modules, Modules

Poze yon Kesyon

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Poze yon Kesyon

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.