Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Front and Rear Lights – Logic Control 1 Table of Contents • Introduction • Simulink Model Overview • Inputs • Algorithm • LED Output • Diagnostics • References • Conclusion 2 Introduction This article describes how the Front Lights System (FLS) and the Rear Lights System (RLS) applications work internally, by walking through the Simulink models and describing how signals travel from the CAN bus all the way to the LED strip on the evaluation board. The goal is to give a practical understanding of what each model does, from the moment a command is received up to the moment the corresponding lamp is turned on. Both nodes are described together because they share the same overall architecture, the same execution pattern, and almost the same set of subsystems. The differences between them are limited to the lighting functions that only make sense on one side of the vehicle (Daytime Running Lights on the front, Stop Lights on the rear) and to a few CAN identifiers. Presenting them side by side keeps the article shorter and highlights how the same design pattern is reused across projects. Earlier articles in this series introduced the boards, the toolchain, and the general project layout. This article focuses on the application logic. 3 Simulink Model Overview Each application is implemented as an individual Simulink model, one for the Front Node and one for the Rear Node, structured into communication, control, and output subsystems. From a model perspective, the application can be divided into four logical areas: CAN reception and unpacking Per-function logic control LED aggregation Diagnostics Figure 1 - Front Lights main Simulink application Figure 2 - Rear Lights main Simulink application The reception area receives CAN frames from the Central Controller and makes the extracted signals available to the rest of the model through shared Data Store Memory blocks. The control area contains one Stateflow chart per lighting function and decides which lamps should be on or off. The output area builds the color pattern from the lamp requests. This separation keeps the model modular and makes it easier to add new lighting functions without changing the reception or the actuation logic. 4 Inputs Each node receives information from three main categories of inputs. CAN Network Inputs CAN communication is the main source of information for both applications. All messages come from the Central Controller and are defined in the DBC file that ships with each project. On the Front Lights node the application consumes: Gear Mode - 4 bits Activate Headlights - 0 = OFF, 1 = LOW BEAM, 2 = HIGH BEAM Activate Fog Lights - 1-bit on/off command Turn Commands - packs the signals: Activate Hazard Lights Turn Left Turn Right On the Rear Lights node the set is almost the same, with Gear Mode replaced by Press Brake - an 8-bit signal that carries the brake pedal position. The other three messages are shared with the front node. Local Fault Input On top of the CAN traffic, each node reads a digital fault input through a DIO block. The value of this pin is stored in a shared Data Store ( FLS_Fault or RLS_Fault ) and is consumed by every logic-control chart. When the fault is asserted, the charts switch to a dedicated fault branch and the LEDs display a blink pattern to signal the condition visually. Configuration Inputs Before normal operation begins, each model runs an Initialize Function that sets up the peripherals used by the application. Figure 3 - Initialize Function This subsystem enables the CAN controller interrupts and moves the controller into the started mode. 5 Algorithm Internally, each node performs four main processing activities. Message Reception The first step consists of collecting the incoming CAN traffic. Reception is interrupt-driven: a Can_RxIndication handler is registered at the top level of the model and fires a function-call trigger every time a new frame arrives. The trigger runs the CAN Unpack subsystem exactly once and captures the frame identifier, the payload, and the length. Model Representation of Message Reception Inside the CAN Unpack subsystem there is one CAN Unpack block per DBC message. Each block decodes the incoming frame and extracts the signals declared in the DBC file. Figure 4 - Front Lights CAN reception subsystem Figure 5 - Rear Lights CAN reception subsystem Overall, the reception subsystem receives the CAN frames, decodes the payload into named signals, and places them into the shared Data Stores. Per-Function Logic Control Every lighting function is implemented as a dedicated Stateflow chart. All charts follow the same skeleton: an Idle state where the lamp is OFF, one or more active states covering the operating modes, and a small fault branch ( Fault_Detected and Fault_Detected_Off ) that toggles a per-function fault flag whenever the shared fault input is asserted. Head Lights Logic Control The head lights chart reads CCS_ActivateHeadLights and moves from Idle to Head_Lights_LowBeam when the command equals 1, and to Head_Lights_HighBeam when it equals 2. Direct crossovers between the two beams are allowed without going through Idle. When the fault input is asserted, the chart enters the fault branch and toggles Low_Beam and High_Beam to create a blink pattern. Figure 6 - Head Lights logic control chart Fog Lights Logic Control The fog lights chart moves from Idle to Fog_Lights_Active when CCS_ActivateFogLights is 1 and returns to Idle when the command drops back to 0. The fault branch is identical to the one used by the head lights chart. Figure 7 - Fog Lights logic control chart DRL Logic Control (Front only) The DRL chart only exists on the front node. It keeps the daytime running lights on whenever the vehicle is in a drive gear: Idle moves to DRL_Active when CCS_GearMode is between 1 and 4, and drops back to Idle when the gear returns to 0. Fault handling is identical to the other charts. Figure 8 - DRL logic control chart (Front Lights only) Stop Lights Logic Control (Rear only) The stop lights chart keeps the stop lights on as long as the brake pedal is pressed: Idle transitions to Brake_Active when CCS_PressBrake is different from 0, and returns to Idle when the pedal is released. The fault branch is identical to the other charts. Figure 9 - Stop Lights logic control chart (Rear Lights only) Turn Lights (Turn Signals and Hazards) The turn lights chart handles both the direction indicators and the hazard lights, and also generates the blinking pattern. It uses parallel states: an outer super-state selects between Idle, Turn_Left_Active, Turn_Right_Active and Hazard_Active, while inside each active super-state a pair of On and Off states swaps every 500 ms using after(0.5, sec) transitions. From Idle, the chart enters Turn_Left_Active when CCS_TurnLeft is asserted, Turn_Right_Active when CCS_TurnRight is asserted, and Hazard_Active when CCS_ActivateHazardLights is asserted. Direct crossovers between left and right are allowed. When the fault input is asserted, the chart moves into the fault branch. Figure 10 - Turn Lights logic control chart 6 LED Output The per-function charts do not drive the LED strip directly. They only produce simple lamp requests, and a central Stateflow chart is in charge of turning those requests into a color pattern that the LED strip can display. Each lighting mode has its own state inside this chart, and every state sets the colors that represent that mode on the strip. For example, the head lights use white, the fog lights light up a few dedicated pixels, and the turn signals move step by step across one side of the strip. The hazard mode reuses the same effect on both sides at the same time. On the front node the chart also includes a state for the daytime running lights, and on the rear node it includes a state for the stop lights. Once the color pattern is ready, it is passed to a Function-Call Subsystem that sends it to the physical LED strip. This subsystem takes care of the low-level details, so the rest of the model only deals with lighting behavior. Figure 11 - LED output chart 7 Diagnostics Alongside the normal lighting behavior, each node also reports its own health to the rest of the system. A local fault input is read at runtime and made available to every logic chart, so the lamps can switch to a fault indication whenever a problem is detected on the board. The same fault information is also sent back to the Central Controller over CAN, using a short dedicated message. This way, the rest of the vehicle can react to a lighting-node fault without having to check anything manually. In addition, the model exposes its internal signals to FreeMASTER, which allows the developer to observe the CAN commands, the lamp requests, and the fault flags live during development and troubleshooting. 8 References Front and Rear Lights - Overview Front and Rear Lights - SW & HW Environment Model-Based Design Toolbox (MBDT) Community Model-Based Design Toolbox (MBDT) - S32K3 - How To MATLAB® and Simulink® Documentation 9 Conclusion This article described the internal behavior of the Front Lights and Rear Lights nodes by looking at how information flows through the models. It explained how CAN commands are received, interpreted by dedicated Stateflow charts, and finally turned into the corresponding lighting behavior on the LED strip, while the local fault status is reported back to the Central Controller. Because both applications share the same architecture, they were presented together. The only real differences are the set of lighting functions specific to each side of the vehicle (DRL on the front, Stop Lights on the rear) and the identifiers used for the fault message. The next articles in the series will take a closer look at specific parts of these applications, such as the CAN communication, the LED driving, and the tools used to validate and troubleshoot the lighting behavior.
記事全体を表示
i.MX 9 准备好了吗? 几年前我开始了一个项目,当时 NXP 的 i.MX 9 系列 MPU 开始发布,但它们基本上无法获得,所以我选择了性能强大的 i.MX 8。现阶段,它的性能远远超过我的需求,我想换用性能小得多的微处理器。我原本打算买最小的 i.MX 8,但他们最小的 CPU 是 i.MX91。我一直在想,如果选择91型而不是更成熟的8型,会不会更好。散热是我最关心的问题,所以我认为新的总是更好,但我不知道它们是否已经“达到标准”,因为它们还比较新。更公平的比较,例如将港口升级到 8 级,也可能是一个激励因素。
記事全体を表示
S32DS 3.6.5 升级到 3.6.8- 调试上下文菜单中缺少“移动到行”选项 我已经安装了S32DS 3.6.5,并且使用得很愉快。在我的调试会话中,我可以右键单击代码行,然后选择“移动到行”来强制从该行开始运行。升级到 3.6.8 版本后通过“检查更新”,在“S32DS 调试”上下文中右键单击上下文菜单,会显示“S32DS C/C++”菜单。 如何更改右键单击以显示正确的上下文菜单? 我目前需要显示反汇编视图,并滚动到 C 语言代码的第一条汇编指令。在反汇编窗口中,我得到了正确的“移动到行”、“运行到行”等上下文菜单。 我无法运行 S32DS 3.6.8 版本。由于公司IT限制,只能使用独立组网 \\(SA\\) 安装程序。在安装准备期间,它会悬挂着。我认为IT部门屏蔽了一些Java程序。然而,“检查更新”方法奏效了(或者真的奏效了吗?)。 谢谢! 达伦 Re: S32DS 3.6.5 upgrade to 3.6.8 - missing "move to line" in debug context menu 嗨@DarrenD 我已检查过S32设计工作室3.6.10版本,这是最新的 S32DS 版本,我可以确认“移动到行”选项仍然存在。如下图所示,该功能仍然可用,并且仍然可以用于直接导航到编辑器中的特定行。 BR,VaneB Re: S32DS 3.6.5 upgrade to 3.6.8 - missing "move to line" in debug context menu 我不确定从 3.6.5 升级到 3.6.8 时发生了什么。然后通过 IDE 进行操作。 然而,我后来发现,3.6.8 的独立组网 (SA)安装版本也存在这个问题。(到 C:\NXP\S32D.3.6.8)然后是 3.6.10(放入 C:\NXP\S32D.3.6.10)两种方法都有效。每个文件安装大约需要 3 个小时,可能是因为 IT 部门需要扫描每个文件。两种情况下都有“移动到行”选项,所以我又高兴了。 我们使用的是编译器 v10.2,所以我直接复制了“C:\NXP\S32DS.3.6.5\S32DS\build_tools\gcc_v10.2”将文件夹移动到“C:\NXP\S32DS.3.6.10\S32DS\build_tools\”,现在我的编译在 3.6.10 中可以正常工作了。 谢谢!
記事全体を表示
S32DS 3.6.5 から 3.6.8 へのアップグレード- デバッグコンテキストメニューに「行に移動」がない S32DS 3.6.5をインストールして、快適に使用しています。私のデバッグセッションでは、コードラインを右クリックして「Move To Line」を選んで、そのラインから強制的に実行させることができました。3.6.8にアップグレードした後「アップデートの確認」を経由すると、「S32DS Debug」コンテキストでの右クリックのコンテキストメニューに「S32DS C/C++」メニューが表示されます。 右クリックで正しいコンテキストメニューが表示されるように変更するにはどうすればよいですか? 現在、逆アセンブリビューを表示して、C言語の最初のアセンブリ命令までスクロールする必要があります。逆アセンブリウィンドウでは、「行に移動」、「行まで実行」などの正しいコンテキストメニューが表示されます。 S32DS 3.6.8は動かせません職場のIT規制のため、スタンドアロンインストーラーを使用しています。設置準備中は吊り下げられた状態になります。IT部門がJava関連の処理を一部ブロックしていると思う。しかし、「アップデートチェック」方法は効果がありました(あるいは効果は?)。 よろしくお願いします。 ダレン Re: S32DS 3.6.5 upgrade to 3.6.8 - missing "move to line" in debug context menu こんにちは、 @DarrenD S32 Design Studio 3.6.10も確認しました。これは最新のS32DSリリースであり、「ラインに移動する」オプションはまだ存在していることを確認しています。下の画像に示すように、この機能は引き続き利用可能であり、エディター内の特定の行に直接移動することができます。 BR、VaneB Re: S32DS 3.6.5 upgrade to 3.6.8 - missing "move to line" in debug context menu 3.6.5から3.6.8へのアップグレードで何が起こったのかよくわかりません。ではIDE経由で。 しかし、その後、3.6.8のスタンドアロンインストールでは(C:\NXP\S32D.3.6.8 に) そして 3.6.10(C:\NXP\S32D.3.6.10 に)両方ともうまくいきました。それぞれインストールに約3時間かかりましたが、これはおそらくIT部門がすべてのファイルをスキャンしていたためでしょう。どちらのCASEも「ラインに移動」オプションがあるSO、また満足しています。 私たちはコンパイラのv10.2を使っているので、「C:\NXP\S32DS.3.6.5\S32DS\build_tools\gcc_v10.2」をコピーしました。フォルダを「C:\NXP\S32DS.3.6.10\S32DS\build_tools\」に変更すると、3.6.10 でコンパイルが動作するようになりました。 よろしくお願いします。
記事全体を表示
i.MX 9は「もう完成形」と言えるのでしょうか? 数年前にプロジェクトを始めたのですが、NXPの i.MX 9シリーズMPUがリリースされ始めていましたが、ほとんど入手困難だったため、重い i.MX 8 にしました。現段階では、これは私の必要以上の性能なので、もっと小型のMPUに移行したいと考えています。最小の1 i.MX 8を買うつもりでしたが、i.MX91が彼らのCPUの中で最も小さいです。より成熟した8よりも91の方が良いのではないかと考えていました。サーマルが一番気になるので、新品の方が良いと思いますが、まだ新しいので「まだ成熟している」かはわかりません。8に移植されるのがより公平な動きも動機になるかもしれません。
記事全体を表示
S32DS 3.6.5 upgrade to 3.6.8 - missing "move to line" in debug context menu I had installed S32DS 3.6.5 and using it happily. In my debug sessions I could right-click on a code line and choose "Move To Line" to force running from that line. After upgrading to 3.6.8 via the "Check for updates" the right-click context menu in the "S32DS Debug" context shows the "S32DS C/C++" menu instead. How do I change the right-click to show the correct context menu? I am currently having to show the Disassembly view and scrolling to the 1st assembler instruction of my C line. In the Disassembly window I get the correct "Move To Line", "Run To Line" etc. context menu. I cannot run the S32DS 3.6.8 standalone installer due to IT restrictions at work. It would hang during preparing for installation. I think IT blocks some Java stuff. However, the "Check for updates" method worked (or did it?). Thanks Darren Re: S32DS 3.6.5 upgrade to 3.6.8 - missing "move to line" in debug context menu Hi @DarrenD  I have checked S32 Design Studio 3.6.10, which is the latest S32DS release available, and I can confirm that the "Move to Line" option is still present. As shown in the image below, the feature remains available and can still be used to navigate directly to a specific line within the editor. BR, VaneB Re: S32DS 3.6.5 upgrade to 3.6.8 - missing "move to line" in debug context menu I'm not sure what happened with my upgrade of 3.6.5 to 3.6.8 via the IDE then. However, I have since found out that standalone installs of 3.6.8 (into C:\NXP\S32D.3.6.8) and then 3.6.10 (into C:\NXP\S32D.3.6.10) both worked. Each took about 3 hours to install possibly due to IT scanning every single file. In both cases the "Move To Line" option is there so I am happy again. We use v10.2 of the compiler so I just copied the "C:\NXP\S32DS.3.6.5\S32DS\build_tools\gcc_v10.2" folder to "C:\NXP\S32DS.3.6.10\S32DS\build_tools\" and now my compilations work in 3.6.10. Thanks
記事全体を表示
S32K344 QSPI Initializes SCLK不按我们希望出来 我用S32K344 LQFP176 做一个访问QSPI外设的产品,我们期望把QSPI做成和LSPI类似的应用,不是用QSPI访问FLASH,而是普通的设备。 我已经配置了时钟树QSPI_SFCK为20MHz,也将相关FLASH的寄存器关掉了,使用了LUT表,调试过程中也看到LUT执行了,但是QSPI的SCLK没有产生,SD0-SD3上面有超高速的波形出来。可以帮我看看怎么使用这个QSPI访问非FLASH设备吗? Re: S32K344 QSPI Initializes SCLK不按我们希望出来 S32K344 QuadSPI 模块主要用作串行闪存接口,而不是用作任意 QSPI 外设的通用 LSPI 类接口。QSPI_SFCK 时钟配置仅为 QuadSPI 模块提供时钟源;它不会自动生成外部 SCLK。外部 SCKFA 信号仅作为闪存导向的 LUT/IP 命令引擎执行的有效 QuadSPI 命令序列的一部分而生成。因此,如果连接的设备不遵循类似闪存的命令/地址/数据协议,或者 LUT 序列/引脚配置与此类事务不匹配,则该行为可能不适合此应用。对于通用外部设备,如果所需的协议可以在该设备中实现,则应使用 LSPI。如果必须使用 QuadSPI,则外部设备协议需要与 QuadSPI 闪存式事务模型兼容,并且需要相应地检查 LUT 序列、引脚复用、片选、命令/地址/数据阶段和 IP 命令触发。
記事全体を表示
mc9s08qg8 代码战士(经典 IDE)v6.3 Windows 11 我下载了文件,但是无法安装,安装程序提示我的操作系统不兼容。我使用的是Windows 11系统。 Re: mc9s08qg8 code warrior (Classic IDE) v6.3 windows 11 你好, 要在Windows 11系统中使用CodeWarrior,请更新至v11.1版本。我正在寻找 MC9S08QG8 设备,并且有此版本可供选择。 您可以从此链接下载: CodeWarrior ® for MCUs (Eclipse IDE) 11.1 此致敬礼,路易斯
記事全体を表示
mc9s08qg8 コードウォリアー(クラシックIDE)v6.3 Windows 11 ファイルをダウンロードしましたが、インストールできません。インストーラーによると、私のOSが間違っているとのことです。私はWindows 11を使用していますか? Re: mc9s08qg8 code warrior (Classic IDE) v6.3 windows 11 こんにちは、 CodeWarriorをWindows 11で使用するには、バージョン11.1にアップデートしてください。MC9S08QG8というデバイスを探していたのですが、このバージョンが見つかりました。 こちらのリンクからダウンロードできます: CodeWarrior® for MCUS (Eclipse IDE) 11.1 敬具、ルイス
記事全体を表示
S32K344 QSPI Initializations SCLK does not produce the expected value. I'm using the S32K344 LQFP176 to build a product that accesses QSPI peripherals. We want to make QSPI similar to LSPI in application, not to access FLASH, but to use ordinary devices. I've configured the clock tree QSPI_SFCK to 20MHz, disabled the relevant FLASH registers, and used a LUT table. During debugging, I observed the LUT executing, but QSPI's SCLK isn't being generated, although ultra-high-speed waveforms are appearing on SD0-SD3. Could you please help me figure out how to use this QSPI to access non-FLASH devices? Re: S32K344 QSPI Initializes SCLK不按我们希望出来 The S32K344 QuadSPI module is primarily intended as a serial flash memory interface, not as a generic LSPI-like interface for arbitrary QSPI peripherals. The QSPI_SFCK clock configuration only provides the clock source for the QuadSPI module; it does not automatically generate an external SCLK. The external SCKFA signal is generated only as part of a valid QuadSPI command sequence executed by the flash-oriented LUT/IP command engine. Therefore, if the connected device does not follow a flash-like command/address/data protocol, or if the LUT sequence/pin configuration does not match such a transaction, the behavior may not be suitable for this application. For a generic external device, LSPI should be used if the required protocol can be implemented there. If QuadSPI must be used, the external device protocol would need to be compatible with the QuadSPI flash-style transaction model, and the LUT sequence, pin muxing, chip select, command/address/data phases, and IP command trigger need to be checked accordingly.
記事全体を表示
S32K344 QSPI初期化において、SCLKが期待される値を生成しません。 私はS32K344 LQFP176を使用して、QSPI周辺機器にアクセスする製品を開発しています。FLASHへのアクセスではなく、通常のデバイスを使用するために、アプリケーション上でQSPIをLSPIのように動作させたいと考えています。 クロックツリーQSPI_SFCKを20MHzに設定し、関連するFLASHレジスタを無効にして、LUTテーブルを使用しました。デバッグ中にLUTが実行されていることは確認できましたが、SD0~SD3には超高速波形が表示されているにもかかわらず、QSPIのSCLKが生成されていません。このQSPIを使用して非FLASHデバイスにアクセスする方法を教えていただけないでしょうか? Re: S32K344 QSPI Initializes SCLK不按我们希望出来 S32K344 QuadSPIモジュールは主にシリアルフラッシュメモリインターフェースとして意図されており、任意のQSPIペリフェラル向けの汎用LSPIのようなインターフェースとしては意図されていません。QSPI_SFCKクロック構成はQuadSPIモジュールのクロックソースを提供するだけであり、外部SCLKを自動的に生成するものではありません。外部SCKFA信号は、フラッシュ指向LUT/IPコマンドエンジンによって実行される有効なQuadSPIコマンドシーケンスの一部としてのみ生成されます。したがって、コネクテッドデバイスがフラッシュのようなコマンド/アドレス/データプロトコルを守っていなかったり、LUTシーケンスやピンの設定がそのようなトランザクションと一致しない場合、この動作はこのアプリケーションには適さない可能性があります。汎用外部デバイスでは、必要なプロトコルが実装できるならLSPIを使うべきです。QuadSPIを使用する場合、外部デバイスプロトコルはQuadSPIフラッシュスタイルのトランザクションモデルと互換性があり、LUTシーケンス、ピンマルチパキシング、チップセレクト、コマンド/アドレス/データフェーズ、IPコマンドトリガーを適切にチェックする必要があります。
記事全体を表示
[RTD600 MCAL] Example FRDM-A-S32K358 EMAC lwIP FreeRTOS S32DS 3.6 RTD 6.0.0 * Detailed Description: * Updated the example lwip_FreeRTOS_s32K358 to enable pinging the lwIP stack from the command window * * ping 192.168.0.200 * * Pinging 192.168.0.200 with 32 bytes of data: * * Reply from 192.168.0.200: bytes=32 time=1ms TTL=255 * Reply from 192.168.0.200: bytes=32 time=1ms TTL=255 * Reply from 192.168.0.200: bytes=32 time=1ms TTL=255 * Reply from 192.168.0.200: bytes=32 time=1ms TTL=255 * * Ping statistics for 192.168.0.200: * Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), * Approximate round trip times in milli-seconds: * Minimum = 0ms, Maximum = 1ms, Average = 0ms * * FRDM-A-S32K358: * - All jumpers in default positions. * * Configuration: * - Updated pin configuration * - Updated clock configuration * - IP address left as default (192.168.0.200) and enabled UDP_ECHO. * - Added DIO flip API. * * main.c * - Updated only the header * * test.c * - Commented out the code that shuts down the TCP/IP stack after its predefined timeout * - Added LED task * * Test HW: FRDM-A-S32K358 SCH-96522 Rev. A PDF: SPF-96522 * MCU: S32K358 * Debugger: PEmicro * Target: internal_FLASH * EVB connection: EMAC J7 Ethernet RJ45 connector <-> Laptop DELL, Windows 11 * or EMAC <-> USB-to-Ethernet adapter <-> Laptop DELL, Windows 11 * * Revision History: * Ver Date Author Description of Changes * 1.0 Jul-29-2026 Julián Aragón Initial version FRDM-A-S32K358 LwIP enablement with RTD 6.0.0.
記事全体を表示
S32K312 での Fat ファイルシステム統合 (RTD 6.0.0、非AUTOSAR、SPI SDカードドライバー) こんにちは、 私はRTD 6.0.0(Non-AUTOSAR Lpspi_Ipドライバー)を使ってS32K312 EVB上でSPI経由でSDカードドライバーを成功裏に実装しました。 以下の機能は既に動作しています。 SDカードの初期化(CMD0、CMD8、ACMD41、CMD58) シングルブロック読み取り(CMD17) 単一ブロック書き込み(CMD24) 複数ブロック読み取り(CMD18) 複数ブロック書き込み (CMD25) ドライバーはSDカードへのデータ書き込みと読み込みで確認済みです。 今は、ファイルを作成・書き込み・読み取れるようにFATファイルシステムのサポートを追加したいと考えています。 いくつか質問があります。 NXPはRTD 6.0.0(Non-AUTOSAR)を用いたS32K312向けにFatFs統合を提供したりサポートしたりしていますか?もしなければ、他のS32K3デバイスで参考にできるサポート例はありますか? NXPからFatFsをSDカードと統合するためのミドルウェアパッケージはありますか? 公式の例がない場合、Elm-Chan FatFsライブラリを統合し、必要なdiskio.cを実装することが推奨されるアプローチです。既存のSDカードドライバーを使ってインターフェースを操作するのですか? S32K3デバイスでのFATファイルシステム統合を示す参考プロジェクト、アプリケーションノート、または例リポジトリはありますか? 本番環境開発において、どの手法が推奨されるのか、少し迷っています。ご助言や参考資料などございましたら、大変ありがたく存じます。 よろしくお願いします。 Re: Fat Filesystem Integration on S32K312 (RTD 6.0.0, Non-AUTOSAR, SPI SD Card Driver) こんにちは、 @parvathitp 現在、このS32K312に対するFatFSの具体的なサポートはありません。S32K3ファミリ内では、FatFS統合はマイクロコントローラとSDカード間のハードウェアインターフェースを提供するuSDHC周辺機器を含むデバイスにのみ利用可能です。 これらのデバイスには、uSDHCドライバを通じてSDバスへのアクセスを簡素化し、FatFSとの統合を可能にするSDHCソフトウェアスタックが提供されています。 コミュニティスレッド「FatFsファイルシステムをKL26 SPI SDカードコードに移植する」で説明されているアプローチや概念は、実装に役立つ参考になるかもしれません。例はKL26デバイスをベースにしていますが、タイトルの通り、SDHC/uSDHC **ペリフェラル**を含まないデバイスにFatFSファイルシステムを移植する方法を説明しており、あなたの用途に似ています。 BR、VaneB
記事全体を表示
Makefile execution generated by MCUxpresso IDE Hi team, We have used MCUxpresso IDE and imported a sample SDK example for imxrt1170 eval board and built the project file. The MCUxpresso IDE itself has auto generated a makefile. So my query is how to execute this make file in my windows system without using MCUxpresso,like by using make all, make clean and make commands to generate the binary (.axf file here for MCUxpresso). I have even attached the Makefile also just for reference below. Re: Makefile execution generated by MCUxpresso IDE Hello, Windows user here. Using MCUXpresso's makefiles is all a matter of %PATH% variable. I found that the easiest way to run "make"  commands from the command line is to Ctrl-click on the project name in the bottom right-hand corner of the MCUXpresso IDE: This will open a terminal window in your project directory with  %PATH% properly set, so you can enter "make clean" and "make -j8 all" and similar commands. Of course, you can close the IDE and the terminal window stays open. You can also inspect the %PATH% variable. Set this path in any other terminal window and you can run make commands there as well.  Hope you can put this to good use. Best regards, Daniel Re: Makefile execution generated by MCUxpresso IDE The auto-generated make file (managed make) in Eclipse is not portable. You could use the make file in the SDK (non-IDE), or better, use CMake to have a portable build system. I'm using the approach described in https://mcuoneclipse.com/2023/04/19/building-a-triumvirate-from-eclipse-cdt-to-cmake-cmd-and-visual-studio-code/ to have both IDE, make and CMake for the builds. Re: Makefile execution generated by MCUxpresso IDE Hi @Jeevan ,   I think you can refer to the gcc project to build it in the SDK, as that also use the makefile without the IDE.  About the gcc build method, you can refer to the sdk document: SDK_2_14_0_MIMXRT1170-EVK\docs\Getting Started with MCUXpresso SDK for MIMXRT1170-EVK.pdf chapter 6 Run a demo using Arm® GCC You also can refer to my ubuntu build method document: https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT-Linux-SDK-build-based-on-Ubuntu/ta-p/1690185 Wish it helps you! If you still have question about it, please kindly let me know. Best Regards, Kerry
記事全体を表示
S32K396 RTD 5.0: eMIOS CH0/CH1 PWMが生成されず、LCU出力動作が予期しない こんにちは、NXP チームの皆様、 私はS32 Design Studio 3.6.7とRTD 5.0(AUTOSAR 4.7)を使ってS32K312を作っています。eMIOSは、 eMIOS→TRGMUX→LCU→出力ピン を通じて6つのPWM信号を生成するように設定しています。モーター制御用です。 私は2つの問題に直面しています。 eMIOSのCH0とCH1はPWMを生成しませんが、 CH2からCH5は正しくPWMを生成します。クロック、ポート、eMIOS MCL、eMIOS PWM、グローバルタイムベース、TRGMUX、LCUはすべて正常に初期化されており、CH0およびCH1のPWM構成は作業チャネルと同じです。 LCUの出力に予期せぬ挙動が見られました。LCU出力インデックス4を0に設定すると、出力4は引き続きPWMを生成しますが、出力5は永久にオフになります。同様に、 LCU出力インデックス2を0に設定すると、出力2は引き続きPWMを生成しますが、出力3は永久にオフになります。各LCU出力は独立して動作すると思っていたのですが、1つの出力を変更すると隣接する出力にも影響が出るようです。 何かアドバイスをいただけますか: eMIOSのCH0とCH1をLCUで使用する際に、ハードウェアまたはRTDに関する制限はありますか? CH0とCH1には、追加のTRGMUXまたはLCU設定が必要ですか? LCUの出力は、相補モードにおいて内部的にペアになっているのか、それとも依存しているのか? この動作は想定内のものですか、それともLCU/TRGMUXの設定ミス、あるいはRTD 5.0の既知の問題を示しているのでしょうか? 参考までに、プロジェクトファイルと設定ファイルを添付しました。 再開まで今しばらくお待ちください。 Re: S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior こんにちは、 @Esakkiさん 私は 、FRDM-A-S32K312デモアプリケーション上のPMSMモータ制御センサーレスデュアルシャントFOC に基づいて、eMIOSチャネル0および1が生成するPWM信号の周期、デューティサイクル、位相シフトを修正していくつかのテストを行いました。これらのテスト中、LCUは期待通りの出力信号を生成しており、eMIOSチャネル自体にはこのユースケースにおける固有の制限は存在しないことを示唆しています。 結果に基づくと、PWM信号が両方とも正しくLCUに送られ、受信されているにもかかわらず、現在のPWM構成が原因でLCUの出力が常に低いままになっている可能性がある。 以前共有したデモアプリケーションや、スレッド S32M27x/S32K3 – eMIOS/TRGMUX/LCU – [RTD600]で示された例をレビューすることをお勧めします。これらの例は、動作するeMIOS → TRGMUX → LCU構成を示しており、有用な参考資料となる可能性があります。 BR、vaneB
記事全体を表示
MCUxpresso IDEによって生成されるMakefile実行 チームの皆さん、こんにちは。 MCUxpresso IDEを使い、imxrt1170評価ボードのサンプルSDKをインポートしてプロジェクトファイルを作成しました。 MCUxpresso IDE自体は自動でメイクファイルを生成しています。そこで質問ですが、MCUxpressoを使わずにWindowsシステムでこのmakeファイルをどう実行するか、例えばmake all、makeクリーン、そしてコマンドを作成してバイナリ(MCUxpresso用の.axfファイル)を生成する方法です。 参考までに、Makefileも以下に添付しました。 Re: Makefile execution generated by MCUxpresso IDE こんにちは、 Windowsユーザーです。MCUXpressoのmakeファイルの使い方は%PATH%マターです。 コマンドラインから「make」コマンドを実行する最も簡単な方法は、MCUXpresso IDEの右下にあるプロジェクト名をCtrlでクリックすることです。 これでプロジェクトディレクトリにターミナルウィンドウが開き、%PATH% が正しく設定されているので、「make clean」や「make -j8 all」などのコマンドを入力できます。 もちろん、IDEを閉じてもターミナルウィンドウは開いたままです。また、 %PATH% 変数も検査できます。このパスを他のターミナルウィンドウに設定すれば、そこでも「メイクコマンド」を実行できます。 この情報を有効に活用できることを願っています。 よろしくお願いします、 ダニエル Re: Makefile execution generated by MCUxpresso IDE Eclipseの自動生成メイクファイル(マネージドメイク)はポータブルではありません。SDKのmakeファイル(非IDE)を使うか、もっと良いのはCMakeを使ってポータブルビルドシステムを作る方法です。https://mcuoneclipse.com/2023/04/19/building-a-triumvirate-from-eclipse-cdt-to-cmake-cmd-and-visual-studio-code/ で説明したIDE、make、CMakeの両方をビルドに使う方法を使っています。 Re: Makefile execution generated by MCUxpresso IDE こんにちは、 @Jeevan さん。 SDKで構築するにはgccプロジェクトを参照できると思います。そちらもIDEなしでmakefileを使うからです。 gccビルド方法については、SDKのドキュメントを参照してください。 SDK_2_14_0_MIMXRT1170-EVK\docs\MCUXpresso SDK for MIMXRT1170-EVK.pdf 第6章 Arm® GCCを使ってデモを実行 また、私のUbuntuビルド方法のドキュメントも参照してください: https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT-Linux-SDK-build-based-on-Ubuntu/ta-p/1690185 お役に立てれば幸いです! ご不明な点がございましたら、お気軽にお問い合わせください。 よろしくお願いいたします。 kerry
記事全体を表示
S32K396 RTD 5.0:eMIOS CH0/CH1 PWM 未生成且 LCU 输出行为异常 您好,NXP团队: 我正在使用S32 Design Studio 3.6.7和RTD 5.0 (AUTOSAR 4.7)开发S32K312 。我已经配置 eMIOS 通过eMIOS → TRGMUX → LCU → 输出引脚生成六个 PWM 信号,用于电机控制。 我面临两个问题: eMIOS CH0 和 CH1 不产生 PWM ,而CH2 至 CH5 正确产生 PWM 。时钟、端口、eMIOS MCL、eMIOS PWM、全局时基、TRGMUX 和 LCU 均已成功初始化,CH0 和 CH1 的 PWM 配置与工作通道相同。 我发现 LCU 输出出现了异常行为。当我将LCU 输出索引 4设置为 0 时,输出 4 继续产生 PWM ,但输出 5 永久关闭。同样地,当我将LCU 输出索引 2设置为 0 时,输出 2 继续产生 PWM ,但输出 3 永久关闭。我原以为每个 LCU 输出都会独立运行,但改变一个输出似乎会影响相邻的输出。 请问您能否提供以下建议: 使用 eMIOS CH0 和 CH1 与 LCU 配合使用时,是否存在任何硬件或 RTD 限制? CH0 和 CH1 是否需要额外的 TRGMUX 或 LCU 配置? LCU 输出在内部是成对的还是互补模式下相互依赖的? 这种行为是预期的,还是表明 LCU/TRGMUX 配置不正确,或者 RTD 5.0 中存在已知问题? 我已附上我的项目文件和配置文件供您参考。 感谢您的支持。 Re: S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior 嗨@Esakki 我根据FRDM-A-S32K312 演示应用程序上的 PMSM 电机控制无传感器双并联 FOC ,通过修改 eMIOS 通道 0 和 1 生成的 PWM 信号的周期、占空比和相移进行了一些测试。在这些测试中,LCU 按预期生成了输出信号,这表明 eMIOS 通道本身在此用例中没有任何固有的限制。 根据结果来看,当前的 PWM 配置可能导致 LCU 输出始终保持低电平,即使两个 PWM 信号都已正确路由到 LCU 并被 LCU 接收。 我建议您查看之前分享的演示应用程序,以及在S32M27x/S32K3 – eMIOS/TRGMUX/LCU – [RTD600]主题中提供的示例。这些示例展示了 eMIOS → TRGMUX → LCU 的可行配置,可作为有用的参考。 BR,叶片B
記事全体を表示
由 MCUxpresso IDE 生成的 Makefile 执行 大家好, 我们使用了 MCUxpresso IDE,导入了 imxrt1170 评估板的示例 SDK,并构建了项目文件。 MCUxpresso IDE 本身已自动生成了 Makefile 文件。所以我的问题是,如何在不使用 MCUxpresso 的情况下,在我的 Windows 系统中执行此 make 文件,例如使用 make all、make clean 和 make 命令来生成二进制文件(MCUxpresso 使用的是 .axf 文件)。 我还附上了 Makefile 文件,供您参考。 Re: Makefile execution generated by MCUxpresso IDE 你好, 我是Windows用户。使用MCUXpresso 的 makefiles 完全取决于%PATH%变量。 我发现从命令行运行“ make ”命令的最简单方法是按住Ctrl键并单击MCUXpresso IDE右下角的项目名称: 这将在您的项目目录中打开一个终端窗口,并将%PATH%正确设置,以便您可以输入“ make clean ”和“ make -j8 all ”以及类似的命令。 当然,您可以关闭 IDE,终端窗口仍会保持打开状态。您还可以检查%PATH%变量。在任何其他终端窗口中设置此路径,您也可以在那里运行 make 命令。 希望你能好好利用它。 此致, 丹尼尔 Re: Makefile execution generated by MCUxpresso IDE Eclipse 中自动生成的 make 文件(托管 make)不具备可移植性。您可以使用 SDK(非 IDE)中的 make 文件,或者更好的选择是使用 CMake 来获得一个可移植的构建系统。我正在使用https://mcuoneclipse.com/2023/04/19/building-a-triumvirate-from-eclipse-cdt-to-cmake-cmd-and-visual-studio-code/中描述的方法,以便同时使用 IDE、make 和 CMake 进行构建。 Re: Makefile execution generated by MCUxpresso IDE 嗨@Jeevan , 我认为你可以参考 gcc 项目在 SDK 中构建它,因为它也使用 makefile,而无需 IDE。 关于gcc版本方法,您可以参考SDK文档: SDK_2_14_0_MIMXRT1170-EVK\docs\MIMXRT1170-EVK MCUXpresso SDK 入门指南.pdf 第六章 使用 Arm ® GCC 运行演示 您还可以参考我的 Ubuntu 版本方法文档: https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT-Linux-SDK-build-based-on-Ubuntu/ta-p/1690185 希望对您有所帮助! 如果您还有任何疑问,请随时告诉我。 顺祝商祺! kerry
記事全体を表示
S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior Hi NXP Team, I am working on an S32K312 using S32 Design Studio 3.6.7 with RTD 5.0 (AUTOSAR 4.7). I have configured eMIOS to generate six PWM signals through eMIOS → TRGMUX → LCU → Output Pins for motor control. I am facing two issues: eMIOS CH0 and CH1 do not generate PWM, while CH2 to CH5 generate PWM correctly. Clock, Port, eMIOS MCL, eMIOS PWM, Global Time Base, TRGMUX, and LCU are all initialized successfully, and the PWM configuration for CH0 and CH1 is the same as the working channels. I have observed unexpected behavior with the LCU outputs. When I set LCU Output Index 4 to 0, Output 4 continues to generate PWM, but Output 5 becomes permanently OFF. Similarly, when I set LCU Output Index 2 to 0, Output 2 continues to generate PWM, but Output 3 becomes permanently OFF. I expected each LCU output to operate independently, but changing one output appears to affect the adjacent output. Could you please advise: Are there any hardware or RTD restrictions for using eMIOS CH0 and CH1 with the LCU? Is any additional TRGMUX or LCU configuration required for CH0 and CH1? Are LCU outputs internally paired or dependent in complementary mode? Is this behavior expected, or does it indicate an incorrect LCU/TRGMUX configuration or a known issue in RTD 5.0? I have attached my project and configuration files for reference. Thank you for your support. Re: S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior Hi @Esakki  I made a few tests by modifying the period, duty cycle, and phase shift of the PWM signals generated by eMIOS channels 0 and 1, based on the PMSM Motor Control Sensorless Dual Shunt FOC on FRDM-A-S32K312 demo application. During these tests, the LCU generated output signals as expected, which suggests that the eMIOS channels themselves do not have any inherent limitation in this use case. Based on the results, it appears that the current PWM configuration may be causing the LCU output to remain constantly low, even though both PWM signals are correctly routed to and received by the LCU.  I would recommend reviewing the previously shared demo application, as well as the example provided in the thread S32M27x/S32K3 – eMIOS/TRGMUX/LCU – [RTD600]. These examples demonstrate a working eMIOS → TRGMUX → LCU configuration and may serve as a useful reference. BR, vaneB
記事全体を表示
S32K312 上的 Fat 文件系统集成(RTD 6.0.0,非AUTOSAR、SPI SD卡驱动程序) 您好, 我已经成功地在 S32K312 EVB 上使用 RTD 6.0.0(非 AUTOSAR Lpspi_Ip 驱动程序)实现了通过 SPI 的 SD 卡驱动程序。 以下功能已实现: SD卡初始化(CMD0、CMD8、ACMD41、CMD58) 单块读取(CMD17) 单块写入(CMD24) 多块读取(CMD18) 多块写入(CMD25) 已通过向 SD 卡写入数据并成功读取数据验证了驱动程序。 现在我想添加对 FAT 文件系统的支持,以便在 PC 上创建、写入和读取文件。 我有几个问题: NXP 是否为使用 RTD 6.0.0(非 AUTOSAR)的 S32K312 提供或支持 FatFs 集成?如果没有,是否有其他 S32K3 设备的示例可供参考? NXP是否有任何中间件软件包可以将FatFs与SD卡集成? 如果没有官方示例,建议的方法是集成 Elm-Chan FatFs 库并实现所需的 diskio.c 函数。使用我现有的SD卡驱动程序进行接口? 是否有任何参考项目、应用笔记或示例库演示了在 S32K3 设备上集成 FAT 文件系统? 我有点困惑,不知道哪种方法更适合产品开发。任何指导或参考资料都将不胜感激。 谢谢! Re: Fat Filesystem Integration on S32K312 (RTD 6.0.0, Non-AUTOSAR, SPI SD Card Driver) 嗨@parvathitp 目前 S32K312 尚不支持 FatFS 文件系统。在 S32K3 系列中,FatFS 集成仅适用于包含 uSDHC 外设的设备,该外设提供微控制器和 SD 卡之间的硬件接口。 对于这些设备,我们提供了一个 SDHC 软件栈,通过 uSDHC 驱动程序简化对 SD 总线的访问,并实现与 FatFS 的集成。 社区帖子“将 FatFs 文件系统移植到 KL26 SPI SD 卡代码”中描述的方法和概念可能对您的实现有所帮助。虽然该示例基于 KL26 设备,但正如标题所示,它描述了如何将 FatFS 文件系统移植到不包含 SDHC/uSDHC 外围设备的设备上,这与您的用例类似。 BR,VaneB
記事全体を表示