คำถามติดแท็ก microcontroller

อุปกรณ์ซึ่งรวมถึงหน่วยประมวลผลกลาง (CPU) หน่วยความจำและ (โดยทั่วไป) ชุดอุปกรณ์ต่อพ่วง I / O (UART, ADC, DAC, I / O วัตถุประสงค์ทั่วไป, I2C และอื่น ๆ ) ในสแตนด์อะโลน บรรจุภัณฑ์

7
ฉันจะวัดแรงดันลบด้วย ADC ได้อย่างไร
ฉันทำงานกับ PIC micro-controller พร้อม inbuilt ADbit 10 บิตและต้องการวัดแรงดันไฟฟ้าในช่วง -1 ถึง -3Volts ฉันคิดว่าจะใช้ op-amp ในโหมด inverting เพื่อสร้างแรงดันไฟฟ้าเป็นบวกแล้วป้อนไปยัง adc ของไมโครคอนโทรลเลอร์ แต่ที่นี่ฉันจะต้องจ่ายไฟให้ opamp ด้วยแหล่งจ่ายไฟเชิงลบใช่ไหม ฉันไม่ต้องการใช้แหล่งจ่ายไฟเชิงลบในขณะนี้และสงสัยว่ามันเป็นไปได้หรือไม่ที่จะบรรลุการกำหนดค่านี้ คุณจะช่วยได้ไหม

16
เหตุใดจึงต้องใช้ PLC แทนไมโครคอนโทรลเลอร์
เหตุใดทุกคนจึงใช้ PLC ในสภาพแวดล้อมอุตสาหกรรมแทนที่จะเป็นโซลูชั่นที่ใช้ไมโครคอนโทรลเลอร์ สำหรับงานที่ยาวขึ้นโปรแกรม PLC นั้นซับซ้อนเหมือนโปรแกรมไมโครคอนโทรลเลอร์ โซลูชันที่ใช้ไมโครคอนโทรลเลอร์อาจปรับแต่งได้มากขึ้นและราคาถูกลง

20
ไมโครคอนโทรลเลอร์ที่ดีสำหรับการใช้งานอีเธอร์เน็ตคืออะไร?
ไมโครคอนโทรลเลอร์ที่ดีสำหรับการทำแอพพลิเคชั่นอีเธอร์เน็ตคืออะไร? หรือฉันจะต้องมีห้องสมุด Ethernet ที่ดีเพื่อเชื่อมต่อกับ Ethernet MAC / PHY?

5
อายุการเก็บรักษาของไมโครคอนโทรลเลอร์
แผนกจัดซื้อของเราขอAT32UC3B1256และซัพพลายเออร์มีพื้นที่เก็บข้อมูลไม่กี่พัน อย่างไรก็ตามถาดเหล่านั้นมีรหัสวันที่จากปี 2009 ในขณะที่อายุการเก็บรักษาโดยทั่วไปไม่ค่อยมีปัญหากับวงจรรวม แต่ 10 ปีนั้นค่อนข้างมีจำนวนมาก ฉันค้นหาข้อมูลทั่วไปเกี่ยวกับอายุการเก็บรักษา ยกตัวอย่างเช่นTI ระบุ : [... ] อายุการเก็บรักษามาตรฐานของ TI สำหรับผลิตภัณฑ์ที่บรรจุเป็นสองปีนับจากเวลาที่ผลิตจนถึงเวลาที่จัดส่งโดย TI หรือผู้จัดจำหน่ายที่ได้รับอนุญาตจาก TI TI ยังเสนออายุการเก็บรักษาที่เพิ่มขึ้น (ESL) ของผลิตภัณฑ์บางชนิดเป็นเวลาถึงห้าปีของอายุการเก็บรักษาทั้งหมดนับจากเวลาที่ผลิตจนถึงเวลาที่จัดส่งโดย TI หรือผู้จัดจำหน่ายที่ได้รับอนุญาตจาก TI จะทำการวัดจากวันที่จัดส่งจริง ไม่ใช่วันที่ผลิต ตามซัพพลายเออร์ถาดถูกปิดผนึก อะไรคือปัจจัย จำกัด สำหรับอายุการเก็บรักษาสำหรับไมโครคอนโทรลเลอร์? ชิ้นส่วนเหล่านั้นต้องการการแบ่งเบาบรรเทานานก่อนการประกอบ TLDR: เราควรกังวลเกี่ยวกับการซื้อไมโครคอนโทรลเลอร์ 10 ปีหรือไม่

9
การใช้สารระเหยในการพัฒนา C แบบฝัง
ฉันได้อ่านบทความและคำตอบของการแลกเปลี่ยนกองซ้อนเกี่ยวกับการใช้volatileคำสำคัญเพื่อป้องกันไม่ให้คอมไพเลอร์จากการใช้การเพิ่มประสิทธิภาพใด ๆ บนวัตถุที่สามารถเปลี่ยนแปลงในวิธีที่ไม่สามารถกำหนดโดยคอมไพเลอร์ หากฉันกำลังอ่านจาก ADC (เรียกว่าตัวแปรadcValue) และฉันประกาศว่าตัวแปรนี้เป็นโกลบอลฉันควรใช้คำหลักvolatileในกรณีนี้หรือไม่? โดยไม่ต้องใช้volatileคำสำคัญ // Includes #include "adcDriver.h" // Global variables uint16_t adcValue; // Some code void readFromADC(void) { adcValue = readADC(); } การใช้volatileคำสำคัญ // Includes #include "adcDriver.h" // Global variables volatile uint16_t adcValue; // Some code void readFromADC(void) { adcValue = readADC(); } ฉันถามคำถามนี้เพราะเมื่อทำการดีบั๊กฉันไม่เห็นความแตกต่างระหว่างทั้งสองวิธีแม้ว่าแนวทางปฏิบัติที่ดีที่สุดจะบอกว่าในกรณีของฉัน (ตัวแปรทั่วโลกที่เปลี่ยนแปลงโดยตรงจากฮาร์ดแวร์) …

4
เหตุใด TI มีไมโครคอนโทรลเลอร์จำนวนมาก
ฉันทำงานเกี่ยวกับโครงการกับกลุ่มและฉันรับผิดชอบส่วนดิจิทัลของโครงการดังนั้นฉันจะเขียนรหัส เพื่อไปจากอะนาล็อกเป็นดิจิตอลฉันต้องเลือกไมโครคอนโทรลเลอร์ ฉันดูไมโครคอนโทรลเลอร์ TI และพบว่าพวกเขามีมากมาย พวกเขามี: สเตลลา Hercules ซีรี่ส์ MSP430 และรายการก็ดำเนินต่อไป .. คำถามของฉัน: ตัวควบคุมขนาดเล็กตัวใดที่ใช้และทำไม ฉันควรใช้ไมโครคอนโทรลเลอร์ X แทน Y ภายใต้เงื่อนไขใด ทำไมจึงมีคอนโทรลเลอร์ไมโครแตกต่างกันมากมาย?

5
เหตุใดไมโครคอนโทรลเลอร์จึงไม่มี DAC บนชิป
ในคำตอบนี้ฉันอ่านว่าไมโครคอนโทรลเลอร์มักจะไม่มี DAC ในขณะที่พวกเขามี ADC ทำไมถึงเป็นอย่างนั้น? แก้ไข ฉันขอขอบคุณที่การรวมตัวต้านทานเช่นใน R-2R DAC มีราคาแพงในแง่ของอสังหาริมทรัพย์ (ขอบคุณไมค์สำหรับคำตอบของคุณ) แต่ฉันคิดว่าการสลับ DACs ในปัจจุบันสามารถทำได้น้อยมากเพราะพวกเขาต้องการทรานซิสเตอร์เพียงเล็กน้อย

3
อุณหภูมิต่ำสุด - นอกโลก?
ฉันเคยดูไมโครคอนโทรลเลอร์บางตัวและฉันเห็นว่าพวกเขามีอุณหภูมิการทำงานขั้นต่ำ "แปลก" เช่น -25 องศาหรือ -10 องศาเป็นต้น แต่ฉันไม่เข้าใจจริงๆว่าทำไมถึงมีค่าต่ำสุดสูงสุด ฉันเข้าใจเพราะทุกอย่างละลายและแตกสลายความต้านทานเพิ่มขึ้นทำให้สัญญาณอ่อนเกินไป แต่เมื่อคุณไปที่ด้านเย็น ทุกอย่างจะดีขึ้นเรื่อย ๆ ความต้านทานลดลงทุกอย่างมีเสถียรภาพมากขึ้น แต่กระนั้น ... อุณหภูมิการทำงานขั้นต่ำคือ -25 องศา ... ทำไมมันไม่เป็น 0 เคลวิน? เพราะฉันคิดเกี่ยวกับดาวอังคาร - โรเวอร์และดาวเทียมอื่น ๆ เมื่อพวกเขาอยู่หลังดวงอาทิตย์พวกเขาทำงานที่เกือบ 0-50 เคลวินพวกดาวอังคาร - โรเวอร์ ... ตามที่วิกิมันเย็นชาที่ -87 ° C (- 125 ° F) และนี่ยังคงหนาวเย็นกว่า -25 องศา ทุกคนช่วยอธิบายให้ฉันหน่อยได้ไหมว่าทำไมไมโครคอนโทรลเลอร์จึงมีอุณหภูมิในการทำงานต่ำสุด? ยิ่งละเอียดยิ่งดี

8
จะเลือกแพลตฟอร์ม MCU ได้อย่างไร [ปิด]
มีแพลตฟอร์ม MCU จำนวนมากและเมื่อมีคนคุ้นเคยกับพวกเขาพวกเขามักลังเลที่จะเปลี่ยนไปใช้แพลตฟอร์มอื่น คำถามของฉันคือ: หากมีใครเริ่มใช้ MCU สำหรับงานที่มีวัตถุประสงค์ทั่วไปในวันนี้ใครจะเลือกได้อย่างไร จุดขายที่เป็นเอกลักษณ์ของแพลตฟอร์มที่แตกต่างกันคืออะไร

5
ควรใช้ตัวต้านทานแบบพูลดาวน์และตัวต้านทานแบบดึงขึ้นเมื่อใด
หลังจากเรียนรู้และทดลองกับไมโครคอนโทรลเลอร์ฉันเข้าใจแนวคิดของตัวต้านทานแบบเลื่อนขึ้นและลง ตอนนี้ฉันเข้าใจเวลาและวิธีการใช้งานและวิธีการใช้งาน ฉันใช้ pull-ups เป็นส่วนใหญ่เพราะฉันถูกสอนมา แต่ดูเหมือนว่าจะย้อนกลับไปหาฉันเสมอเพราะการปิดสวิตช์ตั้งอินพุต MCU ให้เป็น LOW ฉันคิดว่ามันจะสมเหตุสมผลกว่าถ้าใช้ตัวต้านทานแบบดึงลงเพื่อให้อินพุตมีค่าต่ำเมื่อสวิตช์เปิด แต่นั่นเป็นเพียงวิธีคิดของฉัน ฉันควรดึงอินพุตอินพุตแบบโยนเดี่ยวขึ้นหรือลง เมื่อใดที่ต้องการการดึงลงมากกว่าการดึงขึ้นและกลับกัน

2
STM32 การทำความเข้าใจการตั้งค่า GPIO
ในไลบรารีอุปกรณ์ต่อพ่วง STM32 มาตรฐานเราจำเป็นต้องกำหนดค่า GPIO แต่มีฟังก์ชั่น 3 ตัวที่ฉันไม่แน่ใจว่าจะกำหนดค่าได้อย่างไร GPIO_InitStructure.GPIO_Speed GPIO_InitStructure.GPIO_OType GPIO_InitStructure.GPIO_PuPd ในGPIO_Speedมีการตั้งค่า 4 แบบให้เลือก GPIO_Speed_2MHz /*!< Low speed */ GPIO_Speed_25MHz /*!< Medium speed */ GPIO_Speed_50MHz /*!< Fast speed */ GPIO_Speed_100MHz ฉันจะรู้ได้อย่างไรว่าฉันจะเลือกความเร็วไหน มีข้อดีหรือข้อเสียในการใช้ความเร็วสูงหรือความเร็วต่ำหรือไม่? (เช่น: การใช้พลังงาน?) ในGPIO_OTypeมีการตั้งค่า 2 แบบให้เลือก GPIO_OType_PP // Push pull GPIO_OType_OD // Open drain จะรู้ได้อย่างไรว่าควรเลือกแบบไหน? และท่อระบายน้ำแบบเปิดและดันแบบดึงคืออะไร? ในGPIO_PuPdมีการตั้งค่า 3 แบบให้เลือก GPIO_PuPd_NOPULL …

5
เหตุใดสิ่งต่างๆเช่น RESET / MCLR จึงมีค่าต่ำใน IC ส่วนใหญ่
การประชุม? ง่ายต่อการใช้งานหรือไม่ เหตุผลอื่น ๆ? มีเหตุผลบางอย่างเช่น MCLR หรือ RESET บนตัวควบคุมไมโครคอนโทรลเลอร์ต่ำหรือไม่นั่นคือคุณต้องดึงมันลงมาเพื่อรีเซ็ต IC และดึงขึ้นมาเพื่อ "เรียกใช้" IC ฉันแค่อยากรู้อยากเห็นเพราะสิ่งนี้ทำให้ฉันมีปัญหาบางอย่าง ถ้ามันใช้งานได้สูงฉันสามารถหลีกเลี่ยงตัวเก็บประจุบน MCLR ที่จำเป็นในบางกรณีและจัดการกับตัวต้านทานแบบดึงลง ดูเหมือนว่าจะเพิ่มความซับซ้อนเท่านั้น

18
วันนี้มีไมโครคอนโทรลเลอร์ที่ดีมีอะไรบ้าง? [ปิด]
ฉันมีประสบการณ์กับการประกอบและการเขียนโปรแกรม C สำหรับไมโครคอนโทรลเลอร์ แต่ฉันไม่คุ้นเคยกับตระกูล MCU และ DSP ที่นำเสนอโดย บริษัท ในปัจจุบัน (เช่น: Texas Instruments, Atmel, Renesas) ฉันต้องการรู้เกี่ยวกับไมโครคอนโทรลเลอร์ที่ดี / DSP และสิ่งที่มันต้องการพัฒนากับพวกเขา โปรดสรุปความเข้าใจของคุณเกี่ยวกับตระกูล MCU / DSP ต่างๆหนึ่งตระกูลต่อหนึ่งคำตอบ มันจะน่าสนใจมากถ้าคุณบอกรายละเอียดว่าอะไรคือแอปพลิเคชันหลักสำหรับไมโครคอนโทรลเลอร์ (ese) นี้ (นี่คือ "community-wiki" ดังนั้นใครก็ตามที่มีชื่อเสียง> 100 ชื่อเสียงสามารถปรับแต่งและปรับปรุงคำตอบได้)

8
เหตุใดไมโครคอนโทรลเลอร์จึงมี RAM น้อยมาก
บางทีนี่อาจเป็นปัญหาของการรับรู้มากกว่า แต่ดูเหมือนว่าไมโครคอนโทรลเลอร์จะก้าวไปข้างหน้าอย่างก้าวกระโดดในช่วง 20 ปีที่ผ่านมาในเกือบทุกเรื่องความเร็วสัญญาณนาฬิกาที่สูงขึ้นอุปกรณ์ต่อพ่วงที่มากขึ้นการแก้จุดบกพร่องง่ายขึ้น ยังคงเป็นเรื่องปกติที่จะเห็น RAM ในช่วง 10 KB (16/32 KB) ดูเหมือนจะไม่เป็นปัญหาเรื่องราคาหรือขนาดโดยตรง มันเป็นปัญหาของความซับซ้อนกับตัวควบคุม RAM สูงกว่าเกณฑ์หรือไม่? หรือเป็นเพียงแค่ว่ามันไม่จำเป็นโดยทั่วไป? เมื่อมองดูส่วนของเมทริกซ์ที่ซัพพลายเออร์ทางอินเทอร์เน็ตที่ได้รับความนิยมฉันเห็นCortex M4หนึ่งตัวที่มีขนาด 256 KB น้อยกว่า US $ 8 และอีกไม่กี่ดอลลาร์คุณจะได้พบกับ ROMless อีกสองสามตัว แต่ดูเหมือนว่า ... ฉันไม่จำเป็นต้องมีไมโครคอนโทรลเลอร์ที่มีพื้นที่จัดเก็บข้อมูลระเหยได้ แต่ดูเหมือนว่าบางคนอาจจะ ...

8
ทำไมรีเลย์จึงขับเคลื่อนด้วยออปโตคัปเปลอร์?
ตั้งแต่การกำเนิดของบอร์ดพัฒนาไมโครคอนโทรลเลอร์จำนวนมากเช่น Arduino มีโมดูลรีเลย์จำนวนหนึ่งที่ขายให้กับโหลดไฟฟ้ากระแสสลับ สิ่งเหล่านี้ดูเหมือนจะใช้ออปโตคัปเปลอร์, ทรานซิสเตอร์ไดรเวอร์และรีเลย์เพื่อขับโหลด (ตัวอย่างบนAmazon ) เหตุใดพวกเขาจึงใช้งานเช่นนี้ บางส่วนของความคิดของฉัน: รีเลย์ให้การแยกที่ดีหรือดีกว่าออปโตคัปเปลอร์ส่วนใหญ่ ยังมีทรานซิสเตอร์ไดรเวอร์ปรากฏอยู่ดังนั้นจึงไม่ได้บันทึกส่วนประกอบ ยังคงมีการป้องกัน kickback อุปนัยดังนั้นจึงไม่ได้บันทึกองค์ประกอบ ออปโตคัปเปลอร์ไม่ได้ราคาถูกเหมือนทรานซิสเตอร์ดังนั้นค่าใช้จ่ายเพิ่มเติมเมื่อเทียบกับทรานซิสเตอร์ขับ ไม่จำเป็นต้องปฏิบัติตามข้อกำหนดใด ๆ เนื่องจากเป็นผลิตภัณฑ์ DIY ฉันไม่เคยเห็นรีเลย์ไฟขนาดเล็กขับเคลื่อนโดย optocouplers ในอุปกรณ์เชิงพาณิชย์ ดูเหมือนว่าบอร์ดเหล่านี้จำนวนหนึ่งจะไม่ได้รับการออกแบบอย่างยอดเยี่ยม (ไม่คำนึงถึงการกวาดล้างหรือการคืบหน้า) ดังนั้นแม้ว่า optocoupler นั้นสามารถแยกได้สองชั้น แต่บอร์ดก็ล้มเหลว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.