Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
i.MX 8M Plus 定制板:在 U-Boot 2024 中,ums 和 fastboot 命令失败,并显示“USB 初始化失败:-22”错误。 我在基于i.MX 8M Plus 的自定义硬件平台上启动 USB 外围设备功能(ums 和 fastboot)时遇到问题,该平台运行的是U-Boot v2024.04 (通过 Yocto 构建)。 尝试将 eMMC 导出为大容量存储或调用 fastboot 时,控制器初始化失败并抛出无效参数错误 (-22):   u-boot=> ums 0 mmc 2 UMS:LUN 0,设备 mmc 2,硬件分区 0,扇区 0x0,计数 0x3a3e000 USB控制器初始化失败。 u-boot=> fastboot 0 USB 初始化失败:-22 环境和设置上下文: U-Boot 版本: 2024.04 (PV="2024.04"已通过 BitBake 环境检查确认)。 硬件:定制板。与参考 i.MX 8M Plus EVK 不同,该设计在 I2C 总线上没有采用标准的 Type-C 端口控制器 (TCPC) 芯片。 当前软件调整:我们目前包含一个补丁,用于绕过 板/freescale/imx8mp_evk/imx8mp_evk.c 中的错误。因此,当 TCPC 函数无法找到 I2C 设备时,引导加载程序不会完全中止初始化。 问题: 即使绕过了启动中止,USB 协议栈也会拒绝初始化命令,错误代码为 -22 (EINVAL)。 我们想验证此故障是否与缺失的 TCPC 状态如何处理动态角色分配直接相关,或者当偏离参考 EVK 设计时,自定义 i.MX 8M Plus 布局上的 USB 外设操作是否需要基本的驱动程序模型/设备树框架配置不匹配。 问题: 在 U-Boot 2024.04 下,在 i.MX 8M Plus 平台上调用 fastboot 或 ums 时出现 -22 (EINVAL) 错误的常见结构或配置原因是什么? 没有参考 EVK 的 Type-C 设置的定制板应该如何正确配置其板文件或设备树属性,以安全地启用独立的 USB 设备/外设功能? 任何见解或调试建议都将不胜感激。
View full article
NXP Kinetis KM35 Metering Libraries I am working on a metering application with the kinetis KM35 series, and I am having some trouble understanding the Low-power metering library. I have been using the application note AN13259 "Low-Power Real-Time Algorithm for Metering Applications." While trying to integrate this library, I have found that there are actually many versions of this library in addition to multiple versions of the digital-filter and FFT-based versions. The examples in the SDK (imported through MCUExpresso) seem to have versions of these libraries that I cannot even find. My questions is this: What is the best way to determine what version of the library to use? What is the best way to find the most up-to-date information about the LPRT metering library? Am I working form the most recent and up-to-date application notes (AN13259)? Kinetis M Series MCUs
View full article
i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C Hi, I have designed a custom PCB using the MIMXRT1064 processor and the SGTL5000 audio codec. For the SGTL5000 circuit, I followed the standard/reference SGTL5000 schematic. The connections between the RT1064 and SGTL5000 are as follows: LPI2C1_SCL → GPIO_AD_B1_00 LPI2C1_SDA → GPIO_AD_B1_01 SAI1_MCLK → GPIO_AD_B1_09 SAI1_RXD → GPIO_AD_B1_12 SAI1_TXD → GPIO_AD_B1_13 SAI1_RX_BCLK → GPIO_AD_B1_11 SAI1_RX_LRCLK → GPIO_AD_B1_10 I have attached the relevant part of my schematic as well. My main problem is that after flashing the firmware, I am not receiving any I2C ACK from the SGTL5000. I measured the following voltages: SCL = approximately 3.3 V SDA = approximately 3.3 V MCLK = approximately 1.6 V For debugging, I wrote a function that temporarily changes the I2C pins to GPIO, generates 9 clock pulses, performs a bit-banged I2C address scan, and then restores the pins back to LPI2C1. static void i2c_hw_debug(void) { gpio_pin_config_t in = { kGPIO_DigitalInput, 0, kGPIO_NoIntmode }; IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_00_GPIO1_IO16, 0U); IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_01_GPIO1_IO17, 0U); IOMUXC_SetPinConfig( IOMUXC_GPIO_AD_B1_00_GPIO1_IO16, 0x00B0U); IOMUXC_SetPinConfig( IOMUXC_GPIO_AD_B1_01_GPIO1_IO17, 0x00B0U); gpio_pin_config_t out_init = { kGPIO_DigitalOutput, 1, kGPIO_NoIntmode }; GPIO_PinInit(GPIO1, 16, &out_init); GPIO_PinInit(GPIO1, 17, &in); for (int i = 0; i < 9; i++) { GPIO_PinWrite(GPIO1, 16, 0U); SDK_DelayAtLeastUs(10U, SystemCoreClock); GPIO_PinWrite(GPIO1, 16, 1U); SDK_DelayAtLeastUs(10U, SystemCoreClock); } PRINTF("Scanning I2C addresses...\r\n"); for (uint8_t addr = 0x03; addr <= 0x77; addr++) { if (bb_probe(16, 17, addr)) { PRINTF("ACK found at 0x%02X\r\n", addr); } } IOMUXC_SetPinMux( IOMUXC_GPIO_AD_B1_00_LPI2C1_SCL, 1U); IOMUXC_SetPinMux( IOMUXC_GPIO_AD_B1_01_LPI2C1_SDA, 1U); } How can I initialize the SGTL5000 codec with the MIMXRT1064, and why am I not receiving an ACK from the codec even though all the hardware connections and configurations appear to be correct? Thanks. Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C Hi @Anushka_SS, I would suggest basing your application on the evkmimxrt1064_sai example code instead. This code exemplified the integration of the RT1064 and a WM8960 codec. That said, we do also provide the fsl_sgtl5000.c/.h driver files, which can be imported as a component to the project, and enabled by simply changing the codec used by undefining CODEC_WM8960_ENABLE and defining CODEC_SGTL5000_ENABLE instead. The SGTL5000 driver files have the necessary routines to properly initialize and use this codec. Let me know if this helps, and if you require any further assistance. BR, Edwin. Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C Thank you. I have already done this: a fresh project using the SDK's fsl_sgtl5000 driver with CODEC_SGTL5000_ENABLE. The problem occurs before the driver initializes: the SGTL5000 NAKs its address (0x0A and 0x2A, LPI2C status 902). Verified at run time: Audio PLL = 786.432 MHz, SAI1 MCLK = 12.288 MHz (read back from the CCM registers), LPI2C clock = 10 MHz. I am using GPIO_AD_B1_00/01 for LPI2C1 and GPIO_AD_B1_09 for MCLK. The SGTL5000 module is connected to my custom RT1064 board with jumper wires. Can you suggest what else to check on the hardware side (pad settings, MCLK signal integrity, anything specific to the RT1064)? Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C I have both the RT1064 and the SGTL5000 codec on my custom board. I tested each chip independently: the SGTL5000 with a Teensy 4.1, and the RT1064 with an external PJRC SGTL5000 audio shield. Both work fine on their own, but when I connect them together by soldering their pins, it doesn't work, and I get this output: === SGTL5000 bring-up test === I2C scan (Teensy style)... Scan done: 0 device(s) Audio PLL = 786432000 Hz SAI1 mux=2 prediv=3 div=15 -> MCLK = 12288000 Hz (expect 12288000) LPI2C clock = 10000000 Hz (expect 10000000) -- try 1 -- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A: status=902 id=0x 0 0 -- try 2 -- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A: status=902 id=0x 0 0 -- try 3 -- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A: status=902 id=0x 0 0 SGTL5000 not answering. Stop. The voltages I'm measuring are: SCL: 3.2 V SDA: 3.2 V MCLK: 1.5–1.6 V
View full article
デンバーのモバイルアプリ開発会社はどこでエンド・ツー・エンド・サービスを提供していますか? デンバーでエンドツーエンドのサービスを提供する モバイルアプリ開発会社 をお探しなら、 JPLoft は検討する価値があります。16+年の経験と1,250+件のプロジェクトを手がけ、JPLoftはUI/UXデザイン、iOSおよびAndroid開発、AI統合、テスト、展開、リリース後のサポートを含む完全なモバイルアプリ開発ソリューションを提供しています。 同社はスタートアップや企業がビジネスニーズに合わせたスケーラブルで使いやすいモバイルアプリの開発を支援しています。  
View full article
i.MX 8M Plus Custom Board: ums and fastboot commands fail with "USB init failed: -22" in U-Boot 2024 I am experiencing an issue bringing up USB peripheral functions (ums and fastboot) on a custom hardware platform based on the i.MX 8M Plus running U-Boot v2024.04 (built via Yocto). When trying to export the eMMC as mass storage or invoke fastboot, the controller fails to initialize and throws an invalid argument error (-22):   u-boot=> ums 0 mmc 2 UMS: LUN 0, dev mmc 2, hwpart 0, sector 0x0, count 0x3a3e000 Couldn't init USB controller. u-boot=> fastboot 0 USB init failed: -22 Environment & Setup Context: U-Boot Version: 2024.04 (PV="2024.04" confirmed via BitBake environment check). Hardware: Custom board. Unlike the reference i.MX 8M Plus EVK, this design does not feature a standard Type-C Port Controller (TCPC) chip on the I2C bus. Current Software Adjustments: We currently include a patch to bypass errors inside board/freescale/imx8mp_evk/imx8mp_evk.c so the bootloader does not completely abort initialization when the TCPC functions fail to locate the I2C device. The Problem: Even with the boot abort bypassed, the USB stack rejects the initialization commands with error code -22 (EINVAL). We want to verify whether this failure is directly related to how the missing TCPC state handles dynamic role assignment, or if there is a fundamental driver model / device tree framework configuration mismatch required for USB peripheral operation on custom i.MX 8M Plus layouts when deviating from the reference EVK design. Questions: What are the common structural or configuration causes for the -22 (EINVAL) error when invoking fastboot or ums on an i.MX 8M Plus platform under U-Boot 2024.04? How should a custom board without the reference EVK's Type-C setup correctly configure its board file or device tree properties to safely enable standalone USB device/peripheral functionality? Any insights or debugging pointers would be appreciated 
View full article
LPIT GPT documentation missing I'd like to use the LPIT GPT functionality of the LPit_Gpt IP driver module. The S32K118 example shows various functions regarding this module, like "Lpit_Gpt_Ip_Init", "Lpit_Gpt_Ip_InitChannel" or "Lpit_Gpt_Ip_StartTimer". However, when checking the corresponding User Manual or Integration Manual, none of those functions are listed. Where can I find proper documentation? RTD Version is 3.0.0 QLP06. Re: LPIT GPT documentation missing Hello @daniel_meier, The User and Integration manuals are mainly describing the AUTOSAR high-level driver functions (which in consequence, use the lower-level functions). If you require further information about the IP lower-level APIs, you can refer to the LPit_Gpt_Ip.h header.  For example, for Lpit_Gpt_Ip_Init: /** * @brief Function Name : Lpit_Gpt_Ip_Init * @details Driver initialization function for LPit instance. * * * @param[in] instance LPIT hw instance number * @param[in] config Pointer to a selected configuration structure * @return void * @pre The data structure including the configuration set required for initializing the driver * */ void Lpit_Gpt_Ip_Init(uint8 instance, const Lpit_Gpt_Ip_InstanceConfigType *config); Best regards, Julián Re: LPIT GPT documentation missing Thanks for the information. I think having a proper and complete documentation independent from the source files is a must. Either way, looks like I'll be able to generate some doxygen documentation myself from the sources.
View full article
在S32k322微控制器中安装HSE固件。 您好,NXP支持团队, 我正在S32K322微控制器上进行网络安全实现,需要利用 HSE(硬件安全引擎)模块进行 AES 网络安全操作和随机数生成 (TRNG)。 请问您能否提供以下信息: 这是一个专门为S32K322 (2 MB Flash)配置的官方 HSE 固件安装示例项目。 S32K322 HSE 固件设置所需的标准链接器脚本 (.ld)、IVT 偏移和内存边界设置。 确认与 S32K322 衍生产品兼容的 HSE-B 固件二进制包的确切版本。 Re: HSE Firmware install in S32k322 microcontroller . 嗨@Ranjith_kumar 我们提供 HSE 演示示例: https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples 它包含项目 S32K344_HSE_FW_INSTALL,可以很容易地移植到其他 S32K3 衍生产品。 但是您可以使用任何项目来安装 HSE 固件。只需按照以下步骤操作即可: - 将 HSE 功能标志编程到 OTP UTEST 内存的 0x1B00_0000 处。这可以通过正常的闪存编程“手动”完成(如前面提到的 S32K344_HSE_FW_INSTALL 所示),或者如果在启动配置字中设置 FW_USAGE_FLAG_PROGRAM 位,则可以通过 SBAF 自动完成。请注意,此自动编程功能仅适用于 SBAF 版本 0.15.0 及更高版本。如果您使用的是非常老旧的设备,可能无法正常工作,需要手动编程。 - 将粉色程序文件写入闪存的某个位置,并在 IVT 的偏移量 0x2C 处添加指向该粉色程序文件的指针。 然后只需重置 MCU(如果是 FULL_MEM 固件则重置 2 次,如果是 AB_SWAP 固件则重置 3 次),就完成了。 从底层来看,它看起来像这样: 这是某个应用程序的 IVT(可以使用多个位置,本例中使用的是数据闪存),它设置了 FW_USAGE_FLAG_PROGRAM,并且包含指向固件映像的指针: 粉色文件被编程为 0x480000: 复位后,UTEST 中会自动编程该功能标志,并安装 HSE 固件(HSE GPR 寄存器中 0x4039_C028 位的第 0 位被设置): 在 S32K344_HSE_FW_INSTALL 中,功能标志由软件编程 - 请参阅 main.c 文件。 该指针被添加到 boot_header.c 文件中的 IVT 中。 粉色文件链接到 S32K344_flash_full_mem.ld 或 S32K344_flash_ab_swap.ld 中的项目。根据所需配置而定。 详细信息请参阅 HSE-B 固件参考手册修订版中的以下资源。2.8: 表17. BCW内容 表119. BCW 位映射 表118. IVT结构 表143. HSE_CONFIG_GPR3 的状态位 (0x4039C028) 如果您有一个标准的RTD项目,该如何在项目中实现它: - 打开 startup_cm7.s文件并添加指向偏移量 0x2C 处粉色文件的指针: - 设置启动配置字中的第 9 位,该字也位于 IVT 的偏移量 0x4 处: 然后转到链接器文件(例如“linker_flash_s32k322.ld”)并以与在项目 S32K344_HSE_FW_INSTALL 中看到的方式相同的方式链接粉色文件。 就这些,只需构建项目,将其加载到MCU并多次RESET设备即可。 如何获取适用于 S32K322 的最新生产版 HSE 固件: 前往 S32K3 标准软件: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D 选择“汽车软件 - S32K3 - HSE 固件” 请在此处搜索适用于 S32K3x2 和 S32K3x4 的 0.2.55.0 版本: 下载 HSE_FW_S32K342_0.2.55.0_D2512.exe – 该版本也涵盖 S32K322。 最后一点——如果您使用 Lauterbach 的 Trace32,您可以使用随附的脚本来安装固件。它使用默认定位方式。 此致, Lukas Re: HSE Firmware install in S32k322 microcontroller . 嗨@lukaszadrapa , 感谢您的支持。按照您的指导,我已成功在我的 S32K322 设备上安装了 HSE 固件。 我现在需要使用新的粉色文件将 HSE 固件更新到新版本,但我遇到了问题。我的代码基于 HSE 固件更新流程 (HSE_SRV_ID_FIRMWARE_UPDATE),该服务返回: HSE_SRV_RSP_VERIFY_FAILED (0x55A5A164) 设置详情: - 设备:S32K322 - 固件版本:FULL_MEM - 当前已安装的 HSE 固件版本:已附上图片 - 新的粉色文件:添加到链接器文件中 - 更新模式:单次更新 - 新粉色图像的位置:0x00400000 请问是否有更新HSE固件的示例代码?能否指导一下? #define HSE_SRV_RSP_VERIFY_FAILED ((hseSrvResponse_t)0x55A5A164UL)
View full article
カラー/旧型スクリーン(IVI-SHELL搭載) IMX8QXP - スカースギャップ - L 6.6.52-weston 12-ivishell 更新された画面の前に、カラー/古い画面が表示されます。回避方法/解消方法/削除方法。 weston.ini [コア] #gbm-format=argb8888 アイドルタイム=0 shell=ivi-shell.so # use-g2d=1 ウィンドウの再描画=16 # pageflip-timeout=0 背景色=0x00000000 [libinput] touchscreen_calibrator=true [出力] 名前=LVDS-1 モード=1280x720@60 [アイヴィシェル] ivi-shell-user-interface=weston-ivi-shell-user-interface ivi-input-module=ivi-input-controller.so ivi-id-agent-module=ivi-id-agent.so input-method=ivi-input-controller(入力-コントローラ) ベースレイヤーID=1000 ベースレイヤーIDオフセット=10000 workspace-background-layer-id=2000 workspace-layer-id=3000 application-layer-id=4000 遷移期間=0 [デスクトップアプリデフォルト] デフォルトサーフェスID=2000000 デフォルトサーフェスID最大値=2001000 i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Re: Coloured/Old Screen with IVI-SHELL こんにちは、 提案された方法を試してみましたが、状況は変わりませんでした。カラー画面(旧式の画面)がまだ表示されています。 他に何か提案や設定が必要なことはありますか? ありがとうございます。 VKS Re: Coloured/Old Screen with IVI-SHELL こんにちは、 背景色を0x00000000に変更し、gbm-formatのコメントを解除してみてください。 また、WestonのsystemdサービスにPre-startステップを追加して、Westonが初期化する前にディスプレイを消去することもできます: echo 1 > /sys/class/graphics/fbx/blank よろしくお願いいたします。 Re: Coloured/Old Screen with IVI-SHELL こんにちは、 最新情報のご提供ありがとうございます。 この問題は以前のweston-imx-10.0.1で報告されており、このパッチで解決済みです。 diff --git a/libweston/renderer-g2d/g2d-renderer.c b/libweston/renderer-g2d/g2d-renderer.c index 245a50de..d9df8b4e 100644 --- a/libweston/renderer-g2d/g2d-renderer.c +++ b/libweston/renderer-g2d/g2d-renderer.c @@ -2199,6 +2199,7 @@ drm_create_g2d_image(struct g2d_surfaceEx* g2dSurface, buffer->buf_vaddr = vaddr; buffer->buf_size = size; g2dSurface->base.planes[0] = buffer->buf_paddr; + memset(buffer->buf_vaddr, 0x00, size); g2dSurface->base.left = 0; g2dSurface->base.top = 0; g2dSurface->base.right = w; バッファを入手したときにmemsetを追加すれば、Weston開始時にバッファをクリアできます。 最新のweston-imx-15.0.1では、この点が変更され、ポートが必要になります。 社内チームはgl-rendererで問題が発生していないと確認したので、gl-rendererを使って問題を回避できるかどうか確認してもらえますか?(# use-g2d=1)。 また、動作をよりよく理解するために、画面に何が表示されているかを共有していただけると助かります。 よろしくお願いいたします。 Re: Coloured/Old Screen with IVI-SHELL こんにちは、 画像はこちらです。 はい、 use-g2d=1を使用することでカラー画面は回避できました。しかし、フレーム落ちが発生し、動画も再生されませんでした。 それともう一つ、もし私が使ったらuse-g2d=1、これはソフトウェアアクセラレーション用ですよね?でもフレームロスを避けるためにハードウェアアクセラレーションが必要です。確認してください。 ありがとうございます。 VKS
View full article
i.MX 8M Plusカスタムボード:U-Boot 2024でumsおよびfastbootコマンドが「USB初期化失敗:-22」で失敗する i.MX 8M Plusをベースにしたカスタムハードウェアプラットフォーム(U-Boot v2024.04(Yocto経由で構築)でUSBペリフェラル機能(UMSやfastboot)を起動する際に問題が発生しています。 eMMCをマスストレージとしてエクスポートしたりfastbootを呼び出しようとすると、コントローラーが初期化に失敗し、無効な引数エラー(-22)を出します:   u-boot=> ums 0 mmc 2 UMS: LUN 0、開発 MMC 2、hwpart 0、セクター 0x0、カウント 0x3a3e000 USBコントローラを起動できませんでした。 u-boot=> fastboot 0 USB初期化失敗: -22 環境とセットアップのコンテキスト: U-Boot バージョン: 2024.04 (PV="2024.04"BitBake環境チェックで確認済み。 ハードウェア:カスタム基板。8M Plus EVK i.MX 参照モデルとは異なり、この設計には標準的なType-Cポートコントローラ(TCPC)チップがI2Cバスに搭載されていません。 現在のソフトウェア調整: 現在、board/freescale/imx8mp_evk/imx8mp_evk.c内のエラーを回避するためのパッチを含んでいますそのため、TCPC機能がI2Cデバイスを特定できなくても、ブートローダーは初期化を完全に中止しません。 問題: ブート中止を回避した場合でも、USBスタックは初期化コマンドをエラーコード-22(EINVAL)で拒否します。 この失敗が、欠損したTCPC状態が動的役割割り当てをどのように処理するかに直接関係しているのか、あるいはカスタム i.MX 8M Plusレイアウト上のUSBペリフェラル動作に必要な根本的なドライバーモデルやデバイスツリーフレームワークの設定ミスマッチが、参照EVKデザインから逸脱した場合に必要かどうかを確認したいと考えています。 質問: U-Boot 2024.04の下で i.MX 8M Plusプラットフォーム上でfastbootやumsを呼び出す際に-22(EINVAL)エラーが起こる一般的な構造的または構成原因は何ですか? リファレンスEVKのType-Cセットアップを使わないカスタムボードは、ボードファイルやデバイスツリーのプロパティを正しく設定して、スタンドアロンのUSBデバイスやペリフェラル機能を安全に有効化させるにはどうすればよいのでしょうか? 何かご意見やデバッグのヒントがあれば幸いです。
View full article
Which Denver mobile app development company offers end-to-end services? If you're looking for a mobile app development company in Denver that offers end-to-end services, JPLoft is worth considering. With 16+ years of experience and 1,250+ projects delivered, JPLoft provides complete mobile app development solutions, including UI/UX design, iOS and Android development, AI integration, testing, deployment, and post-launch support. The company helps startups and enterprises build scalable, user-friendly mobile apps tailored to their business needs.  
View full article
LPIT GPTドキュメントが欠落しています LPit_Gpt IPドライバーモジュールのLPIT GPT機能を使いたいと思っています。 S32K118のサンプルでは、「 Lpit_Gpt_Ip_Init 」、「 Lpit_Gpt_Ip_InitChannel 」、「 Lpit_Gpt_Ip_StartTimer 」など、このモジュールに関するさまざまな関数が示されています。 しかし、対応するユーザーマニュアルや統合マニュアルを確認すると、これらの機能が記載されていません。 適切なドキュメントはどこで見つけられますか? RTDバージョンは3.0.0です。QLP06。 Re: LPIT GPT documentation missing こんにちは、 @daniel_meier さん。 ユーザーマニュアルとインテグレーションマニュアルは主にAUTOSARの高レベルドライバー機能(したがって下位機能を使用します)について説明しています。IPの下位APIについてさらに情報が必要な場合は、LPit_Gpt_Ip.hを参照してくださいヘッダー。 例えば、 Lpit_Gpt_Ip_Initの場合: /** * @brief Function Name : Lpit_Gpt_Ip_Init * @details Driver initialization function for LPit instance. * * * @param[in] instance LPIT hw instance number * @param[in] config Pointer to a selected configuration structure * @return void * @pre The data structure including the configuration set required for initializing the driver * */ void Lpit_Gpt_Ip_Init(uint8 instance, const Lpit_Gpt_Ip_InstanceConfigType *config); よろしくお願いします、 ジュリアン Re: LPIT GPT documentation missing 情報をありがとうございます。 ソースファイルとは独立した、きちんとした完全なドキュメントを持つことは必須だと思います。 いずれにせよ、自分でソースからdoxygen ドキュメントを作成できるようです。
View full article
NXP Kinetis KM35 メーター ライブラリ 私はKinetis KM35シリーズを使ったメーターアプリケーションを開発しており、低消費電力メーターライブラリの理解に少し苦労しています。私は「Low-Power Real-Time Algorithm for メーター Applications」AN13259アプリケーションノートを使っています。 このライブラリを統合しようとしたところ、デジタルフィルタ版とFFTベース版の複数のバージョンに加えて、このライブラリ自体にも多くのバージョンが存在することがわかりました。SDKの例(MCUExpresso経由でインポート)には、私が見つけられないバージョンのライブラリが含まれているようです。 私の質問は以下の通りです。 使用するライブラリのバージョンを判断する最良の方法は何ですか? LPRTメーターライブラリに関する最新の情報を見つける最良の方法は何でしょうか? 最新かつ最新のアプリケーションノート(AN13259)をもとに作業していますか? Kinetis Mシリーズ・マイクロコントローラ
View full article
Coloured/Old Screen with IVI-SHELL IMX8QXP - Scarthgap  - L 6.6.52-weston 12-ivishell There is coloured/old screen is coming before updated screen. How to avoid/cleared/remove  it. weston.ini [core] #gbm-format=argb8888 idle-time=0 shell=ivi-shell.so # use-g2d=1 repaint-window=16 # pageflip-timeout=0 background-color=0x00000000 [libinput] touchscreen_calibrator=true [output] name=LVDS-1 mode=1280x720@60 [ivi-shell] ivi-shell-user-interface=weston-ivi-shell-user-interface ivi-input-module=ivi-input-controller.so ivi-id-agent-module=ivi-id-agent.so input-method=ivi-input-controller base-layer-id=1000 base-layer-id-offset=10000 workspace-background-layer-id=2000 workspace-layer-id=3000 application-layer-id=4000 transition-duration=0 [desktop-app-default] default-surface-id=2000000 default-surface-id-max=2001000 i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus Re: Coloured/Old Screen with IVI-SHELL Hi, I tried the suggested one still same. The coloured/old screen still appearing. Is there any other suggestion or configuration required ? Thanks & regards, VKS Re: Coloured/Old Screen with IVI-SHELL Hello, Please try to change background color to 0x00000000 and uncomment gbm-format. You also can try to add a pre-start step to the Weston systemd service to clear the display before Weston initializes:  echo 1 > /sys/class/graphics/fbx/blank Best regards. Re: Coloured/Old Screen with IVI-SHELL Hello, Thank you for the update. This issue was reported before in a previous weston-imx-10.0.1 and solved with this patch: diff --git a/libweston/renderer-g2d/g2d-renderer.c b/libweston/renderer-g2d/g2d-renderer.c index 245a50de..d9df8b4e 100644 --- a/libweston/renderer-g2d/g2d-renderer.c +++ b/libweston/renderer-g2d/g2d-renderer.c @@ -2199,6 +2199,7 @@ drm_create_g2d_image(struct g2d_surfaceEx* g2dSurface, buffer->buf_vaddr = vaddr; buffer->buf_size = size; g2dSurface->base.planes[0] = buffer->buf_paddr; + memset(buffer->buf_vaddr, 0x00, size); g2dSurface->base.left = 0; g2dSurface->base.top = 0; g2dSurface->base.right = w; Add a memset when get the buffer, it can clear the buffer when weston start. In last weston-imx-15.0.1, this changes and a port is needed. Internal team confirmed that gl-renderer is not presenting the issue so, could you please help check if using gl-renderer helps you avoid the issue? (# use-g2d=1). Also, please share what you are seeing in your screen to understand better the behavior. Best regards. Re: Coloured/Old Screen with IVI-SHELL Hi, please find the images, Yes by using use-g2d=1 avoided coloured screen. But I seen the frame loss as well as no video is playing. And one more thing if I used use-g2d=1 , this is for software acceleration right ? . But we need hardware acceleration to avoid the frame loss. Please check and confirm. Thanks & regards, VKS
View full article
HSE Firmware install in S32k322 microcontroller . Hi NXP Support Team, I am working on a security implementation on the S32K322 microcontroller and need to utilize the HSE (Hardware Security Engine) module for AES security operations and random number generation (TRNG). Could you please provide: An official HSE firmware installation example project configured specifically for the S32K322 (2 MB Flash). The standard Linker Script (.ld), IVT offset, and memory boundary settings required for S32K322 HSE firmware setup. Confirmation on the exact HSE-B firmware binary package version compatible with the S32K322 derivative. Re: HSE Firmware install in S32k322 microcontroller . Hi @Ranjith_kumar  We provide HSE DemoExamples: https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples It contains project S32K344_HSE_FW_INSTALL which can be quite easily ported to other S32K3 derivatives. But you can use any project to install HSE firmware. It’s just necessary to do following steps: - program HSE feature flag in OTP UTEST memory at 0x1B00_0000. This can be done either “manually” by normal flash programming (this is shown in mentioned S32K344_HSE_FW_INSTALL) or this can be done automatically by SBAF if you set FW_USAGE_FLAG_PROGRAM bit in boot configuration word. Notice that this automatic programming feature is available only on SBAF version 0.15.0 and higher. If you have some very old device, it may not work and manual programming will be required. - program pink file somewhere to flash memory and add pointer to the pink file to IVT at offset 0x2C.   Then just reset the MCU (2x in case of FULL_MEM firmware, 3x in case of AB_SWAP firmware) and that’s it. At low level, it looks like this: This is IVT of some application (several locations can be used, data flash is used in this case) which has FW_USAGE_FLAG_PROGRAM set and which contains pointer to FW image: The pink file is programmed to 0x480000: After the resets, the feature flag is automatically programmed in the UTEST and HSE firmware is installed (bit 0 in HSE GPR register at 0x4039_C028 is set): In the S32K344_HSE_FW_INSTALL, the feature flag is programmed by the software – see main.c file. The pointer is added to IVT in file boot_header.c. And pink file is linked to the project in S32K344_flash_full_mem.ld or in S32K344_flash_ab_swap.ld, depending on required configuration. For details, see following resources in HSE-B firmware reference manual rev. 2.8: Table 17. BCW content Table 119. BCW bit mapping Table 118. IVT structure Table 143. Status Bits on HSE_CONFIG_GPR3 (0x4039C028) How to implement it in your project if you have standard RTD project: - open startup_cm7.s file and add pointer to pink file at offset 0x2C: - set bit 9 in Boot Configuration Word which is also in IVT at offset 0x4: - and then go to the linker file (like “linker_flash_s32k322.ld”) and link the pink file in the same way as you can see in project S32K344_HSE_FW_INSTALL. That’s all, just build the project, load it to MCU and reset the device several times. How to get latest production version of HSE firmware for S32K322: Go to S32K3 Standard Software: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D Select “Automotive SW - S32K3 - HSE Firmware” Here search for 0.2.55.0 for S32K3x2 and S32K3x4: Download HSE_FW_S32K342_0.2.55.0_D2512.exe – this one covers also S32K322. And the last thing - if you use Trace32 from Lauterbach, you can use attached script to install the firmware. It uses default location method.  Regards, Lukas Re: HSE Firmware install in S32k322 microcontroller . Hi @lukaszadrapa, Thank you for your support. Following your guidance, I was able to install the HSE firmware successfully on my S32K322 device. I now need to update the HSE firmware to a newer version using a new pink file, and I'm running into a problem. I based my code on the HSE firmware update flow (HSE_SRV_ID_FIRMWARE_UPDATE), and the service returns: HSE_SRV_RSP_VERIFY_FAILED (0x55A5A164) Setup details: - Device:S32K322 - Firmware variant: FULL_MEM  - Currently installed HSE FW version: Attached the image - New pink file: Add into linker file - Update mode: ONE_SHOT  - Location of the new pink image: 0x00400000 Is there any example code to update the HSE firmware can you give me the guidence. #define HSE_SRV_RSP_VERIFY_FAILED ((hseSrvResponse_t)0x55A5A164UL)
View full article
LPIT GPT 文档缺失 我想使用 LPit_Gpt IP 驱动模块的 LPIT GPT 功能。 S32K118 示例展示了与此模块相关的各种功能,例如“ Lpit_Gpt_Ip_Init ”、“ Lpit_Gpt_Ip_InitChannel ”或“ Lpit_Gpt_Ip_StartTimer ”。 但是,在查阅相应的用户手册或集成手册时,并未列出这些功能。 哪里可以找到相关文件? RTD 版本为 3.0.0QLP06。 Re: LPIT GPT documentation missing 你好@daniel_meier , 用户和集成手册主要描述了 AUTOSAR 高级驱动程序功能(因此,这些功能会使用低级功能)。如果您需要有关 IP 底层 API 的更多信息,可以参考LPit_Gpt_Ip.h文件。标题。 例如,对于Lpit_Gpt_Ip_Init : /** * @brief Function Name : Lpit_Gpt_Ip_Init * @details Driver initialization function for LPit instance. * * * @param[in] instance LPIT hw instance number * @param[in] config Pointer to a selected configuration structure * @return void * @pre The data structure including the configuration set required for initializing the driver * */ void Lpit_Gpt_Ip_Init(uint8 instance, const Lpit_Gpt_Ip_InstanceConfigType *config); 此致, 朱利安 Re: LPIT GPT documentation missing 感谢你提供的信息。 我认为拥有独立于源文件的完整且规范的文档是必不可少的。 无论如何,看来我可以根据源代码自己生成一些 Doxygen 文档。
View full article
i.MX RT1064 定制板 – SGTL5000 编解码器通过 I2C 无响应 您好, 我设计了一款采用MIMXRT1064处理器和SGTL5000音频编解码器的定制 PCB。 对于 SGTL5000 电路,我遵循了标准/参考 SGTL5000 原理图。 RT1064 和 SGTL5000 之间的连接方式如下: LPI2C1_SCL → GPIO_AD_B1_00 LPI2C1_SDA → GPIO_AD_B1_01 SAI1_MCLK → GPIO_AD_B1_09 SAI1_RXD → GPIO_AD_B1_12 SAI1_TXD → GPIO_AD_B1_13 SAI1_RX_BCLK → GPIO_AD_B1_11 SAI1_RX_LRCLK → GPIO_AD_B1_10 我也附上了原理图的相关部分。 我的主要问题是,在刷写固件后,我没有收到来自 SGTL5000 的任何 I2C ACK 。 我测量了以下电压: SCL ≈ 3.3 V SDA ≈ 3.3 V MCLK 约为1.6 V 为了进行调试,我编写了一个函数,该函数暂时将 I2C 引脚更改为 GPIO,生成 9 个时钟脉冲,执行位操作 I2C 地址扫描,然后将引脚恢复为 LPI2C1。 static void i2c_hw_debug(void) { gpio_pin_config_t 输入 = { kGPIO_数字输入, 0, kGPIO_NoIntmode }; IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_00_GPIO1_IO16, 0U); IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_01_GPIO1_IO17, 0U); IOMUXC_SetPinConfig( IOMUXC_GPIO_AD_B1_00_GPIO1_IO16, 0x00B0U); IOMUXC_SetPinConfig( IOMUXC_GPIO_AD_B1_01_GPIO1_IO17, 0x00B0U); gpio_pin_config_t out_init = { kGPIO_数字输出, 1、 kGPIO_NoIntmode }; GPIO_PinInit(GPIO1, 16, &out_init); GPIO_PinInit(GPIO1, 17, &in); for (int i = 0; i < 9; i++) { GPIO_PinWrite(GPIO1, 16, 0U); SDK_DelayAtLeastUs(10U, SystemCoreClock); GPIO_PinWrite(GPIO1, 16, 1U); SDK_DelayAtLeastUs(10U, SystemCoreClock); } PRINTF("正在扫描 I2C 地址...\r\n"); for (uint8_t addr = 0x03; addr <= 0x77; addr++) { 如果 (bb_probe(16, 17, addr)) { PRINTF("在 0x%02X 处找到 ACK\r\n", addr); } } IOMUXC_SetPinMux( IOMUXC_GPIO_AD_B1_00_LPI2C1_SCL, 1U); IOMUXC_SetPinMux( IOMUXC_GPIO_AD_B1_01_LPI2C1_SDA, 1U); } 如何使用 MIMXRT1064 初始化 SGTL5000 编解码器?为什么即使所有硬件连接和配置看起来都正确,我也没有收到来自编解码器的 ACK? 谢谢。 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C 嗨@Anushka_SS , 我建议您以evkmimxrt1064_sai示例代码为基础来开发您的应用程序。该代码示例展示了 RT1064 和 WM8960 编解码器的集成。也就是说,我们也提供了fsl_sgtl5000.c/.h驱动程序文件,可以将其作为元器件导入到项目中,只需取消定义CODEC_WM8960_ENABLE并改为定义CODEC_SGTL5000_ENABLE即可启用该驱动程序。SGTL5000 驱动程序文件包含正确初始化和使用此编解码器所需的例程。 如果这有帮助,或者您还需要任何进一步的帮助,请告诉我。 BR, 埃德温。 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C 谢谢。我已经完成了这项工作:使用 SDK 的 fsl_sgtl5000 驱动程序和 CODEC_SGTL5000_ENABLE 创建了一个新项目。问题发生在驱动程序初始化之前:SGTL5000 NAK 其地址(0x0A 和 0x2A,LPI2C 状态 902)。运行时验证:音频 PLL = 786.432 MHz,SAI1 MCLK = 12.288 MHz(从 CCM 寄存器读取),LPI2C 时钟 = 10 MHz。我使用 GPIO_AD_B1_00/01 作为 LPI2C1,使用 GPIO_AD_B1_09 作为 MCLK。SGTL5000 模块通过跳线连接到我的定制 RT1064 板。您能否建议一下硬件方面还有哪些需要检查的地方(焊盘设置、MCLK 信号完整性、RT1064 特有的问题等等)? Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C 我的定制板上同时安装了RT1064和SGTL5000编解码器。我分别测试了每个芯片:用 Teensy 4.1 测试了 SGTL5000,用外部 PJRC SGTL5000 音频扩展板测试了 RT1064。这两个芯片单独使用都没问题,但是当我把它们的引脚焊接在一起时,就无法正常工作,并出现以下输出: === SGTL5000 启动测试 === I2C扫描(Teensy风格)…… 扫描完成:0 个设备 音频锁相环 = 786432000 Hz SAI1 mux=2 prediv=3 div=15 -> MCLK = 12288000 Hz (预期 12288000) LPI2C 时钟频率 = 10000000 Hz(预期值为 10000000) -- 尝试 1 -- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A:状态=902 id=0x 0 0 -- 尝试 2 -- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A:状态=902 id=0x 0 0 -- 尝试 3 -- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A:状态=902 id=0x 0 0 SGTL5000 无应答。停止。 我测量的电压值是: SCL:3.2V SDA:3.2 伏 MCLK:1.5–1.6V
View full article
NXP Kinetis KM35 计量库 我正在使用 Kinetis KM35 系列开发一个计量应用程序,但我对低功耗计量库的理解遇到了一些困难。我一直在使用应用笔记 AN13259《用于计量应用的低功耗实时算法》。 在尝试集成这个库的过程中,我发现除了数字滤波器和基于 FFT 的版本之外,这个库实际上还有许多版本。SDK 中的示例(通过 MCUExpresso 导入)似乎包含我根本找不到的这些库的版本。 我的问题是: 确定使用哪个版本的库的最佳方法是什么? 如何才能找到有关 LPRT 计量库的最新信息? 我使用的是最新版的应用笔记(AN13259)吗? Kinetis M系列MCU
View full article
i.MX RT1064カスタムボード – SGTL5000コーデックがI2Cで応答しない こんにちは、 MIMXRT1064プロセッサとSGTL5000オーディオコーデックを使ってカスタムPCBを設計しました。 SGTL5000回路については、標準/リファレンスSGTL5000回路図に従いました。 RT1064とSGTL5000間の接続は以下の通りです。 LPI2C1_SCL → GPIO_AD_B1_00 LPI2C1_SDA → GPIO_AD_B1_01 SAI1_MCLK → GPIO_AD_B1_09 SAI1_RXD → GPIO_AD_B1_12 SAI1_TXD → GPIO_AD_B1_13 SAI1_RX_BCLK → GPIO_AD_B1_11 SAI1_RX_LRCLK → GPIO_AD_B1_10 回路図の関連部分も添付しました。 私の主な問題は、ファームウェアをフラッシュした後、 SGTL5000からI2C ACKを受信しないことです。 私は以下の電圧を測定しました。 SCL = 約3.3V SDA = 約3.3V MCLK = 約1.6V デバッグのために、I2Cピンを一時的にGPIOに変更し、9つのクロックパルスを生成し、ビットバンギングによるI2Cアドレススキャンを実行し、その後ピンをLPI2C1に戻す関数を作成しました。 static void i2c_hw_debug(void) ヤージュ gpio_pin_config_t in = ヤージュ kGPIO_デジタル入力、 0、 kGPIO_NoIntmode }; IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_00_GPIO1_IO16, 0U); IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_01_GPIO1_IO17, 0U); IOMUXC_SetPinConfig( IOMUXC_GPIO_AD_B1_00_GPIO1_IO16、 0x00B0U); IOMUXC_SetPinConfig( IOMUXC_GPIO_AD_B1_01_GPIO1_IO17、 0x00B0U); gpio_pin_config_t out_init = ヤージュ kGPIO_デジタル出力、 1、 kGPIO_NoIntmode }; GPIO_PinInit(GPIO1, 16, &out_init); GPIO_PinInit(GPIO1, 17, &in); for (int i = 0; i < 9; i++) ヤージュ GPIO_PinWrite(GPIO1, 16, 0U); SDK_DelayAtLeastUs(10U, SystemCoreClock); GPIO_PinWrite(GPIO1, 16, 1U); SDK_DelayAtLeastUs(10U, SystemCoreClock); } PRINTF("I2Cアドレスをスキャンしています...\r\n"); for (uint8_t addr = 0x03; addr <= 0x77; addr++) ヤージュ if (bb_probe(16, 17, addr)) ヤージュ PRINTF("ACKが0x%02Xで見つかりました\r\n", addr); } } IOMUXC_SetPinMux( IOMUXC_GPIO_AD_B1_00_LPI2C1_SCL、 1U); IOMUXC_SetPinMux( IOMUXC_GPIO_AD_B1_01_LPI2C1_SDA、 1U); } MIMXRT1064でSGTL5000コーデックを初期化するにはどうすればよいのでしょうか?また、ハードウェアの接続や設定がすべて正しいのに、なぜコーデックからACKが来ないのでしょうか? ありがとうございます。 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C こんにちは、 @Anushka_SS さん、 むしろ evkmimxrt1064_sai例コードをベースにアプリケーションを作成することをお勧めします。このコードはRT1064とWM8960コーデックの統合を体現しています。とはいえ、 fsl_sgtl5000.c/.h ドライバーファイルも提供しており、プロジェクトにコンポーネントとしてインポートでき、 CODEC_WM8960_ENABLE をアン定義してCODEC_SGTL5000_ENABLE を定義することで使用可能なコーデックを単に変更するだけで有効になります。SGTL5000ドライバファイルには、このコーデックを正しく初期化し使用するための必要なルーチンが含まれています。 これがお役に立てば幸いです。また、他に何かご不明な点がありましたらお知らせください。 BR、 エドウィン。 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C ありがとう。すでにこれをやっています:SDKsのfsl_sgtl5000ドライバを使った新しいプロジェクトをCODEC_SGTL5000_ENABLE。問題はドライバが初期化する前に発生します:SGTL5000 NAKはアドレス(0x0Aおよび0x2A、LPI2Cステータス902)を割り当てます。実行時に検証された結果:オーディオ PLL = 786.432 MHz、SAI1 MCLK = 12.288 MHz(CCMレジスタから読み戻し)、LPI2Cクロック = 10 MHz。私はLPI2C1にGPIO_AD_B1_00/01を、MCLKにGPIO_AD_B1_09を使用しています。SGTL5000モジュールはジャンパーワイヤーでカスタムRT1064ボードに接続しています。ハードウェア面で他にチェックすべきこと(パッド設定、MCLK信号強度、RT1064特有の点など)を教えてもらえますか? Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C カスタムボードにはRT1064とSGTL5000コーデックの両方を入れています。各チップを個別にテストしました。SGTL5000はTeensy 4.1搭載、RT1064は外部PJRC SGTL5000オーディオシールド搭載です。どちらも単体では問題なく動作しますが、ピンをはんだ付けして接続すると動作せず、次のような出力が出ます: === SGTL5000 育て上げテスト === I2Cスキャン(Teensyスタイル)... スキャン完了:0台のデバイス オーディオPLL = 786432000 Hz SAI1 mux=2 prediv=3 div=15 -> MCLK = 12288000 Hz(12288000 を期待) LPI2Cクロック=10000000Hz(100000000を期待) ――やってみて1―― CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A: status=902 id=0x 0 0 -- 2を試して-- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A: status=902 id=0x 0 0 -- 3回試して -- CHIP_ID @0x A: status=902 id=0x 0 0 CHIP_ID @0x2A: status=902 id=0x 0 0 SGTL5000出ない。停止。 私が測定している電圧は以下のとおりです。 SCL: 3.2V SDA: 3.2V MCLK: 1.5~1.6V
View full article
LPCXpresso54S018M EVBのRTCは消費電力が非常に大きい。 私が使用しているのはLPCXpresso54S018M EVBです。LPC54018に内蔵されているRTCは、主電源が切断された後も動作する必要があります。ファームウェア内でRTCを初期化し、有効化しました。VBATTライン(J10:11)には、CR2032というコイン型電池で電源を供給しました。主電源が供給されている間は、VBATTラインの消費電力は0です。問題ありません。しかし、主電源を取り外すと、VBATTラインの消費電流が約41μAまで増加します。データシートによると、消費電流は1μA未満であるはずです。なぜ?電流消費電力を1μA以下にするにはどうすればよいですか? LPC54xxx Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. データシートでこの要件について読みました(VBAT>VDDの場合、高VBATリークを防ぐために外部リセットピンはフローティング状態にする必要があります)。 でも、どうすればそれが実現できるのか分かりません。 私はEVBの回路図について話しているわけではありません。EVB - プロトタイプ作成専用。しかし、動作中の機器の回路では、MCU RESETNが外部WDTチップ(TPS3823-33DBVR)のRST出力に直接接続されます。 おすすめはありますか:接続MCUの修正方法。リセット<->WDT。RST接続の回路図はVBATの電流消費が1μAを超えないようにしていますか? WDT <-> MCUの回路図を添付します。私のデバイスにおけるRESETN相互接続: この図では、「Reset」と名付けられた配線がLPC54005JBD100のRESETNピンに接続されています。 Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. こんにちは、 @jcxzさん 約41μAは、RTCの消費電流ではなく、RESETN回路からのリーク電流である可能性が最も高い。主電源が切断されたとき、VBAT > VDD となります。VBAT > VDD の場合、高 VBAT リークを防ぐために外部リセットピンはフローティング状態にする必要があります。 LPCXpresso54S018M-EVKはRESETNをプッシュボタン/デバッグ回路に接続するため、未改造のEVKはその測定条件を満たしません。 電流を減らすには: MCUのRESETNピンをEVKリセットネットワークから分離してください。 BR ハリー Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. こんにちは、 @jcxzさん ここでいう「フローティング」とは、バッテリーのみでの動作時(VBATが存在し、VDDが除去されている状態)には、RESETNに外部DC経路が存在しないことを意味します。MCUの内部リセットプルアップは無効化する必要はありません。データシートにはすでにその条件が記載されています。 提案された監視回線では、RESETNは電源のないTPS3823出力および外部RCネットワークに接続されたままです。したがって、データシートに記載されているRESETNピンのフローティング状態という条件は満たされていません。これは観測された約41μAの電流に対するもっともらしい説明であるが、正確な漏洩経路はまだ実験的に検証されていない。 データシート条件を満たすために、ウォッチドッグリセット出力とMCU RESETNピンの間に通常開閉のアイソレーションスイッチを挿入することを推奨します。すべての外部リセット部品(プルアップ抵抗、コンデンサ、ウォッチドッグ出力など)はウォッチドッグ側に留め、MCU側には外部プルアップ、プルダウン、コンデンサ、その他の直流接続は含まれてはいけません。 選択したスイッチは、供給電圧が除去された際に低漏れ・高インピーダンス状態を明示的にサポートしている必要があります。 BR ハリー
View full article
Motor control books Pls tell me if this doesn’t fit the sub. I’ll remove it. I am looking for books to understand motor control especially for PMSM motors using FOC. Even better if it has sensorless control methods. Currently I’m referring a book by R. Krishnan but I want something better. Re: Motor control books Hello, I could recommend: DRM148 AN14616 PMSMMCXN10UG AN4642 Internal EMEA6 Motor Control Basics deck NXP Community PMSM & FOC Theory article 1. Start Here: DRM148 Sensorless PMSM Control Design (DRM148) Topics: PMSM mathematical model Clarke Transform Park Transform Current FOC Speed FOC Back-EMF estimation Sensorless rotor position estimation Startup strategy Observer theory https://www.nxp.com/docs/en/reference-manual/DRM148.pdf 2. Learn MCAT (Motor Identification and Tuning) Motor Control Application Tuning (MCAT) Tool for 3-Phase PMSM (AN4642) Topics: Motor parameter identification Current loop tuning Speed loop tuning FOC parameter generation FreeMASTER integration Link: https://www.nxp.com/docs/en/application-note/AN4642.pdf 3. Read the Modern MCX Sensorless Application Note AN14616: Sensorless PMSM Field-Oriented Control (FOC) on MCX E24x Topics: Peripheral implementation PWM synchronization ADC sampling Sensorless observer integration Real firmware structure Link: https://docs.nxp.com/bundle/AN14616 4. Study Complete Working Software MCUXpresso SDK Field-Oriented Control (FOC) of 3-Phase PMSM and BLDC Motors This is one of the best practical documents because it explains how the complete software stack is organized. 5. Reference Design PMSM Sensorless FOC Using MCX A153 Contains: Reference design Software package Documentation Hardware setup Supporting libraries (RTCESL) NXP describes it as a complete PMSM sensorless FOC starting point. Link: PMSM Sensorless FOC Using MCX A153 6. NXP Community Workshop Module 2: PMSM and FOC Theory NXP Community Article Best regards, Peter
View full article