9

In - Vi Điêu Khiển PIC và Giao thức SPI

Embed Size (px)

Citation preview

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 1/9

10/02/2012 Vi £)ieu Khiem PIC va Giao thuc SPI

H-Crazy

r

AUTHORV i £lieu K hiA n P IC v a G iao thCre S PI

Labels: PIC, SPI

I.GlOI THI~U GIAO THlrC SPI:

1.1. Giai thi(!u:

SPI : Serial Perippheral Interface- Giao tiep nqoai vi noi t iep

Giao thuc SPI do hang Motorola phat minh va can dU'Q'c biet den ~i ten gQi khac 113Microwire (hang

National Semiconductor phat trien). Ca SPI va Microwire deu co chung nguyen t,k heat dong. Hicfmnay giao

thuc SPI da co cac phien ban cal tien nhu QSPI (Queue SPI) va Microwire Plus.

Giao thO>cSPI cung cap mot giao thO>cnoi tiep dO'n gian giO>aMCU va thiet b] nqoai vi. Giong ~i cac Bus

noi tiep khac nhu 12C, CAN hoac USB, chuan giao tiep SPI ngay canq dU'Q'c SLYdL,mgrOng rai trong ITnhIII,I'C

di l1intLY,d~c bil1it113rong giao tiep trao d6i dO>l il1iu~i cac ngoai vi .Giao thuc SPI dU'Q'c t ich hop trong mot so loai thiet b] nhu:

+ Cac bOchuyen d6i (ADC va DAC)

+ Cac loai bo nha (EEPROM va FLASH)

+ Cac loai IC thai gian thuc

+ Cac loai cam bien (nhil1it dO, ap suat ... )

+ va mot so loai khac nhu: bo trOn tin hil1iu, LCD, Graphic LCD ...

1.2. Ki thu~t SPI:

1.2.1 BUS SPI

Giao tiep SPI dU'Q'c thuc hil1in t hong qua BUS 4 day MISO, MOSI, SCK, SS nen doi khi SPI con

dU'Q'c gQi 113iao thuc giao tiep 4 day.

a. MISO: Master Input Slave Output

Trong V£)K PIC, chan MISO dU'Q'c ki hil1iu la SDO

Chan MISO dung de truyen dO>lil1iu ra khoi Modun SPI khi d~t cau hinh la Slal.e va nhan dO>lil1iukhi d~t cau

hinh 113Master.

b. MOSI: Master Output Slavs Input.

Trong V£)K PIC, chan MOSI dU'Q'c ki hil1iu la SDI

Chan MOSI dung de truyen dO>lil1iura khoi Modun SPI khi d~t cau hinh 113Master va nh~n dO>lil1iukhi

d~t cau hinh 113Slave,

C. SCK: Serial Clock

Chan SCK cap xung dong bo de truyen nhan dO>lil1iu~i mot Slal.e nao do dU'Q'c chon

d. SS : Sla...e Select

Chan SS cap tin hil1iuchon chip C i ngo ra cua Modun SPI den mot ngoai vi khac neu d~t cau hinh 113Master

va chan SS sf! 113ngo vao nhan tin hil1iuchon chip neu dU'Q'c cau hinh la Slal.e

1.2.2 SPI I i ! ! giao th(PC dong bQ

Modun SPI cho phep giao tiep noi tiep dong bOkep giO>aMCU hoac MPU ~i thiet bi nqoai vi

- Tin hil1iuSCK dU'Q'c cung cap bCii Master nham tao xung dong bO cho phep dO>lil1iudU'Q'c truyen di hoac khi

doc dO>lil1iunhan dU'Q'c

- Khi tin hieu SCK dU'Q'c phat ra thi tin hieu nay co the thay d6i nhU'ng khong lam hong dO>lieu. Udo 113rong

giao thuc SPI, toc do cua dO>lil1iu truyen di sf! thay d6i theo SL, l ' thay d6i cua SCK. £)ieu nay rat co lQ'i neu

nhu MCU hoac MPU b] cap xung dong ho khong chinh xac (VD: bOdao dong RC)

1.2.3 SPI 1ft giao th(PC chu-ta

Giao dien co ban cua giao tiep SPI

f ro (e~Dr

I-------___, ....I

I-----+-: S O

Thiet b] ten 'Processor' dong vai tro Master, thiet b] 'Peripheral ' 113Slave,

eproblogviet. blogspot.com/20 10/1 O/vi-ieu-khien-pic-va-giao-thuc-spi. html

IJOSEHUY

Application Enginee

XEM HO so HoA N CHiNH

BlOG ARCHIVE

T 2010 (18)

T thang mU'oi (7)

Cadmium-Sulfide Color Sen

Color sensor 2

Color Sensor

Red Green Blue (RBG)

Vi £lieu Khien PIC va Giao th

NhO>ngUchhop nqoai vi tren

Anh sang

~ thang nam (2)

~ thang tu (8)

~ thang ba (1)

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 2/9

10/02/2012 Vi £)ieu Khiem PIC va Giao thuc SPI

Ca Master va Slave dilu co thanh ghi dich nOi t i~p a ben trong. Thi~t b] Master bat d§u vi~c trao d6i

dil li~u bang each truyen di rnot Byte vao thanh ghi dich cua no, sau do Byte dil Ii~u se dlJ'Q'c dlJ'a sang

Slave theo dlJ'ang tin hi~u MOSI (SDI), Slave se truyiln dil li~u narn trong thanh ghi dich cua chinh no nglJ'Q'c

tra -. k Master thong qua dlJ'ang tin hi~u MISO (SDO). Bang each nay, dil li~u cua hai thanh ghi se dlJ'Q'c

trao d6i \Oi nhau. Vi~c doc va ghi dil li~u vao Slave dien ra cung me;,t luc nen tOc de;,trao d6i dil li~u dien ra

rat nhanh. Do do, giao thuc SPI la rnot giao thuc rat co hi~u qua.

Trong giao thO>cchu-te, chi co thi~t b] Master moi co the diilu khien (phat raj xung SCK. Dil li~u se

khong dlJ'Q'ct ruyen di n~u nhu Master khong cung cap xung SCK va tat ca cac thi~t b] Slave dilu dlJ'Q'c diilu

khien bai xung nhlp phat ra tCPMaster trong khi do, Slave lai khong co kha nang phat xung.

Co 2 each k~t nOi Master-Slave:

a. Master va cac Slave tl9c I~p

S[)O

S l a N ! 1 l 1

8 la ,v e 2

Trong each k~t nOi nay, tin hi~u SCK va SDO tCPMaster dlJ'Q'c cung cap d~n tCPngSlave. £)lJ'ang tin hi~u

SDO cua cac Slave nOi chung lal \Oi nhau va truyiln - .k Master. l.uc nay, Master se li,J'achon Chip Slave nao

de trao d6i dil li~u thong qua cac chan SS rieng Ie.

b. Cach noi Daisy-Chained

Hinh dlJ'oi day mo ta each k~t nOi Daisy-Chained giila Master va Slave

S D I f .F--S I ( l l v e '

CSQ~~~CS 1

CS 2

,'-+---i'ISD I SOD I I

SCKlSDOI-------1I----->J

SOl

8 D 0 1Vi du ta thoc hi~n giao ti~p SPI giila Master va 3 thi~t b] Slave. Cach nOi day nhu hinh v e , khac \Oi each k~t

nOi cc ban, a phlJ'O'ng phap nay ta chi S L f dl,lng duy nhat 1 chan SS (Chip Select). Gia S L f Master truyiln di

3 Bytes dil li~u len Bus SPI. Byte d§u tien dlJ'Q'c dich vao Slave A. khi byte thO>hai truyen d~n A, byte d§u

tien se b] day ra kh6i A va truyen d~n B. TlJ'O'ng tu, khi byte thu ba truyiln vao A, byte thO>hai se b] dich

sang B va Byte d§u tien se bi dich sang C. N~u Master muon doc lai dil li~u trong Slave A, no phai truyiln lai

chuoi 3 Bytes dil li~u (gia) I§n nila. Khi do dil li~u trong A se chuyen sang B r6i chuyen sang C, sau do - .k

Master. SuOt qua trinh S L f Iy, Master luen nhan dlJ'Q'c Byte dil li~u tCPSlave B va C.

Tuy nhien, each nOi SPI Daisy-Chained khong phai luc nao cOng ap dl,mg dlJ'Q'c cho tat ca cac thi~t b] Slave.

Do do, ta can phai tham khao datasheet truoc khi ti~n hanh k~t nOi.

1.2.4 SPI Iii giao th(PC t rao d6i d[P li~u

Dil li~u luc nao cOng dlJ'Q'c truyen qua lai giila cac thi~t b] SPI. That ra, khong co khai ni~m thi~t bi phat hay

eproblogviet. blogspot.com/20 10/1 O/vi-ieu-khien-pic-va-giao-thuc-spi. html

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 3/9

10/02/2012 Vi £)ieu Khiem PIC va Giao thuc SPI

thi€lt b] nhan trong giao thuc SPI rna mei thi€lt b] co 2 dU'ang dCf li.;iu, m(it dU'ang dCf l i.;iu vao va m(it dU'ang

dCf Ii.;iu ra.

DCf l i.; iu truyen di dU'Q'cdieu khiem bai xung SCK to>Master.

Khi dU'Q'c truyen di, dCf li.;iu vao can phai dU'Q'Cdoc ngay, n€lu kheng se bi mat di va khi do, giao thuc SPI co

the se ngU'ng hoat d(ing. £)e tranh tinh tranq nay, luc nao ta cOng phai doc dCf li.;iu -k ngay sau khi truyen di

cho du dCfI i.; iu do kheng thuc Sl,l' can thi€l!'

ThU'ang thi 1 tin hi.;iu chon Slave se tac d(ing rnuc thap de chi ra Slave nao dU'Q'c truy cap, Tin hi.;iu nay phai

dU'Q'c Sl f dl,mg khi co nhieu hon 1 Slave trong cunq h.;i thOng va thU'ang kheng Sl f dl ,mg d€ln khi trong mach

chi co 1 Slave. Tuy nhien, theo nguyen t~c thi ta nen Sl f dunq tin hi.;iu nay trong ca hai trU'ang hop tren.

Tin hi.;iu SS se chi ra Slave nao rna Master muon b~t dau m(it qua trinh trao doi dCf Ii.;iu bang giao thuc SPI

giCfa thi€lt b] Slave do va chinh no. N€lu tin hi.;iu tren dU'ang SS la 0 thi chO>ng to giao thuc SPI dang hoat

d( ing. NgU'Q'c lai, n€lu tin hi.;iu la rrurc 1 thi giao thuc SPI kheng hoat d(ing.M(it d~c diem khac kha quan tronq cua tin hi.;iu SS la no 1 .6 tac dl,mg lam tang cU'ang kha nang mien nhiem

cho h.;i t hOng. U do la SS se Reset Slave de no co the nh~n Byte dCf li.;iu ti€lp theo.

SPI co 4 mode heat d(ing, phu thuec vao eve tinh va pha cua xung dong ho. Trong trU'ang hop cue am cua

xung dong ho, tin hi.;iu SCK se a muc thap trong qua trinh nghi va chuyen sang rrurc cao trong qua trinh

truyen dCf li.;iu. NgU'Q'c lai, dOi Iil'i trU'ang hop eve dU'O'ng cua xung dong ho, tin hi.;iu SCK a rrurc cao trong

qua trinh nghi va chuyen sang moe thap khi truyen dCf l i.;iu.

+ SPI Mode 0:

Me ta : Xung dU'O'ng, dCf li .;iu dU'Q'cchOt tnroc khi dich

Gian do thai gian:

L S L S L S L S L S L S L S L S

- = - - - : . - - = - - - = - - - : . - - = - - - : . - - = - -

SClK

MOSI,

MISO __ -r~L'_~L+-"~~~_Jt-r~L+-J~~'L- __

+ SPI Mode 1:

Me ta : Xung dU'O'ng, dCf li .;iu dU'Q'cdich di truoc khi chOt

Gian do thai gian

S L S L S L S L S L S L S L S L

- : . - - = - - - = - - - : . - - = - - - = - - - : . - - = - -

SClK

MOSI,

MISO __ _Jl~~t~~~~JL+-J~~r~_JL+_Jl-r _

+ SPI Mode 2:

Me ta : Xung am, dCf li.;iu dU'Q'c chOt lal truoc khi dich

Gian do thai gian:L S L S L S L S L S L S L S L S-7 - = - - - - ; . - -7 - = - - - - ; . - -7 - = - -

SCLK

MOSI,

MISO__ -+___Jl-+~L-+-~L+-_[t__-"Yf---'~--",-+_Jt _

+ SPI Mode 3:

Me ta : Xung am, dCf li.;iu b] dich di truoc khi chot lal

Gian do thai gian:

S L S L S L S L S L S L S L S L- : . - - = - - - : . - - : . - - = - - - : . - - = - - - = - -

SCLK

MOSI,MISO __ ___Jl-r~~'_J~+-r~--'I~~L-+-~L+-"~r- __

II--SPI TRONG VDK PIC:

SPI Mode trong PIC cho phep 8 bit dCf li.;iu dU'Q'c truyen nhan dong b(i 1 each simultaneously. He tro hoat

d(ing a ca 4 Mode. £)e ti€ln hanh hoat d(ing giao ti€lp, -k co ban, 3 chan sau day dU'Q'CSl f dunq:

+ Serial Data Out -- RC5/S00

+ Serial Data In -- RC4/S01/SDA

+ Serial Clock -- RC3/SCKlSCL

Ngoai ra, n€lu trong h.;i t hOng co nhieu hon 1 Slave thl chan Chip Select se dU'Q'c dung:

+ Slave Select -- RA5/AN4/SS/HLVDIN

SO' do nguyen Iy cua khOi SPI tich hop trong Vi £)ieu Khien PIC

eproblogviet. blogspo!.com/20 10/1 O/vi-ieu-khien-pic-va-giao-thuc-spi. html

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 4/9

10/02/2012 Vi £)ieu Khiem PIC va Giao thuc SPI

C l ock S e l ec t

£)ll SLPdl,mg Mode SPI ta can phai thii:t I~p cac gia trj chinh xac cho cac thanh ghi Control. Module MSSP

cua PIC c6 4 thanh ghi danh cho Mode SPI. £)6 la:

+ MSSP Control Register 1 (SSPCON1)

+ MSSP Status Register (SSPSTAT)

+ Serial Receive/Transmit Buffer Register (SSPBUF)

+ MSSP Shift Register (SSPSR) - Khong truy xuat tnrc tii:p dU'Q'c

SSPCON1 va SSPSTAT la cac thanh ghi dieu khilln va cho bii:t tranq thai hoat dQng cua Mode SPI.

SSPCON1 la thanh ghi c6 thll doc hoac ghi. Trong khi d6, 6 bit thap cua SSPSTAT chi c6 thll doc, con 2 bit

cao ta c6 thll doc hoac ghi.

SSPSR la thanh ghi c6 chLPCnang ghi dich dii li(iu vao hoac ra.

SSPBUF la thanh ghi Buffer, c6 chuc nang luu dii li(iu tarn thai truoc khi ghi vao Slave hoac sau khi doc

~.

a hoat dQng nhan dii li(iu, SSPSR va SSPBUF ki:t hop 11;Iiao thanh bQ nhan dii li(iu dU'Q'c d(im kep, Khi

SSPSR nhan 1 byte hoan chinh, n6 se dU'Q'c chuylln den SSPBUF va bit SSPIF dU'Q'c Set len 1.

Trong suot qua trinh truyen dii li(iu, SSPBUF khong dU'Q'c d(im kep, Neu ta ghi dii li(iu vao SSPBUF thi dii

li(iu se dU'Q'c ghi vao ca 2 thanh ghi SSPBUF va SSPSR.

Chi tii:t ~ cac bit cua cac thanh ghi SPI Mode

+ SSPSTAT (MSSP Status Register)

R IW -O R i W . @ R ·O R "O R .(J R ·.(J R .Jl R .·I I

I St.1P II eKE DIAl' S R!W UA SF

b i i l l

Bit? SMP: bit Lay Mau

SPI Master Mode:

1 = dii li(iu vao dU'Q'C lay mau tai thai dillm cuoi cua dii li(iu ra

o = dii li(iu vai dU'Q'C lay mau tal giiia thai dillm dii li(iu ra

SPO Slave Mode:

Bit SMP phai dU'Q'cx6a khi SLPdl,mg a Slave Mode

Bit6 CKE: SPI Clock Select bit

1 = qua trinh truyen dien ra khi xung clock chuyen tCPtranq thai tac dQng sang tranq thai nghi

o = qua trinh truyen dien ra khi xung clock chuylln tCPtranq thai nghi sang tranq thai hoat dQng

BitS D/A: Data/Address bit , chi SLPdl,mg a Mode 12C

Bit4 P : Stop bitm chi SLPdl,mg a Mode 12C

Bit3 S : Start bit, chi SLPdl,mg a Mode 12C

Bit2 RlW : bit Read/Write, chi SLPdl,mg a Mode 12C

Bit1 UA : Update Address bit, chi SLPdl,mg a Mode 12C

BitO BF : Buffer Full Status bit (chi SLPdl,mg a Mode nh~n)

1 = £)a nh~n dll dii li(iu, SSPBBUF day

o = Chu-a nhan dll dii li(iu SSPBUF rUng

+ SSPCON1 (MSSP Control Register)R 1 W · O R J W · [ ) RM'.o RI!N..I)

I ~o~ I sSPOV I SS?E~ I CKP I SSPM3 II ss:?M2 I SSl'M1 I SSi"MO

!>it7 hitll

Hinh tren cho biet v i tri cac bit cua thanh ghi SSPCON1

eproblogviet. blogspot.com/20 10/1 O/vi-ieu-khien-pic-va-giao-thuc-spi. html

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 5/9

10/02/2012 Vi £)ieu Khiem PIC va Giao thuc SPI

Cac bit di€lu khilln qua trinh giao tiilp SPlla :

SSPOV : bit Co Tran, cho biet Synchronous Serial Port b] tran dO>li~u

SSPEN : viet tat cua Synchronous Serial Port Enable

CKP : di€lu khilln Clock Polarity

SSPM3:SSPMO : cac bit Ii,l'a chon Mode SPI

Neu la 0101 : SPI Sialle Mode,clock=SCK pin, chan SS b] cam.

0100: SPI Sialle Mode,clock=SCK pin, chan SS dU'Q'c cho phep,

0011 : SPI Master Mode, clock=TMR2 outputl2

0010: SPI Master Mode, clock= Fosc/64

0001 : SPI Master Mode, clock= Fosc/16

0000 : SPI Master Mode, clock= Fosc/4

HOI:\T£)ONG COA SPI TRONG PICKhi khoi tao giao tiep SPI,ta phai chi rti la thiet I$p che dq hoat dqng nao bang each ghi vao thanh ghi

SSPCON1 va SSPSTAT cac gia tri thich hop, Gia tri nay SEl cho biet cac thong so sau dU'Q'c chon hay

khong:

- Master Mode (SCK la ngo ra xung clock)

- Sialle Mode (SCK la ngo vao xung clock)

- Clock Polarity (tr~ng thai nghi cua xung SCK)

- Oata Input Sample Phase (tal dillm gio>ahoac cuoi cua xung clock khi data out)

- Canh xung clock (dO>i(iu dU'Q'c truy€ln di tal earth len/xuong cua xung clock)

- Clock Rate (chi cho phep iLYMaster Mode)

- Slave Select Mode (chi SLYdl,mg a Slave Mode)

NhU' da giai thieu, Module MSSP cua PIC co 2 thanh ghi chuc nang Truy€ln/Nh$n la Thanh ghi-dich SSPSR

va thanh ghi d~m SSPBUF. SSPSR SEloich chuylln data vao hoac ra khol thiet bj, bit Msb truoc. SSPBUF

SElgiO>dO>li(iu rna dO>li(iu nay da dU'Q'c ghi vao SSPSR cho den khi nhan dU'Q'c byte dO>li(iu ke tiep. Neu

SSPBUF da nh$n dll 8 bit dO>li(iu thi bit BF (Buffer Full detect bit)va SSPIF (Interrupt Flag bit) cua thanh ghi

SSPSTAT dU'Q'c set. Bat cO>vi(ic ghi/dqc dO>li(iu trong thanh ghi SSPBUF trong qua trinh truy€ln/nh$n d€lu b]

cam va bit WCOl SEldU'Q'c set len 1.Bit nay can dU'Q'c xoa dll neu dO>Ii~u tiep theo dU'Q'c ghi vao SSPBUF

hoan tat thanh congo

Can phai doc dO>li(iu trong SSPBUF ngay sau khi nh$n ~ dll cho phep cac dO>li~u tiep theo dU'Q'c ghi vao.

Bit BF SEl cho biet khi nao SSPBUF day dO>li(iu (qua trinh truy€ln hoan tat). Khi ta doc gia tri trong thanh ghi

SSPBUF, bi t BF SEldU'Q'cxoa,

Mqt each tong quat, Ngat cua Module MSSP thU'ong dung dll xet xem qua trinh truy€lnl nhan xong hay

chua, Nilu bit SSPIF = 1 thi cho>ng to qua trinh truy€ln nhan da hoan tat. NgU'Q'C lai, neu bit SSPIF = 0 thi

qua trinh chua hoan thanh,

THIET lAP CHAN VAO/RA SPI:

£)ll thiet I$p PORT noi tiilp, ta can phai set bit cho phep SPI heat dong - bit SSPEN cua thanh ghi

SSPCON1. Neu muon thiet I$p lal cau hinh SPI, ta chi vi(ic xoa bit SSPEN, khrri tao lal gia tri cho thanh ghi

SSPCON, sau do lai Set bit SSPEN = 1. t.uc nay, cac chan cua Port noi tiep la SOl, SOO,SCK, SS. Muon

cac chan nay co day dll choc nang cua Port dO>li~u vao ra ta phai chon hU'ang dO>li~u cho tCl>ngchan bang

each thao tac len thanh ghi TRISx nhu sau:

+ SOl: chi€lu dO>l i( iu tl ,J 'dong dU'Q'cdi€lu khil ln boi Mode SPI

+ SOO : Chan dO>Ii(iu ra nen can phai xoa bit 5 cua TRISC.

+ SCK : Nilu ache dq Master thi phai xoa bit 3 cua TRISC

+ SCK : Nilu a che do Sialle thi bit 3 cua TRISC can dU'Q'c set len 1

+ SS : Set bit 7 cua TRISF

PIC a MOOE MASTER SPI

Chip Master trong giao tiep SPI co thll khai tao trao doi dO>li(iu bat cO>IOc nao vi no co thll di€lu khilln xung

SCK. a Master Mode, dO>li(iu dU'Q'c truy€ln di hoac nhan ~ ngay khi dU'Q'c ghi vao SSPBUF. Neu Master

chi nhan rna khong truyen dO>li~u thl chan SOO co thll SLYdl,mg nhu chan ngo vao. Thanh ghi SSPSR van

tiep tuc djch dO> li~u ben trong no dong bq l16'i xung SCK. CO>moi Byte nh$n dU'Q'c, PIC SEl luu vao trong

thanh ghi SSPBUF (co ngat va cac bit tranq thai co thll dU'Q'c set len 1).

CI,J'Ctinh cua xung SCK dU'Q'c chon bang each thao tao len bit CKP (SSPCON1<4». O~ng song cua giao

tiep SPI dU'Q'cbieu dien nhu hinh ben dU'ai l16'i bit MSB dU'Q'ctruyen di t ru>ac. a Master Mode, toc dq xung

SCK cua giao tiilp SPI dU'Q'c chon mqt trong so 4 tuy chon sau:- Fosc/4 ( hoac Tcy)

- Fosc/16 (hoac 4 - Tcy)

- Fosc/64 (hoac 16 - Tcy)

- Timer2 outputl2

Toc dOt ruyen dO>li(iu co thll dat gia tri cao nhat la 10 Megabitlgiay (lI6'i tan so thach anh ngoai la 40MHz).

Hinh sau cho thay danq song cua SPI Master Mode. Khi bit CKP = 1, dO>li~u tren day SOO hop I~ truoc

moi canh len/xuong cua xung SCK.

eproblogviet. blogspot.com/20 10/1 O/vi-ieu-khien-pic-va-giao-thuc-spi. html

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 6/9

PIC a MODE SLAVE SPI

a chil do Slave, dO>lii;iu chi dU'Q'c truyim di hay nhan - .k khi co xung SCK. Khi bit cuOi cung da dU'Q'c chOt,

co ngat SSPIF se dU'Q'c set.

TrU'oc khi cho phep PIC hoat dong a Slave Mode ta can phai chu y den xung SCK. Xung clock phai khop

loCi t ranq thai nghi cua xung SCK. Tranq thai nghi dU'Q'CIl,I'achon bang vii;ic thao tac len bit CKP.

Trong khi dang a SPI Slave Mode, xung clock can thiilt cho vii;ic trao dc5idO>lii;iu dU'Q'c I§y tCPchan SCK. PICco the truyiml nhan trong luc dang 'ngu dong'. Nilu co 1 byte dO>lii;iu dU'Q'c nhan thi PIC se 'thuc d~y'.

THIET B! SLAVE Tl)' £)ONG Ll)'A CHON su £)ONG BO HOA

Chan Slave Select (SS) cho phep dOng bO hoa a chil do SPI Slave. Do do, neu d~t cau hinh hoat dong achil do Slave thi ta nen cho phep chan SS de dif:u khien (d~t cac bit SSPCON1 <3:0> = DxD4). Khi chan SS

dU'Q'c dU'a xUOng rrurc thap, Sl,l' truyf:nl nhan dO>lii;iu dU'Q'c cho phep va chan SDO se dU'Q'c thuc de tai dO>

lii;iu. Khi chan SS dU'Q'c dU'a len mCPccao, chan SDO se khong dU'Q'c thuc nO>a,dO>lii;iu se khong dU'Q'c luu

thong.

Nilu SPI Slave Mode co chan SS dif:u khien dU'Q'c kich hoat, thl me-dun SPI se reset khi chan SS dU'Q'c

dU'a len Vdd. Luc nay bit counter b] xoa - . k '0'. Ta cOng co the xoa bit counter bang each xoa bit SSPEN.

Can phai sUodl,mg chan SS nilu nhu SPI Slave Mode dU'Q'cdung loCibit CKE dU'Q'cset.

DI:\NG SONG COA SPI SLAVE MODE (CKE = 0)

10/0212012 Vi £)ieu Khiem PIC va Giao thuc SPI

~~---,----------------------------------

~:,~~~~·o~

sa;{

~= .. ~

SO!(

~~-"i

f i W I

(eKE' OJ

so o( CKE - . )

mcSMP' -O ]

~ --~~~~~~~~~~~~~~~~~r--

( - ! ' J . I P= 0)

WI _ __,_---(

(cS I .IP= , )

t t t t1 t! l;<n

~:r:'l: : R l o --------------------------------------l.~H =~~F ~t::1__

~- ,.

f:: 1 : - - - - : - - - - - - 1sa<

b 1 ! r : , 1~ ~ - + - - r - ~ - - ~ - - ~ ~ ~ ~ - - ~ - - ~ - - ~ ~ - - - - ~

DI:\NG SONG COA SPI SLAVE MODE (CKE = 1)

SO,

~SI'.IP.Q.]

~ t t t t t t t t: : ~ · ~ ~ - ; - - - - ~ ~ ~ ~ - L - : - L - t - L ~ _ L : : ~ ; - ~ ~ r r ~ ! = = = = =

~. ~"'ilp

~r~~-._---~~--_;--~--_r-- __--__--~--~l~-·0 _ : _ 1 _ _

£)U'Q'cdang bai HOANG MINH XUAN vao luc 20:53 D

eproblogviet. blogspot.com/2D 10/1 D/vi-ieu-khien-pic-va-giao-thuc-spi. html

7 nh~n xet

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 7/9

10'02'2012

Nhan: Vi f)i~u Khilln PIC

Phan O>ng:

Vi f)ieu Khiem PIC va Giao thuc SPI

PIC16F877A+GLCD

- Chuan b] :

+ PIC16F877A

+ GLCD 128x64 pixel

+ Tot nhat la mua luon mach HMX_PIC_Quick_Start_KIT dll thuc tap v e sau.

- Vi if lc giao tiep giO>aPIC v a GLCD (Graphic LCD) dU'q'c thuc hiifln nhu so do ben dU'ai. PORTB cua PIC giO>

vai tr o la BUS di~u khilln, PORTD lam BUS data trong ket noi liri GLCD.

~J61~- Ie s·[>

Sau day la chU'O'ng trinh viet cho PIC16F877A:

r_j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ j _ j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ j _ j _j - ' _ j _ j - ' _ j.u_j Project: GlAD TIEP PIC16F877A va GLCD 128x64' _

_j UNG DUNG DON GIAN VOl VIEC HIEN THI CHUOI TEXT , _

_j Thuc hien : HOANG MINH XUAN ,_

_j - ' _ j _ j - ' _ j _ j _ j _j - ' _ j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ j _ j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ j - ' _ j _ jLinh kien can thie!:

1> Mach phat tr ien HMX_PIC_Quick_Start_KIT ( lien he 0949 044 033)

2> GLCD 128x64 pixels

3> PIC16F877A4> Mach nap PIC - PICKIT2 V1.0

Mo ta phan cung:

Chan cua PIC16F877A I Chan GLCD tuong ung

RDO DO

RD1 D1

RD2 D2

RD3 D3

RD4 D4

RD5 D5

RD6 D6

RD7 D7

RB2 CS2

RB3 CS1

RB4 RSRB5 R/W

RB6 E

RB7 RST

* 'id mainO

{

" khoi tao PORT cho PIC

TRISB = OxOO;" PORT B is output

TRISD = OxOO;" PORT D is output

PORTB = PORTD = OxOO;" clear all output PORT

" khoi tao GLCD

eproblogviet. bloqspot.corn/zu 10'1 O'vi-ieu-khien-pic-va-giao-thuc-spi. html

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 8/9

10/02/2012

Glcd_lnit(&PORTB,3,2,4,5,7,6,&PORTD);

Glcd_Set_Font(font5x7,5, 7,32);

Glcd_Fil l(O); " clear screen

while(1)

{

Glcd_Write_Text("HOANG MINH XUAN",5,2, 1);

Glcd_Write_Text("From: Cantho City",5,3, 1);

Glcd_Write_Text("Place I work: RVC",5,4,1);

Glcd_Write_Text("Hello Girls !",5,5,1);

}

Vi £)ieu Khiem PIC va Giao thuc SPI

- Giai thich y nghTmc;,tso ham trong chuonq trinh

+ Ham Glcd_lnit : khoi tao cho GLCD bang each chi dinh PORT diflu_khifln, cac chan diflu khifln,

PORT_data. a day toi chon PORT B lam cac chan diflu khien giao tiep, tU'O'ng O>ngnhu sau:

· RB2 (chan RB2 cua PORT B) noi liO'i chan Chip_Select_1 cua GLCD.

· RB3 -_- Chip_Select_2

· RB4 -_- RS

· RB5 -_- Read/Write

· RB6 -_- Enable the screen

· RB7 -_- Reset the GLCD

va, PORT D lam BUS dO>lii:iu 8 bit song song, chuyfln dO>lii:iu hoac com men len GLCD.

+ Ham Glcd_Set_Font: d$t Font chO>cho GLCD. a day toi chon Font 5x7 (1 ki tl,!' co kich thU'ac 5x7 pixel)

+ Ham Glcd_Fill: neu tham so truyfln vao la 0 --> cac diflm anh se bi xoa, man hinh nhu dU'q'c lam sach

(clear screen). Neu tham so la 1 thi man hinh se day cac diflm anh dU'q'c ghi (nhin den thui)

+ Ham Glcd_Write_ Text: Ghi 1 dean Text len GLCD.

Sau khi bien dich chU'O'ng trinh, toi dung mach nap PICKIT2 V1.0 nap file HEXxuong chip PIC16F877A, giao

dii:in phan mflm PICKIT2 khi nap thanh cong :

Iii" ~ •......,.11<9- I"'" - U$

. . . . . . ~:~

1 !! :u 1 1~ 1f l Nf lF 1 'I F 'I 7~~~.~ M ICRCl!CJH IP

\(I(I~Od'::

D~.Oh-tWl

(••• 1 III I i ••• I!II •• )

P!C9o.lmM~.;'

s....- I " " , m l > ! - , , ' ' ~ . , . ~ ' " r"''''''''~I;.tiWE.~IlJ;QItIWf;;;:;-.(J[]IJ!) : ! J . P . ' F :3FH" ::IU}, 3rF1' _ . ,.." :3~Q 3 ~ 1 J 1 J I ~'~~3 m . IWil j-\IIQ ' J O ; ! n ' : M - Q Q 1W!l :1'IIIl ~ < w q =.Ql~ ~M j~ HIlO ~~u ;>In H. 1,11 ~~H

.01(1 ;0•• !~ loll 3q~A. ~I' !~! ;41~ 3,M

( J I l Z I ) I J . t i t l 4 ~4IYZ ''''. " " ' "~~ :5 : 3 > f Z ; : : j4ro J 4 t J 1 )

Q[]2* :H[i:!i i :3403 '"",0 3 . : 1 D ! ) 2: - 1 ! I . [ i [ ] ,~'" ,~ ". .~Q~~ ~41HI ~~ :;',"~ 34~:? ~;u: :3~ :;.~ ~~,IL

~D!3 MI'C j'~ HQ3 ~~.~i 1~0Ii l~ ~~D3OO$j ~M MI4I M' lO !~"~~M M o e ;~ !4Q~

004* HIli !4Oe )'\lio 3,;~ ;';1. ~ " " " ;';'00 lOll!

(![]:!i!) :t~Ii[]

' ' ' ' ' ' ' ',. . . JlIg~ ~4l[ :3 '45! l ,. . . 3 1 1 4 5 -

f l D : 5 ; 3 ; .. 1£ , " " " ,_3 1 1 ' i I F ~IID ,.." ,. . 311 6. . 1 .

'"E .E P RD i! D . . .

S~ I t i? ~ l" t > , , , ;

'_ 0 " ; ' " . '[ __ w '"

I PICkL t - 2 '

M~IT~IT~"IT~U~"ITIT"~rrA

J(j fF FI' IT P'I' IT '~f iF : F rr IJ ff IF H rr H Fr : r . . . . -

~~"~~ffRIT~ff~Wff~ff~W

00 r ,. r .r !" " ' f O P ' r1' 1 \ ' 1 ' : r .r ~ r .r ! F ,F : Pr ' " r r T il " " ' J ' P , ' ¥

va day la ket qua chuonq trinh tren:

eproblogviet. blogspot.com/20 10/1 O/vi-ieu-khien-pic-va-giao-thuc-spi. html

5/14/2018 In - Vi i u Khi n PIC v Giao th c SPI - slidepdf.com

http://slidepdf.com/reader/full/in-vi-dieu-khien-pic-va-giao-thuc-spi 9/9

10/02/2012 Vi £)i iiu Khiem PIC va Giao thuc SPI

Newer Posts Home Older Posts

Copyright 2010 H-Crazy

Blogger Themes

Privacy policy Blogger

eproblogviet. blogspot.com/20 10/1 O/vi-ieu-khien-pic-va-giao-Ihuc-spi. hlml