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

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

4
เป็นไปได้ไหมที่จะสร้างอินเตอร์เฟส JTAG ด้วย arduino
ถ้าเป็นเช่นนั้นจะพาฉันไปยังเว็บไซต์ที่บอกวิธีการทำเช่นนี้ได้หรือไม่ ฉันเชื่อว่าฉันอาจพบวิธีการแต่ฉันไม่แน่ใจว่าจะใช้งานได้หรือไม่ (จำเป็นต้องค้นหาสิ่งที่จะทดสอบ) คำถามนี้เกี่ยวข้องกับคำถามก่อนหน้านี้ของฉันที่นี่ ในกรณีที่ต้องการข้อมูลพื้นหลังเพิ่มเติม
14 arduino  arm  embedded  jtag 

6
ทำไมคนสร้างเว็บเซิร์ฟเวอร์บนไมโครคอนโทรลเลอร์?
ฉันเจอคนที่สร้างเว็บเซิร์ฟเวอร์โดยใช้ไมโครคอนโทรลเลอร์ทำไมบางคนทำอย่างนั้น แอปพลิเคชันของมันคืออะไร? ทักษะใดที่นอกเหนือจากภาษา C จำเป็นต้องมีเพื่อสร้างเซิร์ฟเวอร์ดังกล่าว ฉันค่อนข้างสงสัยเกี่ยวกับเซิร์ฟเวอร์เล็ก ๆ เหล่านี้ที่มี RAM ขนาดเล็กเช่นนั้น

6
แรงจูงใจในการใช้ Verilog หรือ VHDL มากกว่า C คืออะไร
ฉันมาจากพื้นหลังการเขียนโปรแกรมและไม่ยุ่งกับฮาร์ดแวร์หรือเฟิร์มแวร์มากเกินไป (อย่างน้อยอุปกรณ์อิเล็กทรอนิกส์และ Arduino) อะไรคือแรงจูงใจในการใช้ภาษาคำอธิบายฮาร์ดแวร์ (HDL) เช่น Verilog และ VHDL เหนือภาษาการเขียนโปรแกรมเช่น C หรือแอสเซมบลีบางส่วน ปัญหานี้เป็นเรื่องของการเลือกหรือไม่? ฉันอ่านว่าฮาร์ดแวร์ซึ่งเฟิร์มแวร์เขียนใน HDL นั้นมีข้อได้เปรียบที่ชัดเจนในการรันคำสั่งแบบขนาน อย่างไรก็ตามฉันรู้สึกประหลาดใจที่เห็นการอภิปรายแสดงความสงสัยว่าจะเขียนเฟิร์มแวร์ใน C หรือ Assembly (แอสเซมบลีที่เหมาะสมถ้าคุณไม่จำเป็นต้องมี CPU?) แต่ฉันสรุปว่ามันเป็นตัวเลือก ดังนั้นฉันมีคำถามสองสามข้อ (อย่าลังเลที่จะอธิบายอะไร): เฟิร์มแวร์สามารถเขียนได้ทั้งใน HDL หรือในภาษาโปรแกรมซอฟต์แวร์หรือเป็นอีกวิธีหนึ่งในการทำภารกิจเดียวกัน ฉันชอบที่จะเป็นตัวอย่างในโลกแห่งความจริง ข้อ จำกัด ใดบ้างที่เกิดขึ้นจากตัวเลือกแต่ละตัว ฉันรู้ว่าการใช้เฟิร์มแวร์โดยทั่วไปของซอฟต์แวร์นั้นอยู่ในตัวเร่งความเร็วฮาร์ดแวร์ (เช่น GPU, อะแดปเตอร์เครือข่าย, ตัวเร่งความเร็ว SSL ฯลฯ ) ตามที่ฉันเข้าใจแล้วการเร่งความเร็วนี้ไม่จำเป็นเสมอไป แต่แนะนำเท่านั้น (เช่นในกรณีของ SSL และการเร่งความเร็วของอัลกอริทึมที่ซับซ้อน) สามารถเลือกระหว่างเฟิร์มแวร์และซอฟต์แวร์ในทุกกรณีหรือไม่? ถ้าไม่ฉันยินดีที่จะให้กรณีที่เฟิร์มแวร์ที่เหมาะสมอย่างชัดเจนและชัดเจน ฉันอ่านแล้วว่าเฟิร์มแวร์ส่วนใหญ่เขียนบน ROM หรือแฟลช …

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 …

3
การประกาศตัวแปรด้วย @ ใน C
ฉันกำลังอ่านโค้ด C และพบคำประกาศนี้ในโปรแกรม: unsigned char serv_ctr @0x0002; ใครสามารถชี้ให้ฉันดูเอกสารประกอบหรืออธิบายว่า"@ 0x0002"สำหรับอะไรในคอมไพเลอร์ Mplab XC8 v1.35 C
11 c  embedded  mplabx  xc8  variable 

3
เหตุผลสำหรับความนิยมของ PowerPC สำหรับการออกแบบที่ฝังตัว
คำถามที่ถามมาก่อนและไม่ได้ใช้งานอีกต่อไป แต่ฉันไม่พอใจกับคำตอบทั้งหมด: อะไรคือสิ่งที่ยอดเยี่ยมเกี่ยวกับ PPC? ต้องมีบางอย่าง ตามคำตอบของ David Kessner มีเหตุผลหนึ่งครั้งสำหรับ PowerPC แต่ไม่มีวันนี้ แม้ว่าสิ่งนี้อาจเป็นจริงสำหรับคอมพิวเตอร์เดสก์ท็อป แต่ก็ไม่เป็นจริงสำหรับระบบฝังตัว คอนโซลเกมหลักทั้งสามตัวใช้ PowerPC (Wii, Xbox 360, PS3) Microsoft โดยมุ่งเน้นที่ Intel อย่างสมบูรณ์ในเวลานั้นแม้จะเปลี่ยน Xbox ใหม่จาก Intel เป็น PowerPC ในปี 2005 คุณสมบัติอุปกรณ์เครือข่ายในหลาย ๆ กรณี PPC, ไมโครคอนโทรลเลอร์ยานยนต์จำนวนมากทำได้ดีและยังมีการพัฒนาผลิตภัณฑ์ PPC ใหม่ (เช่นโดย Freescale) นอกจากนี้ PowerPC ยังสามารถพบได้ในระบบจัดเก็บข้อมูลโดเมนทางการแพทย์หรือระบบอัตโนมัติอุตสาหกรรม ความเข้ากันได้ย้อนหลัง (รองรับซอฟต์แวร์ดั้งเดิม) เป็นไดรเวอร์หนึ่งแน่นอน แต่จะต้องมีมากขึ้น มันเป็นความสามารถในการปรับขยายได้สูงและการทำงานร่วมกันของการเขียนโปรแกรมประยุกต์ภายในตระกูล PowerPC ตั้งแต่ไมโครคอนโทรลเลอร์ขนาดเล็กไปจนถึงโปรเซสเซอร์สำหรับการประมวลผลประสิทธิภาพสูง? ความทนทานของการออกแบบและประสบการณ์ด้วยการรับรองความปลอดภัยในการใช้งาน? …

4
การออกแบบซอฟต์แวร์ฝังตัว
ฉันเริ่มต้นในการเขียนโปรแกรมซอฟต์แวร์แบบฝังตัวโดยใช้ RTOS และเนื่องจากฉันเป็นผู้พัฒนาแอพพลิเคชั่นเดสก์ท็อปอยู่แล้วฉันก็ยังสงสัยว่ามันจะเป็นอย่างไรกับซอฟต์แวร์ฝังตัวโดยใช้แผนภาพ UML เช่น Activity Diagrams Sequence Diagrams ซอฟต์แวร์แบบฝังตัวได้รับการออกแบบโดยใช้ UML เหมือนกับแอปพลิเคชันเดสก์ท็อปหรือไม่ มันเป็นตัวเลือกที่ดีที่สุดหรือมีทางเลือกที่ดีกว่า ฉันขอตัวอย่างได้ไหม มีเครื่องมือเฉพาะที่ทำสิ่งนี้หรือไม่?

6
วิธีการถอดรหัสสัญญาณอนุกรมที่ไม่ได้มาตรฐานอย่างมีประสิทธิภาพ
ฉันเป็นสมาชิกระดับปริญญาตรีของทีมวิจัยที่ทำงานในโครงการที่เกี่ยวข้องกับ ASIC ที่ส่งสัญญาณ RF และตัวรับสัญญาณไร้สายซึ่งควรส่งข้อมูลไปยังพีซีในที่สุด รับผลลัพท์ที่รวดเร็วอย่างต่อเนื่องไม่ตรงกันสัญญาณอนุกรมที่ไม่ได้มาตรฐาน (เช่นไม่ SPI, I2C, UART ฯลฯ ) เพื่อให้งานของฉันคือการเขียนซอฟต์แวร์ไมโครคอนโทรลเลอร์เพื่อติดต่อรับสัญญาณไปยังเครื่องคอมพิวเตอร์ ขณะนี้วิธีการของฉันคือการใช้การขัดจังหวะแบบ Edge-Trigger เพื่อวางข้อมูลในบัฟเฟอร์แบบวงกลมและทำกระบวนการถอดรหัสแบบทีละบิตในลูปหลัก ไมโครคอนโทรลเลอร์จะต้องส่งออกข้อมูลนี้พร้อมกันโดยใช้ USB (พอร์ต com เสมือน) ไปยังคอมพิวเตอร์ นี่คือปัญหาที่ฉันมีและสิ่งที่ฉันคาดการณ์ไว้: ฉันไม่สามารถประมวลผลข้อมูลบัฟเฟอร์ได้เร็วพอแม้จะใช้โปรเซสเซอร์ ARM Cortex M3 ที่ทรงพลังมากของฉัน บิตเรตคือ 400 Kbps (2.5 us / bit) สำหรับการอ้างอิงที่เหลือเพียง 180 รอบต่อบิต (รวมถึงการถอดรหัสและ ISR ซึ่งมี ~ 30 รอบอุ๊ยค่าใช้จ่าย!) นอกจากนี้ MCU ยังต้องจัดการกับงานอื่น ๆ อีกมากซึ่งจะทำการสำรวจในการวนซ้ำหลัก ไดรเวอร์พอร์ตเสมือนของ …

7
การเขียนโปรแกรมไมโครคอนโทรลเลอร์กับการเขียนโปรแกรมเชิงวัตถุ
ฉันได้เขียนโปรแกรมพื้นฐานเชิงวัตถุด้วย C ++ (การสร้าง B-Tree, Hashing Algorithms, Double Linked Lists) และฉันได้ทำโครงการเล็ก ๆ ใน C (เช่นการทำเครื่องคิดเลขวิทยาศาสตร์เป็นต้น) ความแตกต่างของการเขียนโปรแกรมฮาร์ดแวร์ (โดยเฉพาะสำหรับไมโครคอนโทรลเลอร์) จากการเขียนโปรแกรมซอฟต์แวร์ / เชิงวัตถุในแง่ของความคิดและ "การคิด" ที่โปรแกรมเมอร์ต้องมีคืออะไร? ปกติแล้วฉันจะถือว่ายากกว่าคนอื่น ๆ ด้วยพื้นหลังของฉัน (ตามที่อธิบายไว้ข้างต้น) ฉันจะต้องมีการเตรียมตัวมากมายสำหรับการเขียนโปรแกรมฮาร์ดแวร์หรือฉันสามารถดำดิ่งเข้าได้โดยไม่ต้องเตรียมตัวมากเกินไป?

8
ALU ส่วนใหญ่ถูกสร้างขึ้นมาอย่างไรและเป็นไปได้ที่จะ 'สร้างของคุณเอง'?
ฉันพยายามเรียนรู้เกี่ยวกับคอมพิวเตอร์ระดับต่ำมากจริงๆ ฉันได้ดูหน้าโฮมบรูว์จำนวนมากและมันค่อนข้างมากที่จะเข้าเรียนฉันเข้าเรียนวิชาวิศวกรรมอิเล็กทรอนิกส์ในวิทยาลัย แต่เราไม่ได้ลงลึกในเรื่องนี้มากนัก (มันเป็นวิทยาศาสตร์คอมพิวเตอร์ ของมันเป็นจริงอัลกอริทึมและเช่น) อย่างไรก็ตามALUส่วนใหญ่ถูกสร้างขึ้นมาอย่างไร? ฉันรู้ว่านั่นไม่ใช่เพียงส่วนหนึ่งของคอมพิวเตอร์ แต่ก็ยังเป็นส่วนสำคัญ และคุณสามารถสร้าง ALU ของคุณเองโดยใช้ตรรกะประตู (เพื่อจุดประสงค์การเรียนรู้) ได้หรือไม่? ฉันเข้าใจว่านี่อาจฟังดูโง่เขลาสำหรับผู้ที่มีความรู้มากกว่า แต่ฉันแค่พยายามเข้าใจ (เฮ็กแม้แอดเดอร์ธรรมดาก็จะเป็นโครงการที่เรียบร้อย) ถ้าเป็นเช่นนั้นจะทำอย่างไร? มีตัวอย่างของฮาร์ดแวร์หรือไม่? (ฉันดูรอบ ๆ Google แล้ว แต่ฉันไม่พบอะไรที่มีคำแนะนำทีละขั้นตอนอธิบาย)
11 embedded  alu 

2
มีวิธีที่ไม่ต้องสำรวจ UART ของ AVR หรือไม่?
ฉันกำลังรับข้อมูลผ่าน UART จาก AVR ตัวอื่น อย่างไรก็ตามฉันกำลังทำสิ่งอื่น ๆ ดังนั้นไม่ต้องการให้มีการสำรวจ UART อย่างต่อเนื่อง ฉันรู้ว่ามีการขัดจังหวะ แต่ฉันเห็นได้เพียงครั้งเดียวว่าจะได้รับสมบูรณ์ซึ่งฉันคิดว่ายังคงต้องการให้ฉันสำรวจเพื่อให้การถ่ายโอนเสร็จสมบูรณ์
10 avr  embedded 


5
ลินุกซ์ในตัวบน FPGA
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันมีประสบการณ์ จำกัด กับ FPGA (เครื่องมือ Altera - ใช้เฉพาะเครื่องมือออกแบบภาพ) ฉันกำลังวางแผนสำหรับโครงการใหม่ที่ฉันต้องการ FPGA และฉันจะได้รับประโยชน์มากมายจาก linux จริงที่ทำงานบนบอร์ดเดียวกัน (ส่วนใหญ่ใช้สำหรับการสื่อสาร TCP รวมถึง DSP บางตัว) คำถามของฉันคือมี FPGA แนะนำที่มีลินุกซ์ฝังตัวที่รองรับเตรียมไว้หรือไม่ ไม่มีไดรเวอร์แฟนซี (แค่อีเธอร์เน็ต wifi อาจเป็นบวก ... ) ฉันคิดว่าจะมีตัวควบคุมขนาดเล็กติดตั้งใน FPGA (ซึ่งหมายความว่ามันจะกิน FPGA จำนวนมากและฉันต้องการ FPGA ที่ใหญ่กว่า)
10 fpga  embedded  linux 

5
การจัดการขัดจังหวะในไมโครคอนโทรลเลอร์และตัวอย่าง FSM
คำถามเริ่มต้น ฉันมีคำถามทั่วไปเกี่ยวกับการจัดการอินเทอร์รัปต์ในไมโครคอนโทรลเลอร์ ฉันใช้ MSP430 แต่ฉันคิดว่าคำถามอาจขยายไปยังยูซีเอสอื่น ๆ ฉันต้องการทราบว่าเป็นวิธีปฏิบัติที่ดีในการเปิด / ปิดการใช้งานอินเตอร์รัปต์ตามรหัสหรือไม่ ฉันหมายถึงถ้าฉันมีบางส่วนของรหัสที่ไม่ไวต่อการขัดจังหวะ (หรือแย่กว่านั้นคือต้องไม่ฟังการขัดจังหวะไม่ว่าด้วยเหตุผลใดก็ตาม) ดีกว่าไหมที่จะ: ปิดการใช้งานอินเทอร์รัปต์ก่อนและเปิดใช้งานอีกครั้งหลังจากส่วนที่สำคัญ วางธงไว้ใน ISR ที่เกี่ยวข้องและ (แทนที่จะปิดการใช้งานอินเตอร์รัปต์) ตั้งค่าสถานะเป็นเท็จก่อนส่วนสำคัญและรีเซ็ตเป็นจริงทันทีหลังจากนั้น เพื่อป้องกันรหัสของ ISR จากการถูกดำเนินการ ไม่ใช่ทั้งสองข้อเสนอแนะจึงยินดีต้อนรับ! อัปเดต: อินเตอร์รัปต์และแผนภูมิสถานะ ฉันจะให้สถานการณ์ที่เฉพาะเจาะจง ให้เราสมมติว่าเราต้องการใช้แผนภูมิสถานะซึ่งประกอบด้วย 4 บล็อก: การเปลี่ยน / ผล เงื่อนไขการออก กิจกรรมเข้า ทำกิจกรรม นี่คือสิ่งที่อาจารย์สอนเราที่มหาวิทยาลัย อาจไม่ใช่วิธีที่ดีที่สุดในการทำคือทำตามรูปแบบนี้: while(true) { /* Transitions/Effects */ //---------------------------------------------------------------------- next_state = current_state; switch (current_state) { case STATE_A: …

2
เหตุใดเขตข้อมูลบิตที่เกี่ยวข้องแบบตรรกะในการลงทะเบียน MCU มักจะอยู่ในตำแหน่งที่ตั้งอื่น?
ยกโทษให้ฉันถ้าคำถามนี้ได้รับคำตอบแล้ว แต่ฉันไม่สามารถหาคำตอบได้ในหน้านี้หรือในอินเทอร์เน็ตที่กว้างขึ้น ฉันเป็นนักพัฒนาที่มีประสบการณ์และมีความรู้ที่ดีเกี่ยวกับการเขียนโปรแกรมระดับต่ำ แต่ค่อนข้างใหม่ในการพัฒนาแบบฝัง ฉันสอนการพัฒนาระบบสมองกลฝังตัวด้วยบอร์ด ST-NUCLEO144 ซึ่งมี STM32F746ZG MCU คำถามหนึ่งที่ดูเหมือนไม่ชัดเจนสำหรับฉันคือว่าทำไมฟิลด์บิตที่เกี่ยวข้องอย่างมีเหตุผลในรีจิสเตอร์อาจอยู่ในตำแหน่งที่ตั้งอื่น ตัวอย่างหนึ่งคือการUSART_CR1ลงทะเบียนใน STM32746ZG M0และM1บิตเขตร่วมกันควบคุมความยาวของคำใน USART TX / RX, รวมมูลค่า 2 บิต0b00ระบุ 8 บิต0b01ระบุ 9 บิต ฯลฯ นี่คือทั้งหมดที่ค่อนข้างตรงไปตรงมายกเว้นว่าM0ที่บิตที่ 12 และM1ที่บิต 28 ... ทำไมเป็นอย่างนี้? นี่คือเหตุผลการออกแบบที่สืบทอดมาเช่นมีการแทรกคุณลักษณะใหม่ลงในพื้นที่ที่สงวนไว้ก่อนหน้านี้หรือไม่ สำหรับเหตุผลที่เกี่ยวข้องกับการออกแบบชิปที่ฉันไม่ได้พิจารณาหรือมีจุดประสงค์ที่ยิ่งใหญ่กว่านี้สำหรับสิ่งที่ฉันไม่เห็นหรือไม่? เห็นได้ชัดว่านี่เป็นเรื่องเล็กน้อยที่จะเอาชนะด้วยการหลอกลวงเล็กน้อย แต่ฉันแค่อยากรู้

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