การเชื่อมต่ออีเธอร์เน็ตที่มี Microchip ENC28J60 ในตัว

การเชื่อมต่ออีเธอร์เน็ตที่มี Microchip ENC28J60 ในตัว

การเชื่อมต่ออีเธอร์เน็ตที่มี Microchip ENC28J60 ในตัว

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

สารบัญ

    Su เอสพีไอ บัส สามารถทำงานได้ที่ความเร็วสูงสุด 20 MHz และการเชื่อมต่อ Ethernet มีความเร็วสูงสุด 10 Mbit/s (10BASE-T) โหมดที่รองรับ ดูเพล็กซ์ (ฟูลดูเพล็กซ์) และเซมิดูเพล็กซ์ (ฮาล์ฟดูเพล็กซ์) พร้อมการตรวจจับและแก้ไขขั้วไฟฟ้าอัตโนมัติ แม้ว่า 10 Mbit/s อาจดูเหมือนเป็นความเร็วต่ำเมื่อเทียบกับเครือข่าย อีเทอร์เน็ต GigaBit ซึ่งเป็นเรื่องธรรมดาที่สุดในปัจจุบัน แต่ก็เกินพอที่จะรวมอุปกรณ์ไมโครคอนโทรลเลอร์ขนาดเล็กเข้ากับเครือข่าย เช่น เพื่อทำหน้าที่ต่างๆ เช่น วัตถุของ IoT (อินเทอร์เน็ตของสรรพสิ่ง อินเทอร์เน็ตของสรรพสิ่ง)

    ทำงานที่ 3,3 V แม้ว่าจะทนทานต่อสัญญาณ 5 V ได้ ทำให้ง่ายต่อการรวมเข้ากับไมโครคอนโทรลเลอร์ต่างๆ รวมทั้งทำงานร่วมกับไมโครคอนโทรลเลอร์ระหว่างการสร้างต้นแบบหรือการทดสอบ

    การเชื่อมต่อกับ MCU ของ ENC28J60 Ethernet SPI 10BASE-T

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

    นอกเหนือจากออสซิลเลเตอร์ 25 MHz (คริสตัลที่มีตัวเก็บประจุที่สอดคล้องกัน) การกำหนดค่าทั่วไปยังต้องมีขั้วต่อและหม้อแปลงอีเทอร์เน็ตซึ่งมักจะห่อหุ้มไว้พร้อมกับส่วนประกอบอื่นๆ เช่น ตัวต้านทานหรือ LED เพื่อรายงานลิงก์และสถานะการรับ/การรับ ในบล็อกที่มีขั้วต่อ RJ45.

    ENC28J60 โมดูลอีเธอร์เน็ต SPI 10BASE-T

    ผลิตขึ้นเพื่อ ติดบนพื้นผิว (SMT/SMD) ในแพ็คเกจ 28 พิน SPDIP (DIP ที่มีความหนาแน่นของพินสูงกว่า), สพป, วินาที y คิวเอฟเอ็น ดังนั้น เพื่อทำการทดสอบหรือสร้างต้นแบบ เรามักจะทำงานกับโมดูลเหมือนกับในภาพก่อนหน้า ซึ่งนอกจากนี้ แต่ละยูนิตยังหาได้ง่ายอีกด้วย เมื่อเทียบกับโมดูลแบบรวมเอง ซึ่งโดยปกติแล้วจะวางตลาดเป็นชุดจำนวนมาก

         

    แบบบูรณาการ ENC28J60

         
    วีแคป 01 28 จริง
    ปะทะ 02 27 แอลอีดีเอ
    CLKOUT 03 26 แอลอีดีบี
    INT 04 25 Vddosc
    NC 05 24 OSC2
    SO 06 23 OSC1
    SI 07 22 VSOSSC
    SCK 08 21 VSspll
    CS 09 20 Vddpll
    RESET 10 19 Vddrx
    Vssrx 11 18 VSSTX
    ทีพิน- 12 17 ทีพีเอาท์+
    ทีพิน+ 13 16 ทีพีเอาท์-
    อาร์บีเอเอส 14 15 Vddtx
               

    นอกเหนือจาก (1) แหล่งจ่ายไฟ เมื่อติดตั้งยูนิตรวมแล้ว (2) การเชื่อมต่อจะถูกเปิดเผย อีเธอร์เน็ต ผ่านปลายขั้วต่อ RJ45 และสำหรับส่วนที่ควบคุมด้วยไมโครของชุดประกอบ เอสพีไอ บัส (MOSI/MISO/SCLK/CS) และ (3) จัดการโดยตรงโดยไมโครคอนโทรลเลอร์หรือส่วนอื่นของชุดประกอบอิเล็กทรอนิกส์สามารถเชื่อมต่อได้ INTซึ่งสามารถใช้เป็น WOL (Wake-On-LAN) หรือการปลุกระยะไกลผ่านเครือข่าย (Remote Wake-up), RESET และการเชื่อมต่อกับนาฬิกาภายนอก CLKOUT

    แผนภาพการเชื่อมต่อสัญลักษณ์ ENC28J60

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

    ENC28J60 Arduino UNO Arduino เมกะ/เนื่องจาก Arduino Leonardo
    มิโซะ (SO) มิโซะ (พิน 12) มิโซะ (พิน 50) มิโซะ (คอนเนคเตอร์ ICSP)
    โมซี่ (ใช่) โมซี่ (พิน 11) โมซี่ (พิน 51) MOSI (ขั้วต่อ ICSP)
    SCK เอสซีเค (พิน 13) เอสซีเค (พิน 52) SCK (ขั้วต่อ ICSP)
    RESET RESET RESET RESET
    INT INT0 (พิน 2) INT4 (พิน 2) INT0 (พิน 2)
    SS (CS) SS (พิน 10)* SS (พิน 53)* พิน 10*
    วีดีดี (3,3V) 3V3 3V3 3V3
    ปะทะ (GND) GND GND GND

    โดยทั่วไปแล้ว การเชื่อมต่อเป็นสิ่งที่คาดหวังได้จากสิ่งที่กล่าวไว้ (และตรรกะ) แต่มีความแตกต่างบางประการระหว่างบอร์ด ในกรณีของ Arduino Leonardoเว้นแต่ว่าพิน SS จะถูกบัดกรีด้วยตนเองบนบอร์ด (เป็นเรื่องปกติที่จะเพิ่มพิน 22-CTS และ 8-SS) มีการใช้พิน 10 ซึ่งไม่มีการกำหนดนี้ ดังนั้นจะต้องพิจารณาในซอฟต์แวร์ควบคุม ในทางกลับกัน ไม่จำเป็นต้องใช้พิน "มาตรฐาน" เพื่อเลือก (เปิดใช้งาน) อุปกรณ์สลาฟ แต่ไลบรารีอีเทอร์เน็ตส่วนใหญ่ในการจัดการอุปกรณ์แบบรวมคาดว่าจะใช้พินนั้น (และเพื่อจุดประสงค์นั้น) ดังนั้นพวกเขาจึงจะมี ที่จะแก้ไขในกรณีตรงกันข้ามและในบางกรณี (บางห้องสมุด) เมื่อใช้งานบอร์ด เลโอนาร์โด.

    การปรับเปลี่ยน Arduino Leonardo เพื่อเพิ่มพิน SS และ CTS

    ข้อควรพิจารณาอีกประการหนึ่งที่ต้องดูแลก็สอดคล้องกับจานด้วย เลโอนาร์โด และการใช้ขั้วต่อ ICSP แทนที่จะเป็นอันที่เกี่ยวข้อง (ของบล็อกด้านข้าง) บนจาน Arduino UNO

    แสดงความคิดเห็น

    คุณอาจจะพลาด