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

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

1
ฉันควรใช้ตัวต้านทานระหว่างพินอินพุตของ MCU / CPLD และ VCC / GND หรือไม่
บางครั้งฉันต้องการ MCU หรือ CPLD ของฉันเพื่อป้อนตรรกะคงที่ ดังนั้นฉันเลือกที่จะผูกมันกับ VCC หรือ GND ปัญหาคือฉันควรใส่ตัวต้านทานเป็นอนุกรมเพื่อ จำกัด กระแสหรือไม่? ฉันแค่คิดด้วยตัวเองซักพักแล้วรับคำตอบของตัวเอง: ไม่! ยกตัวอย่างเช่นใช้ STM32F103 ( แผ่นข้อมูล ) ในหน้า 86: จาก 'กระแสรั่วไหลของอินพุต' ฉันรู้ว่าเมื่อใช้ VDD ความต้านทานอินพุตมีอย่างน้อย 1 M ohm ดังนั้นฉันจึงไม่จำเป็นต้องมีตัวต้านทานในซีรีย์เพื่อ จำกัด กระแส มันสมเหตุสมผลหรือไม่

2
วิธีจัดการกับตัวต้านทานแบบดึงขึ้นหลายตัวในโมดูล
ฉันกำลังคิดที่จะทำโมดูลสำหรับคณะกรรมการพัฒนาที่ฉันทำเมื่อไม่กี่วันที่ผ่านมาซึ่งจะรวมถึงอินเตอร์เฟส spi / i2c ปัญหาคือฉันไม่ได้รวมตัวต้านทานแบบดึงขึ้นในหมุด MCU ในกระดานหลักและคิดที่จะเพิ่มพวกเขาในโมดูลเพื่อให้พวกเขา "ทั่วไป" มากขึ้นเพื่อให้ผู้ใช้ทุกคนสามารถใช้พวกเขาโดยไม่ต้องเพิ่มตัวต้านทานพิเศษใน บอร์ดต้นแบบ แต่แล้วฉันก็ประสบปัญหาต่อไป ถ้าฉันเพิ่มตัวต้านทานแบบดึงขึ้นในโมดูลพิเศษและฉันเชื่อมต่อตัวอย่างสองโมดูลขึ้นไปในบัสเดียวกันฉันจะได้ตัวต้านทานเหล่านั้นขนานกันดังนั้นความต้านทานจะลดลงและจะไม่ทำหน้าที่ของมันให้สำเร็จ แต่ถ้าฉันเพิ่มตัวต้านทานแบบดึงขึ้นลงในกระดานหลักฉันจะมีหมุดเหล่านั้นใน MCU อยู่ตลอดเวลาที่ใช้งานต่ำ ดังนั้นคำถามหลักคือ: วิธีการเชื่อมต่อโมดูลหลายตัวกับบัสเดียวกันที่มีตัวต้านทานแบบดึงขึ้นแต่ละตัว แต่ไม่ได้ต่อขนานกันเมื่อคุณมีมากกว่าหนึ่งโมดูล เป็นไปได้ไหม หรือทางออกที่ดีที่สุดที่นี่คือเปิดใช้งานตัวต้านทานแบบดึงขึ้นใน MCU และไม่รวมไว้ในโมดูลหรือไม่ Thanks.-

2
ขับ LED แถบจากไมโครคอนโทรลเลอร์
ฉันต้องการขับแถบ LED จากไมโครคอนโทรลเลอร์โดยใช้ PWM เพื่อควบคุมความสว่าง แถบที่ฉันใช้จะมีค่าประมาณ 1.5A ที่ 12V ฉันคุ้นเคยกับอิเล็กทรอนิคส์พลังงานต่ำเท่านั้นดังนั้นจึงต้องการตรวจสอบว่าสมมติฐานเหล่านี้ถูกต้องและรับคำแนะนำใด ๆ : - ถ้าฉันใช้ทรานซิสเตอร์ NPN เพื่อขับเคลื่อนสิ่งนี้ทรานซิสเตอร์เมื่อเปิดจะลดลงประมาณ 0.7v ดังนั้นจะกระจายไปมากกว่า 1 วัตต์เมื่อเปิด สิ่งนี้จะต้องใช้ทรานซิสเตอร์แบบชิ้นพอสมควรและชุดระบายความร้อนซึ่งฉันต้องการหลีกเลี่ยงถ้าเป็นไปได้ ดังนั้นฉันจะดีกว่าถ้าใช้ mosfet ที่มีความต้านทานต่ำกว่ามากดังนั้นฉันอาจจะสามารถหลบหนีได้ด้วยตัวที่เล็กกว่าและอาจจะไม่มีฮีทซิงค์? อย่างไรก็ตามการดูข้อมูลจำเพาะของ MOSFET ต่าง ๆ ที่ฉันสามารถซื้อได้ดูเหมือนว่าสิ่งใดก็ตามที่สามารถผ่านกระแสจำนวนนี้ต้องใช้มากกว่า 3.3v ฉันสามารถรับจากไมโครคอนโทรลเลอร์เพื่อเปิดใช้งานได้อย่างเต็มที่ ดังนั้นฉันควรที่จะมีทรานซิสเตอร์ NPN ขนาดเล็กสลับ 12v เป็นอินพุตของ mosfet เพื่อควบคุมแถบไฟ LED จริงหรือไม่? (ขออภัยฉันไม่สามารถวาดไดอะแกรมบนคอมพิวเตอร์นี้ แต่สามารถเพิ่มได้ในภายหลังหากจำเป็น) สมมติฐานของฉันถูกต้องและไม่มีใครมีคำแนะนำหรือวิธีที่ดีกว่า? ฉันยังสนใจคำแนะนำสำหรับชิ้นส่วนที่เหมาะสมแม้ว่าจะไม่ใช่คำถามหลักของฉัน (แก้ไข: ฉันมองหาโพสต์อื่นที่ตอบคำถามนี้และไม่พบสิ่งใดที่เป็นสิ่งที่ฉันต้องการถ้ามีคนมีลิงค์ไปยังรายการที่ซ้ำกันโปรดโพสต์และฉันจะปิดคำถามอย่างมีความสุข)

2
Raspberry Pi เป็นไมโครคอนโทรลเลอร์หรือแผงวงจรหลักหรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันมีคำถามอย่างรวดเร็วเกี่ยวกับ Raspberry Pi: มันเป็นไมโครคอนโทรลเลอร์หรือมาเธอร์บอร์ดหรือไม่? ดูเหมือนว่ามาเธอร์บอร์ด แต่เมื่อพิจารณาว่ามีหน่วยความจำและหน่วยประมวลผลเฉพาะของตัวเองมันควรจะเป็นไมโครคอนโทรลเลอร์

7
ทางเลือกในการใช้ EEPROM
อย่างที่ฉันเข้าใจ EEPROM เป็นส่วนหนึ่งของคอมพิวเตอร์ (ในกรณีของฉันคือไมโครคอนโทรลเลอร์ AVR) ซึ่งเก็บข้อมูลและเก็บไว้แม้ในขณะที่อุปกรณ์ปิดตัวลงอย่างสมบูรณ์ อนุญาตให้เขียนข้อมูลลงไปและอ่านจากมัน ปัญหาที่ฉันเห็นคือมีชีวิตที่ จำกัด และค่อนข้างสั้น กล่าวอีกนัยหนึ่งฉันสามารถอ่าน / เขียนจำนวนครั้งที่แน่นอนก่อนที่ฉันจะหมด EEPROM สิ่งที่ฉันกำลังมองหาคือวิธีการที่จะได้รับฟังก์ชั่นการทำงานเช่นเดียวกับ EEPROM แต่ในรูปแบบขนาดเล็ก ฉันคิดว่าฉันสามารถใช้การ์ด microSD ได้ แต่ฉันต้องการโซลูชันที่ไม่ต้องการให้ผู้ใช้ซื้อการ์ดหน่วยความจำ นอกจากนี้ฉันต้องการพื้นที่เพียงไม่กี่ไบต์เท่านั้น สมมุติว่า 1 kB ให้มีความอนุรักษ์มาก ๆ ฉันจะใช้จ่ายมากกว่าที่จำเป็นเพื่อรองรับการ์ดหน่วยความจำทุกประเภท ดังนั้นตัวเลือกของฉันคืออะไร มีวิธีแก้ไขปัญหา IC ทั่วไปที่จะทำให้ฉันสามารถจัดเก็บ / เรียกคืนข้อมูลชนิดนี้ได้โดยไม่ต้องมีอายุสั้นและมีค่าใช้จ่ายสูงหรือไม่?

1
ชิป dsPIC ทำงานที่ความเร็วปกติ
ฉันมี PCB สองแผ่น หนึ่งมี dsPIC30F6012a และอีกหนึ่ง dsPIC30F6015 ทั้งสองถูกโปรแกรมจากโครงการ HEX แยกต่างหากใน MPLAB X โดยใช้ PICkit 3 เฟิร์มแวร์ทั้งสองถูกนำไปใช้กับหลายสิบหน่วยก่อนถึงจุดนี้โดยไม่ยาก ปัจจุบันเฟิร์มแวร์ทำงานอย่างถูกต้องเมื่อตั้งโปรแกรมจากพีซีทุกเครื่อง แต่มีหนึ่งเครื่อง ในพีซีหนึ่งเครื่องที่เริ่มเมื่อวานนี้ทั้งโปรแกรมเฟิร์มแวร์ไม่มีข้อผิดพลาดที่เห็นได้ชัด แต่รันด้วยความเร็วปกติประมาณ 1/20 ก่อนหน้านี้เมื่อวานพีซีนั้นก็ตั้งโปรแกรมบอร์ดเหล่านี้โดยไม่มีปัญหา หน้าจอ Splash ใช้เวลาสองนาทีแทนที่จะเป็นห้าวินาทีไฟกระพริบช้ามากและนอกจากนี้ทุกอย่างทำงานได้อย่างถูกต้อง มันเกือบจะเหมือนกับว่าบิตการกำหนดค่า oscillator ได้รับการเปลี่ยนแปลง แต่ฉันไม่ทราบว่าจะมีที่ไหนใน MPLAB X ที่สามารถทำได้กับโครงการแบบสแตนด์อโลน ดังนั้นเฟิร์มแวร์ที่แตกต่างกันสองตัวบนชิปที่แตกต่างกันสองตัวในอินสแตนซ์ของการออกแบบ PCB เดียวกันหลายครั้งทำงานด้วยความเร็วที่แตกต่างกันขึ้นอยู่กับพีซีที่ใช้ในการเขียนโปรแกรมเท่านั้น จัดทำบอร์ดช้าบนพีซีที่ "ดี" ใหม่แก้ไขปัญหา ทำการตั้งโปรแกรมซ้ำอีกครั้งในบอร์ดเดียวกันบนพีซีที่ "เสีย" จะนำมันกลับมา สิ่งที่ฉันคิดได้ก็คือในพีซีเครื่องหนึ่งที่ใครบางคนกดปุ่ม "ทำให้มันช้า" แต่ฉันไม่พบสิ่งใดที่ระบุว่า (เทคโนโลยีของเรานั้นค่อนข้างสร้างสรรค์มาก) ตอนนี้ฉันกำลังถอนการติดตั้ง MPLAB X เช็ดการตั้งค่าผู้ใช้และติดตั้งเวอร์ชันที่ใหม่กว่า (เพิ่มจาก …

3
การใช้อินเตอร์รัปต์ภายนอกหลายรายการใน PIC
ฉันใช้PIC16F877( แผ่นข้อมูล ) สำหรับหลายโครงการ สำหรับการขัดจังหวะการเปลี่ยนพินภายนอกเดียวคุณสามารถใช้PORTB0อินเตอร์รัปต์ แต่ตอนนี้ฉันต้องการสนับสนุนการขัดจังหวะการเปลี่ยนพินภายนอก 8 อิสระในวงจรเดียว ในแผ่นข้อมูลมีข้อความระบุว่ามีอินเทอร์รัปต์ 15 รายการPIC16F877แต่ฉันเดาว่าจะนับรวมการขัดจังหวะตัวจับเวลาและอื่น ๆ ... ซึ่งไร้ประโยชน์ในกรณีนี้ นี่คือสิ่งที่แผ่นข้อมูลพูดเกี่ยวกับการINTCONลงทะเบียน ฉันสามารถใช้อินเทอร์รัปต์ 4 รายการโดยใช้ bit0 ได้RBIFหรือไม่ PB7:PB4มันหมายถึงการเปลี่ยนแปลงใน ฉันจะระบุพินที่เปลี่ยนแปลงได้อย่างไรโดยการอ่านค่าพอร์ตในรูทีนการขัดจังหวะ แม้ว่าฉันจะได้รับคำตอบในเชิงบวกจากข้างต้น แต่ฉันต้องการการขัดจังหวะ 8 ครั้ง แน่นอนฉันยังคงสามารถใช้INTEสำหรับPORTB0การเปลี่ยนแปลง ถ้าอย่างนั้น4 + 1 = 5อีก 3 คนล่ะ? (อย่างไรก็ตามการที่อินเตอร์รัปต์ทั้ง 8 เหตุการณ์นั้นเป็นประเภทเดียวกัน4 + 1 + 3 = 8สิ่งที่ดูน่าเกลียดใช่มั้ย) ไม่มีงานหนักอื่น ๆ ที่คาดหวังจากตัวควบคุมไมโครอื่น ๆ ที่ตรวจสอบ 8 พิน …

1
ฉันจะคำนวณ Joule Thief ได้อย่างไร
จูโจรเป็นแปลงขั้นตอนที่ขึ้นง่าย ๆ ที่คุณสามารถขับรถ 3.6V ไฟ LED กับแบตเตอรี่ 1.5V ถึงแม้ว่ามันจะเป็นค่าใช้จ่ายหยดสุดท้ายของชีวิตของมัน ประกอบด้วยทรานซิสเตอร์ทรานซิสเตอร์และตัวต้านทาน วงจรนี้ให้อภัยอย่างมากโดยเฉพาะอย่างยิ่งเกี่ยวกับจำนวนขดลวดของหม้อแปลง แต่ฉันสงสัยว่ามีวิธีการคำนวณแรงดันไฟฟ้าที่เกิดขึ้นอย่างแน่นอนหรือไม่ คงจะดีถ้าใช้แบตเตอรี่ 1.5V ตัวเก่าเพื่อจ่ายไฟให้กับไมโครคอนโทรลเลอร์ ฉันอ่านผู้คนที่รายงานว่าการเรียงลำดับจะรบกวนพฤติกรรมการสั่นของวงจร ไม่มีใครมีความรู้ในเชิงลึกของวงจรประเภทนี้? และเป็นไปได้หรือไม่ที่จะสร้างเสถียรภาพ 5 โวลต์เพื่อให้พลังงานแก่ไมโครคอนโทรลเลอร์? อัปเดต การสนทนาที่นี่ใกล้เคียงที่สุดที่ฉันสามารถหาได้และคำขอนั้นคล้ายกับของฉันมาก

3
สัญญาณนาฬิกา 30MHz ผ่านหลายบอร์ด
ฉันใช้ไดรเวอร์ LED TLC5945 ไมโครคอนโทรลเลอร์ (ฉันใช้LPC1343 ) ต้องจัดเตรียมนาฬิกาสำหรับตัวจับเวลา PWM / ตัวนับภายใน ความเร็วสัญญาณนาฬิกาสูงสุดที่อนุญาตคือ 30MHz ฉันจะมีบอร์ดหลายบอร์ดที่มี TLC5945 ไดเซชเชน บอร์ดจะเชื่อมต่อผ่านทางตัวเชื่อมต่อระหว่างบอร์ดหรือสายริบบอนแบบสั้นความกว้างของบอร์ดหนึ่งตัวคือ 10 ซม. ฉันจะเชื่อมต่อได้สูงสุด 4 คนในซีรีส์ อาจเป็นไปได้ว่าฉันจะไม่ใช้ 30MHz เต็มรูปแบบ แต่อย่างไรก็ตามฉันต้องการทำถูกต้อง - ฉันจะกำหนดเส้นทาง / สภาพสัญญาณนาฬิกาให้อยู่ในสภาพสมบูรณ์ได้อย่างไร ถ้าฉันเพิ่มบัฟเฟอร์เช่น 74HC245 ในผลลัพธ์ของบอร์ดทุกบอร์ดฉันจะได้รับความล่าช้า 10ns หลังจากบัฟเฟอร์ทุกครั้งฉันไม่ต้องการมัน ฉันควรใช้บัฟเฟอร์นาฬิกาแบบพิเศษ "zero delay" หรือไม่? ฉันควรใช้รูปแบบการเลิกจ้างแบบใด

1
การจำลองม้านั่งทดสอบอย่างง่ายด้วยแกน ROM สังเคราะห์
ฉันใหม่กับโลกของ FPGA อย่างสมบูรณ์และคิดว่าฉันจะเริ่มต้นด้วยโครงการที่ง่ายมาก: ตัวถอดรหัส 7 บิตแบบ 4 บิต รุ่นแรกที่ฉันเขียนอย่างหมดจดใน VHDL (โดยทั่วไปเป็น combinatorial เดียวselectไม่จำเป็นต้องใช้นาฬิกา) และดูเหมือนว่าจะทำงานได้ แต่ฉันก็อยากจะทดลองกับ "IP Cores" ใน Xilinx ISE ดังนั้นตอนนี้ฉันใช้ GUI "ISE Project Explorer" และฉันสร้างโครงการใหม่ด้วย ROM core รหัส VHDL ที่สร้างขึ้นคือ: LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- synthesis translate_off LIBRARY XilinxCoreLib; -- synthesis translate_on ENTITY SSROM IS PORT ( clka : …

1
วิธีการเชื่อมต่อกับไมโครคอนโทรลเลอร์แรงดันไฟฟ้าต่ำพิเศษ
Cypress มี PSoCs ซึ่งสามารถทำงานที่แหล่งจ่ายไฟ 0.5V ฉันสงสัยว่าคุณเชื่อมต่อสิ่งเหล่านี้อย่างไร 0.5V ต่ำเกินไปสำหรับ FETs และทรานซิสเตอร์สองขั้ว, LED และไดโอดทั่วไป ดังนั้นวิธีที่นี่เพื่อเชื่อมต่อ PSoC กับอุปกรณ์ต่อพ่วงได้อย่างไร พลังงานต่ำก็เป็นปัญหาเช่นกันที่นี่: มันไม่ช่วยว่า PSoC นั้นใช้พลังงานต่ำที่ 0.5V หากการเชื่อมต่อต้องการพลังงานมากกว่า 10 เท่า

4
ไมโครคอนโทรลเลอร์ตัวใดที่สามารถเชื่อมต่อโดยตรงกับพอร์ต USB
โดยพื้นฐานแล้วฉันแค่ต้องส่งข้อมูลบางอย่างไปยังไมโครคอนโทรลเลอร์ผ่าน USB จากนั้นไมโครโปรเซสเซอร์จะถอดรหัสข้อมูลและขับแถบไฟ LED ซึ่งทำงานที่ 5V ฉันมีปัญหาในการหาไมโครคอนโทรลเลอร์ที่เหมาะสมสำหรับงาน ไมโครคอนโทรลเลอร์เพียงแค่ต้องมีพอร์ตอนุกรม 2 พอร์ตสำหรับการสื่อสารแบบ USB, พอร์ตอนุกรมสองพอร์ตสำหรับการสื่อสารด้วยแถบ LED และสามารถใช้งานที่ 5V ดูเหมือนว่าไม่จำเป็นต้องมี IC เฉพาะสำหรับการสื่อสาร USB เมื่อทั้งหมดที่ฉันต้องการคือการตั้งค่าพอร์ต COM แบบอนุกรม ตัวอย่างเช่นต่อไปนี้เป็นตัวอย่างโค้ด Arduino ที่เขียนไบต์ไปยังแถบ LPD8806: void write8(uint8_t d) { for (uint8_t i=0; i<8; i++) { if (d & _BV(7-i)) digitalWrite(dataPin, HIGH); else digitalWrite(dataPin, LOW); digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW); } …

4
IDE ที่ดีที่สุดสำหรับไมโครคอนโทรลเลอร์ 32 บิตบน Linux
ฉันเลือกไมโครคอนโทรลเลอร์ 32 บิตเพื่อใช้ตัวกรองคาลมาน ฉันสนใจ Atmel Studio 6 IDE มาก อย่างไรก็ตามดูเหมือนว่าจะทำงานบน Windows เท่านั้น มีใครแนะนำ Linux IDE ที่ดีบ้างไหม? มิฉะนั้นฉันคิดว่าฉันจะไปกับ Atmel Studio 6 IDE ในเครื่องเสมือน ขอบคุณมากล่วงหน้า

5
ราสเบอร์รี่ PI โดยไม่มีระบบปฏิบัติการกับมัน?
เมื่อไม่นานมานี้ฉันได้ทำกับ Arduino มากมาย มันง่ายมากเพราะคุณสามารถรันโค้ด C ++ ได้โดยตรงโดยไม่จำเป็นต้องใช้ระบบปฏิบัติการหรือไดรเวอร์ ฉันได้ทำการค้นคว้าแล้วและ AFAIK คุณมักจะติดตั้ง Linux บน Raspberry PI และสร้างสคริปต์ไพ ธ อนหรือ C ++ ไบนารีในนั้น คำถาม: เป็นไปได้ไหมที่จะรันโค้ดบนมันโดยไม่มีระบบปฏิบัติการใด ๆ แต่ยังสามารถใช้การ์ด HDMI และ SD ได้?

1
ใช้ LED 7 ส่วน 4 หลัก
ฉันมีจอแสดงผล 7 ส่วนที่มีตัวเลข 4 หลัก ฉันจะต้องใช้อะไรกับสิ่งนี้ ไมโครคอนโทรลเลอร์ตัวเดียวสามารถจัดการการทำงานได้หรือไม่? ฉันหมายถึงPIC16F690 ... ฉันเห็นชิป MAXIM ที่ขับเคลื่อนจอแสดงผลประเภทนี้ ... จำเป็นหรือไม่ นี่คือรูปภาพจากแผ่นข้อมูลฉันไม่รู้ว่าทำไมถึงมีไดอะแกรม 2 ขา นี่คือลิงค์ไปยังแผ่นข้อมูล

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