Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
ADC DMAの例が動作しない こんにちは、 私はMBDT v1.5を使用してS32K3X8EVB-Q289のプロジェクトを開発しています 私は DMA を備えた ADC を実装しようとしており、少し努力した後、オンラインで次のチケットを見つけました: https://community.nxp.com/t5/モデルベース設計ツールボックスMBDT/DMA有効化-in-MBDT/mp/1819674 これに基づいて、 @Irina_Costachescuが示したすべての指示を実装しようとしました。 ビルドしようとすると問題が発生します...matlab で次のエラーが発生します: simon98_0-1750087663761.png この問題を解決する方法が分かりません... 解決方法や、何か見落としている点があれば教えていただけますか? よろしくお願いします。 サイモン Re: ADC DMA Example doesn't work こんにちは、 @simon98さん、 最新のNXP モデルベース デザイン ツールボックス (S32K3 用) バージョン 1.8.0 には、ADC と DMA を使用する更新されたモデル例(adcフォルダー内のs32k344_pwm_adc_dma_s32ct)が含まれています。このモデルはアプリケーションのリファレンスとして使用できます。 お役に立てば幸いです。 ドラゴス Re: ADC DMA Example doesn't work 提供された例から構成をインポートして少し前進しましたが、まだこの問題が残っています。 https://community.nxp.com/t5/Model-Based-Design-Toolbox-MBDT/ADC-DMA-Example-doesn-t-work-with-my-S32CT-Configuration/mp/2124851#M10317 Re: ADC DMA Example doesn't work こんにちは@dragostomaさん、 MBDT バージョン 1.8 から初めて、DMA の例を使用して ADC をテストできるようになりました。 最初は、同じ問題が発生しました。コールバックは実行されましたが、FreeMASTER では変数ADC_POT0の値が更新されませんでした (バージョン 1.6 で発生したのと同じ動作)。 何度か試した後、DMA が実際に正しく動作しているかどうかを確認するために、次の MCL ブロックを追加してみました。 2.png さらに調査するために、 S32DS 3.6でプロジェクトを開きました。デバッグ中に、Simulink の MCL ブロックがコメント アウトされている場合でも、 ADC_POT0 がポテンショメータの位置に応じて変化することがわかります。しかし、FreeMASTERではADC_POT0は更新されません。 したがって、私はこの動作の原因は何なのか、そして何らかの方法で FreeMASTER の動作を修正できるかどうか疑問に思いました。 添付されているのは、これらのテストに使用したプロジェクトです。 皆様のフィードバックをお待ちしております。 ありがとう、 サイモン
View full article
i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Hello, We have a custom board based on the i.MX8QXP SoC that uses the ADV7280-M decoder for analog camera input. We're trying to upgrade from the Linux 6.6 linux-imx kernel to version 6.12, and on the new kernel streaming from the ADV7280-M does not work at all. I know that since 6.6 there has been a major reachitecture of the media pipeline for this SoC and now we have to configure the pipeline manually and make sure the formats all match. Through a lot of debug prints in the kernel I've been able to do that and get to a state where streaming seems to start successfully but now frames actually come through, ever. The media pipeline is as follows: - adv720m 1-0021 pad 0 fmt:UYVY8_2X8 @ 720x576 25fps field:none - imx8mq-mipi-csi2 pad 0 fmt:UYVY8_2X8 -> pad 1 fmt:UYVY8_2X8 @ 720x576 field:none - crossbar pad 2 fmt:UYVY8_2X8 -> pad 6 fmt:UYVY8_2X8 @ 720x576 // Note: this routes pads 6-11 to 'mxc.isi.0-5':0 - mxc_isi.0 pad 0 fmt:UYVY8_2X8 -> pad 1 @ 720x576 field:none - mxc_isi.0.capture pad 0 (no fmt or field set) mxc_isi.0.capture is exposed as /dev/video4/. I've attached the output of "media-ctl -p -d1". With that the pipeline validation succeeds and all of the .enable_streams, .streamon, .start_streaming, .s_stream functions seem to run and exit with code 0, however no frame actually comes through. I've tried to stream with the following commands: - gst-launch-1.0 v4l2src device=/dev/video4 ! video/x-raw,width=720,height=576,framerate=25/1 ! autovideosink - v4l2-ctl -d /dev/video4 --stream-mmap --stream-count=5 but none of them actually capture anything. With debug prints on and the kernel log level = 7, I see the following output: root@imx8qxp-d7:~# v4l2-ctl -d /dev/video4 --stream-mmap --stream-count=5 [ 334.960386] adv7180_set_pad_format:813 enter adv7180 set_fmt field: 0x000000 [ 691.055405] mxc_isi_video_streamon:1302 entering [ 691.062698] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "crossbar":6 -> "mxc_isi.0":0 [ 691.077772] mxc-isi 58100000.isi: Link 'crossbar':6 -> 'mxc_isi.0':0 is valid [ 691.085186] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "imx8mq-mipi-csi2 58227000.csi":1 -> "crossbar":2 [ 691.097362] mxc-isi 58100000.isi: Link 'imx8mq-mipi-csi2 58227000.csi':1 -> 'crossbar':2 is valid [ 691.106310] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "adv7180 1-0021":0 -> "imx8mq-mipi-csi2 58227000.csi":0 [ 691.119110] mxc-isi 58100000.isi: Link 'adv7180 1-0021':0 -> 'imx8mq-mipi-csi2 58227000.csi':0 is valid [ 691.128591] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "crossbar":7 -> "mxc_isi.1":0 [ 691.139021] mxc-isi 58100000.isi: Link 'crossbar':7 -> 'mxc_isi.1':0 is valid [ 691.146221] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "crossbar":8 -> "mxc_isi.2":0 [ 691.156649] mxc-isi 58100000.isi: Link 'crossbar':8 -> 'mxc_isi.2':0 is valid [ 691.163838] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "crossbar":9 -> "mxc_isi.3":0 [ 691.174269] mxc-isi 58100000.isi: Link 'crossbar':9 -> 'mxc_isi.3':0 is valid [ 691.181465] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "crossbar":10 -> "mxc_isi.4":0 [ 691.191975] mxc-isi 58100000.isi: Link 'crossbar':10 -> 'mxc_isi.4':0 is valid [ 691.199254] mxc-isi 58100000.isi: v4l2_subdev_link_validate_default: validating link "crossbar":11 -> "mxc_isi.5":0 [ 691.209763] mxc-isi 58100000.isi: Link 'crossbar':11 -> 'mxc_isi.5':0 is valid [ 691.217033] getting state for subdev mxc_isi.0 [ 691.222447] mxc_isi_video_streamon:1348 about to call vb2_streamon [ 691.228677] mxc_isi_vb2_buffer_queue:1057 buffer 0 queued [ 691.234117] mxc_isi_vb2_buffer_queue:1057 buffer 1 queued [ 691.239548] mxc_isi_vb2_buffer_queue:1057 buffer 2 queued [ 691.245072] mxc_isi_vb2_buffer_queue:1057 buffer 3 queued [ 691.250505] mxc_isi_vb2_start_streaming:1086 starting stream [ 691.261239] mxc_isi_pipe_enable:331 entering [ 691.261250] mxc_isi_pipe_enable:362 sink_info idx=1 src_info idx=3 [ 691.265552] mxc_isi_pipe_enable:363 sink_fmt: width=720 height=576 code=0x002006 encoding=2 [ 691.272020] mxc_isi_pipe_enable:365 src_fmt: width=720 height=576 code=0x002025 encoding=2 [ 691.280498] mxc_isi_channel_config:383 entering [ 691.293464] mxc_isi_channel_set_csc:239 entering [ 691.293477] mxc-isi 58100000.isi: CSC: YUV -> YUV [ 691.302890] mxc_isi_channel_set_csc:276 exiting val & CHNL_IMG_CTRL_CSC_BYPASS = 1 [ 691.302905] mxc_isi_channel_config:408 exiting. csc_bypass = 1 scaler_bypass = 1 [ 691.310561] mxc_isi_crossbar_enable_streams:493 enter [ 691.323167] mxc_isi_crossbar_enable_streams:503 for device imx8mq-mipi-csi2 58227000.csi [ 691.331407] mxc_isi_crossbar_enable_streams:532 about to enable stream for imx8mq-mipi-csi2 58227000.csi [ 691.341396] adv7180_s_stream:939 starting to stream [ 691.341403] adv7180_s_stream:955 streaming [ 691.346392] mxc_isi_crossbar_enable_streams:545 exit ret = 0 [ 691.356268] mxc_isi_video_streamon:1356 exit ret = 0 # and here it hangs until I exit with Ctrl-C I've attached the relevant sections of our device tree as well. Changes so far - In the adv7180.c driver, we force the field to V4L2_FIELD_NONE in the probe, so the device should be outputting progressive format. - In imx8mq-mipi-cs2.c, I've added `MEDIA_BUS_FMT_UYVY8_2X8` to the `imx8mq_mipi_csi_formats` array to allow setting that format. - In imx8-isi-video.c, in the `mxc_isi_video_validate_format` function I've removed checking for the same media bus format. I've also tried backporting the imx8mq-mipi-csi2 driver from the mainline kernel as it seems support for the iMX8QXP in that driver was added in a later commit: https://github.com/torvalds/linux/commit/642b70d526ab8daa8f256dfc1eb6bf27c3290cc6. That had the same result: no frames actually coming through the pipeline. I would be grateful for any suggestions on what to do to get streaming working! Thanks in advance! Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Hi @dominic-vt , The hs_settle timing must be configured according to the sensor data rate. Generally speaking that, you need to configure link_freq parameter in sensor driver and the mipi-csi driver will calucate hs_settle timing according to it. You can find more details in drivers/media/platform/nxp/imx8mq-mipi-csi2.c. And link_freq = sensor_data_rate_per_lane / 2. Regards, Zoey Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 it seems that you missed “mxc_isi.0':1 -> 'mxc_isi.0.capture':0", try to use media-ctl to set it and check again Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Hi @zoey_li, Thanks for the reply! I did set the link frequency in the adv7180.c driver. The data sheet says 432Mbps when the ADV is in progressive mode.  root@imx8qxp-d7:~# v4l2-ctl -d /dev/v4l-subdev8 --get-ctrl link_frequency link_frequency: 0 (216000000 0xcdfe600) Even with this set, there is still no output. Could it be anything to do with trying to do format conversion in the ISI?  - entity 14: mxc_isi.0 (2 pads, 2 links, 0 routes) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: SINK [stream:0 fmt:UYVY8_2X8/720x576 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/720x576 compose:(0,0)/720x576] <- "crossbar":6 [ENABLED,IMMUTABLE] pad1: SOURCE [stream:0 fmt:YUV8_1X24/720x576 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/720x576 crop:(0,0)/720x576] -> "mxc_isi.0.capture":0 [ENABLED,IMMUTABLE] (note pad 0 is UYVY8_2X8 and pad 1 is YUV8_1X24) Regards, Dominic Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Here are the patches for what I've done so far. They don't include the device tree. The patches are quite large, but they're mostly debug prints. I've attached the full dmesg output from boot up to trying to stream. The commands I've run after enabling debug prints for the imx8-isi drivers are, in this order: - media-ctl -d /dev/media1 -V '"imx8mq-mipi-csi2 58227000.csi":0 [fmt:UYVY8_2X8/720x576]' - media-ctl -d /dev/media1 -V '"mxc_isi.0":1 [fmt:RGB888_1X24/720x576 field:none]' - gst-launch-1.0 v4l2src device=/dev/video4 ! video/x-raw,width=720,height=576,framerate=25/1 ! autovideosink and then stopped streaming after approx 10s. Thank you! Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 I've added a media_entity_operations with empty implementations that return 0 for .link_validate and .link_setup and then ran `media-ctl -d /dev/media1 -l '"mxc_isi.0":1 -> "mxc_isi.0.capture":0 [1]'`. Still the same result, no frames actually come through. I even tried setting pad 1 of mxc_isi.0 to RGB888_1X24 to enable the CSC and still nothing. Edit: the media_entity_operations was added to the mxc_isi.0.capture device in mxc_isi_video_register() to vdev->entity. Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 could you offer the full log from your board boot up, and do you have any patch for your modification? Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 I think I might have missed it in the pipeline summary in the post, sorry! But the link is there in the media-ctl output: ... - entity 14: mxc_isi.0 (2 pads, 2 links, 0 routes) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 ... pad1: SOURCE [stream:0 fmt:YUV8_1X24/720x576 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/720x576 crop:(0,0)/720x576] -> "mxc_isi.0.capture":0 [ENABLED,IMMUTABLE] - entity 17: mxc_isi.0.capture (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video4 pad0: SINK <- "mxc_isi.0":1 [ENABLED,IMMUTABLE] Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 yes, I found it, but refer to your debug print log, I didn't find this link, you can double check it, I tested on the imx8qm before, I remembered that I must add this link via media-ctl -p command, maybe you can try it Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Hi @dominic-vt , For mxc_isi.x subdevice, - pad 0 indicates the input format, should be the same format as sensor/mipi-csi/crossbar - pad 1 indicates the color space of output format. And the final output format of the entire ISI media pipeline is controlled by user space application which call set_fmt ioctl for the video device (mxc_isi.x.capture). I don't see any obvious error in your printed media topology, and ISI reformat or CSC should not lead to capture hang too. Please try to check the MIPI-CSI status registers (several times during capturing) and see if there is any error reported.  If still no finding, to narrow down the issue, recommend you to revert all changes you have done for 8QXP mipi-csi and isi drivers, and use media-ctl to configure the media pipeline manually. By the way, you configured data lane number to 1 in dts, please make sure it match with your sensor setting. Regards, Zoey Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Hi @zoey_li, Thank you very much for the suggestion to check the registers! That led me to find that the ADV chip wasn't actually powered on for streaming. I've posted a couple of patches containing the fix and marked it as the solution in case anyone else has this issue. Regards, Dominic Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Figured out the problem: the ADV chip wasn't actually being powered on since the new MIPI CSI2 driver doesn't call the s_power() callback, unlike the previous driver. The solution was to implement Runtime PM for the adv7180.c driver. I've attached the patches containing my working implementation. This would be best practice, as mentioned in the kernel documentation: https://docs.kernel.org/5.17/driver-api/media/camera-sensor.html#power-management The patches won't apply perfectly on the upstream adv7180.c file because we have a few unrelated modifications in ours, but the changes should be easily copy-pasted if anyone else needs them. Thank you very much for the suggestions! Re: i.MX8QXP cannot stream video from ADV7280-M on Linux 6.12 Glad to hear that, and thank you for sharing the patches for others' reference.
View full article
iMX95 Silicon Revision Hello, I have recently received a new sample of the iMX95 B0, having previously worked with the A1 version. I would appreciate it if you could provide me with details regarding any hardware-related changes or other differences between these two versions. Could you kindly clarify the specific differences between the iMX95 B0 and A1? Thank you for your time and assistance. Re: iMX95 Silicon Revision Hi @Shubham2  B0 fixes numerous internal bugs within the chip, so it affects a wide range of software. I cannot list all specific differences in detail, but I believe that if you use a BSP version L6.12.34 or higher, you need not concern yourself with chip version issues. If you need to migrate the BSP, please perform the porting based on a BSP version L6.12.34 or higher. Best Regards, Zhiming Re: iMX95 Silicon Revision So, simply put, this means there are no hardware-related changes between A1 and B0 . Re: iMX95 Silicon Revision Hi Zhiming,  Where could one find the exact differences between A0, A1 and B0 silicon revisions? We are noticing some issues using latest BSPs on A0, specifically relating to NPU usage.  Regards, 
View full article
带 DMA 的 S32K358 传统 RX Fifo 与增强型 RX Fifo DMA 的对比 为什么 S32K3 RTD 不支持传统 Rx FIFO 的 DMA 批处理(主要循环> 1),而增强型 Rx FIFO 支持? 我使用的是带 Rx FIFO + DMA 的 S32K358 FlexCAN。在增强型 Rx FIFO 中,RTD 将 DMA 配置为小循环 = 80 字节,并允许通过 u32numofmbTransferbyDMA(N 帧)进行批处理,因此 DMA_COMPLETE 会在 N 帧之后触发。对于传统 Rx FIFO,因此 DMA_COMPLETE 发生在每个帧,没有批处理选项。 传统 Rx FIFO 缺乏 DMA 批处理功能是 RTD 故意的设计选择,还是传统 FIFO 路径的硬件限制? RTD 能否安全地支持传统 Rx FIFO 的带符号源偏移和主要循环> 1,以启用批处理? 是否有建议的变通方法来降低传统 FIFO + DMA 的 IRQ 速率? 配置:S32K358,RTD 6.0.0、传统 Rx FIFO + DMA 与增强型 Rx FIFO + DMA。 Re: S32K358 Legacy RX Fifo with DMA vs enhanced RX Fifo DMA 知道了有没有办法像增强型 rxFifo 那样,在 FIFO 深度(例如 5)之后获得 DMA 完成中断?目前,每次 DMA 从 Fifo 输出向 SRAM 传输可用帧后,我仍然会收到 DMA 完成中断。基于 u32NumOfMbTransferByDMA 配置的增强型 rx Fifo 支持这种情况。 Re: S32K358 Legacy RX Fifo with DMA vs enhanced RX Fifo DMA 你好@saikiranG 传统 FIFO 是 K3 上保留的 K1 功能。 该传统 FIFO 的报文深度为 6,因此只能接收传统 CAN 2.0 报文,不能接收 CAN FD 报文。 这也与增强型 FIFO 功能互斥;如果启用了传统 FIFO,则无法启用增强型 FIFO。 演示供您参考: https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-DMA-test-S32DS3-5/ta-p/2015832 Re: S32K358 Legacy RX Fifo with DMA vs enhanced RX Fifo DMA 你好@saikiranG 传统 FIFO 不支持水印配置(增强型 FIFO 支持水印配置)。 对于传统 FIFO,只要当前 FIFO 中有一个帧,就会产生 DMA 中断请求。 ” 当至少有一个帧可从 FIFO 读取时,IFLAG1[BUF5I](传统 RX FIFO 中可用的帧)被置位。同时产生一个 DMA 请求。收到请求后,DMA 控制器即可读取信息(将传统 FIFO 的输出作为信息缓冲区访问)。 ”
View full article
MCU Link pro 作为世纪佳缘 J-Link 调试探头,无法将 SWO clk 频率提高到 6000kHz 以上! 我正在使用 MCU Link pro 作为世纪佳缘 J-Link 调试探头 ,具体建议如下: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/How-to-install-Segger-Firmware-in-MCU-LINK-PRO/ta-p/2100846 这种配置允许 MCU link pro 用作世纪佳缘 Jlink 调试探头 ,但这不允许将 SWO clk 提高到 6000kHz 以上? 对于世纪佳缘 J-Link 基础调试探头,频率为 30000kHz。 我想知道这是MCU Link pro的限制还是MCU Link pro中使用的世纪佳缘Jlink FW的限制? 在此先表示感谢, Pratik Re: MCU Link pro as a SEGGER J-Link debug probe does not allow to increase SWO clk more than 6000kHz 你好@PratikKunjir MCU-Link Pro 是一款低成本调试器,主要针对基本调试功能而设计,未针对高性能 SWO Trace 进行优化。SWO 速率受限于调试器内部 MCU 的处理能力和接口带宽。 , Zhiming。 Re: MCU Link pro as a SEGGER J-Link debug probe does not allow to increase SWO clk more than 6000kHz 谢谢 @Zhiming_Liu,在 未来的版本中有可能将波特率提高到 6000 kHz 以上吗?
View full article
RTC PCF2131 EPAD Connection Hello, could you shed some light on the changed requirement for the connection of the exposed pad of the PCF2131 real time clock IC(CIN# 202411003I)? Updated the Section 3.2: changed from “center pad must be connected to ground (VSS)” to “central pad must be left floating”. Because we have two boards (6 Layers/10 Layers) in production which were designed according to the previous Application note which stated that it must be connected to VSS. We need to know the impact this has on our devices, e.g. do we have to throw away the already produced boards? Thank you Otto Re: RTC PCF2131 EPAD Connection I intend to do so, but do you have any information why it was changed? We need to know how we need to handle the boards that are already manufactured with the EPAD connected to the GND plane. Re: RTC PCF2131 EPAD Connection Hi  Still suggest you do rework for your two pieces board to meet the new change about EP connection. Re: RTC PCF2131 EPAD Connection I will send you privaty  mail for this topic later.
View full article
NXP プロセッサはエッジ AI アプリケーションに最適な AI コンピューターになり得るか? NXPコミュニティの皆様、こんにちは。 私は AI 開発に取り組んでおり、 NXP のプロセッサが機械学習のワークロードの最適化にどのように役立つのか楽しみにしています。具体的には、エッジ AI アプリケーションに取り組んでおり、i.MX や Layerscape シリーズなどの NXP プラットフォームがどのようにして高いパフォーマンスを実現し、エネルギー効率を維持しながらそのようなタスクにおけるベストな AI コンピューターとしてのポジショニングを理解したいと考えています。 私が読んだところによると、NXP プロセッサは AI 向けにいくつかの優れた機能を提供しているようですが、ここで NXP ソリューションを独自の AI プロジェクトに正常に実装した人がいるかどうか興味があります。あなたの経験では、これらのプラットフォームは、リアルタイムの組み込み AI プロセッシングに最適な AI コンピューターとしてどのように評価されていますか? AI アプリケーション向け NXP ハードウェアを使用する際の経験、課題、ベスト プラクティスについてお聞かせください。アドバイスをいただければ幸いです。 Re: Can NXP Processors Be the Best AI Computer for Edge AI Applications? こんにちは@luciaonmatteo まず、AI プロジェクトの開発に弊社の NXP SoC チップをご検討いただき、誠にありがとうございます。私たちの AI プロジェクトの内容についてさらに詳しくお伝えします。実際、AI に関する関連コンテンツのほとんどは、 NXP オフィスの Web サイトと github で見つけることができます。 当社にはeiq ai ツールがあり、組み込みシステムに希望するAIモデルをより便利に導入するのに役立ちます。当社の imx8 imx9 シリーズ チップには、データ推論の高速化に役立つ NPU と GPU を備えた多くの AI 機能が搭載されています。 理解を深めていただくために、i.MX 機械学習ユーザーズガイドファイルも添付しました。これがCANでお役に立てれば幸いです。 素敵な一日をお過ごし下さい! BR
View full article
恩智浦处理器能否成为边缘人工智能应用的最佳人工智能计算机? 你好,恩智浦社区、 我正在潜心研究人工智能开发,很高兴看到恩智浦处理器如何在优化机器学习工作负载方面发挥作用。具体来说,我正在研究边缘人工智能应用,并希望了解 i.MX 和 Layerscape 系列等恩智浦平台如何提供高性能,使其成为 最佳人工智能计算机的最佳人工智能计算机,同时保持高能效。 从我读到的资料来看,恩智浦处理器似乎为人工智能提供了一些令人印象深刻的功能,但我很好奇这里是否有人在自己的人工智能项目中成功实施了恩智浦解决方案。根据您的经验,这些平台如何成为实时嵌入式人工智能处理的最佳人工智能计算机? 我很想听听您在使用恩智浦硬件进行人工智能应用时的经验、挑战和最佳实践。如有任何建议,我们将不胜感激! Re: Can NXP Processors Be the Best AI Computer for Edge AI Applications? 你好@luciaonmatteo 首先,非常感谢您考虑使用我们的恩智浦 soc 芯片来帮助您开发人工智能项目。我将向您详细介绍我们的人工智能项目内容。实际上,您可以在恩智浦办公室网站和 github 上找到与人工智能相关的大部分内容。 我们有eiq ai 工具,它可以帮助您更方便地在嵌入式系统中部署所需的人工智能模型。我们的 imx8 imx9 系列芯片具有大量人工智能功能,其 NPU 和 GPU 可帮助您加速数据推理。 我还附上了《i.MX 机器学习用户指南》文件,以帮助你理解它。希望能帮到你。 祝你有美好的一天 B.R
View full article
需要 LPC4088FET208 的分线板 你好、 LPC4088FET208 有分组板吗?实际上,我希望连接器上的所有端口引脚都可用,以便我可以连接我的设备。 此致, 迪帕克 Re: Need breakout board for LPC4088FET208 你好、 在这个板上,我想要的引脚已经用完了,所以我无法连接我的设备。 Re: Need breakout board for LPC4088FET208 你好@deepaktajanpure 我认为这很适合你。 LPC4088 开发套件|恩智浦半导体 BR 哈利 Re: Need breakout board for LPC4088FET208 你好@deepaktajanpure 很抱歉,目前还没有现成的 LPC4088 分线板可以暴露所有引脚,同时保留 MAC 引脚。 市售的 LPC4088 模块/板集成了以太网 PHY/RJ‑45,并对 MAC 引脚进行了硬接线,因此这些信号不可用于用户连接。 BR 哈利
View full article
S32K396 ADC Our processor is S32K396. When using ADC, the following error occurred: I have a total of 5 ADCs. Two of them use the channels 1 and 3 of the AD5 controller respectively. Occasionally, there will be abnormal data collection from channel 1. At this time, by measuring with a multimeter, there is voltage on the pins, but no values can be obtained. When channel 3 is shielded, channel 1 works normally. The remaining 3 channels of ADC are each using a separate AD controller, and all are functioning properly. The attachment contains the configuration of my AD5 components and the ADC acquisition code. Please take a look and let me know if there are any issues. Thank you! 我们处理器为S32K396,使用ADC时出现如下错误: 我共有5路ADC,其中有两路分别用了AD5控制器的通道1和通道3;此时会偶发性出现通道1采集异常,此时通过万用表测量管脚上存在电压,但是采集不到值。当把通道3屏蔽掉之后,通道1工作正常。 剩余3路ADC分别单独使用一个AD控制器,均工作正常。 附件是我的AD5组件配置及ADC采集代码,麻烦看下什么问题。 谢谢!
View full article
S32K148 引脚:默认行为 S32K1xx 上的引脚具有默认行为;S32DS IDE 上的引脚复用工具以斜体显示默认行为。 我的问题是,如果我想在默认行为中使用某个引脚,是否还必须在引脚复用器工具中为该角色选择该引脚? 换句话说,我的问题是:在引脚复用器工具中将引脚配置为默认行为与完全不配置有什么区别? Re: S32K148 pins: default behavior HI 如果打开 S32K1 SDK 或 RTD 中的 ADC 示例,就会发现引脚工具根本没有启用。 即使您在 "引脚工具 "中为该引脚选择了 ADC 功能引脚工具仍会生成默认值 `.mux=PORT_MUX_ALT0`. 但是,如果您想启用第 43.4 节 ADC 硬件交错通道中描述的功能,请参阅第 43.4 节。 43.4 ADC 硬件交错通道 S32K1 RM Rev14.1 第 43.4 节所述功能:ADC0_SE4和ADC1_SE14通道在 PTB0 引脚上交错排列 然后,建议在引脚工具中为PTB0引脚选择ADC0_SE4和ADC1 _ SE14,引脚工具就会生成`.mux=PORT_MUX_ADC_INTERLEAVE`。 ADC Hardware Interleave mux PORT_MUX_ADC_INTERLEAVE Pins Tool.png 调用Port_Ci_Port_Ip_Init() 将启用相应的SIM_CHIPCTL[ADC_INTERLEAVE_EN]位,从而启用ADC 硬件交错功能。 ADC 硬件交错. Port_Ci_Port_Ip_Init -> Port_Ci_Port_Ip_PinInit -> Port_Ci_Port_Ip_ConfigureInterleave 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: S32K148 pins: default behavior 你好@罗宾-沈 非常感谢你的澄清。
View full article
s32k312 hse ab-swap 車載スイッチ、関連する質問、新しいThread? こんにちは、NXPの専門家さん。 1. https://community.nxp.com/t5/S32K/s32k3-hse-abswap-auto-switch-if-a-partition-is-broken/mp/2263239#M55429に質問しました 2. しかし、ASB モードについては、まだ不明な点があります。 3. AB スワップ モードでは、アクティブ領域とバックアップ領域の 2 つのバイナリがすべて 0x400000 の場所にコンパイルされますが、ASB SMR テーブルのアドレスは何ですか? アクティブ領域が壊れている場合、バックアップ バイナリは 0x400000 にコンパイルされますが、0x400000 にマップして実行するにはスワップが必要です。 スワップの状況はどうですか? ありがとうございます。 Re: s32k312 hse ab-swap auto switch , related question, new thread? こんにちは@victory ABスワップモードでは、パッシブブロック内のアプリケーションを代替/バックアップイメージとして使用することはできません。アクティブ ブロックに別の画像が必要です。これは、アクティブブロックとパッシブブロック内のアプリケーションのバージョンをチェックし、スワップが必要かどうかを判断し、必要に応じてスワップを実行するか、その他のアクションを実行する非常に小さなアプリケーションです。 よろしくお願いいたします。 ルーカス
View full article
Genavb/TSN アイソクロナスアプリケーション、ptp4l との同期 こんにちは、 MCUXpresso SDK v.25.06.00を使用してMIMXRT1170-EVKBでTSNデモアプリを実行しようとしています。 i.MX RT1170 v.7.2.1 用 AVB/TSN スタック。 2 つのMIMXRT1170-EVKB 間で実行すると正常に動作しますが、 "ptp4l -i -f gPTP -m --step_threshold=1 -l 7" を実行している Linux コンピューターにクロックを同期しようとすると、タイムアウトが続きます。 ------------------------------------------------------------------------------------- ptp4l[2117920.138]:ポート 0 (/var/run/ptp4lro): INITIALIZING から INIT_COMPLETE で LISTENING へ ptp4l[2117920.139]:ポート1(enp43s0): メッセージを無視 ptp4l[2117920.139]:ポート1(enp43s0): メッセージを無視 ptp4l[2117920.139]:ポート1(enp43s0):リンクステータス通知を受信 ptp4l[2117920.139]:インターフェースインデックス9が稼働中 ptp4l[2117920.139]:ポート1(enp43s0): メッセージを無視 ptp4l[2117920.139]:ポート1(enp43s0): メッセージを無視 ptp4l[2117920.721]:ポート1(enp43s0):ピアポートIDが00bbcc.fffe.ddee00-1に設定されています ptp4l[2117921.138]:ポート1(enp43s0):遅延タイムアウト ptp4l[2117921.138]:負の遅延 -2158 ptp4l[2117921.138]:遅延 = (t2 - t3) * rr + (t4 - t1) ptp4l[2117921.138]:t2 - t3 = +65563 ptp4l[2117921.138]:t4 - t1 = -69879 ptp4l[2117921.138]:rr = 1.000000000 ptp4l[2117921.138]:遅延フィルタリング -2158 生 -2158 ptp4l[2117922.138]:ポート1(enp43s0):遅延タイムアウト ptp4l[2117922.138]:負の遅延 -2050 ptp4l[2117922.138]:遅延 = (t2 - t3) * rr + (t4 - t1) ptp4l[2117922.138]:t2 - t3 = +62218 ptp4l[2117922.138]:t4 - t1 = -66319 ptp4l[2117922.138]:rr = 1.000000000 ptp4l[2117922.138]:遅延フィルター -2104 生 -2050 ptp4l[2117923.138]:ポート1(enp43s0):遅延タイムアウト ptp4l[2117923.138]:遅延フィルタリング -2050 生 30 ptp4l[2117923.533]:ポート1(enp43s0):asCapableに設定 ptp4l[2117923.742]:ポート1(enp43s0):タイムアウトを通知する ptp4l[2117923.742]:ポート1(enp43s0):ANNOUNCE_RECEIPT_TIMEOUT_EXPIRESでMASTERをLISTENING ptp4l[2117923.742]:ローカルクロック 24fbe3.fffe.e64f3b をベストマスターとして選択しました ptp4l[2117923.742]:ポート1(enp43s0):グランドマスターの役割を引き継ぐ ptp4l[2117923.743]:ポート1(enp43s0):マスター送信アナウンスタイムアウト ptp4l[2117923.868]:ポート1(enp43s0):マスター同期タイムアウト ptp4l[2117923.993]:ポート1(enp43s0):マスター同期タイムアウト ptp4l[2117924.118]:ポート1(enp43s0):マスター同期タイムアウト ptp4l[2117924.138]:ポート1(enp43s0):遅延タイムアウト ptp4l[2117924.138]:遅延フィルタリング -1010 生 29 ptp4l[2117924.243]:ポート1(enp43s0):マスター同期タイムアウト ptp4l[2117924.368]:ポート1(enp43s0):マスター同期タイムアウト ------------------------------------------------------------------------------------- デモ プログラムは、リンクの準備ができていない場合にリセットを出力し続ける (下記または TSN Isochronous アプリケーション Log.txt を参照)。 ------------------------------------------------------------------------------------- ポート(0): ドメイン(0, 0): 役割: 無効 リンク: アップ asCapable: いいえ neighborGptpCapable: いいえ delayMechanism: P2P ポート(0): 伝播遅延 (ns): 2779.50 最小 2582 平均 2904 最大 3894 分散 191882 ポート(0): 近隣レート比: 1.000000000 ポート(0): ドメイン(0, 0): ポート統計受信パケット数 0 ポート統計受信同期カウント 24 ポート統計受信同期タイムアウト 0 ポート統計Rxフォローアップカウント 24 ポート統計Rxフォローアップタイムアウト 0 ポートスタットRxアナウンス 4 ポート統計アナウンス受信タイムアウト 0 PortStatAnnounceReceiptDropped 0 ポート統計Rxシグナリング 0 ポート統計送信パケット数 0 ポート統計送信同期カウント 0 ポート統計Txフォローアップカウント 0 ポート統計送信アナウンス 0 ポート統計送信シグナリング 8 ポート統計調整オン同期 0 ポート統計Md同期受信メッセージリセット 25 ポートステータス番号同期損失 0 ポートステータス番号が対応していません 0 ポート(0): ピアクロックアイデンティティ 0x24fbe3fffee64f3b ポート統計Rx遅延要求 7 ポート統計RxP遅延応答 8 ポート統計RxPdelayResponseFollowUp 8 rxPdelayRespLostExceeded 0 ポート統計送信遅延要求 8 ポート統計TxP遅延応答 7 PortStatTxPdelayResponseフォローアップ 7 ポート統計MdPdelayReqSmReset 0 INFO 10.002602312 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) INFO 10.048363237 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) INFO 10.181927487 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) INFO 10.315370437 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) ERR 10.541771712 gptp md_pdelay_req_compute_pdelay_rat: ポート(0): NeighborRateRatio 0.9374548610940112 無視 INFO 10.541915212 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) INFO 10.582370337 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) INFO 10.715615462 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) INFO 10.980070387 gptp md_sync_rcv_sm : ポート(0): リンクの準備ができていないためリセット中 (状態 DISCARD - 1 1 0) ------------------------------------------------------------------------------------- 問題解決にご協力いただきありがとうございます。 Re: Genavb/TSN Isochronous Application, syncing with ptp4l 私の知る限り、これは NXP の AVB/TSN パッケージや例ではカバーされていません。 「なぜこの例を使って Linux とクロックを同期させているのか理解できません」という質問に関して、動機は次のとおりです。RT1170 ボードと標準 Linux コンピューターの間で TSN セットアップを確立するために、クロックを同期しようとしています。提供されている例は、2 つの RT1170 ボード間で TSN を設定する方法を示していますが、私のユースケースでは、TSN ネットワークは RT1170 ボードと Linux ベースのエンドポイント間で動作する必要があります。そのため、私はこの例を最も近い利用可能なリファレンスとして使用し、その使用をボード - Linux 構成に拡張しようとしています。 Re: Genavb/TSN Isochronous Application, syncing with ptp4l ` 2 つの MIMXRT1170-EVKB 間で実行すると正常に動作します。` 質問を明確にしてください。ドキュメントに従って、すでに AVB/TSN の例を正しく実行しています。 Linux とクロックを同期するためにこの例を使用する理由がわかりません。 これは NXP の AVB/TSN パッケージまたは例でカバーされますか? Re: Genavb/TSN Isochronous Application, syncing with ptp4l あなたが探しているものが分かりました。 申し訳ありませんが、製品所有者に確認したところ、現在、TSN セットアップは 2 つの RT1170 開発ボード間でのみサポートされています。
View full article
LX2080 質問があります。LX2080というボードを所有していますが、昨日はエミュレータを使ってプログラムした時は正常に動作していました。ところが、今日ハードコードモードでプログラムしようとしたところ、「[添付画像]」というエラーメッセージが表示されました。しかし、フラッシュメモリ内のデータは残っており、通常モードでは正常にロードされます。このボードには別のフラッシュメモリチップも搭載されており、そのチップに切り替えても同じ問題が発生します。ファイルは正常にロードされるのですが、プログラムするとエラーが発生します。原因は何でしょうか?また、どうすれば解決できるでしょうか? 回复: LX2080 ご回答ありがとうございます。これは稀なケースで、問題は1枚のボードのみで発生しており、他のボードは正常に動作しています。つまり、設定は正しいということです。 ハードコードされた RCW を使用する場合は、「ターゲット初期化ファイル」で次の変更を行ってください。 USE_SAFE_RCW = 偽 変更後: USE_SAFE_RCW = 真 また、添付ファイルでは、CodeWarrior for ARMv8 11.5.12 で提供されていないフラッシュ デバイスを使用しています。 フラッシュアルゴリズムは自分で作成したのですか?新しいフラッシュ デバイスをサポートするために、「ターゲット初期化ファイル」をどのように変更しましたか? @yipingwang Re: LX2080 ハードコードされた RCW を使用する場合は、「ターゲット初期化ファイル」で次の変更を行ってください。 USE_SAFE_RCW = 偽 変更後: USE_SAFE_RCW = 真 また、添付ファイルでは、CodeWarrior for ARMv8 11.5.12 で提供されていないフラッシュ デバイスを使用しています。 フラッシュアルゴリズムは自分で作成したのですか?新しいフラッシュ デバイスをサポートするために、「ターゲット初期化ファイル」をどのように変更しましたか?
View full article
[乱用] 投稿者: @JohnKlug / ボード: imx-processors / 報告者: looqseae looqseae は、 @JohnKlug が投稿した 「Could not invoke dnf for external kernel module in Yocto kirkstone」という 投稿について、以下の理由で報告しました: 理由:嫌がらせ 詳細: 投稿リンク: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/mp/1627964#M203740 投稿者: @JohnKlug |メール著者 報告者: looqseae |メールレポーター 報告された投稿には 2 件の返信があります。
View full article
TWR-KM35Z75M(メーターライブラリ)におけるAFEシグマデルタチャネルマッピングとマルチフェーズ入力サポート NXPチームの皆様、こんにちは。 私は最新の MCUXpresso SDKを使用してTWR-KM35Z75Mに取り組んでおり、MKM35Z512 AFE (24 ビット シグマ デルタ ADC) を備えたメーターライブラリを評価しています。AFE チャネルがどのように構成され、メーターライブラリがどのようにサンプルを取得するかについて明確に説明する必要があります。 SDK: KM35 向け最新 MCUXpresso SDK リリース MCU: MKM35Z512VLQ7 (Kinetis-M シリーズ) 1.メーター例 (meterlib1ph_test、meterlib3ph_test) では、これらのピンを明示的に参照することはなく、 SDK のどこで AFE チャネルと信号のマッピングが構成されているかを正確に把握する必要があります。 2. 実際のAFEサンプリングレート(Hz / kHz)、サンプリングが内部でトリガーされるかタイマーによってトリガーされるか、サンプルがDMA 、割り込み、または内部FIFOを介して転送されるかどうか 3.三相電圧信号と電流信号をボードに接続する必要があります。3 相 V/I ペアの推奨チャネル割り当ては何ですか?   Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) こんにちは@Anusudhan06 ご投稿ありがとうございます。 ご質問に関連するアプリケーション ノートがいくつかありますので、ご確認ください。 シグマデルタADCでのFFTの使用 Kinetis-M 二相メーター - リファレンス・デザイン メーターアプリケーション向けフィルタベースアルゴリズム Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) ありがとう@carlos_o 現在、プロジェクトでアナログ フロントエンド (AFE) 構成をメーター ライブラリに統合しているところですが、参考例を提供していただければ幸いです。 すでに提供されているサンプル ファイルmeteringlib3Ph_test.cを参照しましたが、このファイルでは、メーター ライブラリ API の使用方法が明確に示されています。 ただし、AFE 構成とメーター ライブラリの両方の統合を明示的に示す、より完全な参照例を提供していただければ幸いです。 初期化シーケンス: AFE とメーターライブラリの両方を初期化するための正しい順序と方法。 データ フロー:生の AFE データがどのようにキャプチャされ、フォーマットされ、メーター ライブラリ関数への入力として正しく渡されるか。 このリクエストを検討していただきありがとうございます。 Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) 私のリクエストをまだ確認していただいたかどうかを確認するために戻ってきました。
View full article
支持配备联发科技 Genio 510 EVK 的 PN7160 的卡模拟(Type-4 Tag) 你好 我正在使用与运行 Linux 的联发科 Genio 510 EVK 接口的 PN7160 NFC 控制器开发一个项目。 我想了解一下这种组合是否支持卡片模拟模式(NFC Forum Type-4 Tag / ISO-DEP)。 我的问题如下: 1) PN7160 + Linux 主机(Genio 510 EVK)能否使用主机卡模拟 (HCE) 支持卡模拟模式(Type-4 Tag)? 从 PN7160 UM11495 文档中可以看出,PN7160 没有实现完整的硬件类型 4 标签仿真,并且该卡仿真必须由设备主机 (DH) 通过 ISO-DEP 接口托管。 我想确认官方是否支持这种配置。 2) 如果支持卡片仿真,是否有任何参考示例或示例代码可用? 具体来说 Linux 上 APDU 处理器示例(HCE 实现) 显示主机如何处理 NDEF/CC 文件的示例 在 Linux 环境中模拟 PN7160 卡的任何演示 3) 能否使用恩智浦现有的 linux_libnfc-nci NFC 栈来实现这一功能? 还是需要使用: 不同的 NFC 中间件, 修改后的 NCI 堆栈,或 其他元器件(例如安全元件)? 与我们联系,告知使用 PN7160 + Genio 510 实现 Type-4 标签卡仿真的推荐软件架构。 您对这些问题的指导将有助于我们确定正确的实施方法。 非常感谢你们的支持。 致以最崇高的敬意, Niranjan Re: Card Emulation (Type-4 Tag) support for PN7160 with MediaTek Genio 510 EVK 你好@Niranjan123 希望你一切顺利。 PN7160 允许两种卡模拟实施/方案(更多信息,请参阅PN7160 卡模拟😞 -由 DH-NFCC 进行卡片模拟,设备主机负责模拟卡。在这种情况下,PN7160 只是中间的设备,负责将通信从外部读取器/写入器转发到 DH-NFCEE。 - 通过 NFCC 进行卡模拟。在这种情况下,该卡是在 NFCC 上模拟的。NFCCE_NDEF 可以通过 DH-NFCEE 访问,也可以从 RF场 访问。 GitHub - NXPNFCLinux/linux_libnfc-nci_examples:linux libnfc-nci 协议栈的使用示例包括两种情况下的一些演示。请参阅 ndef-emulation_example 和 t4t-ndef-emulation _ example 。 Eduardo。 Re: Card Emulation (Type-4 Tag) support for PN7160 with MediaTek Genio 510 EVK 您好, 我一直在做一个类似的项目,我已经成功实现了一个基本的 HCE 仿真,也许能给你提供一些思路。这是我的项目链接,希望对你有用。 https://github.com/josevcm/hce-laboratory 此致 JV
View full article
MCU-Link BASE 独立组网 (SA) 调试探板找不到 USB COM 嗨 参考 um11931 文档,安装固件,但找不到 usb com,请帮助检查。 MCU-Link BASE 独立组网 (SA) 板安装固件,找不到 USB COM MCXA Re: MCU-Link BASE standalone debug probe board CAN NOT FIND usb COM 你好@luna_liang、 谢谢您的帖子。 要更新 MCU-Link 的固件,必须在(USB)ISP 模式下通电。要实现 , 请插入跳线 J4,然后使用连接到 J1 的 micro B USB 电缆将 MCU-Link 连接到主机。红色 STATUS LED 指示灯 (LED3) 应点亮并保持亮起。然后,该板将在主机计算机上 枚举为 HID 类设备。 请按下面的方法试一试。 如果您的问题没有得到解决,请随时再次与我联系。 BR 西莱斯特 ------------------------------------------------------------------------------------------------------------------ 注:如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。Thank you! ------------------------------------------------------------------------------------------------------------------
View full article
i.MX RT1064 高吞吐量 RX 突发期间的数据包丢失(原始以太网) 大家好, 我目前正在使用恩智浦 i.MX-RT1064微控制器实现原始以太网(第 2 层,没有 T CP/IP) ,在高流量突发期间我遇到了丢包问题 以下是我的系统配置和我观察到的具体行为: 设置 微控制器:所有节点上的i.MX-RT1064 网络1 个主设备和 10 个从设备。 拓扑结构:所有节点通过托管交换机连接。 协议:自定义第 2 层原始以太网。 机制主站发送广播请求。所有 10 个从属设备都会对此进行处理,并立即发送单播回复。 问题主站成功发送了广播请求,但未能收到完整的 10 个响应集。 在通过 Wireshark(使用交换机上的端口镜像)分析流量时,我发现被丢弃的数据包的时间戳(精确到纳秒)往往与其他成功数据包的时间戳完全相同。当两个或两个以上的从站在同一时刻做出响应时,主站会丢弃其中一个(或两个)帧。 当前理论 RX 描述符:流量"内爆" 正在压倒主站的 ENET 外围设备。是否可能是 DMA 无法以足够快的速度移动描述符,以在这个瞬时脉冲串期间清除 RX Ring Buffer? 问题 在这种架构中,处理这类流量内爆的最佳做法是什么? 如果您对 RT1064 ENET 模块有任何见解或配置技巧,我们将不胜感激。 谢谢您! i.MX RT106x Re: i.MX RT1064 Packet Loss during High-Throughput RX Burst (Raw Ethernet) 请调用NVIC_SetPriority 函数,提高 ENET 中断的优先级。 Re: i.MX RT1064 Packet Loss during High-Throughput RX Burst (Raw Ethernet) 你好@mayliu1, 感谢您的回复和建议。 我已根据您的观点重新审视了我的配置。详情如下: SDK& 驱动程序:我使用的是 MCUXpresso SDK 版本 [如 2.11.0] 和随附的 ENET 驱动程序 (fsl_enet_driver 2.5.3)。 缓冲区位置:我的 ENET 缓冲区位于 DTCM 中,ENET_RXBD_NUM 设置为 32(使用您在图像中引用的相同宏来确保它们不可缓存)。 中断:我在 ENET 初始化过程中使用了 enet_config_t 中配置的回调函数。 我会按照建议更新到最新的 SDK 版本,并在测试后报告结果。 感谢和问候, Kartheek Re: i.MX RT1064 Packet Loss during High-Throughput RX Burst (Raw Ethernet) 你好@kartheek4B7、 非常感谢您关注我们的产品并使用我们的社区。 1: 您目前使用的是哪个版本的 MCUXpresso SDK 和 ENET 驱动程序、 请使用最新发布的 MCUXpresso SDK 版本。 2:您的 ENET 缓冲区目前位于 OCRAM 还是 DTCM 中?我建议您将 RX/TX 环和数据缓冲区设置在非高速缓冲存储器中。 3: 请增加 RX Ring Buffer 深度。 例如: mayliu1_0-1765334967971.png 4: 请提高 ENET RX 中断的优先级,尽量减少 ISR 的工作量。 希望它能帮到你。 如果您还有疑问,请告诉我。 敬上 MayLiu Re: i.MX RT1064 Packet Loss during High-Throughput RX Burst (Raw Ethernet) 你好@mayliu1 关于突发大小与描述符数量,这种架构是否有一般规则?具体来说,对于帧突发,是否必须将描述符计数与突发大小相匹配,以防止数据包丢失? Re: i.MX RT1064 Packet Loss during High-Throughput RX Burst (Raw Ethernet) 你好@kartheek4B7、 我认为没有严格要求描述符数量必须与突发大小相匹配。 但是,如果突发大小超过了可用描述符,可能会出现数据包丢失的情况。 因此,我建议您考虑将描述符计数设置为等于或略高于预期突发大小。 顺祝商祺! MayLiu
View full article
什么样的错误会导致 TJA1145AFD 收发器中的 PNFDE=1 您好,恩智浦专家 我目前遇到了一个问题:当我掉电 TJA1145AFD 的 VCC 一段时间然后重新开机时,我发现 PNFDE=1,而 BAT 引脚保持在 12V。为什么会发生这种情况?我查看了芯片手册,发现当收发器收到错误时,内部计数器会增加。当它达到 31 时,PNFDE 设置为 1。这里考虑了哪些具体错误? Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver 你好,vcc的掉电实际上是mcu下电控制的,所以此时难以通过mcu读取收发器寄存器。我想请问一下,当配置CFDC=1(CANFD tolerance enabled),tja1145A处于睡眠模式时,总线上如果有canfd报文,tja1145A会把canfd报文当成错误报文,导致PNFDE置位吗? Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver HI  对比下面的CAN 流程图,您操作的TJA1145A是从CAN ACTIVE模式转换到CAN Offline Bias或者CAN Offline 模式,然后你这两个模式其中之一的情况下重新上电VCC吗?您能给出来VCC下电以后是进入了 CAN Offline Bias还是CAN Offline 模式吗? guoweisun_0-1765178778740.png Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver Q:当配置 CFDC=1(CANFD 容差已启用),tja1145A 处于睡眠模式时,总线上如果有 canfd 报文,tja1145A 会把 canfd 报文当作错误报文,导致 PNFDE 置位吗? [GW]不会使得PNFDE置位的 Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver 谢谢回复,我详细描述一下这个问题的背景,整个can网络只有两个can节点,一个是使用TJA1145AFD的ECU,另一个是一个周期发送一帧canfd报文的上位机,在一切电源正常的情况下,通信正常,PNFDE也不会置位,当ECU下电的时候,TJA1145AFD的vcc会掉电,BAT是常电,一直有电,一段时间后,ECU重新上电,TJA1145AFD会报PNFDE置位的错误。整个过程上位机一直发送周期报文。可以帮忙分析一下,可能的原因么? Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver 谢谢回复,我详细描述一下这个问题的背景,整个can网络只有两个can节点,一个是使用TJA1145AFD的ECU,另一个是一个周期发送一帧canfd报文的上位机,在一切电源正常的情况下,通信正常,PNFDE也不会置位,当ECU下电的时候,TJA1145AFD的vcc会掉电,BAT是常电,一直有电,一段时间后,ECU重新上电,TJA1145AFD会报PNFDE置位的错误。整个过程上位机一直发送周期报文。可以帮忙分析一下,可能的原因么? Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver TJA1145下电后,CFDC寄存器是否为1(过滤FD报文)。因为根据ISO11898-2,唤醒报文必须是CAN-HS报文,而不是CAN FD报文。如上位机一直在发送CAN FD报文,会导致TJA1145内部无法解码,从而导致解码错误导致PNFDE置位。   Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver 您说的TJA1145下电,是指vcc掉电吗?bat是一直有电的。CFDC在TJA1145上电时我就配置成=1了的。如果vcc掉电了,mcu还可以通过spi读取寄存器的状态么? Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver 我们的ECU是把vcc跟vio焊接在了一起,所以vcc掉电后vio也掉电了。我检查了TJA1145 VCC掉电前CFDC的状态,CFDC是等于1。除了CFDC=0,检测到canfd帧导致PNFDE报错,还有其它情况么? Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver SPI由VIO供电,如VIO正常供电,休眠状态可以正常读取寄存器。 Re: what kind of error will lead to PNFDE=1 in TJA1145AFD Transceiver 具体还需要看下唤醒时的报文波形?CANH/CANL/RXD/INH PNFDE的作用是避免错误导致的系统“死锁”。 如前所述,错误累加会导致PNFDE置位。那么这种错误有两种可能性: TJA1145本身配置正确,但总线上出现了错误报文,这种错误可能是你们这种模拟的线束故障,也可能是其他节点发生了故障,发出了速率和你的CDR对不上的报文。 还有一种可能就是故障在你的TJA1145这里,比如你在配置TJA1145的时候受到了干扰导致你想配置的ID/Data Rate和你实际配置的对不上。 1) ID配置错误,你自己又不知道配错了,网络管理者始终唤不醒你,为了避免你系统死锁,就会故意发一定数量的错误报文才能把你唤醒。 Data Rate配置错误,同样你自己不知道配错了,可能都不用网络管理者发错误报文,普通正确报文就可能导致你解析成错误报文,累加后唤醒,如果不行,和1)一样,由网络管理者故意发一定数量的错误报文把你唤醒。
View full article