Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
FTF-HCW-F1199.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本课程将概述医疗保健和医疗设备设计师在设计产品和选择组件时面临的设计挑战。将特别关注 IC 选择、无线连接、系统安全和监管问题。参加本课程后,您将能够更好地利用飞思卡尔产品,更快地将您的产品推向市场。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本课程将概述医疗保健和医疗设备设计师在设计产品和选择组件时面临的设计挑战。将特别关注 IC 选择、无线连接、系统安全和监管问题。参加本课程后,您将能够更好地利用飞思卡尔产品,更快地将您的产品推向市场。
View full article
DALI on LPCマイクロコントローラ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> DALIソフトウェア開発キット LPC用のDALI開発キットは提供されなくなりました。使用されているLPCマイコンはまだ利用可能です。このページは参照のみを目的として提供されています。 LPC11xx/LPC13xx用のDALIソフトウェア開発キット(SDK)には、IEC 62386-102およびIEC 62386-201規格に準拠するための更新されたDALIライブラリが含まれています。IEC 62386-207仕様の部品も含まれています。 DALIスレーブ(OM13026ボード付きAN11174)およびUSB to DALIマスター(OM13046ボード付きAN11175)をWindows 7 PC GUIと組み合わせて使用 すると、UM10553で説明したデモおよび評価セットアップを作成できます。 SDK には、サンプル ソフトウェア、DALI ライブラリ、ハードウェアの説明、および両方のボードの設計ファイル、ドキュメントが含まれており、このドキュメントの最後にダウンロードできます。 DALI Slave OM13026                                                       DALI Master OM13046 システムノート コントローラー側: このLPC1100XL(最大50MHz〜45DMIPS)は、DALIメッセージのコーディング/デコードとPWM生成を1つのチップに統合するのに十分なパフォーマンスを提供します バスパワー・デバイス向けの業界トップクラスの低アクティブ消費電力 110 uA/MHz フラッシュのEEPROMエミュレーションを使用したシーン設定を不揮発性メモリに保存、またはLPC11E00シリーズに統合されたEEPROM 最大4つの16ビットおよび32ビットタイマで、バラストの制御と調光のために最大11のPWM信号を生成します 開発の複雑さを軽減 - ソフトウェアはC言語で記述可能 部品点数の削減 - Cortex-M0アーキテクチャによる大幅なコスト削減に加え、照明ドライバやネットワークとLPC1100XLでインターフェースする多くの内蔵ペリフェラル パワーステージ: NXP UBA3070 DC-DC LEDドライバのPWM入力を使用したLED調光(最大98 %の効率) SSL4101は、RGB LEDパワーステージとDALIワイヤの両方に主電源絶縁を提供します 統合されたPFCおよびフライバック制御機能による部品点数の削減と高効率化 GreenChip TEA1721降圧コンバータは、高効率でLPC1100XLを供給します。無負荷時の消費電力レベル <10 mW DALIスレーブの実装例(OM13026ボード): DALIバス用の絶縁型物理層と、DALIプロトコル処理用のCortex M0 LPC111xマイクロコントローラ、およびソリッドステートまたはコンパクト蛍光灯アプリケーション用の外部照明ドライバを操縦する多くのI/O機能が含まれています 回路図、ガーバー、BOMも利用可能で、開発をスピードアップ 最大4つのPWM信号を使用して、異なる照明ユニットを独立して駆動可能 信号の周波数と分解能はソフトウェアでプログラム可能 ON_OFF信号はPWM信号とは独立して使用して、照明ドライバをオフまたはオン状態に切り替えることができます I2Cバスピンを使用して、EEPROMや温度センサーなどの他のデバイスを外部に接続できます アナログA/D入力はピン8を介して利用可能 IO信号はエンドユーザーに対して開いたままにされます UART、I2C、A/D コンバータ機能はソフトウェア リリースに含まれていません
View full article
デバッグ UART ポートからデバッグ メッセージを出力するための iMX 3.1x カーネルの早期コンソール パッチ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> iMX 3.1x カーネルからは、UART ドライバーがロードされた後に、すべてのカーネル デバッグ メッセージがデバッグ シリアル ポートに出力されるため、tty コンソール ドライバーの準備が整う前にカーネルがハングアップした場合、カーネルの起動メッセージは表示されません。   添付されているパッチを使用すると、iMX シリアル デバッグ コンソールを早期に有効にでき、その後、カーネルはデバッグ メッセージをバッファリングしません。   注:デフォルトのパッチはデバッグポートとしてUART1(tty0)用ですが、他のデバッグポートを使用する必要がある場合は、正しいUARTポートベースアドレスでコード「early_console_setup()」を変更してください。   L3.10.53-デバッグメッセージのための早期コンソールを追加.patch このパッチは L3.10.53_GA1.1.0 に基づいていますリリース、iMX6S/DL/D/Qをサポートできます。   L3.14.52-デバッグメッセージのための早期コンソールを追加 このパッチは L3.14.52_GA1.1.0 に基づいていますリリースでは、iMX6S/DL/D/Q、iMX6SL、iMX6SX、iMX6UL、iMX7をサポートできます。   i.MX6_All i.MX6DL i.MX6Dual i.MX6DualPlus6QuadPlus i.MX6Quad i.MX6S i.MX6SL i.MX6SoloX i.MX6UL i.MX7Dual i.MX7Solo
View full article
FRDM-K22Fデバッグインターフェースの概要 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP Freedom K22Fは、Kinetis K22マイクロコントローラ向けの超低コスト開発プラットフォームです。このボードは、すでにNXPのお客様の間で広く使用されています。 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-K22F   FRDM-K22Fプラットフォームは、OpenSDAv2.1、これは、FRDM-K64FボードのOpenSDAv2とは少し異なります。NXPオープンソースのブートローダを実行するNXPオープンソースハードウェア組み込みシリアルおよびデバッグアダプタ。この回路には、シリアル通信、フラッシュ・プログラミング、およびラン制御デバッグのためのいくつかのオプションがあります。KDS3.0を使用するユーザーは、Segger J-Link OpenSDA、P&E OpenSDAインターフェース、またはMbedインターフェースを選択できます。各オプションについて、ユーザーは最初にデバッガーファームウェアを更新する必要があります。それぞれ1つずつ紹介していきます。   関連するすべてのドライバーとファームウェアは、添付ファイルとしてこの記事に同封されています。   KDS+FRDM-K22Fのデバッグをお楽しみください。:-) 全般
View full article
如何使用 Kinets LTC ECC HW 加速 Curve25519。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Curve22519 是一条蒙哥马利椭圆曲线。例如Apple HomeKit,大多数网络和物联网软件都使用它 在 Diffie-Hellman 算法中用于密钥交换。 在 Security Kinets MCU 芯片上,如果我们只使用软件算法(基于 mbedTLS),Curve25519 将花费 共享安全性计算需要 180ms。 由于共享安全性,它比其他 256 位椭圆曲线软件算法更快 使用软件算法时,使用 Weierstrass 的 BP256R1 曲线计算将花费 1200ms 以上。 通过LTC ECC硬件加速,在256位椭圆曲线上计算共享安全性仅需16ms。 无论做什么,硬件加速的速度总是比软件算法快。 现在我们也应该想利用LTC来加速Curve22519。然而,LTC 仅 支持魏尔斯特拉斯形式曲线,但 Curve22519 是蒙哥马利曲线…… 虽然我们不能直接在 Curve22519 中使用 LTC,但我们可以通过将其映射到 Weierstrass 形式来使用它 使用它。下面给出了这些曲线的参数、变换公式、示例代码和测试结果 展示如何以及为何这么做。 1. Curve parameter: 蒙哥马利形式的 Cuvre22519: Y^2 = X^3 + A*X^2 + X    Fp = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed A=486662    Gx = 9    Gy = 0x20ae19a1b8a086b4e01edd2c7748d14c923d4d7e6d7c61b229e9c5a27eced3d9 G点的顺序 = 0x1000000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed Cuvre22519 的 Weierstrass 形式: Y^2 = X^3 + a*X + b    Fp = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed a = 0x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa984914a144L    b  =  0x7b425ed097b425ed097b425ed097b425ed097b425ed097b4260b5e9c7710c864L    Gx = 0x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad245a    Gy = 0x20ae19a1b8a086b4e01edd2c7748d14c923d4d7e6d7c61b229e9c5a27eced3d9 G点的顺序 = 0x1000000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed    2.计算公式: x_w – Weierstrass 形式的 x 坐标值 y_w – Weierstrass 形式的 y 坐标值 x_m - x 坐标 蒙哥马利形式的值 y_m - 我们不关心 Weierstrass 模式下的 y 坐标值 a_m – 系数 蒙哥马利方程(Y^2 = X^3 + a_m * X^2 + X) a_w – 系数 魏尔斯特拉斯方程( Y^2 = X^3 + a*X + b ) b_w – 系数 魏尔斯特拉斯方程( Y^2 = X^3 + a*X + b ) a)x_w =(x_m + a_m/3)%p     b)  y_w ^2 = x_w ^ 3 + a_w*x_w + b_w c)x_m =(x_w-a_m/3)%p 您可以参考以下文档: https://en.wikipedia.org/wiki/Curve25519 https://en.wikipedia.org/wiki/Montgomery_curve 3.示例代码: // public and private at Montgomery end #define M255_d      "0x7178DAC11D42AA5F39B10A62A8584DB0C8864564ADC9DF84EC0B13D9AEC220F8" #define M255_Qx     "0x3BA5048381744348D84E754B9944ABE080B37F7D4158DCE60CD79F66B98AB89E" // public and private at Weierstrass end #define WTS255_d    "0x09CC5CCF43C656C1309EE5A3491D5A8361607CEEB0C9B2B31A575E0FEF2B8835" #define WTS255_Qx   "0x3F4BDE110EE7AF71EF428D1018D188E35BAFB019F34F84E6465C5194B363DC2D" #define WTS255_Qy   "0x7540577CE6F920354E2A9D38CE88847D7447E66FA4D188AC75CB63C17210B718" #define WTS255_Qx_TO_M255_Qx     "0x14A13366643D04C74497E2656E26DE38B105056F48A4DA3B9BB1A6EA08B6B7DC" #define AM_INV3                  "0x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad2451" int ecdh_wts_curve_end( ) {     unsigned int ticks;     int ret = 0;     size_t blen = 0, blen_peer = 0;     ecdh_context ecdh;     ecdh_context ecdh_peer;   // to_wts255     ecdh_context ecdh_peer_m255;     mpi R;     mpi_init(&R);     ecdh_init( &ecdh);     ecdh_init( &ecdh_peer);     ecdh_init( &ecdh_peer_m255);     MPI_CHK(ecp_use_known_dp( &ecdh.grp, ECP_DP_WTS25519 ));     MPI_CHK(ecp_use_known_dp( &ecdh_peer.grp, ECP_DP_WTS25519 ));     MPI_CHK(ecp_use_known_dp( &ecdh_peer_m255.grp, ECP_DP_M255 ));     blen = set_hash_buff(/*TEST_ECP_GRP_ID*/ECP_DP_WTS25519, &secret_buf, ecp_name);     if(blen == 0) {         ret = -1;         goto cleanup;     }     mpi_read_string(&ecdh.d, 16,  WTS255_d);     mpi_read_string(&ecdh.Q.X, 16,  WTS255_Qx);     mpi_read_string(&ecdh.Q.Y, 16,  WTS255_Qy);     mpi_lset(&ecdh.Q.Z, 1);     mpi_read_string(&ecdh_peer_m255.d, 16, M255_d);     mpi_read_string(&ecdh_peer_m255.Q.X, 16, M255_Qx);     mpi_init(&ecdh_peer_m255.Q.Y);     mpi_lset(&ecdh_peer_m255.Q.Z, 1);     // map M255 point to WTS255 point     my_timer_start();     mpi_read_string(&R, 16, AM_INV3);         mpi_add_mpi(&ecdh_peer.Q.X, &ecdh_peer_m255.Q.X, &R);     mpi_mod_mpi(&ecdh_peer.Q.X, &ecdh_peer.Q.X, &ecdh_peer_m255.grp.P);        mpi_lset(&R, 3);     mpi_exp_mod (&ecdh_peer_m255.Q.Y , &ecdh_peer.Q.X, &R, &ecdh_peer_m255.grp.P, NULL);     mpi_mul_mpi(&R, &ecdh_peer.grp.A, &ecdh_peer.Q.X);     mpi_mod_mpi(&R, &R, &ecdh_peer.grp.P);          mpi_add_mpi(&ecdh_peer_m255.Q.Y, &ecdh_peer_m255.Q.Y, &R);     mpi_add_mpi(&ecdh_peer_m255.Q.Y, &ecdh_peer_m255.Q.Y, &ecdh_peer.grp.B);     mpi_mod_mpi(&ecdh_peer_m255.Q.Y, &ecdh_peer_m255.Q.Y, &ecdh_peer.grp.P);     mpi_mod_sqrt(&ecdh_peer.Q.Y, &ecdh_peer_m255.Q.Y, &ecdh_peer_m255.grp.P);     // z = 1     mpi_lset(&ecdh_peer.Q.Z, 1);     MPI_CHK(ecp_copy(&ecdh.Qp,  &ecdh_peer.Q));     MPI_CHK(ecdh_calc_secret_wts2mont( &ecdh, &blen, secret_buf, blen, myrand, NULL));     mpi_read_string(&R, 16, AM_INV3);         mpi_sub_mpi(&ecdh_peer_m255.Q.X, &ecdh.Q.X, &R);     mpi_mod_mpi(&ecdh_peer_m255.Q.X, &ecdh_peer_m255.Q.X, &ecdh_peer_m255.grp.P);     ticks = my_timer_stop();     // print out message     polarssl_printf("Weierstrass curve shared secutiy:\n");     mpi_printf_string( &ecdh.z, 16);     polarssl_printf("%s ecdh peer to peer: %lu ticks, %d ms (%d) \n", ecp_name , ticks, ticks / (CLOCK_SYS_GetPitFreq(0) / 1000),CLOCK_SYS_GetPitFreq(0) );     cleanup:     if( ret !=0 )         polarssl_printf( "%s test Unexpected error, return code = %08X\n", ecp_name, ret );     mpi_free(&R);     ecdh_free( &ecdh);     ecdh_free( &ecdh_peer);     ecdh_free( &ecdh_peer_m255);         return( 0 );    } int ecdh_mont_curve_end( ) {     int verbose = 1;     unsigned int ticks;     int ret = 0;     size_t blen = 0, blen_peer = 0;     ecdh_context ecdh;     ecp_point Q_peer;          // peer public point     ecdh_init( &ecdh);     ecp_point_init( &Q_peer);     MPI_CHK(ecp_use_known_dp( &ecdh.grp, ECP_DP_M255 ));     blen_peer = set_hash_buff(ECP_DP_M255, &secret_buf_peer, ecp_name);     if(blen_peer == 0) {         ret = -1;         goto cleanup;     }     mpi_read_string(&ecdh.d, 16,  M255_d);     mpi_read_string(&ecdh.Q.X, 16,  M255_Qx);     mpi_init(&ecdh.Q.Y);   // don't care Y, only init it     mpi_lset(&ecdh.Q.Z, 1);     mpi_read_string(&Q_peer.X, 16, WTS255_Qx_TO_M255_Qx);     mpi_init(&Q_peer.Y);     mpi_lset(&Q_peer.Z, 1);        MPI_CHK(ecp_copy(&ecdh.Qp,  &Q_peer));     my_timer_start();     MPI_CHK(ecdh_calc_secret( &ecdh, &blen_peer, secret_buf_peer, blen_peer, myrand, NULL));     ticks = my_timer_stop();     polarssl_printf("%s ecdh peer to peer: %lu ticks, %d ms (%d) \n", ecp_name , ticks, ticks / (CLOCK_SYS_GetPitFreq(0) / 1000),CLOCK_SYS_GetPitFreq(0) );     polarssl_printf("Montogemory curve shared secutiy:\n");     mpi_printf_string( &ecdh.z, 16);     polarssl_printf( "passed\n" );     cleanup:     if( ret !=0 && verbose != 0 )         polarssl_printf( "%s test Unexpected error, return code = %08X\n", ecp_name, ret );     ecdh_free( &ecdh);     ecp_point_free( &Q_peer);     if( verbose != 0 )         polarssl_printf( "\n" );         return( 0 );    } ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 4.测试结果: 使用 LTC 对 Weierstrass 形式的 curv25519 进行测试的结果:     2.用软件算法对Montgomery形式的curve25519进行测试结果:      我们可以看到,Weierstrass形式与LTC以及Montgomery形式共享的安全性均为“0x1454BDCD6A94D6336AA5A76F3CB40BBE12B65A2CDC9DA6B478948906638896D1”。 但LTC的计算速度比其他方法快十倍。 Kinetis K系列MCU
View full article
MIMXRT1160-EVK または MIMXRT1170-EVK で J-Link を使用する 注:類似のEVKについては、以下を参照してください。 MIMXRT1170-EVKBでJ-Linkを使用する MIMXRT1060-EVKBまたはMIMXRT1040-EVKでJ-Linkを使用します MIMXRT1060-EVK または MIMXRT1064-EVK で J-Link を使用する この記事では、J-Linkデバッグ・プローブをこれらEVKのいずれかと組み合わせて使用する場合の詳細情報を説明します。選択肢は2つあります。オンボード・デバッグ回路をSEGGER J-Linkファームウェアで更新する方法と、外部J-Linkデバッグ・プローブをEVKに接続する方法です。オンボード・デバッグ回路を使用すると、他のデバッグ・プローブが不要になるため便利です。Appnote AN13206には、この点に関する詳細およびデバッグ回路のファームウェア・オプションの比較が記載されています。この記事では、いずれかのJ-Linkオプションを使用する手順を詳しく説明します。 外部J-Linkデバッグ・プローブを使用する セガーはいくつかの J-Linkプローブ オプションを提供しています。これらのプローブのいずれかをこれらのEVKで使用するには、EVKを次の設定で構成してください。 ジャンパJ6とJ7を取り外し、オンボード・デバッグ回路からSWD信号を切断します。これらのジャンパはデフォルトで取り付けられています。 EVK の電源を入れるには、デフォルトのオプションとして、電源をバレルジャック J43 に接続し、電源スイッチ SW5 をオン位置(3-6)に設定します。EVK が適切に電源供給されると、SW5 の隣にある緑色の LED D16 が点灯します。 J-Linkプローブを、J1、20ピン、2列0.1インチ・ヘッダーに接続します。 J-Linkファームウェアを使用してオンボード・デバッグ回路を使用する EVKからUSBケーブルをすべて取り外します EVK の電源を入れるには、デフォルトのオプションとして、電源をバレルジャック J43 に接続し、電源スイッチ SW5 をオン位置(3-6)に設定します。EVK が適切に電源供給されると、SW5 の隣にある緑色の LED D16 が点灯します。 デバッグ回路を強制的にDFUモードにするには、ジャンパJ22を短絡させます。 USBケーブルをJ11に接続し、オンボード・デバッガに接続します J-LinkファームウェアをEVKにプログラムするには、Appnote AN13206に従ってください J11のUSBケーブルを取り外します J22のジャンパを取り外します USBケーブルをJ11に再接続します。これでオンボード・デバッガーはJLinkとして起動するはずです。 ジャンパJ6およびJ7を取り付けて、オンボード・デバッグ回路からのSWD信号を接続します。これらのジャンパはデフォルトで取り付けられています。 注意:JLinkファームウェアがロードされると、USB J11はEVKに電源を供給できなくなります。電源をバレル・ジャックJ43に接続し、電源スイッチSW5をオンの位置(3-6)に設定する方法もあります。この電源オプションでは、ジャンパJ38を1-2に短絡させる必要があります。これはデフォルト設定です。
View full article
エラー メッセージ C44222 CW IDEv5.9.0ビルド5294。既存のコードでMC9S12C64を使用しているプロジェクトがあり、それを変更したいのですが、コンパイルに成功していません。Makeを試してみると、次のエラーメッセージが表示されます。 エラー: C4422: ' がありません flash.asmの51行目 そして警告メッセージ: 警告: C4450: 複数文字定数 flash.asmの51行目 エラーは flash.asm ファイルの 51 行目を指していますが、行の先頭に ;* を付けてコメントアウトされた情報の行です。 誰かがこれで私を助けることができますか? また、CWはオブジェクトファイルを生成しますか、もしそうならどこで見つけることができますか? よろしくお願いします。 Robert 日時:エラーメッセージC44222 接続しない問題を見つけました。私は新しいWin 11マシンで作業しており、USBDMドライバーをインストールしていません。それらをインストールした後、コントローラーに接続することができました。私は「C」プログラムをあきらめて、それをアセンブラに変換しようとします。 日時:エラーメッセージC44222 この時点までは、ただコードを書いていただけで、テスト用のプロセッサがありませんでした。それ以来、MC9S12C64プロセッサを使用してテストモジュールを構築しています。私はフリースケールのUSBDMを持っていますが、これはMC9S12XEP100のある別のプロジェクトでうまく機能します。 私は絶対アセンブリのMC9S12C64のための新しい単純なプロジェクトを開始し、Code Warriorに最初の.asmを作成させましたファイル。USBDM をプロセッサに接続すると、USBDM の電源インジケータが点灯します。USBケーブルをコンピュータに接続するとUSBインジケータが点灯しますが、プログラムをロードしようとすると次のメッセージが表示されます。 「デバッガはP&E BDCインターフェースまたは対象のハードウェアボードに接続できません。」 これをどこからトラブルシューティングし始めればよいのかわかりません。どんな提案でもいただければ幸いです よろしくお願いします。 Robert 日時:エラーメッセージC44222 Hello @roberthiebert  簡単な方法をお勧めします。簡単なデモ (hello world など) を使用します。鶏のビルドに問題がないことを確認します。次に、アプリケーションファイルとコードをコピーしてプロジェクトに貼り付けます。 BR アリス 日時:エラーメッセージC44222 日時:エラーメッセージC44222 ありがとう、アリス。返信が遅くなってしまい申し訳ありませんが、数週間コンピューターから離れていました。 お送りしたzipファイルには未使用のファイルがたくさんあり、BDMを使用する必要があります。できるだけシンプルに保つために必要なファイルだけで新しいプロジェクトを作成しようとしました。これを実行してコンパイルしようとすると、対処方法がわからないいくつかのエラーが発生しました。zipファイルを添付しています。 よろしくお願いします。 Robert 日時:エラーメッセージC44222 Hello @roberthiebert  私はあなたのプロジェクトを開いて私の側でそれをコンパイルします、それはエラーがないようです。いくつかの警告があります。 BR アリス 日時:エラーメッセージC44222 これがあなたが必要とするものですか? よろしくお願いします。 Robert 日時:エラーメッセージC44222 Hello @roberthiebert  以下のように「参照」ボタンから添付してください。 BR アリス 日時:エラーメッセージC44222 Hi Alice, ご回答ありがとうございます。公開できない理由が見当たらないのですが、どうすれば共有できますか? 私はCプログラミングにかなり新しいので、明らかな何かが欠けているかもしれません。 よろしくお願いします。 Robert 日時:エラーメッセージC44222 Hello @roberthiebert  あなたはあなたのプロジェクトを共有していただけませんか、私はあなたが私の側でチェックするのを手伝います。プロジェクトを公開できない場合。プライベートチケットを作成することもできます。https://support.nxp.com/s/?language=en_US   BR アリス
View full article
iWave 基于 i.MX6 的产品可升级至 Android Lollipop 和 Linux 3.14 内核 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> iWave 为其基于 i.MX6 的产品提供 Android Lollipop 和 Linux 3.14 内核 BSP 升级。 iMX6 主板:自 i.MX6 应用处理器推出以来,全球领先的 SOM 供应商 iWave Systems 已推出了多种 i.MX6 CPU 模块和 SBC 板,适用于工业、汽车和医疗应用。 i.MX6 Q7 SOM符合Qseven R2.0规范,尺寸为70mmx70mm,支持工业级操作。i.MX6 MXM SOM支持汽车级 i.MX6 CPU 和汽车专用接口,具有 314 针 MXM2 连接器引脚排列,尺寸为 85mmx85mm。最近推出的i.MX6 SODIMM SOM模块支持商业和工业工作温度,外形尺寸非常紧凑,为 67.6mmx37mm。 iMX6 板单板计算机:尺寸为 100mmx70mm,Pico ITX 尺寸i.MX6 SBC 板支持所有 i.MX6 接口的板载连接器,并可选择通过扩展连接器扩展 IO。 所有这三种不同形式的模块系统和单板计算机均支持不同的 i.MX6 CPU 变体,例如 Quad、Dual、Dual Lite 和 Solo。除此之外,i.MX6 Qseven 模块还支持 i.MX6 Quad Plus 和 i.MX6 Dual plus CPU 配置。 为了能够快速对这些不同外形尺寸的 SOM 进行原型设计,iWave 系统支持针对每种外形尺寸 SOM 的独立开发套件变体,并支持 Linux、Android 和 WEC7* BSP。这些开发套件可帮助客户节省高达60%的新产品开发周期,从而实现快速上市。 所有这些 i.MX6 产品都将获得 Android Lollipop 和 Linux 3.14 内核 BSP 升级,并将于 2016 年第一季度向客户提供。 概述
View full article
i.MX6DLレジスタプログラミング支援 重要:ご質問がある場合やDDRツールまたはサポート・ドキュメントについて問題を報告したい場合は、i.MXコミュニティでサポートチケットを作成してください。プライベート・メッセージやダイレクト・メールは常時チェックされず、返信されないことにご留意ください。 これは、MMDC初期化に関連するレジスタの詳細なプログラミング支援です。最後のシートは、ARM RealView ICEで使用するためのレジスタ設定をフォーマットします。DDRストレステスト用の実行可能なウィンドウでも使用できます。このプログラミング補助ツールは、NXP社内の検証ボードに使用されました。 i.MX6DL
View full article
統合ブートローダーのデモV2.1を読み込めません Hello, S32K116 32ピンパッケージのuCを使用しています。私は現在、 ここで見つけたブートローダーのデモを機能させようとしています。 S32DS Platformは私が普段使っているIDEですが、S32K116_LIN_BootloaderプロジェクトではProcessor Expertを使用しているため、ArmにはS32DSを使用しています。プロジェクトをインポートすると、次のエラーが表示されます Kinetis SDKをインストールする前は、S32K116の48ピン・バリアントしか選択できませんでした。Kinetis SDK 1.3.0 Mainline - Windowsをインストールした後、uCの32ピン・バリアントを選択できるようになりましたが、エラーはまだ表示され、Processor Expertを使用してコードを生成することができません。 私が使用している回避策は、pin_mux.cを使用することですとpin_mux.hプロジェクト内の正しいピン構成を使用するようにビルドされる別のプロジェクトのファイル。 統合ブートローダーパッケージにあるUBL.pdfファイルは、十分に説明的ではありません。 私の2つの質問は次のとおりです。 1. Processor Expertを使用してコードを生成できるように、エラーを取り除くにはどうすればよいですか? 2. ブートローダの設定、アプリケーションとブートローダを切り替えるためのアプリケーションの変更、ブートローダを使用したアプリケーションの更新などについて、より詳細な説明はありますか? どんな援助でも大歓迎です! Re:統合ブートローダーデモV2.1を読み込めません Hi A1: S32 Design Studio for Arm 2018.R1 – Windows/Linux をダウンロードし、S32 Design Studio for ARM v2018 をインストールしてください。R1 Update 11 と S32 SDK S32K1xx SR 3.0.2。このプロジェクトは S32K1 SDK 3.0.x に基づいています。 A2:Unified Bootloader –ユーザーガイドを読みましたか? 申し訳ありませんが、コミュニティで共有されているUnified bootloaderは、現状のまま提供される非公式のデモであり、保証もサポートもありません。現在、このデモをサポートするリソースはありません。ご不便をおかけして申し訳ございません。 よろしくお願いいたします ロビン ------------------------------------------------------------------------------- 手記: - この投稿があなたの質問に答えた場合は、「ソリューションとして受け入れる」ボタンをクリックしてください。ありがとうございます! - 最後の投稿から7週間スレッドをフォローしていますが、その後の返信は無視されます 新しいスレッドを開き、後で関連する質問がある場合は、閉じたスレッドを参照してください。 -------------------------------------------------------------------------------
View full article
KE02に基づくステッピングモータ制御 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1 概要 ステッピングモーターは、オープンループシステムを備えた電気パルス信号で制御でき、電気パルス信号を使用して角運動または直線運動を実現します。ステッピングモーターの速度と位置は、パルスの頻度とパルス数によって決まります。ステッピングモーターは、低速エリアのアプリケーションで使用することができ、作業効率が高く、騒音が少ないです。 KE02は5V kinetis EシリーズMCUで、ARM Cortex M0+コアをベースとしており、KEシリーズは複雑な電気ノイズ環境と高信頼性アプリケーションに対して高い堅牢性を維持するように設計されています。これらの利点から、KE02はステッピングモータ制御アプリケーションに適合します。 このドキュメントでは、主にKE02を使用してステッピングモーターの速度、ステップ、および方向の制御を実現する方法について説明します。PCのUARTを使用して、ステッピングモーターの速度を制御できます。次の図は制御図です。 図1 2.モーター制御パラメータの計算      図1に示すように、KE02はモータードライバーへのEN、DIR、PWM信号を制御してから、ステッピングモーター制御を実現する必要があります。ENはモータードライバーのイネーブル信号、0はイネーブル、1はディセーブルです。DIRはステッピングモーターの方向制御、0、時計回り、1反時計回りです。PWMは、ステッピングモーターのステップと速度を制御するためのパルス信号です。 ステッピングモーターは1.8'で、ラウンドが360'/1.8'=であることを意味します200ステップ。しかし、モータードライバーには仕切りがあるため、32であるため、1つのステッピングモーターラウンドは200 * 32 = 6400ステップである必要があります。 KE02システムは、外部10Mhzクリスタルを使用し、コアとバスの両方を頻繁に20Mhzに構成し、モーターパルス生成モジュールとしてFTM0モジュールを使用し、FTM0クロックソースとして使用される32プリスケールのバスクロックは、カウンターを選択します。モーターの速度と制御ステップを変更する必要がある場合は、FTMPWMの頻繁な操作とPWMカウンターを制御するだけです。 ステッピングモーターの場合、1FTM周期は1モーターステップを意味します。KE02のリファレンスマニュアルから、アップカウントモードでのFTM期間は、(MOD-CNTIN+1)* FTMカウンタークロックの周期、モーターの頻度を変更したい場合は、FTMのMODを計算するだけでOKです、次にFTMサイクルの数を数え、CNTIN = 0を仮定します。 Tftm= (32/20Mhz)*(MOD+1) ステッピングモーターとそのドライバーから、1ステップの時間は次のとおりです。 Tmstep= 60 /(V * 6400) Vはモーターの速度で、単位は丸/分です。 Tftm=Tmstepなので、次のことが分かります。 MOD= (60/(V*6400))*(20Mhz/32)-1 (F1) このドキュメントでは、(F1)に従って150ラウンド/分、110ラウンド/分、80ラウンド/分、50ラウンド/分、0.1ラウンド/分の速度を計算し、次のように各速度のMODを取得できます。 150発/分 MOD=38 110ラウンド/分 MOD=52 80ラウンド/分 MOD=72 50ラウンド/分 MOD=116 0.1ラウンド/分 MOD=58592 各速度が10ステッピングモーターラウンドを行う必要がある場合は、速度カウンター番号を10 * 6400 = 64000に制御するだけです。 3. MCUピンアサイン PTF0 : DIR PTF1 : EN PTA0 : PWM PTC6 : UART1_RX PTC7 : UART1_TX 4. コードライティング (1)FTM 初期コード void STEEPMOTOR_PWM_Init(uint16 MODdata) {                    SIM_SCGC |= SIM_SCGC_FTM0_MASK;                 FTM0_SC = 0;                 FTM0_C0SC = 0 ;                 FTM0_C0SC = FTM_CnSC_MSB_MASK |FTM_CnSC_ELSA_MASK ;                 FTM0_C0V = 0;                 FTM0_C0V = MODdata>>1;                 FTM0_MOD=MODdata; FTM0_SC |=FTM_SC_CLKS(1) |FTM_SC_PS(5) |FTM_SC_TOIE_MASK enable_irq(17);割り込みの有効化 } MODdataは、150ラウンド/分、MODdataは38など、さまざまなステッピングモーター速度を選択できます。 (2) 割り込みサービス機能 void FTM0_IRQHandler(void) { FTM0_SC &= ~FTM_SC_TOF_MASK;//TOF フラグをクリアします。 ラウンドカウント++; if(roundcount >= 64000) {FTM0_C0SC = 0x00;FTM0_SC &= ~(FTM_SC_TOIE_MASK);} } ステップカウンターに使用でき、10roundに達するとモーターを停止します(FTM出力を停止します)。 (3)UART入力による速度選択 ボイドMotor_Speed_GPIO_CTRL_30round(ボイド) {                 char motormode=0;                 uint32 COMPDATA=0;                 printf("\n 1 で 150 ラウンド/分\n\r"); printf("\n 2 で 110 ラウンド/分\n\r"); printf("\n 3 で 80 ラウンド/分\n\r"); printf("\n 4 で 50 ラウンド/分\n\r"); printf("\n 5 で 0.1 ラウンド/分\n\r");               motormode = UART_getchar(PC_TERM_PORT);                                     switch(motormode) {                                    case '1': STEEPMOTOR_PWM_Init(38);//150ラウンド/分                                                         break;                                   case '2': STEEPMOTOR_PWM_Init(52);//110ラウンド/分                                                         break;                                   case '3': STEEPMOTOR_PWM_Init(72);//80ラウンド/分                                                          break;                                   case '4': STEEPMOTOR_PWM_Init(116);//50ラウンド/分                                                         break;                                   case '5': STEEPMOTOR_PWM_Init(58592);//0.1ラウンド/分                                                         break;                                              デフォルト: break; } while( roundcount < 64000 ) {} //10 ラウンド Disable_PWM; printf("\n %c 10round PWMが終了しました", motormode); ラウンドカウント=0; } 5 デモ テストコードについては、添付資料から探してください。 Kinetis Eシリーズ・マイクロコントローラ
View full article
K312 CAN has no signal output Hello everyone, I tested the CAN on the S32K312 demo board and found that there was no CAN signal output. The code is the same as the configuration reference example (because the SDK example compilation error, I tried it myself), the main code is as follows: #define MSG_ID 20u #define RX_MB_IDX 1U #define TX_MB_IDX 0U   uint8 dummyData[8] = {1,2,3,4,5,6,7}; volatile int exit_code = 0; /* User includes */ extern void CAN0_ORED_0_31_MB_IRQHandler(void); /*!   \brief The main function for the project.   \details The startup initialization sequence is the following:  * - startup asm routine  * - main() */ int main(void) {     /* Write your code here */ Clock_Ip_Init(&Clock_Ip_aClockConfig[0]);   IntCtrl_Ip_EnableIrq(FlexCAN0_1_IRQn); IntCtrl_Ip_InstallHandler(FlexCAN0_1_IRQn, CAN0_ORED_0_31_MB_IRQHandler, NULL_PTR);   Flexcan_Ip_DataInfoType rx_info = { .msg_id_type = FLEXCAN_MSG_ID_STD, .data_length = 8u, .is_polling = TRUE, .is_remote = FALSE }; Flexcan_Ip_MsgBuffType rxData; FlexCAN_Ip_Init(INST_FLEXCAN_0, &FlexCAN_State0, &FlexCAN_Config0); FlexCAN_Ip_SetStartMode(INST_FLEXCAN_0); FlexCAN_Ip_ConfigRxMb(INST_FLEXCAN_0, RX_MB_IDX, &rx_info, MSG_ID); rx_info.is_polling = FALSE; FlexCAN_Ip_Send(INST_FLEXCAN_0, TX_MB_IDX, &rx_info, MSG_ID, (uint8 *)&dummyData); FlexCAN_Ip_Receive(INST_FLEXCAN_0, RX_MB_IDX, &rxData, TRUE); while(FlexCAN_Ip_GetTransferStatus(INST_FLEXCAN_0, RX_MB_IDX) != FLEXCAN_STATUS_SUCCESS) { FlexCAN_Ip_MainFunctionRead(INST_FLEXCAN_0, RX_MB_IDX); } FlexCAN_Ip_SetStopMode(INST_FLEXCAN_0); FlexCAN_Ip_Deinit(INST_FLEXCAN_0);       return exit_code; } IntCtrl_Ip_EnableIrq(FlexCAN0_1_IRQn); IntCtrl_Ip_InstallHandler(FlexCAN0_1_IRQn, CAN0_ORED_0_31_MB_IRQHandler, NULL_PTR);   Flexcan_Ip_DataInfoType rx_info = { .msg_id_type = FLEXCAN_MSG_ID_STD, .data_length = 8u, .is_polling = TRUE, .is_remote = FALSE }; Flexcan_Ip_MsgBuffType rxData; FlexCAN_Ip_Init(INST_FLEXCAN_0, &FlexCAN_State0, &FlexCAN_Config0); FlexCAN_Ip_SetStartMode(INST_FLEXCAN_0); FlexCAN_Ip_ConfigRxMb(INST_FLEXCAN_0, RX_MB_IDX, &rx_info, MSG_ID); rx_info.is_polling = FALSE; FlexCAN_Ip_Send(INST_FLEXCAN_0, TX_MB_IDX, &rx_info, MSG_ID, (uint8 *)&dummyData); FlexCAN_Ip_Receive(INST_FLEXCAN_0, RX_MB_IDX, &rxData, TRUE); while(FlexCAN_Ip_GetTransferStatus(INST_FLEXCAN_0, RX_MB_IDX) != FLEXCAN_STATUS_SUCCESS) { FlexCAN_Ip_MainFunctionRead(INST_FLEXCAN_0, RX_MB_IDX); } FlexCAN_Ip_SetStopMode(INST_FLEXCAN_0); FlexCAN_Ip_Deinit(INST_FLEXCAN_0);   The pin configuration is can be configured as Excuse me, why there is no signal output? 回复: K312 的can 没有信号输出 @PetrS   thank you very much! I can sent data successful!
View full article
交互式电影亭 – 视觉震撼的 2D/3D 用户界面 - i.MX6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Demo Crank Software 的电影亭演示在 NXP 的 i.MX 6QuadPlus 应用处理器上运行,是一个丰富的 2D 和 3D 用户界面,可用于预览电影、购买电影票和选择座位        功能: 在带有 Linux ®操作系统的 NXP i.MX 6QuadPlus 应用处理器上运行。i.MX 6QuadPlus 在图形处理和内存利用率方面均提高了 50%。 使用 Crank Software Storyboard Suite 创建,直接导入 Photoshop (PSD) 和 3ds Max (FBX) 内容。 完整的视频背景利用平台的视频编解码器和层混合。支持多流的高清视频引擎,可提供高达 1080p 的解码。 集成的 2D 和 3D 动画内容引导用户交互。独立图形处理单元:带有四个着色器的 OpenGL ® ES 3.0 3D 图形加速器、2D 图形加速器和专用 OpenVG ™ 1.1 加速器。 3D 模型提供 1:1 虚拟到物理模型,用于剧院座位选择 _________________________________________________________________________________________________________________________________________ 推荐产品: 故事板套件 | Crank 软件http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx-6-processors/i.mx6qp/i.mx-6quadplus-processor-quad-core-high-performance-advanced-3d-graphics-hd-video-advanced-multimedia-arm-cortex-a9-core:i.MX6QP i.MX6QP|i.MX 6QuadPlus 处理器|四核|恩智浦 i.MX6DP|i.MX 6DualPlus Processors|Dual Core|NXP SABRE 板参考设计|NXP (评估/参考板) 14通道可配置电源管理IC|恩智浦 _________________________________________________________________________________________________________________________________________ C53 移动设备
View full article
イベント発生のタイミングがeMIOS MCBモードで異なる 私は eMIOS UC23 を MCB モードとして使用しています。 COREクロック : 100MHz プリスケーラー:すべて「1」 UC23 Aレジスタ:5000 オシロスコープでフラグ割り込みをチェックしていますが、イベントが発生するタイミングは異なります。 ばらつきの原因が考えられる場合はお知らせください。 #s32k Re:イベント発生タイミングはeMIOS MCBモードで異なります コアクロックに問題がありました。時計の設定を見直したところ、問題は解決しました。 Re:イベント発生タイミングはeMIOS MCBモードで異なります Hi@Aren デモプロジェクトとテストの詳細を提供していただければ、時間をかけて確認させていただきます。 Re:イベント発生タイミングはeMIOS MCBモードで異なります ばらつきについての注意 50usごとにイベントが発生したいのですが、イベントは10us、20usなど、まったく異なる時間に発生します。
View full article
FEZオープンソース開発プラットフォーム <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はじめに FEZは、初心者向けのオープンソース開発プラットフォームです。ARMプロセッサ(LPC2388)を搭載し、Microsoftの.NET Micro Frameworkによって駆動されるFEZは、組み込み世界への入り口です。 FEZは、非常に簡単に習得できるようにゼロから設計しました。ボードからパンフレットまで、私たちはあなたの旅のすべてを説明するようにしました。プログラミングは、Microsoft の Visual Studio と C# を使用して簡単に行うことができます。組み込みの世界に馴染みのない人でも、予備知識がなくてもプログラミングができる。さらに詳しく調べていただくために、詳細な情報とコード例を掲載した電子書籍を作成しました。この電子書籍は無料であるだけでなく、SDKとIDEも完全に無料です。この全体的に低コストの出発点により、誰もが組み込みデバイスを学ぶ機会が開かれます。 主な特長 Microsoftの.NET Micro Frameworkがベース 72MHz NXP ARMプロセッサ(LPC2387およびLPC2388)で動作 ランタイムデバッグ(ブレークポイント、変数検査、ステッピングなど)をサポート 開発には Visual Studio 2008 C# Express Edition を使用します FAT、USBデバイス、USBホストなどの高度な機能 Embedded Masterなどのハードウェアへのアップグレードが容易 オープンソースのハードウェア設計ファイル 既存のシールドとホルダーボードを使用 USBiziチップセットベース(商用利用に最適) FEZミニピン配置はBS2と互換性があります Arduinoと互換性のあるFEZ Dominoピン配置 開発環境 FEZ の開発は、Visual Studio 2008 C# Express Edition を使用して行われます。PC開発者が使用しているのと同じ強力なIDEを使用できるようになりました。マネージ C# プログラミングの利点には、プログラミング エラーの大幅な削減と、システム リソースの自動管理が含まれます。コード、IntelliSense、付属の周辺ライブラリから、アプリケーションのデプロイとデバッグまで。これらのツールは最も先進的であるだけでなく、すべて無料です。 入力すると、IntelliSense によって適切なメソッドとプロパティが提供されます。 デバイス上のコードをステップスルーすることで、問題を効率的にデバッグできます。 ハードウェア FEZには、FEZ DominoとFEZ Miniの2つのモデルがあります。どちらにも、FATファイルシステム、スレッド、UART、SPI、 I 2 C、GPIO、PWM、ADC、DACなどを含むライブラリが含まれています。また、スターターキットとロボットキットの2種類のキットもご用意しています。また、Bluetooth、LED、ボタン、光センサー、温度計など、これらのボード用の多数の周辺機器も提供しています。 FEZドミノ FEZ Mini ソフトウェア Microsoft の .NET Micro Framework は、.NET Framework の軽量な実装です。リソースに制約のある組み込みシステムの特定の要件に焦点を当てています。C# での開発のサポートと、エミュレーターまたはデバイスでのデバッグ (どちらも Visual Studio を使用)。.NET Micro Frameworkもオープンソースであり、Apache 2.0ライセンスの下でリリースされ、完全に無料です。 .NET と Visual Studio の使用経験が豊富な開発者は、自分のスキルをすぐに活用できるため、学習曲線を短縮できます。実際の C# アプリケーション開発プロセスは、ハードウェア プラットフォームの低レベルの設計の詳細から完全に保護されています。これらの利点を既製の低コストのネットワーク対応組み込みシステムと組み合わせることで、迅速な製品開発ソリューションが実現します。 詳細情報 FEZパートナー リンク TinyCLR パンフレット TinyCLR 電子ブックリファレンス TinyCLR チュートリアル Microsoft .NET Micro Framework ブログ Wikipedia Fez (hat
View full article
カメラモジュールのサポート Hello,  私たちのアプリケーションには、IMX8M-plusプロセッサとomnivision(OSO2H10)のカメラセンサーを選択しました。 私たちは知りたいです、 IMX8M-plusがOSO2H10カメラセンサーのファームウェアをサポートしている場合 OSO2H10はISPのない生のセンサーですが、プロセッサ内でISPを使用するためにIMX8M-plusを選択しましたが、このカメラモジュールのISPのチューニングをサポートしていますか? IMX8M-plusでサポートされているカメラモジュール/センサーのリストを共有してください。 感謝 i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Re:カメラモジュールのサポート 返信とリンクをありがとう! 理解して、OV5640の参考にして、OSO2H10用のドライバを開発できます。 ISPチューニングに利用可能なAPIを使用できます。 よろしくお願いします。 Re:カメラモジュールのサポート Hello, OSO2H10はMX8Mplusではデフォルトでサポートされていませんが、OV5640をサポートしており、ISPを使用してカメラに移行できるドライバーに似ているはずです。 https://www.nxp.com/docs/en/user-guide/iMX8MP_CAMERA_DISPLAY_GUIDE.pdf https://www.mouser.com/datasheet/2/302/AN13736-3073771.pdf?srsltid=AfmBOoobASIHe4SOtrDvchLUQZebrqyxVnrzqtdGbq-ijvDr65FejhXf よろしくお願いします。
View full article
KW45/K32W1 32MHz & 32kHz 発振マージン 発振余裕度の概要 概要 発振余裕度とは発振停止までのマージンであり、発振回路における最重要項目です。 この余裕度は水晶振動子の抵抗値を基準とした比率で表され、回路が有する増幅発振能力を示します。 理論上、発振余裕度が 1 以上であれば回路は動作します。ただし、発振余裕度が 1 に近い場合には、起動時間が長くなる等の理由によりモジュールの動作不良リスクが高まります。こうした問題は、発振余裕度を大きく取ることで解決できます。 発振起動時には発振余裕度を 3 倍以上に確保することを推奨します。 自動車用途では起動時に 10 倍、IoT 市場では 5 倍 が一般的な要求値です。 定常状態では 3 倍を許容するサプライヤもあります。 以下に、本現象をわかりやすく説明するための発振例を示します。 起動時、発振を確実に開始するためにハードウェアが内部設定を行い、このとき負荷容量は 0 pF となります。その後は定常状態に入り、内部キャパシタバンクの負荷容量が有効になります。 負荷容量が適切な発振ゲインに合わせて設定されていない場合、起動後に発振が維持されません。 発振ゲインの値は、水晶パターン上の抵抗経路にも依存します。 良い評価方法としては、水晶パスに抵抗を直列挿入し、発振が起動するかを確認することです。 SDK では、ゲインおよび負荷容量をアプリケーションコードで直接設定できます。   計算 発振余裕度の計算 発振余裕度は、以下の式に示すモーショナル抵抗 Rm を用いて算出します。               例: EVK ボードの 32 kHz 水晶(NX2012SE) ESR   80000,0 ohm Rm1   79978,2 ohm Lm1 3900 H Cm1   6,00E-15 F C0      1,70E-12 F CL      1,25E-08 F fr        32901,2 Hz fosc    32771 Hz 直列抵抗 Rs_max: 7.5 × 10^5 Ω 発振余裕度: 10.3 計測手順 測定の要件 PCB クリスタルユニット(等価回路定数データ付き) 抵抗器(SMD) 測定機器: オシロスコープ、周波数カウンタなど、発振を観測できる装置 共振器に抵抗器を直列に接続し、発振回路が動作するかを確認します。 発振が確認できた場合は抵抗値を大きくします。発振がない場合は抵抗値を小さくします。 発振が停止する直前の抵抗値 (Rs_max) を特定します。 Rs_maxで発振周波数を測定してください。 Rs_max に基づいて発振余裕度を計算します。 備考 発振余裕度は水晶振動子の特性だけでなく、MCU、コンデンサ、抵抗など発振回路を構成する部品にも影響されます。そのため、モジュール上で MCU の機能確認を行った後に発振余裕度を測定することを推奨します。 直列抵抗は評価目的のみで使用してください。実運用では使用しないでください。 モジュールの機能も確認することをお勧めします。発振回路の周波数ずれなどにより、モジュールが正しく動作しない可能性があります。 治具やソケットを使用して測定することも可能ですが、これらによる寄生成分が発振余裕度に影響を及ぼす点にご注意ください。 KW45/K32W1 製品の発振余裕度概要 32MHzクリスタル NXP は、Bluetooth LE で要求される ±50 ppm を満たすために、NDK 製水晶振動子 NX1612SA(EXS00A-CS14160) または NX2016SA(EXS00A-CS14161) の使用を推奨しています。 現在の SDK を使用した場合、NXP は起動時に発振余裕度 10(自動車用途で一般的)、定常状態で 3 を保証します。 ISEL と CDAC の設定値を高めることで発振余裕度をさらに向上させることができますが、消費電力の増加およびクロック精度の低下というトレードオフが発生します。(負荷容量バンク CDAC と発振器増幅電流 ISEL) NDK の推奨/目標発振余裕度は案件ごとに通知されます。 一般的に、要求される振動マージンは推奨値とその3倍の間である必要があります。 NDK の水晶振動子サプライヤ(FR)によれば、発振余裕度の仕様は起動フェーズでのみ必須であり、定常状態では必須ではありません。発振を開始する段階ではエネルギーが最も必要となるため、発振器ゲインは最大に設定されており、消費電力は最適化されていません。発振が安定した後はゲインを下げて電力を節約しても、発振動作には影響しません。 水晶振動子は機械的現象によって振動する点に留意してください。列車を動かし始める際、多大なエネルギーが必要となるものの、一旦定速走行に入れば維持に必要なエネルギーは少なくなる── それと同じ原理です。水晶振動子を発振させ始めることは、停止している列車を走り出させるのに似ています。列車が止まっている状態から動き始めさせるには多くのエネルギーが必要ですが、一度公称速度に達すると、その動きを維持するのに必要なエネルギーは少なくなり、完全に停止させるには逆に大きなエネルギーが必要となります。 例: 発振余裕度 10(直列抵抗 Rsmax = 560Ω) 内部ブロックで発振が開始・伝搬する CDAC/ISEL の動作領域(oscill)は、下表に定義されています。 32 kHz 水晶 Bluetooth LE で要求される ±500 ppm を満たすために、NXP は NDK 製水晶振動子 NX2012SE(EXS00A-MU01517) または NX2012SA(EXS00A-MU00801) の使用を推奨しています。 現在の SDK を使用すると、この水晶振動子で得られる発振余裕度は 10 ですが、クリスタル負荷容量選択 (Cap_Sel) と発振器粗ゲイン設定 (ESR_Range) に制約があり、それぞれ消費電力とクロック精度に影響します。 発振余裕度を 10 とする場合、Cap_Sel で選択できるコンデンサ値は下図の緑色領域に示す範囲に限定されます。 例: 発振余裕度 6.4 の構成(負荷容量 14 pF、ESR_Range = 3)では、32 kHz 周波数精度は約 91 ppm です。負荷容量を 10 pF に減らすことで発振余裕度を 10.3 まで高めることができますが、その場合周波数精度は 183 ppm に悪化します。 下図は、発振余裕度 10 における ESR_Range と負荷容量 (load cap) の関係を示しています。ESR_Range を大きくすると、負荷容量の許容変動範囲(緑色部分)が広がります。 例: 発振余裕度 10.3 の場合、ESR_Range を 2 → 3 に変更すると、クロック精度は 213 ppm → 183 ppm に改善しますが、消費電流は 169.5 nA へ増加します。 もう 1 つ重要な点として、同一の ESR_Range で負荷容量をさらに大きくすると、上記の例よりも消費電流が著しく増加します。 備考: 高い発振余裕度条件下では、水晶振動子の両端電圧は小さくなります。 発振余裕度を向上させるその他の方法 - 内部コンデンサバンクの代わりに外付けコンデンサを使用する発振余裕度を最大 10 まで高めることが可能 - BLE 用として目標 ±500 ppm で内部 32 kFRO を利用する
View full article
i.MX8MN VDD_USB_3P3电压范围 亲爱的团队, 除 VDD_USB_3P3 外,所有 3V3 电源轨的规格均设定为 3.0V 至 3.6V。根据规范,VDD_USB_3P3的电压范围应在3.069V至3.6V之间。 我们观察到满载下电压最低降至3.049V,不符合VDD_USB_3P3规范。 考虑到 VDD_USB_3P3 旨在为 USB 功能供电,如果我们不使用 USB 功能,我们可以忽略这个故障吗? Volt (V) 探测点 被测设备 直流电压有效值 (V) 直流电压Vmax(V) 直流电压V最小(V) 直流电压标准(V) 3.3 TP633 闲置 3.3 3.318 3.292 3.069~3.6 3.3 TP633 满载 3.296 3.35 3.049 3.069~3.6 3.3 TP633 闲置 3.3 3.31 3.287 3.069~3.6 3.3 TP633 满载 3.29 3.358 3.041 3.069~3.6 请指教。 回复:i.MX8MN VDD_USB_3P3 电压范围 Hello, 如果您不使用 USB 功能,这应该不是问题,但请检查您在启动时是否遵循正确的开机顺序和电压水平。 顺祝商祺!
View full article
S32K344 - 単一シャント電流測定を用いたFOC S32K344 - デュアル・シングル電流測定を備えたFOC これらの例は、位置センサーの有無にかかわらず、1シャント電流検出を備えた3相永久磁石同期モータ(PMSM)ベクトル制御(フィールド指向制御 - FOC)ドライブを示したものですこの設計は、NXP S32K3自動車ファミリを使用したモータ制御設計の例です。 例はS32K344ブラシレス直流および永久磁石同期モータ制御開発キットで設計されました。 Cプロジェクト・ベースの例は、MCSPTE1AK344開発キット・アプリケーション・ソフトウェアの一部です。MCUの設定と制御には、革新的なドライバ・セットであるリアルタイム・ドライバ(RTD)が使用されます。これは、Automotive-SPICE、ISO 26262、ISO 9001、IATF 16949に準拠しています。実環境でそのまま利用できる車載用演算/モータ制御ライブラリ・セットは、アルゴリズムに不可欠な構成要素を提供します。FreeMASTERは、便利なランタイム・デバッグ・ツールとして使用されます。 アプリケーション・ソフトウェアには以下が含まれます。 MCSPTE1AK344_PMSM_FOC_1Sh_ll - RTDのLow-levelドライバとS32 Design Studio Configuration Tools(S32CT)を使用して非AUTOSARアプローチを実証します。この例の構成は、デュアルシャントの例に似ているため、この例の詳細な説明は、この記事に添付されているアプリケーションノートAN13767およびMCSPTE1AK344 - single shunt addendum.pdf(シングルシャントの変更点をハイライト)に記載されています。 MCSPTE1AK344_PMSM_FOC_1Sh_as_tr - RTD、EB(Elektrobit)、tresos Studio、S32 Design Studioを使用して、AUTOSAR(AUTomotive Open System ARchitecture)アプローチを実証します。この例の構成はデュアルシャントの例に似ているため、この例の詳細な説明は、この記事に添付されているアプリケーションノートAN13884およびMCSPTE1AK344 - single shunt addendum.pdf(シングルシャントの変更点をハイライト)に記載されています。 MATLAB Simulinkベースのプロジェクト(モータ制御シングルシャントPMSMの例 - s32k344_mc_pmsm_1sh_ebt)は、モデルベース設計ツールボックス(MBDT)を使用してビルドされていて、NXP Model-Based Design Toolbox for S32K3xx - バージョン1.4.0または新しいリリースからダウンロードできます。
View full article
S32G_Increase_MDIO_rate This article explains how to increase the Ethernet MDIO bus speed on S32G. The application scenario is mainly to increase the access speed of MDIO to meet the high-speed diagnosis requirements of S32G for external switches, because external switches usually support high-speed MDIO. Please note that the methods described in this article do not guarantee signal quality and compliance with specifications. Table of contents 1 Required information... 2 2 Background information... 2 3    硬件说明... 3 4 PFE MCAL driver code modification... 4 4.1 MDIO Clock Tree Description... 4 4.2 Create PFE MCAL Master Project... 7 4.3 MDIO Source Code Description... 7 4.4 Source code modification... 7 4.5 Testing... 8 5 PFE Linux driver modification instructions (untested) 9
View full article