NXP Tech Blog

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

NXP Tech Blog

gaurav_sharma
NXP Employee
NXP Employee

Hello to you all! In this blog, we will focus on low power management in PCIe. PCIe Power management aims at reducing power consumption in PCIe devices by putting them to low power states when they are idle and bringing them back to full power state when required.

Why does it matter ?  Because PCIe devices in the market such as graphic cards, storage devices, Network Interface Cards can consume significant power when they are active. Power management allows them to scale down their power consumption during idle or periods of low activity.

 The scope of PCIe power management is comparatively huge and the readers are encouraged to go through the PCIe specification document in case they are looking for every possible detail.

We are going to touch upon some important concepts that are just enough to get started. So this blog will stick to the following agenda:-
 

  1. Introduction to PCIe power management
  2. What is PCIe LTSSM ?
  3. What are L1 sub-states and where do they fall inside the LTSSM?
  4. How does a PCIe device enters and exit the ASPM L1 Sub-states?
  5. How is ASPM exercised in linux kernel?
  6. Quick look at the PCIe analyzer traces

 

 

Introduction to PCIe power management

 

In the grand scheme of things, PCIe power management is exercised at 2 levels:-
 
    a.  Link

Link power management conserves power on the serial link within a PCIe fabric when there's no active data transfer. This can happen even when the device is fully powered on. ASPM[Active State Power Management] is responsible for managing the power consumption of this link. Link States such as L0,L0s[Standby], L1, L1ss[Sub-states], L2 and L3 fall under this category.

LTSSMLTSSM

 

    b. Device

Device power management aims at putting the entire device into low-power state when not in use. PCI-PM is responsible for managing the power states of the entire device. States such as D0,D1,D2.D3Hot and D3Cold fall under this category.

 2.png

 


This blog will focus on the first category i.e Link Power Management using ASPM. We will take up PCI-PM in another blog.

 

What is PCIe LTSSM?

 

LTSSM acronym for Link Training and Status State Machine, is a finite state machine within  the PCIe physical layer that ensures a link between two devices[Root Complex and Endpoint] is properly established and maintained.

It is responsible for managing the link initialization, link configuration, link recovery and power states among other things. Since it is a FSM, it operates through some defined states. It transitions between these states based on various conditions.

 

Some of the major states in the LTSSM:

  • Detect
      • The device checks for the presence of another PCIe device.
  • Polling
      • Devices exchange training sequences to align link parameters.
  • Configuration
      • Link width and speed are negotiated.
  • L0 (Active State)
      • Normal data transmission occurs.
  • L0s / L1 / L2 (Low Power States)
      • Power-saving modes when the link is idle or in standby.
  • Recovery
      • Used to recover from errors or renegotiate link parameters.
  • Disabled / Hot Reset / Loopback
    • Special states for testing, error handling, or reset.

 

3.png

The arrow in the above illustration denotes that one state can be transitioned to another under certain conditions. Please do not stress too much about every state in the diagram as this blog will only touch upon the ones that are needed to understand the L1 sub-states.
 

What are L1 sub-states and where do they fall inside the LTSSM?

 

To give you some context, L0 > L0s > L1 > L2 > L3 is the sequence of link states from the one that consumes most power[L0] to the one that consumes the least[L3]. It also means that the time to resume from low-power to active state increases in the reverse order. Meaning that the time taken by a PCIe device to go from L3 to L0 is greater than L1 to L0 transition.
In the previous section, we had mentioned the following link states:-

L0 - Active state in which data transmission happens.

L0s [Standby] - Link logically remains at L0 but physical signaling is reduced. No data transfer occurs in this state. Just minimal activity to keep the link going.
 

L1 - State providing greater power savings than L0s but with a cost of greater recovery latency. Also known as L1.0, It results in the deactivation of 'Link and Transaction' layer within each device.

To further reduce link power consumption, optionally L1 can have sub-states - L1.1 and L1.2. This also means that the recovery time latency increases from these low-power states to the active state.

L2 - In this state power can be aggressively conserved. Most of Transmitter and Receiver may be shut off. Main power and clock are not guaranteed but Auxiliary power is available. L2 support is dependent on the availability of Aux power on the board.
Note:- iMX95EVK does not support L2 state as it does not have an Auxiliary power.


L3 - When no power is present, the component is said to be in L3 state. This means that the link and device are completely inactive as there's no power.


Let's try to dig deeper into the L1 Sub-states of PCIe:-

Below is a state diagram that depicts the transitions into/out of L1 sub-states. It starts with L1.0 which is same as L1 explained previously.  This also shows that in order to Enter L1.1/L1.2, the link state should go to L1.0 first and then these states may be entered. The link does not transition directly from L1.1 to L1.2 without entering L1.0 first.


 4.png

 



           L1.1

  • In the L1.1 link state, the PLL,RX/TX circuits are OFF but Link common mode voltages are maintained to allow faster recovery from low-power state.
  • Power savings are moderate.
  • A bi-directional open-drain clock request signal i.e. CLKREQ# is used for entering and exit from this state.
  • The Upstream and Downstream ports are not required to be enabled to detect Electrical Idle.


    L1.2
     
  • In the L1.2 link state, the PLL,RX/TX circuits are OFF and Link common mode voltages are not required to be maintained.
  • Power savings are more than L1.1 but higher exit latency than L1.1
  • A bi-directional open-drain clock request signal i.e. CLKREQ# is used for entering and exit from this state.
  • The Upstream and Downstream ports are not required to be enabled to detect Electrical Idle.

 

From the above discussion on L1.1 and L1.2, it is important to understand the role of CLKREQ# signal in ASPM. In L1.2 for example, the reference clock is cut-off, so in order for the device to request the clock back, this signal is used. When the device wants to exit the L1.2 low power state, It asserts the CLKREQ# low.

Because CLKREQ# is a bi-directional open-drain signal, both host and device can potentially drive this signal.

 

 

5.png

 

 

How does a PCIe device enters and exit the ASPM L1 Sub-states?

 

The discussion in this section will assume that we have the below setup:-

Root-Complex                              End-point        
iMX95EVK           <-------->      AW693 Wi-Fi module

                               M.2 Key.E slot

BSP used -  6.6.52 Linux Factory
 
The PCIe device[if supported] should advertise that it supports ASPM L1.1 or L1.2 by setting ASPM L1.1 and ASPM L1.2 bits. This setting of bits must  be performed at the downstream port before it is done at the upstream port.

 

To determine if the PCIe device has ASPM enabled

The Link capability register specifies a device's support for ASPM. Moreover, software can enable and disable ASPM via 'Active State PM Control' field of the 'Link Control Register'. This is what Linux PCI drivers use to enable/disable ASPM.

On linux, you can execute "lspci -vvv" and check the output for your device. Example :-

 6.png



In the snippet above, we observe that ASPM is enabled for this device.



Transition to low-power states

L0 is the active link state where data transfer happens. After the link has been trained and established, it is said to be in L0.  The link enters and exits the L1 from/to L0 state.
The specification suggests that the condition for L0 to enter L1 is that both directions of the link have entered L0s and have been in this state for a preset amount of time. 

After reaching L1.0, the controller is capable of automatically moving to deeper power-saving L1 sub-states i.e L1.1 and L1.2 can be entered. This happens in response to the de-assertion of the CLKREQ# signal, which indicates that the reference clock should be shut off.

To initiate or indicate transitions in these power management states, the DLLP layer send/receive Power Management messages. As part of the protocol, these messages are exchanged between Root-Complex and End-point to ensure that both the link partners are prepared for the transition. At the end of the message exchanges, the PCIe controller moves to a state machine[L1.0 or L2/L3] in which clock can be cut off.

We can understand this using the following scenario: -

*** Consider a message exchange required to Enter L1 ASPM Sub-states from L0 ***

The downstream component sends PM_Active_State_Request_L1 DLLP repeatedly to the Upstream component. After receiving this, the upstream component can either accept the request by sending PM_Request_Ack DLLP or reject by sending PM_Active_State_Nak TLP

Upon getting PM_Request_Ack DLLP, the downstream port stops sending the request DLLP and disables the DLLP & TLP transmission, places its transmit lanes into Electrical Idle state.
 

When the upstream component receives an Electrical Idle ordered set on its Receive Lanes, it stops sending the PM Request Ack DLLP, disables DLLP & TLP transmission, placing its transmit lanes into Electrical Idle state.

 

At this point, the link is in L1 state.

Further, if the PCIe device supports L1 sub-states and it is advertising the same in its link capabilities register, it can de-assert CLKREQ# signal to indicate that it does not need clock. The system then turns off the clock. The link goes to L1 substates.
 

How is ASPM exercised in linux kernel?


To configure PCIe ASPM in linux kernel, ensure that the following CONFIGS are enabled in the defconfig:-

CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_POWER_SUPERSAVE=y


Build the kernel and then deploy it on the board. 

At linux console, execute the following :-

echo "powersupersave" > /sys/module/pcie_aspm/parameters/policy

Writing to the above file instructs the kernel to change the ASPM policy to the one with most aggressive power-saving. That's all you need to do in the software. The rest will be taken care by the kernel driver and the pcie controller hardware state machine. That means if both the link partner supports L1 ASPM and there are no pending transactions, the link will automatically go to L1 sub-states.


Please have a look at the L1 Substates Entry and Exit flows below to understand what happens inside the linux kernel after enabling ASPM :-
 

 

-- L0 to L1 Sub-states Entry

7.png

 

 

-- L1 Sub-states to L0 Exit

The Exit from L1ss to L0 can be initiated by either Upstream or Downstream port. We have shown below how downstream port initiates the exit: -

 

8.png

 

 

Quick look at the PCIe analyzer traces



In this section, we will have a quick look at the PCIe analyzer traces to give you a real sense of PCIe world. These traces were captured via Teledyne Lecroy PCIe Analyzer. It has proven to be extremely useful for the TLP and DLLP level system troubleshooting/debugging. These traces help us to verify if the link indeed goes to L1 sub-states.

 

-- LTSSM Flow depicting L0 state at packet 1204

9.png

 

 

-- LTSSM Flow depicting L1 state at packet 1231

 

10.png

 

 

-- L0 state depicting memory TLP transactions on the analyzer

 

11.png

 

 

-- L1 State depicted at packet 1231


12.png

 

 

-- PM Active state request sent from Downstream to upstream

13.png

 

-- CLKREQ Deasserted for L1.1/L1.2 at packet 2822

14.png

 

 

More
0 0 60
yuhe-r64908
NXP Employee
NXP Employee

このシリーズでは、低コストでコンパクトな開発ボード「FRDM i.MX 93 Development Board」を用いて、i.MX 93内のCortex-M33コア向けのSDKサンプルコードのビルドと実行方法を、ハンズオン形式で全3回にわたって解説します。

  • 【第1回】開発環境構築とMコアイメージのビルド
  • 【第2回】U-BootとremoteprocによるMコア実行(本記事)
  • 【第3回】ブートローダーによるMコアの自動起動
Read more...

More
1 0 87
yuhe-r64908
NXP Employee
NXP Employee

このシリーズでは、低コストでコンパクトな開発ボード「FRDM i.MX 93 Development Board」を用いて、i.MX 93内のCortex-M33コア向けのSDKサンプルコードのビルドと実行方法を、ハンズオン形式で全3回にわたって解説します。

  • 【第1回】開発環境構築とMコアイメージのビルド(本記事)
  • 【第2回】U-BootとremoteprocによるMコア実行
  • 【第3回】ブートローダーによるMコアの自動起動
Read more...

More
1 0 227
gaurav_sharma
NXP Employee
NXP Employee

Hey everyone! This blog will cover the following: -

 

  1. System Overview
  2. Use-case
  3. What are Outbound and Inbound windows in PCIe and how do they work?
  4. What is ATU and why is it important in PCIe?
  5. How to configure the PCIe windows in LS1028 and iMX8QXP
  6. Code walkthrough
  7. Running the test case



System Overview

1.png

As depicted in the illustration above, the system has 2 main blocks: -

a. iMX8QXP [configured as PCIe Root Complex]
b. LS1028 [ configured as PCIe Endpoint]


Software components: -

iMX8QXP - Linux Factory 6.6.36
LS1028ARDB - LSDK-18.09

Hardware components: -

iMX8QXP MEK Board
LS1028ARDB Board
M.2 Key E PCIe Bridge


The root complex and endpoint are connected via a PCIe bridge on M.2 Key E connector of both the boards.
Reference clock used for both PCIe RC and EP - 100 MHz 




PCIe Bridge with M.2 Key E interfacePCIe Bridge with M.2 Key E interface

M.2 Key E PCIe Bridge


Use-case

 

There was a customer requirement wherein a software program was needed at Uboot to benchmark the PCIe to DDR transfers, involving cacheable and non-cacheable DRAM memory regions. 
 

The benchmark software periodically realizes several DMA transfers from PCIe space to DDR in the following way: -

 

1) Start PCIe to DDR DMA transfer (no descriptor). Data are transferred from PCIe to a non-cacheable buffer (A).

2) Wait for the DMA transfer to finish.

3) Copy received data from non-cacheable buffer (A) to a cacheable buffer(B).

4)  Check if there's a data mismatch and reports accordingly.


Note: -
There are 2 types of DMA transfers - Descriptor and Non-descriptor.

In Descriptor based DMA, the CPU sets up a list or chain of 'descriptors' in memory. Each descriptor is a data structure containing info such as source, destination, transfer size etc.

In Non-descriptor DMA, the CPU directly configures the DMA controller's registers to define parameters for a single, specific DMA transfer.

This use-case employs non-descriptor DMA transfers.

RC and EP will exercise the above use-case at Uboot itself. iMX8QXP by default acts as a RC. However, to configure LS1028 PCIe2 as EP, we have to configure the RCW[HOST_AGT_PEX] = 1 and then boot LS1028 with the modified RCW flashed onto the board.


To implement this use-case: -

On the iMX8QXP we will be adding our own functionality to the 'pci' utility by modifying the cmd/pci.c in the Uboot source code. After applying this patch, we can execute the test case at Uboot console by just executing this command - "pci p"

On LS1028A, we will simply be writing to the PCIe controller registers using the 'mw' command to set up the EP for the use-case.
 

What are Outbound and Inbound transactions in PCIe?

To explain the concept of outbound and inbound transactions, there are 2 entities that we need to keep in mind w.r.t the transactions that flow in the PCIe fabric:-

Initiator - component that initiates the transaction by sending a request. Example- Memory Read request sends the request for data.

Completer -  component that receives the request and eventually sends a response. Example - After receiving Memory Read request sent by the initiator to it, it sends the completion TLP containing the requested data back to the initiator.

 

3_memrd_write.png

 

Transactions in PCIe can be categorized into 2 parts, depending on the direction of data flow relative to a device [Root complex or End-point]  :-

Inbound - Data is coming into the device from the PCIe bus. From the device's perspective, the device is the completer of this request which was initiated by some other device. Example - Root complex[initiator] sending memory write TLP to an End-point[completer]. In this case EP will have inbound transactions coming from RC.

Outbound - Data is going out from the device to the PCIe bus. From the device's perspective, the device is the initiator of this request which will be completed by some other device. Example - End-point[Initiator] sending memory read TLP to a Root-complex[completer]. In this case, EP will have outbound transactions going towards RC.
 

What is ATU and why is it important in PCIe?

 

PCIe TLP transactions use PCIe addresses. These addresses are different from local internal bus addresses [like AXI, AHB] which are used in on-chip communication between CPU, memory and peripherals. So, we need an entity that maps the addresses from PCIe to local internal bus. Here comes the ATU: -

ATU is an Address Translation Unit that is responsible for address mapping between the device's address space and host's address space. It enables devices to access the host system's memory or other resources. Have a look at the following scenarios where ATU is needed: -

1. A PCIe device (such as network card, storage controller) needs to access the host's memory via DMA. So, the addresses that are issued by the device need to be translated via ATU so that the host can recognize and process these addresses.

 

2. A PCIe device wants to access a memory-mapped IO address. To do this, ATU is needed for translating device's requested address into an address that the host understands.

 

So, whenever a PCIe device initiates an access request like DMA memory read/write, the ATU translates the address issued by the device into the address of the host system as illustrated below: -

ATU TranslationATU Translation

 

Now that we know what Inbound/Outbound transactions are and how does ATU work in PCIe, we will now discuss how to enable the devices [RC/EP] to carry out these transactions. To achieve this, we configure Inbound and Outbound windows in the PCIe controller of a device by setting up ATU translation.
 

 

How to configure PCIe Outbound and Inbound windows in iMX8QXP & LS1028 respectively?



5_ib_ob.png

For our use-case, we will be configuring 1 outbound window on iMX8QXP [Root Complex] and 1 Inbound window on LS1028A[Endpoint].
 
a. To set up an Outbound window on iMX8QXP, we configure the following registers:-

iATU Index register
- defines which region is being accessed and its direction[Inbound/Outbound].


iATU Region Control 1 Register - To configure Max ATU Region size and other TLP attributes.


iATU Lower Base Address Register

                   &
iATU Upper Base Address Register


- These registers configure the start address of a window before the translation

 

iATU Limit Address Register - To configure the End-address of the window before the translation


iATU Lower Target Address Register
                    &

iATU Upper Target Address Register

- These registers configure the start and end addresses after the translation.
 

iATU Region Control 2 Register - To enable the REGION_EN bit and select match mode.

 

 

Outbound WindowOutbound Window

 

b. To set up an Inbound window on LS1028A, we configure the same set of registers :-

iATU Index Register
iATU Region Control 1 Register

iATU Lower Base Address Register

iATU Upper Base Address Register

iATU Limit Address Register

iATU Lower Target Address Register

iATU Upper Target Address Register

iATU Region Control 2 Register
 

Additionally, we will be configuring

PCI Express Command Register - to enable Bus master bit
PEX PF0 CONFIG Register - to set the Config Ready bit. Used by EP to indicate the RC that the controller has done its initialization.


 

The reason why we need to configure 2 additional registers on the EP side is that LS1028[EP] will be at Uboot console the whole time we are exercising our use-case. If it was in Linux, the PCIe drivers would have taken care of this.
 

 

Inbound WindowInbound Window

Code-walkthrough


There's a patch attached with this blog so that the readers can go through it and use it if required.

Note:-  In no way this claims itself to be a production level code, so readers are encouraged to only take it as a reference.
 

The Uboot patch achieves the following:-

 

  1. Configure MMU to make the DRAM range 80020000-88000000 non-cacheable. We are using the DRAM range 0x92000000-FE000000 as cacheable memory for our test case.  
  2. Creates an outbound window on iMX8QXP[connected to LS1028 End-point via PCIe bridge]. To complement this, an Inbound window will be configured on the LS1028.
  3. In a loop:-
    1. zeroize the cacheable and non-cacheable 1MB memory region.
    2. flushing the data cache for the cacheable 1MB region.
    3. configure and trigger DMA read to transfer 1MB of data from End-point’s DDR to RC’s non-cacheable memory region.
    4. copy 1MB data from non-cacheable to cacheable memory.
    5. compares the cacheable 1MB memory with the expected data. If mismatch occurs, we error out and break out of loop. Otherwise the   looping continues.


 

Executing ‘pci p’ command at U-boot console starts the above sequence.

 

After applying the patch in Uboot source, build the Uboot binary, then build SPL. Flash the SPL to iMX8QXP.

 

Running the test case


a. Connect RC [iMX8QXP] and EP[LS1028ARDB] via M.2 Key.E bridge, boot RC and EP till Uboot.


b. At Uboot console of LS1028, execute the following commands to configure the inbound window: -


 

mw.l 0x3500900 0x80000001

mw.l 0x3500904 0x0

mw.l 0x350090c 0x0

mw.l 0x3500910 0x0

mw.l 0x3500914 0x07ffff

 

mw.l 0x3500918 0xA0000000

mw.l 0x350091c 0x0

mw.l 0x3500908 0xC0000000

mw.b 0x3500004 0x06

mw.l  0x35C0014 0x00001001


The above registers are part of PCIe ATU configuration that was mentioned in the section -

How to configure PCIe Outbound and Inbound windows in iMX8QXP & LS1028 respectively

Please feel free to cross-check the Reference manual of LS1028A to verify the register addresses and their significance.
 

 c. On RC, execute 'pci p' -- this will trigger the DMA transfer use-case. 

 

This blog merely scratched the surface of PCIe inbound and outbound transactions. However it aimed at giving a raw view of how memory transfer can be triggered using DMA. For any queries, feel free to DM or send your questions in the comments section.

 

 

 

 

 



More
0 0 351
Keita_Nagashima
NXP Employee
NXP Employee

2025年よりNXP Japanから日本語の技術記事をたくさんユーザーに届けようとの想いの下、これまでに多数の技術記事(Tech Blog)を公開してまいりました。これらの情報をより体系的にご活用いただけるよう、このたびコンテンツ・マップ(PDF)を公開いたしました。

実装例やトラブルシューティングのヒントを含む実践的な内容が充実しており、開発現場での課題解決や新規プロジェクトの立ち上げ時に役立つ情報として、多くの技術者の皆様に活用いただいております。

(読了:5分)

Read more...

More
1 0 848
araki
NXP Employee
NXP Employee

バッテリーマネジメントシステム (BMS)において3つの重要な指標について以下のように解説します。

管理すべき指標とBMSの重要性を理解いただけると幸いです。

(読了:10分)

Read more...

More
1 0 684
shaojun_wang
NXP Employee
NXP Employee

OV5640 MINISASTOCSI is widely used in i.MX8. This article shows how to enable it on i.MX95 15x15 EVK board. The Linux version is 6.12.20.

Read more...

More
0 0 466
KosukeSogawa
NXP Employee
NXP Employee

NXP車載向けマイコンの機能安全対応について、通常の(機能安全非対応)マイコンと何が違うのか説明します。

(読了:5分)

Read more...

More
2 0 787
araki
NXP Employee
NXP Employee

バッテリーマネジメントシステム (BMS)に関する内容を以下のようにまとめています。

BMSにこれから携わる方に読んでいただけると嬉しいです。

(読了:5分)

Read more...

More
1 0 1,014
akifumiokano
NXP Employee
NXP Employee

このブログでは,デジタル回路で使われる論理回路の種類(*TTL,*LVTTL,*CMOS)の電圧レベルの違いから,それを判断する上で重要なVOH/VOL/VIH/VILの意味について解説します.

さらに様々な変換の方法の中から,どのような電圧レベル・トランスレータを選べばよいかを解説します.

特に特別な扱いが必要となる,双方向オープンドレイン信号の変換について詳しく見てみます

Read more...

More
0 0 1,085
Keita_Nagashima
NXP Employee
NXP Employee

この記事では、MyNXPアカウントの登録方法を分かりやすく説明します。

またMyNXPアカウントのメリットについても簡単にご紹介します。

(読了:5分)

Read more...

More
1 0 952
Keita_Nagashima
NXP Employee
NXP Employee

NXP製品の使用方法が分からない場合や、ドキュメントを読んでも内容が理解できないときのために、NXPでは問い合わせ窓口を用意しています。
この記事では、実際にどのように問い合わせを行えばよいのか、手順を分かりやすくご紹介します。
*2025年6月より、日本語での問い合わせが可能になりました。

Read more...

More
1 0 1,192
Yutaka_Okui
NXP Employee
NXP Employee

ある、マイコン/プロセッサに適したNXP PMIC PFシリーズ を検索するときに、助けとなる情報をまとめています。

nxp.jpの「パワー・マネジメントIC (PMIC) とシステム・ベーシス・チップ (SBC)」ページで提供されている、プロセッサに適したPMICまたはSBCの検索ツール(製品セレクタ、およびクロス・リファレンス)とあわせて使用してください。

(読了:5分)

Read more...

More
1 0 1,051
Keita_Nagashima
NXP Employee
NXP Employee

プロセス・テクノロジーの微細化に伴い、28nm以降の世代では、従来からあるFlashメモリをマイコンへ搭載することが難しくなり、各社次世代マイコンに対してFlashメモリに代わる不揮発性メモリ(NVM)を検討しています。その中のひとつがMRAMです。

本記事では、MRAMの特徴を説明します。

(読了:5分)

Read more...

More
1 0 919
yutaka_ando
NXP Employee
NXP Employee

i.MXアプリケーション・プロセッサのLinux BSPに含まれるデモ・リポジトリ「GoPoint」を紹介します。
「GoPoint」には、物体/顔検出などのMachine Learning (ML)をはじめ、ビデオ再生カメラのISP調整3Dグラフィックス(OpenGL ES)などのマルチメディアのデモがあり、i.MXアプリケーション・プロセッサの各種機能を簡単に確認できますので、是非お試しください。

Read more...

More
1 0 1,034
Yutaka_Okui
NXP Employee
NXP Employee

最適な電源ICを選ぶときに、どのような手順で、候補となる電源ICを絞り込んでいくのが良いのかを、大きく、以下の3つのステップでまとめてみました。

・Step 1 - 候補となる電源ICの選定

・Step 2 - 実装面積の確認

・Step 3 - 熱設計の確認

*第3回では、Step 3を説明します。

(読了:5分)

Read more...

More
1 0 1,130
Yutaka_Okui
NXP Employee
NXP Employee

最適な電源ICを選ぶときに、どのような手順で、候補となる電源ICを絞り込んでいくのが良いのかを、大きく、以下の3つのステップでまとめてみました。

・Step 1 - 候補となる電源ICの選定

・Step 2 - 実装面積の確認

・Step 3 - 熱設計の確認

*第2回では、Step 2を説明します。

(読了:5分)

Read more...

More
1 0 900
Yutaka_Okui
NXP Employee
NXP Employee

最適な電源ICを選ぶときに、どのような手順で、候補となる電源ICを絞り込んでいくのが良いのかを、大きく、以下の3つのステップでまとめてみました。

・Step 1 - 候補となる電源ICの選定

・Step 2 - 実装面積の確認

・Step 3 - 熱設計の確認

*第1回では、Step 1を説明します。

(読了:5分)

Read more...

More
1 0 1,184
atsuyoshiyamagu
NXP Employee
NXP Employee

NXPの車載向け加速度センサの原理・特徴・用途をまとめたページです。

 

前回まではG-cell MEMSについて説明しました。

第四回はこのG-cell MEMSのコンデンサ容量をASICで信号処理する機構について取り上げたいと思います。

Read more...

More
1 0 1,247
atsuyoshiyamagu
NXP Employee
NXP Employee

NXPの車載向け加速度センサの原理・特徴・用途をまとめたページです。

 

前回はG-cell MEMSの概要について説明しました。

第三回は出力特性や特殊機能などについて取り上げます。

Read more...

More
1 0 1,408
atsuyoshiyamagu
NXP Employee
NXP Employee

NXPの車載向け加速度センサの原理・特徴・用途をまとめたページです。

 

第二回は加速度センサの心臓部である、加速度を検知する機構について取り上げます。

Read more...

More
1 0 1,133
satoshikamiya
NXP Employee
NXP Employee

セキュリティ要件適合評価及びラベリング制度(以後「JC-STAR」と表記します)は、独立行政法人情報処理推進機構(IPA)が運用する日本独自のIoT製品セキュリティ評価制度です。本稿では、JC-STARの概要と、NXPのセキュリティ製品について紹介します。

(読了:5分)

Read more...

More
1 0 1,600
yutaka_ando
NXP Employee
NXP Employee

i.MX 8M Plusの評価ボード (EVK) を用いて、マルチメディア機能(ビデオ再生、オーディオの録音/再生、カメラ動作、Wi-Fi接続、NPU動作など)の動作を確認する方法について説明します。

Read more...

More
1 0 1,419
YuseiUegama
NXP Employee
NXP Employee

組み込みデバイスの限られたリソースの中でLLMを使用するためには、RAGが必要となります。

本稿では、NXPの LLM + RAG ソリューション 「eIQ GenAI Flow」についてハンズオン形式で紹介します。

Read more...

More
2 0 2,301
atsuyoshiyamagu
NXP Employee
NXP Employee

NXPの車載向け加速度センサの原理・特徴・用途をまとめたページです。

(読了:5分)

Read more...

More
2 0 1,616
Keita_Nagashima
NXP Employee
NXP Employee

eIQ Time Series Studio(時系列モデル開発ツール)の概要から、プロジェクトの作成 → データセット → トレーニング → エミュレーション → デプロイメント → データロギングと、使い方の流れを記載しています。

本記事は、eIQ Time Series Studio v1.0.4を起動させた際に表示される"Documentation"メニューに記載されている資料を翻訳したものです。必ず最新の英語版をご確認いただき、本記事はあくまでも補足的な内容としてご利用ください。

Read more...

More
1 0 4,265
Keita_Nagashima
NXP Employee
NXP Employee

CANバス/プロトコルの概要から特長について説明します。

NXPは古くからCANに携わっており、マイコン、プロセッサ、トランシーバと様々なCAN製品を提供しています。

Read more...

More
1 0 2,717
yumb
NXP Employee
NXP Employee

2025年4月、当社のUniversity Programの一環として、徳島県の神山まるごと高専で jig.jp創業者・福野泰介氏が行う新入生向けの導入授業「ITブートキャンプ2025」に、ボランティア参加しました。本ブログではその体験を振り返りつつ、教育支援の現場でのMCX開発ボードの活用事例をご紹介します。

Read more...

More
1 0 3,833
yutaka_ando
NXP Employee
NXP Employee

i.MXアプリケーション・プロセッサの評価ボードで消費電力を測定する方法をまとめたページです。

  • i.MX 8M Plus Power EVKをベースにしています。
  • 電力モードを切り替える方法についても説明します。
  • 動作周波数の変更方法や、使用しないブロックのディセーブル方法についても説明します。
Read more...

More
2 0 1,931
akifumiokano
NXP Employee
NXP Employee

こどもパソコンIchigoJamは,LPC1114で動作する最初のバージョンが2014年に登場以来,教育の場だけに留まらず,様々な応用が広がっています.
2024年にはオープンソース化.さらに2025年にはNXPの最新マイコン:MCXシリーズのMCX-A153に対応.現在,GitHubで公開されているこのコードをMCX-A153を搭載した評価基板:FRDM-MCXA153で動作させてみるまでを解説します.

Read more...

More
0 0 2,094