विषयसूची:

अतुल्य STM32 L4!: 12 कदम
अतुल्य STM32 L4!: 12 कदम

वीडियो: अतुल्य STM32 L4!: 12 कदम

वीडियो: अतुल्य STM32 L4!: 12 कदम
वीडियो: STM32 Embedded 101: RCC Enable registers 2024, जुलाई
Anonim
Image
Image
STM32F746G डिस्कवरी
STM32F746G डिस्कवरी

मैं इस लेख को यह समझाते हुए शुरू करना चाहता हूं कि इस अक्षर L (L4 का) का अर्थ निम्न (या, मूल रूप से, अल्ट्रा लो पावर) है। इस प्रकार, यह कम ऊर्जा खर्च करता है और दिखाता है कि यह STM32 अविश्वसनीय क्यों है! यह माइक्रोएम्प्स खर्च करता है और इसके अंदर एक सिस्टम है जो प्रत्येक चिप भाग की कीमत की पहचान कर सकता है। यह ऊर्जा के एक बहुत ही कुशल प्रबंधन और उच्च प्रदर्शन के साथ अनुमति देता है।

मैंने वीडियो में इस माइक्रोकंट्रोलर के बारे में पहले ही बात कर ली है, "माइक्रोकंट्रोलर को प्रोग्राम करने का सबसे आसान तरीका!" वीडियो में, मैंने दिखाया कि कैसे STM32 L4 को MBED के साथ प्रोग्राम करना है। लेकिन इसके बारे में और अधिक शोध करते समय, मुझे कुछ ऐसा पता चला जिसका निर्माता एसटीएमइक्रोइलेक्ट्रॉनिक्स खुलासा नहीं करता है। इसने चिप में Core Arduino को लागू किया, जो Arduino IDE के माध्यम से प्रोग्रामिंग को सक्षम बनाता है।

इस छवि में, हमारे पास L4 के दो संस्करण हैं। STM32L432KC Arduino नैनो और STM32L476RG के समान है, जिसमें Arduino Uno के बराबर IO हैं। इसलिए, इस शक्तिशाली माइक्रोकंट्रोलर के दो संस्करणों के साथ काम करते हुए, मैं आपको दिखाऊंगा कि STM32 परिवार में Arduino Core कैसे स्थापित किया जाए। साथ ही, मैं STM32 किट की मुख्य विशेषताओं के बारे में बताऊंगा।

चरण 1: कोर Arduino के साथ प्लेट्स

मैंने यहां विविधता के बारे में एक सूची रखी है। हालाँकि, हम STM32L432KC और STM32L476RG के साथ काम करने जा रहे हैं।

STM32F0

  • न्यूक्लियो F030R8
  • न्यूक्लियो F091RC
  • 32F0308डिस्कवरी

STM32F1

  • BluePill F103C8 (मूल समर्थन, कोई USB नहीं)
  • MapleMini F103CB (मूल समर्थन, कोई USB नहीं)
  • न्यूक्लियो F103RB
  • STM32VLDDISCOVERY

STM32F2

न्यूक्लियो F207ZG

STM32F3

  • न्यूक्लियो F302R8
  • न्यूक्लियो F303K8
  • न्यूक्लियो F303RE

STM32F4

  • न्यूक्लियो F401RE
  • न्यूक्लियो F411RE
  • न्यूक्लियो F429ZI
  • न्यूक्लियो F446RE
  • STM32F407G-DISC1

STM32F7

STM32F746G-डिस्कवरी

STM32L0

  • न्यूक्लियो L031K6
  • न्यूक्लियो L053R8
  • B-L072Z-LRWAN1

STM32L1

न्यूक्लियो L152RE

STM32L4

  • न्यूक्लियो L432KC
  • न्यूक्लियो L476RG
  • NUCLEO-L496ZG-P
  • NUCLEO-L496ZG-P
  • बी-एल४७५ई-आईओटी०१ए

चरण 2: STM32F746G डिस्कवरी

केवल उदाहरण के लिए, मैं एक STM32F746G DISCOVERY का विवरण दिखाता हूं, जिसे मैं एक जानवर मानता हूं। मैंने पहले ही इस चिप का ऑर्डर दे दिया है, और मुझे उम्मीद है कि मैं जल्द ही इसके बारे में बात करूंगा।

विशेषताएं:

STM32F746NGH6 माइक्रोकंट्रोलर जिसमें BGA216 पैकेज में 1 Mbytes की फ्लैश मेमोरी और 340 Kbytes RAM है

  • ऑन-बोर्ड ST-LINK / V2-1 USB पुन: गणना क्षमताओं का समर्थन करता है
  • एमबेड-सक्षम (mbed.org)
  • यूएसबी फ़ंक्शन: वर्चुअल COM पोर्ट, मास स्टोरेज, और डीबग पोर्ट
  • कैपेसिटिव टच स्क्रीन के साथ 4.3-इंच 480x272 रंग एलसीडी-टीएफटी
  • कैमरा कनेक्टर
  • साई ऑडियो कोडेक
  • ऑडियो लाइन इन और लाइन आउट जैक
  • स्टीरियो स्पीकर आउटपुट
  • दो एसटी एमईएमएस माइक्रोफोन
  • एसपीडीआईफ़ आरसीए इनपुट कनेक्टर
  • दो पुशबटन (उपयोगकर्ता और रीसेट)
  • 128-एमबिट क्वाड-एसपीआई फ्लैश मेमोरी
  • 128-एमबिट एसडीआरएएम (64 एमबीपीएस पहुंच योग्य)
  • माइक्रोएसडी कार्ड के लिए कनेक्टर
  • आरएफ-ईईपीरोम बेटीबोर्ड कनेक्टर
  • माइक्रो-एबी कनेक्टर के साथ यूएसबी ओटीजी एचएस
  • माइक्रो-एबी कनेक्टर के साथ यूएसबी ओटीजी एफएस
  • ईथरनेट कनेक्टर IEEE-802.3-2002 के अनुरूप है
  • पांच बिजली आपूर्ति विकल्प:

- एसटी लिंक / वी2-1

- यूएसबी एफएस कनेक्टर

- यूएसबी एचएस कनेक्टर

- Arduino कनेक्टर से VIN

- कनेक्टर से बाहरी 5 वी

बिजली आपूर्ति उत्पादन विदेशी अनुप्रयोगों:

- 3.3 वी या 5 वी

Arduino Uno V3 कनेक्टर

चरण 3: Arduino ड्यू X STM NUCLEO-L476RG

Arduino ड्यू एक्स एसटीएम NUCLEO-L476RG
Arduino ड्यू एक्स एसटीएम NUCLEO-L476RG

यहाँ Arduino ड्यू के साथ तुलना की गई है, जो एक ARM Cortex-M3 है। मैंने वीडियो में इस मॉडल का उपयोग किया है: Arduino ड्यू के साथ ड्राइवर TB6600 के साथ Nema 23 स्टेपर मोटर, और स्पीडटेस्ट: Arduinos - ESP32 / 8266s - STM32, STM NUCLEO-L476RG के साथ, जो ARM Cortex-M4 अल्ट्रा लो पावर है, और इसमें है दाईं ओर की छवि।

Arduino देय:

माइक्रोकंट्रोलर: AT91SAM3X8E

ऑपरेटिंग वोल्टेज: 3.3V

इनपुट वोल्टेज (अनुशंसित): 7-12V

इनपुट वोल्टेज (सीमा): 6-16V

डिजिटल I / O पिन: 54 (जिनमें से 12 PWM आउटपुट प्रदान करते हैं)

एनालॉग इनपुट पिन: 12

एनालॉग आउटपुट पिन: 2 (DAC)

सभी I / O लाइनों पर कुल DC आउटपुट करंट: 130 mA

3.3V पिन के लिए DC करंट: 800 mA

5V पिन के लिए DC करंट: 800 mA

फ्लैश मेमोरी: 512 केबी सभी उपयोगकर्ता अनुप्रयोगों के लिए उपलब्ध है

एसआरएएम: 96 केबी (दो बैंक: 64 केबी और 32 केबी)

घड़ी की गति: 84 मेगाहर्ट्ज

लंबाई: 101.52 मिमी

चौड़ाई: 53.3 मिमी

वजन: 36 ग्राम

एसटीएम न्यूक्लियो-एल४७६आरजी:

LQFP64 पैकेज में STM32L476RGT6

ARM®32-बिट Cortex®-M4 CPU

अनुकूली वास्तविक समय त्वरक

(एआरटी एक्सेलेरेटर ™) फ्लैश मेमोरी से 0-प्रतीक्षा स्थिति निष्पादन की इजाजत देता है

80 मेगाहर्ट्ज अधिकतम सीपीयू आवृत्ति

वीडीडी 1.71 वी से 3.6 वी. तक

1 एमबी फ्लैश

128 केबी एसआरएएम

एसपीआई (3)

I2C (3)

यूएसएआरटी (3)

यूएआरटी (2)

एलपीयूएआरटी (1)

GPIO (51) बाहरी रुकावट क्षमता के साथ

12 चैनलों के साथ कैपेसिटिव सेंसिंग

१२-बिट एडीसी (३) १६ चैनलों के साथ

2 चैनलों के साथ 12-बिट डीएसी

FPU या फ्लोटिंग पॉइंट यूनिट

* मैं यहां STM NUCLEO-L476RG के इन अलग-अलग FPU पर प्रकाश डालता हूं, जिसका अर्थ है कि चिप अद्भुत गति के साथ त्रिकोणमितीय गणना करता है। यह Arduino ड्यू के विपरीत है, जिसे ऐसा करने के लिए एक आनुवंशिक प्रोसेसर की आवश्यकता होती है।

चरण 4: ध्रस्टोन

ध्रस्टोन
ध्रस्टोन
ध्रस्टोन
ध्रस्टोन

ड्रिस्टोन एक सिंथेटिक कंप्यूटर बेंचमार्क प्रोग्राम है जिसे 1984 में रेनहोल्ड पी. वीकर द्वारा विकसित किया गया था, जिसका उद्देश्य (पूर्णांक) सिस्टम प्रोग्रामिंग का प्रतिनिधि होना है। Dhrystone समग्र प्रोसेसर प्रदर्शन (CPU) का प्रतिनिधि बन गया। "ध्रीस्टोन" नाम एक अलग बेंचमार्क एल्गोरिथम पर एक वाक्य है जिसे वेटस्टोन कहा जाता है। यह कुछ सामान्य ऑपरेशनों से लिया गया एक उपाय है।

यह प्रोग्राम Arduino में इन माइक्रोकंट्रोलर्स के अंदर कुछ संकलित करने के लिए है। और मेरे द्वारा किए गए दो परीक्षणों के परिणाम, एक ध्रस्टोन के साथ और दूसरा स्पीडटेस्ट वीडियो से, इस प्रकार हैं:

Arduino देय: यूएस $ 37.00

ध्रीस्टोन बेंचमार्क, संस्करण 2.1 (भाषा: सी)

निष्पादन शुरू होता है, थ्रीस्टोन के माध्यम से 300, 000 चलता है

निष्पादन समाप्त

ड्रिस्टोन के माध्यम से एक रन के लिए माइक्रोसेकंड: 10.70

प्रति सेकंड ध्रस्टोन: ९३, ४३१.४३

वैक्स एमआइपी रेटिंग = 53.18 डीएमआईपीएस

रनिंग टेस्ट फर्नांडोक

कुल समय: २, ४५८ एमएस

  • एफपीयू नहीं है
  • Arduino पर Drystone सॉफ़्टवेयर

www.saanlima.com/download/dhry21a.zip

एसटीएम न्यूक्लियो-एल४७६आरजी: यूएस $ २३.००

ध्रीस्टोन बेंचमार्क, संस्करण 2.1 (भाषा: सी)

निष्पादन शुरू होता है, थ्रीस्टोन के माध्यम से 300, 000 चलता है

निष्पादन समाप्त

ड्रिस्टोन के माध्यम से एक रन के लिए माइक्रोसेकंड: 9.63

प्रति सेकंड ध्रस्टोन: 103, 794.59

वैक्स एमआइपी रेटिंग = 59.07 डीएमआईपीएस

रनिंग टेस्ट फर्नांडोक

कुल समय: 869 एमएस 2.8x तेज

  • 40Mbit / s तक PI, USART 10Mbit / s
  • 2x डीएमए (14 चैनल)
  • एआरटी एक्सेलेरेटर के साथ 80 मेगाहर्ट्ज / 100 डीएमआईपीएस तक

चरण 5: STM32L432KC X Arduino नैनो

STM32L432KC X Arduino नैनो
STM32L432KC X Arduino नैनो

बायां बोर्ड STM32L432KC है, जिसमें STMicroelectronics ने दाईं ओर चित्र में समान Arduino नैनो पिनआउट रखा है।

चरण 6: STM32L432KC

STM32L432KC
STM32L432KC

अल्ट्रा-लो-पावर आर्म® कॉर्टेक्स®-एम4 32-बिट

एमसीयू + एफपीयू, 100 डीएमआईपीएस, 256 केबी फ्लैश तक, 64 केबी एसआरएएम, यूएसबी एफएस, एनालॉग, ऑडियो

26 IO तक तेज, 5V के प्रति अधिक सहिष्णु

  • HW कैलेंडर, अलार्म और कैलिब्रेशन के साथ RTC
  • 3 कैपेसिटिव डिटेक्शन चैनल तक
  • 11x टाइमर: 1x16-बिट उन्नत इंजन नियंत्रण

1x 32-बिट और 2x 16-बिट सामान्य उद्देश्य, 2x 16-बिट बेसिक, 2x लो-पावर 16-बिट टाइमर (स्टॉप मोड में उपलब्ध), 2x वॉचडॉग, SysTick टाइमर

याद:

- 256 केबी फ्लैश तक, मालिकाना कोड पढ़ने की सुरक्षा

- हार्डवेयर समता जांच के साथ 16 केबी सहित 64 केबी एसआरएएम

- क्वाड एसपीआई मेमोरी इंटरफेस

समृद्ध एनालॉग बाह्य उपकरणों (स्वतंत्र आपूर्ति)

- 1x 12-बिट ADC 5 Msps, हार्डवेयर ओवरसैंपलिंग के साथ 16 बिट तक, 200 μA / Msps

- 12-बिट डीएसी आउटपुट के 2 चैनल, कम बिजली की खपत

- बिल्ट-इन पीजीए के साथ 1x ऑपरेशनल एम्पलीफायर

- अल्ट्रा-लो पावर इंटरफेस की तुलना में 2x

- 1x यूपीएस (सीरियल ऑडियो इंटरफेस)

- 2x I2C FM + (1 Mbit / s), SMBus / PMBus

- 3x USARTs (ISO 7816, LIN, IrDA, मॉडेम)

- 1x एलपीयूएआरटी (स्टॉप 2 वेक अप)

- 2x एसपीआई (और 1x एसपीआई क्वाड)

- कर सकते हैं (2.0 बी सक्रिय)

- सिंगल वायर प्रोटोकॉल मास्टर SWPMI I / F

- आईआरटीआईएम (इन्फ्रारेड इंटरफेस)

  • 14-चैनल डीएमए नियंत्रक
  • रैंडम संख्या जनरेटर

चरण 7: STM32L4 कार्ड के लिए Core Arduino स्थापित करें

STM32L4 कार्ड के लिए Core Arduino स्थापित करें
STM32L4 कार्ड के लिए Core Arduino स्थापित करें
  1. एसटी-लिंक प्रोग्राम स्थापित करें जो रिकॉर्ड करता है
  2. जेसन पता
  3. बोर्ड: कार्ड मैनेजर
  4. पुस्तकालय: पुस्तकालय प्रबंधक

चरण 8: एसटी-लिंक स्थापित करें - प्रोग्राम जो रिकॉर्ड करता है

एसटी-लिंक स्थापित करें - प्रोग्राम जो रिकॉर्ड करता है
एसटी-लिंक स्थापित करें - प्रोग्राम जो रिकॉर्ड करता है

फ़ाइल को https://www.st.com/en/Development-tools/stsw-link0… पर डाउनलोड करें। बस डिवाइस को रजिस्टर, डाउनलोड और इंस्टॉल करें।

चरण 9: पता Json

पता जेसन
पता जेसन

संपत्तियों पर, निम्नलिखित पता शामिल करें:

github.com/stm32duino/BoardManagerFiles/ra…

चरण 10: बोर्ड: बोर्ड प्रबंधक

बोर्ड: बोर्ड प्रबंधक
बोर्ड: बोर्ड प्रबंधक

Arduino Board Manager में, STM32 Core स्थापित करें, जो लगभग 40MB का है।

चरण 11: पुस्तकालय: पुस्तकालय प्रबंधक

पुस्तकालय: पुस्तकालय प्रबंधक
पुस्तकालय: पुस्तकालय प्रबंधक

अंत में, पुस्तकालयों को स्थापित करें।

मुझे व्यक्तिगत रूप से समूह STM32duino.com पसंद आया, जिसमें कई उदाहरण हैं, जिनमें से कुछ मैंने स्थापित किए हैं। मैंने एक फ्रीआरटीओएस भी डाउनलोड किया, जो मुझे बहुत पसंद आया। मुझे यह तेज़ और विश्वसनीय लगा। मैंने LRWAN भी स्थापित किया है (लेकिन अभी तक परीक्षण नहीं किया है)। मैं जल्द ही आपको बताऊंगा कि यह अच्छा है या नहीं।

चरण 12: पीडीएफ डाउनलोड करें

पीडीएफ

सिफारिश की: