Man et mini spi can1

16
คูมือการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0 ETT CO.,LTD -1- WWW.ETT.CO.TH ET-MINI SPI CAN CONTROL V1.0 CAN หรือ Controller Area Network เปนระบบสื่อสารซึ่งไดรับการ คิดคน พัฒนา ขึ้นมาใชงานใน แวดวงอุตสาหกรรมการผลิต และ อุตสาหกรรมยานยนต เปนเวลาหลายสิบป มาแลว แตในระยะแรกๆยัง เปนที่รูจักกันในวงแคบๆ เฉพาะกลุมเทานั้น แตในปจจุบันระบบการสื่อสาร CAN เริ่มกับมามีความคึกคัก และถูกนํามาพัฒนาใชงานกันอยางแพรหลายมากขึ้น โดยเฉพาะอยางยิ่งในอุตสาหกรรมยานยนต การ สื่อสารแบบ CAN เริ่มถูกใชกําหนดเปนมาตรฐาน สําหรับสื่อสารกับ สมองกล ECU ของยานยนตรุนใหมๆ รวมทั้งในแวดวงอุตสาหกรรมอื่นๆ ระบบการสื่อสารแบบ CAN ก็ถูกนําไปประยุกตใชงานอยางหลากหลาย เชนเดียวกัน ซึ่งในแวดวงของ ไมโครคอนโทรลเลอรเอง ผูพัฒนาชิพ จากคายตางๆ ก็ไดมีการบรรจุ วงจรการ สื่อสารแบบ CAN ไวเปนอุปกรณมาตรฐานในตัว MCU กันอยางแพรหลายเชนเดียวกัน ET-MINI SPI CAN CONTROL V1.0 เปนบอรด CAN Controller แบบใชการเชื่อมตอผาน SPI โดยเลือกใช CAN Controller เบอร MCP2515 ของ Microchips รองรับการสื่อสารกับระบบ CAN ภายใต มาตรฐาน CAN2.0B กลาวคือ รองรับการสื่อสาร CAN ทั้งแบบ Standard Frame, Extend Frame และ Remote Frame โดยบอรด ET-MINI SPI CAN CONTROL V1.0 เหมาะสําหรับนําไปปรับปรุงระบบเดิม เพื่อเพิ่มเติมประยุกตใชในการสื่อสารผานระบบ CAN กับงานเดิมที่ใชกับไมโครคอนโทรลเลอรเบอรที่ผูใช รูจักและคุนเคยมากอนแลว แตภายในไมโครคอนโทรลเลอรนั้นยังไมมีโมดูล CAN บรรจุไวภายในตัวดวย แตสําหรับกรณีของผูที่คิดจะเริ่มตนใหมกับไมโครคอนโทรลเลอร และมีความสนใจอยากจะศึกษา เรียนรูระบบการสื่อสารของ CAN ดวย อาจไปเลือกใช ไมโครคอนโทรลเลอรเบอรที่มีการบรรจุวงจรสื่อสาร ของ CAN รวมไวภายในตัวไมโครคอนโทรลเลอรโดยตรงจะสะดวกและเหมาะสมมากกวา

Transcript of Man et mini spi can1

Page 1: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -1- WWW.ETT.CO.TH

ET-MINI SPI CAN CONTROL V1.0

CAN หรอ Controller Area Network เปนระบบสอสารซงไดรบการ คดคน พฒนา ขนมาใชงานในแวดวงอตสาหกรรมการผลต และ อตสาหกรรมยานยนต เปนเวลาหลายสบป มาแลว แตในระยะแรกๆยงเปนทรจกกนในวงแคบๆ เฉพาะกลมเทานน แตในปจจบนระบบการสอสาร CAN เรมกบมามความคกคก และถกนามาพฒนาใชงานกนอยางแพรหลายมากขน โดยเฉพาะอยางยงในอตสาหกรรมยานยนต การสอสารแบบ CAN เรมถกใชกาหนดเปนมาตรฐาน สาหรบสอสารกบ สมองกล ECU ของยานยนตรนใหมๆ รวมทงในแวดวงอตสาหกรรมอนๆ ระบบการสอสารแบบ CAN กถกนาไปประยกตใชงานอยางหลากหลาย เชนเดยวกน ซงในแวดวงของ ไมโครคอนโทรลเลอรเอง ผพฒนาชพ จากคายตางๆ กไดมการบรรจ วงจรการสอสารแบบ CAN ไวเปนอปกรณมาตรฐานในตว MCU กนอยางแพรหลายเชนเดยวกน

ET-MINI SPI CAN CONTROL V1.0 เปนบอรด CAN Controller แบบใชการเชอมตอผาน SPI

โดยเลอกใช CAN Controller เบอร MCP2515 ของ Microchips รองรบการสอสารกบระบบ CAN ภายใตมาตรฐาน CAN2.0B กลาวคอ รองรบการสอสาร CAN ทงแบบ Standard Frame, Extend Frame และ Remote Frame โดยบอรด ET-MINI SPI CAN CONTROL V1.0 เหมาะสาหรบนาไปปรบปรงระบบเดมเพอเพมเตมประยกตใชในการสอสารผานระบบ CAN กบงานเดมทใชกบไมโครคอนโทรลเลอรเบอรทผใชรจกและคนเคยมากอนแลว แตภายในไมโครคอนโทรลเลอรนนยงไมมโมดล CAN บรรจไวภายในตวดวย

แตสาหรบกรณของผทคดจะเรมตนใหมกบไมโครคอนโทรลเลอร และมความสนใจอยากจะศกษาเรยนรระบบการสอสารของ CAN ดวย อาจไปเลอกใช ไมโครคอนโทรลเลอรเบอรทมการบรรจวงจรสอสารของ CAN รวมไวภายในตวไมโครคอนโทรลเลอรโดยตรงจะสะดวกและเหมาะสมมากกวา

Page 2: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -2- WWW.ETT.CO.TH

คณสมบตของ CAN Controller เบอร MCP2515 ของ Microchips

• รองรบมาตรฐาน Protocol การสอสาร CAN2.0B สามารถกาหนดขนาดขอมลในการสอสารไดตงแต 0-8 Byte ทงแบบ Standard Frame และ Extended Frame และ Remote Frame

• ม 29 Bit Filter จานวน 6 ชด และ 29 Bit พรอม Mask จานวน 2 ชด สาหรบภาครบขอมล

• มระบบ Data Byte Filter เพอคดกรองขอมลทไมตองการรบทงไป

• ม Transmitter Buffer สาหรบบรรจเฟรมขอมลสาหรบสงขอมลจานวน 3 ชด

• เชอมตอกบ Micro Controller ผาน SPI ดวยความเรวสงสด 10 MHz

• มสญญาณ Start-of-Frame(SOF) สาหรบแสดงสถานะของการตรวจจบขอมลทรบเขามาได • มสญญาณ Interrupt ซงสามารถกาหนดและควบคมการทางานจากโปรแกรมได • มสญญาณแสดงสถานะของ Buffer Full

• มสญญาณ Request-to-Send(RTS) สาหรบควบคมการสงขอมล

• ทางานทแรงดน 2.5V-5.5V

คณสมบตของ CAN Transceiver เบอร SN65HVD232D ของ Texas Instruments

• รองรบการเชอมตอกบ CAN Controller Logic ทงระบบ 5V และ 3.3V

• รองรบขอกาหนดตามมาตรฐานสญญาณ CAN ISO-11898 (standard physical layer)

• มวงจร Termination แบบ Split Termination ภายในบอรด สามารถเลอกกาหนดจาก Jumper

ไดทงแบบ End Node(120 Ω) และ Stub Node(2.6KΩ)

• รองรบความเรว Bus ระหวาง 62.5Kb/s(ระยะทาง 1000 เมตร) – 1Mb/s(ระยะทาง 30 เมตร)

Page 3: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -3- WWW.ETT.CO.TH

คณสมบตของบอรด ET-MINI SPI CAN CONTROL V1.0

1. ใช CAN Controller เบอร MCP2515 ของ Microchips

2. ใช CAN Transceiver เบอร SN65HVD232D ของ Texas Instruments

3. รองรบการเชอมตอกบ Micro Controller ผานทาง SPI Logic ทงระบบ 5V และ 3.3V

4. รองรบมาตรฐาน Protocol การสอสาร CAN2.0B สามารถกาหนดขนาดขอมลในการสอสารไดตงแต 0-8 Byte ทงแบบ Standard Frame และ Extended Frame และ Remote Frame

5. รองรบขอกาหนดตามมาตรฐานสญญาณ CAN ISO-11898 (standard physical layer)

6. เชอมตอสงงานกบ Micro Controller ผาน SPI ดวยความเรวสงสด 10 MHz

7. ม LED แสดง สถานะแหลงจาย (+VDD) ของบอรด

8. ม LED แสดง สถานะของการรบขอมล (RX) ของ CAN Controller

9. ม LED แสดง สถานะของการสงขอมล (TX) ของ CAN Controller

10. ม LED แสดง สถานะของการเกด Interrupt จาก INT ของ CAN Controller

11. มวงจร Termination แบบ Split Termination ภายในบอรด สามารถเลอกกาหนดจาก Jumper ไดทงแบบ End Node(120 Ω) และ Stub Node(2.6KΩ)

12. รองรบความเรว Bus ระหวาง 62.5Kb/s(ระยะทาง 1000 เมตร) – 1Mb/s(ระยะทาง 30 เมตร) โดยใชสายสญญาณ STP หรอ UTP

13. สญญาณเชอมตอดาน Logic ใชขวตอ Pin Header ขนาด 1 x 8 Male และ 1x8 Female ระยะ Pitch 2.54mm หรอ IDE 10 Pin Header Block

14. สญญาณเชอมตอดาน CAN BUS ใช Terminal 4Pin (+VEXT,CANH,CANL,GND)

15. มวงจร Regulate ขนาด 800mA เปน Option สาหรบในกรณทตองการใชแหลงจายไฟจาก CAN

Bus (+VEXT,GND) เปนแหลงจายไฟเลยงใหกบวงจรภายในบอรด ซงสามารถเพมเตม IC

Regulate เบอร LM1117-3.3(SOT-223) หรอ LM1117-5.0(SOT-223)

16. ขนาด PCB Size 4.4 mm x 5.6 mm

Page 4: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -4- WWW.ETT.CO.TH

โครงสรางบอรด ET-MINI SPI CAN CONTROL V1.0

รปแสดง ตาแหนงของอปกรณตางๆในบอรด ET-MINI SPI CAN CONTROL V1.0

• หมายเลข 1,8 คอ ขวตอ สญญาณ Logic สาหรบเชอมตอกบ Microcontroller สามารถเลอกใชไดทงแบบ Header 1x8 Male และ Female หรอ IDE Header 10 Pin Block ซงสญญาณจากขวตอทง 3 ชดนเปนสญญาณทขนานกนอย ผใชสามารถเลอกใชไดตามความสะดวก

• หมายเลข 2 คอ LED แสดงสถานะของ แหลงจาย Power(+VDD)

• หมายเลข 3 คอ Crystal สาหรบ MCP2515 สามารถใช 16MHz หรอ 20MHz ได สาหรบบอรดมาตรฐานจะตดตงคา 20MHz

• หมายเลข 4 คอ CAN Controller เบอร MCP2515 ของ Microchips

• หมายเลข 5 คอ LED แสดง สถานของการสงขอมลของ CAN Controller

• หมายเลข 6 คอ LED แสดง สถานะของการรบขอมลของ CAN Controller

• หมายเลข 7 คอ LED แสดง สถานะ Interrupt จาก INT# ของ CAN Controller

• หมายเลข 9,10 คอ CAN Transceiver เบอร SN65HVD232D ของ Texas Instruments และ CAN Transceiver เบอร MCP2551 ของ Microchips ซงตองเลอกตดตงใชงานเพยงเบอรใดเบอรหนง สาหรบบอรดมาตรฐานจะตดตงเบอร SN65HVD232D

• หมายเลข 11 คอ Jumper สาหรบเลอกกาหนดรปแบบของวงจร Termination ใหกบวงจร

1

6 7

4

5

2

3

8

9 10

11

1213

14

Page 5: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -5- WWW.ETT.CO.TH

• หมายเลข 12 คอ ขวตอ CAN Bus

o +VEXT เปนไฟเลยงจากภายนอกสาหรบตอใหบอรด สามารถใชไดกบแรงดน 7-12V

o CANH เปนขาเชอมตอสญญาณ CAN Bus

o CANL เปนขาเชอมตอสญญาณ CAN Bus

o GND เปนจดอางองระดบสญญาณ Logic และแหลงจายไฟ ของบอรด

• หมายเลข 13,14 คอ IC Regulate เบอร LM1117 และ Jumper +VEXT(ON/OFF) สวนนเปน Option ใชในกรณทตองการใช +VEXT จาก CAN Bus มาเปนแหลงจายใหกบบอรด

Page 6: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -6- WWW.ETT.CO.TH

การเลอกแหลงจายไฟของบอรด

สาหรบบอรด ET-MINI SPI CAN CONTROL V1.0 ไดรบการออกแบบใหมความออนตวตอการใชงาน สามารถเลอกตอแหลงจายไฟเลยงวงจรใหกบบอรดได หลายชองทาง โดยบอรดสามารถเชอมตอกบไมโครคอนโทรลเลอรไดทงระบบ +3.3V และ +5V

• เชอมตอไฟเลยงมาจากบอรดไมโครคอนโทรลเลอรผานทางขวตอ Header 1x8 Male/1x8 Female

1 3 52 4CS

#

GND

MIS

O

MO

SI

SCK

76 8

+VDD

INT#

RES#

• เชอมตอไฟเลยงมาจากบอรดไมโครคอนโทรลเลอรผานทางขวตอ IDE Header 10Pin(ET-10PIN)

MOSI

INT#

NC

+VDD

SCK

RES#

NC

GND

MISOCS#

ET-10PIN

• เชอมตอไฟเลยงมาจาก CAN BUS โดยในกรณจะใชไดกบระบบ CAN BUS ทมสวน OPTION

สาหรบจายไฟเลยงใหกบอปกรณภายนอกดวย ซงในกรณนผใชตองทาการตดตง IC Regulate

เบอร LM1117-3.3(SOT-223) ในกรณตองการใชไฟเลยง +3.3V หรอ ใช LM1117-5.0(SOT-223)

ในกรณตองการใชไฟเลยงวงจรขนาด +5V พรอมกบทาการเลอก Jumper VEXT(ON/OFF)ไวทางดานตาแหนง ON ดวย ซงในกรณนระบบทงหมดรวมทงบอรดไมโครคอนโทรลเลอรตองใชกระแสไมเกน 800mA ดวย เพราะ LM1117 สามารถจายกระแสไดสงสด 800mA เทานน

Page 7: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -7- WWW.ETT.CO.TH

การเลอก Node สาหรบ CAN BUS

ในระบบ CAN BUS นนจาเปนตองมการกาหนดการทางานของวงจร Termination เพอชดเชยความผดเพยนของสญญาณซงเกดจากความตานทานในสายสญญาณใหกบวงจร CAN Transceiver โดยถาเปน CAN Transceiver ทอยตาแหนง ตนสาย และ ปลายสาย ตองกาหนดเปน END Node แตถาเปน วงจรของ CAN Transceiver ชดทอยระหวาง ตนทาง กบ ปลายทาง จะกาหนดเปน STUB Node ซงในบอรด ET-MINI SPI CAN CONTROL V1.0 เองจะใช Jumper (END/STUB) เปนตวกาหนด Node ดงตวอยาง

60R60R

60R60R

60R60R

10nF 10nF 10nF

1K3

1K3

1K3

1K3

1K3

1K3

10nF 10nF 10nF

END

END STUB

STUB END

END

END NODE STUB NODE END NODECANH CANH

CANLCANL

รปแสดง การเลอก Termination และผงการเชอมตอ CAN BUS

ระบบ CAN BUS รองรบการเชอมตอ CAN BUS ไดจานวนสงสด 120 Node และมระยะทางไกลสดประมาณ 30เมตร ถง 1000 เมตร ขนอยกบความเรวทเลอกใช โดยใชสายสญญาณแบบ STP หรอ UTP

โดยระยะทางของการสอสารจะแปรผกผนกบความเรวในการรบสงขอมล ดงขอมลใน ตาราง

Bit Rate (kb/s) Bus Length (เมตร)

1000 30

500 100

250 250

125 500

62.5 1000

ตาราง เปรยบเทยบความเรวและระยะทางของการสอสาร CAN BUS

Page 8: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -8- WWW.ETT.CO.TH

การเชอมตอกบ Micro Controller (MCU)

MCP2515 เปนชพ CAN Controller ซงมระบบ การทางานเปนไปตาม มาตรฐาน ของ การสอสาร ตามขอกาหนด (Protocol) ของ CAN2.0B ทกประการ กลาวคอ MCP2515 จะมขดความสามารถในการรบสงขอมล CAN Bus ทงแบบ Standard Frame และ Extended Frame และ Remote Frame นอกจากนแลวยงมระบบคดกรองขอมล เพอทาการแยกขอมลทไมตองการรบออกไปจากภาครบ โดยสามารถแยกกาหนดรปแบบการคดกรองการรบขอมลได 2 ชด พรอมกบม Buffer สาหรบจดเกบขอมลทผานการคดกรองตามเงอนไขไวแลวจานวน 6 ชด ซงความสามารถในการคดกรองขอมลนจะชวยลดภาระในการรบและตรวจสอบขอมลของ สวนประมวลผลลงไปไดเปนอยางมาก คอแทนทจะตองใหหนวยประมวลผลทาการรบขอมลทงหมดทวงอยบนบสแลวมาคดกรองเอง เพอแยกเอาเฉพาะขอมลทตองการมาใช ขอมลสวนทไมตองการกโยนทงไป ซงถาหากวาในระบบบส มอปกรณเชอมตออยจานวนมาก เมอมการสอสารกนในบส หนวยประมวลผลกตองทาการรบขอมลทงหมดเพอนามาคดกรองวเคราะหแยกแยะขอมลอยตลอดเวลา ซงจะเปนภาระอยางมากสาหรบหนวยประมวลผล

แตเมอมระบบคดกรองขอมล เรากสามารถจะกาหนดเงอนไขในการคดกรองขอมลตางๆทวงอยบนบส เพอใหวงจรดานรบทาการตรวจจบและคดกรองเอาเฉพาะขอมลทตองการจะใชเขามารอไวใน Buffer

ซงชดประมวลผลกเพยงแตคอยตรวจสอบวามขอมลถกรบเขามาใน Buffer หรอยง ถามกไปอานเอาขอมลนนมาใชงาน สวนขอมลทไมตองการไมเกยวของกจะถกคดกรองและโยนทงออกไปจากสวนคดกรองขอมลเองโดยอตโนมต ซงในสวนของการกาหนดเงอนไขและตงคาการทางานใหกบ MCP2515 เพอใหทาการรบสงขอมลกบ CAN Bus ไดนน จะกระทาผานรจสเตอรตางๆของ CAN Controller ซงจะมรปแบบและขอกาหนดเปนไปตามมาตรฐานของ CAN2.0B ซงระบบบสของ MCP2515 สามารถจะใชตดตอสอสารกบอปกรณใดๆกไดทมคณสมบต การทางานตรงตามมาตรฐาน CAN2.0B ไมวาจะเปน CAN Controller ดวยกนเอง หรอเปนไมโครคอนโทรลเลอรทไดบรรจวงจรสอสารแบบ CAN ไวภายในตวเอง ของคายตางๆ สงท MCP2515 มความแตกตางจากไมโครคอนโทรลเลอรทบรรจวงจร CAN ไวภายใน คอ วธการตดตอและเขาถงรจสเตอรของ CAN Controller ซงถาเปนไมโครคอนโทรลเลอรทมการบรรจวงจร CAN ไวภายในแลว จะมการเชอมบส ของไมโครคอนโทรลเลอรเขากบบสของ CAN Controller ภายในเรยบรอยแลว การเขาถงรจสเตอรตางๆกจะสามารถอางถงรจสเตอรเหลานนผานทางคาสงของไมโครคอนโทรลเลอรไดโดยตรง แตสาหรบกรณของ MCP2515 นน การจะเขาถงรจสเตอรตางๆได จะตองผานทางชองทางการสอสารภายนอกตว MCU ซงจะใชการสอสารอนกรมแบบ SPI ดงนนจะตองมการกาหนดการทางานใหกบ SPI ของไมโครคอนโทรลเลอร พรอมกบเขยนโปรแกรมคาสงเพอสงไมโครคอนโทรลเลอรสงคาสงและขอมลออกมาบน SPI Bus ใหมรปแบบตรงกบขอกาหนดท MCP2515 กาหนดไว เพอให MCP2515 สามารถรบรความตองการของไมโครคอนโทรลเลอร วาตองการจะอานเขยนขอมลกบรจสเตอรหรอหนวยความจา

Page 9: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -9- WWW.ETT.CO.TH

ตาแหนงใดของ CAN Controller ซงในการเชอมตอบอรด ET-MINI SPI CAN CONTROL V1.0 เขากบบอรดไมโครคอนโทรลเลอรนน จะใชสญญาณ TTL Logic จานวน 4-6 เสน โดยใชสญญาณ Logic แบบ SPI จานวน 4 เสน และเปนสญญาณ Interrupt (INT#) กบ Reset (RES#) อก 2 เสน ซง INT# และ RES#

จะใชหรอไมใชกได โดยสญญาณในการเชอมตอของบอรดมดงน

• +VDD เปนแหลงจายไฟเลยงวงจรของบอรด ควรใชกบแหลงจายไฟเลยงทมขนาดแรงดนชดเดยวกบไมโครคอนโทรลเลอร (MCU) ซงสามารถใชไดกบระบบ +3.3V หรอ +5V ได

• CS# เปนสญญาณ เลอกการทางานของ MCP2515 ทางานท Logic “0” โดยตองตอสญญาณ Output Logic จาก MCU เพอสงไปควบคมสงงาน MCP2515 ดวย

• MISO เปนสญญาณ รบขอมล SPI สงออกจาก MCP2515 ออกมาใหกบ MCU

• MOSI เปนสญญาณสงขอมล SPI โดยสงออกจาก MCU ไปยง MCP2515

• SCK เปนสญญาณนาฬกาของ SPI สงออกจาก MCU ไปยง MCP2515

• INT# เปนขา Interrupt สงออกจาก MCP2515 มายง MCU ทางานท Logic “0”

• RES# เปนขา Reset ของ MCP2515 ทางานทโลจก “0” โดยขาสญญาณนจะใชหรอไมกได เนองจากในบอรดมวงจร Auto Reset ใหกบ MCP2515 ไวอยแลว แตถาตองการใหสามารถสง Reset MCP2515 จาก MCU ได กใหตอสญญาณ Output Logic จาก MCU

เพอสงสญญาณไปควบคมการ Reset ของ MCP2515 ไดตามตองการ • GND เปนจดอางองสญญาณและระดบแหลงจายใหกบวงจร

ในการสอสารระหวาง MCU กบบอรด ET-MINI SPI CAN CONTROL V1.0 นน จะใชการตดตอสอสารแบบ SPI ซงจะใช MCU ทาหนาทเปน Master และให MCP2515 ทาหนาทเปน Slave โดยท MCU จะสงขอมลให MCP2515 ผานทางขา MOSI ไปยงขา SI ของ MCP2515 ในจงหวะทสญญาณนาฬกา SCK เปนขอบขาขน (Rising Edge) ซงถาตองมการตอบรบจาก MCP2515 กลบมายง MCU ดวย MCP2515 กจะสงขอมลยอนกลบมาทางขา SO มายงขา MISO ของ SPI(MCU) ในจงหวะทสญญาณนาฬกา SCK เปนขอบขาลง(Falling Edge)

โดยในการสอสาร SPI จะกาหนดจงหวะเรมตนและสนสดกนดวยสญญาณ CS# โดยสญญาณนาฬกา SCK จะถกสรางจาก SPI ดาน MCU เสมอ โดยการลาเลยงขอมล SPI นนจะควบคมจากจงหวะของสญญาณนาฬกา SCK โดยเรมตนจากบตขอมลทมนยสาคญสงสด (MSB) กอนเปนลาดบแรก ซงขอมลไบทแรกจะเรมตนสงโดยเรมนบจากจงหวะทสญญาณ CS# เรมตนเปน Logic “0” โดยไบทแรกจะเปนรหส คาสง (Instruction) เสมอ โดยท MCU จะสงขอมลออกไปใหกบ MCP2515 ผานทางขา MOSI

โดยสรางสญญาณนาฬกา SCK สาหรบกาหนดจงหวะการสงขอมลแตละบต ในขณะเดยวกน ถาหากวาทาง MCP2515 ตองการสงขอมลยอนกลบมาใหกบ MCU มนกจะสงสญญาณออกมาทางขา SO ผานไป

Page 10: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -10- WWW.ETT.CO.TH

ยงขา MISO ของ SPI(MCU) ในจงหวะของสญญาณนาฬกา SCK ลกเดยวกน ตางกนท MCU สงขอมลในจงหวะท SCK เปนขอบขาขน (Rising Edge) แต MCP2515 จะสงขอมลยอนกลบมาในจงหวะทสญญาณนาฬกาของ SCK เปนขอบขาลง (Falling Edge) เทานนเอง ดงนนเมอ MCU ตองการอานคาขอมลจาก MCP2515 กจะตองมการสงขอมลใดๆ ซงปรกตควรจะเปน 0xFF (1111 1111) ออกไปยง MCP2515 ดวยเสมอซงขอมลทสงออกไปทางขา MOSI ในจงหวะทตองการอานขอมลจาก MCP2515 นจะไมมผลใดๆตอการทางานของ MCP2515 เพราะ MCP2515 จะไมสนใจขอมลเหลาน เพยงแต MCP2515 จะอาศยจงหวะของสญญาณนาฬกา SCK เพอทาการสงขอมลยอนกลบมาให MCU ทางขา MISO เทานนเอง

สาหรบในกรณทตองการตดตอสงอานหรอเขยนขอมลกบ MCP2515 ซาๆกนในคาสง หลงจากทมการสงรหสคาสงในไบทแรกและสงคาตาแหนงแอดเดรสในไบทท2 แลว ไบทท3 จะเปนคาของขอมลทตองการจะอานหรอเขยนกบ MCP2515 ในตาแหนงแอดเดรสทกาหนดไวในไบทท2 แตถามการอานหรอเขยนขอมลไบทท4 ตามไปอกจะทาใหคาตาแหนงแอดเดรสของขอมลหรอรจสเตอรนนๆ จะถกเพมคาขนครงละ 1 ตาแหนงโดยอตโนมต เมอมการสงอานหรอเขยนขอมลไบทถดไปตามมาอกคาตาแหนงแอดเดรสนกจะถกเพมคาขนไปอกครงละ 1 ตาแหนงเสมอโดยอตโนมต ซงผใชสามารถสงอานหรอเขยนขอมลแบบเรยงลาดบอยางตอเนองจากตาแหนงแอดเดรสปจจบนกบ MCP2515 ไดทนท โดยไมจาเปนตองสงรหสคาสง และคาตาแหนงแอดเดรสเรมตนใหมใหเสยเวลา ซงการสอสารในแตละครงจะเรมตนเมอสญญาณ CS# เปลยนจาก “1” เปน “0” และจะสนสดลงเมอ CS# ถกเปลยนกลบจาก “0” ไปเปน “1” เสมอ โดยรปแบบของชดคาสงตางๆมดงน

คาสง รปแบบ รายละเอยดคาสง RESET 1100 0000 สงรเซตการทางานของ MCP2515

READ 0000 0011 อานขอมลจากรจสเตอร จากตาแหนงทเลอกไว READ RX BUFFER 1001 0nm0 อานขอมลจาก RX Buffer ชดทระบโดย nm

WRITE 0000 0010 เขยนขอมลใหรจสเตอร ไปยงตาแหนงทเลอกไว LOAD TX BUFFER 0100 0abc โหลดขอมลให TX Buffer ชดทระบตาแหนงโดย abc

RTS(REQUEST TO SEND) 1000 0nnn สงให MCP2515 เรมสงขอมลใน TX Buffer ชดท nnn

READ STATUS 1010 0000 อานคาสถานะจาก MCP2515

RX STATUS 1011 0000 อานคาสถานะของชดขอมลทตรงกบ รปแบบทกาหนดไว BIT MODIFY 0000 0101 สงเปลยนแปลงแกไขคารจสเตอรเฉพาะบตทกาหนด

ตารางแสดง SPI Command ของ MCP2515

Page 11: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -11- WWW.ETT.CO.TH

รปแสดง รปแบบสญญาณในการเขยนขอมลให MCP2515

รปแสดง รปแบบสญญาณในการอานขอมลจาก MCP2515

TX Buffer

สาหรบ TX Buffer ของ MCP2515 จะมจานวน 3 ชด คอ TX Buffer0,TX Buffer1 และ TX Buffer2

โดย TX Buffer แตละชด มขนาด 14 ไบท โดยมตาแหนงแอดเดรสเรมตนของ TX Buffer ท 0x30,0x40 และ 0x50 ตามลาดบ โดย TX Buffer ทง 3 ชดม ขนาด และ โครงสรางการจดเกบขอมลเหมอนกน คอ

• ไบทแรก ของ TX Buffer ใชบรรจขอมลสาหรบใชกาหนดเงอนไขการสงขอมล ซงขอมลในตาแหนงนกคอขอมลทกาหนดใหกบรจสเตอร TXB0CTRL, TXB1CTRL และ TXB2CTRL

นนเอง โดยจะมตาแหนงแอดเดรส 0x30,0x40 และ 0x50 ตามลาดบ

• ไบทท2 ถง ไบทท6 ใชบรรจคา ID ซงมขนาด 5 ไบท โดยมตาแหนงแอดเดรสเรมตนอยทตาแหนง 0x31,0x41 และ 0x51 ตามลาดบ

• ไบทท7 ถง ไบทท14 ใชบรรจขอมล ซงมขนาดสงสด 8 ไบท โดยมตาแหนงแอดเดรสเรมตนอยทตาแหนง 0x36,0x46 และ 0x56 ตามลาดบ

Page 12: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -12- WWW.ETT.CO.TH

RX Buffer

สาหรบ RX Buffer ของ MCP2515 จะมจานวน 2ชด คอ RX Buffer0 และ RX Buffer1 โดย MCP2515 จะมกลไกลในการตรวจจบและจดเกบขอมลทรบมาจากบสไวใน RX Buffer0 และ RX Buffer1

ซงเรยกวา MAB(Message Assembly Buffer) ซง MAB จะมกลไกลในการคดกรองขอมลทรบเขามาตามเงอนไขทผใชกาหนดไวแลว แลวนาไปจดเกบรอไวใน Buffer RXF0 ถง RXF5 อกชนหนง เพอทาใหการรบขอมลทาไดอยางตอเนองและรวดเรว โดย RX Buffer0 จะมชด Buffer สาหรบจดเกบขอมลทผานการคดกรองแลวจานวน 2 ชด คอ RXF0 และ RXF1 สวน RX Buffer1 จะมชด Buffer สาหรบใชจดเกบขอมลทผานการคดกรองแลวอกจานวน 4 ชด คอ RXF2,RXF3,RXF4 และ RXF5 ตามลาดบ ดงรป

รปแสดง โครงสราง RX Buffer ของ MCP2515

Page 13: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -13- WWW.ETT.CO.TH

READ INSTRUCTION

คาสงนใชสาหรบสงอานคาขอมลจากรจสเตอรของ MCP2515 โดยรปแบบของคาสงนจะมดวยกน 3 Byte หรอมากกวาในกรณทตองการอานแบบเรยงลาดบตอเนอง โดยขอมลไบทแรกเปนรหสคาสงมคาเปน 0x03 (0000 0011) สวนไบทท 2 เปนตาแหนงแอดเดรสของรจสเตอรทตองการอานมขนาด 8 บต สวนไบทท 3 เปนคาขอมลทสงกลบมาจาก MCP2515 ซงถาตองการอานขอมลลาดบทอยตอเนองจากตาแหนงปจจบนอกกสามารถสงอานคาขอมลไบทตอไปไดอกเรอยๆ โดยคาตาแหนงแอดเดรสจะถกเพมคาใหเองครงละ 1 ตาแหนงโดยอตโนมต โดยคาสงนมรปแบบสญญาณของการรบสงเปนดงรป

แสดง รปสญญาณ SPI ของคาสง READ INSTRUCTION

Page 14: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -14- WWW.ETT.CO.TH

READ RX BUFFER INSTRUCTION

คาสงนใชสาหรบสงอานคา RX Buffer ชดทระบในคาสง โดยมขนาด 2 ไบท หรอมากกวาในกรณทตองการอานแบบเรยงลาดบตอเนองกนไป ซงไบทแรก จะเปนรหสคาสงมคา 0x90|0,n,m,0 (1001 0nm0)

โดย nm ในชดคาสงจะเปนคาสาหรบระบชดของ RX Buffer ทตองการเรมตนทาการอานขอมล ซงสามารถเลอกอาน RX Buffer ได 2 ชด คอ RX Buffer0 และ RX Buffer1 แตใน RX Buffer แตละชด สามารถเลอกกาหนดตาแหนงเรมตนสาหรบทาการอานขอมลไดอกวาจะใหเรมตนอานขอมลไบทแรกทตาแหนง Buffer ทเกบคา ID หรอ จะใหเรมตนอานขอมลใน Buffer ทตาแหนงเรมตนทเกบขอมลไบทแรก(Data) ดงน

n m Address Pointer Address

0 0 RX Buffer0 เรมตนอานขอมลตาแหนงทใชเกบคา ID High(RXB0SIDH) 0x61

0 1 RX Buffer0 เรมตนอานขอมลตาแหนงทใชเกบคาขอมลไบทแรก(RXB0D0) 0x66

1 0 RX Buffer1 เรมตนอานขอมลตาแหนงทใชเกบคา ID High(RXB1SIDH) 0x71

1 1 RX Buffer1 เรมตนอานขอมลตาแหนงทใชเกบคาขอมลไบทแรก(RXB1D0) 0x76

โดยขอมลไบทท2 จะเปนขอมลทสงกลบมาจาก MCP2515 โดยมขนาด 8 บต ซงคาสงนสามารถอานขอมลตอเนองไปไดอก โดยสงขอมลใดๆตอเนองออกมาให MCP2515 ทางขา MOSI ของ MCU ไปยงขา SI ของ MCP2515 ซง MCP2515 กจะสงคาขอมลใน RX Buffer ตาแหนงถดไปออกมาใหทางขา SO

ใหกบ MCU ทางขา MISO อยางตอเนองตามลาดบเชนเดยวกน เมอตองการสนสดการอานจง กาหนดใหสญญาณ CS# กลบจาก “0” เปน “1” ดงรป

แสดง รปสญญาณ SPI ของคาสง READ RX BUFFER INSTRUCTION

Page 15: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -15- WWW.ETT.CO.TH

LOAD TX BUFFER

คาสงนใชสาหรบสงเขยนขอมลซงเปนคาตวชตาแหนงแอดเดรส(Pointer) ของ TX Buffer ใหกบ

MCP2515 เพอชตาแหนงเรมตนสาหรบเตรยมเขยนขอมลไปยง TX Buffer ในลาดบตอไป โดยชดคาสงนจะมขนาด 2 ไบท โดยไบทแรกจะเปนรหสคาสงมคา 0x40|abc (0100 0abc) โดย abc ในรหสคาสงใชเปนคากาหนดตวเลอกชด TX Buffer ทตองการ โดย MCP2515 จะม TX Buffer ทงหมดจานวน 3 ชด ดวยกน คอ TX Buffer0,TX Buffer1 และ TX Buffer2 โดย โดยในคาสงนจะยอมใหผใชสามารถเลอกกาหนดคาตวชตาแหนงเรมตนใน TX Buffer แตละชดไดชดละ 2 ตาแหนง คอชไปทาตาแหนงเรมตนสาหรบเกบคา ID หรอชไปทตาแหนงเรมตนสาหรบเกบคาขอมล(Data) ซงในชดคาสงสามารถเลอกกาหนดคาไดดงน

a b c ตาแหนง Pointer คาตาแหนงแอดเดรส

0 0 0 TX Buffer0 ชทตาแหนงเรมตนของ ID High(TXB0SIDH) 0x31

0 0 1 TX Buffer0 ชทตาแหนงเรมตนของ Data ไบทแรก(TXB0D0) 0x36

0 1 0 TX Buffer1 ชทตาแหนงเรมตนของ ID High(TXB1SIDH) 0x41

0 1 1 TX Buffer1 ชทตาแหนงเรมตนของ Data ไบทแรก(TXB1D0) 0x46

1 0 0 TX Buffer2 ชทตาแหนงเรมตนของ ID High(TXB2SIDH) 0x51

1 0 1 TX Buffer2 ชทตาแหนงเรมตนของ Data ไบทแรก(TXB2D0) 0x56

แสดง รปสญญาณ SPI ของคาสง LOAD TX BUFFER

Page 16: Man et mini spi can1

คมอการใชงานบอรด ET-MINI SPI CAN CONTROL V1.0

ETT CO.,LTD -16- WWW.ETT.CO.TH

REQUEST-TO-SEND (RTS) INSTRUCTION

คาสงนใชสาหรบ สงให MCP2515 ทาการสงขอมลใน TX Buffer ไปยงบส โดยคาสงนจะมขนาดเพยง 1 ไบท และมรหสคาสงเปน 0x80|T0|T1|T2 (1000 0T2T1T0) ซงคา T2,T1 และ T0 จะเปนคาสาหรบเลอกกาหนดวาจะให MCP2515 ทาการสงขอมลของ TX Buffer ชดใดออกไปในบส โดยตองกาหนดใหบตของ T2 หรอ T1 หรอ T0 มคาเปน “1” เพอใหมการสงขอมลใน TX Buffer ชดทถกเลอกออกไปในบส ถาสงรหสคาสงนโดยกาหนดใหคาของ T2,T1 และ T0 เปน “0” ทงหมด คาสงนจะไมถกตอบสนอง

• T0 หมายถง กาหนดใหสงขอมลใน TX Buffer0

• T1 หมายถง กาหนดใหสงขอมลใน TX Buffer1

• T2 หมายถง กาหนดใหสงขอมลใน TX Buffer2

แสดง รปสญญาณ SPI ของคาสง REQUEST TO SEND INSTRUCTION