Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
PF3000 current limit behavior of SW Dear community, I am considering using a device with the PF3000 built in. According to the datasheet, SW2 has a current limit during a short circuit, but I don't fully understand its specific operation. For example, does it repeat 2 seconds OFF and 0.1 seconds ON, or does it stop outputting entirely until the short circuit is resolved? Additionally, how long does the current limit last after a short circuit occurs? Best Regards, Kinosita Re: PF3000 current limit behavior of SW Hi, JorgeCas. Thank you for your reply. So, it shuts down 8 milliseconds after detecting a short-circuit current. Thank you for the information. Re: PF3000 current limit behavior of SW Hello, SW2 has an overcurrent sense bit (SW2FAULTS), it is asserted when SW2 above current limit. It takes 8 ms to detect the over current consumption. SW2FAULTI register is set to 1 when the SW2 regulator is in current limit protection. This flag can only be cleared by writing a 1 to recover the SW2 output. Writing a 0 has no effect. Best regards.
View full article
S32G启动时间 对于 s32g274ardb3 的冷启动,核心启动时间太长(从启动到在控制台中显示登录日志)。我可以配置或做什么来缩短时间?
View full article
音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 我正在使用 imx-audio-card,它使用 sai1 snd-soc-dummy-dai-0 我有一个通过 I2S 连接到 iMX8MP 模块的外部 SoC,没有可供我使用的公开编解码器,因此我使用虚拟编解码器。 我可以在 aplay -L 中查看它们,它将显示: hw:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Direct hardware device without any conversions plughw:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Hardware device with all software conversions default:CARD=imxaudiocard imx-audio-card, sai1 snd-soc-dummy-dai-0 Default Audio Device sysdefault:CARD=imxaudiocard imx-audio-card, sai1 snd-soc-dummy-dai-0 Default Audio Device dmix:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Direct sample mixing device 我可以通过它播放音频并且它可以工作。 aplay -D default:CARD=imxaudiocard music.wav 上面的代码片段中使用 arecord -L 可得到类似的结果。我可以使用以下方式进行录制: arecord -D default:CARD=imxaudiocard -r 32000 -c 2 -d 20 -f S24_3LE test.wav 但是,test.wav 是空白的;我似乎无法录制声音。仅供参考 - 没有 amixer 控件,所以我似乎无法设置为 CAPTURE。 当我已经可以通过 I2S 播放音频时,知道如何通过 I2S 接受音频吗? 回复:音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 解决了! 在开发板上,该模块物理连接到编解码器。我们需要断开线路以阻止电压泄漏。 因此,禁用设备树中的编解码器是不够的,还需要进行硬件工作。 感谢@Manuel_Salas和@jamesbone——我确实在这次旅程中学到了很多东西,否则我不会学到这些。再次感谢! 回复:音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 进一步测试: 引脚 36 问题? 我想知道引脚 36 是否存在问题,因此我们将其设为 TX 线: ; /* SODIMM 36 */ 它的行为与 RX 线相同(连接时拉低) 所以也许 imx8mp 模块有问题,而且我还有一个多余的模块,所以我更换了该模块。同样的问题。所以... RXD1数据线 所以我们认为引脚 36 可能存在一些硬件问题或损坏,所以我想使用另一条 RX 线,该线位于引脚 220,使用以下线路: ; /* SODIMM 220 */ 突然,音频卡不可用,所以我无法发送/接收信号来测试它是否拉高/拉低。aplay -L 没有显示这一点,它也不存在于 /proc/asound/cards 中。我还尝试禁用一个 pinctrl,因为它使用 pin 220: &pinctrl_gpio7{ status = "disabled"; }; 问题: 您是否知道为什么无论引脚键盘配置如何或将其 pixmux 到什么位置,引脚 36 总是被拉低? 为什么将 RX 线从引脚 36 更改为引脚 220 无法识别 imx-audio-card(声卡)? 回复:音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 抱歉,我已将位 8(拉选)设置为禁用,即 0x0d6,我已经尝试过了。 回复:音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 您可以使用示波器测试处于记录模式时的时钟信号,如果未设置时钟,则可以在设备树中更改它。 pcm_write 是 alsa 驱动程序中的函数,你可以使用 Dmesg 命令获取内核日志,让我分享一个关于如何 https://www.linuxfoundation.org/blog/blog/classic-sysadmin-viewing-linux-logs-from-the-command-line 回复:音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 你好,詹姆斯, 谢谢您的回复。我目前已将其设置为,带有 imx8mp 的模块是从属模块,而外部 SOC 是主模块。我没有修改它,因为我认为 I2S 是双向的(我同时连接了数据输入和数据输出)。 我该如何检查 pcm_write 错误?或者产生了位时钟? 最后,如何检查内核日志中的任何消息? 回复:音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 由于您使用的是虚拟编解码器,因此问题在于主/从模式的设置。 pcm_write 返回 EIO 错误,这意味着 I/O 未设置。主模式可以工作,但从模式则不行。 他们能否检查位时钟是否通过您的虚拟模式和从属模式生成?检查内核日志中是否有任何消息。 回复:音频通过 I2S 从外部 SoC 传输到 iMX8MP 模块 - 捕获失败 您能分享一下您使用的编解码器吗?BSP 版本也是如此。 没有编解码器 - 因此是虚拟的。我只是有直接来自 I2S 的音频流,没有 I2C 线。 BSP-不确定如何获得它...我执行了 uname -r,得到了:5.15.148-6.8.1+git.1cbf48124747 如果可能的话,您的设备树与编解码器相关。 至于设备树 - 我手头没有,但它会创建一个新节点来使用 fsl、imx-audio-card 有时,当 i.MX 和“MAX98357A”等设备之间存在非“编解码器”的连接时,就会发生这种情况,这些是数字放大器,最终会出现问题。 至于您对数字放大器的评论,您能详细说明一下吗?
View full article
Audio via I2S from external SoC into iMX8MP module - Capturing fails I am using imx-audio-card which uses sai1 snd-soc-dummy-dai-0 I have an external SoC connected to iMX8MP module via I2S, there's no exposed codec for me to use, hence why I'm using a dummy codec. I can view them in aplay -L which will show: hw:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Direct hardware device without any conversions plughw:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Hardware device with all software conversions default:CARD=imxaudiocard imx-audio-card, sai1 snd-soc-dummy-dai-0 Default Audio Device sysdefault:CARD=imxaudiocard imx-audio-card, sai1 snd-soc-dummy-dai-0 Default Audio Device dmix:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Direct sample mixing device I can play audio via this and it works. aplay -D default:CARD=imxaudiocard music.wav Similar results in the code snippet above using arecord -L. I'm able to record using:  arecord -D default:CARD=imxaudiocard -r 32000 -c 2 -d 20 -f S24_3LE test.wav However, the test.wav comes out blank; I cannot seem to record sounds. FYI - there's no amixer controls, so I can't seem to set to CAPTURE. Any idea how I can accept the audio in via I2S when I can already playback the audio out via I2S? Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails SOLVED!  On the development board, the module was physically connected to the codec. We needed to break the lines to stop the voltage leakage.  So disabling the codec in the device tree wasn’t sufficient, hardware work was needed to be done. Thank you @Manuel_Salas and @jamesbone - I definitely learned a lot in this journey that I would not have learned otherwise. Thanks again! Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Some further testing: Pin 36 issue? I wanted to know if there's any issue with the pin 36, so we've made that as a TX line as such: ; /* SODIMM 36 */ And it is behaving the same with as if it's the RX line (pulls lower when connected) So maybe something is wrong with the imx8mp module, and I have an extra one, so I replace the module. Same issue. So... RXD1 data line So we thought maybe the pin 36 has some hardware issue or corruption, so I wanted to use another RX line, which is in pin 220 using this line: ; /* SODIMM 220 */ Suddenly, the audio card is not available, so I cannot send/receive signals to test if it pulls high/low. aplay -L does not show this, nor is it in /proc/asound/cards. I've also tried disabling one pinctrl as it uses pin 220 as such:  &pinctrl_gpio7{ status = "disabled"; }; Questions: Do you have any idea why pin 36 always pulls lower, regardless of pin pad configuration or what it's pixmux'ed to? Why changing the RX line from pin 36 to pin 220 not recognize the imx-audio-card (sound card)? Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Sorry, I've set the Bit 8 (pull select) as disabled, which is 0x0d6, which I've already tried. Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Hello @Manuel_Salas , I appreciate your insight, and we've went ahead and checked with the manual on the register (section 8.2.4.232 in the IMX8MPRM, or here's the snippet) So this would mean that Bit 5 (open drain field) should be 0 and Bit 6 (pull up/down config field) should be 1. That means 0x1d6. It is what I currently have.  I've also played around with the settings, and tried with 0x0d6, 0x0d0, 0x096 and these do not solve the issue. The signal is still too low.  I'm at a loss, not sure what to do. Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Hello  @freshmango90  I can confirm that the TXS0102 has internal pull-ups resistors of 10K, so, you can disable the pull ups from i.MX8MP. Also, the TXS0102 is Open drain, so, you must disable Open Drain from i.MX8MP. Please try it. Best regards, Salas. Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails partial device tree: &{/} { sound_i2s_card { status = "okay"; compatible = "fsl,imx-audio-card"; model = "imx-audio-card"; pri-dai-link { link-name = "sai1"; format = "i2s"; cpu { sound-dai = <&sai1>; }; }; }; }; &sai1 { status = "okay"; pinctrl-0 = <&pinctrl_sai1_bclk_lrclk_dout_din>; pinctrl-names = "default"; }; &iomuxc { pinctrl_sai1_bclk_lrclk_dout_din: my_sai_grp { fsl,pins = , /* SODIMM 30 */ , /* SODIMM 32 */ , /* SODIMM 34 */ ; /* SODIMM 36 */ }; }; I have RX line to be 1d0 because I wanted to reduce the output drive strength to keep it as an input. Here is the level shifter datasheet. This device does use pull-up resistors. https://www.ti.com/lit/ds/symlink/txs0102.pdf?HQS=dis-dk-null-digikeymode-dsf-pf-null-wwe&ts=1744212502511 Our schematic is the same as the one shown in 9.2 Typical application with the only difference with OE being connected to 1.8V to always enable the level shifter. Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Hello @freshmango90  It seems that you have enabled pull-down on the RX pin on i.MX8MP. Could you please share your device tree related to the the SAI configuration? If possible, share the schematic and part number of the level shifter. Best regards, Salas. Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Hello @jamesbone  Our setup is as such: External SoC --> Level shifter (3.3V to 1.8V) --> imx8mp We have the oscilloscope probed at the RX line of the imx8mp (SAI1_RX_DATA00). This is what we see:  The highest voltage never reaches 1.8V, and the high seems to be at 0.85V, which is too low and never gets registered as high in the imx8mp RX line. If we unplug the RX line from the imx8mp while everything is intact, the oscilloscope jumps up above 1.8V, as shown:  The oscilloscope is reading what is coming from the SoC via level shifter. My question is, why is connecting the imx8mp RX line pulling the voltage down such that the high doesn't trigger as 1 in the input, thus producing complete silence in the eyes of imx8mp? Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Hello James,  The dmesg command is not available and it is not in /var/log either.  I did some more testing, so here's the scenario, I have the oscilloscope connected to SAI1_TX_BCLK music from external SoC is always streaming. if I have external SoC as master, this line is busy only when I run the arecord command on the imx8mp, otherwise idle.  if I have external SoC as slave, when I run arecord on imx8mp, I see a clean clock cycle if i change the oscilloscope to pin SAI1_RX_DATA00, I see activity, but too small to hit any threshold to make it "bit 1". Any ideas? Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails You can test with an oscilloscope, the clock signal when it is in the record mode, if the clock it is not setup then in the Device tree you can change it. the pcm_write it is function in the alsa driver,  you can get the Kernel Log using Dmesg command, let me share a link on how to https://www.linuxfoundation.org/blog/blog/classic-sysadmin-viewing-linux-logs-from-the-command-line Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Hello James, Thanks for your reply. I currently have it set up such that the module with imx8mp is a slave, and the external SOC is a master. I did not modify this as I'd assume the I2S is bidirectional (I have both data in and data out connected). How would I check the pcm_write error? or the bit clock is generated? Lastly, how do I check any message from Kernel Log? Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Since you are using a Dummy Codec, the issue would be the setup of MAster / Slave  mode. pcm_write return EIO error, that means I/O is not setup. And master mode can wok but slave mode not. Can they check if bit clock is generated with your Dummy and slave mode? Check if any message from kernel log. Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Could you please share what codec are you using? BSP version also. No codec - hence the dummy one. I just have the audio streaming coming directly from I2S with no I2C line. BSP - not sure how to get this... I did uname -r though, and got: 5.15.148-6.8.1+git.1cbf48124747 If possible, your device tree related to the codec. As for the device tree - I don't have that on hand, but it would create a new node to use fsl,imx-audio-card  Sometimes it happens when there is a connection between an i.MX and device like "MAX98357A" that is not a "codec", those are Digital amplifiers and eventually there are issues. As for your comment about digital amplifiers, could you elaborate on that?  Re: Audio via I2S from external SoC into iMX8MP module - Capturing fails Hello @freshmango90  I hope you are doing very well. Could you please share what codec are you using? BSP version also. If possible, your device tree related to the codec. Sometimes it happens when there is a connection between an i.MX and device like "MAX98357A" that is not a "codec", those are Digital amplifiers and eventually there are issues. Best regards, Salas.
View full article
外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する 私はsai1 snd-soc-dummy-dai-0を使用するimx-audio-cardを使用しています I2S経由でiMX8MPモジュールに接続された外部SoCがありますが、公開コーデックがないため、ダミーコーデックを使用しています。 私はそれらをaplay -Lで表示することができます。 hw:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Direct hardware device without any conversions plughw:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Hardware device with all software conversions default:CARD=imxaudiocard imx-audio-card, sai1 snd-soc-dummy-dai-0 Default Audio Device sysdefault:CARD=imxaudiocard imx-audio-card, sai1 snd-soc-dummy-dai-0 Default Audio Device dmix:CARD=imxaudiocard,DEV=0 imx-audio-card, sai1 snd-soc-dummy-dai-0 Direct sample mixing device 私はこれを介してオーディオを再生することができ、それは動作します。 aplay -D default:CARD=imxaudiocard music.wav 上記のコードスニペットでも arecord -L を使用した場合も同様です。私は以下を使用して録音することができます: arecord -D default:CARD=imxaudiocard -r 32000 -c 2 -d 20 -f S24_3LE test.wav ただし、test.wavは空白になります。音声を録音できないようです。参考までに、アミキサーコントロールがないので、CAPTUREに設定できないようです。 I2S経由でオーディオを再生できるときに、I2S経由でオーディオを受け入れる方法はありますか? Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する 解決! 開発ボードでは、モジュールはコーデックに物理的に接続されていました。漏れ電圧を止めるためには、ラインを断線する必要がありました。 そのため、デバイスツリーでコーデックを無効にするだけでは不十分で、ハードウェアの作業を行う必要がありました。 @Manuel_Salasさん、そして@jamesboneさん、ありがとうございました - この旅で、他の方法では学べなかった多くのことを間違いなく学びました。改めて感謝します! Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する さらにいくつかのテストを行います。 ピン36の問題? ピン36に問題があるかどうか知りたかったので、TXラインとして作成しました。 ; /* SODIMM 36 */ また、RXラインの場合と同じように動作します(接続すると下に引っ張られます) だから、imx8mpモジュールに何か問題があり、余分なモジュールがあるので、モジュールを交換します。同じ問題です。だから。。。 RXD1データライン そのため、ピン 36 にハードウェアの問題や破損があるのではないかと考えたため、このラインを使用してピン 220 にある別の RX ラインを使用したいと考えました。 ; /* SODIMM 220 */ 突然、オーディオカードが利用できなくなるため、信号を送信/受信して、ハイ/ローにプルダウンするかどうかをテストできません。aplay -L はこれを表示せず、/proc/asound/cards にも表示しません。また、1つのpinctrlを無効にしてみましたが、これはピン220をそのまま使用するためです。 &pinctrl_gpio7{ status = "disabled"; }; 問: ピン 36 がピン パッドの構成や pixmux に接続されているものに関係なく、常にプルダウンされる理由がわかりますか? RXラインをピン36からピン220に変更すると、imx-audio-card(サウンドカード)が認識されないのはなぜですか? Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する 申し訳ありませんが、Bit 8(プルセレクト)を無効に設定しましたが、これは0x0d6であり、すでに試しました。 Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する オシロスコープでテストでき、録音モードのときはクロック信号をテストでき、クロックが設定されていない場合は、デバイスツリーで変更できます。 それがalsaドライバで機能しているpcm_write、Dmesgコマンドを使用してカーネルログを取得できます、私は方法のリンクを共有しましょう https://www.linuxfoundation.org/blog/blog/classic-sysadmin-viewing-linux-logs-from-the-command-line Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する こんにちはジェームズ、 お返事ありがとうございます。現在、imx8mp のモジュールがスレーブで、外部 SOC がマスターになるように設定しています。I2Sは双方向であると仮定するため、これを変更しませんでした(データ入力とデータ出力の両方が接続されています)。 pcm_writeエラーはどのように確認できますか?それともビットクロックが生成されますか? 最後に、カーネルログからのメッセージを確認するにはどうすればよいですか? Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する ダミーコーデックを使用しているため、問題はMAster/Slaveモードの設定です。 EIO エラーを返すpcm_write、I/O が設定されていないことを意味します。また、マスターモードは中華鍋にすることができますが、スレーブモードはそうではありません。 彼らはあなたのダミーとスレーブモードでビットクロックが生成されているかどうかを確認できますか?カーネルログにメッセージがないか確認します。 Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する 使用しているコーデックを教えてください。BSPバージョンも。 コーデックはありません - したがって、ダミーのコーデックです。I2CラインのないI2Sから直接オーディオストリーミングが来ているだけです。 BSP - これを取得する方法がわからない...私はuname -rを実行しましたが、5.15.148-6.8.1 + git.1cbf48124747を取得しました。 可能であれば、デバイスツリーはコーデックに関連しています。 デバイスツリーについては、手元にはありませんが、fsl,imx-audio-cardを使用する新しいノードが作成されます i.MX と「コーデック」ではない「MAX98357A」のようなデバイスの間に接続がある場合、それらはデジタルアンプであり、最終的には問題が発生することがあります。 デジタルアンプについてのコメントについて、もう少し詳しく教えていただけますか?
View full article
S32K3 RTD 5.0.0 - LPUART - 「エンド転送」が示されたときに TX と RX を区別しますか? 私は、S32K3 RTD 5.0.0 で作業し、特に全二重非同期 (割り込み駆動) の送受信操作に Lpuart_Uart_Ip を使用して、S32K344 プロセッサ用のボード サポート ソフトウェアをコーディングしています。 問題 : イベント LPUART_UART_IP_EVENT_END_TRANSFER ID でコールバックを受信するときに、そのコールバックが未処理の TX に関連付けられているのか、未処理の RX 操作に関連付けられているのかを直接区別する方法がないようです。(このイベントは両方によって生成されます。 Lpuart_Uart_Ip.cを調べた後実装、私は私のユースケースで曖昧さを解消するためのやや複雑な方法を決定しました。具体的には: 私は、差し迫ったRXの「転送終了」イベントを期待しているかどうかを追跡します。次の場合に、RX の '転送終了' イベントが差し迫っていると予想しています。 1)LPUART_UART_IP_EVENT_RX_FULLイベントを含むコールバックを受け取りました。 2)そのコールバック内で受信バッファをゼロ以外のサイズにリセットしていません(例:Lpuart_Uart_Ip_SetRxBuffer())。 3) 「転送終了」イベントを示す予期されるコールバックをまだ受け取っていません。 差し迫った RX の "転送終了" イベントが予想される場合、コールバックは未処理の RX 操作に対するものだと想定しています。 他の条件下で "転送終了" コールバックを受け取った場合、そのコールバックは未処理の TX 操作に対するものだと想定しています。 おそらく私は何かを見落としています - 曖昧さを解消するためのより良い方法はありますか?他の RTD 実装には個別の RX コールバックと TX コールバックがありますが、ここではそうではありません。私の提案は、RXとTXに別々の「転送終了」イベントタイプの列挙値を用意することですが、APIに対するそのような変更は下位互換性がなく、おそらく次のメジャーRTDバージョン(例:6.0.0)
View full article
S32K3 RTD 5.0.0 - LPUART - 当指示“结束传输”时区分 TX 和 RX? 我正在为 S32K344 处理器编写一些板支持软件,与 S32K3 RTD 5.0.0 配合使用,特别是使用 Lpuart_Uart_Ip 进行全双工异步(中断驱动)发送和接收操作。 问题:当接收到带有事件 LPUART_UART_IP_EVENT_END_TRANSFER 的回调时,似乎没有直接的方法来区分该回调是与未完成的 TX 还是未完成的 RX 操作相关联。(此事件由两者共同产生。) 检查 Lpuart_Uart_Ip.c 后实施时,我已确定了一种在我的用例中消除歧义的有点复杂的方法。具体来说: 我会跟踪我是否期待即将发生的 RX‘结束传输’事件。我预计在以下情况下 RX‘结束传输’事件即将发生: 1) 我收到了LPUART_UART_IP_EVENT_RX_FULL事件的回调,并且 2) 我没有在该回调中将接收缓冲区重置为非零大小,例如通过 Lpuart_Uart_Ip_SetRxBuffer()。 3) 我尚未收到指示“结束传输”事件的预期回调。 当我预期即将发生 RX“结束传输”事件时,我假设回调是针对未完成的 RX 操作。 当我在其他条件下收到“结束传输”回调时,我假设该回调是针对未完成的 TX 操作。 也许我遗漏了一些东西——有没有更好的方法来消除歧义?其他 RTD 实现有单独的 RX 和 TX 回调,但这里的情况并非如此。我的建议是为 RX 和 TX 设置单独的“结束传输”事件类型枚举值,但我意识到对 API 的这种更改不会向后兼容,并且可能无法在下一个主要 RTD 版本之前实施(例如6.0.0)
View full article
S32K3 RTD 5.0.0 - LPUART - Distinguishing between TX and RX when 'end transfer' indicated? I'm coding up some board support software for a S32K344 processor, working with S32K3 RTD 5.0.0 and specifically using the Lpuart_Uart_Ip for full-duplex asynchronous (interrupt-driven) transmit and receive operations. The problem: It seems there is no direct way to distinguish, when receiving a callback with event LPUART_UART_IP_EVENT_END_TRANSFER, whether the callback is associated with an outstanding TX or an outstanding RX operation.  (This event is generated by both.) After examining the Lpuart_Uart_Ip.c implementation, I've determined a somewhat convoluted way to disambiguate in my use case.  Specifically: I keep track of whether I'm expecting an imminent RX 'end transfer' event.  I expect an imminent RX 'end transfer' event when:  1) I have received a callback with LPUART_UART_IP_EVENT_RX_FULL event, AND 2) I have not reset the receive buffer  to non-zero size within that callback, e.g., via Lpuart_Uart_Ip_SetRxBuffer(). 3) I have not yet received the expected callback indicating the 'end transfer' event. When I am expecting an imminent RX 'end transfer' event, I assume the callback is for the outstanding RX operation. When I receive an 'end transfer' callback under other conditions, I assume the callback is for the outstanding TX operation. Perhaps I'm missing something - is there a better way to disambiguate?  Other RTD implementations have separate RX and TX callbacks, but that isn't the case here.  My suggestion would be to have separate 'end transfer' event type enumeration values for RX and TX, but I realize that such a change to the API wouldn't be backwards-compatible, and probably couldn't be instituted before the next major RTD version (e.g. 6.0.0) Re: S32K3 RTD 5.0.0 - LPUART - Distinguishing between TX and RX when 'end transfer' indicated? Hi, Currently, the implementation does not differentiate between TX and RX end events directly. Your proposed method could be beneficial. If Lpuart_Uart_Ip_SetRxBuffer is not invoked during the LPUART_UART_IP_EVENT_RX_FULL event, the callback for LPUART_UART_IP_EVENT_END_TRANSFER will be triggered immediately without being interrupted by another event. Therefore, if a user flag is set during the LPUART_UART_IP_EVENT_RX_FULL event when SetRxBuffer is not called, this flag can be utilized in the LPUART_UART_IP_EVENT_END_TRANSFER event to identify that it pertains to the RX event, and the flag can then be cleared. Ideal proposal is to split EVENT_END_TRANSFER by EVENT_END_TX_TRANSFER and EVENT_END_RX_TRANSFER as you mentioned, but not sure if it is planned for next revisions. But you can test this as well. BR, Pert
View full article
HTRC110 不响应命令 我正在使用 stm32f401 与 HTRC110 进行通信,并且我尝试向它发送任何需要响应的命令,例如获取配置页面,获取采样时间。我可以在示波器上看到它被正确发送,但是当我查看 DOUT 时,响应中只有小闪烁,而不是实际信号,然后我尝试了所有可能的命令,0-255,但我仍然没有得到真正的数据。有什么方法可以知道芯片是否损坏,或者我只是设置错误 回复:HTRC110 不响应命令 经过一番努力之后,我解决了这个问题,如果有人也遇到困难,那是因为我通过 USART 发送数据,而 USART 发送数据的方式不同。我通过手动编写自己的发送字节的方式解决了这个问题,即先按 MSB 按位发送。当时钟为高且 Din 为上升沿时,IC 会接受输入,这与传统上将数据放在 Din 上、将数据放在时钟为上升沿的情况相反。 血腥的痛苦 回复:HTRC110 不响应命令 你好先生, 我明白,但是根据本例中的数据表,DOUT 引脚在发送简单的 GET_CONFIG_PAGE 后应该提供响应。请查看数据表的第 10.8 节。 另外,在第 9.7 节串行接口中;串行信令至少应该提供一些活动。您介意分享一下这三个引脚的数字分析仪读数吗? 回复:HTRC110 不响应命令 这是一个定制设计的解决方案,我已经检查过 5V 电压输入和 Dout 电压为 5V,所以我认为供电正确,我还没有连接天线,因为我只是想先从芯片获得回复,然后再尝试读取标签 回复:HTRC110 不响应命令 你好先生, 请澄清您是否正在使用 HTR110 的定制设计解决方案或作为最终解决方案购买。 天线或电源是否可能导致故障? 请查看我们的应用说明: https://www.nxp.com/docs/en/application-note/AN98080.pdf
View full article
S32G3 Linux BSP 38.0 linuxptp パッケージの問題 こんにちは、コミュニティ。 S32G-VNP-RDB3 ボードを使用し、Linux BSP 38.0 を構築して PFE と PTP を開発しています。 ユーザーマニュアルによると、linuxptpツール(ethtool、ptp4lなど)がデフォルトでインストールされています。ただし、Linux BSPで ethtool または ptp4l コマンドを実行すると、コマンドが見つかりませんが出力されます。 ユーザーマニュアルに従ってYOCTOを使用してBSPを構築しましたが、linuxptpのために何か特別なことが必要ですか? Re:S32G3 Linux BSP 38.0 linuxptpパッケージの問題 ありがとう、それはとても役に立ちました。 Re:S32G3 Linux BSP 38.0 linuxptpパッケージの問題 ご回答ありがとうございます。 「base」ではなく「fsl-image-auto」で再ビルドすると、PTP機能が有効になっています。 ありがとうございます。 ああ、それからもう一つ、SDカードにビルド済みのtgzファイルを設定する方法と、このビルド済みのtgzファイルにSJA1110スイッチファームウェアが含まれているか教えていただけますか?
View full article
HTRC110 コマンドに応答しない 私はstm32f401を使用してHTRC110と通信しており、応答を持つことを意図したコマンドを送信しようとしました。GET_CONFIG_PAGE、GET_SAMPLING_TIME。そして、スコープでは正しく送信されていることを確認できますが、DOUTを見ると、実際の信号ではなく、応答に小さなブリップがあります。その後、可能なすべてのコマンド、0〜255を試しましたが、それでも実際のデータは得られませんでした。チップが壊れているのか、それとも誤ってセットアップしたのかを知る方法はありますか Re:コマンドに応答しないHTRC110 私は少しヘッドバンギングの後に問題を修正しました、誰かが同様に苦労しているとしたら、それは私がデータを送信する方法が異なるUSARTを介してデータを送信していたためです。私は、最初にMSBでビット単位でバイトを送信することにより、バイトを送信する独自の方法を手動で記述することでこれを修正しました。ICは、クロックがハイでDinの立ち上がりエッジのときに入力を受け取ります。従来のDinとクロックの立ち上がりエッジにデータを置くのとは対照的です。 血まみれの痛み Re:コマンドに応答しないHTRC110 こんにちは、サー。 理解していますが、この場合のデータシートによると、DOUTピンは単純なGET_CONFIG_PAGEを送信した後に応答を提供する必要があります。これについては、 データシート のセクション10.8をご覧ください。 また、セクション9.7のシリアルインターフェース。シリアルシグナリングは、少なくとも何らかのアクティビティを提供する必要があります。これらの3つのピンの読み取り値を共有することができますか? Re:コマンドに応答しないHTRC110 これはカスタム設計ソリューションであり、いいえ、5Vが入力され、Doutが5Vにあることを確認したので、正しく電源が供給されていると思いますが、タグを読み取ろうとする前に、まずチップから応答を得ようとしていたため、まだアンテナを取り付けていません Re:コマンドに応答しないHTRC110 こんにちは、サー。 HTR110のカスタムデザインソリューションを使用しているのか、それとも最終ソリューションとして購入したのかを明確にしてください。 アンテナや電源が故障を引き起こしている可能性はありますか? アプリケーションノートをご覧ください: https://www.nxp.com/docs/en/application-note/AN98080.pdf
View full article
S32G3 Linux BSP 38.0 linuxptp package issue Hi, community. I am using an S32G-VNP-RDB3 board, building Linux BSP 38.0 to develop PFE and PTP. According to the user manual, linuxptp tools (ethtool, ptp4l, etc) are installed by default. However, when I run ethtool or ptp4l command on my Linux BSP, it outputs command not found. I built BSP using YOCTO as follwed the user manual, is there something extra I need to do for linuxptp? Re: S32G3 Linux BSP 38.0 linuxptp package issue thank you, that was very helpful. Re: S32G3 Linux BSP 38.0 linuxptp package issue Hi, Thanks for your feedback. For the *.tgz files, you need to decompress them and you will find several folders which relate to the different NXP reference boards. Once you find the NXP reference board you have (or your board is based on) and you will find an *.sdcard file which is the file you need to use: As for the SJA1110, we understand that it is not. The FW for SJA1110 is available under the GoldVIP package. Under the NXP reference boards, the SJA1110 is preloaded with a binary, which does not require any additional loading unless the configuration on the SJA1110 needs to be changed. Please, let us know. Re: S32G3 Linux BSP 38.0 linuxptp package issue Thank you for your answer. I re-build with 'fsl-image-auto' instead of 'base' and the PTP feature is enabled. Thanks. Oh, and one more thing, can you tell me how to set up the prebuilt tgz file on the SD card, and is the SJA1110 switch firmware included in this prebuilt tgz file? Re: S32G3 Linux BSP 38.0 linuxptp package issue Hi, PTP is indeed available by default, but only under the auto image, as told under the BSP38.0 User Manual: "The linuxptp tools are installed by default in fsl-image-auto". Did you build the fsl-image-auto image? As for recommendations, we can recommend using the prebuilt images provided by NXP (in a *tgz file) since all features available under the auto image should be ready to be used. Please, let us know.
View full article
About device tree on imx8mm-evk Hi,  ■Question on imx8mm-evk 1. What is the role of MX8MM_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K?  2. What is the role of MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9? 3. Which pin on the NXP 88W8987 is MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 connected to? 4. Which pin on the NXP 88W8987 is MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 connected to? ■imx8mm-evk.dts ----------------------- &usdhc1 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_wlan>; pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_wlan>; pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_wlan>; bus-width = <4>; keep-power-in-suspend; non-removable; wakeup-source; vmmc-supply = <&reg_usdhc1_vmmc>; fsl,sdio-async-interrupt-enabled; status = "okay";   wifi_wake_host { compatible = "nxp,wifi-wake-host"; interrupt-parent = <&gpio2>; interrupts = <9 IRQ_TYPE_LEVEL_LOW>; interrupt-names = "host-wake"; }; -----------------------   ----------------------- reg_usdhc1_vmmc: regulator-usdhc1 { compatible = "regulator-fixed"; regulator-name = "WLAN_EN"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_reg_usdhc1_vmmc>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>; enable-active-high; }; pinctrl_reg_usdhc1_vmmc: regusdhc1vmmcgrp { fsl,pins = < MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x141 >; }; ----------------------- ----------------------- pinctrl_wlan: wlangrp { fsl,pins = < MX8MM_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x141 MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x159 >; ----------------------- i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: About device tree on imx8mm-evk Hello, 1. It configures the pin as alternative CCM_REF_CLK_32K, on our EVK is connected to 2.4G/5G WIFI/BT Module. 2. It configures the pin as alternative GPIO2_IO09 for SDIO_INTERRUPT, on our EVK is connected to 2.4G/5G WIFI/BT Module. 3. Pin W26 and pin 13. 3. Pin R23 and pin 39. Best regards.
View full article
S32G3 Linux BSP 38.0 linuxptp包问题 大家好,社区。 我正在使用S32G-VNP-RDB3板,构建Linux BSP 38.0来开发 PFE 和 PTP。 根据用户手册,linuxptp 工具( ethtool、ptp4l等)是默认安装的。但是,当我在 Linux BSP 上运行ethtool或ptp4l命令时,它会输出未找到命令。 我按照用户手册使用 YOCTO 构建了 BSP,我还需要为 linuxptp 做些什么额外的事情吗? 回复:S32G3 Linux BSP 38.0 linuxptp 包问题 谢谢,这非常有帮助。 回复:S32G3 Linux BSP 38.0 linuxptp 包问题 谢谢你的回答。 我使用“fsl-image-auto”而不是“base”重新构建,并且 PTP 功能已启用。 谢谢。 哦,还有一件事,你能告诉我如何在 SD 卡上设置预建的 tgz 文件吗?SJA1110 交换机固件是否包含在这个预建的 tgz 文件中?
View full article
HTRC110 not responding to commands I am using a stm32f401 to communicate with the HTRC110 and I have tried sending it any command that is meant to have a response, e.g. GET_CONFIG_PAGE, GET_SAMPLING_TIME. And I can see on a scope that it is correctly being sent but when I look at DOUT all there is small blips in response, not actual signal, I then tried every possible command, 0-255, but still all i got was no real data. Is there some way of knowing if the chip is broken or have I just incorrectly set it up Re: HTRC110 not responding to commands I fixed the issue after a bit of headbanging, if anyone's struggling aswell it's because I was sending data through USART which has a different way of sending data. I fixed this by manually writing my own way of sending bytes by sending it bitwise with MSB first. As the IC takes input when clock is high and rising edge on Din. as opposed to the conventional put data on Din and rising edge on clock. bloody pain Re: HTRC110 not responding to commands Hello sir, I understand but, according to the Datasheet in this case, the DOUT pin should be providing a response after sending a simple GET_CONFIG_PAGE. Please take a look at section 10.8 of the Datasheet for this. Also, in section 9.7 serial interface; The serial signaling should at least provide some activity. Would you mind sharing a digital analyzer reading for these three pins, please? Re: HTRC110 not responding to commands It is a custom design solution, and no I have checked 5V is going in and the Dout is at 5V so I think it is powered correctly, I haven't attached an antenna yet as I was just trying to get a reply from the chip first before i try reading tags Re: HTRC110 not responding to commands Hello sir, Please clarify if you are using a custom design solution for the HTR110 or was purchased as an end solution. Could it be possible that the antenna or power supply could be producing the malfunction? Please take a look at our Application note: https://www.nxp.com/docs/en/application-note/AN98080.pdf
View full article
FreeMaster using PE micro debugger As mentioned FreeMASTER support real-time debug monitor and data visualization tool that enables runtime configuration and tuning of embedded software applications. I tried to connect NXP microcontroller and FreeMaster through PE micro multi universal debugger for monitoring the variable at run time. But i cant make it proper.  Is is possible  to use FreeMASTER using PE micro multi universal debugger for monitoring data?   Re: FreeMaster using PE micro debugger Hi @MichalH  Thanks you for you quick Response. My issues is solved. Regards, Stark_ Re: FreeMaster using PE micro debugger OK, so the connection problem is resolved. For general use of FreeMASTER, please refer to User Guide.  In short: you have used the ELF file to load symbols; now you need to create so called FreeMASTER Variables, where you select a symbol/address, size, reading period, format, etc. to be displayed in FreeMASTER. Once you have the FreeMASTER variables defined, you can observe them in a grid or in graphs. Please close this thread as the initial issue has been resolved.  If you have any questions on general FreeMASTER usage after reading the User Guide, please start a new thread on this forum. Regards, Michal Re: FreeMaster using PE micro debugger Hi @MichalH  Connection are done when i start the communication popup show for for load the executable file, I also load the .elf file which is created in my project. but how to import the variable that are used in my project? Regards, Stark_ Re: FreeMaster using PE micro debugger There are two important points: The S32 Design Studio (debugger) must be disconnected from the target when attaching FreeMASTER. The P&E probes cannot handle simultaneous connection from two client applications. The FreeMASTER plug-in shall know what MCU part number you are using.  Go to Project/Options, open the configuration dialog and select the MCU type like in the picture below: Regards, Michal Re: FreeMaster using PE micro debugger Hi @MichalH  once I flash my microcontroller after that i just connect with FreeMASTER. but it show an error MCU is used is S32K3 series P&E micro Multilink universal FX IDE used S32 Design studio Regards, Stark_ Re: FreeMaster using PE micro debugger The error you show now in the screenshot is reported by the P&E Micro debugging function already - it seems the P&E probe cannot connect to the target MCU. What is your target MCU?  What is the type of P&E probe? Can you use a CodeWarrior or other debugger with the P&E probe? Thanks, Michal Re: FreeMaster using PE micro debugger Hi @MichalH  Thanks for the quick response. As you said " Project/Options - the drop-down list of Plug-in modules will probably be empty in your case " was correct and followed the step you mention, after that can able to see the plugin in FreeMASTER. when i try to run with the mention setting (i.e, FreeMaster P&Emicro communication plugin (Cortex-M, power pc, HCS08/12, Cold fire) ). but again got an error message. Is is possible to use FreeMASTER with P&Emicro debugger? for that any lib should be added in project file ? Re: FreeMaster using PE micro debugger Hello, from your screenshot it seems like a problem in FreeMASTER installation. The communication plug-ins are probably not installed properly. You can confirm this by going to Project/Options - the drop-down list of Plug-in modules will probably be empty in your case: How to fix the installation: Close FreeMASTER Open file explorer in "c:\NXP\FreeMASTER 3.2\FreeMASTER" directory Locate the "register.bat" file Right-click the file and select "Run as administrator" Start FreeMASTER, the plug-ins shall now be visible in Project/Options dialog. Regards, Michal
View full article
Choosing where to run inference from application code - GPU/NPU Hello. Normally inference is run on the GPU or NPU based on the USE_GPU_INFERENCE=0/1 env. variable, but I would like to make this choice in code. In the Machine Learning guide it says that that variable is "directly read by the HW acceleration driver". Is it feasible to modify the GPU/NPU unified driver to expose this functionality to high abstraction layers? Where can I find it? If not, What else could I do? Thanks Re: Choosing where to run inference from application code - GPU/NPU Hi @StefanoN! The source code is not public yet, even for us due to the GPU is not an NXP IP, our vendor provides the compiled binary for us. Re: Choosing where to run inference from application code - GPU/NPU My understanding is that the so called NPU/GPU driver is found in the Yocto directory `meta-freescale/recipes-graphics/imx-gpu-viv`, but the SRC_URI is given as `${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin` which at runtime resolves to `https://www.nxp.com/lgfiles/NMG/MAD/YOCTO//imx-gpu-viv-6.4.11.p2.6-aarch64-bc7b6a2.bin`. Looking in the forum I found this user asking for the source code (https://community.nxp.com/t5/i-MX-Processors/GPU-source-code-with-opencl/m-p/1224323) It was not public in 2021, is it still not public now? Thanks Re: Choosing where to run inference from application code - GPU/NPU I understand. Nonetheless can you help me locate the code for the unified driver? Re: Choosing where to run inference from application code - GPU/NPU Hi @StefanoN! Thank you for contacting NXP Support! Unfortunately there is no way to do it different that we mentioned in our MACHINE LEARNING USER GUIDE. Best Regards! Chavira
View full article
How to create a U-Boot for a custom board based on LS1046A? GitHub - nxp-qoriq/u-boot at lf_v2022.04 I'm trying to create a U-Boot for a custom board based on LS1046A from the above GitHub. I am considering editing the files based on the LS1046ARDB. Is there a list of files that I should edit? Re: How to create a U-Boot for a custom board based on LS1046A? There is no list which file you should edit due to the modifications are decided by the customer board. Some files may be helpful. You could find the config file to adjust the configuration https://github.com/nxp-qoriq/u-boot/blob/lf_v2024.04/configs/ls1046ardb_tfa_defconfig And dts file https://github.com/nxp-qoriq/u-boot/blob/lf_v2024.04/arch/arm/dts/fsl-ls1046a-rdb.dts There are also some files related to the ls1046ardb. https://github.com/nxp-qoriq/u-boot/tree/lf_v2024.04/board/freescale/ls1046ardb
View full article
FreeMaster 使用 PE 微调试器 如上所述,FreeMASTER 支持实时调试监视器和数据可视化工具,可实现嵌入式软件应用程序的运行时配置和调整。 我尝试通过 PE 微型多通用调试器连接 NXP 微控制器和 FreeMaster,以便在运行时监控变量。但我无法做到正确。 是否可以使用 FreeMASTER 使用 PE 微型多通用调试器来监控数据?   回复:FreeMaster 使用 PE 微调试器 好的,连接问题已解决。 有关 FreeMASTER 的一般使用,请参阅用户指南。简而言之:您已经使用 ELF 文件加载符号;现在您需要创建所谓的 FreeMASTER 变量,在其中选择要在 FreeMASTER 中显示的符号/地址、大小、读取周期、格式等。一旦定义了 FreeMASTER 变量,您就可以在网格或图表中观察它们。 请关闭此线程,因为初始问题已解决。如果您在阅读用户指南后对 FreeMASTER 的一般使用有任何疑问,请在此论坛上开启新主题。 问候, 米哈尔 回复:FreeMaster 使用 PE 微调试器 您现在在屏幕截图中显示的错误已经由 P&E Micro 调试功能报告 - 似乎 P&E 探针无法连接到目标 MCU。 您的目标 MCU 是什么? P&E 探头的类型是什么? 您能将 CodeWarrior 或其他调试器与 P&E 探针一起使用吗? 谢谢, 米哈尔
View full article
PEマイクロデバッガを使用したFreeMaster 前述のように、FreeMASTERは、組み込みソフトウェアアプリケーションのランタイム構成とチューニングを可能にするリアルタイムデバッグモニターとデータ視覚化ツールをサポートしています。 実行時に変数を監視するために、NXPマイクロコントローラーとFreeMasterをPEマイクロマルチユニバーサルデバッガーを介して接続しようとしました。しかし、私はそれを適切にすることはできません。 PE micro multi universal debuggerを使用してFreeMASTERをデータ監視に利用することは可能ですか?   Re:PEマイクロデバッガを使用したFreeMaster OK、接続の問題が解決しました。 FreeMASTERの一般的な使用方法については、ユーザーガイドを参照してください。要するに、ELFファイルを使用してシンボルをロードしました。次に、FreeMASTERに表示するシンボル/アドレス、サイズ、読み取り期間、形式などを選択する、いわゆるFreeMASTER変数を作成する必要があります。FreeMASTER変数を定義したら、グリッドまたはグラフでそれらを観察できます。 最初の問題が解決されたため、このスレッドを閉じてください。ユーザーガイドを読んだ後、一般的なFreeMASTERの使用について質問がある場合は、このフォーラムで新しいスレッドを開始してください。 よろしく ミハル Re:PEマイクロデバッガを使用したFreeMaster スクリーンショットに示しているエラーは、P&E Microのデバッグ機能によってすでに報告されています - P&EプローブがターゲットMCUに接続できないようです。 ターゲットとするMCUは何ですか? P&Eプローブの種類は何ですか? CodeWarriorまたはその他のデバッガをP&Eプローブと一緒に使用できますか? 感謝 ミハル
View full article