Hi,
I found that when my Pixy worked for a while, Pixy had no image out. And after powering off, it could be restored after a period of time. I guess it is caused by the temperature rise of the chip. Has anyone encountered a similar situation? Thanks for your help.
By the way,
We found when it happed , M4 is running, but M0 did not start, resulting in no images.
We tested at room temperature 25 degrees
Hello,
How did you determine that the M0 did not start. Are you developing your own firmware?
Edward
Yes, I developed the firmware, and I add log here
Normally, we can see the log, but when this problem occurs, no log output.
Hi,
The problem happend even though I use the official firmware. I develop the firmware only to find what the problem is .
Heating the mcu, and you will see it easily。
Any idea about this problem? Thanks for your kindly help.
Hello,
Can you see the debug messages from the M4 side? If so, can you describe how you are sending the debug messages from the M4 side?
Edward
Hi,
Yes, I can see the debug message from M4. In fact we made a new board but use the
official circuit diagram. And we changed the debug port from PORT3 to PORT0 by redefine “USED_UART_DEBUG_PORT”.
I did a more detailed debugging. Here is the modification I made in “pixy_init.cpp”
By the way, I made a initialization of UART0 like this
void __start_debug()
{
#if 1 // ??????????????
{
UART_FIFO_CFG_Type ufifo;
UART_CFG_Type ucfg;
scu_pinmux(0x2, 0, (MD_PLN | MD_EZI | MD_ZI | MD_EHS), FUNC1); // U0_TXD
scu_pinmux(0x2, 1, (MD_PLN | MD_EZI | MD_ZI | MD_EHS), FUNC1); // U0_RXD
scu_pinmux(0x1, 3, (MD_PLN | MD_EZI | MD_ZI | MD_EHS), FUNC0); // turn SSP1_MISO into GPIO0[10]
scu_pinmux(0x1, 4, (MD_PLN | MD_EZI | MD_ZI | MD_EHS), FUNC0); // turn SSP1_MOSI into GPIO0[11]
NVIC_EnableIRQ(USART0_IRQn);
// regular config
ucfg.Baud_rate = 115200;
ucfg.Databits = UART_DATABIT_8;
ucfg.Parity = UART_PARITY_NONE;
ucfg.Stopbits = UART_STOPBIT_1;
ucfg.Clock_Speed = CLKFREQ;
UART_Init(LPC_USART0, &ucfg);
// config FIFOs
ufifo.FIFO_DMAMode = DISABLE;
ufifo.FIFO_Level = UART_FIFO_TRGLEV0;
ufifo.FIFO_ResetRxBuf = ENABLE;
ufifo.FIFO_ResetTxBuf = ENABLE;
UART_FIFOConfig(LPC_USART0, &ufifo);
UART_TxCmd(LPC_USART0, ENABLE);
// enable interrupts
UART_IntConfig(LPC_USART0, UART_INTCFG_RBR, ENABLE);
//UART_IntConfig(LPC_USART0, UART_INTCFG_THRE, ENABLE);
NVIC_SetPriority(USART0_IRQn, 0);
NVIC_DisableIRQ(USART0_IRQn);
}
Then I tesed the normal and the abnormal situations, here is the log
Normal situation:
[21:34:54.539]←◆M0 start
----start: 1551
---- rcs enable: 2940
---- ADC init: 4851
----SCTInit: 6586
[21:34:55.036]←◆----CameraInit: 498453
---M-0c rs_tsatratr
t_m0: 500564
----g_chirpM0: 503291
----flash_init: 505200
[21:34:55.166]←◆----led_init: 628021
----prm_init: 630555
----pwr_init: 632229
------pixy init
------exec_init
[21:34:56.157]收←◆timing: 16 19 1626 14614
------cam_init
Abnormal situation:
[21:32:37.441]←◆
----start: 1549
---- rcs enable: 2938
---- ADC init: 4849
----SCTInit: 6584
[21:32:37.938]←◆----CameraInit: 498451
----cr_start_m0: 500562
[21:32:38.942]←◆----g_chirpM0: 1502503
----flash_init: 1504357
[21:32:39.068]←◆----led_init: 1627264
----prm_init: 1629886
----pwr_init: 1631647
------pixy init
[21:32:48.075]←◆------exec_init
[21:32:55.080]←◆------cam_init
[21:37:03.697]收←◆timing: 16 19 1626 14614
------cam_init
Compare with the two log files, we can see that in abnormal situation, there is no log output in M0,
mine pixy2 mcu is also getting too hot even after 2 to 3 min.
But its still working and I dont know why its getting that hot.
Hello,
Pixy and Pixy2 do run pretty hot. Pixy2 tends to run hotter because it uses a smaller package processor, but still dissipates the same amount of heat. If your Pixy is working fine, it’s a good sign
Edward