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

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


16
C ++ เหมาะสำหรับระบบฝังตัวหรือไม่
คำถามทั่วไปที่นี่และที่อื่น ๆ C ++ เหมาะสำหรับระบบฝังตัวหรือไม่ ไมโครคอนโทรลเลอร์? RTOSes? เครื่องปิ้งขนมปัง? พีซีแบบฝัง? OOP มีประโยชน์กับไมโครคอนโทรลเลอร์หรือไม่ C ++ ลบโปรแกรมเมอร์ที่อยู่ห่างจากฮาร์ดแวร์มากเกินไปหรือไม่ C ++ ของ Arduino ควร (ที่ไม่มีการจัดการหน่วยความจำแบบไดนามิก, แม่แบบ, ข้อยกเว้น) ควรได้รับการพิจารณาว่าเป็น "C ++ จริง" หรือไม่? (หวังว่าวิกินี้จะใช้เป็นสถานที่บรรจุสงครามศักดิ์สิทธิ์ที่มีศักยภาพนี้)

5
ไมโครคอนโทรลเลอร์สามารถทำงานที่ความถี่สัญญาณนาฬิกาต่ำได้หรือไม่?
ตัวอย่างเช่นแผ่นข้อมูลสำหรับ ATTiny13A จะแสดงความถี่ขั้นต่ำเป็น 0 MHz นี่หมายความว่านาฬิกาสามารถทำงานที่ความถี่ต่ำโดยไม่มีกฎเกณฑ์ใด ๆ ได้หรือไม่? ฉันสมมติว่ามันดึงกระแสไฟฟ้าที่ต่ำกว่าด้วยความเร็วสัญญาณนาฬิกาที่ลดลง? 0 MHz หมายความว่าคุณสามารถหยุดนาฬิกาได้อย่างสมบูรณ์และตราบใดที่ยังคงมีการใช้พลังงานอยู่มันจะจดจำสถานะของมันได้อย่างไม่มีกำหนด?

10
ทำไมไม่มีไมโครโปรเซสเซอร์ 256 บิตหรือ 512 บิต?
ในไมโครโปรเซสเซอร์ 8 บิตบัสข้อมูลประกอบด้วย 8 สายข้อมูล ในไมโครโปรเซสเซอร์ 16 บิตบัสข้อมูลนั้นประกอบด้วยสายข้อมูล 16 เส้นและอื่น ๆ ทำไมถึงไม่มีไมโครโปรเซสเซอร์ 256 บิตหรือไมโครโปรเซสเซอร์ 512 บิต? ทำไมพวกเขาไม่เพียงเพิ่มจำนวนบรรทัดข้อมูลและสร้างไมโครโปรเซสเซอร์ 256 บิตหรือไมโครโปรเซสเซอร์ 512 บิต อะไรคืออุปสรรคในการป้องกันการสร้างไมโครโปรเซสเซอร์ 256 บิตหรือไมโครโปรเซสเซอร์ 512 บิต

6
อะไรคือความแตกต่างระหว่าง DSP และไมโครคอนโทรลเลอร์มาตรฐาน?
ฉันเข้าใจว่า DSP ได้รับการปรับให้เหมาะสำหรับการประมวลผลสัญญาณดิจิตอล แต่ฉันไม่แน่ใจว่าสิ่งนั้นส่งผลต่องานการเลือก IC เกือบทุกอย่างที่ฉันทำกับไมโครคอนโทรลเลอร์เกี่ยวข้องกับการประมวลผลสัญญาณดิจิตอล! ตัวอย่างเช่นลองเปรียบเทียบ Microchip dsPIC30 หรือ 33 DSP ยอดนิยมและข้อเสนอ 16 บิตอื่น ๆ ของพวกเขานั่นคือไมโครคอนโทรลเลอร์ PIC24 สำหรับใช้งานทั่วไป dsPIC และ PIC สามารถกำหนดค่าให้มีหน่วยความจำและความเร็วเท่ากันมีชุดอุปกรณ์ต่อพ่วงที่คล้ายกันความสามารถ A / D ที่คล้ายกันจำนวนพินการจับกระแสในปัจจุบันและอื่น ๆ ความแตกต่างที่สำคัญที่ปรากฏในรายการของ Digikey คือตำแหน่งของ ออสซิล ฉันไม่สามารถบอกความแตกต่างได้โดยดูที่ราคา (หรือสาขาอื่น ๆ สำหรับเรื่องนั้น) ถ้าฉันต้องการทำงานกับเซ็นเซอร์ภายนอกสองตัวโดยใช้โปรโตคอลต่าง ๆ (I2C, SPI, ฯลฯ ) ทำการแปลง A / D เก็บข้อมูลบางส่วนบนแฟลชอนุกรมบางตัวตอบสนองต่อปุ่มบางปุ่มและส่งข้อมูลไปที่ตัวอักษร LCD และ FT232 …

11
เป็นวิธีที่ถูกที่สุดในการเชื่อมไมโครคอนโทรลเลอร์สองสามตัวแบบไร้สายด้วยความเร็วต่ำในระยะทางสั้น ๆ
เป็นวิธีที่ถูกที่สุดในการเชื่อมไมโครคอนโทรลเลอร์สองสามตัวแบบไร้สายด้วยความเร็วต่ำในระยะทางสั้น ๆ ฉันกำลังมองหาเพื่อให้มันถูกพิเศษใช้ชิ้นส่วนที่ไม่ต่อเนื่องทั่วไปและทำให้มันมีขนาดเล็ก ฉันไม่สนใจวงดนตรีและการออกใบอนุญาตตราบใดที่มันใช้งานได้ 802.15.4 / ZigBee, Bluetooth และ WiFi ล้วนต้องการตัวประมวลผลร่วมที่มีราคาแพงดังนั้นจึงไม่ใช่ตัวเลือก อีกวิธีหนึ่งมีโมดูลวิทยุราคาถูกมากสำหรับมือสมัครเล่นหรือไม่? สิ่งที่คุณพบในรถยนต์ keyfobs และเครื่องวัดอุณหภูมิแบบไร้สายอาจ? การสร้างตัวรับส่งสัญญาณอย่างง่าย ๆ บน PCB ของ homebrew นั้นใช้งานได้จริงหรือฉันจะถูกรบกวนโดยการจูนการรบกวนและสิ่งอะนาล็อกแปลก ๆ สิ่งนี้จะถูกผลักดันจากไมโครคอนโทรลเลอร์หรือไม่? เกี่ยวกับการรับ

11
ทุกคนสามารถใช้ไมโครคอนโทรลเลอร์ที่มีหน่วยความจำของโปรแกรมเพียง 384 ไบต์ได้อย่างไร
ยกตัวอย่างเช่นPIC10F200T รหัสใด ๆ ที่คุณเขียนจะมีขนาดใหญ่กว่านั้นยกเว้นว่าเป็นชิปวัตถุประสงค์เดียว มีวิธีใดบ้างที่จะโหลดหน่วยความจำโปรแกรมเพิ่มเติมจากที่เก็บข้อมูลภายนอก ฉันแค่อยากรู้อยากเห็นฉันไม่เห็นว่าสิ่งนี้จะมีประโยชน์มาก ... แต่มันต้องเป็น

8
ทำไม FPGA จึงไม่แพร่หลาย
การอ่านเกี่ยวกับ FPGA ถ้าฉันเข้าใจถูกต้องพวกมันเป็นวงจรลอจิกเกทที่สามารถกำหนดค่าได้อย่างสมบูรณ์ เมื่อเป็นเช่นนี้เราสามารถออกแบบอะไรก็ได้กับพวกเขา เราสามารถออกแบบทุกอย่างด้วยวิธีที่กำหนดเองมากที่สุดเท่าที่จะเป็นไปได้ด้วยเหตุนี้จึงมีจุดประสงค์เดียวกันในลักษณะที่มีประสิทธิภาพมากกว่าซึ่งสามารถใช้ไมโครคอนโทรลเลอร์ การมีสิ่งนี้ดูเหมือนว่า FPGA จะเต้นไมโครคอนโทรลเลอร์ได้ทุกเวลาทุกวัน ดังนั้นคำถามของฉันคือถ้า FPGAs มันยอดเยี่ยมจริง ๆ สิ่งที่ป้องกันไม่ให้พวกเขาแพร่หลายมากไปกว่าไมโครคอนโทรลเลอร์? จากมุมมองนี้สำหรับฉันดูเหมือนว่า FPGA ควรกำจัดไมโครคอนโทรลเลอร์ออกไปนานแล้ว เหตุใดจึงไม่เป็นเช่นนี้? ค่าใช้จ่ายความยากในการเขียนโปรแกรม FPGA หรืออย่างอื่นทั้งหมดหรือไม่

5
ชิปใดทอดชิปเมื่อคุณสลับแหล่งจ่ายไฟ
จากประสบการณ์ของฉันเองการเขียนไมโครคอนโทรลเลอร์เป็นเรื่องง่าย ใส่ 5V ลงไปที่พื้น GND ที่ V CCและทันทีที่ชิปของคุณถูกไฟไหม้ อะไรคือสิ่งที่เกิดขึ้นภายในที่ทำให้มันหยุดทำงานอย่างสมบูรณ์? ตัวอย่างเช่นหากฉันสามารถเปิดชิปและจัดการการเชื่อมต่อเซมิคอนดักเตอร์ทั้งหมดอย่างน่าอัศจรรย์และแก้ไขได้ฉันจะต้องดูที่ไหนและฉันต้องทำอย่างไร หากนี่เป็นเฉพาะชิปโปรดเลือกรายการใดก็ได้ที่สามารถตอบคำถามของฉันหรือเสนอแนวคิดให้ฉันเป็นอย่างน้อย

6
MOSFET จะเหมาะสมกว่าสวิตช์มากกว่าเมื่อใด
ในการทดลองของฉันฉันใช้เพียง BJT เป็นสวิตช์ (สำหรับการเปิดและปิดสิ่งต่าง ๆ เช่น LED และเช่นนั้น) สำหรับเอาต์พุต MCU ของฉัน ฉันได้รับการบอกเล่าซ้ำ ๆ ว่า MOSFET โหมดเพิ่มประสิทธิภาพ N-channel เป็นตัวเลือกที่ดีกว่าสำหรับสวิตช์ (ดูตัวอย่างที่นี่และที่นี่ ) แต่ฉันไม่แน่ใจว่าฉันเข้าใจว่าทำไม ฉันรู้ว่า MOSFET ไม่มีของเสียที่ประตูที่ฐานของ BJT ทำ แต่นี่ไม่ใช่ปัญหาสำหรับฉันเนื่องจากฉันไม่ได้ใช้แบตเตอรี่ MOSFET ยังไม่ต้องการตัวต้านทานแบบอนุกรมที่มีเกท แต่โดยทั่วไปแล้วจำเป็นต้องมีตัวต้านทานแบบเลื่อนลงเพื่อให้เกทไม่ลอยเมื่อรีบูต MCU (ใช่ไหม) ไม่มีการลดจำนวนชิ้นส่วนลง ดูเหมือนจะไม่มีส่วนเกินที่ยอดเยี่ยมของ MOSFET ระดับตรรกะที่สามารถเปลี่ยนกระแสที่ BJT ราคาถูกสามารถ (~ 600-800mA สำหรับ 2N2222 เป็นต้น) และที่มีอยู่ (ตัวอย่างเช่น TN0702) หายากและแพงกว่ามาก MOSFET เหมาะสมกว่า BJT …

9
RTOS สำหรับระบบฝังตัว
ฉันได้เห็นบทความมากมายที่บอกฉันว่าฉันควรใช้ RTOS สำหรับการจัดการเวลาและการจัดการทรัพยากร เวลาของฉันไม่ได้รับอนุญาตให้ทำการวิจัยของฉันเองดังนั้นฉันจึงไปหาชิปเพื่อขอคำแนะนำ ฉันใช้ไมโครคอนโทรลเลอร์ทรัพยากรต่ำ (MSP430, PIC) และกำลังมองหา RTOS ที่ฉันสามารถใช้ได้ ตรงประเด็น: ต้นทุนทรัพยากรของระบบ ข้อดีของระบบ ข้อเสียของระบบ เคล็ดลับการใช้งาน สถานการณ์ที่ RTOS ควร / ไม่ควรใช้ ฉันไม่ได้ใช้ระบบเช่น arduino โครงการที่ฉันทำงานด้วยไม่สามารถรองรับค่าใช้จ่ายของระบบดังกล่าวได้

3
ตัวโหลดบูตคืออะไรและฉันจะพัฒนาได้อย่างไร
ฉันได้พบกับโปรเจคหลายตัวที่ใช้คอนโทรลเลอร์ไมโครคอนโทรลเลอร์ AVR กับ bootloader (เช่น Arduino) แต่ฉันไม่เข้าใจแนวคิดที่ดีนัก ฉันจะสร้าง bootloader (สำหรับไมโครคอนโทรลเลอร์ใด ๆ ) ได้อย่างไร หลังจากเขียน bootloader ของฉันแล้วมันถูกโปรแกรมไปยังไมโครคอนโทรลเลอร์ (เช่นโปรแกรม. hex ใด ๆ ที่เผาไหม้บนแฟลชรอมของ AVR หรือวิธีอื่น ๆ )?

5
ฉันสามารถตัด IC ได้ไหม
เท่าที่ฉันเข้าใจความตายของแพคเกจกรมทรัพย์สินทางปัญญาตั้งอยู่ที่ศูนย์และส่วนที่เหลือเป็นเพียงกรอบนำ ระบุว่าฉันมีพินที่ไม่ได้ใช้ฉันสามารถตัดส่วนบนของไมโครคอนโทรลเลอร์ ( ATmega16 / 32 ) นี้ได้หรือไม่? มันจะยังคงทำงานภายหลังหรือไม่ แก้ไข:ขอบคุณสำหรับคำตอบทั้งหมด ฉันได้ตระหนักว่าการตัด IC เป็นกระบวนการที่ละเอียดอ่อนและมีความเสี่ยงสูงต่อการทำลายชิป แต่ฉันได้ทำมันแล้วใบมีดเฉือนทำงานได้ดี ฉันตัดสินใจเลือกพินที่ต่ำกว่า 3 อันแทนอันที่สูงกว่าเนื่องจากอยู่ห่างจากตัวเชื่อมต่อ ISP นี่คือภาพของผลลัพธ์สุดท้าย (แพคเกจ DIP-34 ใหม่ของฉันใช้งานได้ดี):

5
การเขียนโปรแกรมไมโครคอนโทรลเลอร์: JTAG, SPI, USB oh my !?
ฉันสังเกตเห็นว่าไมโครคอนโทรลเลอร์มีหลายวิธีในการตั้งโปรแกรม ฉัน sorta คุ้นเคยกับ USB เพราะ Arduino ของฉันสามารถตั้งโปรแกรมผ่าน USB ได้ อินเตอร์เฟส JTAG หรือ SPI คืออะไร ในที่สุดฉันก็รู้ว่าอินเทอร์เฟซเหล่านี้มีวิธีการแฟลชชิปด้วยคำแนะนำใหม่ แต่พวกเขาแตกต่างกันอย่างไร มีข้อได้เปรียบของอีกคนหนึ่งหรือไม่?

3
ดันดึง / เปิดท่อระบายน้ำ; ดึงขึ้น / เลื่อนลง
ฉันกำลังอ่านแผ่นข้อมูลของชิป ARM Cortex โดยเฉพาะบท GPIO ในที่สุดฉันต้องการกำหนดค่าหมุด GPIO ต่างๆเพื่อใช้ในโหมด "ฟังก์ชันสำรอง" สำหรับการอ่าน / เขียนการเข้าถึง SRAM จากการลงทะเบียน GPIO ทั้งหมดที่มีอยู่ฉันไม่เข้าใจสิ่งที่สอง: GPIO_PUPDRและGPIO_OTYPEซึ่งตามลำดับคือ "pull-up / pull-down register" และ "register type output" สำหรับGPIO_PUPDRฉันมีสามทางเลือก: ไม่มีการดึงขึ้นหรือดึงลง ดึงขึ้น ดึงลงมา สำหรับGPIO_0TYPEฉันมีสองทางเลือก: เอาท์พุทดึง เอาท์พุทเปิดท่อระบายน้ำ ความแตกต่างระหว่างการกำหนดค่าที่แตกต่างกันทั้งหมดและสิ่งใดจะเหมาะสมที่สุดสำหรับการสื่อสาร SRAM เอกสารสำหรับคณะกรรมการที่ฉันทำงานอยู่สามารถดูได้ที่นี่ (ดูหน้า 24 สำหรับแผนงาน SRAM) คู่มืออ้างอิงสำหรับชิป ARM มีอยู่ที่นี่ (ดูหน้า 145 และ 146 สำหรับการลงทะเบียน GPIO)

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