Hello, I want to collect data from a sensor and simultaneously record it to USB, so I want to collect data for a core (M0) and record them with the other core (M4) in USB. You can help me, please

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

Hello, I want to collect data from a sensor and simultaneously record it to USB, so I want to collect data for a core (M0) and record them with the other core (M4) in USB. You can help me, please

1,177 Views
hamidrachdi
Contributor I

Hello,

I want to collect data from a sensor and simultaneously record it to USB, so I want to collect data for a core (M0) and record them with the other core (M4) in USB.

You can help me, please

Labels (6)
Tags (1)
0 Kudos
4 Replies

839 Views
rocky_song
NXP Employee
NXP Employee

Hi Hamid,

Thank you for your interest in sensing and dual-core!

Both LPC43xx and LPC5411x are dual-core MCUs, and usually LPC541xx is preferred for most sensing applications, it has better energy efficiency, improved dual-core support, and easier to use, you could prefer LPC5411x (has USB FS device).

LPC54114 can be found here:LPC54114J256BD64|Low Power ARM Cortex-M4F MCU|NXP 

Since your description is very in general, could you have some more information?

At this point, here are some general suggestions

  1. For easier practice, at early stage you can handle all the tasks in just M4 core, then if you need M0 for some reasons, you port sensor driver to M0 and design a simple inter-core communication protocol at application level , better to leverage the hardware mailbox support to if you choose LPC5411x.

   Be advised: Usually M0 core is not used for saving energy unless your CPU can't sleep, M0's low power is not equivalent to low energy, because it has only about 70% performance than M4.

  2. I suppose your sensor has I2C interface. Port or create sensor driver for your sensor to I2C peripheral of MCU. Better to make it modular so that it can be ported to M0 easily.

  3. What type of USB protocol will you use? If sensor data rate is not high, I suggest you use virtual COM to simplify development. 

For I2C and USB drivers, you can leverage driver code from "LPCOpen". It contains I2C master example, dual-core example, and virtual COM (usbdrom_cdc) example for your reference. You can find LPCOpen for LPC5411x here: LPCOpen Software for LPC5411X|NXP 

0 Kudos

839 Views
justinbmortimer
NXP Employee
NXP Employee

Hi Hamid,


Thank you for your question, sorry that it has taken so long to get an adequate response from our technical team.  We will try to find more information to help answer your question.

Regards,

Justin

0 Kudos

840 Views
ursaminor
Contributor II

Seriously?

0 Kudos

840 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Hamid,

Thank you for your interest in NXP Semiconductor products and the opportunity to serve you.

Regarding to your requirement, I'd like to suggest you to choose LPC43xx which contains dual-core (M4 & M0), it seems to be great for your design.

And you can learn the more information through the link as below.

LPC4300 32-bit MCUs|ARM Cortex-M4/M0 Cores|NXP
Have a great day,
Ping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos