STM32 har allt - Utom trådlöshet

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: STM32 har allt - Utom trådlöshet

Inlägg av DanielM »

Micke_s skrev: 15 januari 2021, 18:12:56 STM32WB har trådlöst gränssnitt.
Den får det bli! :)
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: STM32 har allt - Utom trådlöshet

Inlägg av Rick81 »

Tror inte stm32wb har wifi utan BT och nåt mer på 2.4 GHz

Jag hade gjort antingen:
1) Tagit kretsen du hittade och implementerat den i lwip så behöver du bara byta ut lågnivå delarna och inte göra egen IPstack
2) Tagit ESP32 och kopplat till stm32, då de är bra på olika saker
Användarvisningsbild
manicken
Inlägg: 91
Blev medlem: 10 februari 2006, 14:20:59
Ort: DEGEBERGA

Re: STM32 har allt - Utom trådlöshet

Inlägg av manicken »

stm32wb
Har Bluetooth LE 5.2 and IEEE 802.15.4 wireless standards such as Zigbee and Thread.

Tror inte heller esp modulerna kommer att dö ut,
det är snarare så att moduler ifrån andra tillverkare kommer att göra det pga esp.
Då det inte går att konkurrera med esp speciellt inte esp32 som har bluetooth och dual core + native sdio master för att koppla in sd-kort.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: STM32 har allt - Utom trådlöshet

Inlägg av DanielM »

Rick81 skrev: 16 januari 2021, 10:05:01 Tror inte stm32wb har wifi utan BT och nåt mer på 2.4 GHz

Jag hade gjort antingen:
1) Tagit kretsen du hittade och implementerat den i lwip så behöver du bara byta ut lågnivå delarna och inte göra egen IPstack
2) Tagit ESP32 och kopplat till stm32, då de är bra på olika saker
Nu är detta ett redigerat inlägg. Men jag har gjort en del forskning nu :)
För det första så måste man införskaffa en WF200. Det finns olika versioner så som WF200D, WF200C. Jag vet vad som är unikt med dessa, men troligtvis så är det bara små förbättringar som inte alls spelar någon större roll om man bara ska ha kommunikation och ansluta en router.

Men som sagt!
  1. Införskaffa en WF200
  2. Bygg efter denna princip. Se databladet för mer förklaringar: https://www.silabs.com/documents/public ... asheet.pdf
    WF200.png
  3. När man har fått en WF200 på plats och kopplat detta mot en t.ex. STM32 SPI-bus, så fattas det bara att man laddar ned detta bibliotek. https://github.com/SiliconLabs/wfx-fullMAC-driver Detta är för inbyggda system endast. Det finns en WXF Full MAC för Linux också. Men den ska vi inte ha.
  4. SPI klockan skall vara mellan 1 KHz till 50 MHz. Och även så ska en digital UT hos Host ska fungera som en interrupt. Mest bara för att när WF200 vill tala med sin host, så ska en utgång bli hög. I STM32 får man konfigurera detta själv.
  5. SPI protokollet ser ut så här. Här bestäms om man ska skriva eller läsa och till vilken adress samt hur långt meddelandet ska vara. Alltså om man ska skriva till addressen "Input/Output queue" så skickar man "0010" + hur många paket av 16-bit meddelanden kommer t.ex. 2 = 0b10. Dvs 001010" Som betyder Skriv till addressen Input/Output queue och sedan skicka 2 datapaket av 16 bit.
    Markering_008.png
  6. Här är allla kommandon och funktioner för att en host skall kunna tala med en WF200. https://docs.silabs.com/wifi/wf200/rtos ... r-host-api
En fråga!
Hur gör man så att FMAC Drivrutinerna, dvs biblioteket man laddar ned från GitHub, får tillgång till SPI hos hosten?
Markering_009.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: STM32 har allt - Utom trådlöshet

Inlägg av Rick81 »

Troligen har du defines eller callback för de spi funktionerna som finns i koden. Du ersätter dem med dina egna SPI funktioner.

Annars är det bara byta ut de befintliga SPIfunktioerna till dina egna
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: STM32 har allt - Utom trådlöshet

Inlägg av DanielM »

Så här säger manualen.
Sl_wfx_host_post_event Implementation

All packets received from the WFx are passed from the FMAC driver to the host application through the sl_wfx_host_post_event() function. This includes the confirmations sent to acknowledge FMAC requests and asynchronous indications based on Wi-Fi events.

The confirmations have to be pushed to the pending sl_wfx_host_wait_for_confirmation() functions. The way the replies are pushed/sent to the waiting functions are fully dependent on the software architecture used (RTOS, bare metal, and so on).

The list of possible indications sent by the WFx can be found on the dedicated indications page. Here again, the way the indications are processed is completely dependent on the application. The information reported by each indication is described in sl_wfx_general_api.h and sl_wfx_cmd_api.h.
Integration Steps

When integrating the FMAC driver into a new system, these are the recommended steps.

1. Implement host functions for communication Bus and RTOS

Implement the bus communication functions for SPI or SDIO and the other functions described above.
2. Test Bus Communication

See the details in the Initialization and Configuration page for each initialization step and make sure the configuration is completely successfully.
3. Use the WFx FMAC driver API to Initiate a Wi-Fi Connection and Send/Receive Data

This step requires implementing the sl_wfx_receive_frame() function as described above.
https://docs.silabs.com/wifi/wf200/rtos ... quirements

Jag tolkar detta som att det är här som jag ska skriva in mina funktioner och använda denna header?
https://github.com/SiliconLabs/wfx-full ... host_api.h

https://docs.silabs.com/wifi/wf200/rtos ... r-host-api

Alltså jag skapar en sl_wfx_host_api.c fil och jag använder sl_wfx_host_api.h som header-fil.

Men då är frågan. Om jag ska göra C-kod för denna.
/**************************************************************************//**
* @brief Called when the FMAC driver wants to add a delay
*
* @param wait_ms is the time to wait
* @returns Returns SL_STATUS_OK if successful, SL_STATUS_FAIL otherwise
*
* @note Can be a passive wait or in a RTOS context a task sleep
*****************************************************************************/
sl_status_t sl_wfx_host_wait(uint32_t wait_ms);
Så måste jag först veta vilket register jag ska skriva till, eller hur?
Här är exakt alla register, https://docs.silabs.com/wifi/wf200/rtos ... -registers och det står inget om time, delay eller wait här.
Mr Andersson
Inlägg: 1397
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: STM32 har allt - Utom trådlöshet

Inlägg av Mr Andersson »

Det är ju en delay på mcu:n de menar, inte på wifi-modulen.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: STM32 har allt - Utom trådlöshet

Inlägg av DanielM »

Okej. Men då börjar jag förstå vart jag ska skriva.
Har även hittat ett fattigt exempel här.
https://github.com/SiliconLabs/wfx-full ... host_spi.c

Så då gäller det bara för mig att plöja register och skriva C-kod för att fylla alla dessa header-funktioner.
Varför kunde inte detta vara färdigt....
ToPNoTCH
Inlägg: 4883
Blev medlem: 21 december 2009, 17:59:48

Re: STM32 har allt - Utom trådlöshet

Inlägg av ToPNoTCH »

1.) STM32 är inte ett företag utan en processor linje hos STMicroelectronics. Man kan därför inte säga "STM32 verkar inte lägga fokus...."

2.) Det är väldigt ovanligt att hitta WIFI som pheripal i en microprocessor, så dom är på intet sätt unika eller avvikande.

3.) Att använda en ESP som WIFI slav till en STM32 är i min värld att gå över ån efter vatten. Då är det bättre att man lär sig programmera ESP'n
ESP32 exempelvis är en väldigt kompetent flerkärning processor. Det finns ingenting som i dagsläget säger att ESP lever i någon större risk att dö ut jämfört STM32.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: STM32 har allt - Utom trådlöshet

Inlägg av Rick81 »

ESP32 har inte samma flexibilitet som STM32 har i alla sina periherals.

Men för enklare projekt med Wifi/BT är den mycket trevlig.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: STM32 har allt - Utom trådlöshet

Inlägg av DanielM »

Fick inte WF200 att fungera. Jag kollade även med några exempel och frågade supporten, men även där var det fattiga svar.
Ett färdigt exempel, som de hävdade, ska fungera direkt. Men i detta fall så måste man bygga upp exemplet redan från grunden.

Så jag lägger ned WF200 och kör kabel istället.
WizNet W5500
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: STM32 har allt - Utom trådlöshet

Inlägg av DanielM »

En fråga!

Jag har hittat ett färdigt exempel med W5500 för STM32 som jag planerar att använda.
https://github.com/afiskon/stm32-w5500

Denna ger alltså en socket-applikation.

Vad kan vi säga om W5500 jämfört med lite större processor med FreeRTOS+TCP?

Med W5500 så måste man ha ett kopplingschema som ser ut så här. Detta är rätt mycket. Då kanske det blir billigare med en STM32 som har inbyggt ethernet, fast man använder RTOS istället.
Bild
Användarvisningsbild
AndLi
Inlägg: 17117
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: STM32 har allt - Utom trådlöshet

Inlägg av AndLi »

Det blir väl ungefär lika mycket externt klister om du tar en STM32F207 mot om du tar en STM32F205 och en W5500

Jag hade helt klart valt STM32F207 spåret, jag har kört en gammal W5100 och en ATMEGA1284 i ett gammalt projekt, man är ju nervös varje dag att det ska hittas en bugg i TCP/IP stacken i kislet vilket hade gått att lösa med en mjukvarufix med STM32F207... Men fortfarande såhär 8 år senare och ett antal tusen enheter på marknaden håller det ihop..

Finns inget krav på att köra RTOS bara för att man kör LWIP på STM32...
Mr Andersson
Inlägg: 1397
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: STM32 har allt - Utom trådlöshet

Inlägg av Mr Andersson »

Jag hade varit väldigt försiktig med hårdvaru-tcp/ip.. Alla som försökt (som jag sett) har lyckats bygga in säkerhetshål.
Mjukvara är lätt att uppdatera jämfört med att byta ut hårdvaran.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: STM32 har allt - Utom trådlöshet

Inlägg av Rick81 »

Lekte med ENC26J80 med STM32....efter det är jag väldigt skeptiskt till externa SPI/Ethernet chip...det chippet hade hur många konstiga instabiltetssaker som helt....enda sättet använda den är nog pinga www.google.se varje sekund och starta om skiten om den inte får svar....

såå jag hade lätt valt STM32 med inbyggd Ethernet..
Skriv svar