Tải bản đầy đủ (.docx) (36 trang)

THIẾT KẾ MẠCH KHÓA SỐ ĐIỆN TỬ TRÊN VĐK MSP430, điện tử viễn thông, đại học bách khoa hà nội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (991.36 KB, 36 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
÷÷÷÷÷÷o0o÷÷÷÷÷÷

BÁO CÁO ĐỒ ÁN II
ĐỀ TÀI: THIẾT KẾ MẠCH KHÓA SỐ ĐIỆN TỬ TRÊN
VĐK MSP430

GVHD: Ths. TRẦN NGỌC TUẤN
Sinh viên thực hiện:
Đàm Văn Phượng

20111974

Trần Hồng Quân

20111998

Hà Nội 1/2015
1


LỜI NÓI ĐẦU
Trong thời kỳ công nghiệp hóa và hiện đại hóa như ngày nay, các thiết bị
điện tử, tự động hóa đóng vai trò rất quan trọng, đặc biệt là trong quá trình sả
xuất ở các phân xưởng, nhà máy cũng như là trong đời sống gia đình.Trong
lĩnh vực điều khiển công nghệ chế tạo vi mạch lập trình phát triển đã đem đến
các kỹ thuật điều khiển hiện đại có nhiều ưu điểm hơn so với việc sử dụng
các mạch lắp ráp. Các linh kiện sử dụng nhỏ, giá thành rẻ, độ làm việc tin
cậy, công suất cao.
Lĩnh vự điều khiển đã được ứng dụng rộng rãi trong các thiết bị, sản


phẩm phục vụ cho nhu cầu sinh hoạt hàng ngày của con người như các loại
máy tự động, đồng hồ báo giờ, các loại đèn quang báo,... Với những kiến thức
đã học và thông qua tìm hiểu internet chúng em chúng em đã chọn đề tài là:
Mạch khóa số điện tử sử dụng vi điều khiển MSP430
Bài tập lớn bao gồm 3 chương:
Chương 1: Khảo sát & phân tích hệ thống.
+ Tìm hiểu qua về các linh kiện
+ Hoạt động của các linh kiện trong hệ thống.
Chương 2: Giới thiệu hệ thống nhúng và KIT MSP430
+ Giới thiệu hệ thóng nhúng
+ KIT MSP430
Chương 3: Thiết kế hệ thống:
+ Sơ đồ mạch, mạch in.
Do kiến thức còn nhiều hạn chế nên dễ xảy ra sai sót, mong thầy góp ý và bổ
sung để nhóm em hoàn thiện hơn kiến thức. Chúng em xin chân thành cảm ơn
thầy!
2


MỤC LỤC
CHƯƠNG 1: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG.......................................5
1.1

Giới thiệu đề tài:...........................................................................................5

1.2

Mô tả đề tài:..................................................................................................5

1.3


Yêu cầu chức năng:.......................................................................................5

1.4

Yêu cầu phi năng:.........................................................................................6

1.5

Các công cụ sử dụng:....................................................................................6

1.6

Sơ đồ khối của hệ thống:...............................................................................6

1.7

Phân chia công việc:.....................................................................................6

CHƯƠNG 2: Giới thiệu về các hệ thống nhúng và KIT MSP430............................7
2.1 Hệ thống nhúng là gì?......................................................................................7
2.2

KIT MSP430.................................................................................................8

2.2.1 Sơ lược cấu tạo KIT MSP430....................................................................8
2.2.2 Bộ nhớ KIT MSP430...............................................................................12
2.3 Phần mềm.......................................................................................................13
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG....................................................................14
3.1 Sơ đồ bàn phím...............................................................................................14

3.2 : Khối hiển thị.................................................................................................15
3.3 Khối nguồn.....................................................................................................15
3.4

: Sơ đồ toàn mạch........................................................................................16
3


3.4.1

Mạch chạy thử trên proteus..................................................................17

3.4.2

Sơ đồ mạch in.......................................................................................17

3.4.5 Hình chụp toàn mạch:..............................................................................18
CHƯƠNG 3: KẾT LUẬN.......................................................................................18
PHỤ LỤC : SOURCE CODE................................................................................19

4


CHƯƠNG 1: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG
1.1 Giới thiệu đề tài:
Các thiết bị trong nhà luôn là những vật dụng quan trọng không thể thiếu trong
đời sống của chúng ta, ví dụ như: đồng hồ báo thức, bóng điện, nhiệt kế , khóa ...
Tuy nhiên những thiết bị bằng cơ học này thường không chính xác và dễ sai lệch,
lại không thể hoạt động một cách tự động. Nhưng ngày nay với sử dụng các thiết bị
điện tử, những các thiết bị này sẽ được thay thế bởi các thiết bị nhỏ gọn và có thể

chạy chính xác hơn. Chính vì vậy từ những nhu cầu và điều kiện trên chúng em
quyết định chọn đề tài: thiết kế mạch khóa số điện tử, góp 1 phần nhỏ vào các thiết
bị thông minh trong ngôi nhà
1.2 Mô tả đề tài:

Đề tài: Khóa số điện tử.
- Hệ thống kết nối với cửa ra vào, yêu cầu người sử dụng phải đăng nhập mật
khẩu vào hệ thống để được vào.
- Dùng LCD để hiển thị mật khẩu và giao tiếp với người sử dụng.
- Hệ thống có keypad giúp người dùng nhập mật khẩu vào hệ thống.
- Khi người sử dụng nhập đúng mật khẩu vào hệ thống thì hệ thống sẽ tự
động mở cửa cho người vào trong.
1.3 Yêu cầu chức năng:
-

Khóa số giao tiếp qua keypad , hiển thị lên LCD
Nhập mật khẩu để mở khóa
Nhập sai 3 lần hệ thống sẽ treo 5 phút
Có thể thay đổi mật khẩu

5


1.4 Yêu cầu phi năng:
- Sử dụng vi điều khiển MSP430 với công suất nhỏ
- Các chức năng dễ sử dụng
- Hiển thị lên LCD dễ theo dõi

1.5 Các công cụ sử dụng:
-


Code Composer Studio : Soạn thảo code C
Proteus 8.0 : Mô phỏng mạch
Altium 13.4: Thiết kế mạch nguyên lý và mạch in
Micosoft Visio : Lập sơ đồ khối

1.6 Sơ đồ khối của hệ thống:

Hình 1: Sơ đồ khối của hệ thống
1.7 Phân chia công việc:
- Đàm Văn Phượng: Soạn thảo code C, đặt mạch in, viết báo cáo
- Trần Hồng Quân: Thiết kế mạch nguyên lý và mạch in, hàn mạch

6


CHƯƠNG 2: GIỚI THIỆU VỀ CÁC HỆ THỐNG NHÚNG VÀ KIT
MSP430

2.1 Hệ thống nhúng là gì?
 Theo Wikipedia.org thì Hệ thống nhúng (Embedded system) là một
thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào
trong một môi trường hay một hệ thống mẹ. Đó là các hệ thống tích
hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng
trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc
và truyền tin. Đặc điểm của các hệ thống nhúng là hoạt động ổn định
và có tính năng tự động hoá cao.
 Không giống như máy tính, các hệ thống nhúng chỉ thực hiện một
hoặc một vài chức năng nhất định chứ không có chức năng xử lý như
trong máy tính. Các hệ thống nhúng này bắt buộc phải có phần cứng

được thiết kế riêng đi kèm mới hoạt động đúng với chức năng. Các hệ
thống nhúng thường được thiết kế tối ưu cả về kích thước và giá
thành; hơn nữa các hệ thống nhùng thường được sản xuất với số lượng
khá lớn
 Phần mềm của hệ thống được lưu trữ trong các chip bộ nhớ ROM
hoặc bộ nhớ flash. Phần mềm thường chạy với số tài nguyên phần
cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích
thước nhỏ, dung lượng bộ nhớ thấp Sau đây, ta sẽ đi sâu, xem xét cụ
thể đặc điểm của các thành phần của hệ thống nhúng.

7


 Các hệ thống nhúng sau khi được sử dụng sẽ hoạt động độc lập,
không cần sự điều khiển của con người. Hệ thống hoạt động ổn định
trong thời gian rất lâu và hầu như không xảy ra bất cứ lỗi, sự cố nào.

 Các hệ thống nhúng thường gặp trong thực tế như: các mạch điều
khiển trong máy giặt, tivi, điệ thoại….

Hướng phát triển của hệ thống nhúng:
 Hệ thống điều khiển tương tự (trước những năm 1970)
 Hệ thống máy tính số (từ 1970 tới nay)
+ Mạch số tích hợp thấp: transistor, IC 555…
+ Mạch số tích hợp trung bình: CMOS 4000
+ Mạch số tích hợp cao: vi điều khiển.

2.2 KIT MSP430
2.2.1 Sơ lược cấu tạo KIT MSP430.


8


Hình 2: KIT MSP430G2.
o KIT MSP-EXP430G2 được phát triển bởi Texas Instruments hỗ trợ các dòng
vi điều khiển MSP430G2xx. LaunchPad hỗ trợ cổng kết nối USB, 20 chân
DIP socket. Nó là một công cụ hỗ trợ cho nạp code cũng như đánh giá và gỡ
lỗi dễ dàng hơn.
 Một Kit LaunchPad gồm hai thành phần, với GND được phủ chung:
o Nửa trên: (Embedded Emulation ) là phần mạch nạp theo chuẩn spy-bi-wire
Jtag (2 dây), kết hợp với chuyển đổi giao tiếp UART với máy tính. Trên
cùng là đầu USBmini để nối với máy tính.

9


 phía dưới là hàng Header để nối ra đối tượng cần giao tiếp, bao gồm
các chân:
+ TXD, RXD: phục vụ giao tiếp UART với máy tính.
+ RST, TEST: phục vụ nạp và debug (sửa lỗi) theo chuẩn spy-bi-wire
Jtag.
+ VCC: cấp nguồn 3V3 cho đối tượng (thường là nửa dưới
LaunchPad).

 6-pin eZ430 connector (J4): là 6 chân kết nối với mạch ngoài eZ430.
Chức năng các chân như sau. Thứ tự chân từ trên xuống dưới, chân 1
bắt đầu từ phần bên Emulation.

Châ


Tín hiệu

Chức năng

n
1
2
3

TXT
VCC
TEST/SBTCK

Truyền dữ liệu ra cho của giao tiếp UART
Chân cấp điện áp cho khối giao tiếp với J4
Chế độ kiểm tra cho JTAG chân và Spy-Bi-Wire đầu
vào đồng hồ kiểm tra trong quá trình lập trình và thử

4

RST /

nghiệm
Thiết lập lại, Spy-Bi-Wire đầu vào dữ liệu thử nghiệm /

5
6

SBWTDIO
GND

TXD

đầu ra trong quá trình lập trình và thử nghiệm
Chân nối đất
UART nhận được dữ liệu đầu vào (giao tiếp UART từ
10


bảng mạch eZ430 vào PC hoặc MSP430G2xx)

o Nửa dưới: là một mạch phát triển MSP430 đơn giản, bao gồm:
Socket cắm MSP430 (khối IC1): gồm 20 chân cắm, hỗ trợ cho chip 14
chân hoặc 20 chân (hỗ trợ cho các dòng vđk MSP430G2xxx), Pad hàn
thạch anh, nút nhấn Reset chip.
Nút nhấn gắn vào P1.3, hai Led hiển thị có jumper để gắn vào P1.0 và
P1.6.
Hai hàng header để kết nối hai hàng chân của chip ra ngoài:

11


+ VCC( chân 1) VSS (chân 20) dùng để cấp nguồn 3,3V cho chíp.
Nguồn có thể dao động trong khoảng 1,8V – 3,6 V
+ P1.0–P1.7, P2.0, and P2.7 là 2 cổng nhập, xuất số. Mỗi cổng 8 chân
(8 bít), gọi tắt là P1 và P2. Các khối chức năng cũng sử dụng các chân
này khi cần nhờ cấu hình thanh ghi chọn khối P1SEL và P2 SEL.
Một hàng header nguồn GND-GND-VCC để lấy nguồn 3,3V trên
LaunchPad cấp cho các khối liên kết với KIT.

2.2.2 Bộ nhớ KIT MSP430


Kit không có bộ nhớ riêng, bộ nhớ của kit nằm chính trong bộ nhớ của chip
kết nối với khối IC1. KIT hỗ trợ các vi điều khiển dòng MSP430G2xx, các
vi điều khiển này có bộ nhớ: 2-16KB ROM, 265 B hoặc 512 B RAM, 256
Byte Flash.

 Chuẩn giao tiếp UART
- Có thể nói đây là một trong những giao tiếp phổ biến và dễ sử dụng
nhất, dùng để truyền nhận dữ liệu giữa 2 hay nhiều thiết bị khác nhau
không nhất thiết là vi điểu khiển.UART là chuẩn truyền thông đồng bộ
(nghĩa là 2 thiết bị giao tiếp với nhau cần phải biết được các thông số
của khung truyền như tốc độ, độ dài khung, số bit stop, bit
parity....).Khi muốn dùng giao tiếp UART thì chúng ta phải khai báo
hàm khởi tạo giá trị cho các thanh ghi UART, cụ thể:

12


- Chọn các chân dùng UART(VĐK MSP430G2553 là P1.1 và P1.2)
để ở chức năng giao tiếp ngoại vi, tùy vào thứ tự ưu tiên chúng ta
chọn thanh ghi PxSEL và PxSEL2 cho phù hợp.
- Định dạng khung truyền dữ liệu, số bit stop, bit parity, số bit dữ liệu
bằng thanh ghi UCA0CTL0
- Càiđặt nguồn cấp xung clk
- Định tần số giao tiếp(Chú ý là module trên kit Lauchpad chỉ hỗ trợ
duy nhất tần số 9600, muốn dùng tần số khác các bạn buộc phải nối
với module UARTto Com bên ngoài.
- Set cờ cho phép ngắt nhận tín hiệu

2.3 Phần mềm.

Sử dụng phần mềm CCS ( C Composer Studio).
- Phần mềm C Composer Studio (CCS) là một phần mềm lập trình hầu hết
cho các dòng MSP430 dễ dàng sử dụng với trình biên dịch Eclipse và
miễn phí với ứng dụng < 16KB.
- CCS cho phép lập trình với hầu hết các vi điều khiển hiện có.
- Đối với MSP430 thì CCS cho phép lập trình với ngôn ngữ C, thực hiện
debug và nạp chương trình trực tiếp cho vi điều khiển thông qua mạch
nạp tích hợp trên KIT MSP430.

13


Hình 4: Trình dịch CCS
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
3.1 Sơ đồ bàn phím

14


3.2 : Khối hiển thị

3.3 Khối nguồn

15


3.4 : Sơ đồ toàn mạch

16



3.4.1 Mạch chạy thử trên proteus

3.4.2 Sơ đồ mạch in

17


3.4.5 Hình chụp toàn mạch:

CHƯƠNG 3: KẾT LUẬN
Xin cảm ơn thầy Trần Ngọc Tuấn đã tận tình hướng dẫn, chỉ bảo cho nhóm
em suốt thời gian thực hiện đề tài. Trong thời gian làm việc với thầy, chúng em
không những học được nhiều kiến thức bổ ích mà còn được học tinh thần làm việc
của thầy.
Mặc dù đã cố gắng hoàn thiện đồ án với tất cả kiến thức học và nỗ lực của cả
nhóm,nhưng chắc chắn không thể thiếu những thiếu sót. Kính mong thầy tận tình
chỉ bảo thêm để đồ án của chúng em hoàn thiện thêm.
Một lần nữa ,em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý
báu của tất cả mọi người.

18


TÀI LIỆU THAM KHẢO:
 /> /> /> />PHỤ LỤC : SOURCE CODE
#include "msp430g2553.h"
#include "stdio.h"
#include "intrinsics.h"
#include "lcd.h"

#define COT0 BIT0
#define COT1 BIT1
#define COT2 BIT2
#define COT3 BIT3
#define COT4 BIT4
#define COT5 BIT5
#define COT6 BIT6
#define COT7 BIT7
/*........................Doan quet phim so va nhap pass......................*/
void quetphim (int *nhappass,int *p)
{
int i=0,n=0;
while(i < 6)a
{
P1OUT = 0x0E; /*.................Chon hang thu 1................*/
_delay_cycles(5000);
if ((P1IN&COT4) == 0) //Nhap so 1
{

19


LCD_PrintString("1");
nhappass[i] = 1;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT4) == 0)
n=0;

else
n=1;
}
}
else if ((P1IN&COT5) == 0) //Nhap so 2
{
LCD_PrintString("2");
nhappass[i] = 2;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT5) == 0)
n=0;
else
n=1;
}
}
else if ((P1IN&COT6) == 0) //Nhap so 3
{
LCD_PrintString("3");
nhappass[i] = 3;
i++;
n=0;
while ( n==0 )
20


{
if ((P1IN&COT6) == 0)

n=0;
else
n=1;
}
}
P1OUT = 0x0D; /*.................Chon hang thu 2................*/
_delay_cycles(5000);
if ((P1IN&COT4) == 0) //Nhap so 4
{
LCD_PrintString("4");
nhappass[i] = 4;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT4) == 0)
n=0;
else
n=1;
}
}
else if ((P1IN&COT5) == 0) //Nhap so 5
{
LCD_PrintString("5");
nhappass[i] = 5;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT5) == 0)

21


n=0;
else
n=1;
}
}
else if ((P1IN&COT6) == 0) //Nhap so 6
{
LCD_PrintString("6");
nhappass[i] = 6;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT6) == 0)
n=0;
else
n=1;
}
}
else if ((P1IN&COT7) == 0) //Nhan close.
{
if (*p==1)
{
if (i==0)
{
LCD_PrintString("Door Locked");
n=0;

while ( n==0 )
{
if ((P1IN&COT7) == 0)
n=0;
}
}
}
22


}
P1OUT = 0x0B; /*.................Chon hang thu 3................*/
_delay_cycles(5000);
if ((P1IN&COT4) == 0) //Nhap so 7
{
LCD_PrintString("7");
nhappass[i] = 7;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT4) == 0)
n=0;
else
n=1;
}
}
else if ((P1IN&COT5) == 0) //Nhap so 8
{
LCD_PrintString("8");

nhappass[i] = 8;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT5) == 0)
n=0;
else
n=1;
}
}
else if ((P1IN&COT6) == 0) //Nhap so 9
{
23


LCD_PrintString("9");
nhappass[i] = 9;
i++;
n=0;
while ( n==0 )
{
if ((P1IN&COT6) == 0)
n=0;
else
n=1;
}
}
P1OUT = 0x07; /*.................Chon hang thu 4................*/
_delay_cycles(5000);

if (*p==0)
{
if ((P1IN&COT4) == 0) //Nhan nut Exit
{

LCD_Clear();
LCD_PrintString("Door Open");

n=0;
while ( n==0 )
{
if ((P1IN&COT4) == 0)
n=0;
else
{
n=1;
i=7;
*p = *p+1;
}
}
}
24


}
if ((P1IN&COT5) == 0) //Nhap so 0
{
LCD_PrintString("0");
nhappass[i] = 0;
i++;

n=0;
while ( n==0 )
{
if ((P1IN&COT5) == 0)
n=0;
else
{
n=1;
}
}
}
else if ((P1IN&COT6) == 0) //Xoa so vua nhap
{
if ( i >0 ) //Neu bang i = 1 khong xoa
{
i--;
}
n=0;
while ( n==0 )
{
if ((P1IN&COT6) == 0)
n=0;
else
n=1;
}
25


×