You are on page 1of 27

Bo co project 2

Mc Lc:

Mc Lc: ............................................................................................................................................... 1
A.Li Ni u. ...................................................................................................................................... 3
B.Ni Dung............................................................................................................................................ 4
Phn 1: M T Ti. ...................................................................................................................... 4
1.

Cc Phn Mm V Thit B M Phng S Dng. ............................................................ 4

2.

Yu Cu Ca Ti............................................................................................................ 4

Phn 2: Tm Hiu V Linh Kin Phn Cng S Dng. ..................................................................... 5


1.

Vi iu Khin MSP430G2553. ........................................................................................... 5

2.

LCD 16x2. ...........................................................................................................................11

3.

Module thu pht nRF24L01 2.4Ghz. ...............................................................................14

Phn 3: Code Cho MPS430G2553 V Thit K Mch. ..................................................................17


1.

Code Cho MPS430G2553..................................................................................................17

2.

Thit K Mch. ..................................................................................................................20

3.

Mch Thc T Hon Thnh. ............................................................................................21

C.Kt Lun. .........................................................................................................................................22


D.Ph Lc ............................................................................................................................................23

Nhm 1

Page 1

Bo co project 2

Danh sch Hnh V

Hnh 1: Kit launchpad msp430 .............................................................................................................. 4


Hnh 2: MSP430G2553 ......................................................................................................................... 5
Hnh 3: S chn MSP430G2553 ...................................................................................................... 6
Hnh 4: Mch RESET cho chip ............................................................................................................. 9
Hnh 5 : Hnh dng ca loi LCD thng dng .....................................................................................11
Hnh 6 : S chn ca LCD..............................................................................................................12
Hnh 7: Module thu pht nRF24L01 ...................................................................................................14
Hnh 8: S khi ca nRF24L01. .....................................................................................................15
Hnh 9: Mch Layout ca nRF24L01. .................................................................................................16
Hnh 10: Mch Nguyn L. .................................................................................................................20
Hnh 11: Lp Top. ...............................................................................................................................21
Hnh 12: Lp Bottom ..........................................................................................................................21
Hnh 13:Mch sau khi hon thnh. ......................................................................................................21

Nhm 1

Page 2

Bo co project 2

A.Li Ni u.
gip sinh vin hc tp, trau di thm kin thc v thit k phn cng v tip cn
su hn vi vi iu khin th Vin in T Vin Thng trng H.Bch Khoa H
Ni t chc mn hc Project 2. Trong mn hc Project 2 ny nhm em c
phn cng di s hng dn ca thy ThS.Nguyn Tin Dng. Nh c s ch bo
hng dn c th ca thy ln nhm em hon thnh c Project 2.
Trong qu trnh thc hin Project 2 c s hng dn ch bo tn tnh ca thy
ThS.Nguyn Tin Dng cng anh hng dn Nguyn Quang Tun Anh, chng em
hc tp v trau di cho bn thn nhiu kin thc mi l, b ch, bit cch tip cn mt
vn v a ra tng gii quyt vn . Qua rn luyn cho mnh phm cht
ca nhng k s trong tng lai.
Mc d nhn c s gip , ch bo, tn tnh t pha cc thy nhng do bc u
lm quen vi loi vi iu khin mi ln chng em cng gp phi mt vi kh khn
khi tip cn nhng cng nhanh chng tm hiu v lm ch c n.
Cui cng chng em xin c gi li cm n ti thy ThS.Nguyn Tin Dng v
anh Nguyn Quang Tun Anh hng dn chng em hon thnh Project 2.
Chng em xin chn thnh cm n!

Nhm 1

Page 3

Bo co project 2

B.Ni Dung.

Phn 1: M T Ti.

1. Cc Phn Mm V Thit B M Phng S Dng.


Phn mm altium designer 10: v mch phn cng.
Phn Mm CCS4.0: dng vit code cho vi iu khin MSP430, v gip
lp xung kit launchpad msp430.
Kit launchpad msp430: cng c test m phng phn cng.

Hnh 1: Kit launchpad msp430

2. Yu Cu Ca Ti.
Mch OBU thu tn hiu tr ph.
Mch pht tn hiu tr ph t ti cng thu ph.
Hin th thng tin ty chn.
Khng pht trng lp tn hiu ti nhiu OBU.
Truyn thng tc ti 20km/h.
Nhm 1

Page 4

Bo co project 2

Phn 2: Tm Hiu V Linh Kin Phn Cng S Dng.

1. Vi iu Khin MSP430G2553.

Hnh 2: MSP430G2553

Gii thiu tng qut :

Cc dng vi iu khin msp430 ny do hng TI ( Texas Instruments) sn xut,


ngoi ra th TI cn sn xut v cung cp nhiu linh kin in t v cc module
khc .
Vi iu khin( Micro controller unit MCU ) l n v x l nh, n c tch
hp ton b cc b nh nh ROM , RAM , cc port truy xut , giao tip ngoi vi
trc tip trn 1 con chip ht sc nh gn. c thit k da trn cu trc VONNEUMAN , c im ca cu trc ny l ch c duy nht 1 bus gia CPU v b
nh (data v chng trnh) , do m chng phi c rng bit tng t nhau.
MSP430 c mt s phinbn nh: MSP430x1xx, MSP430x2xx, MSP430x3xx,
MSP430x4xx, MSP430x5xx. Di y l nhng c im tng qut ca h vi
iu khin MSP430:
+ Cu trc s dng ngun thp gip ko di tui th ca Pin
-Duy tr 0.1A dng nui RAM.
-Ch 0.8A real-time clock.
Nhm 1

Page 5

Bo co project 2
-250 A/ MIPS.
+ B tng t hiu sut cao cho cc php o chnh xc
-12 bit hoc 10 bit ADC-200 kskp, cm bin nhit , Vref ,
-12 bit DAC.
-B gim st in p ngun.
+ 16 bit RISC CPU cho php c nhiu ng dng, th hin mt phn kch
thc Code lp trnh.
-Thanh ghi ln nn loi tr c trng hp tt nghn tp tin khi ang lm vic.
-Thit k nh gn lm gim lng tiu th in v gim gi thnh.
-Ti u ha cho nhng chng trnh ngn ng bc cao nh C, C++
-C 7 ch nh a ch.
-Kh nng ngt theo vc t ln.
+ Trong lp trnh cho b nh Flash cho php thay i Code mt cch linh hot,
phm vi rng, b nh Flash cn c th lu li nh nht k ca d liu.

S chn :

Chip MSP430 c kch thc nh gn , ch vi 20 chn i vi kiu chn DIP.


Bao gm 2 port I/O (hay GPIO general purprose input/ output : cng nhp xut
chung).

Hnh 3: S chn MSP430G2553


Ta thy rng mi port u c 8 chn.
Port 1 : c 8 chn t P1.0 n P1.7 tng ng vi cc chn t 2-7 v 14 , 15.
Port 2 : cng gm c 8 chn P2.0 P2.7 ng vi cc chn 8 13 , 18,19.
Nhm 1

Page 6

Bo co project 2
Ngoi chc nng I/O th trn mi pin ca cc port u l nhng chn a chc
nng, ta th thy r trong bng sau :

Trn bng l chc nng ca tng chn , ngoi ra i vi cc MCU c kiu chn
SMD loi 28 chn th n c thm port 3 na,nhng y ch xt i vi kiu DIP

Nhm 1

Page 7

Bo co project 2
20 chn v kiu TSSOP 20 chn , kiu cn li cc bn c th tm hiu trn trang
ch ca nh sn xut .

Gii thch s lc cc chn :

- Chn s 1 l chn cp ngun Vcc( k hiu trn chip l DVcc ) , y ngun cho
chip ch c cp mc 3,3V , nu cp ngun cao qu mc ny th chip c th
hot ng sai hay chy chip .
c c mc ngun ny th ta phi dng 1 IC n p ring c k hiu LM1117
hay AD1117 , IC ny c kiu chn SMD nh gn , cch mc chip ny th cng
ging nh vi nhng IC ngun nh LM78xx , tuy nhin lu y l th t chn
y c hi khc 1 cht.Cc bn c th xem datasheet ca IC m mc cho ph
hp.
-Chn 20 l chn ni cc m (0V) , chn ny th khng c g c bit.

-Chn reset : Chnh l chn s 16 RST , nu cc bn tng hc v PIC th s


thy chn reset c k hiu l MCLR , cc bn thy du gch ngang trn c
ngha l chn ny tch cc mc thp . Mc ch ca vic reset l nhm cho
chng trnh chy li t u .

Nhm 1

Page 8

Bo co project 2

Mch reset cho chip :

Hnh 4: Mch RESET cho chip


Ch : t y l t pi v chnh xc l t 102, nu thay i th khi kt ni Jtag
np code cho chip s khng c.

-Mch dao ng : Cng ging nh nhng dng vi iu khin khc th Msp430


cng h tr ngi dng thch anh ngoi ( external crystal ), nhng thch anh
ngoi vi cho php ch c th ln ti 32,768 kHz m thi, v tn hiu ny c
mc trn 2 chn 18 v 19. Nhng msp430 li h tr thch anh ni c th ln n
16Mhz, ty vo cch khai bo trong lp trnh. V mc nh ca chip l thch anh

Nhm 1

Page 9

Bo co project 2
ni. Nh vy th chng ta khng cn thit phi s dng mch dao ng ngoi cho
chip ging nh nhng dng khc.

- Port I/O :
Port 1 : c 8 chn t P1.0 n P1.7 tng ng vi cc chn t 2-7 v 14 , 15.
Port 2 : cng gm c 8 chn P2.0 P2.7 ng vi cc chn 8 13 , 18,19.
Trong ch nhp (input) th c 2 port u c 1 mch iu khin in tr ko
dng gi l PULL UP nhng gi tr ca in tr ny rt ln khong 47K nn
gi l WEAK PULL UP RESISTAN. Vic iu khin PULL UP s c tin hnh
thng qua lp trnh tc ng ln thanh ghi PxREN s c cp chng sau .
iu ny cng ging nh vic thit lp input port B ca vi iu khin PIC, port
B cng c in tr ko ln , v ngi lp trnh phi thao tc qua thanh ghi
OPTION_REG.

Nhm 1

Page 10

Bo co project 2

2. LCD 16x2.

Hnh dng v kch thc:


C rt nhiu loi LCD vi nhiu hnh dng v kch thc khc nhau, trn

hnh 1 l loi LCD thng dng.

Hnh 5 : Hnh dng ca loi LCD thng dng

Khi sn xut LCD, nh sn xut tch hp chp iu khin (HD44780)

bn trong lp v v ch a cc chn giao tip cn thit. Cc chn ny c nh


s th t v t tn nh hnh 2 :

Nhm 1

Page 11

Bo co project 2

Hnh 6 : S chn ca LCD

Chc nng Cc Chn

Chn

K Hiu

M T

Vss

Chn ni t cho LCD, khi thit k mch ta ni chn ny


vi GND ca mch iu khin

VDD

Chn cp ngun cho LCD, khi thit k mch ta ni chn


ny vi VCC=5V ca mch iu khin

VEE

RS

iu chnh tng phn ca LCD.


Chn chn thanh ghi (Register select). Ni chn RS vi
logic 0 (GND) hoc logic 1 (VCC) chn thanh
ghi.
+ Logic 0: Bus DB0-DB7 s ni vi thanh ghi lnh IR
ca LCD ( ch ghi - write) hoc ni vi b m
a ch ca LCD ( ch c - read)
+ Logic 1: Bus DB0-DB7 s ni vi thanh ghi d liu
DR bn trong LCD.

R/W

Chn chn ch c/ghi (Read/Write). Ni chn R/W


vi logic 0 LCD hot ng ch ghi, hoc ni
vi logic 1 LCD ch c

Nhm 1

Page 12

Bo co project 2
6

Chn cho php (Enable). Sau khi cc tn hiu c t


ln bus DB0-DB7, cc lnh ch c chp nhn khi c 1
xung cho php ca chn E.
+ ch ghi: D liu bus s c LCD chuyn
vo(chp nhn) thanh ghi bn trong n khi pht hin mt
xung (high-to-low transition) ca tn hiu chn E.
+ ch c: D liu s c LCD xut ra DB0-DB7
khi pht hin cnh ln (low-to-high transition) chn E
v c LCD gi bus n khi no chn E xung mc
thp.

7-14

DB0-DB7 Tm ng ca bus d liu dng trao i thng tin


vi MPU. C 2 ch s dng 8 ng bus ny :
+ Ch 8 bit : D liu c truyn trn c 8 ng, vi
bit MSB l bit DB7.
+ Ch 4 bit : D liu c truyn trn 4 ng t
DB4 ti DB7, bit MSB l DB7

15

Ngun dng cho n nn

16

GND cho n nn

Nhm 1

Page 13

Bo co project 2

3. Module thu pht nRF24L01 2.4Ghz.

Gii thiu

Hnh 7: Module thu pht nRF24L01

Thng s k thut

Radio:
-

Hot ng gii tn 2.4 Ghz.

C 126 knh.

Truyn v nhn d liu.

Truyn tc cao 1Mbps hoc 2 Mbps.

Cng sut pht:


-

C th ci t c 4 cng sut ngun pht: 0,-6,-12,-18 dBm.

Thu:
-

C b lc nhiu ti u thu.

Khuch i b nh hng bi nhiu thp (LNA).

Nhm 1

Page 14

Bo co project 2
Ngun cp:
-

Hot ng t 1,9 3,6V

Cc chn I/O chy c c 3,3 ln 5V.

Giao tip:
-

4 pin SPI.

Tc ti a 8Mbps.

3-32 bytes trn 1 khung truyn nhn.

Hnh 8: S khi ca nRF24L01.

Phn Tch
Modul nRF24L01 hot ng tn s sng ngn 2.4G nn Modul ny kh
nng truyn d liu tc cao v truyn nhn d liu trong iu kin mi
trng c vt cn.

Modul nRF24L01 c 126 knh truyn. iu ny gip ta c th truyn nhn


d liu trn nhiu knh khc nhau.

Modul kh nng thay i cng sut pht bng chng trnh, iu ny gip
n c th hot ng trong ch tit kim nng lng.

Nhm 1

Page 15

Bo co project 2
-

Ch : in p cung cp cho l 1.93.6V. in p thng cung cp l 3.3V.


Nhng cc chn IO tng thch vi chun 5V. iu ny gip n giao tip
rng di vi cc dng vi iu khin.

Hnh 9: Mch Layout ca nRF24L01.

Nhm 1

Page 16

Bo co project 2

Phn 3: Code Cho MPS430G2553 V Thit K Mch.

1. Code Cho MPS430G2553.


Code xy dng giao tip UART gia my tnh v MSP430 pht:
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
unsigned char u8Receive;
u8Receive = UCA0RXBUF;
if (u8Receive == '\n')
{
g_u8StartSendFlag = 1;
return;
}
if (g_u8UartBufferPtr < UART_BUFFER_MAX)
{
g_pUartBuffer[g_u8UartBufferPtr++] = u8Receive;
g_pUartBuffer[g_u8UartBufferPtr] = 0;
}
}

Code truyn tn hiu thng qua module RF


/*
* main.c (Transmitter)
*/

Nhm 1

Page 17

Bo co project 2
void main(void)
{
unsigned long i = 0;
unsigned char RxBuf[128];
WDTCTL = WDTPW | WDTHOLD;

// Stop watchdog timer

BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;

// Set range
// Set DCO step +

modulation */

P1DIR |= BIT0;
P1OUT &= ~BIT0;
UartInit();
init_NRF24L01();
SetRX_Mode();

while (1)
{
if (nRF24L01_RxPacket(RxBuf) == 1)
{
UartSend(RxBuf, strlen(RxBuf));
SetRX_Mode();
}

Nhm 1

Page 18

Bo co project 2
if (g_u8StartSendFlag == 1)
{
SetTX_Mode();
nRF24L01_TxPacket(g_pUartBuffer);
SPI_RW_Reg(WRITE_REG+STATUS, 0XFF); // Clear Bit Send
g_u8StartSendFlag = 0;
g_u8UartBufferPtr = 0;
LED_TOGGLE;
SetRX_Mode();
}
}
}

Nhm 1

Page 19

Bo co project 2

2. Thit K Mch.
Mch nguyn l module thu tn hiu:

Hnh 10: Mch Nguyn L.

Nhm 1

Page 20

Bo co project 2
Mch in:

Hnh 11: Lp Top.

Hnh 12: Lp Bottom

3. Mch Thc T Hon Thnh.

Hnh 13:Mch sau khi hon thnh.

Nhm 1

Page 21

Bo co project 2

C.Kt Lun.
Qua nhng ngy tri nghim thc t khi tin hnh thc hin Project 2
ny,chng em hc tp v lm vic thc s, nh nhng kin thc hc hi c
cng s ch bo tn tnh ca cc thy, chng em hiu v lm vng c quy trnh
lm vic to ra mt sn phm, hc c cch lm vic nhm, cch t chc cng
vic hiu qu. c rt c nhng kinh nghim thc t qu bu. T nhng kinh
nghim cng nh nhng bi hc qu bu chng em hc c s gip ch cho
chng em rt nhiu cho cng vic hc tp v nghin cu tip theo ca mnh.
Mt ln na em xin cm n thy Ths.Nguyn Tin Dng to mi iu kin tt
nht cho chng em c th hon thn tt Project 2 ny.

Nhm 1

Page 22

Bo co project 2

D.Ph Lc
1. Code Xy Dng Hm iu Khin Mch Pht.
main.c
#include <msp430.h>
#include "nRF24l01.h"
#include "string.h"
#include "stdio.h"
#include "LCD.h"
#define LED_TOGGLE

P1OUT ^= BIT0

#define UART_BUFFER_MAX

32

void UartInit(void);
void UartSend(unsigned char* pBuff, unsigned char u8Length);
unsigned char g_pUartBuffer[UART_BUFFER_MAX] = { 0 };
unsigned char g_u8UartBufferPtr = 0;
unsigned char g_u8StartSendFlag = 0;
/*
* main.c (Transmitter)
*/
void main(void)
{
unsigned long i = 0;
unsigned char RxBuf[128];
WDTCTL = WDTPW | WDTHOLD;
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
modulation */

// Stop watchdog timer


// Set range
// Set DCO step +

P1DIR |= BIT0;
P1OUT &= ~BIT0;
UartInit();
init_NRF24L01();
SetRX_Mode();
while (1)
{
if (nRF24L01_RxPacket(RxBuf) == 1)
{
UartSend(RxBuf, strlen(RxBuf));
SetRX_Mode();
}
if (g_u8StartSendFlag == 1)
{
SetTX_Mode();
nRF24L01_TxPacket(g_pUartBuffer);

Nhm 1

Page 23

Bo co project 2
SPI_RW_Reg(WRITE_REG+STATUS, 0XFF); // Clear Bit Send
g_u8StartSendFlag = 0;
g_u8UartBufferPtr = 0;
LED_TOGGLE;
SetRX_Mode();
}
}
}
// Uart received handler
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
unsigned char u8Receive;
u8Receive = UCA0RXBUF;
if (u8Receive == '\n')
{
g_u8StartSendFlag = 1;
return;
}
if (g_u8UartBufferPtr < UART_BUFFER_MAX)
{
g_pUartBuffer[g_u8UartBufferPtr++] = u8Receive;
g_pUartBuffer[g_u8UartBufferPtr] = 0;
}
}
void UartInit(void)
{
P1SEL = BIT1 + BIT2 ;
P1SEL2 = BIT1 + BIT2 ;
UCA0CTL1 |= UCSSEL_2;
UCA0BR0 = 104;
UCA0BR1 = 0;
UCA0MCTL = UCBRS0;
UCA0CTL1 &= ~UCSWRST;
machine**
IE2 |= UCA0RXIE;
interrupt
__bis_SR_register(GIE);

//
//
//
//
//
//
//

P1.1 = RXD, P1.2=TXD


P1.1 = RXD, P1.2=TXD
SMCLK
1MHz 9600
1MHz 9600
Modulation UCBRSx = 1
**Initialize USCI state

// Enable USCI_A0 RX
// Enter LPM0, interrupts enabled

}
void UartSend(unsigned char* pBuff, unsigned char u8Length)
{
unsigned char i;
for (i = 0; i < u8Length; i++)
{
while (!(IFG2 & UCA0TXIFG));
buffer ready?
UCA0TXBUF = pBuff[i];
character
}
}

Nhm 1

// USCI_A0 TX
// TX -> RXed

Page 24

Bo co project 2

2. Code Xy Dng Hm iu Khin Mch Thu.


main.c
#include <msp430.h>
#include "nRF24l01.h"
#include "string.h"
#include "stdio.h"
#include "LCD.h"
#define LED_TOGGLE

P1OUT ^= BIT0

#define UART_BUFFER_MAX

32

void UartInit(void);
void UartSend(unsigned char* pBuff, unsigned char u8Length);

unsigned char g_pUartBuffer[UART_BUFFER_MAX] = { 0 };


unsigned char g_u8UartBufferPtr = 0;
unsigned char g_u8StartSendFlag = 0;

/*
* main.c (Receiver)
*/
void main(void)
{

Nhm 1

Page 25

Bo co project 2
unsigned long i = 0;
unsigned char RxBuf[128];
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer

BCSCTL1 = CALBC1_1MHZ;

// Set range

DCOCTL = CALDCO_1MHZ;

// Set DCO step +

modulation */

P1DIR |= BIT0;
P1OUT &= ~BIT0;

init_NRF24L01();
SetRX_Mode();
lcd_init(0);
lcd_clear();
while (1)
{
if (nRF24L01_RxPacket(RxBuf) == 1)
{
lcd_gotoxy(0,0);
lcd_puts("ky tu hien thi");
lcd_gotoxy(0,1);
lcd_putc(RxBuf[0]);
lcd_putc(RxBuf[1]);

Nhm 1

Page 26

Bo co project 2
lcd_putc(RxBuf[2]);
SetTX_Mode();
nRF24L01_TxPacket("Received: ");
nRF24L01_TxPacket(RxBuf);
nRF24L01_TxPacket("\n\r");
SPI_RW_Reg(WRITE_REG+STATUS, 0XFF); // Clear Bit
Send
LED_TOGGLE;
SetRX_Mode();
}
}
}

Nhm 1

Page 27

You might also like