Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
imx6ull->ADC 您好, 我正在使用基于 i.MX6ULL 的自定义 SOM 模块。根据我们的需求,我们使用i.MX 处理器配置工具来配置引脚。在配置工具中,我选择了“创建独立组网 \\(SA\\) 项目”,然后选择了i.MX 6ULL → (6Y2...05)。 我们的要求是使用配置工具配置引脚,获取生成的.dtsi 文件,并使用同一个文件来版本镜像。然而,这种方法一开始并不奏效。 对于UART ,我了解到我们需要添加相应的设备节点并将其状态设置为正常。同样,生成的 .dtsi 文件也需要进行一些小的修改。文件。 我已附上 .dtsi 文件。由配置工具生成的文件。请看一下。在该文件中,当我注释掉 imx6ull-board 行后,配置就开始正常工作了。 完成 UART 配置后,我开始进行ADC配置。当我在配置工具中检查 ADC 配置时,我注意到ADC似乎使用了同一个GPIO引脚。但是,我发现当我将一个 GPIO 引脚配置为 GPIO,将另一个 GPIO 引脚配置为 ADC 时,生成的 IOMUX 配置看起来是一样的。为什么会这样?这是预期行为吗? 请问您能否帮我了解一下在我们的i.MX6ULL 定制 SOM上配置和测试 ADC 的正确方法? 此外,我们最初的要求是使用配置工具配置引脚,获取生成的配置文件,并直接使用该配置文件来构建和烧录镜像。我想确认一下,这种方法是否适用于我们的定制板,或者是否需要在生成的 .dtsi 文件中进行其他修改。文件。 我已附上 .dts 和 .dtsi 文件。该文件由配置工具生成,供您参考。 这句话到底是什么意思? Re: imx6ull->ADC 你好@Et_MM 这似乎是 i.MX6ULL 配置工具的一个 bug。 请明确您希望哪个GPIO用作ADC,以及哪个GPIO用于其他功能。 我可以帮助你生成正确的 &adc1 节点和正确的引脚复用。 顺祝商祺! 萨拉斯。 Re: imx6ull->ADC 你好@Et_MM 希望你一切都好。 是的,目前只有ADC1可用。 请根据您的使用场景,将以下内容添加到您的设备树中: &adc1 { num-channels = <10>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_adc1>; status = "okay"; }; &iomuxc { pinctrl_adc1: adc1grp { fsl,pins = < MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x3000 MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x3000 >; }; }; 这将仅使用 GPIO1_IO03 和 GPIO1_IO04 作为 ADC 通道。 root@imx6ul7d:/sys/bus/iio/devices/iio:device1# cat in_voltage3_raw 75 root@imx6ul7d:/sys/bus/iio/devices/iio:device1# cat in_voltage4_raw 0 root@imx6ul7d:/sys/bus/iio/devices/iio:device1# cat name 2198000.adc 顺祝商祺! 萨拉斯。 Re: imx6ull->ADC 我希望将GPIO01_IO01、GPIO01_IO02用作GPIO本身,将GPIO01_IO03、GPIO01_IO04用作ADC 。 当我搜索 dtsi 文件时,发现我们只有一个 adc,即 adc1。adc2 不可用。如果我说错了,请指正。 另外,请指导我如何测试和验证我们配置的ADC和GPIO引脚是否正常工作。我该如何测试呢? 我已经分享了我们正在使用的dts和dtsi文件。希望你已经看到了。其中提到的ADC配置是否有误? Re: imx6ull->ADC 您好! 您只需在 &iomux 中添加以下内容: pinctrl_hog: hoggrp { fsl,pins = < MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0x10b0 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x10b0 >; }; 务必确认该头衔没有被其他外围势力认领。 顺祝商祺! 萨拉斯。 Re: imx6ull->ADC 谢谢你的回复。 如果我想将GPIO01_IO01、GPIO01_IO02配置为GPI。配置方面需要如何设置?能否也请您帮我一下? Re: imx6ull->ADC 您好,谢谢您的回复,我会尝试一下。 我已按照您提供的配置测试了ADC ,运行这些命令后,我的输出如下: root@imx6ul7d:/sys/总线/iio/设备/iio:设备0# cat in_voltage1_raw 78 root@imx6ul7d:/sys/总线/iio/设备/iio:设备0# cat in_voltage4_raw 74 还有其他方法可以测试这些引脚,以便我确认它们是否正常工作吗?
View full article
S32K36xブートローダーの実装 親愛なるNXPサポートチームへ、 現在、あなたのマイクロコントローラをアプリケーション向けに評価しているところです。特にS32K364マイクロコントローラモデルを使いたいと思っています。しかし、ブートローダー機能をどのように実装すればよいのか分かりません。 CAN-FDでMCUをフラッシュしたい場合、4年前にオリジナルのS32K31x/K32x/K34x用に作成された既存の「統一ブートローダーデモ」を単純に適用すればいいのでしょうか?それともS32K36xシリーズ専用の公式なブートローダー例プロジェクトを直接使えるのでしょうか? よろしくお願いいたします! Re: S32K36x Bootloader Implementation こんにちは、 @SewerynPさん 利用可能なS32K3ブートローダーのサンプルについては、こちらに概要をまとめていますのでご覧ください。 https://community.nxp.com/t5/S32K/S32K385-Bootloader/m-p/2367874/highlight/true#M58710 NXPは、S32K3派生製品ごとに、製品版としてすぐに使用できるブートローダーコードを提供しているわけではありません。利用可能なブートローダーのデモは、自社のソリューション開発の出発点として意図されたリファレンスソフトウェアであり、S32K364に適応可能です。本番環境向けのソリューションとしては、Vector Flash Bootloaderのようなサードパーティ製品を検討できます。 よろしくお願いいたします。 ルーカス
View full article
KW47:如何获取 Gap_CheckIfBonded() 的 deviceId? 你好, 我正在KW47上开发一个 BLE 应用程序,并希望使用 Gap_RemoveBond() 删除绑定信息。 在查看 API 时,我发现了 Gap_CheckIfBonded() 函数,但我不太确定应该将哪个值作为 deviceId 参数传递,或者如何获取该值。 请问您能否解释一下: 应该将哪个 deviceId 传递给 Gap_CheckIfBonded()? 如何在KW47上获取此设备ID? 谢谢! 协议:BLE -> 连接性 协议:蓝牙 Re: KW47: How to obtain deviceId for Gap_CheckIfBonded()? 你好@hyama , Gap_CheckIfBonded()函数以 GAP 对等设备的设备 ID 作为输入,并返回连接的对等设备是否已绑定,以及相应的 NVM 索引。 有关如何使用 Gap_CheckIfBonded() 和 Gap_RemoveBond() 的实际示例,请参阅 KW47-EVK 的 ble_shell_freertos SDK 示例。具体来说,在 shell_gap.c 中文件。 如果您还有其他问题,请告诉我。 BR 哈比卜。 Re: KW47: How to obtain deviceId for Gap_CheckIfBonded()? 谢谢。我会查看示例实现。
View full article
imx6ull->ADC こんにちは、 私はi.MX6ULLベースのカスタムSOMモジュールを使用しています。私たちの要件として、 i.MX プロセッサ用のConfig Toolsを使ってピンを設定しています。Config Toolsで、 Create a Standalone Projectを選択し、次にi.MX 6ULL → (6Y2...05)を選択しました。 私たちの要件は、Config Toolsを使用してピンを設定し、生成された.dtsiファイルを取得し、同じファイルを使用してイメージを構築することです。しかし、これは当初はうまくいかなかった。 UARTに関しては、対応するデバイスノードを追加し、そのステータスを「OK」に設定する必要があると理解しました。同様に、生成された.dtsiファイルにも小さな修正が必要でした。ファイル。 .dtsiファイルを添付しました。Config Toolsによって生成されたファイル。ぜひご覧ください。そのファイルで、imx6ull-boardの行をコメントアウトしたところ、設定が正常に動作するようになりました。 UARTの設定が終わったので、次はADCの設定に移りました。Config ToolsでADCの設定を確認したところ、 ADCが同じGPIOピンを使用していることに気づきました。しかし、1つのGPIOピンをGPIOとして、もう1つのGPIOピンをADCとして設定した場合、生成されるIOMUX構成は同じように見えることがわかりました。なぜそうなっているのでしょうか?これは想定される動作でしょうか? i.MX6ULLカスタムSOMでADCの設定やテストの正しい方法を教えていただけますか? また、当初の要件は、Config Toolsを使用してピンを設定し、生成された設定ファイルを使用して、イメージをビルドしてフラッシュすることでした。このアプローチが弊社のカスタムボードにも適用できるかどうか、あるいは生成された.dtsiファイルに追加の変更が必要かどうかを確認したいと思います。ファイル。 dtsファイルと.dtsiファイルを添付しました。参考のために、設定ツールで生成されたファイルを添付します。 これは実際にはどういう意味ですか? Re: imx6ull->ADC こんにちは@Et_MM これはi.MX6ULL用設定ツールのバグのようです。 どのGPIOをADCとして使用したいのか、また他のGPIO機能にはどのGPIOを使用するのかを明確にしてください。 正しい&adc1ノードと正しいピンマックスを生成するお手伝いができます。 よろしくお願いいたします。 サラス。 Re: imx6ull->ADC GPIO01_IO01、GPIO01_IO02 GPIO自体、GPIO01_IO03,GPIO01_IO04 ADCとして欲しいです。 DTSIファイルを調べたところ、ADC1はADC1だけのようです。adc2は利用できません。もし私の理解が間違っていたら、訂正してください。 また、設定したADCとGPIOピンが動作しているかどうか、どのようにテスト・検証すればよいかも教えてください。どうやってそれを検証すればいいですか? 既に、私たちが使用しているdtsファイルとdtsiファイルを共有しました。もうご覧になっていることを願っています。上記で言及されているADCの設定は間違っているのでしょうか? Re: imx6ull->ADC こんにちは@Et_MM お元気でお過ごしのことと思います。 はい、ADC1が唯一利用可能なものです。 あなたのユースケースでは、以下のデバイスツリーをご利用ください: &adc1 { num-channels = <10>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_adc1>; status = "okay"; }; &iomuxc { pinctrl_adc1: adc1grp { fsl,pins = < MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x3000 MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x3000 >; }; }; それならGPIO1_IO03とGPIO1_IO04だけをADCチャネルとして使います。 root@imx6ul7d:/sys/bus/iio/devices/iio:device1# cat in_voltage3_raw 75 root@imx6ul7d:/sys/bus/iio/devices/iio:device1# cat in_voltage4_raw 0 root@imx6ul7d:/sys/bus/iio/devices/iio:device1# cat name 2198000.adc よろしくお願いいたします。 サラス。 Re: imx6ull->ADC ご返信ありがとうございます。 GPIO01_IO01、GPIO01_IO02をGPIとして設定したい場合。構成はどうなるのか、それについても教えていただけませんか? Re: imx6ull->ADC こんにちは! 以下の内容を&iomuxの中に簡単に追加できます: pinctrl_hog: hoggrp { fsl,pins = < MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0x10b0 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x10b0 >; }; 他の周辺機器によって既に占有されていないことを確認してください。 よろしくお願いいたします。 サラス。 Re: imx6ull->ADC こんにちは。ご返信ありがとうございます。試してみます。 あなたが教えてくれた設定で ADC を試しましたが、そのコマンドを実行すると、これが私の出力です: root@imx6ul7d:/sys/bus/iio/devices/iio:device0# cat in_voltage1_raw 78 root@imx6ul7d:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 74 でも、このピンがうまくいっているか確認するために、他にテストする方法はありますか?
View full article
GPIO218仿真器模式下输出异常 GPIO218在全速运行时端口输出电平能够正常翻转。当使用lauterbach的Attach连接后端口电平变成低电平并且不会再进行翻转。请问我该如何分析这个问题? Re: GPIO218仿真器模式下输出异常 你好@liyongfeng , 你说的“无法再翻转”是什么意思?当您执行Siul2_Dio_Ip_WritePin() 函数时,GPDO218 的值是否没有变为 '1'?您是如何测试的? 如果选择“开始”或断开调试器,GPIO 会切换吗? 我做了一个简单的测试,当连接调试器时,可以看到 GPDO 开关。 此致, 朱利安
View full article
iMx.95 FRDM post quantum algorithms support I have an iMX.95 FRDM development board and I would like to use post quantum algorithm hardware acceleration. I've tried this command: pkcs11-tool --module /usr/lib/libsmw_pkcs11.so.5 --list-mechanism but the ML-KEM or ML_DSA ar not listed. I'#m currently building the imx image with yocto. How can I enable post quantum algorithm support? Re: iMx.95 FRDM post quantum algorithms support Hello, You don't simply "enable PQC" with a Linux kernel option. The i.MX 95 capability is integrated into the EdgeLock Secure Enclave / hardware root of trust. The i.MX 95 Advanced Profile Secure Enclave enables a post-quantum hardware root of trust and supports hybrid ML-DSA + ECDSA for NXP-signed Secure Enclave firmware. There is an i.MX 95 with SPSDK and ML-DSA hybrid secure boot implementation, which is much more useful than the general PQC documentation: i.MX 95 Secure Boot with SPSDK And the general NXP PQC architecture is here: NXP Post-Quantum Cryptography Re: iMx.95 FRDM post quantum algorithms support Thanks for the links! I know it's not that simple, but I would like to use the PQC hardware acceleration from a Linux user space application, and I was wondering what's the best way to achieve that. I'm developing an application where the two parties involved use ML-DSA to authenticate themselves and ML-KEM to get the shared secret keys for an encrypted communication session.  I was reading this: RM00284: EdgeLock Enclave Hardware Security Module API  and my question is: Can I use the API from a LInux user application that runs on the application domain? Or is that available only from the Low-Power Real Time Domain?
View full article
Evaluation Board for MPC561/562/563/564 Examples Hello everyone,       How can I get the Evaluation Board for MPC561/562/563/564 Examples?  I can not find in the MXP website.    Any advice is appreciated. Thank you! MPC561/2/3/4 General Purpose Evaluation Board | NXP Semiconductors Re: Evaluation Board for MPC561/562/563/564 Examples Hi @tangyuan2013  this is outdated product which won't be available anymore. All MPC5xx devices are in Not Recommended For New Design status and they are slowly reaching end of life status. We won't support customers designing a product with these devices anymore. We recommend to select newer device. Regards, Lukas
View full article
MCXA154 センサープロジェクト ここが私の初めてのNXPプロジェクトを投稿するのに適切か分かりませんが、今のところMCUXpressoとMCXのプロセッサーラインがとても気に入っています。FRDMボードではペリフェラルの追加やピンの設定はスムーズに進んだので、カスタムボードを作ろうと思いました。興味があれば、すべてのオープンソースのハードウェアおよびソフトウェアファイルが利用可能です。@mikerankin 開発ボード MCXA
View full article
KW47: How to obtain deviceId for Gap_CheckIfBonded()? Hello, I am developing a BLE application on KW47 and would like to remove bonding information using Gap_RemoveBond(). While reviewing the APIs, I found Gap_CheckIfBonded(), but I am not sure what value should be passed as the deviceId parameter or how to obtain it. Could you please explain: What deviceId should be passed to Gap_CheckIfBonded()? How can I obtain this deviceId on KW47? Thank you. Protocol: BLE -> connectivity Protocol: Bluetooth Re: KW47: How to obtain deviceId for Gap_CheckIfBonded()? Hello @hyama, The Gap_CheckIfBonded() function takes Device ID of the GAP peer as input and returns whether the connected peer device is bonded, along with the corresponding NVM index. For a practical example of how Gap_CheckIfBonded() and Gap_RemoveBond() can be used, please refer to the ble_shell_freertos SDK example for the KW47-EVK. Specifically in the shell_gap.c file. Please let me know if you have any further questions. BR Habib. Re: KW47: How to obtain deviceId for Gap_CheckIfBonded()? Thank you. I'll check the example implementation.
View full article
i.MX8QM H.264デコードソフトウェア開発に必要なVPU情報 親愛なる、 i.MX8QM内のVPUを使ってH.264ビデオをデコードするソフトウェアを開発したいと考えています。 ただし、リファレンスマニュアルにはVPUの詳細が非常に簡潔です。 その動作に関するより詳しい情報はありますか?例えば、これら4つのM0+コアとのやり取り方法、TSデータの提供方法、デコードされたビデオの取得方法などです。 よろしくお願いいたします! よろしくお願いいたします。 Re: i.MX8QM VPU information needed for developing H.264 decoding software こんにちは、 @Manuel_Salas さん はい、元気です。ご心配ありがとうございます! 念のため、ソフトウェアはM4やM0+コア上でではなくAコア上で開発したいと考えています。 提供されたドキュメントからすると、Linuxディストリビューションの中にドライバがあるはずですよね?このソースコードを見つけたと思う。 これらのM0+コアにインストールしなければならないファームウェア自体もLinuxディストリビューションのどこかに存在しているのでしょうか? 改めてありがとうございました! よろしくお願いいたします。 ToarteFretter。 Re: i.MX8QM VPU information needed for developing H.264 decoding software こんにちは、 @ToarteFretterさん お元気でお過ごしのことと思います。 残念ながら、NXPは詳細なAmphion VPUファームウェアドキュメントを公開していません。ファームウェアはIP所有者(Amphion)から提供されており、NXPにはMコアからVPUを直接制御するためのドライバーやSDKの例はありません。 i.MX VPU Application Programming インターフェース Linux Reference Manual が入手可能です。 よろしくお願いいたします。 サラス。 Re: i.MX8QM VPU information needed for developing H.264 decoding software こんにちは、 @Manuel_Salas さん。 i.MX8QMのVPU機能のためにM0+コアで動作するファームウェアは、Aコア上で動作するソフトウェア(例:Linux)がロードしなければならないのか、それともROM経由でチップに組み込まれているのか、あるいはSCFWの一部なのか教えてもらえますか? Linuxのソースコードを素早く調べても、この質問に明確な答えは得られません。また、i.MX8や見た目から見るVPUタイプには混乱を招き、多くのバリエーションがあるためです。 もう少し詳しく教えていただけるととても助かります。また、もし私たちがファームウェアを読み込む必要がある場合、どこで見つけられますか? どうもありがとうございました! よろしくお願いいたします。 ToarteFretter。
View full article
MCSPTE1AK144 – 霍尔FOC在转速超过约600 rpm时停止,且Simulink自动部署功能失效 你好, 我正在使用 NXP MCSPTE1AK144芯片和 Sunrise 永磁同步电机,并参考霍尔传感器永磁同步电机 FOC 示例。 软件安装: MATLAB R2025b NXP S32K1xx 2.2.0 支持包 NXP S32K1xx 4.3.0 基于模型的设计工具箱 模型构建成功并生成了 .mot 文件。文件。当我手动复制 .mot 文件时将文件传输到 EVB-S32K144 驱动器后,电机运行正常。通过主机模型,我可以启动和停止电机并更改速度参考值。 我目前面临两个问题。 电机转速超过约 600 转/分钟时停止运转。 电机在低速运转时运行正常。我测试了从每分钟 10 转左右开始的运行情况,也逐渐提高了速度。 当转速超过大约 600 rpm 时,电机停止运转,D11 开始闪烁红色。 我该如何确定导致此次停机的确切故障原因?我应该监测哪个故障变量或寄存器? Simulink 自动部署 Simulink 模型构建成功并生成 .mot 文件。文件已存在,但固件不会自动刷写到主板上。手动复制相同的 .mot 文件将文件写入 EVB-S32K144 驱动器可以正常工作。 如何正确配置才能通过 OpenSDA 将生成的代码自动部署到 S32K144? 我还找到了 NXP 针对此示例的较早建议,该建议使用 MATLAB R2021a 和 NXP 支持包 S32K1xx 2.3.0。您会推荐使用此配置而不是 R2025b 和 MBDT 4.3.0 吗? 谢谢!
View full article
在 CW_PA_v10.5.1 中安装 QCVS 软件包时出错 您好, 我需要为 PBL 创建一个 QorIQ 配置项目,因此需要安装 QCVS 软件包。 我下载了“QCVS Offline Installation Packages for CodeWarrior for Power Architectures Rev 4.5.zip”之前从支持门户网站下载的。最近,我在一台新笔记本电脑上安装了CodeWarrior 10.5.1 。 但是我无法在 CodeWarrior 中安装或添加 QCVS 包。安装过程中,我遇到以下错误: 请帮我解决这个问题。 此致, 维玛尔普拉萨德。 Re: Error while installing the QCVS package in CW_PA_v10.5.1 请卸载您电脑上的CodeWarrior软件。 请从以下链接下载“适用于 Power Architecture 的 CodeWarrior Rev 4.5 的 QCVS 离线安装包.zip”和“适用于 Power Architecture 的 CodeWarrior 开发工作室 v10.5.1 – Windows.exe”。 https://support.nxp.com/s/case/500Te00000gyh6mIAA/community-error-while-installing-the-qcvs-package-in-cwpav1051?language=en_US 请先安装适用于 PA 10.5.1 的 CodeWarrior。然后,在新工作区中打开 CodeWarrior IDE,并安装“适用于 Power Architectures Rev 4.5 的 CodeWarrior 的 QCVS 离线安装包.zip”。来自 CodeWarrior IDE 的帮助->安装新软件->添加->归档。 Re: Error while installing the QCVS package in CW_PA_v10.5.1 嗨@yipingwang , 谢谢你的回复。 我已在新工作区中尝试过,但安装时仍然出现此错误。 是否有适用于 CW_PA_v10.5.1 的最新版 QCVS 工具? 此致, 维玛尔普拉萨德。 Re: Error while installing the QCVS package in CW_PA_v10.5.1 请先在新工作区中打开 CodeWarrior IDE,然后从 CodeWarrior IDE 的“帮助”->“安装新软件”->“添加”->“归档”安装 QCVS 4.5。
View full article
利用智能家居设备节约能源? 有没有人尝试过通过使用智能家居设备来降低能源费用?我即将搬进一套新的出租公寓,希望能想办法减少开支。与伴侣同住。
View full article
Saving energy by using smart home devices? Has anyone tried to reduce their energy bills by using smart home devices? I’m moving into a new rental flat and am hoping to be creative in reducing my bills. Staying with a partner.
View full article
无法下载RTD - 下载选项呈灰色 我无法在 S32 Design Studio (S32DS) 中下载/安装 S32K344 板的 RTD 软件包。选择或下载RTD的选项呈灰色,不可用。 我已经重启了S32DS并检查了可用的更新/软件包,但问题仍然存在。因此,我无法继续进行项目设置和开发活动。 请您帮忙查看并提供解决方案建议? 细节: IDE:S32 设计工作室 (S32DS) 目标MCU:S32K344 问题:RTD 下载选项呈灰色 影响:无法安装/下载 RTD 代码包,软件包   Re: Unable to Download RTD - Download Option Greyed Out 您能看到这是如下所示的第二个标签页吗?
View full article
S32K312 LPUART – 波特率为 1 Mbps、时钟频率为 30 MHz 时帧错误 您好,NXP团队: 我正在使用 NXP S32K312 MCU 和 LPUART 外设。通信所需的 UART 波特率为 1 Mbps。 LPUART 6 的功能时钟频率为 30 MHz。 我最初对 UART 的配置如下: 波特率:1,000,000 bps LPUART 时钟:30 MHz SBR 或尾数:2 OSR 或除数:15 数据位:8 奇偶性:无 停止位:1 LSB优先 在这种配置下,我观察到通信过程中出现帧错误。 我理解LPUART波特率计算的原理是: 波特率 = LPUART 时钟频率除以 SBR 乘以 OSR 我还尝试了一种旨在实现精确 1 Mbps 速度的配置: SBR = 2 OSR = 15 波特率 = 30 MHz ÷ 2 × 15 = 1 Mbps 然而,我仍然观察到构图错误。 我还尝试了 921600 波特率,但在这个波特率下也观察到了帧错误。 当前观察 LPUART 时钟:30 MHz 所需通信波特率:1 Mbps UART 配置:8 N 1 在 1 Mbps 速率下观察到帧错误 在 921600 波特率下也观察到帧错误。 通信是通过TI BQ79600桥接器进行的。 使用逻辑分析仪监测TX波形 请问您能否帮忙澄清一下: S32K312 LPUART 能否在 30 MHz LPUART 时钟频率下可靠地支持 1 Mbps UART 通信? 对于 30 MHz 时钟频率,是否有推荐的 OSR 和 SBR 组合可以实现 1 Mbps 的速率? 在 1 Mbps 速率下,OSR 值、SBR 值或波特率精度是否存在任何已知的限制或约束? 是否需要对 LPUART 进行任何额外的配置才能实现可靠的 1 Mbps 通信? 当通信速率为 1 Mbps 时,LPUART 是否有推荐的时钟频率? 帧错误是否与 LPUART 采样配置或时钟容差有关? 如有需要,我可以提供 LPUART 波特率寄存器值、RTD 配置和逻辑分析仪捕获结果。 请提供推荐的配置方案以及任何其他调试步骤。 谢谢。 Re: S32K312 LPUART – Framing Error at 1 Mbps Baud Rate with 30 MHz LPUART Clock 你好@gayathri123 , 帧错误是接收端错误。因此,临时重新复用用作 LPUART6_TX 的 PTD9 本身不应该设置 LPUART 帧错误标志。帧错误表明接收器在预期为停止位的地方检测到了逻辑 0。   请问BQ79600是否在LPUART6_STAT[FE]中报告了该错误,还是只有逻辑分析仪报告了该错误? 2.75 毫秒的低电平唤醒脉冲比 UART 帧长得多。如果接收器保持使能状态时,S32K312 RX 输入端也存在低电平,则 LPUART 可能会正确地报告帧错误,因为未检测到有效的停止位。因此,该标志可能源自唤醒阶段,并在正常的 UART 通信开始时保持设置状态。 请做个测试: 在更改引脚复用之前,请禁用 LPUART 接收器和发射器。 使用 GPIO 生成唤醒脉冲。 将 GPIO 输出恢复为高电平。 重新封装 PTD9 到 LPUART6_TX。 清除之前所有接收错误标志。 重新启用 LPUART 并等待所需的 BQ79600 唤醒恢复时间。 发送有效的命令帧。 请提供 TX 和 RX 的逻辑分析仪捕获结果,以及唤醒脉冲前后 LPUART6_STAT 的值。确定 STAT[FE] 被设置的确切时刻尤为重要。 顺祝商祺! 帕维尔 Re: S32K312 LPUART – Framing Error at 1 Mbps Baud Rate with 30 MHz LPUART Clock 你好 我们使用S32K312 ,并将LPUART6配置为1 Mbps。PTD9配置为 LPUART6 的 TX 引脚。 当我们临时将 PTD9 配置为 GPIO,然后将其重新复用为 LPUART6 TX 时,我们在 UART 通信期间观察到帧错误。 顺序如下: 将 PTD9 配置为 GPIO,并将其拉低约2.75 毫秒,以产生所需的唤醒脉冲。 将 PTD9 重新封装回LPUART6_TX 。 通过 LPUART6 以 1 Mbps 的速度 传输虚拟数据 。 UART 通信过程中出现帧错误。 Re: S32K312 LPUART – Framing Error at 1 Mbps Baud Rate with 30 MHz LPUART Clock 你好@gayathri123 , 感谢您提供的详细描述。 首先要澄清的是 LPUART 波特率公式。对于 S32K3 LPUART,有效波特率计算如下:   波特率 = LPUART 功能时钟 / (SBR × (OSR + 1))   因此,如果 BAUD 寄存器包含 SBR = 2 和 OSR = 15,则得到的波特率为:   30 MHz / (2 × 16) = 937,500 波特   因此,它不是 1 Mbps。当通信伙伴以 1 Mbps 的速度运行时,这种偏差足以导致帧错误。 对于 30 MHz LPUART 功能时钟,可以通过以下方式获得精确的 1 Mbps 波特率:     SBR = 2 OSR寄存器值 = 14 有效过采样率 = 15   30 MHz / (2 × 15) = 1,000,000 波特   请注意,某些配置工具可能会显示有效过采样率,而波特率寄存器存储的值则减一。因此,请在初始化后读取完整的 LPUART6_BAUD 寄存器,并验证实际的 OSR 和 SBR 字段。 S32K312 LPUART 可支持 1 Mbps 通信。30 MHz 的功能时钟也适用,因为它能够精确地生成波特率。除了正确的时钟、波特率设置、帧格式、引脚配置和接收器配置之外,通常不需要其他特殊配置。 顺祝商祺! 帕维尔
View full article
iMX93 FIFO underruns when using SAI1 on M33 I'm using SAI1 to drive an external I2S device.  40MHz BCLK, 1.25MHz WCLK. Boot from Linux, code running on M33 via remoteproc. Getting FIFO underruns for the SAI1 interface. Can't figure out why? Did same code using SAI3 on M33 (A55 was held in uboot) and no problems. Any ideas? Thanks! Audio(PDM | I2S | SAI) Re: iMX93 FIFO underruns when using SAI1 on M33 Hello, Unfortunately, we do not have examples in SDK to use CODECs in our SDK. You could try to use the examples in SDK as reference and you can find in the next path: mcuxsdk\examples\driver_examples\sai If you see FIFO underrun warnings, could be caused by an empty TX FIFO because data is not being pushed fast enough or the transmitter is not properly enabled. A reason that could be causing this issue is resource availability/configuration. First, I suggest you confirm that you do not have issues where the Cortex-A processor is not using the same resources from Cortex-M that could cause the issue. Did you confirm that Transmitter Enable bit from SAI Transmit Control Register (TCSR) register is enable? Best regards. Re: iMX93 FIFO underruns when using SAI1 on M33 I've moved the SAI1 code to the A55 under Linux. Still getting FIFO errors. Here are the details of the configuration and questions: Platform Board: i.MX93 EVK; /sys/devices/soc0/soc_id=i.MX93, /sys/devices/soc0/revision=1.1. Package marking/mask not yet recorded. Linux: 6.12.20-lts-next-gdfaf2136deb2, PREEMPT, A55. SAI1 at 0x443b0000, TX via 44000000.dma-controller-CH21. SAI1 serial root: 40 MHz from VIDEO_PLL; 40 MHz BCLK, 1.25 MHz frame rate. SAI3/WM8962 is Linux-owned and was idle for the reproductions below. LMX2571 I2S FSK sink: signed 16-bit code in active slot, zero in other slot. Constant code +8500 produces the expected +17 kHz RF offset. Minimal Linux reproduction (M33 remoteproc offline) Custom DTB exposes SAI1 as an ALSA playback device; SAI1 PCM card 0. Static ALSA PCM: hw:0,0, S16_LE, 2 channels, 1,250,000 frames/s; period 2,400 frames, buffer 19,200 frames. No Gaussian filter or other real-time waveform generation. TX FIFO depth 32 words, TX DMA burst 8 words, FIFO watermark 24. Static data: slot 0=8500, slot 1=0. Command: python3 /root/cp7g_static_playback.py --device hw:0,0 --seconds 600 Latest result: 750,000,000 frames written in 599.958 s, ALSA xruns=0. SAI1 FEF IRQ diagnostic: 1 episode, 9 IRQ entries over 2.685 ms. First observed at monotonic uptime about 675.892537 s, approximately 7.16 s before playback stopped; not an end-of-stream drain event. First-IRQ instrumentation (timings are after the hardware FEF assertion) TCSR=0x90150c01; consecutive time reads=41 ns; handler work before first TCSR read=209 ns; first TCSR regmap read=120,607 ns (return 0). FEF W1C regmap write=241,007 ns (return 0), before detailed snapshot. Post-ACK TFR0=0x00020001, read=242,799 ns. Post-ACK eDMA CH21 first raw register read=241,423 ns; total CH21 snapshot time=487,722 ns. CH_CSR=0x80000005, CH_ES=0x00000000, CH_INT=0x00000000, CH_SBR=0x00208003, CH_PRI=0x00000000. The TFR0 and CH21 values were sampled after the acknowledgment, not at initial FEF assertion. The long reads/writes cannot establish that they caused the initial FIFO error; CH_ES=0 only says no channel error was latched when sampled. The FEF is a hardware event despite ALSA xruns=0. Independent simplified firmware reproduction With Linux booted and ALSA capture idle, M33 code drove the same SAI1 TX using a single self-linked eDMA CH21 TCD, constant +8500 / zero slots, no major-loop callbacks, no foreground buffer refill, no Gaussian filter. At 40 MHz BCLK, FIFO depth 32, watermark 24, DMA minor loop 16 bytes, it stopped on SAI1 FEF after 216 s (Rev R). In the post-FEF fault snapshot, CH21_ES=0 and DMA global ES=0; the TCD was still self-linked. Similar faults occurred in later priority and internal-BCLK trials. A half-rate trial also failed. Thus neither Python nor M33 waveform computation/refill is necessary to reproduce the intermittent SAI1 FEF. Linux playback also fails with the M33 offline. Probe loading and external wire length changes did not remove the problem. Additional observation A burst-4 / watermark-28 Linux run had one FEF episode at uptime about 676.889 s on a separate boot; the latest burst-8 fault was at 675.893 s. A system journal search around 670–682 s in the latest boot found no logged activity. Similar uptime is suggestive only, not proof of a timer. Questions for NXP 1. Is there a known i.MX93 rev 1.1 mask erratum or low-power/interconnect condition that can delay SAI1 and eDMA CH21 register access and/or DMA service by 100–250 us while SAI1 TX and its clocks are enabled? 2. What hardware status, clock-gating, interconnect, or eDMA traces can identify the first missed SAI1 FIFO service request before FEF? 3. Does SAI1 TX FEF indicate any condition other than an actual FIFO underrun in this asynchronous master configuration? 4. Are there documented SAI1/eDMA burst, watermark, or clock constraints for continuous 40 MHz BCLK / 1.25 MHz stereo frame output on i.MX93? Can provide custom DTB, Linux fsl_sai.c/h changes and static playback script, M33 self-linked TCD source, full boot clock tree, and scope/RF data.
View full article
RTDをダウンロードできません - ダウンロードオプションがグレー表示されています S32 Design Studio(S32DS)でS32K344ボード用のRTDパッケージをダウンロード・インストールできません。RTDを選択またはダウンロードするオプションがグレー表示されており、利用できません。 S32DSを再起動し、利用可能なアップデートやパッケージを確認しましたが、問題は解決しません。このため、プロジェクトのセットアップおよび開発活動を進めることができません。 解決について確認し、アドバイスをいただけますか? 詳細: IDE:S32 Design Studio(S32DS) ターゲットMCU:S32K344 問題:RTDのダウンロードオプションがグレー表示されています 影響:RTDパッケージのインストール/ダウンロードができません   Re: Unable to Download RTD - Download Option Greyed Out 下の2つ目のタブだと見えますか?
View full article
在 M33 上使用 SAI1 时,iMX93 FIFO 出现欠载现象 我正在使用SAI1驱动一个外部I2S设备。40MHz BCLK,1.25MHz WCLK。 从 Linux 系统启动,代码通过 remoteproc 在 M33 上运行。 SAI1接口出现FIFO欠载现象。 搞不明白为什么? 在 M33 上使用 SAI3 执行相同的代码(A55 被限制在 uboot 中),没有出现问题。 您有什么想法吗? 谢谢您! 音频(PDM | I2S | SAI) Re: iMX93 FIFO underruns when using SAI1 on M33 你好, 遗憾的是,我们的 SDK 中没有使用 CODEC 的示例。 您可以参考 SDK 中的示例,这些示例位于以下路径: mcuxsdk\examples\driver_examples\sai 如果看到 FIFO 欠载警告,可能是由于 TX FIFO 为空导致的,因为数据推送速度不够快,或者发射器未正确启用。 造成此问题的原因可能是资源可用性/配置问题。首先,我建议您确认是否存在 Cortex-A 处理器无法使用 Cortex-M 处理器的相同资源而导致问题的情况。 您是否确认SAI发射控制寄存器(TCSR)中的发射器使能位已启用? 顺祝商祺! Re: iMX93 FIFO underruns when using SAI1 on M33 我已经将 SAI1 代码移植到 Linux 下的 A55 上。 仍然出现FIFO错误。 以下是配置详情和问题: 平台 板:i.MX93 EVK;/sys/devices/soc0/soc_id=i.MX93 /sys/devices/soc0/revision=1.1。代码包,软件包标记/掩膜尚未记录。 Linux:6.12.20-lts-next-gdfaf2136deb2PREEMPT,A55。 SAI1 在 0x443b0000,TX 通过 44000000.dma-controller-CH21。 SAI1 串行根:来自 VIDEO_PLL 的 40 MHz;40 MHz BCLK,1.25 MHz 帧速率。 SAI3/WM8962 属于 Linux 所有,在以下复现过程中处于空闲状态。 LMX2571 I2S FSK 接收器:活动插槽中为有符号 16 位代码,其他插槽中为零。 常量码 +8500 产生预期的 +17 kHz 射频偏移。 最小 Linux 复现环境(M33 remoteproc 离线) 自定义 DTB 将 SAI1 公开为 ALSA 播放设备;SAI1 PCM 卡 0。 静态 ALSA PCM:硬件:0,0,S16_LE,2 通道,1,250,000 帧/秒; 周期 2,400 帧,缓冲区 19,200 帧。没有高斯滤波器或其他 实时波形生成。TX FIFO深度32字,TX DMA突发8字 先进先出水印 24。静态数据:槽位 0=8500,槽位 1=0。 命令:python3 /root/cp7g_static_playback.py --设备 hw:0,0 --seconds 600 最新结果:在 599.958 秒内写入了 750,000,000 帧,ALSA xruns=0。 SAI1 FEF IRQ 诊断:1 次事件,2.685 毫秒内发生 9 次 IRQ 条目。 首次观测到单调运行时间约为 675.892537 秒,大约 播放停止前 7.16 秒;不是流结束排水事件。 首次中断请求检测(时序在硬件 FEF 断言之后) TCSR=0x90150c01;连续读取时间=41 ns;处理程序在第一次读取之前工作 TCSR 读取=209 ns;第一个 TCSR regmap 读取=120,607 ns(返回 0)。 FEF W1C regmap write=241,007 ns (返回 0),在详细快照之前。 Post-ACK TFR0=0x00020001,读取=242,799 ns。 ACK后eDMA CH21首次原始寄存器读取=241,423纳秒;CH21总计 快照时间=487,722 ns。CH_CSR=0x80000005,CH_ES=0x00000000, CH_INT=0x00000000,CH_SBR=0x00208003,CH_PRI=0x00000000。 TFR0 和 CH21 值是在确认之后而非确认时采集的。 初步 FEF 断言。长时间的读取/写入操作无法证明它们 导致了最初的FIFO错误;CH_ES=0仅表示没有通道错误。 采样时锁定。尽管 ALSA xruns=0,但 FEF 仍然是一个硬件事件。 独立简化固件复制 Linux 系统启动且 ALSA 捕获空闲时,M33 代码驱动了同一个 SAI1 TX。 使用单个自链接 eDMA CH21 TCD,恒定 +8500 / 零槽, 没有主循环回调,没有前台缓冲区填充,没有高斯滤波器。 40 MHz BCLK,FIFO 深度 32,水位线 24,DMA 次循环 16 字节, 它在 SAI1 FEF 上停留了 216 秒(Rev R)。在 FEF 故障后的快照中, CH21_ES=0 和 DMA 全局 ES=0;TCD 仍然是自链接的。类似的故障也曾发生。 在后续的优先和内部 BCLK 试验中。半速试验也失败了。 因此,既不需要Python也不需要M33波形计算/填充。 重现间歇性 SAI1 FEF。Linux 系统下播放也失败了。 M33离线。探针负载和外部导线长度的变化并未消除 问题。 补充观察 运行在 burst-4 / watermark-28 Linux 系统上的一个 FEF 事件大约在 uptime 时发生。 单独启动时耗时 676.889 秒;最近一次 burst-8 故障发生在 675.893 秒。 在最近一次启动过程中,系统日志搜索大约在 670–682 秒处,未发现任何内容。 已记录的活动。相似的正常运行时间仅供参考,并不能证明存在定时器。 向恩智浦提出的问题 1.是否存在已知的 i.MX93 rev 1.1 掩模勘误或低功耗/互连相关问题? 可能延迟 SAI1 和 eDMA CH21 寄存器访问和/或 DMA 的条件 在SAI1 TX及其时钟启用期间,服务时间为100-250微秒? 2. 哪些硬件状态、时钟门控、互连或 eDMA 走线可以 在 FEF 之前,找出第一个被遗漏的 SAI1 FIFO 服务请求? 3. SAI1 TX FEF 是否指示除实际先进先出 (FIFO) 之外的任何其他情况? 在这种异步主配置中是否存在欠载现象? 4. 是否有关于 SAI1/eDMA 突发、水印或时钟限制的文档记录? i.MX93 上是否支持连续 40 MHz BCLK / 1.25 MHz 立体声帧输出? 可以提供自定义 DTB、Linux fsl_sai.c/h变化和静态播放 脚本、M33 自链接 TCD 源、完整启动时钟树和示波器/射频数据。
View full article
i.MX8MP USBホストロックアップ(-110)低速デバイスでの物理的な取り外し ターゲット設定: SoC:NXP i.MX8MP ポート構成:USBポート合計4個(USB 2.0×2、USB 3.0×2) OS : yocto scarthgap 6.6.52 トポロジー: 私たちの設計では、i.MX8MP SoCは内部のUSB2(本設計ではUSB1回線はotgに接続)コントローラーをUSB 3.0モードで使い、アップストリーム接続を直接オンボードのFresco Logic FL5500-2F0ハブに接続しています。ハブはこの接続を下流の4つの物理ポートに分配します。2つのポートはUSB 3.0のフル機能に対応するように配線されており、残りの2つのポートはUSB 2.0のみに対応するように配線されています。 i.MX8MP(SoCコントローラー「USB2」ライン、USB 3.0モードで動作) - > USB 3.0ハブ(Fresco Logic FL5500-2F0、USB 3.0ポート2つとUSB 2.0ポートを露出)   問題の説明: i.MX8MPで致命的なxHCIコマンドリングのロックアップが発生しており、ハードウェアが再接続時にxchiドライバから発行されたデータコマンドに応答しなくなります。クラッシュ条件は非常に限定的で、単一のハードウェア3.0 USBポートでのみ発生し、他の3.0および2.0ポートではこの問題は発生しません。 ロックアップは、低速(LS)デバイスが下流の高速ハブから物理的に切断されている間に、他の3つのポートのいずれかに少なくとも1台の低速デバイスがバックグラウンドでアクティブに接続されている場合にのみ発生します(問題のあるポートに再接続する前にその低速デバイスを抜いておけば問題は発生しません)。 主な行動的孤立: ポートアイソレーション:同じマルチデバイスのアンプラグテストをもう一方のUSB 3.0ポートやUSB 2.0ポートで行うと、きれいに切断されます。クラッシュはUSB 3.0ポート1つに限定されています。スピードアイソレーション:バックグラウンドデバイスは低速でなければなりません。バックグラウンドで高速デバイス(USBストレージドライブなど)がどれだけあっても関係ありません。他にLSデバイスがなければ、切断は問題なく処理されます。 注: この問題を解決するために、物理的に抜き差しする前に、以下のコマンドを使用して不良の USB ポートの認証を解除しました。 echo 0 > /sys/bus/usb/devices/1-1.1/authorized USBドライバーのバインドを解除してバインドすると動作します。 使用港 ハブ上のバックグラウンドデバイス デバイスのプラグが抜かれています 切断方法 ホストコントローラの結果 USB 3.0(良好なポート) 低速 低速 物理的に引っ張る クリーンな分解 USB 2.0ポート 低速 低速 物理的に引っ張る クリーンな分解 USB 3.0(ポートの不具合) 高速回線のみ 低速 物理的に引っ張る クリーンな分解 USB 3.0(ポートの不具合) なし 低速 物理的に引っ張る クリーンな分解 USB 3.0(ポートの不具合) 低速 低速 ソフトウェア(認可=0) クリーンな分解 USB 3.0(ポートの不具合) 低速 低速 物理的に引っ張る コマンドリングタイムアウト (-110)、ホストがクラッシュしました ログ、 root@lec-imx8mp:~# lsusb バス 001 デバイス 001: ID 1d6b:0002 Linux Foundation 2.0 ルートハブ バス001 デバイス002: ID 1d5c:5510 Fresco Logic Frescologic USB2.0 HUB バス001 デバイス004: ID 413c:301a Dell Computer Corp. Dell MS116 光学式マウス バス001 デバイス005: ID 413c:2113 Dell Computer Corp. KB216 有線キーボード バス 002 デバイス 001: ID 1d6b:0003 Linux Foundation 3.0 ルートハブ バス002 デバイス002: ID 1d5c:5500 Fresco Logic Frescologic USB3.1Gen2 HUB root@lec-imx8mp:~# [ 39.686850] usb 1-1.2:USB接続切断、デバイス番号5 [ 41.191295] usb 1-1.1: xhci-hcd を使用する新しい低速 USB デバイス番号 6 root@lec-imx8mp:~# lsusb バス 001 デバイス 001: ID 1d6b:0002 Linux Foundation 2.0 ルートハブ [ 51.427313] XHCI-HCD、XHCI-HCD.1.オート:xHCIホストがエンドポイント停止コマンドに応答しません [ 51.443403] XHCi-HCD、XHCI-HCD.1.auto:xHCIホストコントローラーが応答しない、死んだとみなす [ 51.451350] XHCI-HCD XHCI-HCD.1.auto:HCが亡くなった。片付け中 [ 51.457035] usb 1-1-port1: usb_device を割り当てできませんでした [ 51.462339] usb 1-1: USB切断、デバイス番号2 バス 001 デバイス 002: ID 1d5c:5510 [ 51.467338] usb 1-1.4:USB接続切断、デバイス番号4 Fresco Logic Frescologic USB2.0 H[ 51.475602] usb 2-1: USB切断、デバイス番号2 バス001 デバイス004: ID 413c:301a Dell Computer Corp. Dell MS116 光学式マウス バス 002 デバイス 001: ID 1d6b:0003 Linux Foundation 3.0 ルートハブ バス002 デバイス002: ID 1d5c:5500 Fresco Logic Frescologic USB3.1Gen2 HUB root@lec-imx8mp:~# lsusb バス 001 デバイス 001: ID 1d6b:0002 Linux Foundation 2.0 ルートハブ バス 002 デバイス 001: ID 1d6b:0003 Linux Foundation 3.0 ルートハブ   i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Yocto Project Re: i.MX8MP USB Host Lockup (-110) on Low Speed device Physical Unplug この問題に関するご意見や解決策があれば、大変助かります。 ありがとう
View full article