NXP Tech Blog

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NXP Tech Blog

Takayoshi_Obara
NXP Employee
NXP Employee

NXPのパワーマネージメントIC(PMIC)をi.MXアプリケーション・プロセッサ(MPU)向けに使用するメリット使用するメリットを6つ説明します。

 

Read more...

More
2 0 160
akifumiokano
NXP Employee
NXP Employee

リアルタイムクロック(RTC)には数多くのチップがあるどころか,マイコンやプロセッサにもその機能が内蔵されています.
この記事では,「そもそもRTCとは何なのか?」から,「内蔵RTCを使わずに外付けRTCチップを使うメリットは何なのか?」さらに「それらをどのように選択すれば良いのか?」を解説します.

Read more...

More
1 0 348
akifumiokano
NXP Employee
NXP Employee

I3C温度センサ:P3T1755をMCXマイコンで動作させるサンプルコードが,NXPアプリケーション・コード・ハブで公開されています.この記事では,このサンプルコードを動作させるための手順を紹介.
必要となる機材はMCXマイコンの評価基板:FRDM-MCXN947,またはFRDM-MCXA153.これらの評価基板上にはP3T1755を搭載しているので,そのままの状態でI3Cの動作を試せます.同サンプルコードではP3T1755の単体評価基板:P3T1755DP-ARDを接続しての動作評価も可能.複数のP3T1755を接続しての動的アドレス割り当てやIBI(In-band interrupt:インバンド割込)機能も試せます.

Read more...

More
1 0 374
akifumiokano
NXP Employee
NXP Employee

チップ間シリアル・インターフェースとして使われるI²C.
もう当たり前すぎて,いまさら問題が発生することもないぐらい,多くのシステムで使われています.

しかしちょっとしたことでハマる時にはハマってしまう.

ここではやってしまいがちなI²Cでのトラブルや,簡単なデバッグ方法を紹介します.

Read more...

More
1 0 753
akifumiokano
NXP Employee
NXP Employee

マイコン/プロセッサと周辺デバイス間の通信に使われるSPIバス.

あまりに当たり前に使われるこのシリアルバスですが,あえていま,その成り立ちについてまとめてみます.

Read more...

More
2 0 583
akifumiokano
NXP Employee
NXP Employee

マイコン/プロセッサと周辺デバイス間の通信に使われるI²Cバス.

あまりに当たり前に使われるこのシリアルバスですが,あえていま,その成り立ちについてまとめてみます.

Read more...

More
1 0 623
akifumiokano
NXP Employee
NXP Employee

最近耳にするようになった『I3Cバス』.
これはI²CやSPIの後継となるべく,MIPIによって規定された新世代のシリアルバス仕様です.I3CはI²Cと同じ2線式のバスですが,I²Cに比べ通信速度が速く,低消費電力.さらにこれまでは追加で必要となった割り込み信号もこの2本線で扱えるよう少線化にも役立つような仕様となっています.
またI²Cと下位互換性を持ち,同一バス上にこれまでのI²CターゲットとI3Cターゲットを混在させて使うこともできます.
NXPではI3C対応のマイコン/プロセッサやセンサ,ターゲットとなるセンサ・デバイスや,ハブ/マルチプレクサ/信号レベル変換器などの様々な製品がラインナップされています.

Read more...

More
2 0 931
michalvidlak
NXP Employee
NXP Employee

In the realm of electric motor control, achieving high efficiency and precision is critical, especially in applications like electric vehicles, robotics, and industrial automation. Field-Oriented Control (FOC) of Permanent Magnet Synchronous Motors (PMSM) stands out as a sophisticated technique that allows independent and precise control of motor torque and magnetic flux. The introduction of virtualized objects, also known as digital twins, into motor control systems further revolutionizes this field. Digital twins replicate motor behavior and control algorithms in a virtual environment, providing advantages such as predictive maintenance, cost reduction, improved efficiency, and faster development cycles. This approach, demonstrated using NXP’s MCSPTR2AK396 3-Phase Motor Control Kit with S32K396, enables real-time monitoring and optimization of motor performance, offering a reliable and adaptable solution for modern motor control challenges. Overall, digital twins in motor control systems enhance efficiency, performance, and flexibility, significantly shaping the future of electric motor applications in various industries.

Read more...

More
4 0 784
michalvidlak
NXP Employee
NXP Employee

This article outlines the configuration of a 3-phase Permanent Magnet Synchronous Motor (PMSM) vector control drive equipped with three shunt current sensors and resolver position detection. The design is targeted for automotive motor control applications and serves as an example using the NXP family of automotive motor control MCUs based on an Arm® Cortex®-M7 technology specifically optimized for a broad spectrum of automotive applications.

Read more...

More
1 0 499
KeitaNaga
NXP Employee
NXP Employee

Yocto Linux BSPの利用方法 をまとめたページです。

- i.MX 8M PlusのEVKをベースにしています。

- Yocto Linux BSPは、6.1.55-2.2.0を使用しています。

Read more...

More
1 0 580
xinyu_chen
NXP Employee
NXP Employee

i.MX93 Smart Appliance PoC demonstrate and simulate a smart fridge by i.MX93, which supports low power, fast boot, lightweight GUI, AI vision for food refreshness check, MATTER connectivity and Voice control UI, etc.

Read more...

More
0 0 369
addiyi
NXP Employee
NXP Employee

DDR tool supports i.MX8M family, i.MX91 family, i.MX93 family, i.MX95 family and LX2160A\LX2162A. DDR tool is part of Config tools for i.MX offering configuration, inspection, optimization, vTSA, stressing and code generation. It can be downloaded from Config Tools for i.MX Applications Processors

DDR tool User Guide is part of  User Guide for Config tools for i.MX

Read more...

More
1 0 751
akifumiokano
NXP Employee
NXP Employee

双方向電圧レベル・シフタ評価ボード:『NTS0304EUK-ARDの動かし方』の動画を公開
https://youtu.be/gQcEmset_QE

Read more...

More
0 0 763
KeitaNaga
NXP Employee
NXP Employee

Linux BSPをビルドして生成したイメージをターゲットボードに書き込む方法を説明します。

uuuというユーティリティを使う方法と、ddコマンドの2種類の書き込み方法を紹介します。

Linux BSPのビルド方法については、以下をご参照ください。

[入門] Yocto Linux BSPのビルド方法 - i.MX 8M Plus編

Read more...

More
1 0 1,290
KeitaNaga
NXP Employee
NXP Employee

Yocto Linux BSPのビルド時におけるTIPS(ビルドの効率化、Dockerを使ってビルド等)を紹介します。

Read more...

More
0 0 2,247
KeitaNaga
NXP Employee
NXP Employee

i.MX 8M PlusのEVKをベースに、Yocto Linuxのビルド方法をご紹介します。

Yocto Linux BSPは、6.1.55-2.2.0を使用しています。

Read more...

More
0 0 2,910
KeitaNaga
NXP Employee
NXP Employee

NXPの「MCX N947」マイコンをベースに、ハンズオン形式で、画像認識サンプルコードの実装を紹介します。

Read more...

More
3 0 1,507
EsaHuang
NXP Employee
NXP Employee

1.To train dataset on yolov5, first clone repository and setup environment.

git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

 

2.Prepare data including images and labels.

Download dataset from here, classes incluing pedestrian, car, pothole, red light and green light. You can add your own dataset as you need.Split data into train, test, valid by 8:1:1 ratio.

To get optimized results, you can label videos which need to be shown with labelme tool.

 

3.Train model with train.py. The pretrained model yolov5s.pt can be downloaded here. Copy trained model under yolov5 directory.

python train.py --weights yolov5s.pt --data dcc.yaml --img 320
cp yolov5/runs/expX/train/weights/best.pt yolov5/dcc.pt

 

 

 

4.Export model as .pb format.

python export.py --weights dcc.pt --data dcc.yaml --include pb --img 320

 

 

 

5.Convert model from .pb to .tflite formats with eIQ toolkits to deploy on i.MX95 CPU. (NPU not supported yet)

Open eIQ model toolkits, load model and convert to tflite. Remind to enable quantization at the same time to shorten inference time, choose input and output data type as uint8. Keep numbers of sample as default.

 

Note: Models in attachment are for reference only.

Note: Test videos link can be found below. Organized test videos can be downloaded here.

https://www.youtube.com/watch?v=DcMf8IjO6Qo

https://www.youtube.com/watch?v=HUbKO1cACLE&pp=ygURZHJpdmluZyBpbiBzdXpob3U%3D

Potholes in a rural road - Free Stock Video (mixkit.co)

Driving Los Angeles 8K HDR Dolby Vision Rear View Long Beach to Downtown LA California, USA (yout...

reference link:

GitHub - ultralytics/yolov5: YOLOv5 in PyTorch > ONNX > CoreML > TFLite

More
1 0 739
addiyi
NXP Employee
NXP Employee

Introducing SerDes tool for i.MX95 family. SerDes tool is part of Config tools for i.MX offering configuration and validation functionalities. It can be downloaded from Config Tools for i.MX Applications Processors

SerDes tool User Guide is part of  User Guide for Config tools for i.MX

Read more...

More
0 0 823
addiyi
NXP Employee
NXP Employee

DDR tool supports i.MX8M family, i.MX93 family, i.MX95 family and LX2160A\LX2162A. DDR tool is part of Config tools for i.MX offering configuration, inspection, optimization, vTSA, stressing and code generation. It can be downloaded from Config Tools for i.MX Applications Processors

DDR tool User Guide is part of  User Guide for Config tools for i.MX

Read more...

More
0 0 1,053
SimonZossak
NXP Employee
NXP Employee

The Enhanced Time Processing Unit (eTPU) is a programmable I/O controller with its own core and memory system running independently of the CPU. The eTPU Software Plugins are safety qualified, production-ready software drivers that deliver motor control functionality on the eTPU.

Read more...

More
4 0 2,298
bradloane
NXP Employee
NXP Employee

NXP’s S32N55 device is the first in NXP’s new 5nm S32N family of vehicle super-integration processors for central compute applications. We will walk through the main modules and features shown in the S32N55 block diagram to explain them in more detail.

Read more...

More
2 0 434K
briancarlson
NXP Employee
NXP Employee

The S32N55 virtual prototype from Synopsys provides a comprehensive development platform for the S32N55 enabling software developers to debug and analyze their software efficiently, leading to faster turnaround and higher software quality. It includes the processing subsystem, the security subsystem, functional safety models, PCI Express communication interface, multi-port TSN Ethernet switch and CAN hub. 

Read more...

More
0 0 1,384
briancarlson
NXP Employee
NXP Employee

The S32N55 is the first member of the S32N family of vehicle super-integration processors.  It targets centralized, safe, real-time vehicle control in software-defined vehicles (SDVs).

 

Read more...

More
1 0 4,699
briancarlson
NXP Employee
NXP Employee

To support the transition to future vehicles where capabilities and features are defined with software code, rather than with hardware boxes, a new approach to design them is required. NXP's new S32N family targets the super-integration of vehicle functions for central compute applications in SDVs.

Read more...

More
0 0 1,592
addiyi
NXP Employee
NXP Employee

Memory validation supports i.MX RT devices and it is available on top of Peripherals tool for SEMC, FlexSPI and FCB components.

Read more...

More
0 0 1,422
joseOcampoHernandez
NXP Employee
NXP Employee

This article serves as an update to the MCU-Link Debug Probe Getting Started guide.

 

Read more...

More
0 0 1,409
Yongbing_Nan
NXP Employee
NXP Employee

Introduction

This is a brief introduction explaining the powertrain domain controller reference design integrated the BMS and VCU in one ECU based on S32K376 MCU. BMS system monitors battery voltage, temperature and fault status, among other parameters of the vehicle. VCU sample simulates pedal position, gear, sensors, among other functions of the vehicle. Software is developed based on Real-Time Drivers (RTD). The reference design is intended to provide a mechanism for easy customer evaluation of the Arm Cortex-M7@320MHz four cores MCU, and to facilitate BMS and VCU hardware and software development. OTA and bootloader function are also integrated into this reference design which make program upgrade feasible. Fig1 shows the s32k376 system block diagram.

Yongbing_Nan_0-1706686417238.png

Fig.1: S32K37x system block diagram

Solution overview

The Figure 2 shows the system block diagram. Analog front-end(AFE) MC33774 is used to monitor battery status. Gateway MC33665 is used to transfer SPI signal to transport protocol link(TPL3). SBC FS2633 supply power for S32K376 and external devices. High-side device(HSD), low-side device(LSD) and Multiple Switch Detection Interface(MSDI) are used for vehicle control unit(VCU) function. CAN, LIN, UART are used to communicate with other ECUs. Real-Time clock(RTC) is used to read real time for BMS state of charge(SoC) calculation.

Yongbing_Nan_0-1706783936004.png

Fig.2: system block diagram

The Figure 3 shows the whole hardware battery monitor unit(BMU) board and lists each type of device. The detailed connector interface can be found in the schematic.

Yongbing_Nan_0-1706689281233.png

Fig.3: hardware BMU board 

Hardware design

Please refer the doc AN747202-S32K39_37 MCUs Hardware Design Guidelines(0.2).pdf and S32K376 BMU and VCU Integration User Manual.pdf for the detailed hardware design.

MC33774: 18 Channel Li-Ion Battery Cell Controller IC ASIL D

MC33665: General Purpose BMS Communication TPL Transceiver and CAN FD Gateway

Software design

S32K376 BMS&VCU software is based on AUTOSAR drivers, including SW32K3 RTD, MC33774 BCC, MC33665 TPL PHY and SBC. It provides a series of AUTOSAR specific API to facilitate the BMS application designer to implemented the BMS application.

The Figure 4 shows the S32k376 BMS&VCU solution software block diagram. BMS function run on function core CM7_0, VCU function runs on lockstep core CM7_2, and monitor another two cores through IPCF. OTA and reserved OBC function run on the function core CM7_1. Bootloader and hardware OTA update application firmware. GUI display BMS and VCU information. All driver are based on AUTOSAR RTD.

Yongbing_Nan_0-1706767914149.png

Fig.4: BMS and VCU software block diagram

  • Startup process and project structure

BMS, VCU and OTA run on different cores. The core0 is startup core, it starts up first than core1 and core2. The core0 initial all of system and peripheral clock and setup GPIO status. Using the CM7-x-ENABLE field of IVT boot configuration word(BCW) to disable core1 and core2 for avoiding core1 and core2 to execute any uninitialized peripheral. The core1 and core2 start up after core0 writes the correct address to the MC_ME module and enables clock.

The three cores projects are completely independent. Each core has by itself a startup file, linker file and memory layout. After compiling, three core's elf file will be generated. One elf file with three cores project is feasible, but we don't implement it here.

  • Multi core communication

Inter-Platform Communication Framework (IPCF) is a subsystem which enables applications, running on multiple homogenous or heterogenous processing cores, located on the same chip or different chips, running on different operating systems (AUTOSAR, Linux, FreeRTOS, Zephyr, etc.), to communicate over various transport interfaces (Shared Memory etc.)

IPCF is designed for NXP embedded systems and features low-latency and tiny-footprint. It exposes a zero-copy API that can be directly used by customers for maximum performance, minimum overhead and low CPU load. The driver ensures freedom from interference between local and remote shared memory by executing all writing operations only in the local memory domain. CPU to CPU and directed interrupts are used to implement this function. BMS and VCU run in different cores, we use IPCF to send their framing data through CAN.

  • Basic workflow of project

Figure 5 shows the project program work flow and lists the schedule time of each task.

Yongbing_Nan_0-1706772758179.png

Fig.5 Project programming flow diagram

  • SAF function

The S32K396 Safety Software Framework (S32K396 SAF) is a software product which contains software components establishing the safety foundation for customer’s safety applications compliance with ISO 26262 functional safety. S32K396 SAF is a framework that implements the device safety concept system solution. Due to the SAF is not free for customer, for detailed information please refer S32K396_SAF_Safety_Manual.pdf and package S32K396_SAF_0.8.0. Figure 6 lists each component of SAF.

Yongbing_Nan_1-1706773286725.png

Fig.6 SAF component

  • BMS safety library function

This is the S32K3 BMS SL SDK DEMO AUTOSAR 4.4 Version 1.0.0 release for the S32K3 platform. The Bcc_775a_SL, Bcc_774a_SL, Bcc_772c_SL and Bms_TPL3_SL_E2E libraries included in this release have DEMO quality status in terms of testing and quality documentation. Demo libraries are not qualified and contain partial feature set. It is not intended to be used in production This Demo version of the Safety Library is delivered in binary format and it's intended for evaluation purposes only. Due to the BMS safety library(SL) is not free for customer, for detailed information please refer RTD_BCC_774A_SL_UM.pdf and package SW32K3_BMS_SL_SDK_4.4_1.0.0_DEMO.

S32k376 BMS&VCU solution enables external safety mechanisms1, 2 , 3, 5 to monitor battery status.  Customers cannot use it unless they purchase the BMS SL installation package. For detailed setup step, please refer to quick start guide document in NXP.com.

  • Project memory map

S32K376 has 6M flash space to store binary code that consist of three 2MB flash blocks. Bootloader is placed in the first flash block, and the three cores projects are divided into one flash block via link file and MPU. HSE is used for code switching in block 1 and block 2. A/B swap HSE firmware and secure boot assist flash(SBAF) is necessary to enable hardware OTA function.

Yongbing_Nan_0-1706773940160.png

Fig.7 s32k376 BMS and VCU project memory map

  • Hardware OTA

The project integrates OTA in Core1 and schedules it using FreeRTOS. The low level driver is based on Ethernet. For users of the S32K376 device with OTA enabled, the passive region can be read and written, and when an OTA update is performed, the new APP is always written to the passive region, but no program can execute in that region. The process of A/B swap is executed by hardware, no memory copy.

image.png

Fig.8: S32K376 hardware OTA update flow

  1. The OTA update agent-APP_V1 is first downloaded to the active block1(0x00600000) via the debugger and then starts running.
  2. When the OTA update is performed, the PC sends the new version of the OTA update agent-APP_V2, APP_V1 receives the binary file of APP_V2 and writes it to the block2(0x0800000) which is in passive.
  3. After partition swap and reset, the APP_V1 switchs to passive region, the new APP_V2 switchs to active region and runs.
  • Bootloader 

Bootloader is provided to update the application via CAN bus in case there are no tools to download the application directly. S32k396_Bootloader is a standalone project which will be flashed on the flash block0, shown in Figure 28. The IVT information appears on the low address, so the code always starts up from the block0. Application is downloaded on flash block1 by bootloader.

GUI

This GUI displays data transmitted from BMS and VCU system via CAN bus. Hands-on instructions are listed below. For a detailed introduction, please refer to S32K376 BMU and VCU Integration User Manual.pdf.

Yongbing_Nan_0-1706776849941.png

Fig.9: S32K376 BMS and VCU GUI

S32K376 BMS and VCU demo platform

The figure 10 shows the s32k376 BMS and VCU demo platform. To see the detailed set up guide, please refer S32K376 BMSVCU_QSG.pdf and Getting started page.

mmexport1687150733686-cut_allD_bms_only_modify.jpg

Fig.10: S32K376 BMS demo platform

More information can be found here:

S32K376 Battery Management System (BMS) and Vehicle Control Unit (VCU)

S32K39/37 Microcontrollers for Electrification Applications

More
2 0 5,708
jana_t
NXP Employee
NXP Employee

  • MicroPython firmware upload via LinkServer
  • REPL communication though PuTTY
  • VS Code for MicroPython code
Read more...

More
3 0 4,528
addiyi
NXP Employee
NXP Employee

DDR tool supports i.MX8M family, i.MX93 family and LX2160A\LX2162A. DDR tool is part of Config tools for i.MX offering configuration, inspection, optimization, vTSA, stressing and code generation. It can be downloaded from Config Tools for i.MX Applications Processors

DDR tool User Guide is part of  User Guide for Config tools for i.MX

Read more...

More
1 0 1,951