Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
NXP S32M276CHABMKHSR VPRE output voltage range Hello,  I have a question about the VPRE output voltage range of NXP S32M276XX IC. I used external P-MOSFET voltage-regulator for VPRE in my design as below shows. Ted_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.png When external P-MOSFET regulator is activated(set CONFIG-VPREEXT = 1), the output voltage of VPRE pin is around 7.0V; When external P-MOSFET regulator is not activated(set CONFIG-VPREEXT = 0, then internal regulator to be used), the output voltage of VPRE pin is around 6.3V. The status that I described is normal or not? What exactly output range is the VPRE in both status? By the way, In the datasheet, the typical output voltage of VPRE is 6.4V. Ted_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.png Re: NXP S32M276CHABMKHSR VPRE output voltage range Hello @Ted_Qiao, The two regulators, one using the external ballast PMOS and the other using the internal ballast PMOS, are enabled by default. The external regulator has a slightly higher regulation point, so it is the only one active under normal conditions. The internal regulator becomes active only when the external regulator is disabled. The exact regulation points are not specified in the datasheet. Only a typical value of 6.4 V is provided for both the internal and external regulators. The actual regulation point depends on production variations and operating conditions. For example, on my EVB I measured approximately 6.2 V with the internal ballast PMOS and approximately 6.8 V with the external ballast PMOS. The absolute maximum rating for VPRE is 7.5 V, so the voltage you measured is well below this limit. BR, Daniel Re: NXP S32M276CHABMKHSR VPRE output voltage range Hi @Ted_Qiao, Between resets, these bits can only be changed once, from 1 to 0. As shown below, the reset value of both bits is 1, and they can only be written to 0. Therefore, if you need to change any of them back to 1, the MCU must be reset. danielmartynek_0-1788937659360.pngdanielmartynek_0-1788937659360.png danielmartynek_1-1788937747975.pngdanielmartynek_1-1788937747975.png Regards, Daniel Re: NXP S32M276CHABMKHSR VPRE output voltage range Hi Daniel, Thanks for your explanation. It's clear for me now. My further question, how could I switch freely between internal regulator mode and external regulator mode in application software? I try to set the relevant register according to [S32M27x Reference Manual], Set if using VPRE internal regulator (VPREINT=1, VPREEXT=0) or using VPRE external regulator (VPREINT=0, VPREEXT=1). But it could not switch freely during operating mode.  The background for doing it is that I want to do some tests with the regulator mode switching. Thanks!  Ted_Qiao_0-1788917986227.png
View full article
88W9098 エネルギー検出 (ed_mac) チューニング こんにちは、 私たちは、SDIO経由でSDR50で動作するu-blox M2-JODY-W377に88W9098を使用しています。githubからlf-6.18.20_2.0.0のドライバ/ファームウェアバージョンがあります。2.4GHzチャネル6のアクセスポイントとして使っています。 ed_macを有効にする(wifi_mod_para.confで「init_hostcmd_cfg=nxp/ed_mac.bin」を使ったり、mlanutlをed_mac_ctrl_V3_909x.confで使用したり)すると、社内の適用テストの安定性やレイテンシが大幅に悪化する問題に直面しています: ed_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.png ここで詳しくは説明できませんが、これは複数のマシンを使い、88W9098アクセスポイントを中央に配置して、特定の社内段階をエンドツーエンドでレイテンシ測定するものです。ed_macを使うと平均200〜250ms高い曲線もありますが、全体的にカゲが強く、ランダムな「レイテンシ」が増えることもあります。 オフセット「ed_ctrl_2g.offset」を調整してみました。そして「ed_ctrl_5g.offset」をデフォルトの0x8とは異なる値に設定しましたが、試したどの値もテストには影響しませんでした。影響を与える唯一の方法は、有効化(2g/5g)を0にするか、起動時にファイルを読み込まないことです。 他に試せることはある? Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 詳細な説明とテストデータをありがとうございました。ed_mac(エネルギー検出MAC)機能の設計上、実際に見られる動作は想定内ですが、いくつか確認して明確にしておくべき点があります。 なぜed_mac APモードでレイテンシが高くなるのか ed_mac機能は、EU ETSI EN 300 328適応性適合性試験のために特別に設計されています。その基本的な仕組みは、ファームウェアがチャネル上のエネルギーを閾値以上に検知した場合に、送信を能動的に抑制することです。アクセスポイントのシナリオでは、無線機が周囲エネルギーを検知するとバッファリングされたダウンリンクパケットが直接遅延し、測定しているレイテンシスパイクや「バースト」が発生します。オフセットパラメータを調整すると閾値感度(無線機のトリガーのしやすさ)は変わりますが、抑制動作自体は消えません。だからこそ、オフセット値がエンドツーエンドのレイテンシテストに測定可能な影響を与えなかったのです。 設定ファイルの不一致 あなたはed_mac_ctrl_V3_909x.confを使用しているようですね。当社のアプリケーションノートAN13756によると、88W9098の正しい設定ファイルは ed_mac_ctrl_V2_909x.conf です(デフォルトはed_ctrl_2g.offset = 0x08、ed_ctrl_5g.offset = 0x08)。V3バージョンは、ed_ctrl_txq_lockフィールドの値が異なり、このデバイスの検証済み構成ではありません。ed_mac_ctrl_V2_909x.confを使って、レイテンシの影響が改善するか試してみてください。 重要な質問:貴社の展開において、EUの適応性に関する要件を満たす必要がありますか? ETSI EN 300 328の適応性要件は、EU/EEA市場で運用され、最大RF出力が10 dBm EIRP以上と宣言されている機器にのみ適用されます。確認いただけますか: この機器はEU域内で展開されており、ETSI EN 300 328認証の対象となっていますか? あなたのモジュール(u-blox M2-JODY-W377)の宣言されたRF出力電力はどれくらいですか? EU準拠があなたのユースケースに必要でない場合、正しい解決策は単純 にed_mac構成をロードしない ことです。すでに確認済みでレイテンシ問題は完全に解決されます。 コンプライアンスが必要な場合は、まずed_mac_ctrl_V2_909x.confに切り替えることをおすすめします。レイテンシの問題が続く場合は、APモードの挙動を改善するための新しいファームウェアバージョンがあるかどうか検討できます。 上記の質問への回答をお知らせください。それに応じて対応させていただきます。 よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning ウェイドンさん、ありがとう。はい、製品は確実に10dBm以上のEIRPを出力しており、EN 300 328準拠が必要です。 ed_mac_ctrl_V2_909x.conf ( https://github.com/u-blox/u-blox-sho-host-based/blob/main/JODY-W3/txpower_config/ed_mac_ctrl_V2_909x.conf ) を試してみましたが、動作に変化はありませんでした。 私たちが理解していないのは、このモジュールをDoodleLabs(QCA988Xベース)のものと交換し、同じ環境で同じテストを行うと、EN 300 328も認証される一方で、レイテンシの問題は全くないということです。だから、なぜ88W9098のed_mac実装がこのような問題を引き起こすのに、他のチップメーカーのものは起きないのか疑問に思っています。 バージョンlf-6.18.20_2.0.0の他に、hotfix/lf-6.12.49_2.2.0_hotfixも試しましたが、問題は依然として発生しています。 さらに詳しい情報はこちら: * JODYのアクセスポイントには2つのステーションがあります。 * テスト中にステーションとJODYの間で使用される帯域幅は非常に低い(約6KiB/s)ですが、主にSTA→AP方向の小さなパケットが多数含まれています。 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、   お客様のご依頼内容を社内チームに報告いたしました。専門家の回答を一緒に待ちましょう。何か新しい情報が入り次第、すぐに皆さんと共有します。   よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 内部チームがこの問題を分析中です。以下の情報を教えていただけますか?社内チームから以下のフィードバックを受けました。 ====================================================== ドライバーのロードパラメータと、問題を再現するために使われた完全なドライバーのロード/アンロードコマンドシーケンス。 ed_mac_ctrl_V2_909x.conf 設定ファイル。 ログ さらなる調査のために、問題を再現する際に取得した画像です。 ホストの詳細(以下を含む): ホストプラットフォーム カーネルバージョン ドライバーバージョン 使用されているインターフェース(PCIe/SDIO)   これらの詳細は、お客様のセットアップと社内テストを関連付け、分析を迅速化するのに役立ちます。 ====================================================== ありがとうございます よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 何か進展はありましたか? よろしくお願いします! よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning こんにちは、ウェイドンさん。現在you-bloxで問題のトラブルシューティングを行っているので、もしNXPにエスカレーションされた場合に備えて衝突を防ぐため、今は彼らとだけ相談するつもりです。助けてくれてありがとう。 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 はい、わかりました。 最新情報のご提供ありがとうございます。 よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 弊社の社内チームは、お客様からご報告いただいた問題に関して、追加のテストを実施いたしました。検査結果を皆様と共有したいと思います。調査に役立つ洞察が得られれば幸いです。 ================================================ リリースSD9098---17.92.1.p149.159-MM6X17552.p22 (FP92)を使用したQA環境で問題を検証しましたが、問題は再現しませんでした。 観察されたpingレイテンシは 約1〜2秒でした。 テスト手順: ビルドをロードし、リリース構成フォルダにあるデフォルトのed_mac_ctrl_V2_909x.confを使用してEDMACを有効にしました。 CH6でAPUTを起動しました。 2人の元STAをつなげた。 旧STAからAPUTへのpingテストを実施しました。 テストされたシナリオ: auto_ds=1、ps_mode=1 auto_ds=2、ps_mode=2 HT20およびHT40で構成されたAPUT セキュリティモード:OPENおよびWPA3 旧STA省電力モード:有効と無効 顧客が観察した問題を分析し再現するために、以下の情報も提供していただけませんか: お客様が使用するファイル/ビルドの詳細を読み込む 構成とテスト環境の詳細 顧客のセットアップで観察されたノイズ/干渉レベル 顧客側からの関連ログ この情報を得れば、より深い分析を行い、問題の再現を試みることができます。 ================================================ ありがとうございます。 よろしくお願いいたします。 維東
View full article
spi: spi_nxp_lpspi: DMA モード、-EIO または破損したデータを返します こんにちは、みんな 最近、SPI DMAのマルチセンサー通信で問題が発生しました。SPIトランザクションが-EIOで返却されるか、データが破損している場合です。私が見つけたドライバに掘り下げると、spi_nxp_lpspi転送開始時に両方のLPSPI DMA要求有効ビットを有効にしますが、転送の最後には1ビットだけが無効になります。2つのDMAチャネルのうち2番目に終了するものが、自身のDERビットをクリアせずにSPIコンテキストを完了するため、各転送は次のリクエストに1つのEnable Leakを送ります。 In ドライバ/spi/spi_nxp_lpspi/spi_nxp_lpspi_dma.c, 両方のビットがtransceive_dma()(:346)で同時に有効化されています: if (channel == dma_data->dma_tx.channel) { spi_mcux_issue_TCR(spi_dev); dma_data->state = LPSPI_TRANSFER_STATE_TX_DONE; base->DER &= ~LPSPI_DER_TDDE_MASK; } else { dma_data->state = LPSPI_TRANSFER_STATE_RX_DONE; base->DER &= ~LPSPI_DER_RDDE_MASK; } lpspi_dma_callback()では、最初に終了するチャネルが自分のビットをクリアします(:249–:253): if (channel == dma_data->dma_tx.channel) { spi_mcux_issue_TCR(spi_dev); dma_data->state = LPSPI_TRANSFER_STATE_TX_DONE; base->DER &= ~LPSPI_DER_TDDE_MASK; } else { dma_data->state = LPSPI_TRANSFER_STATE_RX_DONE; base->DER &= ~LPSPI_DER_RDDE_MASK; } 両方のビットをクリアすると、すべてのトランザクションが警告なしに通過するようです。以下は私が使用したパッチです。 @@ lpspi_dma_callback() case LPSPI_TRANSFER_STATE_TX_DONE: case LPSPI_TRANSFER_STATE_RX_DONE: dma_data->state = LPSPI_TRANSFER_STATE_RX_TX_DONE; /* TX and RX both done here. */ + base->DER &= ~(LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK); spi_context_complete(ctx, spi_dev, 0); spi_context_cs_control(ctx, false); break; @@ error: + base->DER &= ~(LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK); LOG_ERR("DMA callback error with channel %d.", channel); spi_context_complete(ctx, spi_dev, ret); spi_context_cs_control(ctx, false); 添付は私が使ったテストアプリケーションです。上記の解決策がアプリに組み込まれています。 私の質問は、ドライバーが片方だけクリアして両方がクリアされない理由があるのでしょうか?
View full article
TJA1410 - TXはフルスイングしません 私はカスタム基板上でTJ1410Aを使用しています。このPMDチップと連携できるMacを評価中です。データが差動線でこのPMDチップに送信されると、データフレームは3線式RX(MACに対するRX)でMACに送信されます。TJ1410チップに供給されるVCCは3.3Vで、RX(3.3Vでハイレベル)に何らかの動作が見られます。現在は、活動が3.2Vから2Vの間で変動する(以前は3.3Vから0Vの間で変動していた)。そのためMacはこれをRXハイと認識し、静かだと思い込んでしまいます。電圧振幅が正しくないのはなぜですか?(オシロスコープのキャプチャ画面を添付します)。また、この部品(TJ1410)のデータシートをお持ちでしたら、ぜひ共有してください。 bitmasker_0-1788968416352.png Re: TJA1410 - TX does not have full swing こんにちはビットマスク 良い一日! VIOピンの接続を確認してもらえますか?VIOが電源に接続されているか確認してください。TJA1410AはVIOで1.8Vから3.3Vまで対応しています。VCCで3.3Vを供給しているのにVIOが開いたまままたは接続されていない場合、RX出力がグラウンドにスイングできません。 データシートは公式ウェブサイト TJA1410「ドキュメント > Secure」セクションでご覧いただけます。 残念ながら、これは機密ファイルなので、アクセスするには当事務所とのNDAが必要です。NDAに署名したい旨を伝えるサポートチケットを開くことをお勧めします。そうすれば、適切なチームにリクエストが回されるようにしましょう。 RafaR_1-1788987187012.png この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。
View full article
GUI-Guider 1.9.1 こんにちは、NXPサポートの皆さん、 GUI-Guider 1.9.1 GA Windows インストーラー+オフラインテンプレートzipパッケージの公式ダウンロードリンクを教えていただけませんか?ありがとう。 eGUI Re: GUI‑Guider 1.9.1 こんにちは、 @Leo_China さん。 GUI Guider v1.9.1のインストーラーは提供されなくなりました。 しかし、すでにGUI Guider v1.9.xでプロジェクトを作成している場合は、GUI Guider v1.10.xを利用できます既存のプロジェクトを直接インポートできます。 よろしくお願いします、 パブロ
View full article
ブートローダーにはfs26インストールパッケージが必要です。 現在、S32K344をベースとしたブートローダープロジェクトの移植と開発にunified_bootloader_demo_v2.1を使用しています。RTDはバージョン2.0で、コントローラーにはFS26チップを使用しています。SBCドライバパッケージは少なくともRTD 3.0と互換性がありますが、RTD 2.0と互換性のあるものを提供していただけませんか?SBCパッケージですか、それとも手書きの実装コードですか?RTD 3.0以降に対応したブートローダープロジェクトを提供していただけるとさらに助かります。 どうもありがとうございます! 回复: bootloader需要fs26安装包 こんにちは。現在ブートローダーv2.1を修正しているのですが、ECCチェックサムの4バイトにエラーがあると表示されます。この関数は... Boot_PowerONClearAllFlag を変更する必要があります。8バイトのチェックを直接実行したところ、起動関数内の ExchangeInfo 領域のみが初期化されていないことがわかりました。この変更は許容範囲内でしょうか? /*電源投入時に、ECC用のRAM内のすべてのフラグをクリアします。*/ void Boot_PowerONClearAllFlag(void) ヤージュ uint16 infoCrc = 0u; uint8 インデックス = 0u; /* ECC用に8バイトでRAMをクリア */ for(index = 0u; index < (gs_stBootInfo.infoDataLen >> 3u); index++) ヤージュ *((uint64 *)gs_stBootInfo.infoStartAddr+ インデックス) = 0u; } infoCrc = Boot_CalculateInfoCRC(); SetInforCRC(infoCrc); } 回复: bootloader需要fs26安装包 こんにちは。画像1で、RAM初期化に関してstartup_cm7.s起動ファイルを変更する必要があります。変更を最小限に抑えるため、ブートローダーv2.1の`extern void Boot_PowerONClearAllFlag ( void );`だけを変更すれば良いでしょうか? 回复: bootloader需要fs26安装包 こんにちは コミュニティから提供された統合ブートローダーのデモは、より新しいS32K3 RTDバージョンの例を含めず「現状のまま」提供されており、ご迷惑をおかけすることを深くお詫び申し上げます。 FS26 SBC Autosar 4.4 バージョン 1.0.0は、 S32K3 RTD 2.0.0で使用するように設計されています。既に社内チームにこの旧バージョンのドライバをリクエスト済みです。お客様のアカウントにこのバージョンのソフトウェアのダウンロード権限が追加されるまでお待ちください。 ちなみに、サンプルコードに注意すべきエラーがあります。S32K3の共通問題チェックリスト、特にセクション3.4.3では、RAMのECC初期化には8バイトの書き込みが必要であると記載されています。 ECC初期化中にRAM(特にスタンバイRAM)が8バイト形式で書き込まれているかどうかを確認してください。 例えば、*(uint64 *)0x20400000 = 0; 規定を遵守しない場合、ECCエラーが発生する可能性があります。 NXPのブートローダーサンプルプロジェクトは、4バイトのゼロフィルECC初期化方式を使用しています。 *(uint32 *)0x20400000 = 0; それは間違いです。その記述は参照しないでください。 S32K3におけるブートローダーとアプリケーション間のデータ共有に関するセクションでも、これについて議論されています。 よろしくお願いします、 ロビン 回复: bootloader需要fs26安装包 Boot_PowerONClearAllFlag() の書き込みを 4 バイトから 8 バイト/64 ビットに変更することが、S32K3 の RAM ECC 初期化の問題を解決する鍵となります。あなたの変更はうまくいったようです。 ExchangeInfoに関連する問題については、s32k312「リセット処理中に SRAM 領域のデータはリセットされませんか?」の議論を参照してください。 1.0 0 FS26 SBC Autosar 4.4 バージョン 1.0.0は既にアカウントに追加されているはずです。
View full article
TJA1410 - TX does not have full swing I am using TJ1410A on a custom board. I am evaluating  mac to work with this PMD chip. When data is sent to this PMD chip on differential wire, it then sends the data frame to MAC on 3-wire RX (RX with respect to mac). The VCC provided to TJ1410 chip is 3.3 V and I see some activity on RX (which was high at 3.3V). Now the activity fluctuates from 3.2 V to 2V (instead of 3.3 to 0V). So the mac sees this as RX high and thinks that it is silent. Why is the voltage swing not correct (attaching a scope capture screenshot). Also do you have a datasheet on this part (TJ1410) - please share.  bitmasker_0-1788968416352.png Re: TJA1410 - TX does not have full swing Hello bitmasker Good day! Could you verify your VIO pin connection, confirm VIO is connected to your supply. The TJA1410A supports 1.8 V to 3.3 V on VIO. If you are supplying 3.3 V on VCC but VIO is left open or unconnected, the RX output cannot swing to ground. You can find the datasheet on our official website TJA1410 under the "Documentation > Secure" section. Unfortunately, it is a confidential file, so you must have an NDA in place with us to access it. I recommend opening a support ticket stating that you wish to sign an NDA so that your request can be routed to the appropriate team. RafaR_1-1788987187012.png I hope this information has helped you, please let me know if you need help with anything else. Have a great day and best of luck.
View full article
GUI‑Guider 1.9.1 Hello NXP support, could you please provide the official download link for GUI‑Guider 1.9.1 GA Windows installer + offline template zip package. Thanks. eGUI Re: GUI‑Guider 1.9.1 Hi @Leo_China, The GUI Guider v1.9.1 installer is no longer provided. However, if you already have a project created with GUI Guider v1.9.x, you can use GUI Guider v1.10.x directly and import your existing project. Best Regards, Pablo
View full article
GUI-Guider 1.9.1 您好 NXP 支持团队,请问能否提供GUI-Guider 1.9.1 GA Windows 安装程序 + 离线模板 zip 包的官方下载链接?谢谢。 eGUI Re: GUI‑Guider 1.9.1 嗨@Leo_China , GUI Guider v1.9.1 安装程序已不再提供。 但是,如果您已经使用 GUI Guider v1.9.x 创建了一个项目,则可以使用 GUI Guider v1.10.x。直接导入您现有的项目。 此致, 巴勃罗
View full article
使用 dm-crypt 暂停挂起 eMMC 在 eMMC 支持的分区上使用 dm-crypt 时,我们在目标机上发现了挂起/恢复问题。 根据下表创建 dm-crypt 映射后,挂起故障立即开始: 0 crypt capi:密码块链接(CBC)(aes)-plain :32:trusted:user_encrypted 0 1 allow_discards   此表附有暂停失败错误日志,供您参考。 然后,我们对表格进行了如下修改: 0 crypt c api: cbc (aes-generic)-plain: 32: trusted: user_encrypted 0 < bac king_device > 1 allow_discards   更改后,挂起就能正常工作了。 因此,从我们的测试来看 纯分区挂载 - 无暂停问题 使用 capi: 密码块链接(CBC) (aes)-plain 进行 dm-crypt 映射会导致暂停问题 更改为 capi:密码块链接(CBC)(aes-generic)-plain 可以解决问题 这让我们认为,暂停问题与该平台上为 aes 选择的 AES 加密后端有关,而不是与一般的 dm-crypt 映射逻辑有关。 我们使用的是 6.12 版内核,启用了 PREEMPT_RT,并使用 iMx6ULL 处理器。 你能否帮忙检查一下 capi: 密码块链接(CBC) (aes)-plain 在暂停/恢复期间 BSP/内核加密驱动程序路径中是否存在任何已知问题? 我们甚至尝试了 linux 用户指南中共享的命令 https://docs.nxp.com/bundle/UG10163/page/topics/dm-crypt_using_dcp_crypto_keys.html 我们也遇到了同样的问题。 您能帮助我们解决这个问题吗? Re: Suspend hang with dm-crypt on eMMC 尊敬的恩智浦团队: 请问您能帮我解决这个问题吗?
View full article
TJA1410 - TX 没有全挥杆 我在一块定制电路板上使用TJ1410A。我正在评估Mac电脑是否能与这款PMD芯片兼容。当数据通过差分线发送到此 PMD 芯片时,它会将数据帧通过 3 线 RX(相对于 mac 的 RX)发送到 MAC。提供给 TJ1410 芯片的 VCC 为 3.3 V,我看到 RX 端有一些活动(在 3.3V 时很高)。现在电压波动范围从 3.2V 到 2V(而不是 3.3V 到 0V)。所以Mac会将此视为RX高电平,并认为它是静音的。为什么电压摆幅不正确(附示波器捕获截图)?另外,您有这款元件(TJ1410)的数据手册吗?如果有,请分享一下。 bitmasker_0-1788968416352.png Re: TJA1410 - TX does not have full swing 你好,位掩码器 再会! 请检查一下您的VIO引脚连接,确认VIO已连接到电源。TJA1410A 支持 VIO 端 1.8V 至 3.3V 的电压。如果 VCC 上提供 3.3V 电压,但 VIO 开路或未连接,则 RX 输出无法摆至地。 您可以在我们的官方网站TJA1410的“文档 > 安全”部分找到数据表。 很遗憾,这是一份机密文件,因此您必须与我们签订保密协议才能查阅。我建议您提交一份支持工单,说明您希望签署保密协议,以便将您的请求转交给相应的团队。 RafaR_1-1788987187012.png 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。
View full article
spi:spi_nxp_lpspi:DMA 模式,返回 -EIO 或损坏的数据 大家好 我最近在使用 SPI DMA 进行多传感器通信时遇到了一个问题,SPI 事务返回 -EIO 或数据损坏。深入研究驱动程序后,我发现 DMA 模式下,spi_nxp_lpspi 在每次传输开始时启用两个 LPSPI DMA 请求使能位,但在结束时只禁用其中一个。无论两个 DMA 通道中哪个先完成,都会在不清除自身 DER 位的情况下完成 SPI 上下文,因此每次传输都会将一个请求使能泄漏到下一个请求中。 在 drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi_dma.c 中,transceive_dma() (:346) 中这两个位同时被启用: if (channel == dma_data->dma_tx.channel) { spi_mcux_issue_TCR(spi_dev); dma_data->state = LPSPI_TRANSFER_STATE_TX_DONE; base->DER &= ~LPSPI_DER_TDDE_MASK; } else { dma_data->state = LPSPI_TRANSFER_STATE_RX_DONE; base->DER &= ~LPSPI_DER_RDDE_MASK; } 在 lpspi_dma_callback() 中,第一个完成的通道会清除它自己的位(:249–:253): if (channel == dma_data->dma_tx.channel) { spi_mcux_issue_TCR(spi_dev); dma_data->state = LPSPI_TRANSFER_STATE_TX_DONE; base->DER &= ~LPSPI_DER_TDDE_MASK; } else { dma_data->state = LPSPI_TRANSFER_STATE_RX_DONE; base->DER &= ~LPSPI_DER_RDDE_MASK; } 如果我清除这两个位,所有交易似乎都能顺利完成,没有任何警告。以下是我使用的补丁。 @@ lpspi_dma_callback() case LPSPI_TRANSFER_STATE_TX_DONE: case LPSPI_TRANSFER_STATE_RX_DONE: dma_data->state = LPSPI_TRANSFER_STATE_RX_TX_DONE; /* TX and RX both done here. */ + base->DER &= ~(LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK); spi_context_complete(ctx, spi_dev, 0); spi_context_cs_control(ctx, false); break; @@ error: + base->DER &= ~(LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK); LOG_ERR("DMA callback error with channel %d.", channel); spi_context_complete(ctx, spi_dev, ret); spi_context_cs_control(ctx, false); 附件是我使用的测试应用程序。该应用程序内置了上述解决方案。 我的问题是,驱动程序为什么只清除一个比特位,而不是两个比特位都清除?
View full article
NXP S32M276CHABMKHSR VPRE 出力電圧範囲 こんにちは、 NXP S32M276XX ICのVPRE出力電圧範囲について質問があります。 私はVPRE用に外部のP-MOSFET電圧レギュレータを使用しました。以下に示す通りです。 Ted_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.png 外部P-MOSFETレギュレータがアクティブ化されている場合(CONFIG-VPREEXT = 1に設定)、VPREピンの出力電圧は約7.0Vになります。 外部P-MOSFETレギュレータがアクティブでない場合(CONFIG-VPREEXT = 0に設定し、内部レギュレータを使用する場合)、VPREピンの出力電圧は約6.3Vです。 私が説明した状態は正常でしょうか、それとも異常でしょうか?VPREの出力範囲は、両方の状態において具体的にどのくらいですか? ちなみに、データシートによると、VPREの標準出力電圧は6.4Vです。 Ted_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.png Re: NXP S32M276CHABMKHSR VPRE output voltage range こんにちは、 @Ted_Qiao さん。 外部バラストPMOSを使用するレギュレータと内部バラストPMOSを使用するレギュレータの2つは、デフォルトで有効になっています。 外部レギュレーターはやや高いレギュレーターポイントを持っているため、通常条件下では唯一作動します。内部レギュレータは、外部レギュレータが無効になっている場合にのみ有効になります。 具体的な調整ポイントはデータシートに記載されていません。内部レギュレータと外部レギュレータの両方において、標準値として6.4Vのみが供給されます。 実際の調整点は、生産量の変動や操業条件によって異なります。 例えば、私のEVBでは、内蔵バラストPMOSを使用した場合、約6.2V、外部バラストPMOSを使用した場合、約6.8Vの電圧を測定しました。 VPREの絶対最大定格は7.5Vなので、あなたが測定した電圧はこの限界を大きく下回っています。 BR、ダニエル Re: NXP S32M276CHABMKHSR VPRE output voltage range こんにちは、 @Ted_Qiao さん。 リセット間にはこれらのビットは1から0まで一度だけ変更できます。 以下に示すように、両方のビットのリセット値は1であり、書き込むには0にしかできません。したがって、いずれかを1に戻す必要がある場合は、MCUをリセットする必要があります。 danielmartynek_0-1788937659360.pngdanielmartynek_0-1788937659360.png danielmartynek_1-1788937747975.pngdanielmartynek_1-1788937747975.png よろしくお願いいたします。 ダニエル Re: NXP S32M276CHABMKHSR VPRE output voltage range こんにちは、ダニエルさん。 ご説明ありがとうございます。今はもうはっきりしました。 さらに質問ですが、アプリケーションソフトウェアで内部レギュレーターモードと外部レギュレーターモードを自由に切り替えるにはどうすればよいでしょうか? 関連するレジスタは[S32M27x リファレンス・マニュアル]に従って設定しようとしています。 VPRE内部レギュレータを使用する場合(VPREINT=1、VPREEXT=0)と、VPRE外部レギュレータを使用する場合(VPREINT=0、VPREEXT=1)を設定します。しかし、動作モードでは自由に切り替えることができませんでした。 そうする背景としては、レギュレーターのモード切り替えに関するテストを行いたいからです。ありがとう! Ted_Qiao_0-1788917986227.png
View full article
lvgl版本支持问题 您好:     只能支持LVGL_V9的版本吗,是否能够支持切换V8版本; Re: lvgl版本支持问题 Hello @ALVAN , 您好,我检查了一下,最新的Gui-Guider v2.0.x仅支持LVGL v9.4.0。 如果想要用LVGL V8,可以考虑用Gui-Guider v1.10.1. 官网仍可下载该版本: Create Modern Embedded GUIs Fasts | NXP Semiconductors Celeste_Liu_0-1788948567553.png BR Celeste
View full article
i.MX 8X VPU H.264エンコーディング 固定ビットレート こんにちは、 当社では、i.MX 8X(Digi ConnectCore 8X Proに搭載)を使用して、gstreamerで一定のビットレートでビデオをエンコードしています。BSPをアップデートした後、エンコーダーが要求されたビットレートに達していないことが判明しました。 これは、gstreamerの「ball」テストソースで再現可能です(300フレーム、30fpsの場合、4000Kbpsで約5MBのファイルサイズになると予想されます)。 gst-launch-1.0 -e videotestsrc pattern=ball num-buffers=300 ! video/x-raw,format=NV12,width=640,height=512,framerate=30/1 ! v4l2h264enc extra-controls="controls,video_bitrate_mode=1,video_bitrate=4000000,video_b_frames=0" ! "video/x-h264,profile=baseline,level=(string)4" ! h264parse ! filesink location=out.h264 エンコーダーファームウェアバージョン1.3.0では、その結果、ファイルサイズは4980939バイト(約5MB)となるが、バージョン1.4.5ではわずか102994バイト(約0.1MB)となる。 これはファームウェアの既知の回帰現象であり、一定ビットレートを使う回避策があるかどうか確認してもらえますか? テスト済みプラットフォームの詳細: Kernel 6.6.52 (Digi Embedded Yocto) gstreamer 1.24.7 i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Linux Re: i.MX 8X VPU H.264 Encoding Constant Bitrate 別のテストによると、これはエンコーダーバージョン1.4.1では動作していると思いますが、1.4.5では動作していないので、これらのバージョン間の回帰だと思います
View full article
Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account Hello NXP Support Team, I am working on an S32K344 project using S32 Design Studio 3.4 and S32K3 RTD 2.0.0. I have an existing working Ethernet/lwIP project that was originally created with the following software versions: S32 Design Studio: 3.4 S32K3 RTD: 2.0.0 FreeRTOS: 10.4.6 UOS 2.0.0 S32K3 TCP/IP Stack: RTM 1.0.1 I now need to modify the project in Configuration Tools to add a FlexCAN configuration. However, my current S32DS installation does not have the matching FreeRTOS and TCP/IP Configuration Tools packages installed. Because of this, when I use Update Code, Configuration Tools does not recognize the existing FreeRTOS/lwIP components and proposes deleting files such as: FreeRTOSConfig.h lwipcfg.h lwipopts.h lwippools.h netifcfg.h netifcfg.c The newer packages available in my account are not compatible with this project. For example, FreeRTOS 2.0.1 and TCP/IP 1.0.1 HF1 are aligned with RTD 2.0.1, while my project is based on RTD 2.0.0. I understand that the matching FreeRTOS 2.0.0 package has been archived. Could you please add access to the following archived packages to my NXP account? SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip and, if possible, the matching TCP/IP package: S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip These packages are required so I can open and regenerate the existing project using the same software versions it was originally developed with, without migrating the entire project to a different RTD release. My target is:   MCU: S32K344 S32DS: 3.4 S32K3 RTD: 2.0.0 FreeRTOS: 10.4.6 UOS 2.0.0 TCP/IP Stack: RTM 1.0.1 Could you please enable these archived downloads for my account, or provide the correct procedure for obtaining them? Thank you. Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account Hello @Aaditya773, I understand you are trying to access the older releases. These older packages are outdated and no longer actively maintained, however, if the account had requested access to the package before, you should be able to see it through the 'Previous' tab inside the Flexera portal: Julin_AragnM_0-1788887530794.pngJulin_AragnM_0-1788887530794.pngJulin_AragnM_0-1788887530794.png If the account does not have access, I would like to guide you toward a more sustainable path: migrating your project to RTD 6.0.0 or RTD 7.0.0. Newer RTD (as well as FreeRTOS and Stack releases) provide documented known issues, bugfixes, optimizations, as well as a broader support for K3 derivatives. There are various community examples for Ethernet enablement with newer RTD packages:  Example S32K358 GMAC lwIP FreeRTOS RDBESS S32DS 3.6.1 RTD600 Example S32K389 GMAC1 SABRE lwIP FreeRTOS S32DS 3.6.1 RTD600 Example S32K344 EMAC lwIP FreeRTOS miniEVB S32DS 3.6.1 RTD 6.0.0 [RTD600 MCAL] Example FRDM-A-S32K358 EMAC lwIP FreeRTOS S32DS 3.6 RTD 6.0.0  For RTD 6.0.0, you can install the following compatible packages: SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_DesignStudio_updatesite.zip SW32K3_FreeRTOS_11.1.0_6.0.0_CD1_D2506_DesignStudio_updatesite.zip SW32K3_TCPIP_STACK_3.0.0_D2507_DesignStudio_updatesite.zip For RTD 7.0.1, you can install the following compatible packages: SW32K3_S32M27x_RTD_R23-11_7.0.1_D2603_DesignStudio_updatesite.zip SW32K3_FreeRTOS_11.1.0_7.0.0_CD1_HF1_D2511_DesignStudio_updatesite.zip SW32K3_TCPIP_STACK_5.0.0_CD01_D2605_DesignStudio_updatesite.zip In case you determine the older package is necessary to continue your development with the older SW version, please help me by contacting your assigned distributor or NXP contact. Best regards, Julián Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account Hello Julián, Thank you for your response and for sharing the RTD 6.0.0 migration path. I have tried setting up the newer environment, but unfortunately the older S32K344-WB project still does not work correctly under the newer software stack. The project was originally created around the older S32DS 3.4 / PlatformSDK 2.0.0 generation, and several parts of the original configuration do not translate cleanly to the newer environment. The project specifically depends on: S32 Design Studio 3.4 S32K344 / S32K3 PlatformSDK 2.0.0 ${PLATFORMSDK_S32K3_2022_03_S32K344_M7_2.0.0_PATH} SW32K3_RTD_4_4_2_0_0_D2203 SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip I have checked the available and Previous downloads, but I cannot find these archived packages for my account. At this point, the newer packages do not seem to be a workable replacement for this particular legacy project, so I would be very grateful if NXP could make the required archived S32DS 3.4-compatible packages available to my account. In particular, could you please add or provide access to: S32K3 / S32K344 PlatformSDK 2.0.0 / RTD 2.0.0 SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip any matching S32 Configuration Tools / device-support package required for S32K344 under S32DS 3.4 I would really appreciate it if these archived packages could be added to my available downloads, since I have not been able to find another setup that works correctly with this project. Thank you very much for your help. Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account Hello @Aaditya773, Since the SW package is not available through the 'Previous' tab, most likely the account never had access to the package in the first place. If you have an assigned FAE, or Sales representative, please help me by contacting them so they can request access for your account. On the other hand, if you would like to work on migrating the S32K344-WB projects to newer RTD, I can assist you with any issues during the process. Best regards, Julián
View full article
bootloader需要fs26安装包 目前我在使用unified_bootloader_demo_v2.1,进行基于s32k344的bootloader工程移植开发,rtd使用2.0,我的控制器使用fs26芯片,fs26 sbc驱动包最低匹配rtd3.0,能提供给我匹配rtd2.0的 sbc包或者手写实现代码?如果能提供rtd3.0以上bootloader工程更好了? 十分感谢! 回复: bootloader需要fs26安装包 你好,图片1是需要修改startup_cm7.s启动文件中,关于ram初始化的启动,我为了尽量少的改动,可以bootloader v2.1中只修改extern void Boot_PowerONClearAllFlag(void);这样可以吗? 回复: bootloader需要fs26安装包 你好, 我现在使用bootloader的 v2.1进行修改,说是ecc校验4字节出现错误,此函数 Boot_PowerONClearAllFlag需要修改,直接进行8字节校验,发现启动函数只有ExchangeInfo区域没有初始化,我这样修改可以吗? /*when power on, clear all flag in RAM for ECC.*/ void Boot_PowerONClearAllFlag(void) {     uint16 infoCrc = 0u;     uint8 index = 0u;     /*clear RAM with 8 bytes for ECC*/     for(index = 0u; index < (gs_stBootInfo.infoDataLen >> 3u); index++)     {         *((uint64 *)gs_stBootInfo.infoStartAddr + index) = 0u;     }         infoCrc = Boot_CalculateInfoCRC();     SetInforCRC(infoCrc);   } 回复: bootloader需要fs26安装包 Hi 很抱歉,社区分享的Unified bootloader Demo按“原样”提供,没有更高S32K3 RTD版本例程。由此造成的不便,我们深表歉意。 FS26 SBC Autosar 4.4 version 1.0.0 是搭配S32K3 RTD 2.0.0的,我已经向内部团队帮你申请这个旧版本驱动,请等待他们为你账号添加该版本软件下载权限。 顺便提一句,需要注意例程里一个错误。S32K3常见问题检查列表(Check list)分享的 "3.4.3 需要使用8字节写的方式对RAM进行ECC初始化"有提到: 检查RAM(特别注意Standby RAM)进行ECC初始化时是否按照8字节写的方式。 例如:*(uint64 *)0x20400000 = 0; 不遵守可能ECC错误。 在NXP做的BOOTLOADER示例工程中使用了4字节清零的ECC初始化方式, *(uint32 *)0x20400000 = 0; 是错误的,不要参照。 S32K3 sharing data between Bootloader and Application里也有关于此的讨论。 Best Regards, Robin 回复: bootloader需要fs26安装包 把 Boot_PowerONClearAllFlag() 从 4 字节写改成 8 字节/64-bit 写,是解决 S32K3 RAM ECC 初始化问题的关键。你这么改看起来是可以的。 ExchangeInfo的问题请参考s32k312Will the data in the SRAM area not be reset during the reset process?里的讨论。 1.0 0 FS26 SBC Autosar 4.4 version 1.0.0 应该已经添加到你的账号里了。
View full article
请求将已归档的 S32K3 FreeRTOS 2.0.0 和 TCP/IP 1.0.1 软件包添加到我的 NXP 帐户 您好,NXP支持团队, 我正在使用 S32 Design Studio 3.4 和 S32K3 RTD 2.0.0 开发一个 S32K344 项目。我有一个现有的以太网/lwIP项目,该项目最初是用以下软件版本创建的: S32 设计工作室:3.4 S32K3 RTD:2.0.0 FreeRTOS:10.4.6 UOS 2.0.0 S32K3 TCP/IP 协议栈:RTM 1.0.1 我现在需要在配置工具中修改项目,以添加 FlexCAN 配置。但是,我目前的 S32DS 安装中没有安装匹配的 FreeRTOS 和 TCP/IP 配置工具包。 因此,当我使用“更新代码”时,“配置工具”无法识别现有的 FreeRTOS/lwIP 组件,并建议删除诸如以下文件: FreeRTOSConfig.h lwipcfg.h lwipopts.h lwippools.h netifcfg.h netifcfg.c 我账户中可用的较新软件包与此项目不兼容。例如,FreeRTOS 2.0.1 和 TCP/IP 1.0.1 HF1 与 RTD 2.0.1 一致,而我的项目基于 RTD 2.0.0。 我知道配套的 FreeRTOS 2.0.0 软件包已被归档。请将以下已存档代码包/软件包的访问权限添加到我的 NXP 帐户中? SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip 如果可能,还要提供匹配的 TCP/IP 数据包: S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip 需要这些软件包,以便我可以使用最初开发该项目时使用的相同软件版本打开并重新生成现有项目,而无需将整个项目迁移到不同的 RTD 版本。 我的目标是:   MCU: S32K344 S32DS: 3.4 S32K3 RTD: 2.0.0 FreeRTOS: 10.4.6 UOS 2.0.0 TCP/IP Stack: RTM 1.0.1 请问能否为我的账户启用这些存档下载功能,或者提供获取它们的正确步骤? 谢谢! Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account 你好@Aaditya773 , 我了解到您正在尝试访问旧版本。这些旧软件包已过时且不再维护,但是,如果该帐户之前申请过访问该软件包,您应该可以通过 Flexera 门户中的“以前”选项卡看到它: Julin_AragnM_0-1788887530794.pngJulin_AragnM_0-1788887530794.pngJulin_AragnM_0-1788887530794.png 如果该帐户没有访问权限,我想引导您走上一条更可持续的道路:将您的项目迁移到 RTD 6.0.0 或 RTD 7.0.0。较新的 RTD(以及 FreeRTOS 和 Stack 版本)提供了已记录的已知问题、错误修复、优化,以及对 K3 衍生品的更广泛支持。 社区中有很多利用新型RTD封装实现以太网功能的案例: 示例 S32K358 GMAC lwIP FreeRTOS RDBESS S32DS 3.6.1 RTD600 示例 S32K389 GMAC1 SABRE lwIP FreeRTOS S32DS 3.6.1 RTD600 示例 S32K344 EMAC lwIP FreeRTOS miniEVB S32DS 3.6.1 RTD 6.0.0 [RTD600 MCAL] 示例 FRDM-A-S32K358 EMAC lwIP FreeRTOS S32DS 3.6 RTD 6.0.0 对于 RTD 6.0.0,您可以安装以下兼容软件包: SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_DesignStudio_updatesite.zip SW32K3_FreeRTOS_11.1.0_6.0.0_CD1_D2506_DesignStudio_updatesite.zip SW32K3_TCPIP_STACK_3.0.0_D2507_DesignStudio_updatesite.zip 对于 RTD 7.0.1,您可以安装以下兼容的 代码包,软件包: SW32K3_S32M27x_RTD_R23-11_7.0.1_D2603_DesignStudio_updatesite.zip SW32K3_FreeRTOS_11.1.0_7.0.0_CD1_HF1_D2511_DesignStudio_updatesite.zip SW32K3_TCPIP_STACK_5.0.0_CD01_D2605_DesignStudio_updatesite.zip 如果您确定需要使用旧版软件包才能继续使用旧版软件进行开发,请联系您指定的代理商或 NXP 联系人,以帮助我解决问题。 此致, 朱利安 Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account 你好,朱利安, 感谢您的回复,并分享了 RTD 6.0.0 的迁移路径。 我已经尝试设置新的环境,但不幸的是,旧的 S32K344-WB 项目在新软件栈下仍然无法正常工作。该项目最初是围绕较旧的 S32DS 3.4 / PlatformSDK 2.0.0 版本创建的,原始配置的几个部分无法顺利已翻译为较新的环境。 该项目具体依赖于: S32 设计工作室 3.4 S32K344 / S32K3 平台 SDK 2.0.0 ${PLATFORMSDK_S32K3_2022_03_S32K344_M7_2.0.0_PATH} SW32K3_RTD_4_4_2_0_0_D2203 SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip 我已查看可用下载和先前下载记录,但我的帐户中找不到这些已存档的软件包。 目前看来,较新的软件包似乎无法替代这个特定的遗留项目,因此,如果 NXP 能将所需的已归档的 S32DS 3.4 兼容软件包提供给我的帐户,我将非常感激。 具体来说,能否请您添加或提供以下访问权限: S32K3 / S32K344 平台SDK 2.0.0 / RTD 2.0.0 SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip S32DS 3.4 下 S32K344 所需的任何匹配的 S32 配置工具/设备支持包 如果能将这些存档软件包添加到我的可用下载列表中,我将非常感激,因为我一直找不到其他能与此项目正确配合使用的安装程序。 非常感谢您的帮助。 Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account 你好@Aaditya773 , 由于“上一页”选项卡中没有该软件包,因此该帐户很可能一开始就没有访问过该软件包的权限。 如果您有指定的现场应用工程师 (FAE) 或销售代表,请联系他们,以便他们申请访问您的帐户。 另一方面,如果您想将 S32K344-WB 项目迁移到更新的 RTD,我可以协助您解决过程中遇到的任何问题。 此致, 朱利安
View full article
88W9098 能量检测 (ed_mac) 调谐 你好, 我们正在使用 u-blox M2-JODY-W377 中的 88W9098,通过 SDIO 以 SDR50 运行。我们有来自 GitHub 的驱动程序/固件版本 lf-6.18.20_2.0.0。我们将其用作 2.4GHz 信道 6 的接入点。 我们遇到一个问题,启用 ed_mac(在 wifi_mod_para.conf 中使用“init_hostcmd_cfg=nxp/ed_mac.bin”,或使用 mlanutl 和 ed_mac_ctrl_V3_909x.conf)会导致我们内部应用程序测试的稳定性/延迟大幅下降: ed_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.png 我无法在这里详细介绍测试内容,但它是对特定内部步骤进行端到端延迟测量,使用了多台机器,中间连接了一个 88W9098 接入点。使用 ed_mac 后,某些曲线的平均延迟不仅比不使用时高出 200-250 毫秒,而且总体而言,它们的延迟波动也更大,并且往往会出现随机的“突发性”延迟增加。 我们尝试调整偏移量“ed_ctrl_2g.offset”并将“ed_ctrl_5g.offset”设置为与默认值 0x8 不同的值,但我们尝试的任何值对测试都没有影响。唯一能产生影响的方法是将 enable (2g/5g) 都设置为 0,或者在启动时不加载该文件。 还有其他方法可以尝试吗? Re: 88W9098 Energy Detect (ed_mac) tuning 亲爱的@mjourdan , 感谢您提供的详细描述和测试数据。鉴于 ed_mac(能量检测 MAC)功能的设计方式,您看到的这种行为实际上是预期的,但有几件事值得检查和澄清。 为什么 ed_mac 会导致 AP 模式下延迟更高 ed_mac 功能是专门为欧盟 ETSI EN 300 328 适应性合规性测试而设计的。其核心机制是当固件检测到信道上的能量超过阈值时,主动抑制传输。在接入点场景中,每当无线电检测到环境能量时,这都会直接延迟缓冲的下行链路数据包,从而导致您正在测量的延迟尖峰和“突发”。调整偏移参数会改变阈值灵敏度(无线电触发的难易程度),但不会消除抑制行为本身——这就是为什么任何偏移值对端到端延迟测试都没有可测量的影响。 配置文件不匹配 我注意到您正在使用 ed_mac_ctrl_V3_909x.conf。根据我们的应用笔记 AN13756,88W9098 的正确配置文件是ed_mac_ctrl_V2_909x.conf (默认值为 ed_ctrl_2g.offset = 0x08 和 ed_ctrl_5g.offset = 0x08)。V3 版本使用了不同的 ed_ctrl_txq_lock 字段值,并且不是此设备的验证配置。请尝试使用 ed_mac_ctrl_V2_909x.conf 并测试延迟影响是否有所改善。 关键问题:您的部署是否需要符合欧盟适应性要求? ETSI EN 300 328 自适应要求仅适用于在欧盟/欧洲经济区市场运营且声明的最大射频输出功率为 10 dBm EIRP 或以上的设备。请您确认: 该设备是否已在欧盟部署并获得 ETSI EN 300 328 认证? 您的模块(u-blox M2-JODY-W377)的标称射频输出功率是多少? 如果您的使用场景不需要符合欧盟标准,那么正确的解决方案就是不加载 ed_mac 配置——您已经确认这样做可以完全解决延迟问题。 如果需要合规性,我们建议首先切换到 ed_mac_ctrl_V2_909x.conf,如果延迟问题仍然存在,我们可以探讨是否有更新的固件版本可以改善 AP 模式的行为。 请与我们联系以上问题的答案,我们将据此进行后续跟进。 顺祝商祺! 卫东 Re: 88W9098 Energy Detect (ed_mac) tuning 谢谢卫东。是的,该产品的输出功率绝对超过 10dBm EIRP,需要符合 EN 300 328 标准。 我尝试过使用 ed_mac_ctrl_V2_909x.conf( https://github.com/u-blox/u-blox-sho-host-based/blob/main/JODY-W3/txpower_config/ed_mac_ctrl_V2_909x.conf ),但行为没有任何改变。 我们不明白的是,如果我们用 DoodleLabs 的模块(基于 QCA988X)替换该模块,并在相同的环境下进行相同的测试,它也能满足 EN 300 328 标准,但我们却没有遇到任何延迟问题。所以我想知道为什么 88W9098 的 ed_mac 实现会引发这样的问题,而其他芯片制造商的实现却不会。 除了 lf-6.18.20_2.0.0 版本之外,我们也尝试了 hotfix/lf-6.12.49_2.2.0_hotfix 版本,但问题仍然存在。 更多信息: * 与 JODY 接入点关联的站点共有 2 个。 * 测试期间,站点与 JODY 之间使用的带宽非常低(~6KiB/s),但由许多小数据包组成,主要在 STA > AP 方向上。 Re: 88W9098 Energy Detect (ed_mac) tuning 亲爱的@mjourdan ,   我已经将您的问题上报给我们的内部团队。让我们一起等待专家的回复——一旦有任何最新消息,我会立即与您分享。   顺祝商祺! 卫东 Re: 88W9098 Energy Detect (ed_mac) tuning 亲爱的@mjourdan , 内部团队正在分析该问题,请您提供以下信息?我从内部团队得到了以下反馈。 ====================================================== 驱动程序加载参数,以及用于重现问题的完整驱动程序加载/卸载命令序列。 ed_mac_ctrl_V2_909x.conf 配置文件。 日志 为进一步调查,在重现问题时捕获了屏幕截图。 房东详情,包括: 主机平台 内核版本 驱动程序版本 使用的接口(PCIe/SDIO)   这些细节将有助于我们将客户的设置与我们的内部测试进行关联,并加快分析速度。 ====================================================== 谢谢! 顺祝商祺! 卫东 Re: 88W9098 Energy Detect (ed_mac) tuning 你好 weidong,我目前正在和 u-blox 一起排查问题,为了避免冲突(万一问题升级到 NXP 也会出现),我暂时只会和他们沟通。感谢您的帮助。 Re: 88W9098 Energy Detect (ed_mac) tuning 亲爱的@mjourdan , 有任何进展吗? 谢谢您! 此致, 卫东 Re: 88W9098 Energy Detect (ed_mac) tuning 亲爱的@mjourdan , 好的,明白了。 谢谢你的更新。 顺祝商祺! 卫东 Re: 88W9098 Energy Detect (ed_mac) tuning 亲爱的@mjourdan , 我们的内部团队已针对您报告的问题进行了额外的测试。我们想与您分享测试结果,希望这些结果能为您的调查提供有用的见解。 ================================================ 我们使用版本 SD9098---17.92.1.p149.159-MM6X17552.p22 (FP92) 在 QA 环境中验证了该问题,但该问题无法重现。 观察到的 ping 延迟约为1 到 2 秒。 测试步骤: 加载了构建版本,并使用发布配置文件夹中提供的默认 ed_mac_ctrl_V2_909x.conf 启用了 EDMAC。 在第6频道提出了APUT问题。 连接了两个前STA。 从 Ex-STA 到 APUT 执行 ping 测试。 测试场景: auto_ds=1,ps_mode=1 auto_ds=2,ps_mode=2 APUT 配置了 HT20 和 HT40 网络安全模式:开放和 WPA3 前STA电源管理功能:启用和禁用 为了帮助我们分析和重现客户遇到的问题,能否请您提供以下信息: 加载客户使用的文件/版本详细信息 完整的配置和测试环境详情 客户设置中观察到的噪声/干扰水平 来自客户方的相关日志 一旦我们掌握了这些信息,我们就可以进行更深入的分析并尝试重现该问题。 ================================================ 谢谢。 顺祝商祺! 卫东
View full article
[lx2080a][lx2160a] How do I turn off CPU cores? For the LX2080A We need to disable 4 out of the 8 cores. Could you please tell me how to turn off core for specific 4 of the 8 cores? For testing, I added the following to the rcw_2200_750_3200_19_5_2.rcw file, but it will not boot. .pbi write 0x01e00094, 0x00000f0 .end Is there anything else that needs to be modified? Re: [lx2080a][lx2160a] How do I turn off CPU cores? If the intent is to keep the first four LX2080A clusters active and disable the upper four active cores, use the physical-core bitmap: Copy # Disable physical cores 8, 10, 12, 14 .pbi write 0x01e00094, 0x00005500 .end Re: [lx2080a][lx2160a] How do I turn off CPU cores? We applied it. But it didn't boot. .pbi write 0x01e60060,0x0000000f write 0x01e00094,0x000000f0 .end So, with the version not applied, I read the registers from the uboot prompt as follows. It appears that the active core is an odd number. > md.l 0x01e00094 01e00094: 00000000 00000000 00000000 00000000 ................ 01e000a4: 87360220 00000040 00000000 00000000 .6.@........... => md.l 0x01e60060 01e60060: 0000aaaa 00000000 00000000 00000000 ................ 01e60070: 00000000 00000000 00000000 00000000 ................ Could this be the cause? Thanks Re: [lx2080a][lx2160a] How do I turn off CPU cores? Your target register is correct for disabling cores, but I would not leave the change as only: .pbi write 0x01e00094, 0x00000f0 .end Use a full 32-bit value and make sure the boot/release path does not try to start the disabled cores: .pbi write 0x01e00094, 0x000000f0   /* COREDISR: disable cores 4,5,6,7 */ .end 0x01e00094 is DCFG + 0x94 ; the LX2160A/LX2080A RM lists DCFG base address = 0x1E0_0000 and COREDISR at offset 0x94 . COREDISR is the documented mechanism for disabling/clock-gating unused physical cores, and it can be programmed before system ready by PBI . Bits/fields for cores 4–7 correspond to Core 4 Disable through Core 7 Disable, so 0x000000f0 is the expected mask if you want to keep cores 0–3 and disable cores 4–7 . The important additional item is boot release. For an LX2/LS2 4-core case, the documented/internal guidance is to pair: Boot Release @ 0x01e60060 = 0x0000000f COREDISR     @ 0x01e00094 = 0x000000f0   /* disable Core7:4 */ so only cores 0–3 are released for boot, while cores 4–7 are disabled . The Boot Release Register BRRL is at RST base 0x1E6_0000 + 0x60 , and its bits CR0...CR15 release the corresponding cores from boot holdoff . Also verify that the primary boot core is not included in your COREDISR mask; the RM says the boot core can be identified through BRCORENBR[CORE_NBR] . Two practical checks for the boot failure: Use 0x000000f0 , not 0x00000f0 , to avoid any parser/tool ambiguity. If the RCW/PBI image uses a STOP-with-CRC command, rebuilding after changing PBI must update the PBI CRC; the CRC covers all PBI commands after the Load RCW command through the STOP-with-CRC command. After boot, confirm the result by reading COREDISR and the core-disable status register; an LX2 experiment used COREDISABLESR @ 0x01E00990 to confirm the disabled-core mask . Also note that cores disabled through COREDISR must not be re-enabled by software later . For “keep cores 0–3, disable cores 4–7,” use COREDISR = 0x000000f0 and make sure the boot-release mask releases only the active cores, e.g. BRRL = 0x0000000f ; otherwise firmware may try to start a core you have disabled. Re: [lx2080a][lx2160a] How do I turn off CPU cores? The core numbering in the LX2160A is sequential with respect to the cluster groups. The 16 cores are arranged in 8 clusters, with each cluster containing two cores. The numbering is as follows: Cores 0 and 1 are in Cluster 1 Cores 2 and 3 are in Cluster 2 ... and so on, up to Cores 14 and 15, which are in Cluster 8 Disabling all cores within a cluster causes system to hang. So it is impossible to achieve your purpose. Re: [lx2080a][lx2160a] How do I turn off CPU cores? Please try the following configuration. .pbi write 0x01e00094,0x0000aa00 write 0x01e60060,0x000000aa .end Re: [lx2080a][lx2160a] How do I turn off CPU cores? It seems that disabling all cores within a cluster causes system to hang. Let's only disable one core in one cluster. .pbi write 0x01e00094, 0x00008888 write 0x01e60060, 0x00002222 .end Re: [lx2080a][lx2160a] How do I turn off CPU cores? .pbi write 0x01e00094,0x00005500 write 0x01e60060,0x000000aa .end We applied it. However, it did not boot. Are there any other things to look into? Re: [lx2080a][lx2160a] How do I turn off CPU cores? It boots up, but the result is as follows. => md.l 0x01e00094 01e00094: 0000aa00 00000000 00000000 00000000 ................ 01e000a4: 87360220 00000040 00000000 00000000 .6.@........... => md.l 0x01e60060 01e60060: 0000aaaa 00000000 00000000 00000000 ................ 01e60070: 00000000 00000000 00000000 00000000 ................ The kernel also detects 8 CPUs. Can you test this on the LX2080a? Thanks, Re: [lx2080a][lx2160a] How do I turn off CPU cores? The results seem to be the same. => md.l 0x01e00094 01e00094: 00008888 00000000 00000000 00000000 ................ 01e000a4: 87360220 00000040 00000000 00000000 .6.@........... => md.l 0x01e60060 01e60060: 0000aaaa 00000000 00000000 00000000 ................ 01e60070: 00000000 00000000 00000000 00000000 ................ Re: [lx2080a][lx2160a] How do I turn off CPU cores? The following settings seem correct. .pbi write 0x01e00094, 0x00005500 write 0x01e60060, 0x000000aa .end Regarding the value `0x0000aaaa` in the `0x01e60060` release register, I think that cores 1, 3, 5, 7, 9, 11, 13, and 15 are the disabled ones (indicated by 1), while cores 0, 2, 4, 6, 8, 10, 12, and 14 (indicated by 0) are the active cores actually supported by the LX2080A. there is one core connected to each of the eight clusters, four clusters must be disabled; this leaves four active cores—one in each of the remaining four clusters. but even after modifying `COREDISR`and `BRRL`, the `BRRL`and `COREDISABLESR` register continues to show `0x0000aaaa`. So, I checked the SoC initialization routine in `atf/nxp/soc-lx2160/soc.c`—where the cluster count was initially set to eight—and successfully booted the system after changing the cluster number to four. Currently, I have hardcoded the value to 4 within `get_num_cluster()`, but I hope that any other suggestions or feedback. => md.l 0x01e00094 01e00094: 00005500 00000000 00000000 00000000 .U.............. => md.l 0x01e60060 01e60060: 0000ffaa 00000000 00000000 00000000 ................ => md.l 0x01e00990 01e00990: 0000ffaa 00000000 00000000 00000000 ................ Thanks,
View full article