การออกแบบลอจิกแบบไม่ต่อเนื่อง


11

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

คำถามของฉันคือถ้าคุณมีการออกแบบที่สามารถนำไปปฏิบัติได้อย่างง่ายดายโดยประตูตรรกะไม่ต่อเนื่องไม่กี่มันคุ้มค่ากับการออกแบบด้วยตรรกะไม่ต่อเนื่องอีกหรือไม่ มีข้อได้เปรียบในการใช้งานมากกว่าที่ตั้งโปรแกรมได้หรือไม่? หรือว่าจะค่อยๆเลิกใช้ตรรกะที่ตั้งโปรแกรมได้อย่างสมบูรณ์? เพื่อความชัดเจนฉันไม่ต้องการคำตอบของ 'ฉันเชื่อว่านี่เป็นกรณี' หรือ 'โดยส่วนตัวฉันคิดว่านี่ แต่ ... ' ฉันอยากจะรู้ว่ามีข้อได้เปรียบที่แท้จริงในการออกแบบที่แยกจากกันโดยตั้งโปรแกรมได้หรือไม่ มูลค่าการออกแบบกับพวกเขาในวันนี้ในผลิตภัณฑ์เครื่องใช้ไฟฟ้า?


16
ฟังดูเหมือนคำถามจากยุค 90 ... µC ได้รับรางวัลมันง่ายกว่ามากที่จะตีหนึ่งและทำได้มากกว่าที่จะคิดเกี่ยวกับวิธีการเชื่อมต่อ IC ครึ่งโหลเข้าด้วยกัน
PlasmaHH

9
ประตูแบบแยกมีข้อดีอย่างหนึ่ง ไม่มี toolchain
jonk

ไม่มี toolchain? คุณหมายถึงอะไร @jonk
อยากรู้อยากเห็น

@PlasmaHH ดังนั้นโดยทั่วไปคุณกำลังพูดว่าไม่มีประโยชน์ที่จะออกแบบแยกในอนาคตหรือไม่
อยากรู้อยากเห็น

11
@jonk หมายถึงอะไรเมื่อใช้ไมโครคอนโทรลเลอร์คุณต้องใช้ซอฟต์แวร์เพื่อสร้างโปรแกรมสำหรับไมโครคอนโทรลเลอร์เช่น IDE (ส่วนต่อประสานกราฟิกกับผู้ใช้แบบกราฟิกหรือแบบข้อความ) และชุดเครื่องมือคอมไพเลอร์ / ลิงเกอร์ / อื่น ๆ สำหรับไมโครคอนโทรลเลอร์ที่คุณใช้เรียก ห่วงโซ่เครื่องมือ
Michel Keijzers

คำตอบ:


15

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

เมื่อพูดถึงขั้นตอนการออกแบบถ้าคุณออกแบบวงจรที่ต้องใช้ฟังก์ชันลอจิก 2 หรือ 3 ตัวที่จุดต่าง ๆ ในวงจรมันจะดีกว่าถ้าใช้เกตแบบแยกเพื่อประหยัดเวลาในการออกแบบ โปรแกรมด้วย

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

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


คำตอบง่าย ๆ คะแนนที่ดีและตอบคำถามทั้งหมดที่ถาม! ขอบคุณ!
อยากรู้อยากเห็น

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

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

1
การออกแบบล่าสุดที่ฉันนำมาใช้โดยใช้ตรรกะไม่ต่อเนื่องมีความต้องการด้านเวลาของ "ต่ำที่สุด" โดยใช้ตรรกะ 5V และข้อกำหนดของโปรแกรมที่ค่อนข้างง่าย ฉันสามารถใช้เงินจำนวนมากกับ FPGA ที่มันวาวหรือทำแบบ "โรงเรียนเก่า" ชิปข้อมูลจำเพาะทางทหารได้รับแรงดันไฟฟ้าเต็มรูปแบบใน picoseconds จะสามารถเอาชีวิตรอดจากการสิ้นเปลืองพลังงานนิวเคลียร์พร้อมกับแมลงสาบและยังไม่มีค่าใช้จ่ายเลย จะมีที่สำหรับตรรกะที่ไม่ต่อเนื่องเสมอ
Landak

14

ฉันไม่ได้เป็นวิศวกรอิเล็กทรอนิกส์มืออาชีพเลย (จริง ๆ แล้วเพิ่งเริ่มต้น) แต่ไม่กี่เซ็นต์ของฉันก็คือไอซีลอจิกไม่ต่อเนื่องโดยเฉพาะควรจะใช้เฉพาะในกรณีที่เวลามีความสำคัญหรือถ้ามันเป็นความต้องการที่จะไม่ใช้ตรรกะโปรแกรม

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

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

ด้านล่างนี้เป็นการตีความข้อดี / ข้อเสียของฉัน:

                          Discrete logic (ICs)      Programmable logic/
                                                    (Microcontrollers)
 Nanosecond speed                  x                         -
 Just a few 'operators' needed     x                         -
 No tool chain needed              x                         -
 Cost Efficiency *                 -                         x
 PCB / proto size                  -                         x
 Flexibility for changing          -                         x
 Production cost                   -                         x
 Possibility to extend features    -                         x

* Assuming more than a few (different) logic functions needed

1
ดังนั้นความเร็วเป็นข้อได้เปรียบหลักในความคิดเห็นของคุณ? +1 สำหรับคำตอบฉันชอบโต๊ะของคุณมาก!
อยากรู้อยากเห็น

1
ใช่ฮาร์ดแวร์เร็วกว่าซอฟต์แวร์ดังนั้นหากคุณต้องการความเร็วจริงๆคุณต้องมีฮาร์ดแวร์ไอซีไม่เช่นนั้นฉันจะเลือกโซลูชัน 'ซอฟต์แวร์' (ไมโครคอนโทรลเลอร์) Btw ปัจจุบันมีการใช้โซลูชั่นที่ไวต่อความเร็วสูงที่ซับซ้อนมากขึ้น
Michel Keijzers

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

5
ฉันคิดว่าหัวหน้าวิศวกรของคุณทำการตัดสินใจที่ถูกต้อง โดยทั่วไประบบเตือนภัยจะเป็นสิ่งที่จะขยาย (รับอินพุตเพิ่มเติมจากแหล่ง mutliple และดำเนินการกับมัน) แม้กระทั่งการรวมกันของพวกเขาและเพิ่มฟังก์ชันการทำงานในภายหลังเช่นการส่ง SMS อัตโนมัติส่งสัญญาณบี๊บ / สัญญาณเตือน เซ็นเซอร์ ฯลฯ
Michel Keijzers

2
@MichelKeijzers FPGA ที่ทันสมัยนั้นเร็วกว่าสิ่งใด ๆ ที่คุณสามารถทำได้ด้วยไอซีลอจิกแบบไม่ต่อเนื่องแบบดั้งเดิม
Tustique

10

หากคุณกำลังจะสร้างผลิตภัณฑ์เชิงพาณิชย์คุณไม่ควรเลือกการออกแบบเพราะ "มันตั้งโปรแกรมได้" หรือเพราะมีเพื่อนร่วมรุ่นอาวุโสคนหนึ่งเสนอ แต่คุณควรประเมินความเสี่ยงและค่าใช้จ่ายที่เกี่ยวข้องกับการออกแบบแต่ละแบบและเลือกแบบที่มีต้นทุนต่ำที่สุดและระดับความเสี่ยงที่ยอมรับได้ สำหรับการเริ่มต้น:

  • ราคาของส่วนประกอบแต่ละรายการจะเพิ่มให้กับต้นทุน
  • ขนาด PCB ที่ต้องการและความซับซ้อนช่วยเพิ่มค่าใช้จ่าย
  • ต้องใช้ความพยายามในการออกแบบและเครื่องมือเพิ่มค่าใช้จ่าย
  • การทดสอบและการรับรองที่จำเป็นจะช่วยเพิ่มค่าใช้จ่าย

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

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


จริงแท้แน่นอน. ดังนั้นคุณคิดว่ามีอนาคตสำหรับตรรกะที่ไม่ต่อเนื่องแล้ว
อยากรู้อยากเห็น

4
@Curious ฉันยังเห็น BJTs และ MOSFET แต่ละตัวถูกใช้เพื่อใช้ฟังก์ชันตรรกะพื้นฐานที่นี่และที่นั่น ตรรกะที่ไม่ต่อเนื่องเป็นสิ่งที่มีประโยชน์สำหรับงานง่าย ๆ บางอย่างดังนั้นฉันเชื่อว่ามันจะไม่หายไปอย่างสมบูรณ์
Dmitry Grigoryev

7

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


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

1
@awjlogan คุณสามารถทำสิ่งเหล่านี้ได้ทั้งสองอย่าง แต่การหยุดฉุกเฉินแบบลอจิกแบบแยกส่วนของคุณจะไม่ล้มเหลวในการเปิดใช้งานเนื่องจากสภาพที่ไม่คาดคิดส่งส่วนอื่นของมันลงในลูปไม่สิ้นสุด ระบบความปลอดภัยที่สำคัญจะต้องเป็นง่ายๆเป็นไปได้
user253751

1
@immibis นั่นเป็นการออกแบบและข้อมูลจำเพาะที่ไม่ดี มีความเป็นไปได้ของความล้มเหลวในระบบที่ไม่ต่อเนื่อง FPGA หรืออะไรก็ตาม ตกลงว่าตู้เซฟที่ล้มเหลวควรเรียบง่ายที่สุดเท่าที่จะเป็นไปได้นั่นไม่ได้หมายความว่าจะต้องแยกออกจากกัน
awjlogan

5
@immibis ตรรกะแบบไม่ต่อเนื่องกลายเป็นความน่าเชื่อถือน้อยกว่า MCUs ที่ผ่านมาขนาดการออกแบบที่แน่นอนเนื่องจากข้อบกพร่องในการบัดกรีเพียงอย่างเดียว และถ้าตรรกะไม่ต่อเนื่องรวมถึงทริกเกอร์คุณจะพบปัญหาเดียวกันกับสถานะระบบต้องห้ามเช่นเดียวกับในซอฟต์แวร์
Dmitry Grigoryev

4
ส่วนที่ไม่ต่อเนื่องอาจทำหน้าที่คาดเดาได้มากขึ้นในกรณีที่เกิดข้อผิดพลาด ...
rackandboneman

4

ฉันต้องยอมรับเมื่อใดก็ตามที่ฉันต้องทำบางตรรกะ combinatorial ซับซ้อนบวกจับเวลาบางอย่างผมไม่รำคาญกับตรรกะที่ไม่ต่อเนื่องในทุก แต่เสมอโค้ดโปรแกรมประกอบน้อยที่สุดสำหรับ ATtiny (ใช้ PIC ถ้าคุณเช่นเดียวกับที่ดีกว่า)

ตรรกะ combinatorial อยู่ที่แอสเซมเบลอร์สูงสุด 20 บรรทัด (ตารางการค้นหาหลายรายการ) ตัวจับเวลาซอฟต์แวร์แต่ละตัวเพิ่มอีก 10 บรรทัด ตัวนับฮาร์ดแวร์น้อยลง คุณยังได้รับประโยชน์จากการมีตัวแปลง A / D, Comparator รุ่น PWM บนเครื่องหากคุณต้องการ

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


กรณีใช้งานที่เหลือสำหรับลอจิกไอซีแบบแยกคือเมื่อสิ่งต่าง ๆ ต้องทำงานเร็วกว่า 1µs


หัวข้อเล็ก ๆ น้อย ๆ แต่ชิ้นส่วน ATTiny x17 / x16 มีสองตัวใน LUT แบบอินพุต 3 ตัว มีประโยชน์มากจริง ๆ !
awjlogan

4

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

สิ่งที่คุณสามารถทำได้ดีกว่าจริง ๆ กับ discretes คือการกำหนดเวลาตรรกะแบบอะซิงโครนัส (การทำสิ่งหนึ่งให้เสร็จสมบูรณ์จะทำให้เกิดสิ่งอื่นทันที) ความถูกต้องของการออกแบบดังกล่าวเป็นหัวข้อสงครามศักดิ์สิทธิ์ ไม่ต้องกังวลคนซิงโครนัสจะต้องการเอาชนะคุณ แต่คุณเพียงแค่ต้องเอานาฬิกาออกไปพวกเขาจะรออย่างไร้สาระตลอดไป

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

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