Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
パスワード保護(AUTH0/アクセス)を有効にした後、NTAG213 の書き込み保護を解除できません NXPチームの皆様、こんにちは。 私は、 PN7160 NFC コントローラとNXP Linux nfcDemoAppを使用してNTAG213タグを操作しています。 私が成功したこと: nfcDemoApp (main.c)を変更し、次のように設定して NTAG213 の書き込み専用パスワード保護を有効にしました。 障害者 パック 認証0 アクセス (PROT = 0) 書き込み保護は正常に機能します: モバイルNFCアプリは書き込みができなくなりました アプリケーションからPWD_AUTHを送信した後にのみ書き込みが可能 AUTH0を0xFFにリセットする アクセスをクリア 設定ページを書き直す また、 NXP NFC TagInfo / NFC Toolsアプリを使用して別の NTAG213 の書き込み保護を有効にしましたが、これも期待どおりに機能しました。 私が直面している問題: 現在、どちらのCASEも書き込み保護を解除できません。 独自のコードを使用する(nfcDemoApp) Using NXP NFCツール/タグライターモバイルアプリの使用 正しいパスワード (PWD_AUTH) で認証した後でも、次の試行は失敗します。 私の理解: NTAG213 のデータシートから、次のことを理解しました。 PWD_AUTHはRFセッション中に保護されたページへの書き込みを許可する必要がある 認証後、AUTH0とアクセスを変更できるようになる。 NTAG213には、パスワード保護のための永続的なロックビットはありません(ロックバイトとは異なります)。 しかし、実際には、タグを保護されていない状態に戻すことはできません。 質問: NTAG213 のパスワードベースの書き込み保護を有効にした後で、それを削除または無効にすることは正式にサポートされていますか? PWD_AUTH が成功した後、AUTH0 ページとアクセス ページは書き込み可能になりますか、それとも一度設定されると永続的に保護されますか? NTAG213 を書き込み可能 (保護されていない) 状態に戻すための推奨シーケンスはありますか? NXP NFC ツール / タグライターは NTAG213 のパスワード保護を削除できるか、またはカスタムの raw コマンド処理が必要ですか? 構成ページを変更するには、認証後に完全なリセット (RF セッションのリセット/電源サイクル) が必要ですか? NXP チームからのガイダンスや説明は非常に役立ちます。 再開まで今しばらくお待ちください。 よろしくお願いします、 ニランジャン Re: Unable to remove write protection on NTAG213 after enabling password protection (AUTH0/ACCESS) 私はRFIDDiscoverを使用します。設定ページで設定を変更して保護を解除することができます。
記事全体を表示
无法将 iMX93EVK 中的 lpuart1 更改为 lpuart7 在过去的一个多月里,我一直在尝试将默认控制台从 lpuart1 更改为 lpuart7。我想更改 linux 控制台和 u-boot 控制台,或者至少我想查看日志。这是为了让 iMX93EVk 的 SOC 在新的载体上工作。然而,我却无法做到这一点。这是我尝试使用的补丁。还有我发现的所有我认为可以帮助我的帖子。我错过了什么? i-MX-93-91-使用yocto项目调试控制台重定位 i-MX-Processors/Change-UART-for-imx93-in-uboot-and-kernel i-MX 处理器/imx8ULP 将 u-boot 串行控制台从 UART5 更改为 UART4 非常感谢你们的帮助,谢谢 Linux Re: Cant change lpuart1 to lpuart7 in iMX93EVK 你好 要成功地将调试控制台从 lpuart1 更改为 lpuart7,你需要修改三个关键元器件:U-启动、Arm 可信固件和 Linux 内核配置。 完整解决方案: 1.对于 U-Boot(lf_v2024.04 分支): - 修改设备树文件以更新控制台路径和引脚配置 - 更新板配置以指向 lpuart7 - 使用 imx93_11x11_evk_defconfig 作为配置基础 2. 对于 Arm 可信固件(lf_v2.10 分支): - 更改 ATF 源中的 UART 控制台位置 - 更新 IMX_LPUART_BASE 以指向 lpuart7 的基址 - 在取消设置 LDFLAGS 后使用 "make plat=imx93" 构建 3. 对于 Linux 内核: -将 bootargs 更新为引用 ttylP6(对应于 lpuart7) -更新设备树中的选定部分 该过程需要使用这些修改后的元器件重建 flash.bin 映像。另一位客户需要将 i.MX93 上的 UART1 重新映射到 UART8,也成功解决了类似问题。 此致 Re: Cant change lpuart1 to lpuart7 in iMX93EVK 谢谢,我无法确认该解决方案是否有效。我已经执行了您的所有更改,但发现错误出在硬件本身。一旦定制载体修好了,一切都测试好了,我就可以确认了。 感谢您的回复
記事全体を表示
HSEコンセプト こんにちは、NXPさん M7 と A53 から HSE に並行してアクセスするために、内部で同期が行われますでしょうか?完全に分離されていますか? M7 で SHE 仕様に従って HSE が使用され、A53 で pkcs11 に従って HSE が使用される場合、理論的にはそれらは互いのキーにアクセスできますか (一部の暗号化に同じキーを使用)?SHE でキーをプロビジョニングして、それを他のパーティションで使用することはできますか? s32g274を使用したカスタムボード よろしくお願いいたします。 あんぱ Re: HSE concept こんにちは、 @anpa711 ご投稿ありがとうございます。 1. 通常、M7 部分は 1 つの MU を介して HSE にアクセスしますが、A53 部分は別の MU を介して並行して HSE にアクセスする場合があり、HSE は内部ロジックに基づいてこれらの要件を処理し、ユーザーには透過的です。 2. HSE では、SHE キーは HSE_KEY_TYPE_SHE であり、共通操作は HSE_KEY_TYPE_AES である可能性がありますが、これらは HSE では異なるタイプであり、SHE 操作は SHE サービス経由でのみプロビジョニングできるため、 HSE_KEY_TYPE_SHE タイプのキーをエクスポートすることはできません。 BR チェイン Re: HSE concept こんにちは、 @anpa711 ご返信ありがとうございます。 はい、可能です。 BR チェイン Re: HSE concept こんにちは、 @anpa711 ご返信ありがとうございます。 1. S32G の観点からは、HSE_DEMOAPP に含まれる SHE ベースのセキュア ブート デモのみが提供されています。これは、NXP アカウントの HSE FW ダウンロード ページから入手できます。 2. S32K の部分については、あまり詳しくないので申し訳ありませんが、返信は、この掲示板に返信した同僚によって提供されるはずです: https://community.nxp.com/t5/S32K/bd-p/S32K BR チェイン Re: HSE concept こんにちは、 chenyin_hさん ありがとう、これは良さそうです。 s32K および s32g の MCAL には、SHE 仕様 (EB Autosar スタックと MCAL を使用しています) に従って、または他の形式で、いくつかのキー プロビジョニング デモ/テストが付属していますか? よろしくお願いいたします。 あんぱ Re: HSE concept こんにちは、 chenyin_h さん 回答ありがとうございます。 1. わかりました。同期は必要ないようですね。 2. キーを抽出するつもりはなく、次のUSE CASEを意味しました。SHE 仕様では、AES キーをスロット 8 にプロビジョニングします。このキーが存在する場合、A53 側でこのキーを使用して pkcs11 を使用して復号化/暗号化します。これは可能ですか? よろしくお願いいたします。 あんぱ
記事全体を表示
串行下载器 - 奇怪的问题 我在 RT1052 上遇到了一个奇怪的问题,如果我将启动引脚配置为串行启动。 它无法启动固件,也不会进入串行下载器模式(既不是 UART 或非 USB)。 但当我将 GPIO_B0_15 下拉至 GND 时,串行下载正常工作。 我找不到任何关于这个信号对启动过程的影响的文档。 - 处理器出厂时是全新的 - TXD1/RXD1 有上拉电阻 顺便说一下:烧录 BT_FUSE_SEL 串行下载后可以正常工作 我们已经开发了几个类似的电路,以前从未遇到过这个问题。
記事全体を表示
imx95 verdin-evk mlan/moal サポート こんにちは、リストの皆さん 次のボードの Wi-Fi/Bluetooth をサポートするために、Linux-imx カーネルと mwifiex コンポーネントのタグlf-6.6.3-1.0.0 を使用しています。 8<-- U-Boot SPL 2023.04+gf8a2983ec8+p0 (2024年3月4日 - 07:25:04 +0000) SOC: 0xa1009500 LC: 0x40010 SYS ブート理由: por、発生元: -1、エラー: -1 SYS シャットダウン理由: por、発生元: -1、エラー: -1 DDRMIXがパワーアップしました 通常のブート MMC1から起動しようとしています プライマリセットが選択されました MMC/SD 0xacc00からイメージをロードする お知らせ: BL31: v2.8(リリース):android-14.0.0-imx95-demo-1-g8dbe28631 通知: BL31: 構築日時: 2024年1月22日 17:57:56 U-Boot 2023.04+gf8a2983ec8+p0 (2024年3月4日 - 07:25:04 +0000) CPU: i.MX95 rev1.1(1800MHz) CPU: オートモーティブ温度グレード (-40℃~125℃)、22℃ LM ブート理由: por、origin: -1、errid: -1 LM シャットダウン理由: por、発生元: -1、エラー: -1 モデル: Toradex i.MX95 19X19 TITAN EVK [..] -->8 私はimx95-19x19-titan.dtbを使用していますが、この dtb にノードがなくても Wi-Fi がどのようにサポートされるのか疑問に思っています。この dtb を逆コンパイルすると、Bluetooth 用のノードが 1 つあります (動作していません)。 8<-- [..] シリアル番号@42590000 { 互換性 = "fsl,imx95-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; <0x42590000 0x1000> レジスタ<0x00 0x42 0x04> =; 割り込み<0x11 0x90> =; クロック =; クロック名 = "ipg"; dmas<0x27 0x16 0x00 0x01 0x27 0x15 0x00 0x00> =; dma-names = "rx", "tx"; ステータス = "正常"; pinctrl-names = "デフォルト"; ピンコントロール-0 =<0x2e> �; ファンドル =<0xcf> �; ブルートゥース { 互換性 = "nxp、88w8987-bt"; fw-init-baudrate<0x2dc6c0> =; }; }; [..] -->8 しかし、Wi-Fi のノードがありません。 どうすれば正常に動作するのでしょうか? モジュール mlan と moal をロードすると「正常」になりますが、新しいネットワーク インターフェースがありません。 8<-- root@target-imx95-verdin-evk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf drvdbg=0x7 [ 1451.671079] mlan: ツリー外のモジュールをロードするとカーネルが汚染されます。 [ 1451.705854] wlan: MWLANドライバを読み込んでいます [ 1451.709988] wlan: バス ドライバに登録... [ 1451.714385] wlan: バスドライバへの登録が完了しました [ 1451.718855] wlan: ドライバが正常にロードされました -->8 何か手がかりはありますか? ありがとうございます。よろしくお願いします。 Re: imx95 verdin-evk mlan/moal support こんにちは@ebio 、 ご反応いただきありがとうございます。 toradex (git://git.toradex.com/linux-toradex.git)からカーネルリポジトリを取得します。ブランチtoradex_6.6-2.2.x-imxを選択し、カーネルをビルドします。 imx カーネル リポジトリとは対照的に、「wifi」を含む dtb ファイル名がいくつかあります。 8<-- % arch/arm64/boot/dts/freescale -iname "imx95*wifi*.dtb" を検索 arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-mallow.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-dev.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-ivy.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-ivy.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-dev.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-mallow.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-dahlia.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-yavia.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-dahlia.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-yavia.dtb -->8 ご想像のとおり、Toradexから必要なものを抽出し、NXPカーネルリポジトリ(タグ: lf-6.6.3-1.0.0)のDTBを適応させようとしています。😞 8<-- diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts インデックス ccb88efde3c1..859183be58dc 100644 --- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts @@ -189,6 +189,20 @@ reg_usdhc2_vmmc: レギュレータ-usdhc2 { アクティブハイを有効にする; }; + /* Wi-Fi を追加 */ + reg_wifi_en: レギュレーター Wifi-en { + 互換 = 「レギュレータ固定」; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_wifi_pwr_en>; + /* PMIC_EN_WIFI */ + gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; + アクティブハイを有効にする; + レギュレータ最大マイクロボルト = <3300000>; + レギュレータ最小マイクロボルト = <3300000>; + レギュレータ名 = "PDn_MAYA-W260"; + 起動遅延時間 = <2000>; + }; + reg_pcie0: レギュレータ-pcie { compatible = "レギュレータ固定"; レギュレータ名 = "PCIE_WLAN_EN"; @@ -676,6 +690,19 @@ &usdhc2 { ステータス = "正常"; }; +/* Wi-Fiサポートを追加 */ +/* モジュール内 Wi-Fi */ +&usdhc3 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + ピンctrl-0 = <&pinctrl_usdhc3>; + ピンctrl-1 = <&pinctrl_usdhc3>; + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; + 電源を停止したままにします。 + 取り外し不可。 + vmmc-supply = <&reg_wifi_en>; + ステータス = "正常"; +}; + &enetc_port0 { pinctrl-names = "デフォルト"; pinctrl-0 = <&pinctrl_enetc0>; @@ -1142,6 +1169,32 @@ IMX95_PAD_SD2_DATA3__USDHC2_DATA3 0x13fe IMX95_PAD_SD2_VSELECT__USDHC2_VSELECT 0x51e >; }; + + + /* WB SKU ではモジュール内 Wi-Fi、それ以外の場合はモジュール固有の SDIO */ + pinctrl_usdhc3: usdhc3grp { + fsl,ピン = , /* SD3_CLK */ + , /* SD3_CMD */ + , /* SD3_DATA0 */ + , /* SD3_DATA1 */ + , /* SD3_DATA2 */ + ; /* SD3_DATA3 */ + }; + + pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { + fsl,ピン = , /* SD3_CLK */ + , /* SD3_CMD */ + , /* SD3_DATA1 */ + , /* SD3_DATA2 */ + , /* SD3_DATA3 */ + ; /* SD3_DATA4 */ + }; + + pinctrl_wifi_pwr_en: wifipwrengrp { + /* PMIC_EN_WIFI */ + fsl、ピン = ; + }; + }; &vpuctrl { -->8 ご想像のとおり、動作しません。 nxp カーネル タグ 6.6.3-1.0.0 では、なぜ nxp は dtb を提供しないのでしょうか? ドキュメントhttps://www.nxp.com/docs/en/user-guide/UG10163.pdfに驚きました第11.1章/11.3章wifi/bluetooth カーネル モジュールをロードする方法を説明します。このドキュメントはカーネルタグLF6.12.34_2.1.0に基づいていることを知っていますしかし、同じハードウェア サポートが提供されると期待できます。 また、カーネルと imx95-verdin-wifi-dev.dtb の起動を試みましたが、scmi の非互換性のため失敗しました。 この問題を解決するのに NXP についてが適切な会社なのか、それとも Toradex の方が優れているのか教えてください。 ありがとうございます。よろしくお願いします。 Re: imx95 verdin-evk mlan/moal support こんにちは、 Linux カーネル タグ lf-6.6.3-1.0.0 を使用する i.MX95 プラットフォームの場合、88w8987 モジュールの WiFi サポートには適切なデバイス ツリー構成が必要です。デバイス ツリーには Bluetooth ノードがありますが、WiFi ノードがないためインターフェースが表示されません。 WiFi では、88w8987 モジュールと適切にインターフェースするために、デバイス ツリー内に SDIO ノードが必要です。mlan および moal モジュールをロードすると、ログに「ドライバが正常にロードされました」と表示されるため正常にロードされますが、適切なデバイス ツリー構成がないとハードウェアを検出できないため、ネットワーク インターフェースを作成できません。 1. デバイスツリーファイル(imx95-19x19-titan.dtb)にSDIOノードを追加する必要があります。88w8987 モジュールの WiFi コンポーネントを参照します。 2. ノードには通常、次のものが含まれます。 - SDIOコントローラの互換文字列 - 移動できないプロパティ - システムのサスペンド中も電源をオンにしたままにする - WiFi固有の設定 3. WiFi ノードと Bluetooth ノードの両方を含む i.MX8MM EVK など、88w8987 をサポートする他の i.MX ボードの既存の実装を参照します。 Toradex ボードを使用している場合は、i.MX95 モジュールで WiFi を有効にするために推奨されている特定の実装の詳細については、Toradex のドキュメントも確認することをお勧めします。 よろしくお願いします。 Re: imx95 verdin-evk mlan/moal support こんにちは、リストの皆さん 自分自身に答えています^^。 linux-imx 用のタグlf-6.6.3-1.0.0で WiFi を作成するには、次の手順に従います。 コミット483162118e93に従って、ファイルarch/arm64/boot/dts/freescale/imx95-19x19-titan.dtsを変更します。 8<-- diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts インデックス 38f985d5f87c..3c0a2708114e 100644 --- a/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts @@ -18,6 +18,18 @@ ダミーレジスタ: ダミーレジスタ { レギュレータ最小マイクロボルト = <3300000>; レギュレータ最大マイクロボルト = <3300000>; }; + + usdhc3_pwrseq: usdhc3_pwrseq { + 互換性 = "mmc-pwrseq-simple"; + リセットgpio = <&i2c7_pcal6524_23 11 GPIO_ACTIVE_HIGH>; + }; + + /delete-node/ reg_serdes_stby; + /delete-node/ レギュレータ MAC スタンバイ; + /delete-node/ reg_m2_pwr; + /delete-node/ reg_slot_pwr; + /delete-node/ レギュレータ-m2-pwr; + /delete-node/ レギュレータスロット電源; }; &reg_can1_stby { @@ -48,11 +60,40 @@ &reg_aqr_en { gpio = <&i2c7_pcal6524_23 21 GPIO_ACTIVE_HIGH>; }; +&reg_pcie0 { + /delete-property/ vin-supply; + gpio = <&i2c7_pcal6524_23 18 GPIO_ACTIVE_HIGH>; +}; + +&pcie0 { + リセットgpio = <&i2c7_pcal6524_23 17 GPIO_ACTIVE_LOW>; +}; + +&pcie1 { + /delete-property/ vpcie-supply; + リセットgpio = <&i2c7_pcal6524_23 16 GPIO_ACTIVE_LOW>; +}; + +&pcie1_ep { + /delete-property/ vpcie-supply; +}; + &reg_serdes_en { vin-supply = <&dummy_reg>; gpio = <&gpio4 28 GPIO_ACTIVE_LOW>; }; +&usdhc3 { + pinctrl-names = "default"; + ピンctrl-0 = <&pinctrl_usdhc3>; + mmc-pwrseq = <&usdhc3_pwrseq>; + vmmc-電源 = <&reg_pcie0>; + バス幅 = <4>; + 電源を停止したままにします。 + 取り外し不可。 + ステータス = "正常"; +}; + &enetc_port1 { pinctrl-names = "デフォルト"; pinctrl-0 = <&pinctrl_enetc1>; @@ -161,4 +202,15 @@ pinctrl_pwm_3_dsi_hpd_gpio: dsihpdgrp { IMX95_PAD_GPIO_IO12__GPIO2_IO_BIT12 0x31e >; }; + + pinctrl_usdhc3: usdhc3grp { + fsl、ピン = < + IMX95_PAD_SD3_CLK__USDHC3_CLK 0x158e + IMX95_PAD_SD3_CMD__USDHC3_CMD 0x138e + IMX95_PAD_SD3_DATA0__USDHC3_DATA0 0x138e + IMX95_PAD_SD3_DATA1__USDHC3_DATA1 0x138e + IMX95_PAD_SD3_DATA2__USDHC3_DATA2 0x138e + IMX95_PAD_SD3_DATA3__USDHC3_DATA3 0x138e + >; + }; -->8 リポジトリhttps://github.com/nxp-imx/mwifiex/からドライバをコンパイルします。タグ lf-6.6.3-1.0.0で、 mlan.ko moal.koをターゲットディレクトリ /usr/lib/modules/6.6.3-gccf0a99701a7/updates/ にコピーします。 https://github.com/nxp-imx/imx-firmware.gitからタグ lf-6.6.3-1.0.0のファームウェアを取得し、 sduart_nw61x_v1.bin.se をターゲットディレクトリ /lib/firmware/nxp/ にコピーします。 ターゲットにモジュールをロードするには 8<-- root@imx95-19x19-lpddr5-evk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf drvdbg=0x7 [..] [ 2690.237289] NXP 802.11 アダプタ uap0 を登録 [ 2690.250018] NXP 802.11 アダプタ wfd0 を登録 [ 2690.254421] wlan: バージョン = SDIW612---18.99.2.p66.17-MM6X18437.p3-GPL-(FP92)-dbg [ 2690.267643] wlan: バスドライバへの登録が完了しました [ 2690.272323] wlan: ドライバが正常にロードされました [..] --->8 新しいネットワーク インターフェースmlan0、uap0、wfd0が作成されます。 チケットを閉じることができます。 これが役に立つことを願います。 よろしくお願いします。
記事全体を表示
在应用定时测量过程中发生低于阈值的意外 VC_OV 事件 您好,      我使用的是采样率为 24 的应用定时测量模式,并将过压 (OV) 阈值设置为 4250 mV。 但是,在充电过程中,当电池电量达到80%左右(约4077 mV)时,某些电池偶尔会触发信号 VC_OV 事件。手动测量后,实际电池电压不会超过 OV 临界值。 是什么原因导致了这种行为,即即使测量电压明显低于阈值,也会发生 VC_OV 事件? 感谢您的帮助。 Mark 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 您好,马克, 请下载 MC33774A 功能安全手册并参阅其中的第 10、11 节。有一种 FTME(容错测量误差)的描述就是针对你这种情况的。 请从 MC33774A 产品页面的 “功能安全” 部分下下载功能安全手册。 致以最崇高的敬意 约瑟夫 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 你好,约瑟夫、 非常感谢你们一如既往的支持。 硬件设计已经过当地 FAE 的审查和确认。由于 MC33774A 已完全集成到电池模块中,我们无法使用示波器直接探测单个电池的电压,这一点令人遗憾。 我们还怀疑,对充电电流的控制不足可能会导致瞬态尖峰,进而引发零星的过电压(OV)事件。您的专业解释进一步证实了我们的假设,即这些事件很可能是由瞬态行为引起的。 作为后续问题,我们想问: 您是否推荐任何基于软件的方法来帮助识别由瞬态峰值引起的 OV 事件? 再次感谢您的宝贵帮助。 致以最崇高的敬意, Mark 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 您好,马克, 感谢您提供零件编号和示意图。但是,在原理图中,我看不出你是否在Cells和CTx CBx引脚之间使用了推荐的元器件。有关这些推荐元器件,请参阅 MC33774A 完整数据表中的第 11.1.1.2 节。 请从 MC33774A 产品页面 的 "安全 "部分下载 MC33774A 的 完整数据表。 在快速充电过程中,可能会出现短暂超过 OV 门限的瞬态电压。这些峰值可能无法通过手动测量捕获,但可以由 MC33774A 检测到。请使用示波器测量触发信号 OV 的单个电池的电压,以检查是否存在瞬态电压。 请确保在充电/测量过程中没有打开平衡装置。在平衡过程中,不保证测量电压。 致以最崇高的敬意 约瑟夫 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 你好,约瑟夫、 谢谢您的答复。 很抱歉之前没有提供足够的信息。 我们使用 MC33774ATP1AE。 这里是零件示意图。 感谢您的帮助。 致以最崇高的敬意 Mark Re: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 您好,马克, 请分享您正在使用的元器件的完整部件号。 请分享您的示意图,包括电压等级和部件值。 致以最崇高的敬意 约瑟夫
記事全体を表示
FS85 SPI通信报错 你好,我移植了FS8x_S32K144_WatchdogExample这个demo中关于SPI读写FS85寄存器的部分,现在周期读取寄存器M_FLAG,deviceStatus=0xF0,readData = 0xF014.具体错误为 Wrong number of clock cycles (<32 or >32)和Error detected in the SPI CRC CRC8用的也是DEMO提供的函数,为什么会报错呢?这两个错误该怎么解决呢? 读取寄存器FS_STATES,readData = 0x2003,没有找到03对应的状态机。 FS85&FS84 回复: FS85 SPI通信报错 你好,奥斯克 FS_STATE =5 表示 RSTB 未版本到高电平,客户能否查看 RSTB 引脚电平?此时,与 OV/UV 相关的标志寄存器未激活。 如有其他问题,请告诉我。 BRS CIndy Wen 回复: FS85 SPI通信报错 你好,请问第一块芯片出现的SPI通讯问题,后续有查明是什么原因导致的吗。 回复: FS85 SPI通信报错 你好 xuxin 用户应通过将所有位写入 “1” 来清除 FS_OVUVREG_STATUS,如果故障再次触发信号,那就是真正的 OV 紫外线故障。 与 FS8510D3 OTP 一样,ABIST1 被分配给所有监测。因此,如果 VCOREMON 或 VMON1~4 报告 UV,状态机就会停留在 ABIST1 状态,无法进入 INIT_FS 状态。 VCOREMON 应连接到 BUCK1,应使用 VMON1~4 来监测原理图中的稳压器。请参阅 FS85 演示板。 如果需要调试支持,请联系当地的 DISTI FAE 以获得更多帮助。 BRS 辛迪-温 回复: FS85 SPI通信报错 你好,徐新 请读取 FS_OVUVREG_STATUS 寄存器。 请检查 VCOREMON 是否连接至 BUCK1 输出端。 检查 VDDIO 电压是否符合 OTP 规定的电平。 检查 VMON1~4 是否为 0.8V。 您使用的是哪个零件编号?如果您使用的是贵公司定义的特定 OTP,请与我共享 OTP 文件。 BRS 辛迪-温 回复: FS85 SPI通信报错 你好Cindy, 我刚才请硬件工程师测量了PGOOD和RSTB引脚,两个都是低电平,硬件工程师说已经加了上拉电阻,但是没成功拉高。接下来需要软件配置什么寄存器吗?还是单纯的硬件问题? 回复: FS85 SPI通信报错 你好,徐新 如果 FS 状态无法进入 INIT_FS,我认为由于某些故障,PGOOD/RSTB 没有版本。 请检查 PGOOD/RSTB 是否版本到高位? 如果它们很低,请检查板上是否有 OV/UV 故障。 BRS 辛迪-温 回复: FS85 SPI通信报错 你好Cindy, 我按照你的建议,在M_FLAG对应位写1后又读取了如下寄存器,MISO返回数据如图,FS_STATS还是0x2003. 回复: FS85 SPI通信报错 你好,徐新 您能否通过向这些位写入 “1” 来清除以下这些位,看看故障是否会再次触发信号。如果这些故障仅在上电复位时触发,我们可以忽略它们,因为它们不会在正常运行期间发生。 BRS 辛迪-温 回复: FS85 SPI通信报错 你好,Tomas。 下面是我读取FS_STATES寄存器的SPI波形。1是CLK,2是CS,3是MOSI,4是MISO。我从波形解析到的MOSI是0xAC,00,00,F4,MISO是0x70,20,03,14。确实不是0x2006,这跟我一直在debug mode有关吗? 回复: FS85 SPI通信报错 你好,徐新、 很高兴知道原来的错误消失了。我不知道 0x03 的故障保护状态机状态码。实际上应该是 0x06。能否分享一个示波器截图,说明 FS_STATES 寄存器的读取情况? BRs.托马斯 回复: FS85 SPI通信报错 你好Tomas, 我更换了一片新的FS85芯片后,Wrong number of clock cycles (<32 or >32)和Error detected in the SPI CRC消失了。我在FS_STATES寄存器写入DBG_EXIT,但是读取寄存器FS_STATES,readData = 0x2003,并不是0x2006,这个03代表什么呢?怎样进入INIT_FS状态? 回复: FS85 SPI通信报错 如图,1是MOSI,2是CLK,3是CS,4是MISO。我读取了FS_DIAG_SAFETY寄存器,MOSI是0xA8,0x00,0x00,0xF2。MISO值是0xF0,0x04,0x29,0xD9。0xF2和0xD9是CRC值,跟我用CRC8工具计算的值是一样的。 另外,我不知道该怎么确认table100中的数值。 回复: FS85 SPI通信报错 你好,徐新、 如果您有示波器或逻辑分析仪,能否分享说明 SPI 写入和读取事务的截图?另外,请仔细检查是否符合数据表表 100 中所示的所有 SPI 时序要求。 BRs, Tomas 回复: FS85 SPI通信报错 SPI配置如下:时钟20Mhz,片选低有效,MSB传输,时钟空闲低电平,在时钟第二个边沿采样,SPI帧长度为32位,波特率为1000000
記事全体を表示
NXP S32K324-ADC0通道49的内部温度读数问题 尊敬的恩智浦支持团队, 当我尝试使用 ADC 硬件实例 0、通道 49 读取 S32K324 微控制器上的内部温度传感器时遇到问题。 我的 VREF 电压配置为 3.3V (0x35),但我获得的温度读数与我的预期值不符。     您能否提供任何指导或参考资料来帮助我解决这个问题并获得准确的温度读数?   此致, 兰吉斯·库马尔 回复:NXP S32K324-ADC0通道49内部温度读数问题 你好@ Ranjith_kumar 我不太明白你的新问题是什么? 我在之前的回复中已经为您提供了测试demo,目前我还没有看到您的任何项目。 回复:NXP S32K324-ADC0通道49内部温度读数问题 亲爱的 Senlent, 我按照您在共享视频中提到的步骤读取了 S32K324 控制器上的内部温度传感器。但是,我没有获得稳定或预期的温度值。正如我在上一篇文章中提到的,我正在从内部温度传感器读取原始 ADC 值,但温度读数出现突然的峰值并且不稳定。 作为参考,我还在控制器附近使用了外部温度传感器,它显示稳定的温度范围为 32 至 35°C。相反,内部温度传感器读数显示负值和波动值。 我附上了一段视频来演示该问题以及我为此目的开发的软件。您能否帮我验证我得到的值是否正确或者我的方法是否存在问题?任何能够正确读取和解释内部温度传感器数据的指导或示例代码都将不胜感激。 感谢您的支持。 此致, 兰吉斯·库马尔 回复:NXP S32K324-ADC0通道49内部温度读数问题 你好@ Ranjith_kumar 从您的视频来看,您似乎甚至没有读取内部温度传感器的原始值。 我做了一个非常基本的例子供您参考,硬件是S32K344,RTD是3.0.0+P07。 回复:NXP S32K324-ADC0通道49内部温度读数问题 亲爱的 Senlent, 根据您的建议并参考提供的链接,我尝试使用 RTD 3.0.0 读取 NXP S32K324 控制器上的内部温度传感器。但是,我获得的值与我们预期的结果不符。 您能否分享任何示例代码或参考实现来演示读取和转换内部温度传感器数据的正确程序? 此外,我希望您能指导我如何确定适合我们应用的阈值温度值。 我已附上相关文件供您参考。请协助我解决这个问题。 感谢您的支持。 顺祝商祺! 兰吉斯·库马尔 回复:NXP S32K324-ADC0通道49内部温度读数问题 你好@ Ranjith_kumar 此链接中有一个类似的演示供您参考 https://community.nxp.com/t5/S32K/S32K344-Temperature-Sensor/mp/1876707#M35929 如果您还有疑问,请给我提供一个基本项目,我会帮您检查
記事全体を表示
S32K344 / MR-CANHUBK344 - Zephyr 支持 论坛上是否有人可以确认 MR-CANHUBK344 开发板仍在最新的 Zephyr 版本(v3.6.0 或 v3.7.0-rc3)下工作? 当尝试通过 JLink(v7.98a)启动开发板时,我们遇到了许多虚假故障。 主板和调试器看起来都正常,它们将毫无问题地运行默认示例 S32DS 项目。据我们所知,这似乎与 S32K3 与 Zephyr 平台的集成更相关,更有可能处于早期内核初始化阶段。 在 v3.7.0-rc3 上使用带有 Zephyr Blinky 项目的 Ozone,我们在重置后几乎立即看到 BFAR 寄存器为 0x5AA55AC0 的 BusFaults。 希望这只是我们配置中的问题,或者如果有人有可行的解决方案,您正在使用 Zephyr 的哪个分支/标签? 谢谢!
記事全体を表示
在 FRDM-IMX93 上使用 GPIO 如何使用 FRDM-IMX93 板上的 GPIO?像简单的 GPIO、CAN、I2c 等? 谢谢 拉尔夫
記事全体を表示
在 MPC5748G MCU 的扩展 SPI 模式下,EOQF 标志未被设置 你好,团队、 我在 MPC5748G MCU 中使用扩展 SPI 模式进行 32 位帧传输,发现传输结束时 EOQF 标志没有被设置。我在 MPC5777C MCU 上使用了相同的代码,一切正常。 你知道为什么会出现这个问题吗?任何建议或想法都会被极大地采纳。 期待您的真知灼见。 谢谢! 此致, 克里希纳 用于 i.MX RT 的 eIQ 机器学习软件 Re: EOQF flag is not getting set in EXTENDED SPI mode in MPC5748G MCU 你好,伊谢、 谢谢您的答复。我已正确配置 SPI 模块以传输 32 位帧,如果不查看 EOQ 标志,读取和写入均可在 MPC5748 中正常工作。我还设置了 EOQ 标志,以便传输最后一个字,但模块不承认这一点。 仅供参考,我不在 EOQ 中使用中断我正在轮询寻找那个标志。 您提到"虚假队列结束语" ,能否请您解释一下这是什么意思? 谢谢! 此致, 克里希纳
記事全体を表示
ADV7535:显示屏上无图像输出 嗨,团队、 我们正在基于 Verdin Yavia IMX8M Plus 的定制载板上开发 DSI 转 HDMI 变流器 ( ADV7535)。 我们已经替换了 ADV7535 而不是 LT8912B MIPI DSI 转 HDMI 桥接器 ,后者自带 Toradex 载板。我们使用 I2C 通道 2 与 ADV7535 DSI 转 HDMI 桥接器进行 通信,这与使用不同的 I2C 通道的 Yavia 载板不同。因此,我们对设备树进行了以下更新以反映这一变化: 设备树变更 1. verdin-imx8mp_dsi-to-hdmi_overlay.dts 删除现有 hdmi_lontium_lt8912 节点。 在 I2C2 节点下新增 hdmi_adv7535 节点。 2. imx8mp-verdin.dtsi 删除了 hdmi_lontium_lt8912 节点。 从 hdmi_connector 节点中删除了 Lontium 引脚连接细节。 已添加 hdmi_adv7535 作为 I2C2 下的子节点。   更改后的观察结果 成功读写 ADV7535 的内部寄存器。 能够转储 I2C 数据: torizon@verdin-imx8mp-15404184:~$ i2cdump -y -f 1 0x39 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 14 00 00 00 00 00 00 00 00 00 41 0e bc 18 01 13 ?.........A????? 10: 25 37 00 00 00 00 38 00 46 62 04 a8 00 00 1c 84 %7....8.Fb??..?? 20: 1c bf 04 a8 1e 70 02 1e 00 00 04 a8 08 12 1b ac ?????p??..?????? 30: 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 b0 ...........?...? 40: 00 50 f0 76 10 68 68 68 68 00 80 00 00 00 00 00 .P?v?hhhh.?..... 50: 00 00 02 0d 6d 02 00 00 00 00 00 00 00 00 00 00 ..??m?.......... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 01 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ??.............. 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 c0 00 40 00 03 02 e0 18 30 61 00 00 ....?.@.????0a.. a0: 00 00 a4 a4 08 04 00 00 00 00 00 40 00 00 40 14 ..????.....@..@? b0: 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 ..........?..... c0: 00 00 00 00 00 00 06 00 00 03 00 00 02 00 01 04 ......?..?..?.?? d0: 0c ff 80 80 80 00 00 00 00 00 00 00 00 00 88 01 ?.???.........?? e0: d0 70 01 00 00 00 fd 00 00 00 52 46 00 00 00 00 ?p?...?...RF.... f0: 95 04 ff 00 00 00 00 00 00 00 7d aa 1c 00 b0 00 ??........}??.?. 检测 HDMI 显示器,并在 i.MX8MP 上检索 EDID 数据。HDMI-A -1 是 DSI 转 HDMI 端口,HDMI-A-2 是原生 HDMI 端口。 root@verdin-imx8mp-15288064:/home/torizon# cat /sys/class/drm/card0-HDMI-A-1/edid | edid-decode edid-decode (hex): 00 ff ff ff ff ff ff 00 30 ae 86 10 01 01 01 01 22 15 01 03 80 29 1a 78 ee e5 b5 a3 55 49 99 27 13 50 54 af ef 00 61 40 81 c0 81 80 81 8a 81 90 95 00 95 0f 01 01 64 19 00 40 41 00 26 30 18 88 36 00 a0 1d 00 00 00 18 00 00 00 fc 00 4c 45 4e 20 4c 31 39 35 30 77 44 0a 20 00 00 00 fd 00 32 4c 1e 51 0e 00 0a 20 20 20 20 20 20 00 00 00 ff 00 42 33 34 33 32 38 34 35 0a 20 20 20 20 01 0b 02 03 21 71 4e 06 07 02 03 15 96 11 12 13 04 14 05 1f 90 23 09 07 07 83 01 00 00 65 03 0c 00 10 00 8c 0a d0 90 20 40 31 20 0c 40 55 00 b9 88 21 00 00 18 01 1d 80 18 71 1c 16 20 58 2c 25 00 b9 88 21 00 00 9e 01 1d 80 d0 72 1c 16 20 10 2c 25 80 b9 88 21 00 00 9e 01 1d 00 bc 52 d0 1e 20 b8 28 55 40 b9 88 21 00 00 1e 02 3a 80 d0 72 38 2d 40 10 2c 45 80 b9 88 21 00 00 1e 00 00 00 00 d0   遇到的问题 连接的 HDMI 显示器上没有图像输出 。 dmesg 日志错误:   imx_sec_dsim_drv 32e60000.mipi_dsi: failed to get pmsk for: fin = 12000, fout = 0   故障排除尝试 我们尝试修改设备树中的 MIPI DSI 控制器时钟设置,如下所示: mipi_dsi: mipi_dsi@32e60000 { #address-cells = <1>; #size-cells = <0>; compatible = "fsl,imx8mp-mipi-dsim"; reg = <0x32e60000 0x10000>; clocks = <&media_blk_ctrl IMX8MP_CLK_MEDIA_BLK_CTRL_MIPI_DSI_PCLK>, <&media_blk_ctrl IMX8MP_CLK_MEDIA_BLK_CTRL_MIPI_DSI_CLKREF>; clock-names = "cfg", "pll-ref"; assigned-clocks = <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>; assigned-clock-parents = <&clk IMX8MP_CLK_24M>; assigned-clock-rates = <11000000>; interrupts = 18 IRQ_TYPE_LEVEL_HIGH>; power-domains = <&mipi_phy1_pd>; status = "disabled"; port@0 { dsim_from_lcdif: endpoint { remote-endpoint = <&lcdif_to_dsim>; }; }; }; 不过,在 dmesg 日志中,默认频率仍显示为 12 MHz 。   要求澄清 我们希望您能就以下几点提供指导: 如何正确更新 fin 和 fout 的值,以解决 pmsk 错误? 要通过 ADV7535 实现正确的图像输出,是否需要对设备树进行任何其他更改? 期待您的见解和建议。 请参阅随附的 dmesg 日志,该话题中的设备树叠加层。 谢谢& , Rupesh Kathar imx8mplus#adv7535 #dsi #hdmi #mipi #i2c #i2s i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: ADV7535: No image output on display 如果您使用的是 5.15,只需将分支更改为 5.15,因为您的源代码是第三方公司的,我不清楚您的驱动程序如何,但请参考 nxp adv7535 驱动程序 linux-imx/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c at lf-5.15.y - nxp-imx/linux-imx - GitHub 并不是所有的分辨率都能支持,有效时钟如下,如果需要新时钟,必须在时钟驱动程序中添加新时钟。 静态常量 int valid_clocks[] = { 148500, 135000, 132000, 108000, 78750, 74250, 65000, 49500, 40000, 31500, }; Re: ADV7535: No image output on display 您好@joanxie, 感谢您对恩智浦内核源代码的指导。 我们已经使我们的设备树与恩智浦内核5.15y(不是你共享的6.12)的imx8mp-evk.dts保持一致,我们的显示器适用于某些分辨率,但不适用于我们的目标分辨率,即1024x768。 除了 adv7535 的设备树外,我们没有做任何其他更改。使用 Toradex 内核 5.15.2.x。 下面的表格列出了哪些方法有效,哪些方法无效。 分辨率 宽高比 标准 常见刷新率 Realtek 显示器 戴尔显示器 640×480 4:3 双向 60 赫兹 工作 工作 800×600 4:3 VESA 60-75 赫兹 工作 工作 1024×768 4:3 VESA 60-75 赫兹 空白/闪烁时 禁用 内部定时发生器 无输出 1280×768 5:3 VESA 60 赫兹 无输出 无输出 1280×720 16:9 双向 24/25/30/50/60 赫兹 工作 工作 1366×768 16:9 VESA 60 赫兹 无输出 无输出 1920×1080p 16:9 双向 24/25/30/50/60 赫兹 工作 工作 只有 1024x768 不工作的可能原因是什么?其他分辨率只需插入 HDMI 即可正常工作。 Re: ADV7535: No image output on display 我之前已经分享过 imx8mp dts 文件,首先,您需要在 dts 中正确设置该桥接器,然后 adv7535 驱动程序就会 https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c Re: ADV7535: No image output on display 嗨 @joanxie, FYR,我们正在使用类似于 Toradex 的 Yavia 载板的定制板。唯一的变化是用 ADV7535 取代了 lontium DSI 转 HDMI 适配器。我们选用 ADV7535,因为恩智浦也在其部分产品中使用该器件。 因此,我们在 Toradex 为 Yavia-WiFi dts 提供的设备树及其父设备树源的基础上进行了设备树修改。 问题中的设备树节点是 1。MIPI-DSI-这里没有修改任何内容(与之前的文章不同,改回了默认值)。其他恩智浦设备也必须使用它。 2。ADV7535 特定的节点和叠加层,我们在上一篇文章中提供了。 驱动程序为sec_mipi_dsim-imx.c,sec-dsim.c,adv7511_drv.c,adv7533.c. 现在,在调整了设备树叠加层之后。我们不再收到 fin、fout 错误。 以下是上述驱动程序的 dev_dbg 日志。 torizon@verdin-imx8mp-15404184:~$ dmesg | grep drm [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_defau lt=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c 421a587ae63ff3c6cbfc07d964084a23df7631d/0 [ 2.771129] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 2.771181] imx-drm display-subsystem: bound imx-lcdifv3-crtc.1 (ops lcdifv3_crtc_ops) [ 2.772099] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [sec_mipi_dsim_imx]) [ 2.772141] imx-drm display-subsystem: bound 32fd8000.hdmi (ops dw_hdmi_imx_ops) [ 2.772468] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0 [ 2.869610] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device [ 5.099098] systemd[1]: Starting Load Kernel Module drm... [ 5.188031] systemd[1]: [email protected]: Deactivated successfully. [ 5.188992] systemd[1]: Finished Load Kernel Module drm. [ 5.262319] [drm] Initialized vivante 1.0.0 20170808 for 40000000.mix_gpu_ml on minor 1 torizon@verdin-imx8mp-15404184:~$ dmesg | grep dsim [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_defau lt=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c 421a587ae63ff3c6cbfc07d964084a23df7631d/0 dy [ 2.759952] Kernel module loaded from ramdisk: sec_dsim - result: 0 [ 2.771246] imx_sec_dsim_drv 32e60000.mipi_dsi: sec-dsim bridge bind begin [ 2.771290] imx_sec_dsim_drv 32e60000.mipi_dsi: version number is 0x1060200 [ 2.772085] imx_sec_dsim_drv 32e60000.mipi_dsi: sec-dsim bridge bind end [ 2.772099] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [sec_mipi_dsim_imx]) [ 2.916294] Kernel module loaded from ramdisk: sec_mipi_dsim_imx - result: 0 [ 3.259164] imx_sec_dsim_drv 32e60000.mipi_dsi: p: min = 1, max = 6, m: min = 88, max = 1023, s: min = 0, ma x = 5 [ 3.259252] imx_sec_dsim_drv 32e60000.mipi_dsi: fout = 390000, fin = 12000, m = 130, p = 1, s = 2, best_delt a = 0 [ 3.259262] imx_sec_dsim_drv 32e60000.mipi_dsi: no pre-exist hpar can be used [ 18.521539] imx_sec_dsim_drv 32e60000.mipi_dsi: p: min = 1, max = 6, m: min = 88, max = 1023, s: min = 0, ma x = 5 [ 18.521629] imx_sec_dsim_drv 32e60000.mipi_dsi: fout = 390000, fin = 12000, m = 130, p = 1, s = 2, best_delt a = 0 [ 18.521640] imx_sec_dsim_drv 32e60000.mipi_dsi: no pre-exist hpar can be used torizon@verdin-imx8mp-15404184:~$ dmesg | grep adv [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c421a587ae63ff3c6cbfc07d964084a23df7631d/0 [ 1.052362] adv7511 1-0039: Rev. 20 [ 4.325789] systemd[1]: System time before build time, advancing clock. torizon@verdin-imx8mp-15404184:~$ 有了它,我们还能通过使用 i2cset 直接在 ADV7535 上设置寄存器来生成测试色条图案,这意味着 ADV7535 至 HDMI Sink 显示器的工作正常。问题出在 iMX8MP 与 ADV7535 的通信方式上。 显示屏上仍然没有任何输出。 我们希望了解,恩智浦在其产品中实现 ADV7535 的方式与我们在软件和硬件方法上实现 ADV7535 的方式是否存在差异。 Re: ADV7535: No image output on display 看来这个错误信息是你自己的驱动程序造成的,我在 nxp 驱动程序源代码中没有找到这个信息,而且这个设置也不正确,你无法获得你想要的任何时钟,时钟父频是 24Mhz,如果你设置了 11Mhz,你只能获得 24/2=12Mhz 的时钟、 assigned-clock-parents = <&clk IMX8MP_CLK_24M>; assigned-clock-rates = <11000000>; 你可以参考恩智浦源代码作为参考,检查你关于 lcdif、mipi dsi 和 adv7535 的设置是否正确 linux-imx/arch/arm64/启动/dts/freescale/imx8mp-evk.dts 位于 lf-6.12.y · nxp-imx/linux-imx · GitHub linux-imx/arch/arm64/启动/dts/freescale/imx8mp.dtsi 位于 lf-6.12.y · nxp-imx/linux-imx · GitHub 参考日志,似乎 pll 设置不正确,pll 驱动程序在 linux-imx/drivers/gpu/drm/imx/sec_mipi_pll_1432x.h at lf-6.12.y - nxp-imx/linux-imx - GitHub 您可以仔细检查
記事全体を表示
使用LPC4370的GPIO产生的脉冲长度无法控制 我尝试使用LPC4370的GPIO来产生一对长度200ns左右的Push,Pull脉冲。一开始我使用定时器中断嵌套GPIO控制的方法实现,但观察示波器发现这种方法实现的脉冲宽度非常不稳定,能明显观察到既有ns级别的脉冲也有us级别的脉冲,并且无法控制。我尝试分析问题,但是无从下手,希望有人能够帮忙提供解决方法,或者帮忙指出问题出在哪里。这是我的中断函数, 其余相关代码及图像在楼下附上。 void TIMER2_IRQHandler(void) { /* Clear timer interrupt */ Chip_TIMER_ClearMatch(LPC_TIMER2, 1); *gpnot = 0x02; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x40; } 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 非常感谢,我参考这个示例实现了我的需求 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 Hi @Maf33  生成对齐互补的脉冲,请参考: https://www.nxp.com/docs/en/application-note/AN11538.zip   这个应用笔记基本涵盖了了SCTimer所有基本的用法。 BR Alice 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 非常感谢回复,具体时序要求见楼下,似乎sct的pwm控制没办法做到这样子的时序? 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 您好,非常感谢回复@Alice_Yang 我这边对push和pull的时序有要求,我之前的尝试过程中,sct的pwm控制的话好像无法做到边沿对齐(50ns以内的延迟也可以)并且发射三个脉冲?我不是很确定,也许只是我sct的做法不对?motorcontrolpwm功能似乎可以达成要求,但很可惜只在bga256封装的LPC4370上面支持,我所使用的是bga100的封装版本。 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 我的实际工程中需要HSADC配合定时器触发,当我试着产生仅仅一个脉冲的情况下,仍然无法产生200ns的脉冲,大部分时候产生的都是1us多的脉冲,甚至同样的延时方法无法得到相同的延时(包括NOP)。在一些测试中,可以在示波器上同时看到200ns的脉冲和1us的脉冲。 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 我一开始怀疑问题出在定时器,于是我将定时器移除,使用单纯的for循环的来实现周期,这样可以达成我的需求:产生200ns宽度的Push Pull脉冲各三个,但当我用同样的方法将脉冲个数提高到四个甚至更多的时候,就又不受控制了,从图片中可以很明显看到,200ns的脉冲宽度直接变成了不同长度的us级别脉冲。 #define TICKRATE_HZ 1000 volatile uint32_t *gpset = &LPC_GPIO_PORT->SET[1]; volatile uint32_t *gpclr = &LPC_GPIO_PORT->CLR[1]; volatile uint32_t *gpnot = &LPC_GPIO_PORT->NOT[1]; int main(void){ /* —— 时钟与板级初始化 —— */ SystemCoreClockUpdate(); Board_Init(); DEBUGOUT("SystemCoreClock = %d Hz\r\n", SystemCoreClock); // Chip_GPIO_Init(LPC_GPIO_PORT); DEBUGSTR("GPIO driver init done\r\n"); /* —— PUSH: GPIO1[1] 输出 —— */ Chip_SCU_PinMux(1, 8, MD_EHS, FUNC0); LPC_GPIO_PORT->DIR[1] |= 1<<1; /* —— PULL: GPIO1[6] 输出 —— */ Chip_SCU_PinMux(1, 13, MD_EHS, FUNC0); LPC_GPIO_PORT->DIR[1] |= 1<<6; *gpset=0x42; while (1) { for(int i=0;i<180000;i++){} *gpnot = 0x02; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x40; } return 0; }
記事全体を表示
blhost を使用して LPC54(S)0xx フラッシュをプログラム/消去します 注:このドキュメントでは、フラッシュローダーに関する簡単な説明を提供し、フラッシュローダーの詳細については、 SDK_2.5.0_LPCXpresso54S018\middleware\mcu-boot\doc にある LPC540xxフラッシュローダーユーザーズGuide.pdf 入門を参照してください。 LPC54S0xx SDKをダウンロードします。 フラッシュローダープロジェクトをコンパイルしてflashloader.binを生成します プロジェクトはsdk \ boards \ lpcxpresso54s018 \ bootloader_examples \ flashloaderにあります dfu-util.exe または IDE を使用して、flashloader.bin を RAM にロードします。 dfu-util は http://dfu-util.sourceforge.net/releases/ からダウンロードできます。 ISPピンを構成してから、チップをリセットして、チップをUSB1 DFUブートモードにします。 ブート・モード ISP2の PIO0_6ピン ISP1 PIO0_5ピン ISP0 PIO0_4ピン 形容 USB1 DFUブート LOW LOW HIGH USB DFUクラスは、USB1高速ポートを介してSRAMにイメージをダウンロードするために使用されます。 LPC54S0xxデバイスUSB1高速ポートとPCをUSBで接続します。以下は、flashloader.binをロードするコマンドラインです。 dfu-util.exeドル –D flashloader.bin   blhost を使用して LPC540xxM/LPC54S0xxM フラッシュをプログラム/消去 フラッシュローダバイナリがダウンロードされ、LPC54S0xxプラットフォーム上で実行が開始され、LPC54S0xxプラットフォーム USB1(High-Speed) とホストの間に物理的なUSB接続が残ると、フラッシュローダはコマンドを受信する準備が整います。 blhost -u 0x1fc9,0x01a2 -- プロパティ 12 を取得 blhost -u 0x1fc9,0x01a2 -- メモリいっぱい 0x2000d000 4 0xc0000004 blhost -u 0x1fc9,0x01a2 -- configure-memory 0xa 0x2000d000 blhost -u 0x1fc9,0x01a2 -- プロパティ取得 25 0xa blhost -u 0x1fc9,0x01a2 -t 100000 -- フラッシュ消去領域0x10000000 0x100000 blhost -u 0x1fc9,0x01a2 -t 100000 -- 書き込みメモリ 0x10000000 xxx.bin 注:xxx.bin フラッシュにダウンロードする必要があるターゲットファイルです。 著者: ハオ・リュウ  Hao Liuさん、ありがとうございました。
記事全体を表示
LPC177x_8x u-boot端口 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该项目解释了如何使用 LPC177x_8x 设备为平台构建和部署 u-boot。要构建 u-boot,您需要运行 Linux 操作系统的系统、适用于 Linux 操作系统的最新 CodeSourcery GNU 工具、u-boot 源代码以及适用于 LPC1788 的 u-boot 补丁。 已实现的功能 -------------------------------------------------------------------------------- 支持带有 32 位 DRAM(32MB)的 EA1788 主板 支持EA1788板的NAND FLASH 支持LPC177x_8x内部FLASH 以太网支持 有限的 MPU 支持 u-boot 已知问题 -------------------------------------------------------------------------------- 问题:“重置”命令导致电路板崩溃 解决方法:改用“cmreset”命令 问题:“boot”命令导致主板崩溃 解决方法:使用环境变量和 go 命令编写脚本 问题:bootvx 命令导致主板崩溃 解决方法:无,但没有理由使用此命令 未实现的功能 -------------------------------------------------------------------------------- FLASH“保护”命令和功能未实现(易于实现) 未实现中断/NVIC 支持(易于实现) 可能的改进 -------------------------------------------------------------------------------- Systick 可以代替 LPC1788 匹配定时器 重定位代码已被“绕过”,并且未正确实施 针对设备特定 IRQ 的宏文件,即需要包含弱链接 在启动文件中(特定于架构的设备覆盖) 有一个基本的 MPU 驱动程序,似乎可以工作,但可以改进 以太网驱动程序和 PHY 设置是“特定于板的”,但可以移动 到驱动程序区域,可以使用通用 PHY 支持 u-boot 启动操作概述 -------------------------------------------------------------------------------- 以下是 u-boot 如何在 LPC1788 上启动的概述。 - LPC1788 启动 ROM 将控制权转移到内部 FLASH 中的 u-boot 代码 每个 CM3 启动过程的地址 0x0 - u-boot 代码首先设置 MPU - 引脚复用、时钟和 DRAM 均已初始化 - 代码和数据从 FLASH 迁移到 DRAM - DRAM 中的 BSS 段被清除 - 控制权转移到 DRAM 中的 u-boot 代码 - 调用 u-boot board_init_f() 进行初始 u-boot 设置 - board_init_r() 用于稍后的 u-boot 设置 - u-boot 在 DRAM 之外正常运行 移植文件的位置 -------------------------------------------------------------------------------- arch/arm/cpu/cortex-m3 - Cortex M3 特定文件(mpu、启动等) arch/arm/cpu/cortex-m3/lpc1788 - LPC1788 特定文件(计时器、串行等) arch/arm/include/asm/arch-cortex-m3 - Cortex M3 头文件 arch/arm/include/asm/arch-lpc17xx - LPC177x_8x 特定的头文件 board/nxp - 使用 NXP 设备的电路板专用区域 board/nxp/ea1788 - EA1788 板特定文件(设置、nand 等) include/configs/ea1788.h - EA1788 板特定配置文件
記事全体を表示
i.MX 上的 wxWidgets <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 组装 wxWidgets 版本 2.8。使用 TinyX。由 4 英寸 - 8 英寸的触摸屏供电。
記事全体を表示
FRDM-i.MX95 上的外部 JTAG 调试器连接未输出预期的 JTAG 信号 你好, 我正在尝试将外部 JTAG 调试器连接到 FRDM-i.MX95 板。 根据板原理图,JTAG/DAP 信号似乎被连接到 PCB 上的测试点,一些相关元器件被标记为 DNP。 基于此,我对电路板进行了如下修改: 连接测试点的 JTAG 信号 安装与 JTAG/DAP 信号路径相关的 DNP 电阻器 添加了外部调试器的连接器 将 VTref、GND、TCK、TMS、TDI、TDO 和 RESET 连接到外部调试器 但是,我无法从调试器/电路板端观察到预期的 JTAG 信号输出。 例如,在调试器连接序列期间,TCK/TMS/TDI 没有按预期出现。 请您确认以下几点? 上述修改方法是否适用于将外部 JTAG 调试器连接到 FRDM-i.MX95 板? 要启用外部 JTAG/DAP 接口,是否需要额外的电阻器、跳线、焊桥或板修改? 外部调试器开始驱动 JTAG 信号之前,VTref 电压等级或电源时序是否有任何要求? FRDM-i.MX95 上的 i.MX95 在 JTAG/DAP 接口可访问之前是否需要任何启动模式、熔丝设置、网络安全设置或软件初始化? 外部 JTAG 调试器能否直接访问该板上的 Cortex-A55、Cortex-M33 和 Cortex-M7 内核,还是需要引导加载程序/固件进行额外的初始化? 在使用 FRDM-i.MX95 时,是否有推荐的连接器引脚分配或参考修改指南,以便将外部调试器与 FRDM-i.MX95 配合使用? 如果您能提供在 FRDM-i.MX95 板上启用外部 JTAG 调试的任何指导、原理图参考或所需修改细节,我将不胜感激。 顺祝商祺! Re: External JTAG debugger connection on FRDM-i.MX95 does not output expected JTAG signals 1. 你的修改方法是否正确? 原则上,是的。 如果 FRDM 原理图显示: TCK TMS TDI TDO nTRST 或 RESET VTREF GND 通过测试点和 DNP 填充选项,然后将这些信号路由到连接器通常是正确的方法。 但是,由于搜索结果中没有返回原理图,因此我无法确认所有必需的 DNP 电阻器是否都已安装到位。用户手册中不包含 JTAG 电路图。 2. 为什么检测不到 TCK/TMS/TDI 活性? 通常情况下,当连接 JTAG 探针时: TCK/TMS/TDI 由调试器驱动。 目标板不会生成它们。 如果您在 TCK/TMS 上完全看不到任何切换: 最常见原因 1:未检测到 VTref 许多探针(Lauterbach、J-Link、PE Micro、ULINK 等)只有在 VTref 存在且在有效范围内时才会驱动 JTAG 引脚。 检查: 连接器处的 VTref 电压。 共用接地连接。 探针软件会报告目标电压。 对于 FRDM-i.MX95,DAP I/O 电源似乎与 3.3 V 功能域 (NVCC_CCM_DAP) 有关。板文档显示该功能域由VDD_3V3供电。 最常见原因二:电路板未通电 大多数调试器仅使用 VTref 进行检测。 它们不会为目标提供动力。 核实: 电路板由 J25 供电。 PMIC启动。 VDD_3V3 存在。 电路板上的LED指示灯亮起。 该板需要外部PD电源。 最常见原因#3:缺少信号路由重构 如果 JTAG 路径包含: 0Ω DNP电阻器 隔离电阻器 其他馅料选择 即使缺少一个电阻,也可能导致 TCK/TMS 断开连接。 由于搜索结果中没有原理图,我无法核实电阻器的确切配置。 最常见原因#4:引脚映射错误 用欧姆表验证: 探针引脚 → 连接器引脚 → 电阻器 → 测试点 → i.MX95 球。 不要假设测试点标签与标准的 ARM 20 引脚顺序一致。 3. 是否需要特殊的启动模式? 对于不安全的设备: 观察 JTAG 时钟活动不应该需要启动模式。 一旦调试器检测到 VTref 并开始扫描序列,TCK/TMS 就应该切换。 启动开关会影响: eMMC启动 SD启动 序列号下载器 这与调试器是否生成 TCK 无关。 4. 是否涉及安全设置/熔丝? 有可能。 i.MX95 实现了认证调试和调试访问控制。[i.MX95RM_Rev4 | PDF] 、 [i.MX95RM_Rev2 | PDF] 、 [i.MX95 Sec...2026-final | PowerPoint] 然而: 网络安全设置通常会阻止成功的调试访问。 它们通常不会阻止调试器生成 TCK/TMS 本身。 由于您报告完全没有 TCK 活性,我首先会调查以下问题: VTREF 探针配置 电缆引脚排列 缺失的人口选项 在怀疑网络安全之前。 5. A55、M33 和 M7 可以调试吗? i.MX95调试架构支持: Cortex-A55 Cortex-M33 Cortex-M7 通过 CoreSight/DAP 基础设施。[i.MX95RM_Rev2 | PDF] , [i.MX95RM_Rev5 | PDF] 所以从硅芯片的性能角度来看,是的。 所有功能域是否立即可见取决于: 系统状态, 网络安全配置, 支持调试器。 但调试器通常不需要额外的引导加载程序初始化即可检测到 DAP 本身。 推荐测量方法 在进一步修改电路板之前,我会检查以下几点: 电源 VTref = ?V VDD_3V3 存在 板正常启动 连续性 TCK 连接器 ↔ SoC 路径 TMS连接器↔SoC路径 TDI 连接器 ↔ SoC 路径 TDO 连接器 ↔ SoC 路径 RESET 连接器 ↔ SoC 路径 探针侧 调试软件是否报告目标电压? 它是否显示“检测到目标”? 它是否报告尝试进行 JTAG 链扫描? 示波器 直接探测: 调试器连接器引脚 SoC侧测试点 连接尝试期间。 如果调试器连接器处存在 TCK,但 SoC 测试点处不存在 TCK,则问题几乎肯定出在电路板返工上。 Re: External JTAG debugger connection on FRDM-i.MX95 does not output expected JTAG signals 感谢您的支持。 我们检查了外部 JTAG 调试器连接,发现 问题是由FRDM-i.MX95板和电路板之间的线路长度引起的。 外部 JTAG 调试器。 缩短并重新排列 JTAG 信号线后,调试器…… 能够正确检测到目标,并观察到了JTAG信号。 预期的。 因此,通过改进JTAG接线方式,这个问题已经得到解决。 长度和连接质量。 再次感谢您的帮助。 Re: External JTAG debugger connection on FRDM-i.MX95 does not output expected JTAG signals @kuni1你好,请问你能否提供一些关于如何附加调试器的最新进展或信息?你是如何将 RESET 线连接到电路板上的?你使用的是哪种调试连接器?(J-Link、MCU-Link 等) 我目前也遇到了同样的问题,无法将调试器连接到我的FRDM板,非常感谢您的帮助。 谢谢
記事全体を表示
chromium-ozone-waylandのコンパイル中にビルドが失敗しました こんにちは、 YoctoでIMX8MPボード用にchromium-ozone-waylandをコンパイルしようとしていますが、以下のエラーでコンパイルが失敗します: | デバッグ: Python 関数 extend_recipe_sysroot が完了しました | デバッグ: シェル関数 do_configure を実行中 | エラー //.gn:150:5: 代入が無効でした。 | build_dotfile_settings.exec_script_allowlist + | ^--------------------------------------------- ここで変数「exec_script_allowlist」を設定しましたが、以前は使用されていませんでした。 対象外です。 警告: シェルコマンドからの終了コードが 1 です。 エラー:タスク(/home/admin/Dharmik/IMX8M-Plus/sources/meta-browser/meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_138.0.7204.157.bb:do_configure)終了コード「1」で失敗しました 注:タスクの概要:2814個のタスクが試行され、そのうち2800個は再実行の必要がなく、1個が失敗しました。 conf/local.conf に CORE_IMAGE_EXTRA_INSTALL += "chromium-ozone-wayland" を追加しました。 以下は私のヨクト設定です。 ビルド構成: BB_VERSION = "2.16.0" BUILD_SYS = 「x86_64-linux」 NATIVELSBSTRING = 「ユニバーサル」 TARGET_SYS = "aarch64-poky-linux" MACHINE = "imx8mp-lpddr4-evk" ディストリビューション = "fsl-imx-wayland" DISTRO_VERSION = 「6.18-whinlatter」 TUNE_FEATURES = "aarch64 armv8a crc crypto" ありがとうございます ダルミック Re: Build failed while compiling chromium-ozone-wayland 過去のChromiumバージョンでもこのエラーを見たことがあり、そのビルド状況で私の場合うまくいったのはこのファイルの変更でした。 \tmp\work\armv8a-mx8-poky-linux\chromium-ozone-wayland\117.0.5938.132\chromium-117.0.5938.132\media\gpu\sandbox\BUILD.gn if (current_cpu != "s390x" && current_cpu != "ppc64" && is_linux && ozone_platform_x11 && !is_castos) { # For DRI_DRIVER_DIR. configs += [ "//build/config/linux/dri" ] } このファイルの下部のプラットフォームリストに「&& ozone_platform_x11 」を追加したことで問題は解決しました。 Chromium v138がすでに追加されているか確認してもらえますかozone_platform_x11? よろしくお願いいたします。 ダイアナ Re: Build failed while compiling chromium-ozone-wayland PREFERRED_VERSION_gn-native = "0+git" の変更を追加した後、以下のエラーが発生します。 |DEBUG: Python関数extend_recipe_sysroot完了しました |DEBUG:シェル関数の実行do_configure |//build/config/linux/dri/BUILD.gn:11:20でのエラー:スクリプトがゼロでない終了コードを返しました。 |dri_driver_dir = exec_script(pkg_config_script, |^---------- |現在の編集名: /home/admin/Dharmik/IMX8M-Plus/build-imx8mp/tmp/work/armv8a-mx8mp-poky-linux/chromium-ozone-wayland/138.0.7204.157/sources/chromium-138.0.7204.157/out/Release/ |コマンド: python3 /home/admin/Dharmik/IMX8M-Plus/build-imx8mp/tmp/work/armv8a-mx8mp-poky-linux/chromium-ozone-wayland/138.0.7204.157/sources/chromium-138.0.7204.157/build/config/linux/pkg-config.py --dridriverdir dri |1枚返品して印刷しました: | |pkg-configからのエラーです。 | |スタール: | |pkg-configの検索パスにはdriパッケージが見つかりませんでした。 |おそらく「dri.pc」を含むディレクトリを追加したほうがいいかもしれません |PKG_CONFIG_PATH環境変数に |パッケージの「ドリ」は見つかりませんでした | |//media/gpu/sandbox/BUILD.gn:31:18:を参照し、これがファイルが含まれた原因となりました。 |configs += [ "//build/config/linux/dri" ] |^------------------------- |警告:シェルコマンドからコード1を終了してください。 ありがとうございます ダルミック Re: Build failed while compiling chromium-ozone-wayland こんにちは、ダルミックさん。 local.confにchromiumパッケージ以外にもう一つ追加してみてはどうでしょうか? PREFERRED_VERSION_gn-native = "0+git" 問題が解決しない場合はお知らせください。 よろしくお願いいたします。 ダイアナ
記事全体を表示
RT1160(外部SDRAMおよびウェイトピン付きSRAM搭載) 私はRT1160を外部16ビットSDRAMと16ビットSRAM(FPGA通信用)と組み合わせて使用しています。SRAMインターフェースは、待機ピン付きのSRAM読み書き操作(SRAM)として非同期モードとして構成されます。待機信号がSDRAMのリフレッシュタイミングと競合して何らかの問題を引き起こすのではないかと考えています。SDRAMにコードを書き込んで、SRAM ASYNC書き込み時にwaitピンを約10ms以上ローレベルに保つようにテストしましたが、時々約1msで終了してしまうことがあり、その理由はわかりません。 SDRAMとSRAMの両方を使う場合に制限があるのでしょうか?ご協力いただきありがとうございます。 Re: RT1160 with external SDRAM and SRAM with wait pin こんにちは 約1ミリ秒で終了するとおっしゃっていますが、具体的に何を指しているのでしょうか?SRAMへの書き込みはエラーを返すのか、それともハードフォルトに入るのか?これはどのくらいの頻度で起こりますか? 以下のテストを手伝ってもらえますか? 1. 内部メモリ(SDRAMではない)からコードを実行し、長時間かかる非同期SRAM書き込みを繰り返します。 2. 内部メモリからコードを実行したまま、同じテストを再度実行しますが、今回はSDRAMを有効にした状態でアイドル状態にします。 3. 最初に述べたとおりにテストを実行しますが、SRAM待機信号をアクティブに保持します。 さらに、上記の検査を含めて、以下の点を確認してもらえますか? 転送中にSRAM信号を監視できますか? 各テストのSTEMCイントラレジスタ値を教えてもらえますか? 結果を教えてください。 よろしくお願いします、 パブロ
記事全体を表示
当 PN7160 设置为 LPCD 模式时,不能使用 2×2 厘米天线从 LPCD 模式激活它。 使用 “NFC 天线工具”,我们为 PN7160 设计了一个 2 cm × 2 cm 的板载天线,Q 系数为 20,目标阻抗为 11 Ω。由于这是一个小型天线,我们根据 "PN7160 常见问题 [AN13892]"启用了 PN7160 的 DPC。 在这种情况下,如果我们不启用 PN7160 的 LPCD 模式,两台 PN7160 设备可以通过 P2P 进行正常通信。但是,如果我们启用 PN7160 的 LPCD 模式,PN7160 将无法从 LPCD 模式唤醒。不过,使用相同的驱动器,我们可以用 2 厘米 × 4 厘米的天线从 LPCD 模式激活它。 来自 2 厘米 × 2 厘米天线的 LPCD TRACE 信息如下: D (6358097) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6358597) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6359107) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6359617) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 有关天线设计参数,请参阅附件。 并将 CORE_SET_CONFIG_CMD 设置为 : uint8_t NxpNci_CORE_CONF_EXTN[]={0x20, 0x02, 0x6B, 0x05, /* CORE_SET_CONFIG_CMD */ 0xA0, 0x40, 0x01, 0x81、 /* TAG_DETECTOR_CFG */ 0xA0, 0x41, 0x01, 0x10, /* TAG_DETECTOR_THRESHOLD_CFG */ 0xA0, 0x42, 0x01, 0x0F、 /* TAG_DETECTOR_PERIOD_CFG */ 0xA0, 0x43, 0x01, 0x00, /* TAG_DETECTOR_FALLBACK_CNT_CFG */ 0xA0, 0x0B, 0x57, 0xE5, 0x05, 0x90, 0x6E, 0x0F, 0x4E, /* DPC_CONFIG*/ 0x00, 0x40, 0x95, 0xB7, 0xAA, 0x40, 0x9F, 0xA7, 0x99、 0x53, 0x9F, 0x97, 0x99, 0x5D, 0x9F, 0x97, 0x99, 0x5F, 0x9F, 0x97, 0x00, 0x68, 0x9F, 0x07, 0x00, 0x6A, 0x1F, 0x07, 0x00, 0x74, 0x1F, 0x07, 0x00, 0x78, 0x1F, 0x07, 0x00, 0x7F, 0x1F, 0x07, 0x00, 0x81, 0x1F, 0x07, 0x00、 0x8B, 0x1F, 0x04, 0x00, 0x8C, 0x1F, 0x04, 0x00, 0x96, 0x1F, 0x04, 0x00, 0x98, 0x1F, 0x04, 0x00, 0xA1, 0x1F、 0x02、0x00、0xA9、0x1F、0x00、0x00、0xAF、0x1F、0x00、 0x00、0xB8、0x1F、0x00、0x00、0xC2、0x1F、0x00、0x00 }; 这个问题是由天线匹配还是寄存器设置引起的? Re: When the PN7160 is set to LPCD mode, it cannot be activated from LPCD mode using a 2×2 cm antenn 您好,感谢您对我们的产品感兴趣。 您的设置有一些局限性,我想谈谈。 尽管可以使用 2x2 厘米的天线,但建议尝试使用尺寸稍大的天线。 我还想澄清一点,NFC 论坛不推荐使用 P2P,我们强烈建议使用 HCE 和读/写模式。 启动器的天线尺寸很可能太小,不会导致目标失调。 您是否尝试过用普通的 PICC(如卡片)唤醒 LPCD 读取器?这样做的结果是什么? 请分享史密斯手推车和原型图,以便进一步审查。 Re: When the PN7160 is set to LPCD mode, it cannot be activated from LPCD mode using a 2×2 cm antenn 您能测量天线的阻抗吗? 似乎相对较低。 Re: When the PN7160 is set to LPCD mode, it cannot be activated from LPCD mode using a 2×2 cm antenn 非常感谢您的答复,但我现在没有 VNA。如果还是不能解决问题,我就去买一个。您还有其他建议吗? Re: When the PN7160 is set to LPCD mode, it cannot be activated from LPCD mode using a 2×2 cm antenn 非常感谢您的回复。 目前,我们使用 P2P 是为了兼容性而做出的妥协。我们重新优化了天线形状和 PCB 布局,但问题依然存在。附件中的第一张图片是天线原理图,其中包含使用 "NFC 天线工具 "生成的参数;第二张图片是 PN7160 及其外围电路的原理图;第三和第四张图片显示了 PCB 布局的顶视图和底视图;第五张图片显示了我们输入 NFC 天线工具的参数。 根据 AN13219(PN7160 天线设计和匹配指南)第 23 页,我们将非对称和对称调谐方案的 Q 值、目标阻抗、fEMC 截止频率和 L0 分别设置为 20、13 Ω、22 MHz 和 20、11 Ω、14.6 MHz。但是,在这两种情况下,LPCD TRACE 的通知信息仍然是: D (564760) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03。 无论我们用手指还是金属物体靠近天线,测量结果都不会改变。 Re: When the PN7160 is set to LPCD mode, it cannot be activated from LPCD mode using a 2×2 cm antenn 我们还参考了 "PN7160 天线设计与匹配指南",并使用该程序读取了 AGC 值: 无效 Get_AGC(SemaphoreHandle_t Semaphore_PN7160_IRQ) { uint8_t 获取[] ={0x2F, 0x3D, 0x04, 0x02, 0xC8, 0x60, 0x03}; uint8_t 答案[255]; uint16_t 答案大小; 虽然(1)     { printf("\n");   NxpNci_HostTransceive(Semaphore_PN7160_IRQ, 获取, sizeof(获取), 答案, 大小(答案), &答案大小); 如果((答案[0] != 0x4F) ||(答案[1] != 0x3D) ||(答案[3] != 0x00)) { printf("错误,无法获取参数值\n");      } 不然 { printf("\n"); printf("测量的 AGC 值 (LSB)= %.2Xh", 答案[4]); printf("\n"); printf("测量的 AGC 值 (MSB)= %.2Xh", 答案[5]); printf("\n");      }    } }   不过,我们得到的结果很奇怪,它并没有列在 UM11495 号文件的 TEST_ANTENNA_RSP 返回值列表中。我们读取的值是 0x06: (7600) PN7160_I2C:NCI>> 0x2f 0x3d 0x04 0x02 0xc8 0x60 0x03 D (7600) PN7160_I2C:NCI<< 0x4f 0x3d 0x01 0x06 但 UM11495 只提到四种可能的结果: 0x00: STATUS_OK 0x01: 拒绝执行测试(PN7160 处于错误状态) 0x04: STATUS_TEST_EXEC_FAILED 0x09: STATUS_INVALID_PARAM 其他:RFU
記事全体を表示