WINC1500 with STM32F103

Go To Last Post
3 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello everyone, first forgive me for my poor English

I am working on a project based on the sending of messages through the WINC1500 module to an STM32F103 micro via SPI communication.

My problem comes when configuring the WINC module, since debugging the program I get the error M2M_ERR_FW_VER_MISMATCH in this part of the code

 

if (strtmp.u8FirmwareMajor! = M2M_DRIVER_VERSION_MAJOR_NO
|| strtmp.u8FirmwareMinor! = M2M_DRIVER_VERSION_MINOR_NO)
{
ret = M2M_ERR_FW_VER_MISMATCH;
M2M_ERR ("Firmware version mismatch! \ N");
}

I have to say that I have seen in several programs that do a reset activating reset  and chip enable of WINC module followed by some delays. But in my case I activated these ports directly to the micro, so that it does the reset at the same time. Looking at the datasheet I do not think the problem is coming here.

 

Looking at the user guide of WINC I have seen that this error is due to the fact that the WINC driver and firmware are incompatible, and that change of the WINC firmware image has to be requested.

My question is, can someone tell me if there is a way to fix it without changing the image, or can it be a bug in my program? The program which I used to be found by the forum, I simply changed the necessary ports to adapt it to my pcb.

 

Thank you very much.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It means that the driver version you have on your host and the firmware on-board the WINC cannot talk to each other - they must be of correct version.

If your WINC's firmware version is old, then upgrade it.

Or, if your driver version is old, check out the latest drivers from WINC1500 examples and update your driver.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for your answer

 

I have a new doubt. At this moment my program works correctly, I have managed to establish the module in AP mode and in P2P mode, but sometimes when I turn on my board I receive these errors:

 

Failed internal read protocol with CRC on, retyring with CRC off ...
Fail cmd read chip id ...

 

or even

 

Cmd read chip id ok
chipid (ffffffff)

 

and it enter the loop

 

while (checkValue! = reg)
{
     nm_bsp_sleep (2); / * TODO: Why bus error if this delay is not here. * /
     M2M_DBG ("% x% x% x \ n", (unsigned int) nm_read_reg (0x108c), (unsigned int) nm_read_reg (0x108c), (unsigned int) nm_read_reg (0x14A0));
     reg = nm_read_reg (regAddress);
     if (++ cnt> TIMEOUT)
    {
          M2M_DBG ("Time out for wait firmware Run \ n");
          ret = M2M_ERR_INIT;
          goto ERR;
    }
}

On my board I have the pins of RESET and CHIP ENABLE connected to the RESET of the MCU, therefore, the function nm_bsp_init (); does nothing

Can the errors I receive be due to this reason? Because as I have said sometimes the program works perfectly.

If I connect the RESET pin to a port of my MCU, leaving the CHIP ENABLE as it is, and perform the function nm_bsp_init (); Is it supposed to stop receiving errors?

 

Thanks