Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
Why are NXP's power management ICs (PMIC/SBC) ideal for automotive microcontrollers (S32 series)? (Japanese blog) The S32 microcontroller is a series of microcontrollers (MCUs) from NXP designed for automotive applications. An automotive power management IC (PMIC) or system basis chip (SBC) suitable for the S32 microcontroller must have a wide range of functions beyond simply supplying power supply voltage, including supporting functional safety, power sequence control, and low-power operation. Here, we will explain four benefits of using NXP's power management IC (PMIC/SBC) using the example of connecting to an NXP S32 microcontroller. Benefit 1: Support for functional safety design Automotive MCUs and PMIC/SBCs must transition to a safe state when a system failure occurs. For this purpose, we support functional safety design as a system. ISO 26262 compliant ISO 26262 is an international standard for ensuring functional safety in automotive electronic control systems. This standard defines processes to reduce risks to drivers and passengers in the event of a system failure. Automotive electronic controls that require functional safety compliance are required to comply with ISO 26262. ASIL (Automotive Safety Integrity Level) This is a risk classification system defined in ISO 26262, and is an index for evaluating the safety of systems and components. It is classified into four levels, from ASIL-A to ASIL-D, with ASIL-D being the highest risk level. The higher the risk level, the greater the demands on functional safety. ・Reference article: Why are microcontrollers considered functional safety compliant? (Japanese blog) Safety goals required for PMIC/SBC To achieve safety goals, the PMIC/SBC must have the following functions: - Monitoring of power supply voltages related to safety functions (such as the MCU core power supply) [Voltage Supervisor function in the diagram] - Monitoring the MCU operating status using a watchdog timer [Window Watchdog function in the diagram] - Monitoring signals that indicate abnormal MCU operation [MCU Hardware Failure Monitor function in the diagram] - Control signals (such as reset signals) to transition the system to a safe state [Safety Outputs function in the diagram] NXP's PMIC/SBC supports safety designs with the above features.   NXP Safety PMIC FS86NXP Safety PMIC FS86 Advantage 2: Provides optimal power supply voltage and power supply startup sequence control S32 microcontrollers have multiple power supply inputs (VCORE, VDDIO, VREF, etc.), and each needs to be supplied with the required voltage at the required timing. NXP's PMIC/SBC is equipped with OTP (One Time Programming) memory, which not only allows the on-board DCDC and LDO to supply the optimal output voltage and current to the S32 microcontroller's power input, but also allows you to set the power startup sequence (power-on order and timing) required for the S32 microcontroller. This feature reduces the time and effort required for power supply design, shortening development time and helping to bring products to market quickly. S32K3マイコン向けPMIC/SBC FS26 電源起動シーケンスPMIC/SBC FS26 power supply startup sequence for S32K3 microcontrollers Advantage 3: Low power consumption mode for efficient use of power NXP's PMIC/SBC is equipped with a low-power consumption mode that is linked to the operating mode of the S32 microcontroller. The PMIC/SBC can be transitioned from normal mode to low power consumption mode ( standby or low power mode ) by a control signal (via I²C/SPI ) from the S32 microcontroller, and the PMIC/SBC can be returned from low power consumption mode to normal mode by a wakeup signal. By utilizing the PMIC/SBC's low-power modes, device standby current can be minimized, extending vehicle battery life. PMIC/SBC 低消費電力モード遷移図PMIC/SBC low power consumption mode transition diagram Benefit 4: NXP 's support for interoperability between microcontrollers and PMIC/SBCs NXP's PMIC/SBC is included in the S32 microcontroller reference design and supports interoperability between the microcontroller and the PMIC/SBC . Additionally, various documents are available to help you design a system that will work optimally. Furthermore, with technical support from NXP and our distributors, we work with you to reduce development risks, including power supply design, software, and overall system support, allowing you to proceed with product development with peace of mind and contributing to early resolution of any problems that may arise. S32K31XEVB-Q100 ボード リファレンスデザインS32K31XEVB-Q100 Board Reference Design summary As such, using NXP's PMIC/SBC together with an automotive microcontroller (S32 series ) offers many benefits. In particular, interoperability with NXP's S32 microcontrollers has been verified, enabling high-quality product development in a short period of time while minimizing the risks in power supply design. Reference materials Safety System Basis Chip for Domain Controllers, ASIL B and D Compliant FS86 Low-power safety system basis chip for ASIL D systems FS26 FS23 Safety System Basis Chip (SBC) Family with Power Management, CAN, and LIN [Product Brief]FS26, Safety System Basis Chip with Low Power for ASIL D /ASIL B [FS26_PB] S32K31XEVB-Q100 General-purpose automotive evaluation board ========================= We are currently unable to respond to comments in the "Comment" section of this post. We apologize for the inconvenience, but when making inquiries, please refer to `` Technical Questions to NXP - How to Contact Us( Japanese Blog) ''. (If you are already an NXP distributor or have a relationship with NXP, you may ask the person in charge directly.) We will explain four benefits of using NXP's power management ICs (PMIC/SBC) with automotive microcontrollers (S32 series). General Purpose Microcontrollers introduction PMIC S32N Processors S32Z|E Processors Japanese blog
查看全文
IchigoJamをNXPの最新マイコン(MCX A)で試してみよう! (日本語ブログ) IchigoJamって? IchigoJamはマイコンで動作するBASIC言語の動作環境.2014年のデビュー以来,子供向け学習用教材としてだけでなく,多くの応用例が稼働しています. 最初のバージョンはNXP製のDIP28パッケージのマイコン:LPC1114で動作しました.コンポジット信号出力とPS2キーボード入力を持ち,テレビとキーボードに繋げればそのまま動く画期的な環境となりました. 2024年4月にはIchigoJam10周年を記念してオープンソース化.さらに1年経過した2025年4月にはNXPの最新マイコン・シリーズ:MCXのMCX-A153に対応.このマイコンを搭載した評価基板:FRDM-MCXA153でIchigoJamが動作します (ただしベータ版なので,LPC1114版などと比べて制限がある - 2025年5月1日現在). MCX版IchigoJamを試してみるにはNXPの開発環境MCUXpressoと,IchigoJamのソースコードが必要です.このセットアップ方法と動作の確認までの手順を解説します. MCUXpressoは「MCUXpresso IDE (以下IDE)」と「MCUXpresso VisualStudio Code (以下VSC)」の2種類があり,IDEとVSCのどちらでも試してみることができます. ここではIDEを使った場合で説明しましょう. ここからは以下の各ステップでIchigoJamが動作するまでを解説します. パソコンとFRDM-MCXA153の接続 MCUXpresso IDEとFRDM-MCXA153用SDKのインストール IchigoJamコードのインポート シリアルターミナルのインストールと設定 動作確認 このあとは   この記事は主にmacOSを用いた例となっていますが,Windowsでもほぼ同じ操作での作業となります.大きく異なるシリアル・ターミナルの操作部分はmacOSとWindowsのそれぞれ別の解説としました. 0. パソコンとFRDM-MCXA153の接続 まずFRDM-MCXA153基板とコンピュータをUSBケーブルで接続しておきます.FRDM-MCXA153では「MCU-Link」の表示のあるUSBコネクタを使います(写真参照). 1. MCUXpresso IDEとFRDM-MCXA153用SDKのインストール MCUXpresso IDEとFRDM-MCXA153用SDKのインストールは,ブログの別記事としてまとめてあります.インストール解説のブログでは,FRDM-MCXA153を使う場合を例としてあるため,記事の内容をそのまま実行するだけで完了します. IDEとSDKのインストール解説はこちら↓↓ https://community.nxp.com/t5/NXP-Tech-Blog/MCUXpresso-IDE%E3%81%A8SDK%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB-%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%96%E3%83%AD%E3%82%B0/ba-p/2087702 2. IchigoJamコードのインポート 2.1 IchigoJamコードのダウンロード IchigoJamのコードは次のリンクのサイトで公開されています. https://github.com/IchigoJam/ichigojam-firm このコードをビルド(マイコンが実行できるコードに翻訳)して,マイコンに書き込むとIchigoJamをMCXマイコンで動作させることができます.このビルドや書き込みを行ってくれるのが,MCUXpresso IDE.SDKはそれに必要な情報を提供してくれるものです. リンクをクリックし,下のようなページが表示されたら,ページ内の「<> Code」ボタンをクリックして,ポップアップ・メニューを表示.一番下の「Download ZIP」を選択. ダウンロードが完了すると「ichigojam-firm-main.zip」という名のZIPファイル,または「ichigojam-firm-main」という名のフォルダが得られます. 2.2 MCUXpresso IDEの起動 次にMCUXpresso IDEを起動します.もしすでに先に他のサンプルコードを動作させてみたという場合は,新しくワークスペースを作りましょう. 初めて基板上でのコード動作を試してみる場合,ワークスペース作成の必要はありません.この場合は次節(2.2.2)から作業を行います. 2.2.1 ワークスペースの切り替え ワークスペースはフォルダごとに割り当てた作業スペースです.新規フォルダを作成して,いくつかの作業場所を切り替えて使うことができます. たとえば「MCUXpresso IDEとSDKのインポート」の記事にあったサンプル・コードを試してみたのなら,新たにワークスペースを作成してそちらで作業するのが良いでしょう. ワークスペースの作成や切り替えは,MCUXpresso IDEの「File」メニューから「Switch Workspace」→「Other...」を選択します.下図の例ではすでにいくつかのワークスペースを作成済であったため,それらが見えています. 上記メニューを選択するとダイアログボックスが開き,どのフォルダを使うのかを聞いてきます. フォルダの指定に,存在しないフォルダ名を入れると新規のフォルダが作られます. ワークスペースを切り替えると,MCUXpresso IDEには再起動がかかります. 2.2.2 MCUXpresso IDEの起動〜IchigoJamのインポート MCUXpresso IDEが起動したら,ウェルカム・タブを閉じます. MCUXpresso IDEはデフォルト表示状態になります. ではダウンロードしてきたコードをインポートしましょう.左下ペイン内,「Quickstart panel」内の「Import project(s) from file system...」をクリック. インポートするコードを指定するダイアログボックスが開きます. 入力フィールドが2つ表示されていますが,これらのどちらかに入力を行います.ダウンロードしてきたコードがZIPされたままの状態の場合は上側の入力フィールドを.ZIPが解凍されてフォルダになっている場合は下側のものを使います. ZIPファイルをインポートする場合は「Next >」ボタンを押して,インポートする中身を確認 (フォルダをインポートする場合はこのステップは省略できます). インポートする内容は「IchigoJam_MCX」になっています.これにチェックマークがついていることを確認したら「Finish」ボタンをクリック. このあとインポートが始まります.インポートの処理中にプロジェクト設定変更やSDKのバージョン違いについての警告が出ることがありますが,これには全て「Yes」,「Yes to all」,「OK」で対応し先へ進めます. 無事にインポートが終わると,左上ペイン内,Project Explorerタブにインポートされた「IchigoJam_MCX」プロジェクトが現れます. 3. シリアルターミナルのインストールと設定 MCX版IchigoJamの操作は,USBで接続したパソコン上のシリアル・ターミナルから行います. このシリアル・ターミナルは各パソコンOSで動作するアプリケーションで,あらかじめインストールしておかなければなりません. アプリケーションはmacOS,Windowsでそれぞれ何種類かあるのですが,ここでは使いやすいものを紹介します. 3.1 Windows用シリアル・ターミナル:Tera Term WindowsではTera Termが人気でよく使われます.ダウンロードとインストール方法はこちらが参考になります. インストールが完了したらTera Termを起動します.起動時には接続先を聞いてくるので,下側に表示されている「Serial」にチェックを入れ,「Port:」のポップアップ・メニューから「COM◯: MCU-Link VCom Port (COM◯)」の表示のあるものを選択します. 上記の「COM◯」の「◯」部分はパソコンの状態によってそれぞれ異なる数字が入ります.「OK」ボタンを押して,このダイアログボックスを閉じます. 次に設定を行います.「Setup」メニューから「Terminal」を選択. Terminal setupダイアログボックス内で2か所を変更. New-lineのReceiveを「LF」に Local echoにチェックを入れる さらにもう一度「Setup」メニューから「Serial port...」を選択 Speed:の設定を115200にして「New setting」ボタンをクリック. Tera Termは接続された状態となりました. 3.2 macOS用シリアル・ターミナル:SerialTools macOS用にはSerialToolsを使います.このアプリケーションは少し古いものですが,AppStoreからインストールが可能で,各種設定も単一のウィンドウ内にまとめられているため,このような通信アプリが初めての人にも使いやすくなっています. 次のリンクをクリックするとAppStoreへのリンクが表示されるので,これをクリックしてインストールを開始します. https://itunes.apple.com/us/app/serialtools/id611021963 インストールが完了したら,SerialToolsを起動します. 設定は赤い丸印の部分を確認しておきます.この中の一番左の「Serial Port」の設定は,各ユーザの基板ごとに違うものとなります.メニューから選択する際に「usbmodem」で始まる項目を選択すればOKです. この設定のあと「Connect」ボタンを押して,接続状態にしておきましょう. 4. 動作確認 4.1 実行 ではMCUXpresso IDEに戻ってIchigoJamを起動しましょう. まず「IchigoJam_MCX」プロジェクトをクリックしてハイライト表示させます. 青い虫のアイコン(Debugボタン)を押す. ターゲット基板を確認してくるので「OK」ボタンを押す. コードがビルドされ,マイコンのフラッシュ・メモリに書き込まれます.そのあとコードが実行できる状態で一時停止. 黄色の四角とと緑の三角が組み合わさったアイコン(Resume)をクリックすると,基板上でIchigoJamのコードが実行されます. 4.2 動作確認1 接続しておいたシリアル・ターミナルに,IchigoJamの開始メッセージが出力されていることを確認しましょう. macOSでの動作: Windowsでの動作: 4.3 動作確認2 IchigoJamは「OK」を表示した次の行にプロンプトを出しています. ここに led1 を入力しパソコンのキーボどのリターン・キーを押します. 基板上の赤色LEDが点灯し,画面表示が以下のようになれば,動作確認完了です. 4.4 おまけ 次のようなコードを「run」コマンドで実行すると,LEDが点滅します. 10 print "Hello, LED blinker!" 20 i=0 30 led i%2 40 i=i+1 50 wait 6 60 goto 30 4.5 おまけ2 IchigoJam BASIC リファレンス ver 1.4が公開されています.自分でコードを書いてみるときの参考にしましょう. ちなみにこのブログ冒頭でも述べたとおり,MCX版はまだベータ版(2025年5月1日現在)です.このためまだサポートされてないコマンドもあります. 5. このあとは 次にIchigoJamを動かす時にはMCUXpresso IDEを操作する必要はありません.すでにIchigoJamはマイコンに書き込まれているので,次回以降は電源を入れるだけで動作します. シリアル・ターミナルのアプリケーションは,起動のたびに設定を変更するのは手間なので,設定を保存しておくとよいでしょう. 動作中におかしくなった時には,USBケーブルの挿し直しで電源を再投入するか,または下図のリセット・ボタンを押すことで初期状態に戻すことができます. 変更履歴: 2025-05-07:初版 2025-08-04:誤字訂正(第5節:「際投入」→「再投入」) ========================= 本投稿の「Comment」欄にコメントをいただいても,現在返信に対応しておりません. お手数をおかけしますが,お問い合わせの際には,NXP代理店,もしくはNXPまでお問い合わせください. こどもパソコンIchigoJamは,LPC1114で動作する最初のバージョンが2014年に登場以来,教育の場だけに留まらず,様々な応用が広がっています. 2024年にはオープンソース化.さらに2025年にはNXPの最新マイコン:MCXシリーズのMCX-A153に対応.現在,GitHubで公開されているこのコードをMCX-A153を搭載した評価基板:FRDM-MCXA153で動作させてみるまでを解説します. General Purpose Microcontrollers MCUXpresso MCUXpresso IDE MCUXpresso SDK MCX 日本語ブログ
查看全文
Explaining Analog Front Ends (AFEs) for Industrial Applications (Japanese blog) 0. Table of Contents 1. What is an Analog Front-End (AFE)? 1.1 Various AFEs 1.2 AFE for Industrial Applications 1.3 The concept of universal input 2. NAFE13388 family 2.1 Signal Input / Excitation Voltage/Current Source / Built-in Reference Voltage 2.1.1 Input Circuit 2.1.2 ADC 2.1.3 Excitation voltage/current source 2.1.4 Example of input rearrangement 2.2 Software Interface 2.2.1 Logical Channels 2.2.2 Measurement Commands 2.3 Self-diagnosis function 2.3.1 Monitoring of power supply voltage, internal reference voltage, and excitation voltage 2.3.2 Input Monitoring 2.3.3 Monitoring the Clock Source 2.3.4 Temperature monitoring 2.4 Factory Calibration and User Calibration 2.5 Evaluation Environment 2.5.1 Hardware 2.5.2 Software 2.6 Application Notes 3. Summary 4. Reference materials   1. What is an Analog Front-End (AFE)? " Analog front end " (hereafter referred to as AFE ) refers to the part that bridges the gap between analog and digital in a system that uses a microcontroller or processor. Some AFEs only input analog signals, some only output analog signals, and some do both.   1.1 Various AFEs 1. In an audio system, this part (commonly realized by a chip called a codec) converts analog audio signals from a microphone into digital signals that can be processed and recorded, or that can be converted into analog signals that can be played through speakers or earphones. 2. In a battery management system (BMS), a microcontroller or processor controls charging and discharging, but there is also an AFE part that measures analog values such as battery voltage and current. Each product uses a dedicated AFE tailored to its application. Its main functions include analog-to-digital converter ( ADC ) and digital-to-analog converter ( DAC ), as well as pre- and post-stage filters and amplifiers that match the input and output signal characteristics. Many microcontrollers also have built-in ADCs/DACs for analog input and output. The analog input and output of these microcontrollers range from 0 to 3.3V, and they can perform analog-to-digital conversion with a resolution of around 10 to 14 bits. However, for high-precision measurements required for industrial applications, with larger/smaller positive and negative voltage ranges and 16-bit or 24-bit output , the AFE introduced here is required.   1.2 AFE for Industrial Applications In general, industrial applications require high-precision measurement of analog signals for factory lines and process management. Analog signals may also need to be exchanged for purposes such as valve control. The analog inputs of industrial AFEs are connected to various sensors, such as temperature sensors like thermocouples and resistance temperature detectors (RTDs), force and pressure sensors like load cells, etc. Analog inputs are also used to measure pure voltage and current.   A circuit tailored to the characteristics is required: For example, thermocouples used for temperature measurement output a very small voltage, so a low-noise amplifier is required for high-precision measurements. An RTD is a device whose resistance changes with temperature. It measures the voltage when a constant current (called the excitation current) is passed through it. However, if a large excitation current is passed through it, the RTD will heat up and accurate temperature measurement will be impossible, so only a weak excitation current can be passed through it. Since a weak excitation current can only generate a small voltage , a high-precision, low-noise amplifier is required along with a precise constant current source for excitation . Load cells that measure force (weight or pressure) detect small changes (voltage changes using a Wheatstone bridge) in an element to which an excitation voltage is applied. This requires a high-precision, low-noise amplifier . When measuring voltage or current, the input range is adjusted to match the object being measured. Because the characteristics of these sensors and the output they measure are different, previous industrial AFEs have dealt with this by incorporating individual circuits in the front stage that are tailored to each sensor's characteristics.   1.3 The concept of universal input It is inefficient to prepare equipment with an input circuit for each measurement target. Dedicated hardware must be developed and a product lineup created for each measurement target. If these could be standardized, the above problems would be solved at once. NXP's AFE allows you to "universalize" the input. Specifically, it has up to eight single-ended inputs of +/-12.5V (four differential inputs of +/-25V) and an internal PGA (Programmable Gain Adjustment). Gain Amp can be set from 0.2 to 16 times. In addition, the internal excitation voltage and current source can be output from any input pin. By using such a chip, it is possible to prepare a board with only the minimum external circuitry and simply switch between them using software depending on the measurement target. NXP's AFE (NFAE series) also has input protection functions built into the chip, so external components can be kept to a minimum and there is no need to add protection diodes, which would affect measurement accuracy. 2. NAFE13388 family As a concrete example, let's take a look at the features of NXP's AFE, the NAFE13388 . The NAFE13388 is an AFE with eight universal analog inputs (single-ended or four differential) and ten GPIOs. The interface with the microcontroller is SPI (maximum frequency 32MHz). This product family includes the high-speed NAFE73388 with a high sampling frequency, a 4-input model with fewer inputs, and models with or without excitation voltage and current sources, factory calibration, and 16- or 24-bit output. 2.1 Signal Input / Excitation Voltage/Current Source / Built-in Reference Voltage   2.1.1 Input Circuit The input is single-ended and has pins that can accommodate up to eight inputs, and the built-in multiplexer can be configured to accept single-ended or differential inputs, as well as excitation voltage and current outputs. The figure shows part of the circuit diagram for the NAFE13388-UIM (NAFE13388-Universal Input Module) evaluation board (from the two terminal blocks on the right to the AFE input section on the left). As you can see, the AFE has a very simple configuration, with only a simple passive filter and a resistor to limit current when overvoltage is applied in front of it. Various sensors can be connected to the terminal block as they are. The board has built-in protection circuits to protect against incorrect power supply connections to the input terminals and ESD, so there is no need to place external protection elements. However, the leakage current of the diodes used as protection elements can affect the measurement results, so if an external element is required, it must be selected carefully. The protection element built into the NAFE13388 is an extremely low leakage diode that does not affect the measurement results. There is no need for voltage dividers to input higher voltages or bias circuits to adjust offsets. The NAFE13388 can directly input signals of +/-12.5V, so there is no need to worry about the accuracy or heat generation of these circuits.   2.1.2 ADC The AD converter consists of a third-order ΣΔ modulator and a SINC filter with various settings. In AD conversion using a ΣΔ modulator, the required resolution is obtained by downsampling data converted to 1 bit at a high sampling frequency. The resolution obtained after this downsampling is called the "effective number of bits ( ENOB )." The larger the downsampling ratio, the higher the ENOB. To get 17 bits of ENOB with the NAFE13388, you need to set the sample rate to 72 kHz. With the faster NAFE73388, you can get the same ENOB at a sample rate of 144 kHz. To get 24 bits of precision, you need a sample rate of 30 Hz (NAFE13388) or 60 Hz (NAFE73388). The NAFE13388 has a built-in high-precision reference voltage source required for AD conversion, so no external reference voltage is required. A temperature compensation loop achieves %精度(% FS (full temperature range) within the operating temperature range. A PGA that can be set from 0.2x to 16x is located in front of the AD converter. The full-scale range for single-ended input is +/-12.5V (PGA gain: 0.2x) to +/-0.15625V (PGA gain: 16x). The following graph is taken from the NAFE13388 datasheet, and shows the change in temperature on the horizontal axis versus the change in reading when 10V is applied to the input. The temperature compensation loop keeps the measurement error very small. 2.1.3 Excitation voltage/current source The excitation voltage and current can be set in 12 steps within the ranges of +/-6mV to +/-12V and +/-977nA to +/-2mA, respectively, and can be output from any input pin. This means that elements such as RTDs and load cells can be handled simply by rearranging the software without the need for additional circuits. 2.1.4 Example of input rearrangement The simplest example of single-ended voltage measurement is shown below. In this example, the voltage of a signal source connected between the AI3N and AICOM terminals is measured. In the following example, a load cell is connected. The internal excitation voltage source is output from the AI3P terminal and the voltage is applied to the bridge circuit. The result is measured as the differential voltage between the AI2P and AI2N terminals. The following example shows how to measure an RTD using a 4-wire connection. In this example, a current from the internal excitation current source is output from the AI4P terminal, and the voltage across the RTD is measured as a differential voltage between the AI1P and AI1N terminals to determine the resistance value. The last example is measuring the power supply voltage supplied to the AFE chip. The power supply voltage connected to the internal multiplexer can be measured with an ADC.   2.2 Software Interface   2.2.1 Logical Channels In addition to the input pin selection (specifying any pin as single-ended or differential input), excitation voltage/current and output pin selection as described above, settings such as PGA gain , sampling frequency / post-SINC filter , and temperature compensation loop ON/OFF can be managed collectively. This management unit is called a logical channel , and up to 16 logical channels can be set. Each of the 16 logical channels can be managed, enabled, and disabled individually. Once a logical channel is set, it is retained inside the AFE. The logical channel can be enabled or disabled simply by setting or clearing a bit in a 16-bit register. For example, settings such as single-ended voltage, load cell measurement, RTD measurement, and power supply voltage, as in the example in the previous section, can be quickly recombined using logical channels. It is possible to have multiple logical channels enabled at the same time. In this case, the measurement commands described in the next section can be used to measure each logical channel individually or all logical channels together as a sequence. 2.2.2 Measurement Commands A/D conversion is performed for each logical channel. This can be performed on an individual channel by software command, or on a single sequence of all enabled logical channels, or in a continuous loop. Conversion can also be triggered by an external clock signal. This feature can also be used to synchronize multiple AFE chips. Measurement automation is possible by executing multiple logical channel conversion sequences in a loop. The converted data is stored in the registers of each logical channel, so it can be read out at any time. A signal notifying the completion of conversion can be output for each channel or as a series of sequences. This allows data to be read out synchronously with the conversion. 2.3 Self-diagnosis function   2.3.1 Monitoring of power supply voltage, internal reference voltage, and excitation voltage The input selection multiplexer can switch not only the input pins, but also the excitation voltage, current source, two reference voltages, and the power supply voltage supplied to the chip. By configuring such inputs as logical channels and incorporating them into the AD conversion sequence, you can continuously monitor your own operating status. If the chip contains factory calibration data, the reference voltage at the time of chip shipment is written to the non-volatile memory area. This can be used to monitor problems during product assembly and changes over time. 2.3.2 Input Monitoring A signal input range can be set for the logical channel. If a voltage outside this range is input, an alert will be generated. There is a possibility of wire breakage between the various sensors and the inputs. A 65nA excitation current source is provided to monitor this. By enabling this and monitoring the voltage, you can check for abnormalities. Alternatively, if you suspect cable deterioration, even if it does not go as far as a break, you can monitor by incorporating impedance change measurement. 2.3.3 Monitoring the Clock Source The NAFE13388 checks for an external clock input at startup, and if none is present, attempts to oscillate using a crystal oscillator. If that is not present, the clock is generated using the built-in RC oscillator. If a clock is supplied from an external clock or crystal oscillator, it is compared with the clock generated by the internal RC oscillator, and an alert is issued if there is an abnormality such as the clock stopping or a large frequency deviation. 2.3.4 Temperature monitoring The NAFE13388 also has a built-in temperature sensor. This is used to correct drift in measurements, and also provides an alert at a specified temperature to protect the chip itself, as well as a shutdown protection function when the temperature exceeds a certain limit. 2.4 Factory Calibration and User Calibration The gain and offset errors for each PGA gain setting are corrected in the digital domain after AD conversion. There are 16 sets of registers to store these correction coefficients, and one set can be specified for each logical channel. If the NAFE13388 is factory calibrated , correction coefficients for each gain setting are pre-set, and by using these, an accuracy of +/-0.06%FS (typical value, room temperature) can be achieved without user calibration . If the accuracy required for the final product is within this range, it will eliminate the time-consuming and laborious calibration process before shipping, resulting in significant cost savings. This correction coefficient can also be adjusted by the user. User calibration can improve accuracy to +/-0.002%FS . The calibrated coefficient is automatically corrected by setting it in the register specified by the logical channel, so there is no need to post-process the read value. It is also possible to intentionally manipulate the correction coefficient to adjust the measurement value to any range. 2.5 Evaluation Environment   2.5.1 Hardware This high-performance AFE can be easily tested with the Arduino shield evaluation board: NAFE13388-UIM . The Arduino shield connector can be used to connect to various microcontroller evaluation boards. 2.5.2 Software   NXP Official Software First, to check the basic operation, you can use the NXP microcontroller board: FRDM-MCXN947 and a Windows PC to evaluate the basic functions by operating from the GUI. Furthermore, various evaluation and demo codes are available on the NXP Application Code Hub for dynamic evaluation/demo and as examples of driver layer code written in C. For the NAFE13388, code that runs on the same microcontroller board as above, FRDM-MCXN947, has been released, making it possible to evaluate everything from basic operation to data output using USB, CAN, and Ethernet.   Open Source Code In addition to this, the code released as open source includes samples that run on NXP's microcontroller boards: FRDM-MCXN947 , FRDM-MCXN236 , FRDM -MCXA156 , and FRDM-MCXA153 , which can also be used to verify operation. In addition, the microcontroller evaluation board IMXRT1050-EVKB , which is equipped with NXP's high-performance microcontroller i.MX RT1050, provides drivers and application examples using MicroPython . The NAFE13388-UIM can be tested in combination with an Arduino microcontroller board as an "Arduino shield." Drivers for the various FRDM-MCX series listed above that have been ported to the Arduino SDK environment have been made public, as well as sample code (sketches) that run on the Arduino UNO R3 , Arduino UNO R4 Minima , and Arduino UNO R4 WiFi . 2.6 Application Notes Various application notes are also available for the NAFE series. "Industrial Application Measurement Using NXP AFE" AN14102_JA (Japanese application note) introduces specific examples of connecting sensors and register settings for self-diagnosis, voltage measurement, current measurement, temperature measurement using 4-wire/3-wire/2-wire RTDs and thermocouples, and weight measurement using load cells. Application notes are also available that provide more detailed information on various measurement methods and demo code. Please access these from the "Application Notes" section on the following page: https://www.nxp.jp/products/NAFEx3388 3. Summary The NAFE13388 is a single-chip, high-precision analog front-end chip with eight software-configurable inputs. By preparing a board with a simple input circuit equipped with this chip, you can use software to configure it to support a variety of measurement targets. Single-ended voltages of +/-12.5V (differential +/-25V) can be input directly, and the necessary protection circuits are also built into the chip, minimizing the number of external components and minimizing factors that affect cost and measurement error. Furthermore, it is equipped with a wide range of self-diagnostic functions, making it fully capable of meeting the ever-increasing demand for functional safety. Built-in functions can be used to check the connection status of the object being measured, the status of installation, and the AFE operation. Despite being such a high-performance chip, it's very easy to start evaluating it. You can check its operation using the GUI software on your PC with an Arduino shield-type evaluation board and an NXP microcontroller. Dynamic evaluation is also possible using sample code that is closer to real applications. What's more, the open-source code supports a wide range of microcontrollers. For measurements using analog sensors, we recommend NXP's AFE: NAFE13388, which offers flexibility with simple hardware and software and enables high-precision measurements! 4. Reference materials Product Page: Highly Configurable 8-Channel ±25 V Universal Input Analog Front End with Excitation Evaluation Board: NAFE13388-UIM 8-Channel Universal Input AFE Arduino Shield Board Related information: SPI Bus Overview (Japanese blog) Related information: Installing MCUXpresso IDE and SDK (Japanese blog) Change history: 2025-10-29: First Edition 2026-02-05: Evaluation Environment → Software → Open Source Code section: Added supported Arduino board types. Updated photos. 2026-06-21: Added table of contents and section numbers. ========================= We are currently unable to respond to comments in the "Comment" section of this post. We apologize for the inconvenience, but when you contact us, please use the " NXP Technical Questions - How to contact us ( Japanese blog ) " (If you are already an NXP distributor or have a relationship with NXP, you may ask your question directly to the person in charge.) General-purpose AD converters built into microcontrollers cannot be used to measure the various sensors and voltages and currents with high precision required for industrial applications. Although various companies have supplied products specifically designed for "industrial use," they are still far from integrating all the necessary functions. In particular, the input circuitry requires discrete circuits, making it difficult to ensure accuracy and miniaturize the device. In addition, addressing functional safety, which will become essential in the future, has also been a major challenge. NXP's industrial analog front-end, NAFE13388, solves these problems simply and reduces costs by simplifying the product lineup and streamlining the manufacturing process. introduction Sensor Japanese blog
查看全文
How to Choose a Power Supply IC? [Part 1] (Japanese blog) A power supply IC is an integrated circuit (IC) that contains one or more linear regulators and DC-DC converters. The IC also contains protection and control functions for the power supply . There are many different types of power supply ICs , from simple ones equipped with just a few power supplies to complex ones equipped with 10 or more power supplies and control functions. Therefore, when using one, it is necessary to select the power supply IC that is best suited to the system you want to use . Figure 1 Example of a power supply IC (NXP PF9453) If you can successfully select the optimal power supply IC, it will lead to easier power supply design and a reduction in the mounting area, but if you cannot, it may be necessary to add extra external circuits or control across multiple ICs, making the design more difficult. When selecting the optimal power supply IC, the best procedure for narrowing down the list of candidate power supply ICs can be summarized in the following three steps. ・Step 1 - Selecting candidate power supply ICs ・Step 2 - Check the mounting area ・Step 3 - Check the thermal design These steps involve actually creating a tentative design for the power supply circuit. So, let's take a look at Step 1 in this first installment. Step 1 - Selecting candidate power supply ICs Step 1-1: Check the voltage and current values input to the target system For automobiles, there are 12V ( passenger cars ) , 24V ( commercial vehicles ) , and 48V ( for high-power units ) . For industrial machinery, 24V , 12V , 5V , etc. For consumer use, there is the USB PD standard. Pay attention to the minimum input voltage (voltage fluctuation test conditions, etc., which vary depending on the application). Step 1-2: Determine the components to supply power Determine the devices and quantities of components (microcontrollers/processors, communication transceivers, sensors, etc.) that make up the target system. The order in which the power is turned on and off is specified by the component. Step 1-3: Classify the voltage system (current system) required for the target system Voltage systems are classified into 5V , 3.3V , 2.5V , 1.8V , 1.25V , etc. It is also necessary to classify devices into those that supply power constantly and those that supply power only under certain conditions. Also pay attention to the power-on/shutdown sequence. Don't confuse steady-state current (DC ) with peak current (AC). Step 1-4: Search for a power supply IC Search online or through our in-house parts list. Pay attention to the shape of the package. NXP's " PMIC & SBCs " page allows you to search for devices using the product selector , or to search for power supply ICs suitable for various microcontrollers /processors . You can also search by other companies' part numbers using cross-reference . Step 1-5: Select a candidate power supply IC A few types remain as candidates. We are also considering cases where multiple power supply ICs are used. Step 1-6: Check the peripheral components required for the candidate power supply IC From the recommended components, select FETs (field effect transistors, switches), coils, capacitors, etc. Be especially careful with FETs and coils, as they are large components. If there is a range of parameters for available parts, select the optimum one using a Bode diagram or similar. Step 1-7: Create a BOM (Bill of Materials) and calculate part costs Calculate part costs from the BOM (bill of materials). At this point, the total component cost, including the power supply IC and peripheral components, is determined, making it possible for the first time to make cost comparisons on a BOM basis. In Part 2, we will explain " Step 2 - Checking the mounting area ," and in Part 3, we will explain " Step 3 - Checking the thermal design, " so be sure to check them out. ========================= We are currently unable to respond to comments in the "Comment" section of this post. We apologize for the inconvenience, but when making inquiries, please refer to `` Technical Questions to NXP - How to Contact Us( Japanese Blog) ''. (If you are already an NXP distributor or have a relationship with NXP, you may ask the person in charge directly.) When selecting the optimal power supply IC, the best procedure for narrowing down the list of candidate power supply ICs can be summarized in the following three steps. ・Step 1 - Selecting candidate power supply ICs ・Step 2 - Check the mounting area ・Step 3 - Check the thermal design *In this first session, we will explain Step 1. (Reading time: 5 minutes) PMIC Japanese blog
查看全文
[imx RT105x] Issues Using Dual External Flash on RT105x (Port A1: OK, Port B1: Unresponsive) Hi everyone, I’m currently working with an RT105x microcontroller and two identical 32MB external flash chips. FlashA1 is connected to Port A1 and used for XIP (execute-in-place). FlashB1 is connected to Port B1 and intended for data storage. So far, I’ve: Configured the clock and pin muxing Developed a custom driver to interface with both chips Everything works fine on FlashA1: I can read, write, erase—no issues. However, FlashB1 doesn’t respond to the same operations, even though the setup is mirrored. Has anyone encountered something similar using this dual-flash configuration? Do you have any working examples or tips you could share? I’d be happy to provide more technical details if needed. Best regards, Biagio i.MXRT 105x Re: [imx RT105x] Issues Using Dual External Flash on RT105x (Port A1: OK, Port B1: Unresponsive) The issue is that Port A1 and B1 are connected to the same flexspi interface so access to each one cannot be done simultaneously. To avoid this, please move the instructions that access B1 to RAM so both memories do not collide. Best regards, Omar
查看全文
TEA19161+19162 & MCU Based CC-CV 2.5kW Charger Concept Hi team, I’m evaluating a 2.5 kW 48 V CC–CV charger concept similar to ST’s reference design (LLC with MCU control): https://www.st.com/en/evaluation-tools/stdes-2kw5ch48v.html Goal Develop the power stage using NXP’s TEA19161 (LLC resonant controller) together with an MCU for telemetry, protection, and CC–CV management. Preliminary targets Input: 390–400 VDC from PFC (or 325–420 VDC if a wider range is preferred) Output: 48 V nominal, up to ≈50 A (≈2.4–2.5 kW) Regulation: CC–CV with smooth transition and fast OCP response Efficiency: ≥92 % peak, ≥93 % at 50–100 % load Topology: Full-bridge LLC with synchronous rectification on the secondary, using the two gate-drive outputs of the TEA19161 to generate the complementary signals required for full-bridge operation, and external stronger drivers to handle the higher gate charge and power level. Key questions 1. CC–CV control concept I plan to implement two op-amp loops on the secondary side: one for voltage sensing and one for current sensing (via a shunt). The MCU will adjust both reference levels dynamically to realize the CC↔CV transition. The combined feedback from these two loops will then drive a single optocoupler back to the TEA19161 for primary-side control. Could you confirm whether this approach is compatible with TEA19161? 2. Power scalability Once reconfigured for full-bridge operation with stronger gate drivers, is it realistic to reach ≈2.5 kW output power using TEA19161 Thanks in advance for your support and any design recommendations for using TEA19161 + MCU in this 2.5 kW CC–CV charger project. Re: TEA19161+19162 & MCU Based CC-CV 2.5kW Charger Concept HI We only have LLC controller and newest part is TEA2226AT | Digital Configurable LLC Controller | NXP Semiconductors But this part can drive maximum up to 1KW,so in your design should have two in parallel to get 2KW. You should add some circuits to achieve average/equal current in both controllers.
查看全文
FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi, when i initialized FS26 with S32K311, watchdog period = 32ms, watchdog duty cycle = 37.5%OPEN, watchdog recovery = 64ms, but in " Decrease FLT_ERR_CNT to 0 with WD_ERR_LIMIT good WD refresh", I got u8ErrorCounter = 1 in below codes. I don't know the meaning about "with WD_ERR_LIMIT good WD refresh", is that means it need to plus a WDrefresh routine code? Hope your answer! Kate Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Thanks a lot ! Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi Kate Please following the above picture to feed WD,you can try and should be no problem. Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi guoweisun, Thanks for the description! About the pic, open duty is 50% but there is 3/4 on the timeline. To my understanding, if it set 50% duty , it will be 1/2 between WD refresh and WD refresh 1. That is, if I want to set the time between WD refresh and WD refresh 1, the function must be WindowPeriod * WindowDc. Above all, is there something wrong? Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Finally you must use the normal mode not the debug mode,you can refer to below  for feed WD: Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi guoweisun, If I was in Debug mode, I can have a good WDfresh like below. Then I can get SBC initialize OK. But in Normal mode, I got a bad WDfresh like below. Then I can't initialize SBC. What states I need to set ? Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Please see below: Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi guoweisun, Thanks for your patience! I means what can make FS_WD_ANSWER change. If I just refresh one time, FS_WD_ANSWER is changed from 0xa54d to 0x4a9a. What can I  change FS_WD_ANSWER from 0x4a9a to 0x9535? Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); HI Kate Don't understand you wrote only one time to change the WD. If you define the FS_WD_TOKEN register content, you have to calculate and feed the WD answer each time. Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi guoweisun, I used "Sequence to enter normal mode with a Watchdog Challenger" because of S32K311. The change timing of FS_WD_ANSWER is when Sbc_fs26_WdChangeToken be used, right? But now my code used Sbc_fs26_WdChangeToken when Sbc_fs26_InitFSConfigure is used. That means it just one time to change the wd answer. Where should i add Sbc_fs26_WdChangeToken to occur the wd answer changing? Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi  You can refer to below: Sequence to enter normal mode with a Watchdog Simple //INIT FS and simple WD enabled required //Open WD window SET_REG:FS26:Safety:FS_WDW_DURATION:0x008B SET_REG:FS26:Safety:FS_NOT_WDW_DURATION:0xF144 //Send 1 good wd refresh to close INIT window SET_REG:FS26:Safety:FS_WD_ANSWER:0x5AB2 //clean fault error counter SET_REG:FS26:Safety:FS_WD_ANSWER:0x5AB2 SET_REG:FS26:Safety:FS_WD_ANSWER:0x5AB2 SET_REG:FS26:Safety:FS_WD_ANSWER:0x5AB2 SET_REG:FS26:Safety:FS_WD_ANSWER:0x5AB2 SET_REG:FS26:Safety:FS_WD_ANSWER:0x5AB2 SET_REG:FS26:Safety:FS_WD_ANSWER:0x5AB2 //Exit dbg mode SET_REG:FS26:Safety:FS_STATES:0x4000 //release FS0B and FS1B SET_REG:FS26:Safety:FS_RELEASE_FS0B_FS1B:0xB2A5 Sequence to enter normal mode with a Watchdog Challenger //INIT FS and WD Challenger required //Open WD window SET_REG:FS26:Safety:FS_WDW_DURATION:0x008B SET_REG:FS26:Safety:FS_NOT_WDW_DURATION:0xF144 //Send 1 ZD refresh to close INIT window SET_REG:FS26:Safety:FS_WD_ANSWER:0xa54d //clean fault error counter SET_REG:FS26:Safety:FS_WD_ANSWER:0x4a9a SET_REG:FS26:Safety:FS_WD_ANSWER:0x9535 SET_REG:FS26:Safety:FS_WD_ANSWER:0x2a6a SET_REG:FS26:Safety:FS_WD_ANSWER:0x54d4 SET_REG:FS26:Safety:FS_WD_ANSWER:0xa9a9 SET_REG:FS26:Safety:FS_WD_ANSWER:0x5353 //Exit dbg mode SET_REG:FS26:Safety:FS_STATES:0x4000 //release FS0B and FS1B SET_REG:FS26:Safety:FS_RELEASE_FS0B_FS1B:0xA565 Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi guoweisun, Thanks for your reply. How would I continue refresh WD? If I use a timer to count, it will shut down in Sbc_fs26_TimeWaitClearFault(). Or is there a watchdog duty open example? In S32DK, there is only a infinite watchdog example. Re: FS26 S32K3 FLT_ERR_CNT cannot decrease to 0 in Sbc_fs26_InitDevice(); Hi  For your question: 1: Is that means it need to plus a WDrefresh routine code? [gw]Correct,you need continue to refresh WD till the fault error counter decrease into 0.
查看全文
Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main()" Dear NXP Support Team, I am currently working with the JN5189DK6 development kit and attempting to flash and debug an OpenThread RCP image ( ot-rcp.elf) built from the OpenThread stack. I am encountering an issue where the debugger is unable to resolve symbols, specifically showing: No source available for "main() at 0x5da"   Configuration Details: Target MCU: JN5189DK6 SDK Used: SDK_2_6_16_JN5189DK6 OpenThread Version/Reference: Based on instructions from ot-nxp v1.4.0 README Debugger: Segger J-Link (SWD interface) Debugging Interface: Not using CMSIS-DAP (as mentioned in NXP guide) Flashing Format: .hex and .elf Debugging File: ot-cli-ftd.elf IDE Version : MCUXpressoIDE_24.12.148 Steps Taken: Built the OpenThread RCP firmware for the JN5189 target with debug symbols enabled. Connected the Segger J-Link debugger to the board using the SWD interface. Loaded the ot-rcp.elf into the debugger for symbol reference. Started a debug session, but encountered the message: No source available for "main() at 0x5da" Attachments: Board configuration images Debugging file (ot-rcp.elf) Project configuration screenshots Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello, Vikash. After consulting with R&D, I think I can offer a better solution. As I said, JN5189 and K32W0x1 are compatible chips from the same family, the K32W0x1 being the upper trim of JN, with BLE added. In the K32W0x1 ot-nxp examples, there is a rcp_only_uart_dma configuration that is recommended to be used in your actual use case, RCP without frame control. You can check it out in script/build_k32w061. OT_OPTIONS_RCP_ONLY_UART_DMA=( "-DOT_RCP_UART_DMA=ON" "-DOT_APP_CLI=OFF" "-DOT_FTD=OFF" "-DOT_MTD=OFF" "-DOT_1_2_SUPPORT=ON" "-DUART_BAUD_RATE=1000000" ) readonly OT_OPTIONS_RCP_ONLY_UART_DMA This example uses a special DMA library which improves the UART and radio modules handling. You can build the K32W0 example and use it on JN5189 for your testing. BR, Mihai Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hi Mihai, 1) We are constrained to the JN5189 since we already have a significant number of devices deployed with this hardware. 2) I’ve tried using a baud rate of "1000000," but I’m still encountering a framing error during communication. I’ve tested with both UART_DRIVER and SERIAL_MGR. Why is SERIAL_MGR preferred? To debug further, I enabled logs and checked the USART FIFO Overflow Register values. I noticed that the RXERR bit is being set in FIFOSTAT. For reference, USART0 is clocked at 32 MHz (sourced from XTAL), and the main clock is running at 48 MHz. BR, Vikash Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello Mihai, Thank you for your patience and the time you spent addressing each of the four points I raised. Your clear explanations have given me clarity and helped me understand the issues better. BR, Vikash Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello, Vikash. Regarding 1), the difference between routing the UART between LPC-Link2 port and the FTDI port is that on the FTDI port, the UART is routed to the FT230XS FTDI chip on the DK6 board, which translates the signals to USB on a more "hardware" logic, implying that it's done faster. On the LPC-Link2 port, the signals are passed through the LPC4322 chip, which acts also as a debugger probe and I suspect that it implies a more "software" approach, with more processing leading to some delays. We haven't seen any issues using that port on our scenarios, but we do suggest using the FTDI port for real life scenarios, due to the limitations which I pointed out. One thing I can suggest to you is to switch the firmware running on the LPC Link2 chip. You can do this by putting the LPC in DFU mode (switch JP5 from NORMAL to DFU) and use the LPCScrypt software to do the change. A user guide is available in the link. You have the option to use the CMSIS or the JLink firmwares. Regarding 2), I suggest using UART_USE_SERIAL_MGR instead of UART_USE_DRIVER. The changes I suggested in the post earlier should also be done: - OPENTHREAD_CONFIG_LOG_OUTPUT to OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED in src/k32w0/jn5189/openthread-core-jn5189-config.h - OPENTHREAD_CONFIG_LOG_LEVEL to OT_LOG_LEVEL_DEBG in the same file Regarding 3), yes, I remember capturing SWO debug lines in TeraTerm so it should work. Regarding 4), the change in linker file, RAM0: 0x4000400 was done to accommodate RAM needs from running the ROM code at boot (scratch RAM) and you can also change the settings in MCUXpresso to match, but I don't think it has any impact if you keep the old settings, as we are not loading any applications in RAM when writing the board. JN5189 is a legacy part and some things are out of date and won't be updated in next releases. Furthermore, JN5189 and K32W0x1 are to be removed from ot-nxp repository in next releases and enter a maintenance phase on the last released version. If you desire to develop a solution with NXP OpenThread Wireless silicon that will benefit from ongoing support regarding stack and SDK maintenance, I can suggest you to have a look at the MCXW7x family. BR, Mihai Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hi Mihai,   I’m currently facing several issues while setting up UART communication and debug logging for the JN5189 in my OpenThread Border Router (OTBR) environment. I’ve detailed the points below:     1) When I use the LPC-LINK2 port (even without the debugger, solely for UART communication), I encounter HDLC parse errors or framing errors shortly after launching the otbr-agent. In contrast, using the FTDI-USB UART interface works reliably, and the agent maintains communication unless exposed to heavy command loads.  I have attached the jumper setting when using the LPC-LINK2 port. (Refer to the attached image : Jn5189_Debug_port_jumper_config_.png)   2) I attempted to enable debug logs via USART1 (TX/RX on pins 10/11), considering the compatibility between K32W0 and JN5189. However, when I connect a USB-UART adapter and monitor the output via Minicom, no logs are displayed. Also, the otbr-agent fails to receive messages and eventually times out.   Here’s what I’ve modified so far:   In jn5189-sdk-config.h: #define UART_USE_DRIVER 1 #define UART_USE_SERIAL_MGR 0 #define UART_USE_DRIVER_LOG 1 #define UART_USE_SERIAL_MGR_LOG 0 #define UART_USE_SWO_LOG 0   Added the following to the CMake config: option(OT_DEBUG_CONSOLE_ENABLE "Enable debug console on gOtLogUartInstance" ON)   if (OT_DEBUG_CONSOLE_ENABLE) target_compile_definitions(${NXP_DRIVER_LIB} PUBLIC -DgUartDebugConsole_d=1 ) endif()   In the build_jn5189 script, under OT_OPTIONS, I added: -DOT_DEBUG_CONSOLE_ENABLE=ON   Despite these changes, no output is observed on USART1, and OTBR communication fails.   3) Is it possible to capture SWO debug logs using Minicom or similar terminal applications? If not, what tool or method is recommended for viewing SWO output on JN5189?   4) While creating the project and setting the RAM regions via: -> Project → Properties → C/C++ Build → MCU Settings → JN5189 → Apply & Close -> I noticed a mismatch between the RAM boundary values shown in the IDE and those defined in the linker script.   In the IDE: (Refer to the attached image :JN5189_Mem_Layou_Ide.png) RAM0: 0x4000000, Size: 0x15FE0 RAM1: 0x4020000, Size: 0x10000   In the jn5189 linker script (src/k32w0/jn5189/jn5189.ld) : RAM0: 0x4000400, Size: 0x0015C00 RAM1: 0x4020000, Size: 0x10000   Which of these memory configurations should be considered correct? Should we align the IDE settings with the linker script, or vice versa?     BR, Vikash    Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello, Vikash. The debug logs are printed on the USART1 instance. You can check the JN5189 User Manual , table 3 about what other pins can be used for USART1. JN5189 has two USART instance, with USART0 for the OpenThread CLI/Spinel communication. On a quick search, we have: USART0_TXD: PIO3, PIO8, PIO18. UASRT0_RXD: PIO2, PIO9, PIO19. USART1_TXD: PIO0, PIO6, PIO10, PIO20. UASRT1_RXD: PIO1, PIO7, PIO11, PIO19. BR, Mihai Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hi Mihai, Thanks for your suggestion. Unfortunately, the end platform where I’ll be integrating the JN5189 doesn’t support hardware flow control, so I’ll need to explore alternatives that work without it. One follow-up question:- 1) is it possible to enable and redirect the debug logs by configuring a GPIO as a different USART instance and then view the output using Minicom? Best Regards, Vikash Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello, Vikash. What I can suggest is to have a look at K32W0 configuration for flow control. More specifically, in script/build_k32w061, there is a build option: OT_OPTIONS_RCP_ONLY_UART_FLOW_CONTROL=( "-DOT_RCP_FLOW_CONTROL=ON" "-DOT_APP_CLI=OFF" "-DOT_FTD=OFF" "-DOT_MTD=OFF" "-DUART_BAUD_RATE=1000000" ) This sets to ON the OT_RCP_FLOW_CONTROL option, which enables the SDK option  gUartHwFlowControl_d Looking into the SDK in boards/ /wireless_examples/openthread/reed/bm/board.c, you can see that this enables RTS and CTS pin usage for flow control on UART0, by default on PIO6 for RTS and PIO7 for CTS. You can adjust the pins to other USART0 used pins by referencing Table 3 in JN5189 User Manual . This should improve the stability of the UART communication. K32W0x1 is pin compatible with JN5189, it's actually the JN5189 variant with BLE, so you can take as reference the K32W0 SDK. BR, Mihai Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hi Mihai, I’ve tried running the application with a free run configuration and made sure that no breakpoints are set, but I’m still encountering the same issue while checking through the LPCLINK2 port. Specifically, on the RCP side, we’re observing that bytes are being dropped or missed when the OTBR is transmitting high-volume(100-150 Bytes) messages in quick succession. This seems to indicate a potential issue with handling high RX load or buffer overflows(at present Rx buffer value is 10kb). Please let me know if there are any additional settings or steps I should verify, or if there’s something else that might be causing this behavior. BR, Vikash Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello, Vikash. You are seeing RCP timeouts on the host side, meaning the MPU/MCU host running ot-daemon, which is normal, because while you are debugging the JN5189 RCP application, you are stopping the code execution on the chip and implicitly, the UART communication to the host. Using the FTDI USB doesn't stop the processor and communication, so it is normal to not see such events. BR, Mihai Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hi Mihai, I’m running into a repeatable “rcp out” error whenever I debug through the LPC-Link2 onboard probe in MCUXpresso IDE—even when I launch the session with no breakpoints set. If I switch to an FTDI-USB connection, with the previously flashed binary, there is no issue of time-out at all. Regards Vikash Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hi Mihai, I've followed the above-mentioned steps, and I'm able to successfully direct the logs to IDE. Thanks for your assistance. BR Vikash Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello, Thanks for your prompt reply. I'll follow the above specified steps and get back to you. Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello. Logging for any ot-nxp app on JN5189 can be enabled by modifying some of the defines from the build. From my memory, as I worked on this some time ago, you need to modify: - OPENTHREAD_CONFIG_LOG_OUTPUT to OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED in src/k32w0/jn5189/openthread-core-jn5189-config.h - OPENTHREAD_CONFIG_LOG_LEVEL to OT_LOG_LEVEL_DEBG in the same file - UART_USE_SWO_LOG to 1 in src/k32w0/jn5189/jn5189-sdk-config.h - UART_USE_DRIVER_LOG and UART_USE_SERIAL_MGR_LOG to 0 in the same file as above This should enable logging on the SWO interface, which by default routes to pin 14 on P10 header and it also routes to the external LPC-Link2 SWO_TRGT. With that set, you should be able to see the logs by either probing the pin 14 with an external FTDI to USB adapter (connect pin to the RX pin of the FTDI adapter) or in MCUXpresso ITM viewer. An app note on that is available here: https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/mcuxpresso%40tkb/41/1/How%20To%20Use%20SWO%20Trace%20in%20MCUXpresso%20IDE.pdf I need to retest this on my side to confirm, and I will try to do this in the following days, but for now, you should have some information to get started on your side. BR, Mihai Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( HI Mihai, Thank you for providing a solution regarding the RCP debugging setup through the MCU IDE. As a follow-up, I need help with one more point: When connecting the NXP board to my laptop with the RCP firmware, is it possible to view the logs of the RCP directly through the MCU IDE? If so, could you please guide me on how to access them or configure the IDE to enable this? Re: Issue Debugging OpenThread Images on JN5189DK6 with J-Link – "No source available for main( Hello. The issue you are seeing is due to the fact that the build is done using "MinSizeRel" option which strips the debug symbols. To fix this, you need to change the following line: https://github.com/NXP/ot-nxp/blob/release/v1.4.0/script/build_jn5189#L40 from "MinSizeRel" to "RelWithDebInfo", rebuild the image and flash. Can you please try this change and provide your feedback? Have a good day! Mihai
查看全文
Does dtb change the LAW configuration (T2080RDB)? Hi, I am using the T2080RDB. I want to change the memory location for a PCI device. I have changed the dtb. However, it does not work because the LAW register are not modified. I want to know if I must to change uboot and dtb (both of them) in order to get a proper functionality. BR QorIQ T4 Devices Re: Does dtb change the LAW configuration (T2080RDB)? That’s an interesting question about changes in LAW configuration. In many cases, even small adjustments can impact functionality, so it’s always best to cross-check with reliable resources. I found that reviewing structured guides such as Hive Planner Settings can really help in understanding how configurations align with different setups. Keeping track of updates and testing changes in a controlled environment is also highly recommended. Re: Does dtb change the LAW configuration (T2080RDB)? Device Tree only reflects the local address map established by the bootloader. Linux does not change LAWs. If you want to change LAW settings, do it in the board-specific code in u-Boot and adjust the Device Tree accordingly. Re: Does dtb change the LAW configuration (T2080RDB)? Interesting question. From what I've seen, updating the DTB usually changes the hardware description and boot settings rather than modifying the LAW configuration directly, unless the firmware or board support package specifically ties them together. I found some useful background while checking Tarrant Property Details and it reminded me how important it is to verify configuration changes instead of assuming they're automatic. Comparing the before-and-after settings is probably the safest way to confirm whether LAW has actually been affected. Re: Does dtb change the LAW configuration (T2080RDB)? DTB behavior with LAW configuration on the T2080RDB can depend on the specific settings and software version being used. It may be helpful to review the configuration files and related documentation to confirm how parameters are applied. For additional reference on organized record systems resources like DeSoto Court Appeals can provide examples of structured data access. Checking logs and testing changes in a controlled setup can also help identify the exact impact.
查看全文
使用QTMER 脉冲输出功能脉冲数多发问题 大家好,我按手册46.7.5.12章的脉冲输出功能 Pulse-Output Mode,按照例程编写代码,用官方的开发板测试,能够发送脉冲,但是我用逻辑分析仪查看脉冲数有时正确,有时会多发一个,不知是什么问题。 请大家指点谢谢。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 您好, 你有没有找出根本问题所在?我的 RT1020 也有非常类似的情况,但我没有使用 Keil。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 Hi, 你这个波形是使用我分享的例程测测试出来的吗?如果不是,请直接下载我的工程用MCUXpresso IDE测试。 Have a great day, TIC ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: 使用QTMER 脉冲输出功能脉冲数多发问题 您有没有发送后在仿真状态下用软件复位在次发送呢?我用KEIL软件复位后再次执行代码就会发送不正确的脉冲数了,给板卡上电后第一次运行代码才能正常发送正确的脉冲数量。 另外你是否方便用keil做一下测试呢?或者看一下我发您的KEIL例程,用这个例程测试一下。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 Hi, 我使用的是MCUXpreeso IDE,因为我的输出是在GPIO_AD_B1_00, MIMXRT1050中J23-6,所以需要对其进行相关的引脚初始化,对应代码在BOARD_InitPins()函数中。 Have a great day, TIC ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: 使用QTMER 脉冲输出功能脉冲数多发问题 我发现代码下载到板卡每次按下板卡复位按键逻辑分析仪能抓到波形,每次按下后抓的波形和数量都是正确的,但是在keil调试状态用软件上的复位后在运行时用逻辑分析仪抓到的脉冲数量就会多一个,您可以试一下。看看什么原因。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 仿真时不出波形,板卡手动复位能抓到波形,但是波形也不对,脉冲数量也不对。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 板卡IMXRT1050-EVKB Re: 使用QTMER 脉冲输出功能脉冲数多发问题 引脚是J23的6 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 /* * 版权所有 2017-2020 NXP * 保留所有权利。 * * SPDX-License-Identifier:BSD-3-Clause */ /******************************************************************************* * 包括 ******************************************************************************/ #include "fsl_debug_console.h" #include "板.h" #include"bsp_tmr.h" //#include"fsl_qtmr.h" #include"pin_mux.h" #include"clock_config.h" /***************************************************** * 定义 ************************************************************//* 用于主板的 QTMR 实例/通道 */ #define BOARD_QTMR_BASEADDR TMR3 #define BOARD_FIRST_QTMR_CHANNEL KQTMR_0 #define BOARD_SECOND_QQNEL_0 BOARD_SECOND_QQNEL_0 kqtmr_CHANNEL kqtmr_channel_1 #define qtmr_clockCounterOutput kqtmr_clockCounter0O ut put /* 所用 QTMR 实例的中断编号和中断处理程序 */ #define QTMR_IRQ_ID TMR3_IRQn #define QTMR_IRQ_HANDLER TMR3_IRQHandler /* Ipg 时钟源的 QTMR 时钟源分频器,以下两个宏的值应对齐。*/ #define QTMR_PRIMARY_SOURCE (kqtmr_clockdivide_128) #define QTMR_CLOCK_SOURCE_DIVIDER (128U) /* 分频后的源时钟频率。 */ #define QTMR_SOURCE_CLOCK (CLOCK_GetFreq(kCLOCK_IpgClk) / QTMR_CLOCK_SOURCE_DIVIDER) /******************************************************************************* * Prototypes ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ volatile bool qtmrIsrFlag = false; /******************************************************************************* * 代码 ******************************************************************************/ void QTMR_IRQ_HANDLER(void) { /* Clear interrupt flag.*/ QTMR_ClearStatusFlags(BOARD_QTMR_BASEADDR, BOARD_SECOND_QTMR_CHANNEL, kQTMR_CompareFlag); qtmrIsrFlag = true; } /*! * @brief Main function */ int main(void) { uint32_t i = 0; qtmr_config_t qtmrConfig; gpio_pin_config_t gpt_config; gpt_config.direction = kGPIO_DigitalOutput; gpt_config.outputLogic = 0; gpt_config.interruptMode= kGPIO_NoIntmode; /* 主板引脚、时钟、调试控制台初始化 */ board_configmpu (); board_initPins (); board_bootclockRun (); board_bootclockRun (); board_initDebugCon GPIO_PinInit(GPIO1, 16,&gpt_config); QTMR_GetDefaultConfig(&qtmrConfig); /* 初始化输入通道。*/ qtmrConfig.primarySource= QTMR_PRIMARY_SOURCE; QTMR_Init(BOARD_QTMR_BASEADDR,BOARD_SECOND_QTMR_CHANNEL,&qtmrConfig); IpFreq=CLOCK_GetFreq(kCLOCK_IpgClk); //PlsueCh0Init(); PulseChxStream_Init(TMR3,TMR3_IRQn,100000,4,1,0,0x0A67); for(i=0;i<100000000;i++); PulseChxStream_Init(TMR3,TMR3_IRQn,100000,4,1,0,0x0A67); for(i=0;i<100000000;i++); PulseChxStream_Init(TMR3,TMR3_IRQn,100000,4,1,0,0x0A67); for(i=0;i<100000000;i++); PulseChxStream_Init(TMR3,TMR3_IRQn,100000,4,1,0,0x0A67); while (1) { } } 我把您的代码移植到qtmr_timer的例程里替换掉源文件,编译下载到板卡仿真,用逻辑分析仪抓取不到波形 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 您使用的是KEIL吗?我的是KEIL5.27,怎么打不开您的功能文件呢? Re: 使用QTMER 脉冲输出功能脉冲数多发问题 Hi, 我根据你分享的代码,修改SDK库中evkbimxrt1050_qtmr_timer代码来实现Pulse-Output Mode,测试下来功能是正常的。 PWM 输出脚为GPIO_AD_B1_00, MIMXRT1050中J23-6. 附件是我的代码。 Have a great day, TIC ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: 使用QTMER 脉冲输出功能脉冲数多发问题 使用的KEIL5.27开发环境 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 分析仪测量GPIO2的Pin6 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 Hi, 请分享完整的代码工程,我用MIMXRT1050 板子测试一下,看看能否复现问题。 Have a great day, TIC ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: 使用QTMER 脉冲输出功能脉冲数多发问题 我是想用这种方式来控制步进电机做角度控制,如果发送的脉冲数量不正确肯定会影响电机转动角度的精度。 我反复测试,感觉是 QTMER通道0在计数比较后没有及时的关闭输出,造成输出通道多发送了一个脉冲。 感觉还是芯片硬件上的问题,我的程序是严格按照手册的示例来做的。您也可以用1052-EVK实际测试一下。 如果你有代码示例,发我,我来用逻辑分析仪测试。                                      谢谢! Re: 使用QTMER 脉冲输出功能脉冲数多发问题 您好,这种现象不是有规律的发生,有时会发送数量正确,有时就连续发送多次都错误(总是多发1个)。 还有时会发送一次数量是对的,再发一次数量多一个,这样交替。 但是,每次复位芯片后第一次发送数量是对的,在发送一次就不对了。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 Hi, 你所说的多发现象是每次都会发生吗?还是存在固定的比率或发生次序呢? Have a great day, TIC ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: 使用QTMER 脉冲输出功能脉冲数多发问题 我将LENGTH=0是想发送完毕后读取CNTR中的数值,LENGTH=1后就会在计数完成后CNTR就被预装载了新值,这样就读不到数值了。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 您好:我将LENGTH=1后计数仍然不正确,有时会多发1个脉冲,反复测试脉冲只会多发不会少发。 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 您好, 感谢您对恩智浦半导体产品的关注并有机会为您服务。 在阅读了您的演示代码后,它与 RM 中的代码基本相同(如图所示)。 我发现下面的代码与注释不一致,请仔细检查。 // 定时器3的输出是该定时器的时钟源。 /* TMR1_CTRL: CM=0,PCS=7,SCS=0,ONCE=1,LENGTH=1,DIR=0,COINIT=0,OUTMODE=7 */ TIMx->CHANNEL[OutChanel].CTRL=OutMode; /* 0x0A47 设置模式 TMR3的定时器1作为通道0的时钟源 */ 祝您愉快, TIC ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"标记正确" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: 使用QTMER 脉冲输出功能脉冲数多发问题 使用的47.6.5.12 Pulse-Output Mode 使用的这个例程 TIMx->CHANNEL[OutChanel].CTRL&=~TMR_CTRL_CM_MASK; /* 复位计数器 */ TIMx->CHANNEL[TimChanel].CTRL&=~TMR_CTRL_CM_MASK; /* 复位定时器 */ //选择IP_bus_clk / 16作为定时器3的时钟源 /* TMR3_CTRL:CM = 0,PCS = 0x0C,SCS = 0,ONCE = 0,LENGTH = 1,DIR = 0,COINIT = 0,OUTMODE = 3 */ // TMR3->CHANNEL[1].COMP1=CLOCK_GetFreq(kCLOCK_IpgClk)/128/Plusefreq; /* (16 * 37500)/ 60e6 = 0.01秒 */ if(Plusefreq<10000) { TIMx->CHANNEL[TimChanel].CTRL=0x1E23; /* 设置模式 */ TIMx->CHANNEL[TimChanel].COMP1=IpFreq/128/(Plusefreq); } else { TIMx->CHANNEL[TimChanel].CTRL=0x1023; /* 设置模式 */ TIMx->CHANNEL[TimChanel].COMP1=IpFreq/1/(Plusefreq); } /* TMR3_SCTRL:TCF = 0,TCFIE = 0,TOF = 0,TOFIE = 0,IEF = 0,IEFIE = 0,IPS = 0,INPUT = 0, 功能说明 Capture_Mode = 0,MSTR = 0,EEOF = 0,VAL = 0,FORCE = 0,OPS = 0,OEN = 0 */ TIMx->CHANNEL[TimChanel].SCTRL=0x00; TIMx->CHANNEL[TimChanel].LOAD=0x00; /* 重置加载寄存器 */ /* TMR3_CSCTRL: DBG_EN=0,FAULT=0,ALT_LOAD=0,ROC=0,TCI=0,UP=0,OFLAG=0, TCF2EN=0,TCF1EN=0,TCF2=0,TCF1=0,CL2=0,CL1=0 */ TIMx->CHANNEL[TimChanel].CSCTRL=0x00; /* 设置比较器控制寄存器 */ // 定时器3的输出是该定时器的时钟源。 /* TMR1_CTRL: CM=0,PCS=7,SCS=0,ONCE=1,LENGTH=1,DIR=0,COINIT=0,OUTMODE=7 */ TIMx->CHANNEL[OutChanel].CTRL=OutMode; /* 0x0A47 设置模式 TMR3的定时器1作为通道0的时钟源 */ /* TMR1_SCTRL: TCF=0,TCFIE=0,TOF=0,TOFIE=0,IEF=0,IEFIE=0,IPS=0,INPUT=0, Capture_Mode=0,MSTR=0,EEOF=0,VAL=0,FORCE=0,OPS=0,OEN=1 */ TIMx->CHANNEL[OutChanel].SCTRL=0x0001; TIMx->CHANNEL[OutChanel].CNTR=0x00; /* 重置计数器寄存器 */ TIMx->CHANNEL[OutChanel].LOAD=0x00; /* 重置加载寄存器 */ TIMx->CHANNEL[OutChanel].COMP1=PluseData; /* 设置比较1个寄存器 输出的脉冲数*/ // 设置为在最后一个脉冲之后中断 /* TMR1_CSCTRL: DBG_EN=0,FAULT=0,ALT_LOAD=0,ROC=0,TCI=0,UP=0,OFLAG=0, TCF2EN=0,TCF1EN=1,TCF2=0,TCF1=0,CL2=0,CL1=0 */ TIMx->CHANNEL[OutChanel].CSCTRL=0x40; /* 设置比较器控制寄存器 */ // 最后,启动计数器运行 TIMx->CHANNEL[TimChanel].CNTR=0; /* 重置计数器 */ // /*设置中断优先级,*/ // set_IRQn_Priority(IRQn,Group4_PreemptPriority_6, Group4_SubPriority_0); // /*开启中断 */ // EnableIRQ(IRQn); TIMx->CHANNEL[OutChanel].CTRL|=(1<<13); /* 运行计数器 */ TIMx->CHANNEL[TimChanel].CTRL|=(1<<13); /* 运行源时钟计数器 */ 这是我改动的例程 Re: 使用QTMER 脉冲输出功能脉冲数多发问题 示例:47.6.5.12.1 使用两个计数器的脉冲输出//(参见处理器专家 PulseStream bean。)//此示例从 QT1 输出生成六个 10 毫秒脉冲。// 假设芯片工作频率为 60 MHz。// // 为此,使用定时器 3 生成一个周期为 10ms 的时钟。////定时器 1 用于为这些时钟设置门控并计算已生成的脉冲数量。//void PulseStream_Init (void) {//选择 IP_bus_clk/16 作为定时器 3 的时钟源 /* TMR3_CTRL:CM=0,PCS=0x0C,SCS=0,ONCE=0,LENGTH=1,DIR=0,COINIT=0,OUTMODE=3 */ setReg (TMR3_CTRL,0x1823); /* 安装模式 */ /* TMR3_SCTRL:TCF=0,TCFIE=0,TOF=0,TOFIE=0,IEF=0,IEFIE=0,IPS=0,INPUT=0,功能描述 i.MX RT1050 处理器参考手册,修订版 1,03/2018 2726 恩智浦半导体 Capture_Mode=0,MSTR=0,EEOF=0,VAL=0,FORCE=0,OPS=0,OEN=0 */ setReg(TMR3_SCTRL,0x00);setReg(TMR3_LOAD,0x00);/* RESET 负载寄存器 */ setReg(TMR3_COMP1,37500);/*(16 * 37500)/60e6= 0.01 高效密码学标准(SEC) */ /* TMR3_CSCTRL:DBG_EN=0,FAULT=0,ALT_LOAD=0,ROC=0,TCI=0,UP=0,OFLAG=0,TCF2EN=0,TCF1EN=0,TCF2=0,TCF1=0,CL2=0,CL1=0 */ setReg (TMR3_CSCTRL,0x00); /* 安装比较器控制寄存器 *///定时器 3 的输出是该定时器的时钟源。/* TMR1_CTRL:CM=0,PCS=7,SCS=0,ONCE=1,长度 = 1,DIR=0,COINIT=0,OUTMODE=7 */ setReg(tmr1_Ctrl,0x0E67);/* 设置模式 */ /* TMR1_SCTRL:TCF=0,TCFIE=0,TOF=0 0、TOFIE=0、IEF=0、IEFIE=0、IPS=0、INPUT=0、Capture_Mode=0、MSTR=0、EEOF=0、VAL=0、FORCE=0、OPS=0、OEN=1 */ setReg (tmr1_sctrl,0x01);setReg (tmr1_cntr,0xtr,0xtr,0x01) 00); /* RESET 计数器寄存器 */ setReg (tmr1_load,0x00); /* RESET 负载寄存器 */ setReg (tmr1_comp1,0x04); /* 设置比较 1 寄存器 *///设置为最后一个脉冲之后中断 /* TMR1_CSCTRL: DBG_EN=0, FAULT=0, ALT_LOAD=0, ROC=0,TCI=0,UP=0,OFLAG=0,TCF2EN=0,TCF1EN=1,TCF2=0,TCF1=0,CL2=0,CL1=0 */ setReg (tmr1_csctrl,0x40); /* 设置比较器控制寄存器 *///最后,启动运行 setReg (TMR3_CNTR,0) 的计数器;/* RESET 计数器 */ setRegbitGroup (TMR3_CTRL,cm,0x01);/* 运行源时钟计数器 */ setRegbitGroup (TMR1_CTRL, cm,0x01); /* 运行计数器 */ Re: 使用QTMER 脉冲输出功能脉冲数多发问题 我需要发送准确的脉冲数量来控制步进电机转动一定的角度,发送的脉冲数量不能多也不能少,这样才能保证角度准确。 我现在实现了10HZ-500KHZ的频率发送,就是脉冲数有多发现象,打断点调试时感觉是手册例程TMR1关断不及时造成会多发一个,监控CNTR的计数值和比较寄存器的值是一样的,有点头大不知什么问题了,请大家指点一下。感谢
查看全文
I need BLF573 ADS-2009 Model urgent but the web link is broken. please send me BLF573 ADS-2009 model I am an electrical Engineering student. I need the BLF573 ADS-2009 Model for some simulations for my project but i am unable to download it from internet as the link is broken. I submitted a ticket week ago but the problem is still not resolved. Now i have asked again and they told me if i need it urgent i should contact to the technical community. Please send me BLF573 ADS-2009 Model. I would be very grateful. Thanking in advance. Best Regards, Fatima tu Zahr Re: I need BLF573 ADS-2009 Model urgent but the web link is broken. please send me BLF573 ADS-2009 m Hi, fatimatuzahra, This Part was transferred from Ampleon to Flip Electronics. I believe we do have stock on this item and we will be glad to assist where we can. www.flipelectronics.com Re: I need BLF573 ADS-2009 Model urgent but the web link is broken. please send me BLF573 ADS-2009 model Please contact Ampleon for the BLF573 ADS2009 Model. http://www.ampleon.com/search.html?q=blf573  Have a great day, Andrei ----------------------------------------------------------------------------------------------------------------------- Note: If this post answers your question, please click the Correct Answer button. Thank you! -----------------------------------------------------------------------------------------------------------------------
查看全文
NfcCockpit 启动问题 我在启动 Nfcockpit 时遇到一个问题,如截图所示。 这个问题开始出现后,我无法与我的 PN5180 分组板建立连接。 突然出现这个问题的原因是什么? 我该如何解决这个问题? 日志附后。 谢谢您! NFC读卡器库 Re: NfcCockpit startup issue 谢谢你的建议! 我能够使用 python/任何串行连接与设备通信并与实际的 PN5180 交换 SPI 数据,所以驱动程序应该没问题... Re: NfcCockpit startup issue 请仔细检查驱动程序。请阅读第 3 章关于驱动程序安装的内容。 PN5180 评估板快速入门指南
查看全文
FLEXIO MODULE Here explain me every parameter of this module and how to configure it.....specially WHAT DOES IT MEAN BY Flexio channel ??? like which channel and what Re: FLEXIO MODULE Hi, this is from device web page directly, there are few other training material, nothing more is available. BR, Petr Re: FLEXIO MODULE hello brother...than you for for providing Flexio training module........can you please provide me all the training modules with RTD related s32k311 or s32k3xx Re: FLEXIO MODULE Hi, please refer to below training material, which can address questions for FlexIO_MCL component https://www.nxp.com/webapp/Download?colCode=16_S32K3XX_COMMUNICATION_MODULES_FLEXIO_WITH_RTD BR, Petr
查看全文
How to implement TLS handshake on SE05x Hi everyone, Currently, I am looking to implement the TLS protocol on the SE050. I have read the document https://www.nxp.com/docs/en/application-note/AN12400.pdf, but I haven’t found any example demonstrating how to do it. Therefore, if anyone has experience implementing TLS on the SE050, I would greatly appreciate your support. Thanks, Duong SE050 Re: How to implement TLS handshake on SE05x Hi @yang_lee , So far we just have guide for Android 9 in simw-top/doc/akm/Readme.html, so you have to adapt it for the version you are using.  Sorry for the inconvenience that might cause, Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: How to implement TLS handshake on SE05x HI @Kan_Li , Thank you for your timely support. I am currently also looking to build the SE050 Plug & Trust Middleware on the i.MX8MQ Android OS in order to implement security features on my device. However, it seems there is no official documentation available that explains how to build the SE050 library for Android. If you know of any documents or resources that could guide me, I would greatly appreciate it.   DuongLV Re: How to implement TLS handshake on SE05x Hi @yang_lee , There is a tls client demo for your reference within the MW , please kindly refer to "SE-PLUG-TRUST-MW_04.07.01\simw-top\doc\demos\linux\tls_client" for more details. The source  code may be found in "C:\SE-PLUG-TRUST-MW_04.07.01\simw-top\demos\linux\tls_client" Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
查看全文
ECC Monitoring Enable for AXBS, Flash and RAM Array on MPC5746C Hello, I am working on a software safety requirement where ECC detection must be enabled on AXBS crossbar, Flash array, RAM array, DMA RAM, and FlexRay RAM. For DMA RAM and FlexRay RAM, we found ECC-related control bits in registers DMA_ES and FR_MCR (see attached screenshots). However, we couldn't find similar control bits for AXBS, Flash array, and RAM array in the MPC5746C reference manual. Is ECC detection and correction enabled by default for AXBS, Flash and RAM arrays on MPC5746C? Or is there any specific way or register to enable ECC for these? Thanks in advance. Nilesh Re: ECC Monitoring Enable for AXBS, Flash and RAM Array on MPC5746C Hi Peter, For the same topic I am trying to implement an interrupt based method to Monitor ECC for DMA via DMA_ES[UCE]. from our conversation we know that ECC for DMA is enabled by default. Now here is the issue , its a read only bit,  The DMA_ES.UCE bit is set automatically by the eDMA hardware when an uncorrectable ECC error occurs during channel execution, as described in section 68.4.2 of the manual.  To verify the behavior of DMA_ES.UCE, we need to manipulate the eDMA system to create an error scenario, such as corrupting the TCD memory. Is there any way to achieve this results where we can get the ECC bit set as we introduce the error. if so what can be approach to do so ? Re: ECC Monitoring Enable for AXBS, Flash and RAM Array on MPC5746C Thanks for the quick reply, Peter Re: ECC Monitoring Enable for AXBS, Flash and RAM Array on MPC5746C Hello, 1. AXBS (Crossbar Switch) End-to-End ECC (e2eECC) is supported across all bus masters and interconnects. ECC is enabled by default for transactions through AXBS, ensuring data integrity from source to destination  2. Flash Memory ECC is enabled by default for Flash memory. The C55FMC (Flash Memory Controller) handles ECC generation and checking. Single-bit errors are automatically corrected, while multi-bit errors are detected and reported to the ERM/MEMU modules    3. RAM Arrays ECC support is available for internal SRAM and enabled by default. ECC configuration for RAM is typically done via ERM (Error Reporting Module) or MEMU (Memory Error Management Unit) registers. best regards, Peter
查看全文
i.MX 8ULP mmc boot partition fallback detection Hi When booting from eMMC boot0/boot1 partitions (through ext_csd PARTITION_CONFIG setting), the i.MX 8ULP boot rom (?) automatically falls back to the other partition if a partition was not bootable. For example, writing the imx-boot image onto /dev/mmcblk0boot1 (of 0/1) but setting the MMC to 1 (of 1/2) will still successfully boot. Our problem is that our current code bases the decision to pick the u-boot env partition and linux root partition based on EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config), but that might not be the partition that actually booted. In that case, further updates can overwrite the "good" imx-boot version on the "other" side when trying to replicate what they think is the imx-boot that currently booted, rendering the device unbootable without physical intervention (serial downloader or similar) So, is there a way to get the currently booted partition of the MMC device in case of MMC boot? For exampe we currently query the boot device through the rom api (rom_api_query_boot_infor(QUERY_BT_DEV...)), perhaps it has an API I didn't see that would allow querying the actually booted bootpart? Thank you
查看全文
U-Boot: usb gadget crashes with higher log levels (SolidRun i.MX 8XLite SoM, lf_v2022.04) Using the i.MX 8XLite System-on-Module by SolidRun on a custom base board here. U-Boot is on branch lf_v2022.04 with few patches by SolidRun on top. This is the latest code provided by SolidRun for this SoM. The USB OTG features work fine with `CONFIG_LOG_MAX_LEVEL` up to 6. For log level >= 7 calling `usb_gadget_initialize()` leads to a crash/exception when `ci_udc_otg_probe()` calls `pinctrl_select_state(&priv->otgdev, "default")`. This happens for example when typing 'ums 0 mmc 0' or 'fastboot usb 0' in U-Boot console. See console log output, here with some instrumentational log messages added: drivers/usb/gadget/ci_udc.c:1427-    ci_udc_otg_probe() ci-udc-otg usbg1: entering ci_udc_otg_probe() drivers/usb/gadget/ci_udc.c:1428-    ci_udc_otg_probe() ci-udc-otg usbg1: priv: 00000000bd876aa0 drivers/usb/gadget/ci_udc.c:1430-    ci_udc_otg_probe() ci-udc-otg usbg1: calling devfdt_get_addr(00000000bd876c20) drivers/usb/gadget/ci_udc.c:1432-    ci_udc_otg_probe() ci-udc-otg usbg1: ehci: 000000005b0d0000 drivers/usb/gadget/ci_udc.c:1434-    ci_udc_otg_probe() ci-udc-otg usbg1: calling pinctrl_select_state(00000000bd876c20, "default") "Synchronous Abort" handler, esr 0x96000007 elr: 00000000800719bc lr : 0000000080084b38 (reloc) elr: 00000000bfcb89bc lr : 00000000bfccbb38 x0 : 00000000bd876c20 x1 : 00000000bfd15e50 x2 : 0000000000000000 x3 : 00000000bd864f18 x4 : 00000000ffffffff x5 : 00000000bd864f18 x6 : 00000000ffffffff x7 : 0000000000000009 x8 : 000000000000002c x9 : 0000000000000008 x10: 00000000bfd01c66 x11: 0000000000000002 x12: 0000000000002080 x13: 0000000000000000 x14: 0000000000000000 x15: 00000000bfc67e50 x16: 0000000000000000 x17: 0000000000000000 x18: 00000000bd864d70 x19: 00000000bd876c20 x20: 00000000bfd15e50 x21: 00000000bd876aa0 x22: 00000000bd876c20 x23: 000000005b0d0000 x24: 00000000bfd03e78 x25: 00000000bfd1f178 x26: 0000000000000000 x27: 0000000000000000 x28: 0000000000000000 x29: 00000000800200d0 Code: aa0003f3 aa0103f4 b40004a0 f9400002 (b9400840)   Resetting CPU ... ### ERROR ### Please RESET the board ### I consider this a bug introduced by NXP in the downstream changes to the ci-udc-otg driver, especially the dm support added with Git commit v2022.04-313-g316a3cb4c2b ("MLK-22336-1 usb: ci_udc: Convert driver to DM_USB_GADGET"), already committed back in 2019 by Sherry Sun, but that never made it to mainline U-Boot. I suspect the member `struct udevice otgdev` in the priv struct of the driver is not correctly initialized? Is this forum the right place to discuss those issues? Where should such bugs be reported? Will those driver changes eventually be upstreamed to mainline U-Boot master?
查看全文
🚀 Kinara Q3 2025 Unofficial Internal Packages Release Hi Team, 🎉 Great news! The Kinara internal release for Q3 2025 is now live and ready for testing! This is your chance to get hands-on with the latest packages before the official release. 📦 Available Packages:     ⚡ rt-sdk-ara2     🕵🏼 yolov8n-gstreamer-ara2     🗨️  llm-edge-studio     📸 llava-at-edge     🎥 qwen2.5-vl-gradio 🔗 Access all packages here: Kinara Q3 Packages Folder 🧪 What’s This Release About? This is an UNOFFICIAL INTERNAL RELEASE 🚫 for testing only Based on Kinara SDK version r1.2.1 Focused on validating the Q3 image Will be supported only until the official release with SDK r1.3.0 and BSP 6.12.32_2.1.0 🧰 Key Features: ✅ FFMPEG is included — no need to build it manually! 🎥 ✅ Test board: i.MX 8MP FRDM ✅ You can also try it on: i.MX 95 FRDM & i.MX MR FRDM ✅ Official release will support all 3 boards mentioned above 🤝 Want to Contribute? If you have i.MX 95 FRDM or i.MX MR FRDM images with FFMPEG support, please let me know! I’ll upload them so others can use them too 🙌 🛠️ Found an Issue? Submit a ticket via JIRA: 🔗 MICRSE JIRA Board Component: K-NPU: Assignee: Juan Jorge Mendoza 🙋‍♂️ ⏳ Reminder: If you hit any issues, feel free to report them — or wait for the next official release coming soon! 🚀 Thanks for your support and happy testing! 🧪 All feedback are welcome! ☺️
查看全文
The TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply Hello, I‘m using LS1046A. From the checklist, I learned that 'Should only be supplied 1.8 V during secure boot programming. For normal operation, this pin needs to be pulled down through a resistor.' But for some reason, the TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply in our design. May I ask what risks this design has? Thank you! Re: The TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply Hello @KunChen  Hope this post finds you well, You are welcome, glad I could help. If there’s anything else I can assist you with, please don’t hesitate to reach out.  Have a great day!. Best Regards, Hector Villarruel S Re: The TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply Hi Hector, Thank you for your reply. Re: The TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply Hello @KunChen  Hope this post finds you well, Regarding your questions, The consequences of this behavior will be that the fuse  will blow, causing to overwrite the same information that it has previously and it will not be possible to program it again. Please refer to the following information from the Section 4 Security fuse processor QorIQ LS1046A, LS1026A Data Sheet, Rev. 4, 06/2020. To program SFP fuses, the user is required to supply 1.8 V to the TA_PROG_SFP pin per Power sequencing. TA_PROG_SFP should only be powered for the duration of the fuse programming cycle, with a per device limit of six fuse programming cycles. All other times, TA_PROG_SFP should be connected to GND. The sequencing requirements for raising and lowering TA_PROG_SFP are shown in Figure 9. To ensure device reliability, fuse programming must be performed within the recommended fuse programming temperature range per Table 4. Have a great day! BR, Hector Villarruel
查看全文
MCXW71 执行 NBU 固件更新后,调试无法继续,错误:Wire Ack Fault - target 你好,根据步骤,创建新工作空间并版本可启动映像。在菜单栏中选择 "工具"> "制造工具",执行 "写入图像 "后,执行 "应用 SB 图像",''mcxw71_nbu_ble_1_9_14_0.sb3" 。NBU 固件更新成功后。现在,在 MCUXpresso IDE 中调试程序时,调试无法进行,出现错误:Wire Ack Fault - target connected. 启动 ROM | 启动配置 | 闪存 安全(Edgelock | 安全启动 | OTP) 回复: After MCXW71 performs NBU Firmware update, debugging cannot proceed, Error: Wire Ack Fault - tar 已解决!跳线没有连接,谢谢!
查看全文