Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
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.
查看全文
在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)
查看全文
カラー/旧型スクリーン(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
查看全文
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デバイスやペリフェラル機能を安全に有効化させるにはどうすればよいのでしょうか? 何かご意見やデバッグのヒントがあれば幸いです。
查看全文
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.  
查看全文
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 ドキュメントを作成できるようです。
查看全文
NXP Kinetis KM35 メーター ライブラリ 私はKinetis KM35シリーズを使ったメーターアプリケーションを開発しており、低消費電力メーターライブラリの理解に少し苦労しています。私は「Low-Power Real-Time Algorithm for メーター Applications」AN13259アプリケーションノートを使っています。 このライブラリを統合しようとしたところ、デジタルフィルタ版とFFTベース版の複数のバージョンに加えて、このライブラリ自体にも多くのバージョンが存在することがわかりました。SDKの例(MCUExpresso経由でインポート)には、私が見つけられないバージョンのライブラリが含まれているようです。 私の質問は以下の通りです。 使用するライブラリのバージョンを判断する最良の方法は何ですか? LPRTメーターライブラリに関する最新の情報を見つける最良の方法は何でしょうか? 最新かつ最新のアプリケーションノート(AN13259)をもとに作業していますか? Kinetis Mシリーズ・マイクロコントローラ Re: NXP Kinetis KM35 Metering Libraries こんにちは、 これで私は目的の場所にたどり着けた。私は低消費電力アルゴリズム自体についての古いアプリケーションノートを見ていて、しかもライブラリ自体の古いバージョンを使っていました。そのメモが関係していたため、ライブラリのインターフェースは大幅に見直され(そして簡素化された!)ようです。 SDK版を使い、コード内のドキュメントに従うのが正しい方法でした。 -o7
查看全文
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
查看全文
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)
查看全文
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 文档。
查看全文
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 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C 更新:MCLK 测试结果 RT1064 板和编解码器板是两个独立的板子,通过跳线连接。我使用来自两个不同来源的 MCLK,并采用相同的 RT1064 I2C 固件对编解码器进行了测试。 测试 1:来自 RT1064 的 MCLK(SAI1_MCLK,GPIO_AD_B1_09,12.288 MHz) 直流万用表测量 MCLK 引脚上的电压,读数约为 1.57 V(电源电压约为 3.1 V)。 慢速位操作 I2C(~1 kHz):编解码器发出 ACK,但 CHIP_ID 读取的是 0xBFFF / 0xA01F 而不是 0xA011。 LPI2C 在 5、10、20、50 和 100 kHz 时:每个速度下均为 NAK(状态 902)。 当 MCLK 焊盘设置较弱 (0x1008) 时,编解码器完全没有响应,MCLK 引脚读数约为 0 V。 不同的MCLK焊盘驱动设置没有区别。 测试 2:来自 Teensy 4 的 MCLK(引脚 23) RT1064 MCLK 跳线已从编解码器板上断开。 Teensy MCLK 连接到编解码器板的 MCLK 焊盘,Teensy GND 连接到编解码器板的 GND。 RT1064 仍然通过跳线驱动 I2C (SCL/SDA)。 RT1064 LPI2C 在 100 kHz 时: CHIP_ID = 0xA011 且 CODEC_Init OK 。 使用直流万用表测量 Teensy MCLK,读数约为 1.7 V(3.3 V 电源)。 目前为止的结论 编解码器板、其电源、I2C 线路和 I2C 固件都正常工作。问题只出在来自 RT1064 板的 MCLK 信号上。在万用表上,直流电平看起来正常,但编解码器表现得好像来自 RT1064 的 12.288 MHz 时钟信号无法使用。 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C 请问您能否帮我理解一下为什么RT1064没有通过MCLK引脚向编解码器提供正确的时钟信号? 这可能是硬件相关的问题,还是更有可能是我的 RT1064 程序中的配置问题,例如 MCLK 时钟源、音频 PLL 配置、时钟分频器、引脚多路复用器配置或 SAI 设置?
查看全文
NXP Kinetis KM35 计量库 我正在使用 Kinetis KM35 系列开发一个计量应用程序,但我对低功耗计量库的理解遇到了一些困难。我一直在使用应用笔记 AN13259《用于计量应用的低功耗实时算法》。 在尝试集成这个库的过程中,我发现除了数字滤波器和基于 FFT 的版本之外,这个库实际上还有许多版本。SDK 中的示例(通过 MCUExpresso 导入)似乎包含我根本找不到的这些库的版本。 我的问题是: 确定使用哪个版本的库的最佳方法是什么? 如何才能找到有关 LPRT 计量库的最新信息? 我使用的是最新版的应用笔记(AN13259)吗? Kinetis M系列MCU Re: NXP Kinetis KM35 Metering Libraries 您好, 这让我达到了我的目标。我当时正在查看一份关于低功耗算法本身的旧应用笔记,而且我使用的还是旧版本的库。自那条说明发布以来,图书馆界面似乎已经进行了重大改版(并简化了!)。 使用 SDK 提供的版本,并遵循代码中的文档说明,才是正确的做法。 -o7
查看全文
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 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C 更新情報:MCLKテスト結果 RT1064ボードとコーデックボードは別々のボードで、ジャンパー線で接続されています。同じRT1064 I2Cファームウェアで、異なる2つのソースからMCLKを使ってコーデックをテストしました。 テスト1:RT1064(SAI1_MCLK、GPIO_AD_B1_09、12.288 MHz)からのMCLK MCLKピンにDCマルチメーターを接続すると、約1.57V(電源電圧は約3.1V)を示す。 低速ビットバンギングI2C(約1kHz):コーデックはACKを返しますが、CHIP_IDは0xA011ではなく0xBFFF / 0xA01Fを読み取ります。 LPI2C 5、10、20、50、100 kHz: すべての速度で NAK (ステータス 902)。 MCLKパッドの設定が弱い場合(0x1008)、コーデックは全く応答せず、MCLKピンは約0Vになります。 MCLKパッドの駆動設定を変えても、違いはなかった。 テスト2:Teensy 4からのMCLK(ピン23) RT1064のMCLKジャンパー線がコーデックボードから外れました。 Teensy MCLKはコーデックボードのMCLKパッドに接続され、Teensy GNDはコーデックボードのGNDに接続されました。 RT1064はジャンパー線を通じてI2C(SCL/SDA)を駆動しています。 RT1064 LPI2C(100 kHz):CHIP_ID = 0xA011、問題CODEC_Init。 Teensy MCLKにDCマルチメーターを接続すると、約1.7V(電源電圧3.3V)の電圧が表示されます。 これまでの結論 コーデックボード、電源、I2C配線、I2Cファームウェアはすべて動作しています。問題はRT1064ボードからMCLKだけが出ていることです。マルチメーターでは直流レベルは正常に見えますが、コーデックはRT1064から送信される12.288 MHzのクロックが使えないかのように振る舞います。 Re: i.MX RT1064 Custom Board – SGTL5000 Codec Not Responding Over I2C なぜRT1064がMCLKピンのコーデックに適切なクロック信号を供給しないのか、教えていただけますか? これはハードウェアの問題でしょうか?それともRT1064プログラムの設定の問題、例えばMCLKクロックソース、オーディオ PLL設定、クロック分圧器、ピンマルチクサ設定、SAI設定などが原因の可能性が高いでしょうか?
查看全文
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 ハリー Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. Harry_Zhangさん、ご協力ありがとうございました! ご提案いただいた内容に基づき、以下の回路を作成しました。 この回路は正しいと思いますか?このRESETN回路を使用した場合、LPC54005の消費電力は1μA未満になりますか(VBATピンからの消費電流)?
查看全文
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
查看全文
运动控制书籍 如果这个帖子不符合版块要求,请告诉我。我会把它删掉。 我正在寻找一些书籍来了解电机控制,特别是使用FOC的永磁同步电机(PMSM)控制。如果它具备无传感器控制方法就更好了。目前我正在参考 R. Krishnan 的一本书,但我想要更好的书。 Re: Motor control books 你好, 我可以推荐: DRM148 AN14616 PMSMMCXN10UG AN4642 EMEA6 内部电机控制基础知识卡组 NXP社区PMSM和FOC理论文章 1. 从这里开始:DRM148 无传感器永磁同步电机控制设计(DRM148) 主题: PMSM数学模型 克拉克变形 公园改造 当前FOC 速度 FOC 反电动势估计 无传感器转子位置估计 创业战略 观察者理论 https://www.nxp.com/docs/en/reference-manual/DRM148.pdf 2. 学习MCAT(运动识别与调谐) 三相永磁同步电机电机控制应用调谐(MCAT)工具(AN4642) 主题: 电机参数识别 电流环路调谐 速度环调谐 FOC参数生成 FreeMASTER 集成 关联: https://www.nxp.com/docs/en/application-note/AN4642.pdf 3. 阅读《现代MCX无传感器应用笔记》 AN14616:MCX E24x上的无传感器永磁同步电机磁场定向控制(FOC) 主题: 外围设备实现 PWM 同步 ADC采样 无传感器观测器集成 实际固件结构 关联: https://docs.nxp.com/bundle/AN14616 4. 研究完整的可运行软件 MCUXpresso SDK 三相永磁同步电机和无刷直流电机的磁场定向控制 (FOC) 这是最实用的文档之一,因为它解释了整个软件栈的组织结构。 5. 参考设计 PMSM 无传感器 FOC 采用 MCX A153 包含: 参考设计 软件包 文档 硬件设置 支持库(RTCESL) NXP 将其描述为完整的 PMSM 无传感器 FOC 起点。 关联: 基于MCX A153的PMSM无传感器FOC 6. NXP社区研讨会 模块 2:永磁同步电机和一阶控制理论 NXP社区文章 顺祝商祺! Peter
查看全文
Huge power consumption on RTC ofLPCXpresso54S018M EVB. I use are LPCXpresso54S018M EVB. I need the RTC in the LPC54018 to work after the main power supply is removed. I initialized and enabled the RTC in my firmware. I powered the VBATT line (J10:11) with a coin cell battery CR2032. While the main power is present, the VBATT line consumption is == 0. It's Ok. However, after removing the main power supply, the VBATT line consumption increases up to ~41 uA! According to the datasheet, consumption should be less than 1 uA. Why? How can I achieve current consumption of 1 µA or less? LPC54xxx Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. Hi @jcxz  The ~41 µA is most likely leakage through the RESETN circuitry , not RTC consumption. When main power is removed, VBAT > VDD; If VBAT> VDD, the external reset pin must be floating to prevent high VBAT leakage. The LPCXpresso54S018M-EVK connects RESETN to its pushbutton/debug circuitry, so the unmodified EVK does not satisfy that measurement condition. To reduce the current: Isolate the MCU’s RESETN pin from the EVK reset network. BR Harry Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. I read about this requirement in the datasheet (If VBAT> VDD, the external reset pin must be floating to prevent high VBAT leakage). But I don't understand how to achieve this? I'm not talking about a EVB schematic. EVB - only for prototyping. But in our working device's circuit, MCU RESETN will be connected direct to the RST output of the external WDT-chip (TPS3823-33DBVR). Can you recommend: How to correct the connection MCU.RESETN <-> WDT.RST connection's schematic so, that the VBAT current consumption does not exceed 1 µA? I am attaching a schematic of the WDT <-> MCU.RESETN interconnection in my device: In this picture, the wire named "Reset" is connected to the RESETN pin of the LPC54005JBD100. Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. Hi @jcxz  "Floating" here means that RESETN should have no external DC path during battery-only operation (VBAT present, VDD removed). The MCU's internal reset pull-up does not need to be disabled; the datasheet already accounts for that condition. In the proposed watchdog circuit, RESETN remains connected to the unpowered TPS3823 output as well as the external RC network. Therefore, the datasheet condition of a floating RESETN pin is not met. This is a plausible explanation for the observed ~41 µA current, although the exact leakage path has not yet been experimentally verified. To meet the datasheet condition, we recommend inserting a normally-open isolation switch between the watchdog reset output and the MCU RESETN pin. All external reset components (pull-up resistor, capacitor, watchdog output, etc.) should remain on the watchdog side of the switch, while the MCU side should not contain any external pull-up, pull-down, capacitor, or other DC connection. The selected switch should explicitly support a low-leakage, high-impedance state when its supply voltage is removed. BR Harry Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. Thanks for your help, Harry_Zhang! Following your recommendations, we created the following circuit: Do you think - this circuit is correct? Will the LPC54005's power consumption with this RESETN circuit be less than 1 μA (from VBAT pin)?
查看全文
LPCXpresso54S018M EVB 的 RTC 功耗巨大。 我使用的是 LPCXpresso54S018M EVB。我需要 LPC54018 中的 RTC 在主电源断开后仍然能够工作。我在固件中初始化并启用了实时时钟 (RTC)。我用一枚纽扣电池 CR2032 为 VBATT 线 (J10:11) 供电。主电源正常时,VBATT 线路功耗为 0。没问题。然而,移除主电源后,VBATT 线功耗增加到约 41 uA!根据数据手册,功耗应小于 1 uA。为什么?如何才能实现1µA或更低的电流消耗? LPC54xxx Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. 我在数据手册中读到了这个要求(如果 VBAT> VDD,则外部复位引脚必须悬空,以防止 VBAT 漏电流过高)。 但我不知道该如何实现这一点? 我说的不是EVB原理图。EVB——仅用于原型制作。但在我们的工作设备电路中,MCU RESETN 将直接连接到外部 WDT 芯片 (TPS3823-33DBVR) 的 RST 输出。 请问如何修正MCU.RESETN <-> WDT.RST连接的原理图,才能使VBAT电流消耗不超过1 µA? 我附上设备中 WDT <-> MCU.RESETN 互连的原理图: 在这张图中,名为“Reset”的导线连接到 LPC54005JBD100 的 RESETN 引脚。 Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. 嗨@jcxz ~41 µA 很可能是 RESETN 电路的漏电流,而不是 RTC 的功耗。主电源断开时,VBAT > VDD;如果 VBAT > VDD,则外部复位引脚必须浮空,以防止 VBAT 漏电流过高。 LPCXpresso54S018M-EVK 将 RESETN 连接到其按钮/调试电路,因此未修改的 EVK 不满足该测量条件。 为了降低电流: 将 MCU 的 RESETN 引脚与 EVK 复位网络隔离。 BR 哈里 Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. 嗨@jcxz “浮空”在此表示 RESETN 在仅使用电池供电时(VBAT 存在,VDD 移除)不应有外部直流通路。MCU 的内部 RESET 上拉电阻无需禁用;数据手册已经考虑到了这种情况。 在所提出的看门狗电路中,RESETN 仍然连接到未通电的 TPS3823 输出以及外部 RC 网络。因此,数据手册中关于 RESETN 引脚浮空的条件不满足。对于观察到的 ~41 µA 电流,这是一种合理的解释,尽管确切的泄漏路径尚未通过实验验证。 为了满足数据手册的要求,我们建议在看门狗复位输出和 MCU RESETN 引脚之间插入一个常开隔离开关。所有外部复位元器件(上拉电阻、电容、看门狗输出等)都应保留在开关的看门狗侧,而 MCU 侧不应包含任何外部上拉、下拉、电容或其他直流连接。 所选开关应明确支持在电源电压移除时处于低漏电、高阻抗状态。 BR 哈里 Re: Huge power consumption on RTC ofLPCXpresso54S018M EVB. 谢谢你的帮助, Harry_Zhang ! 根据您的建议,我们设计了以下电路: 你认为这个电路图正确吗?采用此 RESETN 电路后,LPC54005 的功耗(从 VBAT 引脚)是否会小于 1 μA ?
查看全文
Recommendation for NXP i.MX Processor for 1080p RTSP IP Camera Hi everyone, Could anyone suggest the lowest cost NXP i.MX processor that can handle a 1080p RTSP IP camera stream? My requirements are:     1 RTSP IP camera input    2 1080p resolution    3 Around 25–30 FPS    4 Looking for the lowest-cost i.MX processor/board that can handle this reliably The main goal is to receive and process/display a  1080p RTSP camera stream at the lowest possible hardware cost. If anyone has tested a low-cost i.MX processor for a similar use case, please share your recommendation and experience. Thanks! Re: Recommendation for NXP i.MX Processor for 1080p RTSP IP Camera Hello, For a pure receive/display application using an IP Camera, you can consider i.MX8MM since includes a dedicated hardware VPU capable of 1080p60 decode. Best regards.
查看全文
在 macOS 上,RT685 DSP 镜像使用缓存的二进制文件,而不是在 Zephyr sysbuild 中新构建的二进制文件。 平台:MacOS 15.6.1 (24G90) VS Code(版本:1.112.0)(普遍的)) MCUXpresso for VS Code: 26.8.29 Zephyr 工具链:zephyr-sdk-1.0.1,zsdk nxp-v4.4.1.1 应用程序:amp_blinky 已作为zephyr-freestanding导入 开发板:MIMXRT685-EVK 说明: 我正在MacOS上搭建开发环境,同样的步骤在我的Linux机器上运行良好。虽然使用 MCUXpresso进行构建和烧录时没有出现任何严重警告/错误,但应用程序在 Arm 和 DSP 内核上都能正常运行。然后我编辑了 remote/src 和 remote/prj.conf 下的代码,并在全新版本后将其刷入。然而,DSP 核心在编辑之前仍然运行了之前的图像。 以下是一些有趣的行为: 我也尝试修改了 Arm 核心代码,但更改已成功应用。 DSP核心代码的更改可能会触发非初始版本,而不是显示“无需工作”。 禁用 cmake 中的 CCACHE 似乎可以解决问题。 就目前来看,这似乎是一个与缓存相关的问题,编译器在运行 sysbuild 时忽略了 DSP 映像中的更改,并使用了缓存的二进制文件,无论它是否已被重新构建。这可能是由于 nxp_zephyr/zephyr/samples/boards/nxp/adsp/rtxxx/common/src/dspimgs.S 没有更新造成的。另外,这可能只是 macOS 系统的问题,因为我在 Linux 机器上没有发现这个问题。 这是已知问题吗?除了禁用 CCACHE 之外,有没有更优雅的解决方案? 顺祝商祺! 岳 ZEPHYR-OS-EDGE i.MX RT600 Re: RT685 DSP image uses cached binary instead of newly built in Zephyr sysbuild on MacOS 尊敬的@YueZ , 谢谢你的提问。 目前为止,我们这边还没有发现这个问题。 为了帮助找出根本原因,请您检查以下输出是否持续更新? 远程版本过程生成的 DSP BIN。 由 dspimgs.S 生成的对象文件 最终实际编程到设备上的 Arm BIN。 如果 DSP BIN 已更新,但从 dspimgs.S 生成的目标文件尚未更新,则一个可能的原因是构建系统没有更新 DSP BIN 时间戳。因此,依赖项检查可能跳过了重新编译 dspimgs.S。 我们建议将以下内容添加到负责 dspimgs.S 的CMake配置中,以确保 DSP BIN 中的更改触发重新构建: 设置(DSP_BIN_DIR ${CMAKE_BINARY_DIR} /../remote/zephyr) 设置属性(源) ${CMAKE_CURRENT_SOURCE_DIR} /src/dspimgs.S 属性 OBJECT_DEPENDS ${DSP_BIN_DIR} /zephyr_reset.bin ${DSP_BIN_DIR} /zephyr_text.bin ${DSP_BIN_DIR} /zephyr_data.bin ) (请同时确认文件路径是否正确。) 如有任何疑问,请与我们联系。   顺祝商祺! 雪莉 Re: RT685 DSP image uses cached binary instead of newly built in Zephyr sysbuild on MacOS 你好,雪莉, 谢谢你的回复! 我检查了 build/remote/zephy 下的三个 DSP BIN、最终的 Arm BIN 以及 build/amp_blinky/CMakeFiles/app.dir/.../adsp/rtxxx/common/src/ 下的 dspimgs.S.obj 的时间戳,它们都被原始构建或非原始构建更新了。 我还尝试了推荐的 CMake 配置,方法是替换 设置源文件属性( " ${CMAKE_CURRENT_LIST_DIR} /src/dspimgs.S" 对象依赖项 ${HIFI4_BUILD_DIR} /zephyr.elf )   (带   设置(HIFI4_BIN_DEPS) " ${HIFI4_BUILD_DIR} /zephyr.elf" " ${HIFI4_BUILD_DIR} /zephyr.reset.bin" " ${HIFI4_BUILD_DIR} /zephyr.text.bin" " ${HIFI4_BUILD_DIR} /zephyr.data.bin" ) 设置源文件属性( " ${CMAKE_CURRENT_LIST_DIR} /src/dspimgs.S" Properties 对象依赖项 " ${HIFI4_BIN_DEPS} " ) 在 dsp-load.cmake 中,并通过以下方式验证了更改: `ninja -C build/amp_blinky -t query build/.../dspimgs.S.obj`   但遗憾的是,这个问题依然存在。然后我又做了如下测试: 在 remote/src/main.c 中添加 ` printk ( " TESTCCACHE " );` 构建 调用 `strings build/.../dspimgs.S.obj | grep TESTCCACHE` 调用 `strings build/remote/zephyr/zephyr.text.bin build/remote/zephyr/zephyr.data.bin | grep TESTCCACHE` 步骤 3 没有返回任何结果,而步骤 4 找到了字符串。然后,我禁用 CCACHE 后再次运行测试,结果在两次测试中都发现了 TESTCCACHE。看起来,当启用 CCACHE 时,dspimgs.S.obj 的时间戳已更新,但没有加载正确的二进制文件。 欢迎大家就此发表意见。 顺祝商祺! 岳 Re: RT685 DSP image uses cached binary instead of newly built in Zephyr sysbuild on MacOS 尊敬的@YueZ , 请尝试: CCACHE_RECACHE=1?   与 CCACHE_DISABLE 完全绕过 ccache 并执行完全重建而不读取或写入任何缓存条目不同,CCACHE_RECACHE=1 强制重新生成所有输出,并使用新构建的结果更新缓存。 如果使用 CCACHE_RECACHE=1 后问题消失,则表明根本原因可能是缓存内容过旧。如果问题仍然存在,则表明问题与 ccache 本身有关,而不是与特定的缓存条目有关。 顺祝商祺! 雪莉   Re: RT685 DSP image uses cached binary instead of newly built in Zephyr sysbuild on MacOS 你好,雪莉, 是的, CCACHE_RECACHE=1 可以正常工作。 顺便说一下,我通过在 CMakeLists 中将 USE_CCACHE 设置为 0 来禁用 CCACHE。至于 CCACHE_DISABLE,我必须在 West 工作区的终端中显式设置才能使其生效,这对于在 VS Code 中使用 MCUXpresso 来说不太理想。CCACHE_RECACHE 也存在同样的问题,我无法通过将其添加到 CMakeLists 中来使用它。 顺祝商祺! 岳
查看全文