สารบัญ:
- ขั้นตอนที่ 1: ภาพรวมฮาร์ดแวร์ 3EEPROM
- ขั้นตอนที่ 2: 25AA- / 25LC- SPI EEPROM
- ขั้นตอนที่ 3: 24AA- / 24LC I2C EEPROM
- ขั้นตอนที่ 4: DS2431 1-Wire EEPROM
- ขั้นตอนที่ 5: บทสรุป
วีดีโอ: Bus Pirate 3EEPROM Explorer Board: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
หากคุณมีหนึ่งใน Hack a Day's Bus Pirates คุณจะทำอย่างไรกับมัน? เรียนรู้เกี่ยวกับ 1-wire, I2C และ SPI EEPROM ด้วยบอร์ดสำรวจ 3EEPROM (เราเรียกว่า THR-EE-PROM)EEPROM เป็นชิปหน่วยความจำประเภทหนึ่งที่จัดเก็บข้อมูลโดยไม่ต้องใช้แหล่งจ่ายไฟอย่างต่อเนื่อง มีประโยชน์สำหรับการจัดเก็บข้อมูลถาวรในวงจรตัวตัดไม้ขนาดเล็ก หรือการถือเพจที่กำหนดเองในเว็บเซิร์ฟเวอร์ขนาดเล็ก EEPROM มีหลายขนาดและโปรโตคอล 3EEPROM มีชิป EEPROM ทั่วไปสามตัว: DS2431 (1-Wire), 24AA- (I2C) และ 25AA- (SPI) ทั้งสามได้รับการสาธิตก่อนหน้านี้ใน Hack a Day แต่การสาธิตแต่ละครั้งใช้ฮาร์ดแวร์และเฟิร์มแวร์ Bus Pirate เวอร์ชันอื่น ซึ่งยากสำหรับผู้เริ่มต้นที่จะปฏิบัติตามโดยใช้ Bus Pirate v2go โปรดอ่านข้อมูลอัปเดตทีละขั้นตอนเพื่อใช้งาน DS2431, 24AA- และ 25AA- EEPROMs พร้อม Bus Pirate v2go นอกจากนี้เรายังมีบันทึกเซสชันแบบเต็มเป็นไฟล์ข้อความ ดังนั้นคุณจะไม่พลาดทุกรายละเอียด เราสามารถมี 3EEPROM explorer board PCBs หรือชุดอุปกรณ์ที่ผลิตขึ้นที่ Seeed Studio PCBs อยู่ที่ประมาณ $10 ชุดคิทประมาณ $15 จัดส่งทั่วโลก เราจำเป็นต้องจัดซื้อกลุ่ม 10 PCBs หรือ 20 ชุดเพื่อเริ่มต้น หากคุณสนใจ Bus Pirate เวอร์ชัน 3 กำลังจะมาถึง ฉันไม่สามารถรวมองค์ประกอบการจัดรูปแบบและตาราง HTML ใน Instructable ได้ คุณสามารถดูโพสต์ต้นฉบับได้ที่บล็อก Dangerous Prototypes
ขั้นตอนที่ 1: ภาพรวมฮาร์ดแวร์ 3EEPROM
เป้าหมายของต้นแบบนี้คือการเรียนรู้เกี่ยวกับ EEPROM และโปรโตคอลบัสทั่วไปสามตัว ก่อนอื่นเราดูที่ 3EEPROM PCB จากนั้นเราสาธิต EEPROM แต่ละตัวโดยใช้เครื่องมืออินเทอร์เฟซอนุกรมสากลของ Bus Pirate หากคุณไม่มี Bus Pirate คุณยังสามารถทำตามได้ เนื่องจากลำดับการทำงานของอินเทอร์เฟซพื้นฐานยังคงเหมือนเดิมไม่ว่าคุณจะใช้งานอย่างไร แผนผังวงจรขนาดเต็ม [PNG] เราสร้างวงจรและ PCB โดยใช้ Cadsoft Eagle เวอร์ชันฟรีแวร์ คุณสามารถดาวน์โหลดแผนผังและ PCB ได้จากไฟล์เก็บถาวร Bus Pirate SVN 3EEPROM PCB มี DS2431 1-Wire EEPROM (IC1), 24AA- I2C EEPROM (IC4) และ 25AA- SPI EEPROM (IC5) DS2431 (IC1) ดึงพลังงานแบบปรสิตจากบัส 1-Wire มันไม่มีพินของพาวเวอร์ซัพพลายภายนอกและไม่ต้องการตัวเก็บประจุแบบแยกคัปปลิ้ง IC2 และ IC3 เป็นจุดว่างสำหรับอุปกรณ์ 1-Wire เพิ่มเติม เช่น DS2431 อื่นหรือเซ็นเซอร์อุณหภูมิ DS1822 C1 (0.01uF) เป็นทางเลือกและจำเป็นเฉพาะในกรณีที่มีการติดตั้ง IC2 หรือ IC3 ด้วยอุปกรณ์ 1-Wire ที่จ่ายไฟ 1-Wire ต้องใช้ตัวต้านทานแบบดึงขึ้นที่แข็งแกร่ง สูงสุด 2.2K โอห์ม ตัวต้านทานแบบดึงขึ้นบนบอร์ดของ Bus Pirate อยู่ที่ 10K ซึ่งอ่อนเกินไปที่จะจ่ายไฟให้กับ DS2431 อย่างเหมาะสมระหว่างการเขียน บอร์ดสำรวจ 3EEPROM ประกอบด้วยตัวต้านทานดึงขึ้น 1.8k ohm 1/8 วัตต์ (R1) บนบัส 1-Wire เพื่อไม่ให้มีตัวต้านทานแบบดึงขึ้นเพิ่มเติม 24AA- (IC4) และ 25AA- (IC5) แต่ละตัวจะได้รับตัวเก็บประจุ 0.1uF เพื่อแยกพวกมันออกจากแหล่งจ่ายไฟ (C2, C3) คุณอาจไม่ต้องการตัวเก็บประจุในวงจรง่ายๆ เช่นนี้ เราละเว้นจากบอร์ดต้นแบบในการสาธิต บัส I2C ที่ใช้โดย 24AA- ยังต้องการตัวต้านทานแบบดึงขึ้น แต่ตัวต้านทานแบบดึงขึ้น 10K ohm บนบอร์ดของ Bus Pirate ก็เพียงพอแล้ว ส่วนประกอบทั้งหมดจะทำงานจาก 2.8 โวลต์ถึง 5 โวลต์ DC วงจรนี้ขับเคลื่อนผ่านพิน VCC และ GND ของจัมเปอร์ 3 มีพิน VCC สองตัว อันหนึ่งใช้สำหรับจ่ายไฟ อีกอันสำหรับพินอินพุตแรงดันไฟฟ้าตัวต้านทานแบบดึงขึ้นของ Bus Pirate (Vpullup) PCB เราทำวงจรและ PCB โดยใช้ Cadsoft Eagle เวอร์ชันฟรีแวร์ คุณสามารถดาวน์โหลดแผนผังและ PCB ได้จากไฟล์เก็บถาวร Bus Pirate SVN หากคุณต้องการชุด PCB หรือ 3EEPROM ที่จัดเตรียมอย่างมืออาชีพ เราอาจจัดซื้อเป็นกลุ่มได้หากมีผู้สนใจ 10 หรือ 20 คน รายการชิ้นส่วน R1 ตัวต้านทาน 1800 โอห์ม (วัตต์ 1/8) C2, ตัวเก็บประจุ 3 0.1uF/10 โวลต์+JP1-4 0.1" หัวเสียบขาชายIC1 DS2431 1K 1-wire EEPROM TO-92IC4** 24AA014-I/P I2C EEPROM DIP8IC5** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8 พิน DIP socket สำหรับ IC5, 6**IC4, IC5 มีขนาดใดก็ได้ เราเชื่อมโยงกับชิปขนาดเล็ก เราใช้ 128bytes และ 128Kbytes ฉันไม่สามารถรวมการจัดรูปแบบและตาราง HTML บางส่วน ใน Instructable คุณสามารถดูโพสต์ต้นฉบับได้ที่บล็อก Dangerous Prototypes
ขั้นตอนที่ 2: 25AA- / 25LC- SPI EEPROM
การสาธิตการสาธิต EEPROM ทั้งหมดดูค่อนข้างเหมือนกัน เราจะเขียนตัวเลขสองสามตัวลงบนชิปแล้วอ่าน อุปกรณ์แต่ละเครื่องมีเงื่อนไขที่ใช้เมื่อคุณต้องการเขียนค่ามากกว่าสองสามค่า เช่น ขนาดหน้าและข้อจำกัดขอบเขต อ่านเพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในเอกสารข้อมูลสำหรับอุปกรณ์เฉพาะของคุณ หากคุณไม่สามารถสาธิตการใช้งานได้ ให้ดาวน์โหลดบันทึกเทอร์มินัลทั้งหมด เพื่อให้คุณไม่พลาดสิ่งที่เราทำ ตัวต้านทานแบบดึงขึ้นเป็นปัญหาที่พบบ่อยที่สุด ตรวจสอบแรงดันพินแบบดึงขึ้นโดยใช้เมนู 'v' ในเทอร์มินัล Bus Pirate ชิป: 25AA, SPI EEPROM (1Kbyte) รถบัส:SPI ตัวต้านทานแบบดึงขึ้นจำเป็นสำหรับการเชื่อมต่อแรงดันไฟฟ้าแบบผสมเท่านั้น ข้อกำหนดด้านพลังงาน: 1.8 โวลต์ถึง 5.5 โวลต์ (AA), 2.5 โวลต์ถึง 5.5 โวลต์ (LC) ข้อมูลอ้างอิง: แผ่นข้อมูล การสาธิตการแฮ็กวัน บันทึกเซสชัน Bus Pirate ที่สมบูรณ์สำหรับการสาธิตนี้ ฉันไม่สามารถรวมการจัดรูปแบบและตาราง HTML ใน Instructable ได้ คุณสามารถดูต้นฉบับได้ที่บล็อก Dangerous Prototypes IC5 คือ 25AA- series I2C EEPROM จาก Microchip EEPROM เหล่านี้มีหลายขนาด ชิ้นส่วน AA ทำงานตั้งแต่ 1.8 โวลต์ถึง 5.5 โวลต์ ในขณะที่ชิ้นส่วน 25LC- มีข้อกำหนดขั้นต่ำ 2.5 โวลต์ C3 (0.1uF) จะแยก SPI EEPROM ออกจากแหล่งจ่ายไฟ ไมโครคอนโทรลเลอร์ควบคุมการเขียน (WP) และหมุดยึดไว้ได้ แต่เราปิดการใช้งานโดยถือหมุดเหล่านี้ไว้สูง หมุดบัส SPI, CS, DO, CLK และ DI ถูกนำไปที่ส่วนหัว JP4 ตั้งค่า หากคุณกำลังใช้ Bus Pirate ให้เชื่อมต่อกับ 3EEPROM หรือ 25AA- IC ดังที่แสดงในภาพแผนภูมิด้านล่าง โดยปกติแล้ว SPI จะไม่ต้องการตัวต้านทานแบบดึงขึ้น การเชื่อมต่อในเทอร์มินัล Bus Pirate กด 'm' สำหรับเมนูโหมดและเลือก SPI กำหนดค่าไลบรารี SPI สำหรับเอาต์พุตพินปกติ ใช้ค่าเริ่มต้นสำหรับการตั้งค่าโหมด SPI อื่นๆ ทั้งหมด เปิดใช้งานอุปกรณ์จ่ายไฟ ('W' ขนาดใหญ่) ที่ข้อความแจ้งโหมด SPI สุดท้าย รับรายงานแรงดันไฟฟ้าเพื่อให้แน่ใจว่าอุปกรณ์จ่ายไฟทำงาน ('v') เราจะสาธิตวิธีเชื่อมต่อ EEPROM โดยตรงที่ 3.3 โวลต์โดยใช้ไลบรารี SPI ในโหมดพินปกติ ไม่จำเป็นต้องใช้ตัวต้านทานแบบดึงขึ้นสำหรับการสาธิตนี้ หากคุณต้องการเชื่อมต่อ EEPROM ที่ใช้พลังงาน 5 โวลต์ ให้ใช้ไลบรารี SPI ในโหมดพิน open collector (HiZ) และเปิดใช้งานตัวต้านทานแบบดึงขึ้นด้วยพิน Vpullup (Vpu) ที่เชื่อมต่อกับแหล่งจ่ายไฟของ EEPROM ขั้นตอนที่ 1 ปิดการป้องกันการเขียน' SPI>[0b110]CS ENABLED <<<chip select enableWRITE: 0x06 <<<disable write protect commandCS DISABLED <<
ขั้นตอนที่ 3: 24AA- / 24LC I2C EEPROM
ชิป: 24AA, I2C EEPROM (1Kbyte) บัส:I2C ต้องใช้ตัวต้านทานแบบดึงขึ้น ข้อกำหนดด้านพลังงาน: 1.8 โวลต์ถึง 5.5 โวลต์ (24AA) 2.5 โวลต์ถึง 5.5 โวลต์ (24LC) ข้อมูลอ้างอิง: แผ่นข้อมูล การสาธิตการแฮ็กวัน บันทึกเซสชัน Bus Pirate ที่สมบูรณ์สำหรับการสาธิตนี้ ฉันไม่สามารถรวมการจัดรูปแบบและตาราง HTML บางส่วนใน Instructable ได้ คุณสามารถดูต้นฉบับได้ที่บล็อก Dangerous Prototypes IC4 คือ I2C EEPROM ของ I2C ซีรีส์ 24AA จาก Microchip EEPROM เหล่านี้มาในรูปแบบ ขนาดตัน ชิ้นส่วน AA ทำงานตั้งแต่ 1.8 โวลต์ถึง 5.5 โวลต์ ในขณะที่ชิ้นส่วน 24LC- มีข้อกำหนดขั้นต่ำ 2.5 โวลต์ ตัวเก็บประจุ 0.1uF (C2) จะแยก IC4 ออกจากแหล่งจ่ายไฟ หมุดป้องกันการเขียน (WP) สามารถควบคุมได้จากไมโครคอนโทรลเลอร์ แต่สำหรับการสาธิตง่ายๆ นี้ เราปิดการใช้งานด้วยการเชื่อมต่อกับกราวด์ หมุดบัส I2C, SDA และ SCL ถูกนำออกมาที่ส่วนหัว JP2 ที่อยู่ของ 24AA EEPROM ส่วนใหญ่คือ 1010AAAS โดยสี่บิตสุดท้ายกำหนดโดยหมุดที่อยู่ (A0, A1, A2) และบิตเลือกโหมดอ่าน/เขียน (NS). บิตที่อยู่ทั้งหมดถูกต่อสายดินในตัวอย่างนี้ ดังนั้นที่อยู่เขียนของ EEPROM คือ 10100000 (แผ่นข้อมูล หน้า 6) ตั้งค่า หากคุณกำลังใช้ Bus Pirate ให้เชื่อมต่อกับ 3EEPROM หรือ 24AA- IC ดังแสดงในภาพแผนภูมิด้านล่าง I2C เป็นบัสแบบสองทิศทางที่ต้องใช้ตัวต้านทานแบบดึงขึ้นบนพินทั้งสอง คุณสามารถใช้ตัวต้านทานแบบดึงขึ้นบนบอร์ดของ Bus Pirate ได้โดยเชื่อมต่อพิน Vpullup (Vpu) กับแหล่งจ่ายไฟ 3.3 โวลต์และเปิดใช้งานในเทอร์มินัล หมายเหตุการเชื่อมต่อ: I2C EEPROM บางตัวอาจไม่ทำงานเหมือนกัน ตัวอย่างเช่น 24AA01 ขนาดเล็กมีระบบการกำหนดที่อยู่และคำสั่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง อย่าลืมตรวจสอบแผ่นข้อมูลสำหรับชิปของคุณ กด 'm' ในเทอร์มินัล Bus Pirate และเลือก I2C จากเมนูโหมด เปิดใช้งานอุปกรณ์จ่ายไฟ ('W' ขนาดใหญ่) และตัวต้านทานแบบดึงขึ้น ('p' ตัวเลือก 2) ที่พรอมต์ I2C รับรายงานแรงดันไฟฟ้า ('v') เพื่อให้แน่ใจว่าอุปกรณ์จ่ายไฟเปิดอยู่และพิน Vpullup เชื่อมต่อกับแรงดันไฟฟ้า I2C>(0) <<
ขั้นตอนที่ 4: DS2431 1-Wire EEPROM
ชิป: DS2431, EEPROM 1 สาย (1Kbyte) Bus: 1-Wire, <2.2Kohm ต้องมีตัวต้านทานแบบดึงขึ้น ข้อกำหนดด้านพลังงาน: 2.8volts ถึง 5.25volts. References: แผ่นข้อมูล, การสาธิต Hack a Day บันทึกเซสชัน Bus Pirate ที่สมบูรณ์ สำหรับการสาธิตนี้ ฉันไม่สามารถรวมการจัดรูปแบบและตาราง HTML ใน Instructable ได้ คุณสามารถดูต้นฉบับได้ที่บล็อก Dangerous Prototypes DS2431 ดึงพลังงานจากตัวต้านทานแบบดึงขึ้นและไม่ต้องการแหล่งจ่ายภายนอกหรือตัวเก็บประจุแบบแยกส่วน. 1-Wire ต้องการตัวต้านทานแบบดึงขึ้นที่แข็งแกร่ง สูงสุด 2.2Kohms ตัวต้านทานแบบดึงขึ้นบนบอร์ดของ Bus Pirate อยู่ที่ 10K ซึ่งอ่อนเกินไปที่จะจ่ายไฟให้กับ DS2431 อย่างเหมาะสมระหว่างการเขียน คุณต้องใช้ตัวต้านทานภายนอก 2.2Kohm หรือเล็กกว่าระหว่างกำลังไฟฟ้ากับพินบัส 1-Wire หากคุณมีปัญหาในการเขียนข้อมูล ตรวจสอบให้แน่ใจว่าตัวต้านทานแบบดึงขึ้นของคุณมีขนาดใหญ่เพียงพอ บอร์ดสำรวจ 3EEPROM มีตัวต้านทานดึงขึ้น 1800 โอห์ม (R1) บนบัส 1-Wire ดังนั้นจึงไม่จำเป็นต้องใช้ตัวต้านทานภายนอก ตั้งค่า หากคุณกำลังใช้ Bus Pirate ให้เชื่อมต่อกับบอร์ด 3EEPROM หรือ DS2431 ตามที่แสดงในแผนภูมิด้านล่าง DS2431 ไม่ต้องใช้พินของพาวเวอร์ซัพพลาย แต่ใช้กับบอร์ด 3EEPROM เพื่อจ่ายไฟให้กับตัวต้านทานแบบดึงขึ้นขนาดใหญ่สำหรับบัส 1-Wire การเชื่อมต่อ กด 'm' ในเทอร์มินัล Bus Pirate และเลือกโหมด 1-Wire เปิดใช้งานแหล่งจ่ายไฟออนบอร์ด ('W' ขนาดใหญ่) และตรวจสอบแรงดันไฟฟ้า (v) ขั้นตอนที่ 1 ค้นหาที่อยู่อุปกรณ์ 1-WIRE>(0xf0) <<<มาโครค้นหา 1-Wire 1WIRE ROM COMMAND: SEARCH (0xF0) พบอุปกรณ์ที่: Macro 1WIRE address1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<<DS2431 ID เฉพาะ * DS2431 1K EEPROM <<
ขั้นตอนที่ 5: บทสรุป
บทสรุป ต้นแบบนี้สอนเกี่ยวกับหน่วยความจำ EEPROM และสาธิตวิธีใช้ Bus Pirate กับโปรโตคอลทั่วไปสามแบบ: 1-Wire, I2C และ SPI บอร์ดสำรวจ 3EEPROM ช่วยให้มั่นใจถึงการเชื่อมต่อที่เหมาะสมกับ EEPROM แต่ละตัว และให้ตัวต้านทานแบบดึงขึ้นภายนอกสำหรับ บัส 1-Wire ที่มีความต้องการมากขึ้นพร้อมส่วนประกอบที่ขับเคลื่อนด้วยปรสิต เราสามารถมี 3EEPROM explorer board PCBs หรือชุดอุปกรณ์ที่ผลิตขึ้นที่ Seeed Studio PCBs อยู่ที่ประมาณ $10 ชุดคิทประมาณ $15 จัดส่งทั่วโลก เราจำเป็นต้องจัดซื้อกลุ่ม 10 PCB หรือ 20 ชุดเพื่อเริ่มต้น
แนะนำ:
มาตรวัดรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus: 8 ขั้นตอน
มาตรวัดรอบ/การสแกนโดยใช้ Arduino, OBD2 และ CAN Bus: เจ้าของ Toyota Prius (หรือรถยนต์ไฮบริด/รุ่นพิเศษอื่นๆ) จะรู้ว่าแผงหน้าปัดของพวกเขาอาจไม่มีแป้นหมุนสองสามหน้าปัด! prius ของฉันไม่มีรอบเครื่องยนต์หรือมาตรวัดอุณหภูมิ หากคุณเป็นคนที่ชอบแสดง คุณอาจต้องการทราบสิ่งต่าง ๆ เช่น การกำหนดเวลาล่วงหน้าและ
Roomba Explorer: 4 ขั้นตอน
Roomba Explorer: ด้วยการใช้ MATLAB และ Create2 Robot ของ iRobot โครงการนี้จะสำรวจพื้นที่ต่างๆ ของตำแหน่งที่ไม่รู้จัก เราใช้เซ็นเซอร์บน Robot เพื่อช่วยในการเคลื่อนที่ในภูมิประเทศที่อันตราย โดยรับภาพถ่ายและฟีดวิดีโอจาก Raspberry Pi ที่
แป้นพิมพ์ลัดสำหรับ Internet Explorer!!: 4 ขั้นตอน
แป้นพิมพ์ลัดสำหรับ Internet Explorer!!: คำแนะนำนี้จะแสดงแป้นพิมพ์ลัดที่เป็นประโยชน์สำหรับ internet explorer โปรดสมัครรับข้อมูลจากช่องของฉันขอบคุณ
Roomba Scout Explorer: 8 ขั้นตอน
Roomba Scout Explorer: ในฐานะหนึ่งในโปรเจ็กต์ของอเมริกาที่ทุกคนตั้งตารอและได้รับการวิจัยอย่างหนัก โครงการสำรวจดาวอังคารได้กลายเป็นความสำเร็จของมนุษย์ในการผลิตระบบอัตโนมัติที่มีเทคโนโลยีสูงที่ก้าวหน้าอย่างต่อเนื่องเพื่อจุดประสงค์เดียวในการสืบสวนและค้นคว้า
HD44780 บอร์ดอะแดปเตอร์ LCD เป็น I2C สำหรับ Bus Pirate: 9 ขั้นตอน
HD44780 LCD to I2C Adapter Board สำหรับ Bus Pirate: LCD ตัวอักษรราคาถูกที่ใช้ชิปเซ็ต HD44780 มีหลายขนาด: 2x16, 4x20 ฯลฯ จอแสดงผลเหล่านี้มีโหมดอินเทอร์เฟซมาตรฐานสองโหมดคือ 4 บิตและ 8 บิตแบบขนาน 8bit ต้องการทั้งหมด 11 สายข้อมูล 4bit ต้องการ 7 (6 สำหรับการเขียนเท่านั้น) บาง