NXP Designs ナレッジベース

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

NXP Designs Knowledge Base

ディスカッション

ソート順:
See how to use the Tower Kinetis 70 development hardware and programmed with PEG GUI, MQX Software Solutions RTOS and processor expert software development tools to create this touch screen controlled, wireless motor control demonstration.   Features Hardware and software modular system that NXP provides for the Kinetis Microcontrollers K series One TWR-K70F120M board communicates with another TWR-K70F120M board wirelessly and then the second TWR-K70F120M board controls a motor Usage of LCD touch panel to control the speed of the motor   Featured NXP Products CodeWarrior Development Tools|NXP Processor Expert Software and Embedded Compon|NXP Kinetis K70 120 MHz Tower System Module|NXP MQX
記事全体を表示
Demo This demo combines Multi-standard Digital Radio by means of Software Defined Radio and combining broadcast radio with internet radio to get the best audio listening experience for the end user. By downloading a different FW start-up of the device this HW platform can service as a global digital radio receiver for the whole world, supporting DAB+, HD-Radio and the DRM standards. This demo can also demonstrate that the internet/IP (which is making its way into more and more cars these days) can also be used as an alternative to broadcast radio. By aligning the two streams (IP-FM), the radio can seamlessly switch between IP and FM to create a continuous audio stream for the listener, especially in the car where radio reception condition change every second     Demo / product features Digital radio and processing system-on-chip (SAF360x) Car radio Digital Signal Processor (SAF775x)   NXP Recommends Multi Standard Digital Radio features and benefits Software defined radio Technology   Links  Software-Defined Radio: One Global Platform for Car Entertainment     A06
記事全体を表示
LPC55S6x系列最初的硅芯片版本为0A并且该硅芯片已在Revision A1 LPCXpresso55S69评估板上使用。版本1B的硅片已用于版本A2的评估板上。两种版本的芯片都支持新的更加稳定的调试会话请求方式,而1B芯片就需要使用该方式。如果未使用正确版本的IDE和/或调试探驱动程序,调试操作将受到影响或不能工作。 当使用revsion A2 芯片的板子时,需要当前软件版本为: MCUXpresso IDE版本11.0.1或更高版本(建议使用11.1或更高版本) [注意:也可以使用IDE 11.0.1,但在使用A1版本时,此版本需要补丁程序。请参阅https://community.nxp.com/migration-blogpost/11165] 请注意,如果从使用A1版本开发切换到A2版本时(或切换到使用1B版本芯片的任何目标系统),则需要从一个新的工作区(workspace)开始。 IAR Embedded Workbench版本8.40.2或更高版本 Keil uVISION LPC55S6x设备软件包(DFP)12.0.1或更高版本 SEGGER J-Link 应使用J-link 6.54c或更高版本(从SEGGER网站下载),建议使用V6.64或更高版本。将J-link与非SEGGER IDE(MCUXpresso,IAR,Keil)一起使用时,请确保您的IDE配置指向最新的J-Link驱动程序。 如果使用MCUXpresso IDE 11.0.1,则需要将其下安装的J-link驱动程序更新为最新版本,以支持A1版本。更多信息,请参见在Windows上更新SEGGER J-LINK安装包的方法。   有关芯片修订和工具的更多信息,请参考了解LPC55S6x版本和工具。 另请注意,有关电路板版本,芯片的版本和相应工具有中文版本描述,如下所示: http://www.nxpic.org/module/forum/thread-618614-1-1.html http://www.nxpic.org/module/forum/thread-619338-1-1.html
記事全体を表示
Overview The QorIQ® communications processors include single-, dual-, quad- and multicore processor architectures with integrated support for communications protocols such as EtherCAT. The new programmable logic controller (PLC) reference platform is equipped to ease development of industrial control systems PLC reference platform implements the KPA (koenig-pa GmbH) EtherCAT Master protocol with ISaGRAF Firmware and QNX Neutrino® RTOS on the high-performance QorIQ P1025 processor Supported by powerful development tools from all four companies, including the KPA EtherCAT Studio, ISaGRAF 6 Workbench, QNX Momentics® Tool Suite, and CodeWarrior® Development Suit Features Integrated ISaGRAF Firmware, KPA EtherCAT Master stack and QNX Neutrino RTOS on the QorIQ ®  P1 Tower ®  module EtherCAT master protocol and customer control application run simultaneously on a single QorIQ P1025 processor to deliver one millisecond EtherCAT master cycle time QorIQ P1 processors can also provide simultaneous support for complex applications, as well as additional industrial protocols like PROFINET, PROFIBUS and EtherNet/IP ™ Powerful development tools include the KPA EtherCAT Studio, ISaGRAF 6 Workbench, QNX Momentics Tool Suite, and CodeWarrior ®  Development Suite ISaGRAF 6 Workbench and Firmware kernel can fully support all IEC 61499 and IEC 61131-3 standard PLC programming languages Software and hardware developed on TWR-P1025 can be easily deployed on a range of QorIQ P1 processors, including the P1012, P1021, P1016 and P1025 processors QorIQ P1 processor family offers pin-compatible single-core variants for cost reduction, and dual-core variants which scale up to 3,700 million instructions per second (MIPS) for more complex control algorithms. Customers may distribute processing functions across two cores, or isolate real-time control functions on one core while running maintenance and communications functions on the other core. Commercial EtherCAT Master stack available from KPA Commercial Neutrino RTOS available from QNX Block Diagram Platform Requirements One TWR-P1025 QorIQ Tower Module Target slaves required to run the demo: Beckhoff EK1100 EtherCAT coupler Beckhoff EL1004 4-channel digital input terminal 24 V DC, 3 ms Beckhoff EL2004 4-channel digital output terminal 24 V DC, 0.5 A Beckhoff EL9011 end cap An image of the complete PLC Reference Platform run-time software. Download the PLC Reference Platform evaluation software. ISaGRAF 6 Workbench for offline tools Utility Software (Windows) TeraTerm for RS232 communications USB to UART driver for console port TFTP Server to load images to TWR-P1025 Design Resources
記事全体を表示
Demo DJI Phantom 1 quadcopter drone with customised ESC module containing a single Kinetis KV5x MCU controlling all 4 propellers. Includes four MC34GD3000 3-ph Motor Driver ICs.   Features KV5x 240MHz ARM Cortex-M7 MCU with high speed ADCs & timers controlling all 4 BLDC motors GD3000 BDLC motor pre-driver featuring fast switching to drive low Q MOSFETs Single MCU solution unique in the market – reduced component count and BOM cost with superior performance   Featured NXP Products KV5x|Kinetis KV5x Connected Control MCUs|NXP KV4x |Kinetis KV4x High Precision Control MCU|NXP 3-Phase Brushless Motor Pre-Driver|NXP   Other Videos  
記事全体を表示
  Introduction   In this document, we are focusing on the usage of two functions of FreeRTOS: Creation of tasks and the use of queues as a way to trigger a generic functionality in our application. NXP’s SDK abstraction layer for the QN908x is intended to give the customer a simpler way of FreeRTOS usage and control functionalities. Hardware Requirements: QN9080DK Software Requirements: MCUXpresso IDE v11.1.0 or newer QN908XCDK SDK with BLE stack and examples (It can be downloaded from the SDK Builder) This document is based on the Wireless UART example from the SDK. Setting up the required variables and definitions Import the FreeRTOS version of the wireless_uart example included in the QN9080’s SDK.   Note: Be sure to select UART as your debug console.    2. In order to change the default role of the QN9080 board it is required to change the definition of the mGapRole variable, from gGapCentral_c to gGapPeripheral_c in PROJECT_FILE_NAME > source > wireless_uart.c > BleApp_Config(). //wireless_uart.c //static void BleApp_Config(void) { /* By default, always start node as GAP central */ //mGapRole = gGapCentral_c; mGapRole = gGapPeripheral_c; (void)Serial_Print(gAppSerMgrIf, "\n\rWireless UART starting as GAP Peripheral, press the role switch to change it.\n\r", gAllowToBlock_d); mAdvState.advOn = TRUE; mScanningOn = FALSE; //...}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍    3. It is important to change the macro value of: osNumberOfMessageQs in PROJECT_FILE_NAME > framework > OSAbstracion > Interface > fsl_os_abstraction_config.h to a value > 0.  //fsl_os_abstraction_config.h #ifndef osNumberOfMutexes #define osNumberOfMutexes 5 #endif #ifndef osNumberOfMessageQs #define osNumberOfMessageQs 1 #endif #ifndef osNumberOfMessages #define osNumberOfMessages 10 #endif‍‍‍‍‍‍‍‍‍ //...‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Then, to start the task implementation it is needed to edit the file: PROJECT_FILE_NAME > framework > OSAbstracion > Source > fsl_os_abstraction_free_rtos.c.        First, we create the prototype of the main task function, then define the task using the “OSA_TASK_DEFINE” definition. The syntax should be the following: This function is part of the thread Management, it helps the user define the creation of a new thread, controlling the priority and stack requirements. The following parameters are used in the function definition. name: Should be the name of the function used as our task priority: The scheduler will grant a minor or major priority to our function with this parameter. instances: This parameter give us the control to limit the number of instances in order to manage the memory in the most optimal way. stackSz : This parameter has a default value, which is defined by the abstraction layer as: gMainThreadStackSize_c as 1024 bytes. useFloat : This parameter is part of the thread definition structure, is a Boolean, It defines if the thread will use floating point.   //fsl_os_abstraction_free_rtos.c /*! ********************************************************************************* ************************************************************************************* * Private functions ************************************************************************************* ********************************************************************************** */ OSA_TASK_DEFINE(startup_task, gMainThreadPriority_c, 1, gMainThreadStackSize_c, 0) ; void vfnTaskPWM(void* param); //New Task Definition OSA_TASK_DEFINE(vfnTaskPWM, 1, 1, 500, FALSE ); osaTaskId_t gAppTestTask1Id = 0; // TestTask1 Id osaTaskId_t pwmTask_queue = 0; //get defines from wireless_uart int main (void) { /* Initialize MCU clock */ hardware_init(); OSA_TaskCreate(OSA_TASK(startup_task), NULL); //Task and Queue creation. gAppTestTask1Id = OSA_TaskCreate(OSA_TASK(vfnTaskPWM), NULL); //Task Creation pwmTask_queue = OSA_MsgQCreate(1); //Scheduler starting vTaskStartScheduler(); return 0; } //..‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍   4. The function: OSA_TaskCreate returns a taskID it is required to create a osaTaskId_t variable as the following: osaTaskId_t gAppTestTask1Id = 0; and also another osaTaskId_t variable for the FreeRTOS queue we will be using : osaTaskId_t pwmTask_queue = 0.‍‍‍‍‍‍‍ 5. Inside the main function we will create our task in the same fashion the startup_task is created: gAppTestTask1Id = OSA_TaskCreate(OSA_TASK(vfnTaskPWM), NULL);‍‍‍‍‍‍‍ 6. We also need to create the queue using the same type of variable and using the OSA_MsgQCreate() function to create a new Queue: pwmTask_queue = OSA_MsgQCreate(1);‍‍‍‍‍‍‍ 7. After this statements the scheduler should start: vTaskStartScheduler(); 8. In the wireless_uart.c file it is required to add pwmTask_queue, created for the queue as an extern variable. //wireless_uart.c static uint8_t gAppSerMgrIf; static uint16_t mAppUartBufferSize = mAppUartBufferSize_c; static volatile bool_t mAppUartNewLine = FALSE; static volatile bool_t mAppDapaPending = FALSE; extern osaMsgQId_t pwmTask_queue; /************************************************************************************ ************************************************************************************* * Private functions prototypes ************************************************************************************* ************************************************************************************/ /* Gatt and Att callbacks */ static void BleApp_AdvertisingCallback(gapAdvertisingEvent_t *pAdvertisingEvent);‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Tasks and Queues implementation in our application code In this example we implemented the use of OSA_MsgQPut() to place the message received from the central peripheral in a queue by using: //wireles_uart.c static void BleApp_ReceivedUartStream(deviceId_t peerDeviceId, uint8_t *pStream, uint16_t streamLength) { static deviceId_t previousDeviceId = gInvalidDeviceId_c; char additionalInfoBuff[10] = { '\r', '\n', '[', '0', '0', '-', 'M', ']', ':', ' '}; uint8_t *pBuffer = NULL; uint32_t messageHeaderSize = 0; if (mAppUartNewLine || (previousDeviceId != peerDeviceId)) { streamLength += (uint32_t)sizeof(additionalInfoBuff); } /* Allocate buffer for asynchronous write */ pBuffer = MEM_BufferAlloc(streamLength); if (pBuffer != NULL) { /* if this is a message from a previous device, print device ID */ if (mAppUartNewLine || (previousDeviceId != peerDeviceId)) { messageHeaderSize = sizeof(additionalInfoBuff); if (mAppUartNewLine) { mAppUartNewLine = FALSE; } additionalInfoBuff[3] = '0' + (peerDeviceId / 10U); additionalInfoBuff[4] = '0' + (peerDeviceId % 10U); if (gGapCentral_c != maPeerInformation[peerDeviceId].gapRole) { additionalInfoBuff[6] = 'S'; } FLib_MemCpy(pBuffer, additionalInfoBuff, sizeof(additionalInfoBuff)); } FLib_MemCpy(pBuffer + messageHeaderSize, pStream, (uint32_t)streamLength - messageHeaderSize); /**** Adding a message into a Queue ****/ OSA_MsgQPut(pwmTask_queue, (void*)&pBuffer); /**************************************/ (void)Serial_AsyncWrite(gAppSerMgrIf, pBuffer, streamLength, Uart_TxCallBack, pBuffer); } /* update the previous device ID */ previousDeviceId = peerDeviceId; }‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ This function points to the external queue variable created before the main() function of the project. Also points to the buffer pointer of the message received in BleApp_ReceivedUartStream(), These parameters can be accessed by using OSA_MsgQGet() function. osaStatus_t OSA_MsgQGet(osaMsgQId_t msgQId, void *pMessage, uint32_t millisec)‍‍ This function gets the message from the head of the message queue, the parameters of this function are the following: msgQId : Is the identifier of the queue function. pMessage : Is a pointer to the same message sent fromOSA_MsgQPut(); millisec : Is the number of milliseconds to wait for a message.   Inside the task created: vfnTaskPWM() there is an infinite while loop checking if a message is in the queue, this is accomplished by using the os_abstraction function: The rest of the task implementation is in a different C file. The external queue variable is defined in this file in addition to the task function prototype: /*pwmApplication.c*/ /*Global Variables*/ static uint8_t gAppSerMgrIf; extern osaMsgQId_t pwmTask_queue; /*Function Prototypes*/ void signalConfigValues(int red, int green, int blue); void getValuesRGB(uint8_t* msgString); int getInt(char *stringInteger, int size); /****Task Definition****/ void vfnTaskPWM(void* param); /* * Task to configure the PWM pins and start the timer * */ void vfnTaskPWM(void* param) { uint8_t* msgString; char msgString1[20] = { '\0', '\0', '\0', '\0','\0', '\0', '\0', '\0','\0', '\0', '\0', '\0','\0', '\0', '\0', '\0','\0', '\0', '\0', '\0'}; while(1) { /* * If there is a new message on queue the value will return a 0 according to the OSA_MsgQGet function * to compare the incoming message * */ while((OSA_MsgQGet(pwmTask_queue,(void*)&msgString,10)) == 0){ //shift-up the pointer value to get the payload message if(*msgString == '\r'){ while(*msgString != 32){ msgString++; } msgString++; } FLib_MemCpy(msgString1,msgString,20); if(FLib_MemCmp(msgString1, "OFF", 4)){ (void)Serial_Print(gAppSerMgrIf,"\n\r OFF: ", gAllowToBlock_d); //configure the PWM new function signalConfigValues(0,0,0) and StartTimers(CTMRA,CTMRB) signalConfigValues(0,0,0); } else{ //a function to convert values from a string to integers getValuesRGB(msgString); } } } } ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
記事全体を表示
Watch this demonstration that shows designing made easy with NXP's MMPF0100 and MMPF0200. These devices are optimized for i.MX 6 applications processors. Power-sensitive applications include portable medical devices, gateways, routers, home security systems, e-readers, tablets, and home energy management solutions.   Features MMPF0100 and MMPF0200 (PMIC) evaluation kit PMICs are optimized for i.MX 6 applications processors Light-Load Efficiency Exceptional Quiescent current Large amount of One-Time Programmable memory on board Flexibility: Programming kit connects the device via USB port and user can set up the start-up frequency, voltage levels, current limit and the timing of each regulator on the device Featured NXP Products MMPF0100 MMPF0200https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fproducts%2Fpower-management%2Fpmics%2Fpmics-for-i.mx-processors%2F12-channel-configurable-power-management-ic%3AMMPF0200 Block Diagrams
記事全体を表示
Overview The FlexRay Brake-By-Wire reference design shows FlexRay capabilities such as high communication speed and channel fault detection. It uses the NXP® MC9S12XDP512 MCU for the pedal node and MC56F8346 DSC for the brake/wheel node; FlexRay connectivity of both nodes is based on the MFR4200 FlexRay communication controller The braking caliper is controlled by PMSM using Vector Control technique while the spinning wheel representing a real tire is powered by a BLDC motor The boards of the 2 engines are interconnected by a CAN bus Uses FlexRay baud rate of 10Mb/s per channel but both channels carry the same data, which enables demonstration of the FlexRay channel fault detection feature Features PMSM using Vector Control technique FlexRay communication speed 10Mb/s per channel Dual channel connection Channel fault detection Re-connection feature FreeMASTER tool based control pages Block Diagram Board Design Resources
記事全体を表示
Oracle's James Allen demonstrates a variety of NXP hardware running Java technology, a NXP-based IoT Gateway involved in capturing, analyzing and transmitting healthcare data, and a NXP-based IoT Gateway involved in capturing, filter, analyzing and integrating M2M data to enterprise systems, including business processes.   Featured NXP Products K70 Kinetis i.MX6
記事全体を表示
Demo Owner: Nicholas Sargologos Demonstration of the IoTgateway reference design based on QorIQ Processor LS1021A multicore - utilizing the Freedom board, the Node Red network configuration tool and IBM Cloud Services   Features Multi-protocol support for IoT devices and high speed WAN / LAN for cloud connectivity The demo supports two data flows using Open source MQTT messaging protocol. There are two nodes powered by Kinetis micro-controllers and IoT Gateway. Node 1 is equipped with a sensor cluster serves as a publisher Node 2 is connected to as small fan and serves as a subscriber MQTT flows are carried from the nodes and the Iot gateway via Wi-Fi Java based environment is used to establish connectivity between nodes   Featured NXP Products LS1021A Links Product Link LS1021A-IoT Gateway Reference Design LS1021A-IoT Gateway Reference Design | NXP  Freedom Development Platform for Kinetis® KL14, KL15, KL24, KL25 MCUs FRDM-KL25Z|Freedom Development Platform|Kinetis® MCU | NXP  Block Diagram   News Buzz IoT designs need to start in the right direction - Embedded Computing Design
記事全体を表示
  Overview The IoT Low Power Sensor Node reference design is a compact form factor, open source design. It enables low power nodes based on IEEE 802.15.4 protocols such as Thread and ZigBee to communicate data to a wireless sensor network. NXP supplements the Kinetis KW2xD with tools and software that include hardware evaluation and development boards, software development IDE and demo applications and drivers.   Features   MKW24D512 802.15.4 Kinetis MCU Full IEEE 802.15.4 compliant wireless node for Thread network Reference design area with small footprint, low-cost RF node Integrated PCB meander horizontal antenna 2 Interrupt push button switches (LLWU) 1 FXOS87000CQ Combo sensor   Block Diagram Board Design Resources
記事全体を表示
Demo Owner: Eduardo Montanez   Watch how Kinetis K Series and Kinetis L Series MCUs beat out the competition.     Features Latest Kinetis K2 microcontrollers running a CoreMark benchmark from EEMBC 4 different Microcontrollers are put to the test. Running all the same iteration benchmark with same capacity for all of the products Featured NXP Products K22F KL02 Links Kinetis MCUs|ARM® Cortex®-M Cores|NXP Kinetis L Series MCUs: Energy-Efficiency Benchmark Demo Kinetis L Series MCUs Energy Efficiency Benchmark - YouTube  
記事全体を表示
This document introduce how to do LPDDR4 DQ Swapping in S32G platform.
記事全体を表示
About the demo components For this demo, we are using the Sigfox kit, which includes the FRDM-KL43Z and the OM2385 board. Sigfox is an inexpensive, reliable, low-power solution to connect sensors and devices.  With our dedicated radio-based network, we are committed to giving a voice to the physical world and making the Internet of Things truly happen.  The Sigfox protocol focuses on:  Autonomy. Extremely low energy consumption allows years of battery life. Simplicity. No configuration, connection request or signaling. Your device is up and running within minutes! Cost efficiency. From the hardware used in the devices on our network, we optimized every step to be as cost-effective as possible. Small messages. there are no large assets or media allowed on the network.  Only small notifications up to 12 bytes are allowed. Complementarity. Thanks to its low cost and ease of configuration, you can also use Sigfox as a secondary solution to any other type of network, e.g.: Wi-Fi, Bluetooth, GPRS, etc. You can read more about Sigfox in What is Sigfox? | Sigfox build.     The OM2385/SF001 is a development platform dedicated to SIGFOX Wide Area Networking applications. It includes an OL2385 wireless sub-GHz transceiver running the preprogrammed SIGFOX library and is mounted on an FRDM-KL43Z development platform that serves as a host processor for the user's application. The FRDM-KL43Z is an ultra-low-cost development platform for Kinetis L families KL43, KL33, KL27, KL17, and KL13 MCUs built on Arm Cortex-M0+ processor running at 48 MHz.   Video     Limitations: Sigfox is only able to send a small amount of data every day for free, so if your application requires more data to be sent, you need to get a connectivity plan from Sigfox Buy .   Useful Links FRDM-KL43Z and NXP Sigfox OL2385 Board : OM2385/SF001 - SIGFOX Development Kit | NXP  Sigfox Backend Account: Sigfox Buy  Download MCUXpresso: MCUXpresso IDE|Eclipse-based Integrated Development Environment (IDE) | NXP  Download SDK: https://mcuxpresso.nxp.com/en/builder    NXP Product Link FRDM-KL43Z and NXP Sigfox OL2385 Board OM2385/SF001 - SIGFOX Development Kit | NXP  Sigfox Backend Account Sigfox Buy  Download MCUXpresso MCUXpresso IDE|Eclipse-based Integrated Development Environment (IDE) | NXP  Download SDK https://mcuxpresso.nxp.com/en/builder    Required Items:     OL2385 Arduino Shield Board FRDM-KL43Z hardware USB A-to-MiniB cable Sub-GHz Antenna GPS UART module   Hardware Diagram:    SPI OL2585 KL43Z FRDM UART GPS MOSI ---------- MISO ---------- SCK ----------- ACK ----------- CS ------------- PTD07 PTD06 PTD05 PTD02 PTD04 PTE23 PTE22           ----------- TX ----------- RX         This picture shows the board connections made for the project     Step-by-Step Guide After we get the Required items, we need to activate the Sigfox account and register our board: Sigfox Buy  If you are having trouble registering your Sigfox device, don't hesitate to write your question in our NXP community. We register the board in our backend account, and we should see the device on our device list. When we have our board registered, we will start building the application on MCUXpresso. Download the project attached at the end of this document and import it into MCUXpresso IDE.  In the video, how to import the sigfox_console example from the SDK is shown, and a brief explanation of the modifications is given. If you want to download the SDK example to start your project from scratch, you need to add the Sigfox software component to the SDK. After importing the project to our workspace, the only thing left is to make the respective hardware connections and flash the device. Then try your new project in a building-clear area. To be sure your new project will function properly, you should avoid tall buildings to get a stronger signal. The data sent should be seen in your Sigfox backend session. Teraterm console prints the data obtained from the GPS module for your viewing purposes.   Results:       This is the data sent from the Sigfox transceiver to the user backend account. The sent frames are floating-point coordinates converted to four byte-hexadecimal strings.     After the attached project is flashed to the KL43Z, this should be the results seen in the Teraterm console.
記事全体を表示
FAST BOOT FOR lx2160 IN adas •Objective To speed ​​​​up bringup of LX2 chip-based systems •Pain Points to Address The bringup time is much longer than 3s, which is very sensitive in ADAS systems or time-sensitive systems. •Value Proposition / Key Features The guide can help customers shorten uboot time from 5s to less than 1.5s, saving more than 70% bootup time. •Deliverables Demo based on LX2160ARDB board. Reference codes and patches. Guide for Fast boot document. Fast boot 广泛用于嵌入式设备,现以lx2160ardb板为例进行相关探索。 启动流程: 优化思路: 1.适当提高FSPI时钟速率 diff --git a/lx2160asi/flexspi_divisor_32.rcw b/lx2160asi/flexspi_divisor_32.rcw index 422139c..0f8d5c9 100644 --- a/lx2160asi/flexspi_divisor_32.rcw +++ b/lx2160asi/flexspi_divisor_32.rcw @@ -7,8 +7,10 @@ * Modify FlexSPICR1 register, to increase FlexSPI clock closer to 50MHz, * with divisor value as 32. * => 750 * 2 / 32 ==> 46.875MHz + *write 0x1e00900,0x00000013 + * 0f -12 =125M */ .pbi -write 0x1e00900,0x00000013 +write 0x1e00900,0x0f .end ​ 2.关键路径优化 固化spd参数 固化ddrc参数 BL33 裁剪 详细patch和测试结果参考附件。
記事全体を表示
Boundary Devices demo is a handheld, battery powered wireless streaming application. The demo consists of an NXP SCM-i.MX 6SoloX V-Link device (i.MX6SoloX/PF0100/512MB LPDDR2) + Boundary Devices’ V-Link Top board with 802.11ac module + Boundary Devices’ Carrier board with 5MP MIPI Camera and Battery SCM V-Link technology is ideal for handheld/space-constrained applications allowing customers to integrate vertically. Features: The demo application streams data via wireless from the 5MP camera on the handheld device to a desktop board which shows the stream on a 7” display. There is a point-to-point link from the handheld device to the desktop device. V-Link Top board from Boundary Devices – QCA9377 802.11ac + BT4.1 module. Pre-certified and ready for production. Mounts on top of SCM V-Link module which is ideal for space constrained applications. 22mm x 19mm board dimensions. Available Linux/Android Drivers for easy Wi-Fi + BT software integration for kernel 3.14.28 and above. On 5GHz network utilizing SDIO 3.0, Wi-Fi throughput is 90Mb/s. ___________________________________________________________________________________________________ Featured NXP Products: Single Chip System Modules (SCM)|NXP Partner Boundary Devices
記事全体を表示
引言 FRDM-KW36包含带有32 kHz晶体振荡器的RTC模块。此模块为以极低功耗模式运行的MCU生成32 kHz时钟源。该振荡器包括一组用作CLOAD的可编程电容器。改变这些电容器的值可以改变振荡器提供的频率。 此可配置电容的范围为0 pF(禁用电容器组)至30 pF,步长为2 pF。 这些值是通过组合启用的电容器获得的。可用值为2 pF,4 pF,8 pF和16 pF。可以完成这四个数值的任意组合。如果可以使用外部电容器,建议禁用这些内部电容器(清除RTC控制寄存器SFR中的SC2P,SC4P,SCS8和SC16位)。 要调整振荡器提供的频率,必须首先能够测量该频率。使用频率计数器将是非常好的,因为它提供了比示波器更精确的测量。您还需要输出振荡器频率。要输出振荡器频率,以任意一个蓝牙演示应用程序为例,您应该执行以下操作: 调整频率示例 本示例将利用Connectivity Software Stack中的心率传感器演示(freertos版本),并假定开发人员具有从SDK到IDE导入或打开项目的知识。 1.从SDK中打开或克隆“心率传感器”项目。 2.在工作区的board文件夹中找到board.c和board.h文件。 3.如下图所示在board.h文件中声明一个void函数。该函数将RTC管脚复用设置为输出到PTB3并能够测量频率。 4. 如下所示在board.c文件中开发BOARD_EnableRtcClkOut函数。 5. 代码如下: 6. 在BOARD_BootClockRUN(board.c文件)之后立即在hardware_init函数中调用BOARD_EnableRtcClkOut函数。 7. 在工作区的board文件夹中找到clock_config.c文件。 8. 在文件顶部添加以下定义。 9. 在BOARD_BootClockRUN函数内部(也在clock_config.c文件中)搜索对函数的CLOCK_CONFIG_EnableRtcOsc调用,然后通过上述任意定义来编辑变量。 10. 最后,在项目源文件夹中的“ preinclude.h”文件中禁用低功耗选项和LED支持: 此时,您可以在PTB3中进行测量,并使用频率计数器进行频率调整。每次对电路板进行编程时,都需要执行POR以获得正确的测量。下表是从FRDM-KW36板版本B获得的,可用作调整频率的参考。 请注意,电容不仅由启用的内部电容组成,还包括封装,内部走线,芯片焊盘和PCB走线中的寄生电容。因此,尽管下面给出的参考测量值应接近实际值,但您还应该在电路板上进行测量,以确保频率是专门针对您的电路板和布局进行调整的。 Labels:KW   KW35 | 36 kinetis kw36a
記事全体を表示
Video   NXP’s Touch Sense Interface (TSI) offers a complete solution to help easily integrate this growing ‘touch’ requirement on your next design. NXP’s touch software, offered as a middleware as part of the MCUXpresso SDK, is optimized to work with the Kinetis KE15Z MCU to deliver an easy-to-implement solution. Product features Advanced EMC robustness, pass IEC61000-4-6 standard test Support both of Self-cap sensor and Mutual-cap sensor, up to 36 touch keys Low BOM cost per touch key, no need for external devices Adjustable touch sensing resolution and sensitivity, high performance for waterproof Low power support NXP recommends the following links for additional information Product Link NXP Touch Solution for Kinetis KE15Z MCU Family NXP Touch-Based User Interface Solutions for Kinetis KE15Z MCU Family | NXP  Touch Module for Freedom Board FRDM-TOUCH|Touch Module for Freedom Board | NXP  Freedom Development Platform for Kinetis® KE1xMCUs FRDM-KE15Z Platform|Freedom Development Board | NXP 
記事全体を表示
Demo This demo showcases the Bluetooth Low Energy Mesh solution on Kinetis KW41Z devices, leveraging the Kinetis Bluetooth LE v4.2 stack. The audience will be able to interact with remote nodes of the mesh via a single laptop console. The remote nodes offer feedback via a RGB LED array.     Features: Bluetooth® LE Mesh software implementation over the Kinetis BLE stack v4.2 Mesh nodes made up of FRDM-KW41Z evaluation boards with Adafruit NeoPixel LED shields Interactive configuration and control of the mesh nodes with feedback on the LED arrays Sensor data sent via the Mesh to the cloud _______________________________________________________________________________________________________   Featured NXP Products: KW41ZlKinetis BLE & 802.15.4 Wireless MCU|NXP _______________________________________________________________________________________________________    
記事全体を表示
Demo Owner michaelestanley By monitoring the vibration signature of a rotating machinery we can predict the remaining useful life of that machine. Features Condition monitoring Visual characterization of the fundamental frequency of a  motor along with its harmonics Features that can be observed: wavelength, transfer coefficients, statistical measures, standard deviations, variances Preparing work flows where users can use machine learning algorithms to to figure out what feature sets are important, focusing only on the features that are needed to predict the remaining useful life of the machine Links Sensors
記事全体を表示