Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
RFID Discover 上的 Mifare Desfire EV3 实践指南 在日常工作中,许多客户询问如何开发 MIFARE DESFire EV3。是的,Mifare Desfire EV3 确实是一款安全性很高的产品,但相关的应用文档复杂且难以使用,客户可能需要花费大量时间进行研究,因此我想与您分享这些内容。
查看全文
串行下载器 - 奇怪的问题 我在 RT1052 上遇到了一个奇怪的问题,如果我将启动引脚配置为串行启动。 它无法启动固件,也不会进入串行下载器模式(既不是 UART 或非 USB)。 但当我将 GPIO_B0_15 下拉至 GND 时,串行下载正常工作。 我找不到任何关于这个信号对启动过程的影响的文档。 - 处理器出厂时是全新的 - TXD1/RXD1 有上拉电阻 顺便说一下:烧录 BT_FUSE_SEL 串行下载后可以正常工作 我们已经开发了几个类似的电路,以前从未遇到过这个问题。
查看全文
mke06128vqh4のuart0 こんにちは、友人の皆さん。私は MKE06Z128VQH4 マイクロコントローラを使用して設計したボードを持っており、その中でいくつかの出力と入力を使用しています。私は KBI 入力を 1 つ、タイマーを 3 つ、カウンターを 1 つ使用しています。SO、問題はありません。すでに設定を行っており、動作しています。 現在、UART0 シリアル ポートに取り組んでおり、USB-TTL シリアル アダプターを PC に接続してデータを受信または送信しています。SDKs ライブラリを使用して情報を送受信することができませんでした。MCUXpresso を使用した私の構成は画像のとおりです。 ピン: 時計には外部水晶12MHZがあります。 FLL にエラーがあるため、FEE オプションをCANません。FBELP を使用して設定を行っています。 UART0 では、割り込み受信および送信ポーリングを使用して構成を行っています。 インストールされている SDK は次のとおりです。 サンプルの SDK があります: これらの例を使用しても、UART0 を動作させることができません。何らかのガイダンスが必要です。UART0 を動作させるために数日間試行しています。 Re: uart0 in mke06128vqh4 こんにちは@Iotelctronic デモ版は変更せずにそのままご利用ください。 私の側でテストしましたが、問題は見つかりませんでした BR アリス Re: uart0 in mke06128vqh4 こんにちは、アリス!ポーリングを使用してデモでテストしましたが、機能しません。 codigo main.c: #include "pin_mux.h" #include "board.h" #include "fsl_uart.h" /******************************************************************************* * Definitions ******************************************************************************/ /* UART instance and clock */ #define DEMO_UART UART1 #define DEMO_UART_CLK_FREQ CLOCK_GetFreq(kCLOCK_BusClk) /******************************************************************************* * Prototypes ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ uint8_t txbuff[] = "Uart polling example\r\nBoard will send back received characters\r\n"; uint8_t rxbuff[20] = {0}; /******************************************************************************* * Code ******************************************************************************/ /*! * @brief Main function */ int main(void) { uint8_t ch; uart_config_t config; BOARD_InitBootPins(); BOARD_InitBootClocks(); config.baudRate_Bps = 115200U; config.parityMode = kUART_ParityDisabled; config.stopBitCount = kUART_OneStopBit; //config.txFifoWatermark = 0; //config.rxFifoWatermark = 1; config.enableTx = false; config.enableRx = false; // UART_GetDefaultConfig(&config); // config.baudRate_Bps = BOARD_DEBUG_UART_BAUDRATE; // config.enableTx = true; //config.enableRx = true; UART_Init(DEMO_UART, &config, DEMO_UART_CLK_FREQ); UART_WriteBlocking(DEMO_UART, txbuff, sizeof(txbuff) - 1); while (1) { UART_ReadBlocking(DEMO_UART, &ch, 1); UART_WriteBlocking(DEMO_UART, &ch, 1); } } Re: uart0 in mke06128vqh4 こんにちは@Iotelctronic 1) クロックに関しては、12 MHz 水晶が正常に機能しているかどうかを確認し、構成を確認してください。 2) KE06 は DMA をサポートしていません。 よろしくお願いします。 BR アリス Re: uart0 in mke06128vqh4 こんにちは。問題を見つけました。レジスターを使用していた SDK の例やその他のプロジェクトは機能せず、常に間違ったデータと間違った文字が送信されました。私は外部の 12 MHz 水晶を使用していますが、その水晶では正確に 115200 のボー レートを生成できません。ただし、 12 MHz 水晶をはんだ付けせずに構成を 8 MHz に変更すると、正常に動作します。私の大きな疑問は、構成を 8 MHz に変更しても 12 MHz の水晶を変更しないとなぜ機能するのかということです。私が示しているコードは.freqで行った変更です= 8000000U。これについて説明はありますか?また、MKE06Z128VQH4 マイクロコントローラには UART で使用するための DMA があるかどうかもお聞きしたいです。 /*********************************************************************************************************************** * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. **********************************************************************************************************************/ /* * How to setup clock using clock driver functions: * * 1. call CLOCK_SetSimSafeDivs() to set the system clock dividers in SIM to safe value. * * 2. If external oscillator is used Call CLOCK_SetXtal0Freq() to set XTAL0 frequency based on board settings and * call CLOCK_InitOsc0() to init the OSC. * * 3. Call CLOCK_BootToXxxMode()/CLOCK_SetXxxMode() to set ICS run at the target mode. * * 4. If ICSIRCLK is needed, call CLOCK_SetInternalRefClkConfig() to enable the clock. * * 5. call CLOCK_SetSimConfig() to configure the divider in sim. */ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!GlobalInfo product: Clocks v7.0 processor: MKE06Z128xxx4 package_id: MKE06Z128VLK4 mcu_data: ksdk2_0 processor_version: 9.0.0 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ #include "clock_config.h" /******************************************************************************* * Definitions ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ /* System clock frequency. */ extern uint32_t SystemCoreClock; /******************************************************************************* ************************ BOARD_InitBootClocks function ************************ ******************************************************************************/ void BOARD_InitBootClocks(void) { BOARD_BootClockRUN(); } /******************************************************************************* ********************** Configuration BOARD_BootClockRUN *********************** ******************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!Configuration name: BOARD_BootClockRUN called_from_default_init: true outputs: - {id: Bus_clock.outFreq, value: 20 MHz} - {id: Core_clock.outFreq, value: 40 MHz} - {id: Flash_clock.outFreq, value: 20 MHz} - {id: ICSFF_clock.outFreq, value: 31.25 kHz} - {id: ICSIR_clock.outFreq, value: 37.5 kHz} - {id: LPO_clock.outFreq, value: 1 kHz} - {id: OSCER_clock.outFreq, value: 8 MHz} - {id: Plat_clock.outFreq, value: 40 MHz} - {id: System_clock.outFreq, value: 40 MHz} - {id: Timer_clock.outFreq, value: 20 MHz} settings: - {id: ICSMode, value: FEE} - {id: ICS.BDIV.scale, value: '1', locked: true} - {id: ICS.IREFS.sel, value: ICS.RDIV} - {id: ICS.RDIV.scale, value: '256'} - {id: ICS_C1_IRCLKEN_CFG, value: Enabled} - {id: OSC_CR_OSCEN_CFG, value: Enabled} - {id: OSC_CR_OSC_MODE_CFG, value: ModeOscLowPower} - {id: OSC_CR_RANGE_CFG, value: High} - {id: OSC_CR_RANGE_RDIV_CFG, value: High} - {id: SIM.DIV2.scale, value: '2'} - {id: SIM.DIV3.scale, value: '2', locked: true} sources: - {id: OSC.OSC.outFreq, value: 8 MHz, enabled: true} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ /******************************************************************************* * Variables for BOARD_BootClockRUN configuration ******************************************************************************/ const ics_config_t icsConfig_BOARD_BootClockRUN = { .icsMode = kICS_ModeFEE, /* FEE - FLL Engaged External */ .irClkEnableMode = kICS_IrclkEnable, /* ICSIRCLK enabled, ICSIRCLK disabled in STOP mode */ .bDiv = 0x0U, /* Bus clock divider: divided by 1 */ .rDiv = 0x3U, /* FLL external reference clock divider: divided by 256 */ }; const sim_clock_config_t simConfig_BOARD_BootClockRUN = { .outDiv1 = 0x0U, /* DIV1 clock divider: divided by 1 */ .outDiv2 = 0x1U, /* DIV2 clock divider: divided by 2 */ .outDiv3 = 0x1U, /* DIV3 clock divider: divided by 2 */ .busClkPrescaler = 0x0U, /* bus clock optional prescaler */ }; const osc_config_t oscConfig_BOARD_BootClockRUN = { .freq = 8000000U, /* Oscillator frequency: 12000000Hz */ .workMode = kOSC_ModeOscLowPower, /* Oscillator low power */ .enableMode = kOSC_Enable, /* Enable external reference clock, disable external reference clock in STOP mode */ }; /******************************************************************************* * Code for BOARD_BootClockRUN configuration ******************************************************************************/ void BOARD_BootClockRUN(void) { /* Set the system clock dividers in SIM to safe value. */ CLOCK_SetSimSafeDivs(); /* Initializes OSC0 according to board configuration. */ CLOCK_InitOsc0(&oscConfig_BOARD_BootClockRUN); CLOCK_SetXtal0Freq(oscConfig_BOARD_BootClockRUN.freq); /* Set ICS to FEE mode. */ CLOCK_BootToFeeMode(icsConfig_BOARD_BootClockRUN.bDiv, icsConfig_BOARD_BootClockRUN.rDiv); /* Configure the Internal Reference clock (ICSIRCLK). */ CLOCK_SetInternalRefClkConfig(icsConfig_BOARD_BootClockRUN.irClkEnableMode); /* Set the clock configuration in SIM module. */ CLOCK_SetSimConfig(&simConfig_BOARD_BootClockRUN); /* Set SystemCoreClock variable. */ SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK; } Re: uart0 in mke06128vqh4 ありがとう、クロックの問題は水晶のはんだが12MHZではなく8MHZであることです
查看全文
如何使 ATF 装载地址恒定? 我正在开发一款自定义 s32g3 板,我使用的是 yocto BSP43,每当我添加任何主要功能(例如:-HSE、SECURE 启动)时,ATF 的负载地址都会动态变化,这会导致引导加载程序更改以配置新的负载地址。因此,只要 A-CORE 或 ATF 有更新,我就会同时更新引导加载器。那么,有没有办法可以将加载地址设置为 ATF,这样即使在多次版本或添加新功能之后,加载地址也保持不变,其余的将与设置的加载地址对齐。 注意:这样做的主要目的是避免每次 ATF 更新时都更改引导加载程序 Re: how to make ATF load address constant ? 你好 Chenyin, 我已经更改了 BL2_BASE,它可以正常工作,但是负载地址仍在动态变化,例如,如果我添加 HSE 模块,我得到的负载地址与没有 HSE 模块的代码包不同,我们如何将负载地址设为静态?考虑到 BL2_BASE 在所有情况下都是一样的。 谢谢 sandeep Re: how to make ATF load address constant ? 你好,@sandeep3 谢谢你的帖子。 我建议在构建 TFA 时添加 BL2_BASE=$Address_Specified,然后可以计算出加载地址,你可以参考 s32_common.mk 了解详情。 BR 切宁
查看全文
MPC5748G: Flexcan 擬似ネットワークを使用した STOP モードからのウェイクアップ STOP モードに入り、RTC から起動できるアプリケーションがあります。 CAN0 からもウェイクアップできるようにしたいです。 今のところ、私はそれを達成できていません。 クロックを設定し、WKPU、RTC、CAN0、MC_ME を構成するコードを含む cpp ファイルを添付します。 私のコードのどこが間違っているかお分かりですか? Re: MPC5748G: Wakeup from STOP mode using Flexcan Pretended Networking @PetrS返信が大変遅くなり申し訳ありません。さまざまな仕事が割り当てられました。さて、これに戻りましょう。 F40 クロックと FXOSC の両方の提案を試しましたが、成功しませんでした。 MPC5748G を停止モードにして、CAN メッセージが到着したときに起動する小さなサンプル アプリケーションを構築することは可能でしょうか? また、返信が遅くなり大変申し訳ございません。 Re: MPC5748G: Wakeup from STOP mode using Flexcan Pretended Networking こんにちは、 以下は役に立つでしょうか?しかし、LPU_RUN/STOP モードを使用しているようです。 https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-MPC5748G-PretendedNetworkingCAN-S32DS-1-0/ta-p/1108821 BR、ペトル Re: MPC5748G: Wakeup from STOP mode using Flexcan Pretended Networking PEMicro 設定を添付します。 Re: MPC5748G: Wakeup from STOP mode using Flexcan Pretended Networking サンプル プロジェクトをダウンロードしましたが、プロジェクトをスリープ状態から復帰させることができません。 実際、デバッガーを Z4_1 (このプロジェクトはここで実行されていると思われます) に接続することすらできません。 停止すると、main の最初の命令にブレークポイントが設定されている場合でも、アドレス 0x0 に移動します。 Z4_0 は当社独自のソフトウェアにのみ使用しています。 トラブルシューティングに関する提案はありますか? 以下は PEMicro gdbserver からの出力です。 https://gist.github.com/dannas/2ea6ec655176ad2c36a5429b9517d37c ソフトウェアをロードでき、起動時に LED が点滅することで実行中であることを確認しました。 Re: MPC5748G: Wakeup from STOP mode using Flexcan Pretended Networking こんにちは、 私の知る限り、P&E マイクロ デバッガーは低電力デバッグ (enter/exit) をサポートしていません。 BR、ペトル Re: MPC5748G: Wakeup from STOP mode using Flexcan Pretended Networking まだこの問題を解決できていません。添付されたサンプル プロジェクトで CAN フレームを使用してプロセッサをスリープ状態から復帰させることもできませんでした。 1. あなたのボードでも動作しますか? 2. 他に何をテストすればよいか、何か提案はありますか? 3. このサンプル プロジェクトは LPU_STOP モード用であり、これまでは通常の STOP モードをターゲットにしてきました。代わりに STOP モードを使用するようにサンプル プロジェクトを調整することは可能ですか? Re: MPC5748G: Wakeup from STOP mode using Flexcan Pretended Networking より焦点を絞った、より実行可能な新しい質問を作成しました。 https://community.nxp.com/t5/MPC5xxx/MPC5748G-Sample-for-Pretended-Networking-CAN-wakeup-from-STOP/mp/2303844#M28310
查看全文
NFM18PC225B1A3 生命周期结束 - 1:1 替换? 如果制造商村田没有提供后续类型,NFM18PC225B1A3 馈通电容将停产。 因为许多 QorIQ / Layerscape 设计检查列表中都有该过滤器:恩智浦是否有可用的 1:1 替换类型的信息? 根据我自己的研究,只有 TDK 的 YFF18PH0J225MT000N 可以替代,但焊盘布局略有不同(两个内焊盘而不是一个)。此外,还有一些焊盘布局相同、标称电容值较低的产品,它们的标称电容值为 1 uF,而不是 2.2 uF。 约翰内斯 Re: NFM18PC225B1A3 End of Life - 1:1 Replacement? 是否有最新进展?我们可以在新设计中使用 TDK 部件吗? Re: NFM18PC225B1A3 End of Life - 1:1 Replacement? 到目前为止,我的团队认为你们的 TDK 部分没有问题。 Re: NFM18PC225B1A3 End of Life - 1:1 Replacement? 与 AE 团队确认。
查看全文
在 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 中使用中断我正在轮询寻找那个标志。 您提到"虚假队列结束语" ,能否请您解释一下这是什么意思? 谢谢! 此致, 克里希纳
查看全文
IMX8MP uboot configured with dual channel lvds, showing the presence of colored vertical lines Background: Currently according to the patch <8MP_LVDS_patch > configure uboot's lvds display, using 1280x800 single-channel screen display is normal; based on this basis need to realize 1920x1080 dual-channel display, has been configured as follows: 1. Configure the screen reference of lvds: timing_lvds: timing_lvds { clock-frequency = <141140000>; hactive = <1920>; vactive = <1080>; hfront-porch = <94>; hback-porch = <92>; hsync-len = <2>; vback- porch = <18>; vfront-porch = <16>; vsync-len = <2>; hsync-active = <1>; vsync-active = <1>; de-active = <1>; } ; 2. Write the register configuration of ldb: //CH1 #define CH1_DATA_WIDTH_24BIT (1 << 7) #define CH1_BIT_MAPPING_JEIDA (1 << 😎 #define CH1_BIT_MAPPING_SPWG (0) << 😎 media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH0_DATA_WIDTH_24BIT | CH0_BIT_MAPPING_JEIDA | LDB_CH1_MODE_EN_TO_DI0 | CH1_DATA_WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA); media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH1_DATA_ WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA). 3. According to the formula, calculate the PLL value: PLL_1443X_RATE(987980000U, 823, 5, 2, 20971), the There is a logo screen displayed, but the screen shows the presence of colored vertical lines, what could this be, please help troubleshoot, thanks; looking forward to your reply! i.MX 8M | i.MX 8M Mini | i.MX 8M Nano i.MX8ULP Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin Since the bmp display in kernel and uboot is not the same function, so for now I suspect that there is something wrong with the bmp display related function, please try to replace the video_bmp_display function. int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, bool align) { struct video_priv *priv = dev_get_uclass_priv(dev); int i, j; uchar *start, *fb; struct bmp_image *bmp = map_sysmem(bmp_image, 0); uchar *bmap; unsigned long width, height; unsigned long pwidth = priv->xsize; unsigned colours, bpix, bmp_bpix; enum video_format eformat; struct bmp_color_table_entry *palette; int hdr_size; int ret; if (!bmp || !(bmp->header.signature[0] == 'B' && bmp->header.signature[1] == 'M')) { printf("Error: no valid bmp image at %lx\n", bmp_image); return -EINVAL; } video_bmp_get_info(bmp, &width, &height, &bmp_bpix); hdr_size = get_unaligned_le16(&bmp->header.size); debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix); palette = (void *)bmp + 14 + hdr_size; colours = 1 << bmp_bpix; bpix = VNBITS(priv->bpix); eformat = priv->format; if (bpix != 1 && bpix != 8 && bpix != 16 && bpix != 32) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, bmp_bpix); return -EINVAL; } /* * We support displaying 8bpp and 24bpp BMPs on 16bpp LCDs * and displaying 24bpp BMPs on 32bpp LCDs */ if (bpix != bmp_bpix && !(bmp_bpix == 8 && (bpix == 16 || bpix == 24 || bpix == 32)) && !(bmp_bpix == 24 && (bpix == 16 || bpix == 32))) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, colours); return -EPERM; } debug("Display-bmp: %d x %d with %d colours, display %d\n", (int)width, (int)height, (int)colours, 1 << bpix); unsigned long bmp_stride_bytes = ((width * bmp_bpix + 31) / 32) * 4; unsigned long dst_bytes_per_pixel = bpix / 8; if (!dst_bytes_per_pixel) dst_bytes_per_pixel = 1; if (align) { video_splash_align_axis(&x, priv->xsize, width); video_splash_align_axis(&y, priv->ysize, height); } if ((x + width) > pwidth) width = pwidth - x; if ((y + height) > priv->ysize) height = priv->ysize - y; bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset); start = (uchar *)(priv->fb + (y + height) * priv->line_length + x * (bpix / 8)); /* Move back to the final line to be drawn (BMP 自下而上存储) */ fb = start - priv->line_length; switch (bmp_bpix) { case 1: case 8: { unsigned long src_bpp_bytes = 1; unsigned long dst_line_bytes = width * (bpix / 8); if (!dst_line_bytes) dst_line_bytes = width; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { write_pix8(fb, bpix, eformat, palette, bmap); bmap++; fb += (bpix / 8) ? (bpix / 8) : 1; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= dst_line_bytes + priv->line_length; } break; } case 16: if (CONFIG_IS_ENABLED(BMP_16BPP)) { unsigned long src_bpp_bytes = 2; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { *fb++ = *bmap++; *fb++ = *bmap++; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= width * 2 + priv->line_length; } } break; case 24: if (CONFIG_IS_ENABLED(BMP_24BPP)) { unsigned long src_bpp_bytes = 3; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (bpix == 16) { /* 16bit 565RGB format */ *(u16 *)fb = ((bmap[2] >> 3) << 11) | ((bmap[1] >> 2) << 5) | (bmap[0] >> 3); bmap += 3; fb += 2; } else if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = 0; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; case 32: if (CONFIG_IS_ENABLED(BMP_32BPP)) { unsigned long src_bpp_bytes = 4; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; pix |= ((u32)(*bmap++) >> 6) << 30U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ bmap++; /* alpha (忽略) */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; /* opacity */ } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; default: break; }; /* Find the position of the top left of the image in the framebuffer */ fb = (uchar *)(priv->fb + y * priv->line_length + x * (bpix / 8)); ret = video_sync_copy(dev, start, fb); if (ret) return log_ret(ret); return video_sync(dev, false); } Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, @zhiming Good morning, sorry for the late reply due to a lot on my hands! I tried gateworks.bmp, the display is not very good; as shown in the following logo.png; check the uboot driver does not have the VIDEO_FONT_16X32 configuration option; I did a verification, with a 1920x1080 logo image, made into a 1280x800 logo, respectively, placed in uboot and kernel I did a verification with a 1920x1080 logo image, made into a 1280x800 logo, and put it on uboot and kernel respectively, uboot has a jagged situation of cutting diagonal angle; while kernel display is completely normal; thank you for following up the problem! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin The problem is still related to the resolution of the material, if you increase the resolution of the material, the jaggedness will be much less. The logo in the attachment is 296x72, but in reality it is not 296x72 pixels on the screen, so it will be stretched. You can try tools/logos/gateworks.bmp (600x93) in the same directory and see if the horizontal jaggedness is much less. For fonts, try turning on the option VIDEO_FONT_16X32, which is more suitable for high resolution screens. Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN Can you upload a copy of the logo image you're currently using (the one in the right image above)? Is the default NXP logo also displayed in dual channel 1080p? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, thanks for the reply! The situation is as follows: 1, the default NXP logo display also has a jagged effect, as shown in the attachment 2, there is a replacement of 1920x1080 logo image, in uboot tilted part of the presence of jagged, the rest of the display is normal; in the kernel under the file is too large, can not be displayed 3, converted to 1280x800 logo image, the effect is still the same in uboot, kernel display Normal 4, switch to 1280x800 single channel screen, uboot and kernel display are normal Single-channel display is normal, but dual-channel replacement of the logo image, uboot display will be abnormal Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN Did you have a problem with the default logo display as well as the fonts before you replaced the logo? I took a closer look at the image above and it looks like the resolution of the clip itself doesn't match the screen, I wonder if you have a higher resolution image displayed there to test and see what's going on with the higher resolution? Also, is it the same if the kernel stage shows the same logo material? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 早上好,zhiming        按照内核的lvds寄存器写入;我在uboot中也进行了配置;但效果没有改善:logo倾斜部分还是存在锯齿;请问还有其余操作可以优化吗;期待你的回复! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin Corresponds to this section of the kernel's configuration, which is not in the uboot patch because only a single channel was tested at that time. You need to write the value to the lvds_ctrl register in the uboot patch. https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/phy/freescale/phy-fsl-imx8mp-lvds.c#L113 Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the follow up, the logo graphic phenomenon is shown below: there are jaggies involving the slanted part of the fonts and the pattern. Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hello, uboot did not find the corresponding phy file: "fsl,imx8mp-lvds-phy ", in which place should be written to the registers it; <8MP_LVDS_patch>patch does not have this driver file either. Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin You can refer to the settings in the linux lvds phy driver, set these three bits of LVDS_CTRL and the drive capability should be much better. phy_write(phy, priv->devdata->lvds_ctrl, CC_ADJ(0x2) | PRE_EMPH_EN | PRE_EMPH_ADJ(0x3)); Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the reply! The logo image is also partially jagged, switching to a 1280x800 single-channel screen, the logo display is normal; I have adjusted various panel clocks and PLL values, but none of them can be improved; any suggestions, please? Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, Is there any exception in the LOGO section? If it's a word, it should have nothing to do with the lvds controller and everything to do with display font optimization in uboot. Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hello, lvds screen display logo there is a phenomenon: logo part of the letter there is jagged phenomenon, how to optimize it; look forward to your reply! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the guidance, it's the point of the question Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, There is this line in the code, val |= CH_EN, here only channel0 is enabled, BIT0, while BIT2 needs to be set. Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, thanks for the reply; change LDB_CH1_MODE_EN_TO_DI0 to LDB_CH1_MODE_EN_TO_DI1, the display still works! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN You try changing LDB_CH1_MODE_EN_TO_DI0 to LDB_CH1_MODE_EN_TO_DI1 Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi,Zhiming     感谢您的回复以及对问题的跟进,最近工作比较繁忙,回复比较晚请见谅;我进行了替换操作 1、当前5.10.72对应的uboot2021版本,替换后会报没有video_format定义;而在6.6.52对应的uboot2024版本是有的,我同步了这部分配置: +++ b/include/video.h @@ -56,6 +56,15 @@ enum video_log2_bpp { VIDEO_BPP32, }; + +enum video_format { + VIDEO_UNKNOWN, + VIDEO_RGBA8888, + VIDEO_X8B8G8R8, + VIDEO_X8R8G8B8, + VIDEO_X2R10G10B10, +}; + 2、进一步编译,报这一部分的错,不清楚怎么解决;希望能得到你的进一步回复,感谢!! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 HI @DADAXIN @Zhiming_Liu Hello, I have the same phenomenon as you ( jaggedness ), may I ask, after modifying this function (video_bmp_display), the display is messed up, may I ask where else did you modify it?
查看全文
SDRAMのSEMC構成 こんにちは、 私はカスタム NXP RT1176 ボードを使用していますが、SDRAM の SEMC インターフェースでは、ハードウェアはアドレス ライン A0 ~ A11 のみを提供します。この構成では、最大 16MB の SDRAM にアクセスできます。 ただし、32MB を使用したいSO、64MB SDRAM 部品 (Alliance AS4C32M16SB) を選択し、A12 アドレス ラインをフローティングのままにしました。私の意図は、デバイスの下位 32MB を使用することです。 私は SEMC を 64MB に設定し、メモリ範囲を 0x80000000 から 0x80FFFFFF にマッピングしました。この領域では、特定のアドレスで 16 ビットの読み取り/書き込み障害が発生しています。 興味深いことに、0x81000000 から 0x81FFFFFF (上位 32MB) までのメモリにアクセスすると、正常に動作します。 設定に使用したコードを添付しました。これをCAN確認して、改善が必要かどうか、またはこの種のセットアップ (A12 フローティングを使用) が有効であり、SEMC でサポートされているかどうかをお知らせください。 よろしくお願いします、 パバナクマールAG Re: SEMC Configuration for SDRAM A12 は SDRAM 側で低く保持する必要があります (製造元に確認することをお勧めします)。 BR、 オマール Re: SEMC Configuration for SDRAM @Omar_Anguiano さん、返信ありがとうございます。 当社のボードでは、A12 はコントローラ側と SDRAM 側の両方でフローティングになっています。おっしゃるとおり、A12 は既知のロジック レベルに保持される必要があります。以下を明確にしていただけますか: このCASE、A12 にはどのロジック レベル (HIGH または LOW) を使用すればよいですか? 両側で A12 を同じ既知のレベルに駆動する必要がありますか、それとも SDRAM 側でのみ設定すれば十分ですか? Re: SEMC Configuration for SDRAM フローティングラインを避けてください。理想的には、A12 を浮いたままにせず、既知のロジック レベルに接続して下位半分にアクセスできるようにします。 BR、 オマール
查看全文
非 XIP 通过 JTAG RT1176 根据这份应用笔记:https://www.nxp.com/docs/en/application-note/AN14069.pdf,非 XIP 图像只能通过 UART 和 USB 通过 MCU Boot Utility 加载。 我想确认在 MCUXpresso IDE 中是否无法通过 MCU Link 或 Jlink 将 XIP 映像加载到闪存中? 如果必须使用 MCU Link,我想确认这些是正确的 UART 引脚。我在数据表上看不到通过 USB 启动的选项:https://www.nxp.com/docs/en/data-sheet/IMXRT1170AEC.pdf(如果我错过了,请原谅)。我在网上看过几件事提到通过 USB 启动只是将 USB 连接到相同的 UART 引脚吗? 谢谢! 安特奥 Re: NON XIP via JTAG RT1176 你好@AnteoJ、 感谢您对 NXP MIMXRT 系列的关注! 非XIP映像,例如从SD卡启动的镜像,需要使用McubootUtility或恩智浦的官方MCUXpresso安全配置工具进行刷新。 如果映像是 XIP,则可通过 JLink/DAP 等调试器将其编程为闪存。这在 MCUXpressoIDE 或其他集成开发环境中都很容易实现。 如果您使用的是 RT1170-EVK/EVKB,您会发现电路上有一个 MCU-Link,它是一个板调试器,可以方便客户在不使用外部调试器的情况下直接通过板调试器刷新程序和进行调试。此外,通过对不同固件进行编程,MCU-Link 可更改为 JLink 或 CMSIS-DAP 调试器。 详情请查看 EVK/EVKB 硬件原理图。 致以最诚挚的问候, Gavin
查看全文
MaaxBoard (NXP i.MX93) で GPIO およびタイマー ピンを構成し、pinmux 設定を有効にする方法は? 私は MaaxBoard (NXP i.MX93 プロセッサベース) を使用していますが、次のユースCASEの pinmux とピン構成の設定について支援が必要です。 トリガー ピン (出力) として GPIO ピンが 1 つ必要です。 1 つのピンをタイマー入力 (TPM 入力キャプチャまたは PWM) 用に構成する必要があります。 問題は次の通りです: GPIO ピンが読み取り/書き込み操作に正しく応答しません。 pinmux 構成が欠落しているか間違っているか、デバイス ツリーが適切に更新されていないと思われます。 以下の点についてご協力いただけますでしょうか? MaaxBoard のピン配置とリファレンス マニュアルで GPIO とタイマーの正しいピン名とパッドを見つけるにはどうすればよいでしょうか? 必要なピン多重化を有効にするには、デバイス ツリー (.dts) にどのような変更を加える必要がありますか。 GPIOピンを出力用に設定し、ユーザー空間からの読み取り/書き込みを許可する タイマーピンを入力キャプチャまたはPWM用に設定する MaaxBoard で GPIO が正しく動作しない原因となる一般的な問題はありますか? 1 つの GPIO を読み取りと書き込み用に設定する方法の例はありますか?そのために、pin_mux.c や app.h など、何を更新する必要がありますか? i.MX93 #マックスボード MCX C Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? こんにちは、Manjunathb MaaxBoard は Element14 によって製造およびサポートされています。所有者に問い合わせて、BSP とボードに関する詳しい情報を入手することをお勧めします。 MaaXBoard OSM93 - element14 コミュニティ MaaXBoardハードウェアデザイン - element14コミュニティ    i.MX 93 EVK 用の NXP MCUXpresso SDK も参照できます。 SDKは以下からダウンロードできます。 MCUXpresso SDK Builder パッケージ内には TPM と GPIO / タイマーのデモが含まれています。 よろしくお願いします。 ダニエル よろしくお願いします。 ダニエル Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? -> ここで参考のためにコードを添付しました。1 つの GPIO を構成して読み取りおよび書き込み操作を実行するだけで、コードを次のように更新しました。   /* * 著作権 (c) 2015、Freescale Semiconductor, Inc. * 著作権 2016-2017 NXP * 無断転載を禁じます。 * * SPDXライセンス識別子: BSD-3条項 */ #include "board.h" #include "fsl_debug_console.h" #include "fsl_rgpio.h" #include "app.h" /**************************************************************************************** * 定義 **********************************************************************************/ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /*! * @briefしばらく遅延します。 */ void遅延( void ); /**************************************************************************************** * 変数 **********************************************************************************/ /**************************************************************************************** * コード **********************************************************************************/ /*! * @briefメイン関数 */ int main( void ) { /*[手動で]-> GPIO入力のinit構造体を定義する*/ rgpio_pin_config_t 入力構成 = {         kRGPIO_デジタル入力、         0 , }; /* ボードピン、クロック、デバッグコンソールの初期化 */ BOARD_InitHardware(); /* 端末にメモを印刷します。*/     PRINTF ( "\r\n GPIO は状態の読み取りを開始します.....\r\n" ); /* 出力 LED GPIO を初期化します。*/ RGPIO_PinInit( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN 、 &input_config);     一方( 1 )     {         uint32_t val = RGPIO_PinRead( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN );         PRINTF ( "GPIO%d の現在の値は : %d\r\n" , BOARD_LED_RGPIO_PIN ,val); SDK_DelayAtLeastUs( 500000U , SystemCoreClock);    } } ######################################################## /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ /******************************************************************************************************************************** * このファイルは、MCUXpresso Config Tools によって生成されました。このファイルに対して手動で行われた編集 * それぞれの MCUXpresso Config Tools を使用してこのファイルを更新すると、上書きされます。 ******************************************************************************************************************************/ /* * 以下のテキストはツールの設定として使用されます ************************************* !!グローバル情報 製品: Pins v12.0 プロセッサ: MIMX9352xxxxM パッケージID: MIMX9352DVVXM mcu_data: ksdk2_0 プロセッサバージョン: 0.12.3 * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ #include "pin_mux.h" /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitBootPins * 説明: 初期化関数を呼び出します。 * * 終わり ****************************************************************************************************************/ BOARD_InitBootPins を無効にします( void ) { BOARD_InitPins(); } /* * 以下のテキストはツールの設定として使用されます ************************************* ボード初期ピン: - オプション: {callFromInitBoot: 'true', coreID: cm33} - ピンリスト: - {pin_num: F20、ペリフェラル: LPUART2、信号: lpuart_rx、pin_signal: UART2_RXD、HYS: DISABLED、FSEL1: SlOW_SLEW_RATE、DSE: NO_DRIVE} - {pin_num: F21、ペリフェラル: LPUART2、信号: lpuart_tx、pin_signal: UART2_TXD、HYS: 無効、PD: 無効、FSEL1: SlOW_SLEW_RATE} - {pin_num: L17、ペリフェラル: GPIO2、信号: 'gpio_io, 04'、ピン信号: GPIO_IO04、HYS: 無効} * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitPins * 説明: ピンのルーティングとオプションでピンの電気機能を構成します。 * * 終わり ****************************************************************************************************************/ void BOARD_InitPins( void ) { /*!< コアに割り当てられた関数: undefined[cm33] */     // IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04, 0U); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、 0U ); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、 0U ); /* 手動で追加 (開始)*/ IOMUXC_SetPinMux( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 , 0U ); IOMUXC_SetPinConfig( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 、 /* 手動で追加 (終了)*/     // IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04,     // IOMUXC_PAD_PD_MASK); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、                         IOMUXC_PAD_PD_MASK ); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、                         IOMUXC_PAD_DSE ( 15U )); } /******************************************************************************************************************************** * 終了 ******************************************************************************************************************************/ /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ #ifndef _APP_H_ #define _APP_H_ /**************************************************************************************** * 定義 **********************************************************************************/ /* ${macro:start} */ #BOARD_LED_RGPIOを定義します          GPIO2 #BOARD_LED_RGPIO_PINを定義します      13U #DEFINE EXAMPLE_RGPIO_CLOCK_ROOT kCLOCK_Root_BusWakeup #DEFINE EXAMPLE_RGPIO_CLOCK_GATE kCLOCK_Gpio2 /* ${macro:end} */ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /* ${prototype:start} */ BOARD_InitHardware をvoidにします。 /* ${prototype:end} */ #endif /* _APP_H_ */
查看全文
HSEステータス登録簿の不正 参考までに以下の画像 S32K312 を使用しており、 HSE ファームウェアで問題が発生しています。 1.HSE ステータス レジスタ値が破損しているようです (0x4038C107)。 2.このステータス破損のため、HSE API にアクセスできません。 3.HSE ファームウェアの消去または再フラッシュの試みが失敗しました。 4.MU0_TR1 レジスタまたはメモリに書き込んで消去/リセット コマンドをトリガーすることはできません。 5. デバッガーがコネクテッドされているときに、単一の外部リセット中に複数のソフトウェア リセットが観察されました。 リクエスト: 1.S32K312 の HSE ファームウェアを消去して再フラッシュするための正しい手順を教えてください。 2. 現在の破損状態のために HSE ファームウェアの再フラッシュが不可能な場合、HSE を回復したり、ステータス レジスタの破損を解決したりするには、どのような手順を実行すればよいですか。 3. デバッガーを接続した状態でハードリセットを実行すると、複数のリセットが発生することが知られていますが、これに関する既知の問題や回避策はありますか? 4.破損した HSE ステータス レジスタの問題を解決し、HSE API へのアクセスを回復するにはどうすればよいですか? HSE ファームウェアのフラッシュ中に従う手順: ステップ 1: 提供された PINK ファイルを、IVT なしで、デモ アプリケーションおよびセキュア ブート アプリケーションの ELF ファイルとともにフラッシュしました。 ステップ2: リセット完了 ステップ3: HSE位置0x 005d4000とDCMレジスタに「??」マークが観測される ステップ4: アドレス0x 00400000のブートローダーとアドレス0x 00442000のアプリケーションを再フラッシュしました。 ステップ5: デバッガをコネクテッドした状態でハードリセットを実行すると、外部リセットコマンドを1つだけ発行したにもかかわらず、ソフトウェア側から複数のリセットがトリガーされることが観察されました。
查看全文
HMB-N1905低成本雷达打造安全智能家居 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 先进的技术大大降低了 24 GHz 雷达系统的成本,带来了一系列新的应用。从历史上看,雷达由于应用成本高,一直纯粹用于军事和工业应用。随着最新一代 NXP BiCMOS 技术的出现,这种情况已经发生了改变。24 GHz 雷达前端现在可以完全集成到单个 IC 中,从而将成本和功耗降低到消费者水平。这开辟了一系列以前不可能实现的应用。本次讲座将展示雷达在不同应用领域的可能性,例如存在检测和消费级无人机防撞。将进行基于首批测试芯片与 ARM 处理器相结合的现场演示。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 先进的技术大大降低了 24 GHz 雷达系统的成本,带来了一系列新的应用。从历史上看,雷达由于应用成本高,一直纯粹用于军事和工业应用。随着最新一代 NXP BiCMOS 技术的出现,这种情况已经发生了改变。24 GHz 雷达前端现在可以完全集成到单个 IC 中,从而将成本和功耗降低到消费者水平。这开辟了一系列以前不可能实现的应用。本次讲座将展示雷达在不同应用领域的可能性,例如存在检测和消费级无人机防撞。将进行基于首批测试芯片与 ARM 处理器相结合的现场演示。 智能家居和智能建筑
查看全文
解放串口之重定向printf输出到IAR虚拟终端(Redirect printf output to IAR Terminal to release UART port)     感谢Baolei之前在weekly meeting上分享的关于在Codewarrior环境下实现printf的重定向技巧,从而在CW调试环境下的Console上实现调试信息的打印功能,我将其移植到IAR环境下并进行了测试,可以实现调试信息的交互,完全可以替代串口的功能,在这里写出来分享给大家,再次感谢baolei的分享~     通过串口打印调试信息或者实现上下位机交互是我们最常使用的调试手段之一,毕竟实现起来无论是硬件成本(接出两根线Txd和Rxd,外加一个电平转换芯片)还是软件成本(下位机写好UART驱动,上位机直接超级终端或者一些第三方串口调试助手)都是相对较低的,所以这种方式还是灰常受广大“攻城师”们欢迎的。不过如果由于I/O资源紧缺串口被用做其他用处或者板子直接没有引出串口的话(是不是产生共鸣了,呵呵),那该怎么办呢?     当然,所谓时代不同了(liao)(顺口想说“男女都一样呢”,呵呵,哎,都是生在旧社会长在红旗下的孩子啊),随着嵌入式开发生态系统越来越完善,目前也是有越来越多的Poweful开发工具支持丰富的调试功能(支持打印调试信息和交互等),但是涉及到一些版权的问题价格上还是有点小贵的(对一些小企业来说还是难以接受的),所以这个时候就需要我们动动脑筋去摸索摸索其他的方法(所谓路是探索出来的),事实证明破釜沉舟下人的潜力是无限的,呵呵,这里就分享一个折衷的办法去解决大家一直苦恼的问题,即使用IAR虚拟的串口终端来实现信息的交互和打印,下面进入正题: 测试平台:IAR6.6 + FRDM KE02开发板(我目前手里有这个,其他平台都可以) 测试代码:KE驱动库(KEXX_DRIVERS_V1.0.1_DEVD\kexx_drv_lib_release_r1.0.1\build\iar\ke02\platinum) 这里稍微提一句,我测试的是KE驱动库的代码,但是实际上只要你看懂了我下面的解决方法(授之以渔而不是鱼),其他代码都是类似的。 1)打开KE02 platinum的IAR工程,进入到platinum.c文件,找到main函数如下图1,可以看到其调用了printf打印函数,而该工程是默认调用底层串口的,我们跳转到该函数的定义如图2,再继续跳转到out_char的函数定义如图3,这下就屡清楚了,我们可以很直观的看到工程默认是调用UART底层的,呵呵,下面我们就要动手改造它对printf进行重定向; 2)首先我们需要注释掉printf的实现函数,将其屏蔽掉,然后需要给printf一个重新指向的地址,下面就该我们常见的 这位老兄出场了(貌似当初自打我开始接触Turbo C的时候就已经用到它了,老生常谈的“Hello world”就是调用它内部的printf来实现的)。我们找到Common.h文件,将 添加到其中,如下图,这样凡是需要printf的文件只需要添加common.h头文件即可: 3)这里先说说stdio.h文件的作用,我们打开stdio.h文件可以看到其内部定义了标准输入输出函数,包括我们常见的scanf和printf等函数,而这些函数所调用的底层即为IAR提供的链接到其Terminal的驱动,所以……懂的,呵呵。除此之外,我们肯定不满足只输出打印(给人略显低端的感觉有木有),所以为了体现我们不是“土豪”,我觉着有必要让它交互起来,实现真正的串口功能(因为一些类似bootloader或shell之类的还是需要输入参数的进行交互的),我在main函数添加了scanf语句用来测试输入功能,如下: 4)准备工作就绪,编译链接整个工程,然后下载到KE02的板子中并进入到Debug调试环境中,点击View->Terminal I/O调出虚拟终端,然后全步运行,就可以看到Terminal下开始打印调试信息,如下图1。当然显示输出有点小case了,我们再试试输入功能,在input框中输入‘a’,然后回车,如下图2,perfect: 5)还没完,我们要玩就玩高端大气上点档次的,我们再探索探索呢,结果又发现个小惊喜,我们点击上图右下角的“Input Mode”,弹出设置框如下,很高端啊有木有: 呵呵,看完之后是不是有种跃跃欲试的兴奋呢,呵呵,just have a try and enjoy it~ 附件为我修改之后的工程代码,仅供参考~ Re: Redirect printf output to IAR Terminal to release UART port <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Could you provide the engineering attachments you modified?
查看全文
How to locate i.MX6Q pfd issue(ERR006282) without JTAG tools When a board is brought up and  the ddr test by link of "https://community.nxp.com/docs/DOC-96412' hashttps://community.nxp.com/docs/DOC-96412' hashttps://community.freescale.com/docs/DOC-96412' hashttps://community.nxp.com/docs/DOC-96412' has been verified, some of boards will have pfd issue(ERR006282). It is suggested that below method could be used to check the issue.The detail steps are: As boards may have no jtag port, the internal usdhc4 root clock out needs to be remapped. When “CUP not initialized” issue has been seen and in download mode, DDR test tools can be used with the script to remap clock output. Please check the attached for test script and the empty the binary. Put the two files to DDR stress test tool folder “DDR_Stress_Tester\binary\”. The attached ddr-stress-test-mx6dq.bin is an empty file. Please backup the original file first. After eMMC boot failed and in download mode, run command “DDR_Stress_Tester.exe -t mx6x -df test.inc” on PC side. There is no clock output on GPIO19. For normal test, please erase the eMMC chip and boot the board. It will also fail to boot and run into download mode. After run “DDR_Stress_Tester.exe -t mx6x -df test.inc” , clock can be measured from GPIO19 if no PDF issue happens. Below is  the details: The script file. wait = on A: Config GPIO19(ENET_ RST_ PHY_B) as CLKO1 setmem /32 0x020E0254 = 0x3    // Config GPIO19(ENET_ RST_ PHY_B) as CLKO1      On your board, it is R112 for the test point. B: enabled, CKO1 output drives cko2 clock, divide by 5, usdhc4_clk_root setmem /32 0x020C4060 = 0x01820101  // CKO2 enabled, CKO1 output drives cko2 clock, divide by 5, usdhc4_clk_root Hex 0 1 8 2 0 1 0 1 Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binary 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 And for the normal boot, erase the emmc, and reboot to enter the download mode. There will be no signal output but high voltage on R112. After the script runs, 40Mhz clock will be seen. For the boot fail case, there will be no signal output but high voltage on R112 and 40Mhz clock will be pulled to low. 1: CKO2 enabled 2: divide by 5 3 usdhc4_clk_root 4: CKO1 output drives cko2 clock 5 Re: How to locate i.MX6Q pfd issue(ERR006282) without JTAG tools The attached file test.inc is missing for download. Could you please help upload again? Re: How to locate i.MX6Q pfd issue(ERR006282) without JTAG tools Lily and Johnli, I made modification on English wording and grammar. Please see if the meanings are accuracy. Thanks, Yixing
查看全文
Linux Embedded Challengeプロジェクト - 2014 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1.歩行者用スポットライト機能付きアダプティブダイナミックヘッドライト-eVisionによる チームメンバー: バラバン・ヴァレリウ - マスター、アドバンスト・マイクロエレクトロニクス、エレクトロニクス、UPB Voicu Tudor Alexandru - 学士、応用電子工学、電子工学、UPB Stanescu Sebastian - 学士、テレコムネットワーキングおよびソフトウェア、UPB 簡単な説明: 夜間の事故と夜間の事故の間の死亡率が高いため、技術開発のために多くの研究が行われています。 夜間にドライバーの視界を広げ、これが避けられなかった場合の事故による損傷を減らすため。ザ アダプティブヘッドライト機能は、暗い場所、特に曲がり角でさらに見るのに役立ちます:コーナリングライト ヘッドライトを進行方向に回転させ、CPUによって計算された回転角度で、できるだけ多くの道路を照らします 可能な限りの面積 興味深い解決策は、潜在的な危険を具体的に照らすLEDビームであるスポットライト照明機能です。 近赤外線カメラが道端の鹿や道路上の歩行者を検出した場合、それらを短時間照らすことができます メインビームで覆われた通常の領域を超えて、スポットライトによってドライバーに危険の可能性に注意を向けます。 プレゼンテーション: eVisionPresentation.pdfご相談ください。 ドキュメンテーション: eVisionDoc.pdfご相談ください。 コードソース https://github.com/izzi/app-evision https://github.com/izzi/meta-evision 2. DriverVehicleインタラクションのための音声コマンドインターフェース - by She# チームメンバー: ユリア・ネアゴエ - コンピュータサイエンスと軍事情報システム、軍事技術アカデミー Mihaela-Anca Sorostinean - コンピュータサイエンスと軍事情報システム、軍事技術アカデミー 簡単な説明:     自動車および通信領域における継続的な技術進歩の文脈では、ドライバー 責任は、単に車を制御することから、によって提供される多数のガジェットとの相互作用に変わりました。 生産者。このプロジェクトの目的は、ドライバーが制御する可能性を提供するインターフェイスを設計することです ドライバーが彼の注意を集中することを可能にするために、音声コマンドによる車の非重要な機能の一部 道路上では、車との快適なコミュニケーション手段も備えています。     私たちは、ラジオ、窓、気候、電話などのいくつかの基本的な機能の音声認識システムを開発しました それをワンドボードに実装しました。また、認識されたグラフィカルインターフェイスをユーザーに提供します 彼の車両との相互作用を強化するためのコマンド。 プレゼンテーション: ShePresentation.pdfご相談ください。 ドキュメンテーション: SheDoc.pdfご相談ください。 コードソース She#_Project_Source.zipをご覧ください 。 3. 運転制御ソフトウェア - by FreeSoftwares チームメンバー: Petrosanu Adrian-Sabin - コンピュータサイエンス、UPB Birsan Nicoleta Cosmina - コンピュータサイエンス、UPB Radoi Ioana Gabriela - コンピュータサイエンス、UPB 簡単な説明: 「ドライビングコントロールソフトウェア」は、オートマチックギアボックスを制御するためのソフトウェアです。このプロジェクトは、動作のシミュレーションで構成されています ワンドボードのオートマチックギアボックスの。オートマチックギアボックスは、自動車のトランスミッションの一種です。 車両の動きに合わせてギア比を自動的に変更します。 プレゼンテーション: FreeSoftwaresPresentation.pdfご相談ください。 ドキュメンテーション: FreeSoftwaresDoc.pdfご相談ください。 コードソース Freesoftwares_Project_Source.zipをご覧ください 。 4. 自動駐車場 - ATM利用 チームメンバー: Mihai Coca - コンピュータサイエンスと軍事情報システム、軍事技術アカデミー グルジアのアンドレイ - コンピュータサイエンスと軍事情報システム、軍事技術アカデミー Hiji Iulian - コンピュータサイエンスと軍事情報システム、軍事技術アカデミー Shortの説明: 多くの企業が、 その分野での作業を 特定の使用例:駐車場。この目的 プロジェクトは、ドロップオフできるコンセプトカーを設計することです その所有者によって縁石で 、スポットパークに入るために独自のデバイスに残されました。このプロセスを逆にすることさえできます 所有者が行く準備ができているとき、車はスポット公園を離れて、そのを満たすために自分自身で 縁石に再びキーホルダー。 ドキュメンテーション: ATMにご相談くださいDoc.pdf コードソース ATM_Project_Source.zipをご覧ください 。 5.衝突検出-Beer2.0による チームメンバー: Nitu Adrian - コンピュータサイエンス、UPB 簡単な説明: 私たちのプロジェクトの目的は、車に前方の道路の感覚を提供し、予防策を講じることができるようにすることです 衝突;このようにして、道路での事故を減らしたいと考えています。さまざまなハードウェアから信号と情報を収集します ドライバーに警告するか、ドライバーを保護するために重要な操作を行うために車を即座に制御します 生命を脅かす出来事から。 フリースケールのカップカーには、ワンドボードと2台のUSBカメラが装備され、環境を追跡できます。初期処理後 オブジェクトトラッキングは、リモートコントロールによるヒューマンインタラクションを組み込みます。このプロジェクトでは、単純な警告システムを信じています および/またはブレーキングは、概念の証明として十分です。 プレゼンテーション: ご相談くださいBeer20Presentation.pdf ドキュメンテーション: ご相談くださいBeer20Doc.pdf コードソース https://bitbucket.org/adriannitu92/freechallenge 6.サブバンド正規化filtered-X LMSアルゴリズムを使用したフィードフォワード適応型ノイズキャンセリング - Brainiacsによる チームメンバー: Cristian Monea - 電気通信および情報技術、エレクトロニクス、UPB Madalin Zaharia - 電気通信および情報技術、エレクトロニクス、UPB 簡単な説明 このプロジェクトでは、サブバンド正規化フィルタリングX LMS(NFXLMS)に基づくフィードフォワード適応型ノイズキャンセレーション(ANC)アルゴリズムを提案します。 適応アルゴリズムの使用には、固定FIRやIIRフィルターなどの単純なフィルタリングアルゴリズムよりも利点があります。また、ノイズは 車の環境は、スペクトル分布、平均、分散など、その特性の一部を保持するため、静止していると見なすことができます。 車の騒音キャンセリングアプリケーションで適応フィルターを使用できるようにします。 フィードフォワードシステムは、フィードバックシステムよりも効率的である必要があります。この場合、コヒーレントなリファレンスノイズ入力がその前に検出されます キャンセルスピーカーを通過して伝播します。 したがって、アルゴリズムは2つのセンサー(マイク)をシミュレートします:キャンセルされる一次ノイズを測定する基準センサー。 とエラーセンサー。 プレゼンテーション: ご相談くださいBrainiacsPresentation.pdf ドキュメンテーション: ご相談くださいBrainiacsDoc.pdf Linux Embedded Challenge 2014 (英語)
查看全文
Design your NFC Antenna with NXP’s OM29263ADK development kit This post entry provides a detailed description of the OM29263ADK kit, a new antenna tuning development kit specially designed to facilitate the NFC antenna prototyping process. This document has been structured as follows: OM29263ADK kit contents Using OM29263ADK kit with CLEV6630A or CLEV6630B Using OM29263ADK kit with PNEV5180B or PNEV7462C Using OM29263ADK kit to connect your own antenna coil Define target impedance and Q-factor Measure antenna coil Design EMC filter Calculate matching circuit components Assemble and measure Adjust receiver circuit Using OM29263ADK kit to evaluate the performance of different antenna shapes Background information Coupling coefficient Mutual inductance Antenna tuning components used for the large antenna Antenna tuning components used for the small antenna OM29263ADK large antenna vs small antenna ISO/IEC14443 vs ISO/IEC15693 reader - Quality factor Further information Video recorded session OM29263ADK kit contents This kit consists of a single PCB board that includes:  A pre-matched antenna of 2 turns and a size of 77 by 113 mm.  A second pre-matched antenna of 4 turns and a smaller size of 20 by 20 mm.  And, 8 extra boards to prepare the matching for custom antennas. As a result, this kit is a perfect resource for different purposes such as evaluating the RF performance of different antenna sizes and, for prototyping your custom antenna quickly. In addition, this NFC antenna development kit is compatible with our existing product support package. You can directly connect it to CLRC663 demoboards, as well as to PN5180 and PN7462 demoboards after a minor tuning. Using OM29263ADK kit with CLEV6630A or CLEV6630B The process is really straightforward… First, take one CLRC663 demoboard and separate the main PCB from the antenna & matching circuit. The board includes cut lines, so you can divide both sections easily by only using your hands. Second, break the kit OM29263ADK PCB so that you separate the pre-matched antenna from the other PCB parts. Then, it is just a matter of connecting the two parts together. The kit antenna includes pin male connectors while the CLRC663 board includes the corresponding female connectors. Therefore, hook up the antenna with the main board, solder the connectors and that’s all. We can observe that when we connect the kit large antenna to the reader PCB, the  impedance measured with our network analyzer shows that the tuning is adjusted to approximately, 19 Ohms. This is the result obtained without any hardware modification The same process applies for the smaller antenna: Similarly, we can observe that when we connect the kit small antenna to the reader PCB, the  impedance measured with our network analyzer shows that the tuning is adjusted to approximately, 36 Ohms. This is the result obtained without any hardware modification: Using OM29263ADK kit with PNEV5180B or PNEV7462C In case you are interested to connect the OM29263ADK kit antennas to the PNEV5180B or PNEV7462C boards, the preparation process is the following: First, separate the antenna and the matching section from the PN5180 or PN7462 demoboards, as before, using the cut lines. Then, take one kit sample, and separate the pre-matched antennas for the other PCB parts. And finally, adjust the EMC filter. The EMC filter adaptation is required because the kit antenna is prepared for asymmetric tuning while the PN5180 and PN7462 original antenna use a symmetrical tuning. The main difference between both types of tuning is the cut off frequency. The symmetric tuning uses a cutoff frequency around 15MHz, while the asymmetric can go up to 22 MHz. In practice, for this adaptation, we only need to change the value of the capacitor C0 in the main board. For instance, the existing 220 pF capacitor can be replaced for another one of 68 pF. Using OM29263ADK kit to connect your own antenna coil This section describes how to use the kit PCB boards for our custom antenna tuning. For this task, the list of material that we need is: A reader PCB board, in the example, we picked CLRC663 One of the PCBs for antenna matching included in the kit And, the any antenna to be matched  In our case, we have selected one sample antenna available in our lab. The following explanation will be guided using this antenna as a reference, but any antenna can be tune using the same process. The usual list of steps to tune a custom antenna are: First, we need to define target impedance and Q factor, as design parameters for our reader Then, we will characterize the antenna coil and find its parameters After that, we will design the EMC filter With this, we will calculate the matching components using an Excel sheet Afterwards, we will assemble the calculated components and measure the first results. We will take field measurements, which probably will show that it is not perfect, so we may need to adapt the matching values With these fine-tuned vales, we will re-assemble again And finally, we will design the receiver circuit. Define target impedance and Q-factor First, we start defining the target impedance and Q-factor. The target impedance is a design parameter, which needs to be chosen according to our needs whether we want to go for maximum field strength or minimum battery consumption or a trade-off in between. Typically, reasonable values are between 20 Ohms and 80. Another important design parameter is the Q factor. The Q factor is a dimensionless parameter indicating the performance of a resonant circuit. The higher the Q factor, the higher the read range. On the other hand, increasing the Q factor also reduces the bandwidth of the circuit. As a result, in practical implementation, Q-factor values below 30 are demonstrated to fit well for the ISO14443 wave form timing requirements and corresponding spectrum.  For our tuning exercise, the design parameters chosen are an impedance of 20 ohms and a Q factor of 25 Measure antenna coil Next step is to characterize the antenna coil. Any antenna coil has an input impedance. This input impedance is complex and consists of an inductance, capacitance as well as some losses represented by a resistance (R). The actual values depend, among others, on antenna material, thickness of conductor, distance between the windings, number of turns, etc.  The coil characterization needs to be done with a network analyzer. It could be a high end, such as Agilent or Rohde & Schwarz, which is powerful, accurate, easy to use, but expensive. Or we can also go for low end solutions, such as the miniVNA PRO, which is cheap compared with the previous ones, and accurate enough for our needs. In our case, the characterization of our lab antenna shows:  An inductance around 1.3 uH And a resistance of 2.5 Ohms Design EMC filter The next step is to design the EMC filter. As we are using CLRC663, we will go for an asymmetric antenna tuning. Good inductor values are between 330nH and 560nH. and 21MHz cutoff frequency is ideal for asymmetric tuning. Fixing this two parameters, we can easily calculate the required capacitor component for our EMC filter with the formula below. In our example, we need to use a capacitor of C= 122 pF. With this, we just pick up the closer commercial value from our components box Calculate matching circuit components We have characterized the antenna coil and completed the EMC filter. Now, we can calculate the matching network components. The matching components need to be calculated so that the maximum power from the reader is transmitted to the antenna. This happens when the equivalent impedance seen from the reader IC only has the real part, without the complex part. There are some complex calculation involved in the process. In order to avoid these cumbersome formulas, NXP provides a useful Antenna Tuning excel sheet that calculate the appropriate components for you. Below, you can see a screenshot of the Excel sheet in the slide. This sheet calculates C1 and C2 matching values according to the inputs expected from the user. These are The measured antenna coil parameters The EMC filter parameters. The target impedance and Q-factor of our design With these values, The Excel sheet calculates and outputs the value of the matching components: C0, C1, C2 and Rs. In our exercise, the output values calculated for the matching network by the Excel sheet are C1 around 43 pF and C2 around 144 pF Assemble and measure Typically, the calculated values do not match with commercial components. The easiest way is to add components in parallel to get as close as possible to the calculated values. If we take a closer look to the kit antenna matching PCB board, the pad location is the following: We have two slots for C0 – so we can have two capacitors in parallel to achieve a better accuracy on the capacitance value we need to achieve We also have two slots for C1, for the same purpose We have two more slots for C2 soldering We also have two slots for the dampening resistor, in case we need to reduce the Q-factor of our antenna. And finally, one slot for the receiver resistor circuit. After the first component assembly, it is worth performing a field measurement to find out how accurate our matching is in reality. Typically, the measured impedance is different than the impedance calculated in the simulation. Therefore, the calculated matching components were not 100% accurate. But we knew that in advance. We were aware that we were just getting a rough approximation to the antenna parameters. As a result, a good matching is achieved after a number of iterations according to the field measurements that we obtain. As a general rule,  C1 changes the magnitude of the matching impedance and C2 changes its imaginary part. In our exercise, after soldering the first components, the equivalent impedance is around 19 Ohms but it also has a significant imaginary part. As a result, it can be fine-tuned towards better performance. We modified C1 and C2 a couple of times until we found out the final values that work better. obtaining a impedance with only real part at 22 Ohms (C1= 36pF and C2=154 pF). Adjust receiver circuit The last step of tuning our antenna is to design the receiver circuit. The Rx circuit that consists of a voltage divider and a coupling capacitor connected from the output of the EMC filter to the RX pins of the NFC reader. The objective is to set the voltage level at the reception pins to achieve the compromise between a good sensitivity. For CLRC663 plus, the serial resistor is in the range of 7 and 15 kΩ. You can start with a 11 KOhm value, then, the resistor can be adjusted depending on the voltage measured in the Rx pins. If the voltage at Rx pin is higher than 1.7 V, it is recommended to increase the resistor value and if the voltage at Rx pin is below than 1.2 V, it is recommended to decrease the resistor value. Using OM29263ADK kit to evaluate the performance of different antenna shapes The section covers how you can use the antennas included in the kit for performance comparison. Please note that this lab exercise is shown only for illustrative purposes on how the kit can be used to evaluate the performance of different antenna shapes. As an example, we defined a sample scenario where we want to characterize how the field strength decreases with distance when using antennas of different size. For that, we used the following setup: A class 1 ISO14443 Reference PICC A scope A CLRC663 board connected to the small antenna A CLRC663 board connected to the large antenna A ruler to measure the distance The measurements were taken in this way: We tuned the large and small antennas to 20 Ohms We connected the board to the laptop, and we executed the NFC Cockpit tool to control the RF field. We measured with the scope the voltage level obtained by the ISO14443 Class 1 Reference PICC while we increased the distance. Background information Before actually showing you the results, it is worth it to review a couple of antenna design principles to properly understand the results. Coupling coefficient Before actually showing you the results, it is worth it to review a couple of antenna design principles to properly understand the results. The coupling coefficient is a parameter that indicates how much of the magnetic field generated by the reader is picked up by the card. The coupling coefficient takes a value between 0 and 1 If the coupling equals 1, it means we have a perfect coupling, all magnetic field lines are picked by the card If the coupling equals 0, it means we have no coupling at all, no magnetic field lines are picked by the card The key message is that the coupling coefficient is just a geometric quantity. It depends on: The reader and card antenna dimensions (both antenna radius) Their relative position (whether in parallel or perpendicular, they will pick a different amount of magnetic field lines) The distance between them And the magnetic properties of the medium Mutual inductance Very related to the coupling coefficient, we have the mutual inductance. The mutual inductance allows us to determine the voltage induced in the card antenna, that depends on: Coupling coefficient  Better coupling, higher the voltage Driver current  The higher the current we drive in the reader antenna, the stronger the magnetic field Antenna inductance Precisely, in this setup, we are going to measure the voltage perceived by the reference PICC when using two different antennas. Antenna tuning components used for the large antenna First, we prepared a tuning of 20 Ohms in the large antenna. This task was done using the process described above. As an example, we selected a low Q-factor of 10, which helped us to accommodate high bit rates for ISO14443. In the figure below, you can see the components we assembled to tune the large antenna near to 20 Ohms. Antenna tuning components used for the small antenna Second, we prepared a tuning of 20 Ohms in the small antenna so that the results are comparable. The same Q-factor and EMC filter values were used, but obviously, as the antenna size is different, we used different C1, C2 and Rs values to achieve the same equivalent impedance OM29263ADK large antenna vs small antenna The following graph shows the results we obtained: The blue line, represents the DC output voltage obtained from the Class 1 Reference PICC as we increase the distance from the reader using the large antenna… The green line, represents the DC output voltage obtained from the Class 1 Reference PICC but using the reader with the small antenna connected. As a result, what we see is that at close distance, both antennas are able to deliver the same field strength. However, as distance increases, the RF field of the small antenna starts to attenuate quickly from 2 cm distance of the reader while the RF field of the large antenna is more or less stable until 5 cm, after that, it starts to attenuate quickly as well. Potentially, what we can conclude is that for this setup, we might be able to get more reading distance with the large antenna. ISO/IEC14443 vs ISO/IEC15693 reader - Quality factor We need to bear in mind that our antenna is not only for energy transfer, but also it should match with the waveform requirements. Therefore, from the practical point of view, the Q factor of the system is limited by the bandwidth as if we increase the Q, we increase the field strength but we decrease the bandwidth. Our reader can be optimized whether we are designing a reader for ISO14443 or ISO15693 as the signals modulation and timing requirements of the rise and fall times for both RF protocols are different. Actually, in practice, ISO15693 allows us a higher Q factor because there is a lower bandwidth requirement as the waveform timings are more relaxed and, the power transfer requirement is lower than ISO14443. For such optimization, you can refer again to NXP antenna tuning excel sheet. If you recall, one of the input fields of the excel sheet is the Q-factor. Therefore, you can introduce here a value below 30 for ISO14443 readers or below 100 for ISO15693 readers. The excel will output reasonable matching values for the first components adjustment. After that, you can do a fine tuning according to the process I explained before. Further information You can find more information about NFC in: Our NFC everywhere portal: https://www.nxp.com/nfc You can ask your question in our technical community: https://community.nxp.com/community/identification-security/nfc You can look for design partners: https://nxp.surl.ms/NFC_AEC And you can check our recorded training: http://www.nxp.com/support/online-academy/nfc-webinars:NFC-WEBINARS Video recorded session On 21 June 2018, a live session explaining this topic. You can watch the recording here: Mobile
查看全文
示例 MPC5674F eQADC_PMC_chnl_conv+calib CW210 ******************************************************************************** * 详细说明: * 初始化 eQADC 模块,执行校准并循环转换 PMC * 由宏 CHOOSEN_PMC_ADC_CHNL 指定的内部通道, * CHOOSEN_PMC_ADC_SCALE 和 CHOOSEN_PMC_ADC_COMMAND 用于检查特定电压 * 级别,并将其显示到终端窗口中。 * 除通过 eSCI 的终端外,无需任何外部连接。 * ---------------------------------------------------------------------------------------------- * 测试硬件:XPC567XKIT516 - MPC5674ADAT516 Rev.C、MPC567XEVBFXMB Rev.B * 微控制器: PPC5674FMVYA264 * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * 系统频率:264/200/150/60 MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH,RAM * 终端:19200-8-无奇偶校验-1停止位-无流量控制 * EVB连接:默认 ******************************************************************************** ******************************************************************************** * 详细说明: * 初始化 eQADC 模块,执行校准并循环转换 PMC * 由宏 CHOOSEN_PMC_ADC_CHNL 指定的内部通道, * CHOOSEN_PMC_ADC_SCALE 和 CHOOSEN_PMC_ADC_COMMAND 用于检查特定电压 * 级别,并将其显示到终端窗口中。 * 除通过 eSCI 的终端外,无需任何外部连接。 * ---------------------------------------------------------------------------------------------- * 测试硬件:XPC567XKIT516 - MPC5674ADAT516 Rev.C、MPC567XEVBFXMB Rev.B * 微控制器: PPC5674FMVYA264 * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * 系统频率:264/200/150/60 MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH,RAM * 终端:19200-8-无奇偶校验-1停止位-无流量控制 * EVB连接:默认 ********************************************************************************
查看全文
基于模型的设计工具箱电机控制示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该视频显示: - 采用 S32K144 rev2.0 的电机控制典型设置评估板; - 用于 BLDC 电机控制的 Simulink 模型; - 如何设置 Simulink 为 S32K144 rev2.0 生成 ANSI C 代码单片机; - 快速浏览基于模型的设计工具箱; - 快速浏览 FreeMASTER 数据可视化工具; - 使用 DevKit S32K144EVB 和 MotorGD 屏蔽运行的电机控制示例; (在 “我的视频” 中查看) 视频库 回复:基于模型的设计工具箱电机控制示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 非常感谢! 回复:基于模型的设计工具箱电机控制示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 谢谢分享,但是 C 代码在哪里?
查看全文
MHW-N1921デジタル高効率AC / DC共振電源 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 共振AC/DC電源は、高出力で優れた効率を発揮します。TEA1916は、共振LLC設計の複雑さを簡素化し、簡単なチューニングを提供するデジタルコントローラーです。これは、多くの共振スイッチモード電源で使用されている非常に一般的なTEA1716を継承します。PCやテレビですが、TEA1916は実際には75W>あらゆる電源に非常に適しています。医療、産業用、サーバー用電源。このTEA1916は、新しいデジタル・サイクル・バイ・サイクル・アーキテクチャ(Vcap制御)を使用して、低電力負荷での新しいタイプの動作を可能にします。これにより、正確に制御されたバーストモード動作を使用して、低出力電力での効率が向上します。また、このTEA1916は、スタンバイ状態またはオフ状態で非常に低い消費電力を実現します。競合他社と差別化するための主要なパフォーマンスパラメータです。最高の効率を得るために、TEA1916はNXPのTEA1995同期整流器と一緒に優れた働きをします。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 共振AC/DC電源は、高出力で優れた効率を発揮します。TEA1916は、共振LLC設計の複雑さを簡素化し、簡単なチューニングを提供するデジタルコントローラーです。これは、多くの共振スイッチモード電源で使用されている非常に一般的なTEA1716を継承します。PCやテレビですが、TEA1916は実際には75W>あらゆる電源に非常に適しています。医療、産業用、サーバー用電源。このTEA1916は、新しいデジタル・サイクル・バイ・サイクル・アーキテクチャ(Vcap制御)を使用して、低電力負荷での新しいタイプの動作を可能にします。これにより、正確に制御されたバーストモード動作を使用して、低出力電力での効率が向上します。また、このTEA1916は、スタンバイ状態またはオフ状態で非常に低い消費電力を実現します。競合他社と差別化するための主要なパフォーマンスパラメータです。最高の効率を得るために、TEA1916はNXPのTEA1995同期整流器と一緒に優れた働きをします。 セキュアモバイル |ヘルスケア&ウェアラブル
查看全文