ปกป้องแล็ปท็อปจากอุปกรณ์ที่เชื่อมต่อ USB


11

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

  1. ขั้วต่อ USB / ฮับพร้อมตัวหนีบไดโอด 5V ซีเนอร์สำหรับสายไฟและสายข้อมูล
  2. ขั้วต่อ USB / ฮับพร้อมตัวแยกสายข้อมูล
  3. จัดหาการเชื่อมต่อ usb กับแหล่งพลังงานภายนอกพร้อมแนวคิดที่กล่าวถึงก่อนหน้า

เมื่อใช้ร่วมกับแนวคิดเหล่านี้อาจเป็นตัวต้านทานทั้ง 5v D + และ D- บรรทัดเพื่อ จำกัด กระแสให้พูด 200mA (เพียงพอสำหรับอุปกรณ์ส่วนใหญ่ที่ฉันใช้)

แค่สงสัยว่าวิศวกรที่มีประสบการณ์มากกว่าตัวฉันคิดอย่างไรกับความคิดเหล่านี้และความหมายเชิงปฏิบัติของพวกเขา


1
พวกเขาขายอแดปเตอร์ USB optoisolated โดยเฉพาะเพื่อจุดประสงค์นี้
Ignacio Vazquez-Abrams

3
คุณจัดการเรื่องนี้ได้อย่างไร แล็ปท็อปของคุณต่อสายดินแล้วหรือไม่และต่อเข้ากับอุปกรณ์ที่มีแรงดันไฟฟ้าอยู่บนพื้น คุณป้อนพลังงานกลับบนบรรทัด 5 V หรือไม่?
ทรานซิสเตอร์

1
@KingDuken: แผนผังไม่เพียงพอ USB ยังต้องการการกำหนดเส้นทางที่เหมาะสมเพื่อไม่ให้เปลี่ยนโพรโทคอลเป็นกองของ goop
Ignacio Vazquez-Abrams

1
ฉันทำงานกับ Arduino และ PIC เป็นหลักในการพัฒนาอุปกรณ์อิเล็กทรอนิกส์สำหรับควบคุมเครื่องซักผ้าและตู้จำหน่ายสินค้าอัตโนมัติ (ไม่ใช่อุปกรณ์เดียวที่ทำลายแล็ปท็อปทั้งสองเครื่อง) ในฐานะที่เป็นส่วนใหญ่เพียงความเสี่ยงของการใช้ไฟฟ้าแรงสูงการใช้ซีเนอร์ไดโอดเป็นวิธีการแก้ปัญหาราคาถูกง่ายหรือว่าจะยุ่งกับด้านข้อมูลของสิ่งต่าง ๆ ?
awsem_eng

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

คำตอบ:


10

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

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

ปัญหาของคุณไม่ดีด้วยเหตุผลหลายประการและแล็ปท็อปของคุณมีน้อยที่สุด:

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

มีเหตุผลที่ดีเกณฑ์การออกแบบสำหรับวงจรที่เกี่ยวข้องกับการเปลี่ยนแรงดันไฟฟ้าที่สูงขึ้นด้วยแรงดันไฟฟ้าที่ต่ำกว่า

โดยทั่วไป: คุณต้องการการแยกกระแสไฟฟ้าระหว่างสิ่งที่มนุษย์คนใดคนหนึ่ง (แม้แต่ช่างเทคนิคบริการ) สามารถสัมผัสได้ในระหว่างการทำงานและแรงดันไฟฟ้าที่เป็นอันตราย

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

เลย์เอาต์ของบอร์ดจะต้องแยกส่วนแรงดันสูงออกจากสภาพแวดล้อม 5V / MCU ออปโตคัปเปลอร์แกนหม้อแปลงและรีเลย์เท่านั้นที่สามารถข้ามขอบเขตนั้นได้ ไม่มีการประนีประนอม

ปัญหาทั่วไปคือพื้นที่แหล่งจ่ายไฟของอุปกรณ์ของคุณมีความแตกต่างอย่างสิ้นเชิงกับพื้นดิน USB - แม้ว่าจะไม่เป็นปัญหาสำหรับแล็ปท็อปซึ่งตัวมันเองควรจะแยกจากไฟฟ้าอย่างอื่นมีหลายกรณีที่คุณพบเจอ มีปัญหากับเรื่องนั้น (เช่นแล็ปท็อปกราวด์จบลงบนพื้นอีเธอร์เน็ต, พื้นเสียง, พื้น RS-232 ... ) การแยก (การแยก) อย่างเข้มงวดระหว่างตัวควบคุมและตัวควบคุมทำให้เกิดปัญหาที่ไม่มีอยู่จริง


3
"เช่นกราวด์ของแลปท็อปจะสิ้นสุดที่อีเทอร์เน็ตกราวด์" อีเธอร์เน็ตคือ (ควรจะ) หม้อแปลงควบคู่กัน ย้อนกลับไปในวันที่ 10-base-2 พวกเขามีแจ็ค BNC ปลอกพลาสติกเหล่านี้ที่จะยื่นออกมาจากช่องแบ็คเพลนโดยเฉพาะอย่างยิ่งไม่ได้สัมผัสพื้นแชสซี
Chris Stratton

@ChrisStratton ใช่สัญญาณจะถูกแยกออกจากกันอย่างถูกต้องโดยหม้อแปลงและถ้ามี PoE ที่เกิดขึ้นผ่านก๊อกกลางของด้านหลักของเหล่านั้นแน่นอน แต่: ฉันมีการ์ด RTL8139 NIC ที่พบบ่อยมากต่อหน้าฉัน แจ็ค RJ45 มีตัวเรือนโลหะซึ่งทำให้การติดต่อกับตัวเชื่อมต่อ RJ45 และด้วยเหตุนี้สายเคเบิลป้องกัน ที่ด้านบัตรที่เชื่อมต่อโดยตรงกับพื้นแชสซี อืม ... ฉันสามารถตรวจสอบตัวรับส่งสัญญาณ Gigabit-Ethernet-to-SFP ของฉันสำหรับการป้องกันสายเคเบิล - การเชื่อมต่อตัวเครื่องได้เช่นกันหากคุณต้องการ ฉันเดาว่าเหมือนกันกับ dongles อีเธอร์เน็ต USB และแล็ปท็อป on-board NICs
Marcus Müller

มันอาจจะชัดเจนกว่าที่จะบอกว่ามีบอร์ด USB แบบ opto-isolating ตัวอย่างอยู่ที่นี่adafruit.com/product/2107 - ไม่มีการเชื่อมโยงลิงก์แรกจาก Google
abligh

@abligh แต่ผมเห็นด้วยกับความจริงที่ว่าบอร์ดเหล่านี้อยู่ผมย้ำ: มีคณะกรรมการดังกล่าวจะช่วยแก้ปัญหาที่ไม่ถูกต้อง
Marcus Müller

1
@ MarcusMüllerซึ่งเป็นกรณีที่ฉันพูดกรณีขอบ คุณเองอาจติดต่อกับ STP เป็นส่วนใหญ่ แต่ UTP ก็ยังเป็นตัวเลือกที่ใช้กันโดยทั่วไป AFAIK ไม่ว่าในกรณีใดSTP มักจะมีการต่อสายดินที่ปลายด้านหนึ่งเท่านั้น
Bob

6

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

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

ดังนั้นคุณต้องมีตัวแยก USB เพื่อปกป้องพอร์ตแล็ปท็อปจากตัวคุณเอง ฉันรู้สึกเสียใจกับแล็ปท็อปนั้น btw

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


2
+1 สำหรับ "ไม่มีความคิดเกี่ยวกับ" และฉันต้องการให้อีก +1 สำหรับ "พัดพอร์ต USB ของแล็ปท็อปเป็นเหมือน ... ยาก ... "
Ale..chenski

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

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

6
-1 สำหรับ 80% ของข้อความที่เป็นโฆษณาและการเสียดสี ฉันรู้ว่านั่นเป็นบันทึกในการสนทนาทางอิเล็กทรอนิกส์ แต่ได้โปรด
AnoE

1
@AliChen ไม่เป็นเช่นนั้น ฉันเป่าฟิวส์ในวงจรของฉันก่อนที่จะตรวจสอบกระแสที่เป็นส่วนหนึ่งของวงจร (และในลูปกราวนด์) บันทึกชั่วคราวสูงมาก สิ่งนี้ไม่ได้อยู่ในช่วง milliamp แน่นอน
nanofarad

2

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

วิธีนี้จะไม่ป้องกันคุณจากการทอด Raspberry Pi แต่จะช่วยลดค่าใช้จ่ายของความล้มเหลวของวงจรเป็นประมาณ $ 35


2
ฉันคิดว่าจนกว่าจะมีสาเหตุของการเป่าพอร์ตแล็ปท็อปออกมาคำแนะนำใด ๆ ก็จะเกิดขึ้นก่อนเวลาอันควร เราไม่ทราบว่าการเชื่อมต่อของเครื่องซักผ้าแบบบ้าคลั่งสามารถเปลี่ยนสายสีดำและสีขาวได้หรือไม่ จากนั้นมันอาจจะทอดอะไรก็ได้ Pi หรือไม่ ฉันหวังว่า OP จะมีประกันชีวิตที่ดี ...
Ale .. chenski

ฉันไม่เห็นด้วย .... คำแนะนำใด ๆ ที่ทำให้สิ่งแวดล้อมมีโอกาสน้อยที่จะถูกบุกรุกควรได้รับการพิจารณาอย่างแน่นอน
Jack Creasey

2
นั่นเป็นความคิดที่แปลกใหม่ - โดยพื้นฐานแล้วข้อโต้แย้งคือไพ (เช่น $ 5 + $ 5 การ์ด + $ 5 wifi) ตอนนี้อาจถูกกว่าตัวแยก USB ไม่ทำอะไรเลยเกี่ยวกับอันตรายที่อาจเกิดขึ้นในระบบที่กำลังถูกสร้างขึ้น
Chris Stratton

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

ประเด็นของฉันคือถ้าการเดินสายไฟไม่ได้แยกไปตามบรรทัดฐานในกรณีนี้ไม่มี Pis ด้านหน้าแล็ปท็อปจะปลอดภัยสำหรับพอร์ตและผู้ใช้ นั่นคือทั้งหมดที่ฉันหมายถึง
Ale..chenski

0

ตกลงหลังจากคำอธิบายที่หลากหลายและกรณีที่นำเสนอต่าง ๆ ให้ฉันเสนอวิธีแก้ปัญหาวิธีการปกป้องแล็ปท็อปจากการทอดในสภาพแวดล้อมของการบริการภาคสนาม:

  1. เชื่อมต่ออุปกรณ์ทดสอบ / วินิจฉัยของคุณเข้ากับวัตถุบริการก่อนเสมอ

  2. ก่อนที่จะเชื่อมต่ออุปกรณ์เข้ากับแล็ปท็อปให้ตรวจสอบแรงดันไฟฟ้าที่น่าสงสัยระหว่างอุปกรณ์ป้องกัน USB ด้วย DMM ความต้านทานต่ำ (มาตรฐาน 10-20k) DMM ระหว่างพอร์ต DUT และพอร์ตแล็ปท็อปทั้งในโหมด DC และ AC

  3. หากพบแรงดันไฟฟ้าที่สำคัญ (5 - 10 - 50 V) ให้ใช้หม้อแปลงแยกที่แท้จริงที่ปลายด้านใดด้านหนึ่ง


0

การใช้ Pi / Beaglebone / Tinkerbox ผ่าน WiFi นั้นจะถูกและง่าย CHIP หน้าตาดีดูhttps://getchip.com/pages/chip 5-9 $ ต่ออุปกรณ์ คุณสามารถสังหาร 7 ชิปสำหรับราคา 1 Pi3 เห็นได้ชัดว่าคุณยังคงต้องแก้ไขปัญหาที่แรงดันไฟฟ้า kill ถึงพอร์ต USB แต่อย่างน้อยเวิร์กสเตชันของคุณจะปลอดภัย อย่าเชื่อมต่อกับ LAN ของคุณด้วยอีเธอร์เน็ต

การถ่ายโอนไฟล์เป็นเพียงเรื่องของการใช้การเข้าถึง ssh แบบไม่มีรหัสผ่านบนคีย์ไปยังไฟล์ scp ไปยัง Pi / อื่น ๆ และรีโมตเชลล์เพื่ออัพโหลด สำหรับ arduino มีแพ็คเกจ arduino-mk และมีเครื่องมือที่คล้ายกันสำหรับ PIC ไม่ต้องสงสัยเลยว่าคุณสามารถบันทึกไฟล์ของคุณในการแชร์ SMB / CIFS ที่ส่งออกและใช้ remote shell เพื่อสร้างและอัพโหลดไปยังบอร์ดของคุณ

หาก kill-voltage เกิดขึ้นอีกครั้งคุณจะเสีย 30-35 $ เท่านั้น

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

นอกจากนี้พอร์ต USB มักโพลีผสมกับแรงดันไฟฟ้าปานกลาง คุณต้องวางแรงดันไฟฟ้าลบบนพิน 5V เพื่อฆ่าพอร์ต (หรือบวกกับพิน GND) คอนโทรลเลอร์และเมนบอร์ด คุณจัดการแล็ปท็อปสองเครื่องได้อย่างไร มันเป็นความมหัศจรรย์ของการสลับกระแสที่ทำงานหรือไม่?

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