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

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

7
จุด DMA ใน CPU ฝังตัวคืออะไร
ฉันเพิ่งทำโปรเจ็กต์กับ mbed (LPC1768) เมื่อเร็ว ๆ นี้โดยใช้ DAC เพื่อส่งสัญญาณคลื่นต่าง ๆ ฉันอ่านบางส่วนของแผ่นข้อมูลและพูดคุยกันว่า DMA มีอุปกรณ์ต่อพ่วงมากมายได้อย่างไร ดูเหมือนว่ามันจะมีประโยชน์ แต่จากการอ่านเพิ่มเติมฉันพบว่า DMA ใช้ดาต้าบัสเดียวกันกับซีพียู (ซึ่งฉันเดาว่าเป็นเรื่องปกติ) นี่หมายความว่า CPU ไม่สามารถโต้ตอบกับความทรงจำใด ๆ ในขณะที่ DAC กำลังรับข้อมูลหรือไม่ นอกจากนี้เนื่องจาก DAC ไม่มีบัฟเฟอร์ (เท่าที่ฉันสามารถบอกได้) และดังนั้นจึงต้อง DMA บ่อยมากประเด็นของ DMA คืออะไร หาก CPU ไม่สามารถทำธุรกรรมหน่วยความจำได้จะทำอะไรได้หรือไม่

4
การตรวจจับกระแสไฟฟ้า nA ถึง mA
ฉันต้องรู้สึกถึงกระแสของMCUเป้าหมายผ่านช่วงเวลาต่าง ๆ ของสถานะเปิด / ปิด / ปิดแล้วจึงต้องส่งข้อมูลนี้กลับไปยังอินเตอร์เฟส MCU อื่นเพื่ออ่านค่า พวกมันจะอยู่บนบอร์ดเดียวกันขับเคลื่อนโดย USB 5 V อย่างไรก็ตามสิ่งเหล่านี้เป็นข้อกำหนดที่ฉันมี: 5 V USB PSU จะต้องสามารถรับรู้กระแสในช่วง nA ถึง mA ด้วยความแม่นยำ / ความแม่นยำสูง (ฉันคิด 1 nA ถึง 500 mA) วัดกระแสของ MCU เป้าหมายเท่านั้นไม่ใช่อินเทอร์เฟซ ต้องเอาต์พุตสูงสุด 3.3 V อินเตอร์เฟส MCU ฉันได้ดูตัวเลือกที่มีและเครื่องขยายสัญญาณรับรู้ปัจจุบันโดย Texas Instruments ไม่สามารถรับรู้ nA เนื่องจากกระแสไบแอสที่สูงขึ้น ดังนั้นฉันรู้สึกว่าฉันต้องการแอมพลิฟายเออร์ที่แม่นยำ อย่างไรก็ตามฉันติดอยู่กับวิธีดำเนินการต่อเนื่องจากฉันต้องมีช่วงกระแสไดนามิกอัตโนมัติและฉันค่อนข้างใหม่ต่อการรับรู้ปัจจุบันและไม่แน่ใจในทุกรายละเอียด

2
ส่งสัญญาณ 5v ผ่านสายเคเบิลยาว
ฉันขอความช่วยเหลือจากที่นี่เพราะฉันต้องการคำตอบที่เชื่อถือได้ ฉันต้องการรับสัญญาณอินพุต (ความถี่ต่ำ5v digital pulse) ไปยังตัวควบคุมขนาดเล็กจากเซ็นเซอร์ (ความใกล้ชิด) ที่อยู่ในระยะห่างจากแผงควบคุม ฉันจะแยกแยะประเด็นที่สำคัญ ระยะทาง Tx สูงสุด: 50 ม ความถี่พัลส์ดิจิตอลสูงสุด: 10 Hz ช่วงแรงดันของเซ็นเซอร์: 5 ถึง 30 v (จะส่งแรงดันไฟฟ้าออกมาตามที่ให้มาด้วย) Max input to micro-controller: 5 v สำหรับแอปพลิเคชั่นที่เรียบง่ายคล้ายกันนี่คือสิ่งที่ฉันเคยทำมาก่อน เซ็นเซอร์นั้นมาพร้อมกับ 12 โวลต์ที่ปลายอีกด้านพัลส์ (ซึ่งปัจจุบันคือ 0-12 โวลต์) จะถูกป้อนไปยังไมโครคอนโทรลเลอร์ผ่านตัวควบคุม 7805 ใช้งานได้ดี แต่มีคนบอกฉันว่าวิธีการนี้ไม่ดีและไม่เหมาะกับการใช้งานที่เชื่อถือได้ ฉันก็รู้สึกว่ามันน่าเกลียด แต่ฉันไม่ได้คาดหวังว่าจะยุ่งกับฮาร์ดแวร์สร้างวงจรแยก ฯลฯ ฯลฯ ... ใครสามารถเสนอทางออกที่ดีกว่า (หรือเห็นด้วยกับฉัน: D) ฉันชอบมากถ้าฉันไม่ต้องสร้างวงจรใด ๆ …

6
จะอ่านแรงดันไฟฟ้าสูงบนไมโครคอนโทรลเลอร์ได้อย่างไร
ฉันต้องการอ่านแรงดันไฟฟ้าสูงเช่น ~ 50V โดยใช้ไมโครคอนโทรลเลอร์ ฉันวางแผนที่จะใส่สิ่งนี้เป็นอินพุตในบรรทัด A / D ของไมโครคอนโทรลเลอร์ แต่แน่นอนคุณไม่ควรมีแรงดันไฟฟ้าที่สูงในอินพุตของไมโครคอนโทรลเลอร์หรือมันจะทอด ฉันจะอ่านแรงดันไฟฟ้าสูงได้อย่างไร สิ่งสำคัญคือฉันต้องลดแรงดันไฟฟ้าลงก่อนอ่าน ฉันต้องพิจารณาอะไรบ้างเมื่อลดแรงดันไฟฟ้าลง ขอบคุณล่วงหน้า! แก้ไข: ฉันสังเกตเห็นในแผ่นข้อมูล PIC18 ที่ระบุว่า "ความต้านทานสูงสุดที่แนะนำสำหรับแหล่งสัญญาณอะนาล็อกคือ 2.5 kOhms" สิ่งนี้มีผลต่อวิธีที่ฉันลดระดับแรงดันไฟฟ้าไม่ว่าจะเป็นกับตัวต้านทานแบบแบ่ง ฯลฯ

10
โครงการประเภทใดที่สามารถช่วยวิศวกรซอฟต์แวร์ให้เป็นวิศวกรอิเล็กทรอนิกส์มากขึ้น [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเป็นนักพัฒนาซอฟต์แวร์ที่ไม่มีพื้นฐานด้านอิเล็กทรอนิคส์ แต่ฉันต้องการที่จะทำสิ่งนี้เพราะมันเกี่ยวข้องกับงานที่ฉันทำ (การพัฒนาระบบสาระบันเทิง) ฉันเป็นวิศวกรซอฟต์แวร์ไม่ใช่วิศวกรอิเล็กทรอนิกส์ดังนั้นพื้นหลัง / ประสบการณ์ของฉันมีส่วนเกี่ยวข้องกับการเขียนโปรแกรมระดับแอปพลิเคชันมากกว่าและอาจเป็นการเขียนโปรแกรมระบบ / เครือข่ายเล็กน้อย ฉันเคยได้ยินเกี่ยวกับ Arduino ว่าเป็นแพลตฟอร์มโปรเจ็กต์ที่มีความยืดหยุ่นและฉันสงสัยว่าโปรเจ็กต์ประเภทใดบ้างที่สามารถช่วยคนที่มีพื้นหลังของฉันขุดหาทางไปยังสาขาวิศวกรรมอิเล็กทรอนิกส์ ... เริ่มต้นด้วยการเขียนโปรแกรมไมโครคอนโทรลเลอร์ , zigbee, wifi, ออดิโอ, วิดีโอ, ฉันไม่รู้ ... อาจเป็นโครงการที่เป็นเรื่องปกติสำหรับวิศวกรอิเล็กทรอนิกส์ในระหว่างหลักสูตรของพวกเขา โดยรวมแล้วสิ่งที่ฉันกำลังมองหาสำหรับโครงการทั่วไป / เป็นที่นิยม (ทางวิชาการหรืออื่น ๆ ) ที่สามารถช่วยวิศวกรซอฟต์แวร์ในการพัฒนาทักษะวิศวกรรมอิเล็กทรอนิกส์ที่กำหนดในระดับซอฟต์แวร์

5
วิธีที่ง่ายและถูกที่สุดในการเชื่อมต่อกับ USB คืออะไร?
หากฉันต้องการสร้างอุปกรณ์อย่างง่ายที่สื่อสารกับคอมพิวเตอร์ของฉันได้ว่าสวิตช์ที่สามารถปิดเสียงคอมพิวเตอร์เมื่อเปิดและปิดและเสียบเข้ากับ USB สิ่งที่จะเป็นวิธีที่ประหยัดที่สุดและง่ายที่สุดในการทำสิ่งนี้

4
ความถี่ UART มีความสำคัญแค่ไหน?
ฉันกำลังจะใช้คริสตัลขนาด 8 MHz เพื่อใช้งานไมโครคอนโทรลเลอร์ของฉันที่ 16 MIPS (คำแนะนำ PLL 4x, 2 รอบ) อย่างไรก็ตาม 8 MHz ไม่ได้แบ่งเป็นความถี่ UART AFAIK ใด ๆ ... ความถี่ที่สำคัญเหล่านี้เป็นอย่างไร ฉันวางแผนที่จะใช้ 115,200 บอด UART สามารถวิ่งได้ภายใน± 1% หรือไม่? หากวิธีนี้ใช้ไม่ได้ฉันควรใช้ความถี่ใด (ฉันต้องการได้มากถึง 16 MIPS ให้มากที่สุดเพื่อความเร็วในการประมวลผลสูงสุด) หากเป็นเรื่องสำคัญฉันกำลังใช้ PIC24FJ64GA004

11
ฉันควรซื้อ Netduino หรือ Arduino
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันกำลังมองหาซื้อ NetDuino เพื่อรับงานอดิเรกสนุก ๆ ที่บ้าน มีผู้ใดบ้างที่ใช้มันและประสบการณ์ของคุณเป็นอย่างไรบ้าง ฉันควรจะดูช่วง Arduino หรือ FreeDuino แทน (หรือบางอย่างที่แตกต่างกันอย่างสิ้นเชิง)? ฉันตัดสินใจที่จะติดกับ NetDuino เนื่องจากความรู้ C # ของฉัน แต่นั่นไม่ใช่ข้อกำหนด ขอบคุณ PS ฉันไม่แน่ใจว่านี่เป็นของวิกิชุมชนหรือไม่

6
1 สายไมโครคอนโทรลเลอร์ที่ขับเคลื่อนด้วยปรสิต?
ฉันเคยเห็นเซ็นเซอร์ 1 สายของ Dallas แล้วพวกเขาดูดี แต่ฉันต้องการสร้างทาส 1 สายที่กำหนดเองซึ่งสามารถขับเคลื่อนได้เหมือนกาฝาก (แค่กราวด์ + ข้อมูล) ใครสามารถแนะนำไมโครคอนโทรลเลอร์ที่ใช้พลังงานต่ำซึ่งเหมาะสำหรับสิ่งนี้ ใครบ้างมีวงจรตัวอย่างสำหรับฉันจะพลังงาน MCU จากบัส 1 สายหรือไม่

17
คุณหวังว่าคุณจะรู้อะไรก่อนที่คุณจะเริ่มต้นใช้งานไมโครคอนโทรลเลอร์
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เมื่อทำงานกับไมโครคอนโทรลเลอร์ AVR หรือ Arduinos อะไรคือสิ่งที่ถ้าคุณรู้จักเร็วกว่านี้จะช่วยให้คุณประหยัดเวลาหรือความยุ่งยากได้มาก?

6
มัลติทาสกิ้งบนไมโครคอนโทรลเลอร์ PIC
มัลติทาสกิ้งมีความสำคัญในทุกวันนี้ ฉันสงสัยว่าเราจะประสบความสำเร็จในไมโครคอนโทรลเลอร์และการเขียนโปรแกรมแบบฝังตัวได้อย่างไร ฉันกำลังออกแบบระบบซึ่งใช้ไมโครคอนโทรลเลอร์ PIC ฉันได้ออกแบบเฟิร์มแวร์ใน MplabX IDE โดยใช้ C แล้วออกแบบแอปพลิเคชันสำหรับมันใน Visual Studio โดยใช้ C # เนื่องจากฉันคุ้นเคยกับการใช้เธรดในการเขียนโปรแกรม C # บนเดสก์ท็อปเพื่อใช้งานแบบขนานจึงมีวิธีทำเช่นเดียวกันในรหัสไมโครคอนโทรลเลอร์หรือไม่ MplabX IDE นำเสนอpthreads.hแต่มันเป็นเพียงส่วนที่ไม่มีการใช้งาน ฉันรู้ว่ามีการสนับสนุน FreeRTOS แต่การใช้ที่ทำให้โค้ดของคุณซับซ้อนยิ่งขึ้น บางฟอรัมบอกว่าการขัดจังหวะสามารถใช้เป็นการมัลติทาสกิ้งได้ แต่ฉันไม่คิดว่าการขัดจังหวะนั้นเทียบเท่ากับเธรด ฉันกำลังออกแบบระบบที่ส่งข้อมูลบางอย่างไปยัง UART และในขณะเดียวกันก็จำเป็นต้องส่งข้อมูลไปยังเว็บไซต์ผ่านทางอีเธอร์เน็ต (แบบใช้สาย) ผู้ใช้สามารถควบคุมเอาต์พุตผ่านเว็บไซต์ แต่เอาต์พุตจะเปิด / ปิดด้วยความล่าช้า 2-3 วินาที นั่นคือปัญหาที่ฉันเผชิญ มีวิธีการแก้ปัญหาสำหรับมัลติทาสกิ้งในไมโครคอนโทรลเลอร์หรือไม่?

3
บูตไมโครคอนโทรลเลอร์และการเริ่มต้นอย่างไรทีละขั้นตอน?
เมื่อเขียนรหัส C รวบรวมและอัปโหลดไปยังไมโครคอนโทรลเลอร์ไมโครคอนโทรลเลอร์จะเริ่มทำงาน แต่ถ้าเราใช้ขั้นตอนการอัพโหลดและเริ่มต้นทีละน้อยในแบบสโลว์โมชั่นฉันมีความสับสนเกี่ยวกับสิ่งที่เกิดขึ้นจริงภายใน MCU (หน่วยความจำ, CPU, bootloader) นี่คือสิ่งที่ฉันจะตอบถ้าใครบางคนถามฉัน: รหัสไบนารีที่คอมไพล์แล้วเขียนไปยังแฟลช ROM (หรือ EEPROM) ผ่าน USB Bootloader คัดลอกบางส่วนของรหัสนี้ไปยัง RAM หากเป็นจริงบูทโหลดเดอร์จะรู้วิธีการคัดลอก (ส่วนใดของ ROM ที่จะคัดลอกไปยัง RAM) CPU เริ่มดึงคำแนะนำและข้อมูลของรหัสจาก ROM และ RAM มันผิดหรือเปล่า? เป็นไปได้หรือไม่ที่จะสรุปกระบวนการบูทและเริ่มต้นด้วยข้อมูลบางอย่างเกี่ยวกับวิธีที่หน่วยความจำ bootloader และ CPU โต้ตอบในระยะนี้ ฉันได้พบคำอธิบายพื้นฐานมากมายเกี่ยวกับวิธีบู๊ตพีซีผ่าน BIOS แต่ฉันติดอยู่กับกระบวนการเริ่มต้นของไมโครคอนโทรลเลอร์

6
ทำไมต้องใช้ไมโครคอนโทรลเลอร์ใน FPGA
ฉันกำลัง "ตรวจสอบ" FPGAs สิ่งที่พวกเขาสามารถทำได้วิธีที่พวกเขาทำ ฯลฯ ในสถานที่มากกว่าหนึ่งแห่ง ( ตัวอย่างที่นี่ ) ฉันเคยเห็นโครงการที่ใช้ไมโครคอนโทรลเลอร์อย่างง่ายกับ FPGA ดังนั้นคำถามของฉัน: ฉันต้องการทราบว่าอะไรคือจุดประสงค์ของการดำเนินการดังกล่าว เหตุใดจึงใช้ไมโครคอนโทรลเลอร์ที่ติดตั้งใน FPGA แทนที่จะใช้ไมโครคอนโทรลเลอร์บนเครื่อง ประโยชน์คืออะไร และบางทียังมีข้อเสียคืออะไร?

1
การสร้างสัญญาณไซน์โดยใช้ PWM
เราไม่สามารถสร้างสัญญาณไซน์อย่างถูกต้องโดยใช้ไมโครคอนโทรลเลอร์MC68HC908GP32 คำอธิบาย PWM เริ่มต้นในหน้า 349 ความถี่สัญญาณนาฬิกา 2.4MHz ในขณะที่เราใช้ PWM 7 kHz โดยใช้ prescaler และตั้งค่าโมดูโลตัวจับเวลาเป็น 350 ดังนี้: T1SC = 0x60; // Prescaler: Div entre 64 //Counter modulo = 0x015E = 350 T1MODH = 0x01; // High T1MODL = 0x5E; // Low เอาต์พุต PWM เป็นตัวกรองโดยตัวกรอง RLC ต่อไปนี้จากนั้น DC จะถูกลบออกโดยใช้ซีรีส์ 1uF cap ความถี่คัตออฟอยู่ต่ำกว่า …
16 microcontroller  c  pwm 

4
ไมโครคอนโทรลเลอร์พร้อมสายยาวสำหรับอินพุตดิจิตอล
ฉันมีปุ่มออดในบ้านของฉันมีสายเป็นคณะกรรมการ GHI EMX dev ซอฟต์แวร์จะประเมินเวลาของวันและตัดสินว่าออดควรส่งเสียงหรือไม่ หมายเหตุด้านข้าง:สิ่งนี้ได้ถูกนำไปใช้เพื่อจัดการกับ pranks ding-dong-ditch ที่ฉันรับ ทั้งหมดนี้ใช้งานได้ดีมากยกเว้นปัญหาหนึ่งสายที่เชื่อมต่อกับบอร์ด EMX ยาวประมาณ 50 ฟุต (~ 15 เมตร) และสร้างสัญญาณรบกวนมากพอที่บอร์ดจะคิดว่ามีคนกดปุ่มและออดกริ่งของฉันจะดังขึ้นเป็นระยะ ๆ ตลอด วัน. ทั้งภรรยาและสุนัขของฉันไม่ชอบสิ่งนี้ (แต่เด็ก ๆ คิดว่ามันสนุกดี) ฉันได้ลองแก้ไขปัญหาโดยทำตามคำแนะนำที่พบในบทความนี้และใช้วงจรต่อไปนี้: สิ่งนี้ไม่ได้แก้ปัญหา แต่ฉันพบว่าการใส่ตัวต้านทาน 3k ใน 1k และแทนที่ตัวเก็บประจุ. 01uF ด้วย 40uF ทำงานได้ดีขึ้นเล็กน้อย แต่สิ่งที่มากกว่า 3k ทำให้เกิดความล่าช้าที่น่าสังเกตเมื่อกดปุ่มก่อน แหวนระฆัง ความแตกต่างสำหรับวงจรของฉันคือแผงวงจรทำงานบน 3.3V แทน 5V (ซึ่งฉันคิดว่าทำให้ปัญหาแย่ลง) และแทนที่จะเชื่อมต่อกับกราวด์สวิตช์จะทำวงจรให้เสร็จสมบูรณ์ (เช่นสองสายเชื่อมต่อระหว่างไมโครคอนโทรลเลอร์และสวิตช์) สายไฟที่วิ่งระหว่างสวิตช์และไมโครคอนโทรลเลอร์เป็นสายออดมาตรฐานซึ่งไม่ได้ป้องกันหรือบิด การแทนที่ลวดออดด้วยลวดที่หุ้มฉนวนนั้นน่าเสียดายที่ไม่ใช่ตัวเลือกเนื่องจากจะทำให้ฉันต้องถอด drywall …

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