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

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

4
เมื่อใดควรใช้คริสตัลภายนอกสำหรับ MCU นี้เนื่องจากออสซิลเลเตอร์ภายในนั้นเร็วกว่ามาก?
ฉันกำลังดูMCU นี้และสงสัยว่ามันสมเหตุสมผลหรือไม่ที่จะใช้คริสตัลภายนอก แยกจากแผ่นข้อมูล pg1 * การจัดการนาฬิกา - คริสตัลออสซิลเลเตอร์ 4 ถึง 32 MHz - ออสซิลเลเตอร์ 32 kHz สำหรับ RTC พร้อมการสอบเทียบ - ภายใน 8 MHz RC พร้อมตัวเลือก x6 PLL - ออสซิลเลเตอร์ภายใน 40 kHz - ออสซิลเลเตอร์ภายใน 48 MHzพร้อมระบบตัดแต่งอัตโนมัติตาม ext. ประสาน * ออสซิลเลเตอร์ภายในสามารถสูงสุด 48Mhz คริสตัลภายนอกอยู่ระหว่าง 4 - 32 Mhz เหตุใดจึงต้องใช้คริสตัลภายนอกเมื่อชิ้นส่วนภายในเร็วกว่า 48Mhz เนื่องจากคริสตัลภายนอกใช้เงินและใช้พื้นที่ เมื่อใดควรใช้คริสตัลภายนอก

4
จะเกิดอะไรขึ้นเมื่อไมโครคอนโทรลเลอร์หมด RAM
อาจเป็นเรื่องบังเอิญ แต่ฉันสังเกตเห็นว่าไมโครคอนโทรลเลอร์ใช้การรีบูตเมื่อ RAM หมด (Atmega 328 ถ้าฮาร์ดแวร์เฉพาะ) นั่นคือสิ่งที่ไมโครคอนโทรลเลอร์ทำเมื่อหน่วยความจำไม่เพียงพอ? ถ้าไม่เกิดอะไรขึ้น ทำไม / อย่างไร ตัวชี้สแต็กจะเพิ่มขึ้นอย่างแน่นอนในช่วงหน่วยความจำที่ไม่ได้จัดสรร (หรือย้อนกลับ) แต่เกิดอะไรขึ้นแล้ว: มีการป้องกันบางอย่างที่ทำให้มันรีบูทหรือเป็นผลมาจากการเขียนทับวิกฤต ข้อมูล (ซึ่งฉันคิดว่าแตกต่างจากรหัสที่ฉันคิดว่าเรียกใช้โดยตรงจากแฟลช) ฉันไม่แน่ใจว่าสิ่งนี้ควรอยู่ที่นี่หรือบน Stack Overflow โปรดแจ้งให้เราทราบว่าควรย้ายสิ่งนี้หรือไม่แม้ว่าฉันค่อนข้างแน่ใจว่าฮาร์ดแวร์มีบทบาทในเรื่องนั้น ปรับปรุง ฉันควรชี้ให้เห็นว่าฉันสนใจกลไกที่แท้จริงที่อยู่เบื้องหลังความเสียหายของหน่วยความจำ (มันเป็นผลมาจากการที่ SP พลิก -> นั้นขึ้นอยู่กับการจับคู่หน่วยความจำของ uC เป็นต้น) หรือไม่?

4
คอนโทรลเลอร์ทราบได้อย่างไรว่าจะข้ามไปยัง ISR เมื่อใด
ฉันกำลังพูดถึงสิ่งต่าง ๆ ในระดับแกนกลาง เท่าที่ฉันเข้าใจแกนควบคุมเพียงแค่รันคำสั่งที่ดึงมาจากหน่วยความจำ (Fetch - Decode - Execute) เมื่อมีอินเทอร์รัปต์มาถึงแกนประมวลผล / ALU จะตัดสินใจข้ามไปยัง ISR อย่างไร เนื่องจากเราหรือผู้แปลไม่ได้เพิ่มคำสั่งใด ๆ ในการสำรวจสถานะขัดจังหวะ - แล้วจะทราบได้อย่างไรว่าต้องมีการขัดจังหวะ

1
ตำแหน่ง / ตำแหน่งของตัวต้านทานแบบดึงขึ้น / ดึงลง?
ฉันได้เชื่อมต่อไมโครคอนโทรลเลอร์ GPIO พินซึ่งมีจุดประสงค์เพื่อส่งออกไปยังEnableอินพุทขาสูงที่ใช้งานของตัวแปลง DC-DC เนื่องจากพินนี้ทำงานสูงและเนื่องจากฉันไม่ต้องการให้ตัวแปลงนี้ทำงานที่กำลังไฟขึ้นหรือก่อนที่จะต้องใช้งานฉันจึงใช้ตัวต้านทานแบบดึงลงบนบรรทัดนี้เพื่อปิดการใช้งาน ฉันสับสนเล็กน้อยว่าตัวต้านทานแบบดึงลงนี้ควรอยู่ที่ใด ควรวางไว้ใกล้กับ GPIO หรือEnableพินหรือไม่? คำถามเดียวกันสำหรับตัวต้านทานแบบดึงขึ้นในกรณีที่Enableมีการใช้งานต่ำและฉันต้องใช้การดึงขึ้นบนเส้น

2
การวัดค่าเฉลี่ยปัจจุบันด้วย uC และปัดปัจจุบัน
นี่คือโพสต์แรกของฉัน ฉันเป็นคนที่แต่งตัวประหลาดซอฟต์แวร์พยายามที่จะทำฮาร์ดแวร์ดังนั้นอ่อนโยน :) วงจรไฟฟ้า ฉันกำลังออกแบบวงจรขนาดเล็ก (ดูรูปและขออภัยสำหรับแผนผังที่ยุ่งเหยิง) ที่เรียบง่ายและเรียบง่ายเป็นมอสเฟตต์และตัวขับเกตที่ออกแบบมาเพื่อสลับโหลดตัวต้านทาน (แผ่นความร้อนในกรณีนี้) จากไมโครคอนโทรลเลอร์ องค์ประกอบความร้อนมักจะมีความต้านทานต่ำมากและเพื่อรักษาพลังงานในระดับที่ต้องการ MOSFETS จะเปลี่ยนโดยใช้ PWM การวัด นอกจากด้านการใช้งานอย่างหมดจดแล้วยังมีจุดเน้นด้านการศึกษาอีกด้วย ฉันต้องการที่จะได้รับข้อเสนอแนะเกี่ยวกับการบริโภคในปัจจุบัน และวิธีการที่ไร้เดียงสาของฉันคือเพียงแค่โยนเซ็นเซอร์ IC ตัวปัดปัจจุบันบางตัว เมื่อใช้มัลติมิเตอร์เพื่อวัดแรงดันเอาต์พุตจากเซ็นเซอร์ฉันได้รับบางสิ่งที่ดูเหมือนกระแสเฉลี่ย (ด้วยการสลับ PWM) เนื่องจาก "ความช้า" ของแอมป์มิเตอร์ แต่เมื่อเชื่อมต่อเอาต์พุตเดียวกันกับ atmega328p ADC ฉันได้รับการอ่านที่ไม่ดี - ความเร็วที่นี่ทำให้การอ่านที่ใดก็ได้บนคลื่นสี่เหลี่ยม PWM ดังนั้นคำถามของฉันคือฉันจะไปเกี่ยวกับการวัดกระแส (เฉลี่ย) เมื่อสลับกับ PWM ได้อย่างไร ดูเหมือนว่าการออกแบบจะใช้ได้ แต่ฉันอาจพลาดบางสิ่งทั้งในการออกแบบและวิธีใช้ uC ADC ในบริบทนี้

2
การใช้ไมโครคอนโทรลเลอร์เพื่อเปิดแถบ LED
ฉันมี 60 ไฟ LED ที่มาในแถบนำ ความยาวหนึ่งเมตรของแถบไฟ led ต้องการดังต่อไปนี้: 400 milliamps 12 โวลต์ ฉันต้องการควบคุม LED เหล่านี้ด้วยไมโครคอนโทรลเลอร์ ฉันกำลังคิดที่จะใช้TIP120และ raspberryPi raspberryPi GPIO ขาสามารถส่งออก 50 มิลลิแอมป์อย่างต่อเนื่อง (อัปเดต: นี่ไม่เป็นความจริงดูด้านล่าง) ฉันเป็นผู้เริ่มต้นและฉันไม่แน่ใจว่าฉันทำอย่างถูกต้อง การคำนวณทั้งหมดของฉันนั้นอ้างอิงจากสิ่งที่ฉันอ่านในบล็อกนี้ คณิตศาสตร์ ฐานปัจจุบัน: TIP120 มีกระแสไฟสะสม lc = 250 * lb ดังนั้นฉันต้องใช้กระแสไฟฟ้าพื้นฐาน 1.6 mA (1.6mA * 250 = 400) raspberryPi ไม่ควรมีปัญหากับ Base current ตัวต้านทานฐาน: ฉันต้องการตัวต้านทานต่ำพอที่จะให้แน่ใจว่าฐาน TIP120 …

3
ไมโครคอนโทรลเลอร์ที่ใช้ ARM พร้อม WiFi ในตัวหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับการแลกเปลี่ยนกองวิศวกรรมไฟฟ้า ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังมองหา SoC ราคาถูกที่ใช้ ARM ในตัวพร้อม WiFi ในตัวลองใช้เสิร์ชเอ็นจิ้นต่าง ๆ และยังหาตำแหน่งไม่เจอ ฉันต้องการที่จะรู้ว่าถ้าใครรู้ของอุปกรณ์ดังกล่าวที่มีตัวควบคุม WiFi ในตัวที่ต้องการเพียงและเสาอากาศภายนอก ฉันอาจเลือกสถาปัตยกรรมอื่นที่ไม่ใช่ ARM แต่ฉันอยากจะอยู่กับสถาปัตยกรรม CPU ที่ฉันมีสภาพแวดล้อมการพัฒนา SW ที่ใช้งานได้อยู่แล้ว ---- อัปเดตวันที่ 27 กรกฎาคม ----- ฉันได้พบอุปกรณ์ที่มี ARM Cortex M3 บวกกับอินเทอร์เฟซ WiFi ชื่อImpพวกเขากำลังขายตัวแบ่งนอกบ้านขนาดเล็กพร้อม IC ของพวกเขาที่นี่ http://smartmaker.com/en/home/602-electric-imp-002.html ปัญหาเกี่ยวกับสิ่งนี้คือการสื่อสารทั้งหมดกับอุปกรณ์นั้นจะต้องผ่านเซิร์ฟเวอร์ของพวกเขา ตอนนี้คำถามคือหากมี บริษัท อื่น ๆ ที่มีผลิตภัณฑ์ดังกล่าวที่มีอินเตอร์เฟซแบบเปิดมากกว่าหนึ่งปิดเช่น Imp! Update 2 …

2
1 MHz เร็วแค่ไหน?
ความเร็ว 1 MHz ในไมโครคอนโทรลเลอร์ AVR เป็นอย่างไร จริง ๆ แล้ว 1,000,000 Hz หรือเป็น 1,048,576 Hz (1,024 Hz * 1,024)?

4
พินแต่ละพอร์ตที่แตกต่างกันของไมโครคอนโทรลเลอร์สามารถแมปกับรีจิสเตอร์และค่าของมันจะเปลี่ยนไปเมื่อทำการเปลี่ยนค่ารีจิสเตอร์หรือไม่?
ถาม: สามารถแมปพินแต่ละพอร์ตของไมโครคอนโทรลเลอร์แต่ละตัวเข้ากับรีจิสเตอร์และเปลี่ยนค่าได้หรือไม่เมื่อเปลี่ยนค่ารีจิสเตอร์? สถานการณ์สมมติ: ฉันใช้พินมากขึ้นจากแต่ละพอร์ต (8 บิต) ของไมโครคอนโทรลเลอร์ ตอนนี้ฉันต้องการเชื่อมต่ออุปกรณ์ที่ต้องการบัส 8 บิต (สมมติว่า D0 ถึง D7 IN SEQUENCE) กล่าวคือฉันต้องการ 8 พินจากคอนโทรลเลอร์เพื่อให้สามารถเชื่อมต่อได้ในแบบหนึ่งต่อหนึ่ง portx0 -> D0 // x is the name of port followed by bit location on that port portx1 -> D1 ... portx7 -> D7 แต่ฉันไม่มีพอร์ตทั้งหมด 8 พินซึ่งฉันสามารถเชื่อมต่อกับอุปกรณ์นี้ได้ แต่ฉันมีพินบางตัวจากพอร์ทเอ็กซ์บางตัวมาจากพอร์ทและบางพินจากพอร์ทซ สถานการณ์การเชื่อมต่อใหม่เป็น (การเชื่อมต่อจากไมโครคอนโทรลเลอร์ไปยังอุปกรณ์ตามลำดับ) portx0 …

1
ฉันจะเลือกไมโครคอนโทรลเลอร์ที่มีอายุการใช้งานนานสำหรับการออกแบบได้ดังนั้นเราจึงไม่จำเป็นต้องปรับปรุงผลิตภัณฑ์ของเราหากพวกเขาหยุดการสร้างชิป
ฉันทำงานให้กับ บริษัท ของเล่นเล็ก ๆ ที่มีวิศวกรรม / การเขียนโปรแกรมทั้งหมดในประเทศจีน พวกเขามีผลิตภัณฑ์อิเล็กทรอนิกส์บางส่วนที่ต้องการการปรับปรุงใหม่เนื่องจากไมโครคอนโทรลเลอร์ที่การออกแบบนั้นไม่ได้ผลิตขึ้นอีกต่อไป ฉันคิดว่าผู้ขายชาวจีนจำนวนมากเลือกผู้ผลิตชิปจีน ฉันจะไปเกี่ยวกับการเลือกไมโครคอนโทรลเลอร์ที่มีความเสี่ยงต่ำต่อการถูกปลดประจำการได้อย่างไร บริษัท ที่มั่นคงที่ผลิตไมโครคอนโทรลเลอร์สำหรับของเล่นมี บริษัท อะไรบ้าง? ฉันจะมองหาชิป PIC, Atmel, TI ฯลฯ ชิปหรือไม่ สิ่งเหล่านี้อาจจะมีค่าใช้จ่ายที่สูงขึ้นที่เกี่ยวข้องกับพวกเขา แต่ถ้ามันจะประหยัดเงินในการปรับปรุงใหม่แล้วค่าใช้จ่ายอาจจะคุ้มค่า

5
“ โอเวอร์คล็อก” AVR
ในเอกสารข้อมูลของ AVR ภายใต้หัวข้อลักษณะไฟฟ้าคุณจะพบกราฟเช่นนี้ (อันนี้มาจาก ATMega328): ฉันเคยเห็นการออกแบบที่ดูเหมือนจะ "ทำงาน" แต่ทำงานนอกซองสีเทา โดยเฉพาะฉันได้เห็นการออกแบบ 3.3V (Arduino) ที่รันนาฬิกาจากคริสตัล 16MHz ภายนอก เห็นได้ชัดว่านี่เป็นข้อมูลจำเพาะ อะไรคือผลกระทบเชิงลบที่เกิดขึ้นจริงจากการทำงานนอกซองจดหมายนี้?

4
คอนโทรลเลอร์ ARM ในแพ็คเกจขนาดเล็ก
มีคอนโทรลเลอร์ ARM สำหรับแอปพลิเคชั่นขนาดเล็ก (เช่น Cortex M0) ให้ใช้ในแพ็คเกจขนาดเล็กที่มีหมุดสูงสุด 20 ขา ฉันรู้สึกว่าในบริเวณนี้พวกเขาไม่ค่อยเป็นภัยคุกคามต่อผู้ต้องสงสัยเช่น PIC และ AVR

2
ฉันจะอ่านแผ่นข้อมูลสำหรับโซลิดสเตตรีเลย์ได้อย่างไร
ฉันกำลังมองหาใช้โซลิดสเตตรีเลย์จำนวนมาก (12-18) เพื่อควบคุมชุดวาล์วน้ำ (โซลินอยด์ AC 24V, กระแสคงที่ 20mA, กระแส 40mA กระแส) และฉันมีปัญหาในการหาชิ้นส่วนที่เหมาะสมอาจเป็นเพราะฉันไม่ ไม่เข้าใจเอกสารข้อมูลที่ฉันอ่านได้ดีมาก ส่วนใหญ่กระแสต่ำ (<= 150mA), SSR ที่ราคาไม่แพง (~ $ 1) ที่ฉันได้พบมีคะแนน "แรงดันไฟฟ้าไปข้างหน้า" สูงสุดในช่วง 1.0v-1.5v (ดูตัวอย่างทั่วไปที่นี่ ) นี่หมายความว่าฉันต้องการตัวต้านทาน 38 โอห์มระหว่าง MCU ของฉัน (3.3v) และ SSR หรือไม่? การให้คะแนนอื่น ๆ หมายถึงอะไรเช่นนี้ กระแสสูงสุด OFF-state ซ้ำ (เอาต์พุต) แรงดัน ON-state (เอาต์พุต) โฮลดิ้งปัจจุบัน (เอาท์พุท) ทริกเกอร์ขั้นต่ำปัจจุบัน (โอน) …

4
SSL จากไมโครคอนโทรลเลอร์
ฉันต้องการสร้างอุปกรณ์ฝังตัวที่สามารถสื่อสารกับเว็บเซิร์ฟเวอร์ได้อย่างปลอดภัย การตั้งค่าของฉันจะใช้ SSL มาตรฐานเพื่อให้เว็บเซิร์ฟเวอร์ดูอุปกรณ์ของฉันคล้ายกับเว็บเบราว์เซอร์ มีห้องสมุด prebuit สำหรับฝั่งฝังตัวในการทำเช่นนี้? IC เกี่ยวกับที่สามารถรับมือกับการจับมือกันและถอดรหัสสำหรับฉันได้อย่างไร ถ้าไม่ใช่ฉันจะทำสิ่งนี้ด้วยตัวเองได้อย่างไร

8
ฟังก์ชั่นการเขียนโปรแกรมด้วย MCU
ภาษาที่ใช้งานได้เช่น Haskell, LISP หรือ Scheme ช่วยให้โปรแกรมเมอร์ทำงานได้อย่างรวดเร็วโดยใช้กระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชัน พวกเขามีความไร้ประสิทธิภาพแต่แอปพลิเคชันของฉันให้ความสำคัญกับประสิทธิภาพของโปรแกรมเมอร์มากกว่าประสิทธิภาพของโปรแกรม ฉันต้องการใช้การเขียนโปรแกรมใช้งานได้บนไมโครคอนโทรลเลอร์เพื่อควบคุมเครื่อง ฯลฯ มีข้อ จำกัด อะไรบ้างเช่นทรัพยากรระบบขั้นต่ำ มีตัวอย่างการใช้งานภาษาเหล่านี้บ้าง

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