
Wenn Sie an ein Technologie-Startup denken, müssen Sie überhaupt kein Ass in der Elektronik sein. Ein enger Spezialist mit Kenntnissen der Grundlagen des Marketings hat mit größerer Wahrscheinlichkeit eine gute Idee, aber selbst wenn Sie jemanden beauftragen, diese zu entwickeln, müssen Sie die Fähigkeiten der modernen Elementbasis navigieren und den Preis der Lösung präsentieren. Andernfalls können Sie das Unmögliche verlangen oder ein Gerät mit überteuerten Kosten auf einer veralteten Elementbasis erwerben.
Unter dem Schnitt ein Versuch, Menschen, die weit von ihnen entfernt sind, kurz und einfach über die Fähigkeiten moderner Mikrocontroller zu informieren. Für diejenigen, die die Idee eines neuen elektronischen Geräts haben, aber keine Ahnung haben, was ein Mikrocontroller ist. Wer den ersten Schritt von unterhaltsamen Experimenten mit der Arduino-Plattform zum Entwerfen eigener Geräte machen möchte, findet darin auch einfache, aber nützliche Tipps. Ich habe versucht, mich nicht mit den technischen Details zu befassen. Zu
diesem Zweck reicht es nicht aus, dass das Buch das Wesentliche darlegt und einige einfache, aber nützliche Tipps zum Schaltungsdesign gibt, um Anfänger vor elementaren Fehlern zu schützen.
Zusammenfassung des Artikels:
Wie Mikrocontroller die Welt erobertenARM-Architektur - Marktführer für Mikrocontroller von heuteWettbewerb mit jüngeren BrüdernÜber das Verlegen von Asphalt, die Vorteile des Schlafes und seiner SortenKurz über die Fertigungstechnologie und wie Mikrocontroller-Serien aussehenDie Peripherie des einfachsten ARM-Mikrocontrollers für einen halben DollarDer billigste Weg, um zusätzliche Funktionen zu erhaltenUnd was wird den Übergang zum Cortex-M4 zusätzlich zu dem ein paarmal erhöhten Preis hinzufügen?Cortex-M7 - wenn Sie mehr wollen ...Codeschutz, Aktualisierbarkeit und Vielfalt haben Mikrocontrollern geholfen, die Welt zu erobern
Jedes intelligente Gerät erfordert Kontrolle. In den meisten Fällen tun dies heute Mikrocontroller - Chips, die einen Mikroprozessorkern, Speicher und Peripheriemodule kombinieren, die für die Kommunikation mit anderen Komponenten des Geräts und der Außenwelt verantwortlich sind.

Mikrocontroller sind Alleskönner. Ein Mikrocontroller kann Dutzende spezialisierter Mikroschaltungen ersetzen, die zur Ausführung der erforderlichen Funktionen erforderlich wären, wenn der Mikroprozessor die Rolle des Rechners spielen würde.
Einer der unbestreitbaren Vorteile des Mikrocontrollers besteht darin, dass das Programm, unter dem er ausgeführt wird, in seinem Gehäuse versteckt ist (im Abschnitt „Programmspeicher“) und natürlich sehr gut vor Hacking geschützt ist, wenn der Mikrocode-Entwickler dies durch Aktivierung der integrierten Mechanismen erledigt hat Schutz. So erhalten Sie heute so viel Schutz wie möglich für geistiges Eigentum.

Was nicht gehackt werden kann, kann kopiert werden. Warum sollten Sie versuchen, den im Mikrocontroller des Programms eingebetteten Code mit teuren, ausgeklügelten Geräten zu lesen, wenn es einfacher und billiger ist, einen Fachmann zu finden, der ihn erneut schreiben kann? Vielleicht ist das Ergebnis sogar noch besser und die Funktionalität ist umfangreicher als die des Prototyps. Ja, es kostet Geld, aber der Inhalt des FLASH-Speichers heutiger Mikrocontroller ist so gut geschützt, dass Versuche, unhöfliches „Hacken“ durchzuführen, noch mehr kosten. Darüber hinaus wird das Problem des geistigen Eigentums gelöst, und Sie erhalten zusammen mit den Quellcodes des Programms die Möglichkeit, Ihr Gerät zu entwickeln und zu verbessern.
Der Programmspeicher in modernen universellen Mikrocontrollern ist wiederbeschreibbar, und der Umschreibvorgang kann mehr als zehntausend Mal wiederholt werden. Es wird empfohlen, diese Tatsache zum Aktualisieren von Software zu verwenden, um darin gefundene Fehler zu beseitigen oder die Funktionen eines bereits funktionierenden Geräts zu erweitern. Dies ist recht einfach zu implementieren. Wenn Sie dem Programm einen speziellen Codeabschnitt hinzufügen, der als „Bootloader“ bezeichnet wird, haben Sie die Möglichkeit, die Software Ihres Geräts auf verschiedene Arten zu aktualisieren: am Servicepunkt (wenn das Gerät einen speziellen Anschluss im Gehäuse versteckt hat), mit dem Sie es verbinden können Computer über USB, über ein Netzwerk oder sogar eine drahtlose Schnittstelle. Die Hauptsache ist, das Gerät mit den dafür notwendigen Peripheriegeräten auszustatten. Wenn Sie die Möglichkeit haben, Software zu aktualisieren, sollten Sie immer an die Sicherheit denken. Wenn dieser Prozess nicht ausreichend geschützt ist, können Angreifer Ihren Code nicht nur stehlen, sondern ihn auch ändern und für ihre eigenen Zwecke verwenden
, was heimtückisch ist . Übernehmen Sie beispielsweise mithilfe der von Ihnen zu Hause installierten WEB-Kamera die Kontrolle über die Dinge Ihres „Smart Home“ oder Spions.
ARM-Architektur - Marktführer für Mikrocontroller von heute
Seit der Zeit von King Peas werden Mikrocontroller normalerweise nach der Kapazität der Daten unterteilt, mit denen sie Operationen durchführen. In den allermeisten Fällen lohnt es sich heute bei Neuentwicklungen, 32-Bit-Mikrocontroller mit ARM-Kern zu wählen. Es gibt eine Vielzahl von Änderungen, und Sie können jederzeit die Instanz auswählen, die für die Lösung Ihres Problems am besten geeignet ist. Je nach Funktionsumfang und Leistung kann der Preis eines Chips zwischen zehn Cent und zehn Dollar liegen.
Mikrocontroller (MCUs) werden abhängig von der Architektur des Computerkerns normalerweise in große Familien unterteilt. Für die Entwicklung von Geräten mit kleiner und mittlerer Komplexität gelten heute die beliebtesten Mikrocontroller mit Kernen von Cortex-M0 bis Cortex-M7. Je größer die Anzahl, desto größer die Rechenleistung (und nicht nur), der Preis und der maximale Stromverbrauch. Die Abfolge der Architektur spielte eine wichtige Rolle für die Popularität von ARM. Ein Entwickler kann den Programmcode seiner früheren Entwicklungen mit minimalen Kosten ändern, indem er von Mikrocontrollern eines Herstellers zu Chips eines anderen wechselt und zwischen Kernen mit unterschiedlicher Leistung migriert.
Wettbewerb mit jüngeren Brüdern
Die ARMs steuerten jedoch nicht. Ich erinnere mich gut an die Zeiten, als die 8-Bit-Mikrocontroller die absoluten Marktführer waren und 16-Bit-Kollegen von ihren Positionen aus erfolglos versuchten, sie zu pushen, aber ironischerweise gelang dies nur 32-Bit-älteren Brüdern. So kam es, dass die Technologien zur Chipherstellung zum Zeitpunkt ihres Auftretens die Kosten für die Integration großer Mengen an FLASH-Speicher in sie erheblich reduzierten. Bei dieser Gelegenheit wechselten die Programmierer vom Assembler zu einer höheren Sprache - C, deren Struktur perfekt auf der 32-Bit-Architektur basiert. Infolgedessen führten 32-Bit-Mikrocontroller Berechnungen viel schneller durch als ihre 8- und 16-Bit-Kollegen, aber es gab ein Problem: Sie hatten einen höheren Stromverbrauch.
Daher wurden sie zunächst in Fällen verwendet, in denen eine höhere Rechenleistung erforderlich war.
Es ist bekannt, dass der durchschnittliche Stromverbrauch des Rechenkerns des Mikrocontrollers mit zunehmender Taktfrequenz signifikant ansteigt. Zunächst hatten 8-Bit-Modelle von Mikrocontrollern bei einer ähnlichen Frequenz einen deutlich geringeren Verbrauch und konnten darüber hinaus mit einer niedrigen Taktfrequenz von bis zu 32 kHz arbeiten.
Der Stromverbrauch von Mikrocontrollern hängt stark von der Taktfrequenz des Kerns und der Peripherie ab. Um diese zu regulieren, verwendeten sie die PLL-basierte Taktfrequenzerzeugungseinheit, die in Funkübertragungsgeräten weit verbreitet ist. Dies ermöglichte es, die Taktfrequenz stark zu variieren, ohne den Master-Quarzresonator zu verändern. Peripheriemodule müssen nicht die gleiche Taktfrequenz wie der Computerkern haben. Um ihren Stromverbrauch zu senken, wurde ihnen die Frequenz über Teiler mit einem programmgesteuerten Teilungsverhältnis zugeführt. Einführung der Möglichkeit, nicht verwendete Module zu deaktivieren. Diese Maßnahmen reduzierten den Stromverbrauch erheblich, blieben jedoch deutlich höher als der von 8-Bit-Geräten.
Für kurze Zeit entwickelte sich eine Parität: 32-Bit-MCUs eroberten die Nische der Top-End-Anwendungen, und 8-Bit-MCUs hielten sicher Positionen in Geräten, für die ein geringer Stromverbrauch wichtig war. Es blieb bestehen, bis die 32-Bit-MCUs den "Puls" -Betriebsmodus perfekt beherrschten.
Bis dahin lernten auch 8-Biter, wie man das macht, aber aufgrund der schlechten Leistung mussten sie viel länger wach bleiben und verloren infolgedessen an Energie, insbesondere bei Aufgaben, die Berechnungen erfordern, wie das folgende Bild zeigt.

Über das Verlegen von Asphalt, die Vorteile des Schlafes und seiner Sorten
So lernten Mikrocontroller, so gut zu glauben, dass sie sehr schnell mit ihrer Arbeit begannen und die meiste Zeit gezwungen waren, „das Geld zu schlagen“ und Energie zu verschlingen, um Leerlaufzyklen durchzuführen. Bei Geräten mit eigener Stromversorgung verkürzt dies die Akkulaufzeit oder die Akkulaufzeit mit einer einzigen Ladung erheblich.
Beobachten Sie die Bauarbeiter beim Verlegen des Asphalts. Sie intensivieren ihre Arbeit stark, als ein Lastwagen mit einer neuen Portion Asphalt ankam und nach dem Verlegen langsamer wurde. So können Mikrocontroller die Kerntaktfrequenz erhöhen und verringern. Dies ist jedoch für sie nicht so einfach wie für die Arbeitnehmer - gleichzeitig ändert sich auch die Betriebsfrequenz der gesamten internen Peripherie, weshalb die empfindlichen Teile neu konfiguriert werden müssen.
Ist es nicht einfacher, nach all der Arbeit schnell etwas Schlaf zu bekommen? Oft ja. Darüber hinaus unterscheiden sich die Schlafarten von Mikrocontrollern noch dramatischer als beim Menschen.

Sie können einfach ein Nickerchen machen. In diesem Fall ist unser Chip immer bereit und sobald der Timer-Alarm ertönt oder durch einen externen Interrupt gestört wurde, wird er fast sofort aktiviert. Da eine Person während eines Nickerchens Stress abbauen kann, aber nicht wirklich genug Schlaf bekommt, wenn Sie ständig gezogen werden, kann der Mikrocontroller seinen Energieverbrauch in diesem Modus „nur“ alle 10 Mal senken. Dieser Modus wird als SCHLAF bezeichnet.
Der beste Weg, um gut zu schlafen, ist sich auszuziehen, ins Bett zu gehen, die Vorhänge am Fenster zu schließen und den Wecker einzuschalten. Nach einem solchen Traum werden Sie jedoch nicht sofort zur Arbeit gehen. Sie müssen mindestens mit kaltem Wasser abspülen und sich anziehen. Der Mikrocontroller verfügt auch über diesen Modus, wenn er die Anzahl der externen Stimuli begrenzt und den Haupttaktgenerator ausschaltet. Dies ist der STOP-Modus. Es kann den Verbrauch um das 1000-fache reduzieren, aber es wird eine beträchtliche Zeit in Anspruch nehmen, um es zu verlassen.
Stellen Sie sich vor, Sie hätten vor dem Schlafengehen eine angemessene Dosis Schlaftabletten getrunken, den Alarm und das Telefon ausgeschaltet und alle Fenster und Türen geschlossen. Dies ist der STAND BY-Modus. Der Mikrocontroller kann nur mit Hilfe spezieller Schlussfolgerungen aus diesem Modus entfernt werden, und der größte Teil der Erinnerung an das, was er vor einem solchen Traum getan hat, geht für immer verloren. Sie müssen erneut mit der Arbeit beginnen. In diesem Modus verbraucht die MCU jedoch noch halb so viel.
Letzteres, ein sehr exotischer Modus, erinnert bereits an jemanden, der nicht ohne spezielle Ausrüstung zurückgelassen werden kann. In diesem Fall funktioniert
jedoch nur ein spezieller Generator
, der Teil des Mikrocontrollers auf einem separaten Uhrenquarz ist, der mit seiner eigenen Stromquelle betrieben werden kann und buchstäblich einige Bytes RAM hat, um den Mikrocontroller daran zu erinnern, in welchen Zustand er geraten ist. Wenn die verbleibenden Teile des Mikrocontrollers gleichzeitig von der Stromversorgung getrennt werden, beträgt der Stromverbrauch möglicherweise bereits ein Zehntausendstel des aktiven Modus.
Bei der Auswahl eines Energiesparmodus müssen Sie die Konsequenzen der Anwendung berücksichtigen :
- Je tiefer der Traum, desto länger das Erwachen
- Je tiefer der Traum, desto weniger Möglichkeiten, den Mikrocontroller herauszuholen
- Je tiefer der Schlaf, desto weniger Informationen bleiben über den vorherigen Zustand des Mikrocontrollers
- Um die deklarierten Mindestwerte zu erreichen, müssen in vielen Modi zusätzliche Maßnahmen ergriffen werden, z. B. das Trennen von Peripheriegeräten
- Um den Stromverbrauch des gesamten Geräts zu minimieren, muss die Schaltung des gesamten Geräts korrekt ausgelegt werden
- Um den Stromverbrauch des gesamten Geräts zu minimieren, müssen Sie sicherstellen, dass die anderen Komponenten und Schaltkreise in einem inaktiven Modus ebenfalls über Mikropower verfügen. Es ist dumm, enorme Anstrengungen zu unternehmen, um den Verbrauch des Mikrocontrollers unter ein Mikroampere zu senken und gleichzeitig einen billigen Stabilisator mit einem Eigenverbrauchsstrom von 100 Mikroampere im Gerät zu verwenden,
aber dies ist sehr häufig - Für den erfolgreichen Einsatz von Tiefschlafmodi muss nicht nur das Programm, sondern auch die Schaltung sorgfältig durchdacht werden. Andernfalls kann es beim Speichern zu sehr schwerwiegenden Problemen kommen - selten, aber das „tote“ Gerät friert aus unerklärlichen Gründen ein oder wacht zu oft auf und mag Infolgedessen ist der Verbrauch um Größenordnungen höher als erwartet

Wenn sich Ihr Programmierer mit einem Schaltungsingenieur zum ersten Mal gegenseitig für die Krümmung verantwortlich gemacht hat und der Hersteller gemeinsam unrealistische Zahlen in Datenblättern auf dem Mikrocontroller veröffentlicht hat und Ihr Gerät Batterien um eine Größenordnung schneller als erwartet einlegt, ist dies ein Grund, sich zumindest unabhängig zu machen hochqualifizierte Experten.
Kurz über die Fertigungstechnologie und wie Mikrocontroller-Serien aussehen
Der physikalisch aktive Teil des Mikrocontrollers wird wie die überwiegende Mehrheit anderer Mikroschaltungen normalerweise auf einem Monosiliciumwafer gebildet (nennen wir es in diesem Zusammenhang einen Chip). Die Späne nehmen eine sehr kleine Fläche ein, aber es ist technologisch rentabel, Platten mit großem Durchmesser herzustellen. Daher wird normalerweise eine große Anzahl von Spänen wie Waben auf eine große Platte gelegt und während eines technologischen Prozesses geformt. Anschließend werden die Platten in Stücke geschnitten und erhalten einzelne Chips, die in das Gehäuse gelegt werden.

Die Topologieentwicklung und das Debuggen von technologischen Prozessen eines neuen Chips ist sehr teuer, und der Platz, den ein einzelner Chip auf einer Platte einnimmt, ist normalerweise nicht groß. Für Hersteller ist es rentabel, Chips in großen Mengen herzustellen, aber Benutzer benötigen in verschiedenen Fällen Mikrocontroller. Für jemanden ist es wichtig, ein kleineres und billigeres Gehäuse zu erhalten. Im Gegenteil, es werden mehr Ausgänge benötigt, um ein LCD oder einen externen Speicher mit einer parallelen Schnittstelle zu verwalten. Für Hersteller ist es rentabel, alle Nischen abzudecken, damit Kunden nicht zu Wettbewerbern übergehen, ohne das für sie optimale Modell zu finden.
Es ist oft rentabler, eine große Charge eines Universalchips freizugeben und in verschiedenen Fällen zu platzieren, als ein Dutzend verschiedener Chips auf den Markt zu bringen. Bei Chips, die in Fällen mit einer kleinen Anzahl von Pins platziert sind, bleiben einige Ports (in diesem Zusammenhang unter Ports die Kontaktpads auf der Oberfläche des Chips, die zur Kommunikation mit der Außenwelt dienen) einfach nicht verbunden. Oft gehen Hersteller noch weiter - um die Nachfrage und den Preis von Mikrocontrollern mit einer großen Anzahl von Beinen zu erhöhen, schneiden sie künstlich die Funktionalität von denen mit weniger Beinen ab - deaktivieren Sie einige Funktionen, begrenzen Sie die Menge des verfügbaren Speichers usw.
Auf der Basis eines Chips bilden sie eine Reihe von Mikrocontrollern, die sich in der Speichergröße erheblich unterscheiden, und eine Reihe von Peripheriemodulen, manchmal zu bestimmten Preisen. Gleichzeitig können die darin installierten Chips aus denselben Platten geschnitten werden. Da die Fläche, auf der sich ein Chip befindet, klein ist, ist auch sein Beitrag zu den Kosten des Endprodukts gering und kann geopfert werden. Es ist vorteilhaft, zusätzlichen Speicher und andere Funktionen beispielsweise in der Testphase zu deaktivieren - entweder mit Hilfe einmal programmierbarer Teile der Konfiguration oder durch Brennen der Jumper mit einem Laser. Nur für die meisten Massenprodukte ist es sinnvoll, hierfür eine leicht modifizierte Fotovorlage zu erstellen. Darüber hinaus ist es nicht erforderlich, dass nicht verwendeter Speicher physisch nicht vorhanden ist. Er kann wiederum einfach durch Entfernen von Jumpern in der Vorlage deaktiviert werden.

Aus einem Standard-Chip-Design wird also eine ganze Reihe von Mikroschaltungen gebildet.
Die Peripherie des einfachsten ARM-Mikrocontrollers für einen halben Dollar
Der Prozessorkern ist das Gehirn, aber damit es nicht wie ein „kugelförmiges Pferd im Vakuum“ ist, sind Analoga der Sinne und Gliedmaßen erforderlich.
Im Mikrocontroller spielen die Schlussfolgerungen zum Fall, an die die Ports (Pads) des Chips im Inneren des Gehäuses angeschlossen werden können, ihre Rolle. Über interne Switches können wiederum verschiedene Peripheriemodule an denselben Port angeschlossen werden.
Betrachten Sie zunächst die Peripherie einer der einfachsten Serien von ST, die auf dem Cortex-M0-Kern basiert - stm32F03.
Für diese Serie haben wir die folgenden Grundfunktionen:Echtzeituhr (Real Time Clock oder RTC) , die von einem separaten Ausgang gespeist werden kann und von einem separaten Niederfrequenzresonator aus betrieben werden kann. Dieses Modul verbraucht extrem wenig Energie. Bei einem Stromausfall kann es stundenlang an einem geladenen Kondensator oder jahrelang an einer im Gerät eingebauten kleinen Batterie arbeiten. Darüber hinaus kann es als Wecker dienen und den Mikrocontroller zu einem festgelegten Zeitpunkt aus dem Zustand des tiefsten Schlafes entfernen.
WatchDog ist ein Wachhund, der verhindert, dass der Mikrocontroller für immer einschlafen kann, z. B. in einen endlosen Zyklus fällt oder zu einer nicht vorhandenen Adresse wechselt. Das Funktionsprinzip ist einfach.
Der Programmierer stellt den Frostschutz-Timer für einen bestimmten Zeitraum, beispielsweise für eine Sekunde, ein und startet ihn. Dann platziert er an den Stellen des von ihm ausgewählten Programms kurze Codeabschnitte, die den Timer von Null aus neu starten. Wenn in einer Sekunde kein Timer zurückgesetzt wird, ist WatchDog der Ansicht, dass etwas mit dem Programm nicht stimmt, und passt zum Neustart des Mikrocontrollers. Das Programm beginnt von Anfang an zu arbeiten, und es ist möglich festzustellen, ob der Initiator des WatchDog-Resets war, und diese Tatsache beim Start zu berücksichtigen.Allgemeines Input-Output-GPIO ist die häufigste Funktion, die die meisten Mikrocontroller-Pins unterstützen. Sie können entweder als Eingänge oder als Ausgänge konfiguriert werden.. ( ), , 1. , , , , . , , , 20 — 50 (pull-up) (pull-down).
,
oder niedrig. Es gibt schwierigere Modi, aber wir werden nicht auf übermäßige Details eingehen.Tipps für Anfänger— , , . , , , , . , , — , , , .

, ( ), . X4 — . 5-7, . , , , , R24-R26, 1 . VD4-VD6 5 , , , 3,3 , 5 . R29-R31 100 .
. , . STM32Fxx 5 , , , .
, . , , , — (- ). , . .
. . «» , .
, . , — . , , .
, , ARM , 8- . , , . , , , . Temperatursensor Der Mikrocontroller verfügt über einen eigenen Temperatursensor, der zwar nicht sehr genau ist, jedoch mit bestimmten Annahmen zur Messung der Temperatur im Gerät verwendet werden kann.Eindeutige Seriennummer Jedem Mikrocontroller ist werkseitig eine eigene eindeutige Seriennummer zugeordnet. Eine sehr praktische Funktion, mit der Sie die Massenproduktion Ihrer Produkte organisieren können.Schnittstellen für den Datenaustausch Verschiedene Mikrocontroller dieser Serie können über mehrere der gängigsten Schnittstellen verfügen, die die Kommunikation mit anderen Chips und der Außenwelt erheblich erleichtern:- USART — ,
COM RS232 , - SPI — , ,
- I2C — , . ,
GPIO, .
- AD .
, . , , . . 12 , 10 16.

3 12 3/4096=0.00073 — .
.
. , ,
, , , , , .

. MEMS , . , , .
VBUT . : R5-10 , 10 0.1 , L1 L2 BLM18PG471SN1D .

. , ASIC, . — . , , . « ».
, . , , , , . 1, 16. ? , . 10 , — 10 . , . , , 1 . , 10 10 !
Ein Direktzugriffssystem auf den DAP- oder DMA-Speicher ist eine weitere wichtige Sache. Mit diesem Modul können Sie Daten von der Peripherie in den Speicher oder umgekehrt senden.
Mit seiner Hilfe können Sie beispielsweise einen Speicherplatz zuweisen, um vom ADC kommende Daten zu speichern und daraus einen Ringpuffer zu erstellen. Als nächstes startet der ADC in regelmäßigen Abständen im Datenlesemodus. Unter Verwendung von DMA-Mechanismen werden die gelesenen Daten ohne Beteiligung des Kernels unabhängig byteweise in einen dedizierten Puffer gestellt. Wenn der Puffer vollständig gefüllt ist, empfängt der Kernel ein Signal und beginnt mit der programmgesteuerten Verarbeitung. Das DMA-System startet den Startvorgang von Anfang an. Da DMA mehrere Kanäle hat, stört es niemanden, für unseren Fall die automatische Ausgabe von Daten aus dem Puffer an USART zu implementieren. Als Ergebnis erhalten wir den Prozess der Übertragung des Lesevorgangs vom ADC an USART, der ohne Verwendung des Kernels funktioniert, und nicht die einfache Arbeit des Programmierers an der DMA-Konfiguration zahlt sich gut aus.
PWM- oder PWM-Pulsweitenmodulationsmodul , aufgrund der Einschränkungen des Artikels werden wir nicht im Detail darauf eingehen. Ich stelle nur fest, dass es eine äußerst nützliche und weit verbreitete Funktion ist, mit der es möglich ist, die Helligkeit von LEDs, die Motordrehzahl, Lenkmaschinen und das Design intelligenter Gleichstrom zu steuern -DC-Wandler und sogar Klang synthetisieren.
Was kann ich durch Hinzufügen von 30 Cent bekommen?
Wechseln zu Cortex-M0 +. Der billigste Weg, um zusätzliche Funktionen zu erhalten
Und welche zusätzlichen Brötchen bietet der Mikrocontroller der neuesten Serie mit einem etwas moderneren Kern als der Cortex-M0 +, der 20 bis 50 Cent teurer ist als die Analoga der oben genannten Serie in Bezug auf Gehäuse und Anzahl der Ausgänge?
Tabelle der Unterschiede zwischen Serien

- maximale Taktfrequenz verdoppelt
- von 2 auf 1,7 Volt fällt die minimale Versorgungsspannung ab
- ADC kann zweieinhalb Mal schneller arbeiten
- Es erschienen zwei Kanäle eines 12-Bit-Digital-Analog-Wandlers. Dies ist eine äußerst nützliche Funktion, mit deren Hilfe an den Klemmen ein Signal einer bestimmten Spannung mit einer Genauigkeit von besser als 1 mV erzeugt werden kann, beispielsweise beliebige Wellenformen im Audiofrequenzbereich
- Komparatoren erschienen - Geräte zum Vergleichen der Werte von zwei analogen Signalen, kann es nützlich sein zu sagen, wenn das Moment des Überstroms bestimmt wird
- USB-Schnittstelle hinzugefügt, über die Sie Geräte an einen Computer anschließen können. Von besonderem Interesse ist die Verfügbarkeit von Energieverwaltungsoptionen für die Implementierung einer USB-Typ-3-C-kompatiblen Schnittstelle. Ich habe in einem meiner Artikel über Habré über ihn gesprochen
- Der AES-Beschleuniger für 256-Bit-Verschlüsselungs- / Entschlüsselungsverfahren wurde angezeigt
- UART hatte die Möglichkeit, im Ruhemodus und in der Hardware-Unterstützung für LIN-Protokolle (ein einfaches Netzwerk, das in der Automobilindustrie weit verbreitet ist), IRDA (Datenübertragungsprotokoll über Infrarot-LEDs, TV-Fernbedienungen speichern), SIM-Karte ... zu arbeiten.
- Erweiterte Timer und PWM-Modul
- Die Obergrenze des Betriebstemperaturbereichs stieg auf 125 Grad
- Erhöhte Zuverlässigkeit aufgrund der Erweiterung der Neustartmodi bei Stromproblemen
- Es wurde ein "ehrlicher" Hardware-Zufallswertgenerator hinzugefügt - eine nützliche Funktion in der Kryptographie
Nun, für viele Anwendungen zahlt sich eine unbedeutende Preiserhöhung vollständig aus, da Sie sich weigern können, auf teurere Mikrocontroller höherer Modellreihen umzusteigen.
Und was wird den Übergang zum Cortex-M4 zusätzlich zu dem ein paarmal erhöhten Preis hinzufügen?

- Die maximale Taktfrequenz steigt auf 80 MHz
- Ein Block schien Gleitkommaberechnungen zu beschleunigen
- Natürlich hat sich der maximale interne Speicher erhöht
- Modelle mit 100 Beinen oder mehr unterstützen die Arbeit mit externem statischem Speicher
- USB hat gelernt, im HOST-Modus zu arbeiten
- Der CAN-Schnittstellencontroller wurde angezeigt. Dies ist eine vielversprechende Schnittstelle für äußerst zuverlässige Anwendungen. Er begann seinen siegreichen Marsch mit der Automobilindustrie und führt seit fast 20 Jahren einen langwierigen Krieg mit dem längst veralteten RS-485 in der äußerst konservativen industriellen Automatisierungsindustrie.
- Eine Schnittstelle zum Anschließen der SD-Karte wurde angezeigt. Eine sehr nützliche Funktion - fügen Sie Ihrem Gerät einen Halter für 50 Cent hinzu und erhalten Sie ein austauschbares Speichermedium mit einer Größe von mehreren zehn Gigabyte! Die meisten Karten funktionieren mit dem üblichen SPI, aber viel langsamer
- Sie fügten einen eingebauten Operationsverstärker mit einer Vielzahl von Betriebsarten hinzu. Dank dieser und früherer Funktionen musste ich für mein letztes Projekt eines drahtlosen Stethoskops die Auswahl für M4 anstelle von M0 + beenden. Infolgedessen wurde es möglich, die Signalverstärkung vom MEMS-Mikrofon aus zu steuern und mehrere zehn Stunden Audioaufzeichnungen der Herzarbeit auf der SD-Karte zu speichern
- Das Kryptomodul lernte das Lesen von HASH-Funktionen in Hardware.
- Die Steuerung von Touch-Anwendungen wurde verbessert und unterstützt jetzt nicht nur Schaltflächen, sondern auch Bildlaufelemente
Cortex-M7 - wenn Sie mehr wollen ...

In der überwältigenden Anzahl von Projekten reichen die Funktionen der oben genannten Kernel aus, es treten jedoch auch Ausnahmen auf. Persönlich passierte mir dies nur ein paar Mal und aus einem wirklich guten Grund nur einmal - es erforderte eine hohe Leistung für die Aufbereitung von Daten für den ASIC, einen Ethernet-Controller und einen CAN-FD-Bus mit einem erhöhten Wechselkurs.
Wenn ST auf der Ebene der universellen Mikrocontroller mit Cortex 4-Kernen und darunter meiner subjektiven Meinung nach jetzt führend in Bezug auf Preis / Funktionalität ist, dann ist es im Bereich der leistungsstärkeren Chips ATMEL bzw. MICROCHIP unterlegen, das es kürzlich absorbiert hat. Deshalb habe ich mich für die ATSAMV71-Serie ab 6 US-Dollar entschieden.
Zusätzlich zu den oben genannten Funktionen (Ethernet-Controller und CAN-FD-Bus) erhalten wir im Großen und Ganzen einen Kernel mit einem Beschleuniger für Vorgänge, der die Produktivität erheblich steigert, bei einer Taktfrequenz von bis zu 300 MHz arbeitet, Schnittstellen zum Anschließen einer Videomatrix und Unterstützung für dynamischen Speicher.
Abschließend werde ich diejenigen, die Erfahrung in der Kommunikation mit Mikrocontrollern haben, bitten, die geeignete Antwort auf die Frage zu wählen.