Johdatus STM32-mikro-ohjaimiin
STM32-mikro-ohjaimet ovat STMicroelectronicsin kehittämiä ja valmistamia 32-bittisiä ARM Cortex-M-ytimeen perustuvia mikro-ohjaimia. Niitä käytetään laajalti teollisuusautomaatiossa, kulutuselektroniikassa, viestinnässä, autoelektroniikassa ja esineiden Internetissä (IoT).
STM32-mikrokontrolleriperhe käsittää useita sarjoja ja malleja, jotka täyttävät erilaiset sovellustarpeet ja suorituskykyvaatimukset. Yleisiä sarjoja ovat mm.
1. STM32F-sarja: ARM Cortex-M4- tai Cortex-M7-ytimeen perustuvat mikro-ohjaimet tarjoavat tehokkaat prosessointiominaisuudet ja runsaan oheisresurssien joukon, joten ne sopivat tehokkaisiin-sovelluksiin.
2. STM32L-sarja: Nämä mikro-ohjaimet perustuvat ARM Cortex-M0+- tai Cortex-M3-ytimeen, ja niiden virrankulutus on alhainen ja energiatehokkuus on erinomainen, joten ne sopivat akku-- ja vähän{7}}tehoisiin sovelluksiin.
3. STM32H-sarja: ARM Cortex-M7-ytimeen perustuva se tarjoaa paremman suorituskyvyn ja enemmän oheisresursseja, joten se sopii sovelluksiin, jotka vaativat suurta-nopeutta ja{5}}reaaliaikaista suorituskykyä.
4. STM32G-sarja: Perustuu ARM Cortex-M4-ytimeen, sillä on alhainen virrankulutus ja korkea kustannus-suorituskyky, joten se sopii sovelluksiin, kuten älykkään kodin ja teollisuuden ohjaukseen.
STM32-mikro-ohjaimissa on runsaasti oheislaitteita, mukaan lukien yleiskäyttöiset -I/O-portit, ajastimet, sarjaportit, SPI, I2C, CAN, ADC, DAC, PWM ja paljon muuta eri sovellusten tarpeisiin. Lisäksi ne tukevat useita virheenkorjaus- ja ohjelmointimenetelmiä, kuten emulointivirheenkorjausta, piirinsisäistä virheenkorjausta ja JTAG-virheenkorjausta.
Auttaakseen kehittäjiä pääsemään alkuun nopeasti ja kehittämään sovelluksia tehokkaasti STMicroelectronics tarjoaa kattavan valikoiman kehitystyökaluja ja ekosysteemin, mukaan lukien STM32Cube-ohjelmistokehitysalustan, HAL-kirjastot, levytukipaketit ja keskeytysvektoritaulukkogeneraattorin. Kehittäjät voivat käyttää C/C++:a ja erilaisia kehitysympäristöjä (kuten Keil ja IAR) STM32-mikro-ohjaimien ohjelmistojen kehittämiseen ja virheenkorjaukseen.
Tehokkaan suorituskyvyn, runsaiden oheislaitteiden, alhaisten-tehoominaisuuksien ja kattavan kehitysekosysteemin ansiosta STM32-mikro-ohjaimista on tullut keskeinen valinta sulautettujen järjestelmien kehittämiseen.
Mitkä ovat yleisimmät virheenkorjausmenetelmät STM32-mikro-ohjaimille?
STM32-mikro-ohjaimet tukevat yleensä seuraavia virheenkorjausmenetelmiä:
1. **Emuloinnin virheenkorjaus**: Emulaattorin liittäminen suoraan kohdesiruun suorittaaksesi virheenkorjaustoimintoja,-kuten vaiheittaista--ohjelman suorittamista ja rekistereiden ja muistin valvontaa-, käyttämällä emulaattoria ja siihen liittyvää virheenkorjausohjelmistoa.
2. **In-Circuit Debugging**: Mikro-ohjain on kytketty tietokoneeseen tai muuhun laitteeseen sarjaportin, CAN- tai USB-liitännän kautta, ja virheenkorjausohjelmistoa käytetään etävirheenkorjaukseen, tietojen valvontaan ja reaaliaikaiseen-virheenkorjaukseen.
3. **ISP/ICP-virheenkorjaus**: Ohjelman lataus ja virheenkorjaus suoritetaan sarjaohjelmointiliittymän (ISP) tai rinnakkaisohjelmointiliittymän (ICP) kautta.
4. **JTAG-virheenkorjaus**: Vianetsintä suoritetaan JTAG-rajapinnalla, joka mahdollistaa reaaliaikaisen-seurannan ja sirun sisäisen koodin, tietojen, rekisterien ja sirun oheislaitteiden virheenkorjauksen.
5. **SWD-virheenkorjaus**: Serial Wire Debug (SWD) on uusi virheenkorjausliittymä, joka tarjoaa suuren nopeuden ja vaatii vähemmän nastaa, mikä mahdollistaa mikro-ohjaimen virheenkorjauksen ja tietojen käytön.
Nämä virheenkorjausmenetelmät voidaan valita tiettyjen vaatimusten ja ympäristöjen perusteella mikro-ohjaimen virheenkorjaus- ja varmennustoimintojen suorittamiseksi.
STM32- ja TDC SPI -kommunikaatiovirheenkorjausmenetelmä
Toteuttaessani STM32-mikrokontrollerin ja TDC-sirun välistä kommunikaatiota olin vielä uusi mikro-ohjainohjelmoinnissa ja minulla ei ollut taitoa kirjoittaa koodia. Lisäksi käytetty siru oli MS1022, kotimaisesti valmistettu TDC-siru, joka ei anna indikaattoreita virran tilasta tai virhetilanteesta.
Tätä menetelmää voidaan soveltaa myös muun tyyppisiin siruihin.
TDC-siru on aika-digitaalimuunnos-. Kirjoittaja käyttää sitä tällä hetkellä ensisijaisesti mittaamaan -lentoaikaa- (ToF) 3D-kuvauksessa TCSPC-menetelmällä. Sillä on sovelluksia myös lääketieteellisessä ja biologisessa testauksessa sekä sähkön ja veden kulutuksen seurannassa.





