Phan Thi Thu D4dtvt EPU
MỤC LỤC
Trang
PHẦN A: GIỚI THIỆU 1
Trang bìa 2
Phân công cán bộ hướng dẫn 3
Nhiệm vụ đề tài 4
Lời cảm ơn 5
Tóm tắt đồ án tốt nghiệp 6
Mục lục 7
PHẦN B: NỘI DUNG 11
Chương 1: Dẫn nhập 12
1.1 Lý do chọn đề tài 13
1.2 Mục đích nghiên cứu 13
1.3 Đối tượng nghiên cứu và phạm vi nghiên cứu 13
1.4 Ý nghĩa khoa học và thực tiễn của đề tài 13
1.5 Tình hình nghiên cứu 13
1.6 Phương pháp nghiên cứu 14
Chương 2: Khảo sát vi điều khiển MSP430 (F2274) 15
2.1 Vi điều khiển MSP430F2274 16
2.1.1 Tổng quan về MSP430 16
2.1.1.1 Kiểu thiết kế 17
2.1.1.2 Sơ đồ chân của các loại MSP430 18
2.1.2 MSP430F2274 19
2.1.2.1 Sơ đồ khối của vi điều khiển MSP 430F2274 19
2.1.2.2 Cấu trúc của MSP430F2274 19
2.1.3 Tìm hiểu về CPU 430F2274 19
2.1.3.1 Các chế độ định địa chỉ 21
2.1.3.2 Vùng địa chỉ 21
2.1.3.3 Tổ chức bộ nhớ 22
2.1.4.2.7 Các thanh ghi của Timer_B 41
2.1.5 Bộ khuếch đại thuật toán OA 42
2.1.6 Các kênh chuyển đổi ADC 43
2.1.6.1 Kênh chuyển đổi ADC10 43
2.1.6.1.1 Hoạt động của bộ chuyển đổi ADC10 44
2.1.6.1.2 Lựa chọn nguồn xung clock ADC10CLK 44
2.1.6.1.3 Lựa chọn kênh tương tự 44
2.1.6.1.4 Điện áp tham chiếu 45
2.1.6.1.5 Đặc tính công suất thấp của điện áp tham chiếu nội 45
2.1.6.1.6 Thời gian lấy mẫu và chuyển đổi 45
2.1.6.1.7 Tính toán thời gian lấy mẫu 45
2.1.6.1.8 Chế độ chuyển đổi 46
2.1.6.1.9 Ngắt của ADC10 46
2.1.6.1.10 Các thanh ghi của ADC10 47
2.1.6.2 Kênh chuyển đổi ADC12 49
2.1.6.2.1 Lựa chọn nguồn xung 50
2.1.6.2.2 Điện áp tham chiếu 51
2.1.6.2.3 Ngắt ADC12 51
2.1.6.2.4 Các thanh ghi điều khiển ADC12 52
2.1.7 Kênh chuyển đổi số sang tương tự DAC12 53
2.1.7.1 Hoạt động của kênh chuyển đổi DAC12 54
2.1.7.2 Điện áp tham chiếu của kênh DAC12 54
2.1.7.3 Ngắt của DAC12 54
2.1.7.4 Các thanh ghi DAC12 54
Vi xử lí
Phan Thi Thu D4dtvt EPU
2.1.8 Hệ thống xung clock và bộ phát xung 57
2.1.8.1 Thanh ghi điều khiển DCOCTL 57
2.1.8.2 Thanh ghi điều khiển hệ thống xung BCSCTL1 57
2.1.8.3 Thanh ghi điều khiển BCSCTL2 58
2.2.3.5 Các hàm xử lý số 92
2.2.3.6 Các hàm hỗ trợ đặc biệt 92
Chương 3: Thiết kế phần cứng mở rộng Port và các bài thực tập lập trình
3.1 Vấn đề đặt ra 95
3.2 Các IC sử dụng trong việc mở rộng Port 95
3.2.1 IC 74HC595 95
3.2.1.1 Giới thiệu 95
3.2.1.2 Sơ đồ chân 95
3.2.1.3 Cấu tạo và nguyên tắc hoạt động 96
3.2.1.3.1 Cấu tạo 96
3.2.1.3.2 Nguyên tắc hoạt động 97
3.2.2 IC 2803 99
Vi xử lí
Phan Thi Thu D4dtvt EPU
3.2.2.1 Giới thiệu 99
3.2.2.2 Sơ đồ chân 99
3.2.2.3 Nguyên lý hoạt động 100
3.3 Phương pháp mở rộng Port 101
3.3.1 Sơ đồ nguyên lý 101
3.3.2 Nguyên lý hoạt động 102
3.3.3 Sơ đồ mạch in 102
3.3.4 Mạch hoàn chỉnh 103
3.3.5 Giới thiệu bộ Kit thí nghiệm 104
3.4 Các bài tập ứng dụng 105
3.4.1 Quy ước chung 105
3.4.2 Các lưu ý trước khi sử dụng 105
3.4.2.1 Cách truy xuất bit trong C 105
3.4.2.2 Cách mở rộng Port 106
3.4.3 Các bài tập về Led đơn 108
Bài 1: Điều khiển 16 led chớp tắt 108
TÀI LIỆU THAM KHẢO
Tài liệu tham khảo 172
Chương 2
KHẢO SÁT VI ĐIỀU KHIỂN
MSP 430 (F2013)
Vi xử lí
Phan Thi Thu D4dtvt EPU
2.1 VI ĐIỀU KHIỂN MSP430F2013:
2.1.1 Tổng quan về MSP430:
MSP 430 là họ vi điều khiển cấu trúc RISC 16-bit được sản xuất bởi
công ty Texas Instruments.
MSP là chữ viết tắt của “MIXED SIGNAL MICROCONTROLLER”.Là
dòng vi điều khiển siêu tiết kiệm năng lượng, sử dụng nguồn thấp, khoảng
điện áp nguồn cấp từ 1.8V – 3.6V.
MSP 430 kết hợp các đặc tính của một CPU hiện đại và tích hợp sẵn các
module ngoại vi. Đặc biệt Chíp MSP 430 là giải pháp thích hợp cho những
ứng dụng yêu cầu trộn tín hiệu.
Những đặc tính của dòng MSP 430 bao gồm:
• Điện áp nguồn: 1.8V – 3.6 V.
• Mức tiêu thụ năng lượng cực thấp:
- Chế độ hoạt động: 270 μA tại 1MHz, 2,2 V.
- Chế độ chờ: 0.7 μA.
- Chế độ tắt (RAM vẫn được duy trì): 0.1 μA.
• Thời gian đánh thức từ chế độ Standby nhỏ hơn 1μs.
• Cấu trúc RISC-16 bit, Thời gian một chu kỳ lệnh là 62.5 ns
• Cấu hình các module Clock cơ bản:
- Tần số nội lên tới 16 MHz với 4 hiệu chỉnh tần số +- 1%.
- Thạch anh 32 KHz.
- Tần số làm việc lên tới 16 MHz.
- Bộ cộng hưởng.
Với sự tiêu thụ dòng rất thấp trong chế độ tích cực thì dòng tiêu thụ là
200uA, 1Mhz, 2.2v; với chế độ standby thì dòng tiêu thụ là 0.7uA. Và chế độ tắt
chỉ duy trì bộ nhớ Ram thì dòng tiêu thụ rất nhỏ 0.1uA.
MSP430 có ưu thế về chế độ nguồn nuôi. Thời gian chuyển chế độ từ chế
độ standby sang chế độ tích cực rất nhỏ (< 6us). Và có tích hợp 96 kiểu hình
cho hiển thị LCD. 16 bit thanh ghi, 16 bit RISC CPU.
Có một đặc điểm của họ nhà MSP là khi MCU không có tín hiệu dao
động ngoại, thì MSP sẽ tự động chuyển sang hoạt động ở chế độ dao động nội.
2.1.1.1 Kiểu thiết kế:
TA
PACKAGED DEVICES
PLASTIC 14-PIN
TSSOP (PW)
PLASTIC40-PINQFN
(RHA) PLASTIC 14-
PIN DIP (N)
PLASTIC 16-PIN
QFN (RSA)
4 0°C
to 85°C
MSP430F2001IPW
MSP430F2011IPW
MSP430F2002IPW
MSP430F2012IPW
MSP430F2003IPW
MSP430F2013IPW
MSP430F2001IN
MSP430F2011IN
MSP430F2002IN
MSP430F2012IN
Bảng 1: Kiểu thiết kế MSP430
2.1.1.2 Sơ đồ chân của các loại MSP430F20x3
Vi xử lí
Phan Thi Thu D4dtvt EPU
Hình 1: Các kiểu chân của MSP430.
2.1.2 MSP430F2274:
2.1.2.1 Sơ đồ khối của vi điều khiển MSP 430F2274:
Hình 2: Sơ đồ khối của MSP 430F2274
2.1.2.2 Cấu trúc của MSP430F2274:
Hình 3: Cấu trúc của MSP430F2274
2.1.3 Tìm hiểu về CPU của MSP430F2274:
Vi xử lí
Phan Thi Thu D4dtvt EPU
CPU có kiến trúc RISC (Reduced Intruction Set Computer) là một kiến
trúc vi xử lý theo hướng đơn giản hóa tập lệnh. Các lệnh được xây dựng để
có thể thực hiện với chỉ 1 chu kỳ máy. Mặt khác bus dữ liệu và bus địa chỉ
(có độ rộng 16 bít) tách dời nhau điều này giúp cho quá trình đọc dữ liệu và
mã lệnh có thể diễn ra đồng thời do đó nâng cao hiệu suất làm việc của vi xử
lý.
CPU gồm 16 thanh ghi 16 bit. R0-15 có các chức năng đặc biệt. Các
thanh ghi còn lại được sử dụng với mục đích chung. CPU có sơ đồ khối như
sau:
Vi xử lí
Phan Thi Thu D4dtvt EPU
Hình 4: kiến trúc RISC của CPU
2.1.3.1 Các chế độ định địa chỉ:
MSP 430 có 7 chế độ định địa chỉ:
+ Chế độ thanh ghi.
+ Chế độ chỉ số.
chỉ trực tiếp, đây là một ưu điểm của bộ nhớ có cấu trúc kiểu RISC. Bộ nhớ
được chia thành các Bank, tại một thời điểm chỉ có một Bank được truy xuất.
Vi xử lí
Phan Thi Thu D4dtvt EPU
2.1.3.4 Chức năng các chân:
Vi xử lí
Phan Thi Thu D4dtvt EPU
Bảng 2: Bảng chức năng các chân.
• Chân P1.0/TACLK/ADC10CLK (29):
Chân xuất / nhập số.
Ngõ vào xung clock TACLK của Timer A.
Bộ chuyển đổi xung của ADC10
• Chân P1.1/TA0 (30):
Chân xuất / nhập số.
Timer_A: Ngõ vào CCI0A chế độ capture, ngõ ra OUT0 chế độ
so sánh.
• Chân P1.1/TA0 (31):
Chân xuất / nhập số.
Timer_A: Ngõ vào CCI1A chế độ capture, ngõ ra OUT1 chế độ
so sánh.
• Chân P1.3/TA0 (32):
Chân xuất / nhập số.
Timer_A: Ngõ vào CCI2A chế độ capture, ngõ ra OUT2 chế độ
so sánh.
• Chân P1.4/SMCLK/TCK (33):
Chân xuất / nhập số.
Vi xử lí
Phan Thi Thu D4dtvt EPU
Ngõ ra SMCLK (Sub-Main clock) của khối tạo dao động nội.
Ngõ ra OUT0 của kênh ADC10 chế độ so sánh.
Ngõ vào tương tự A2
• Chân P2.3/TA1/A3/V
REF-
/V
eREF-
/OA1I1/OA1O (27):
Chân xuất / nhập số.
Ngõ vào CCI1 của Timer_A.
Ngõ ra OUT1 kênh ADC10 chế độ so sánh
Ngõ vào tương tự A3 của kênh ADC10.
Điện áp tham chiếu âm V
REF-
/ V
eREF-
• Chân P2.4/TA2/A4/V
REF+
/V
eREF+
/OA1I0 (28):
Chân xuất / nhập số.
Ngõ vào tương tự A4 của kênh ADC10
Ngõ ra OUT2 của Timer_A chế độ so sánh.
Điện áp tham chiếu dương V
REF+
/ V
eREF+
• Chân P2.5/R
OSC
(40):
C trong chế độ I
2
C.
• Chân P3.3/UCB0CLK/UCA0STE (12):
Chân xuất / nhập số.
Xung clock USCI_B0
Cho phép truyền dữ liệu USCI_A0 trong chế độ tớ.
• Chân P3.4/UCA0TXD/UCA0SIMO (23):
Chân xuất / nhập số.
Chân truyền dữ liệu nối tiếp USCI_A0 trong chế độ UART.
Ngõ vào chế độ tớ, ngõ ra chế độ chủ trong chế độ SPI.
• Chân P3.5 UCA0RXD/UCA0SOMI (24):
Chân xuất / nhập số.
Ngõ vào nhận dữ liệu USCI_A0 trong chế độ UART.
Ngõ ra chế độ tớ/ ngõ vào chế độ chủ trong chế độ SPI.
• Chân P3.6 / A6/OA0I2 (25):
Chân xuất / nhập số.
Ngõ vào tương tự A6 của kênh chuyển đổi ADC10.
Ngõ vào tương tự OA0I2 của kênh OA0.
• Chân P3.7 / A7/OA1I2 (26):
Chân xuất / nhập số.
Ngõ vào tương tự A7 của kênh chuyển đổi ADC10.
Ngõ vào tương tự OA1I2 của kênh OA1.
• Chân P4.0/TB0 (15):
Chân xuất / nhập số.
Ngõ vào CCI0A của Timer_B chế độ capture, ngõ ra OUT0 chế
độ so sánh.
• Chân P4.1/TB1 (16):
Vi xử lí
Phan Thi Thu D4dtvt EPU
• Chân TEST/SBWTCK (37):
• Chân DV
CC
(38,39), AV
CC
(14): Chân cấp nguồn V
CC
• Chân DV
SS
(1,4), AV
SS
(13): Chân cấp mass
• Chân P1.0/TACLK/ADC10/CLK (29):
Chân xuất / nhập số.
TACLK: Ngõ vào nhận xung clock cho Timer A.
ADC10: Ngõ vào tương tự A10.
CLK: Ngõ vào bộ chuyển đổi xung clock từ nguồn xung ngoài.
• Chân P1.1/TA0 (30):
Chân xuất / nhập số.
Timer_A, lưu trữ: Ngõ vào CCI0A, so sánh: Ngõ ra OUT0.
• Chân P1.1/TA0 (31):
Chân xuất / nhập số.
Timer_A, lưu trữ: Ngõ vào CCI1A, so sánh: Ngõ ra OUT1.
• Chân P1.3/TA0 (32):
Chân xuất / nhập số.
Timer_A, lưu trữ: Ngõ vào CCI2A, so sánh: Ngõ ra OUT2.
Vi xử lí
Phan Thi Thu D4dtvt EPU
• Chân P1.4/SMCLK/TCK (33):
Chân xuất / nhập số.
Lưu trữ ngõ vào CCI0B, nhận BLS.
Ngõ ra OUT0 của kênh ADC10 chế độ so sánh.
Ngõ vào kênh tương tự A2/OA0.
Ngõ vào kênh tương tự I1.
• Chân P2.3/TA1/A3/V
REF-
/V
eREF-
/OA1I1/OA1O (27):
Chân xuất / nhập số.
Timer_A.
Ngõ vào CCI1 chế độ lưu trữ.
Chế độ so sánh: ngõ ra OUT1 kênh ADC10.
Ngõ vào kênh tương tự A3.
Ngõ vào điện áp tham chiếu âm.
• Chân P2.4/TA2/A4/V
REF+
/V
eREF+
/OA1I0 (28):
Chân xuất / nhập số.
Điện áp tham chiếu dương .
Vi xử lí
Phan Thi Thu D4dtvt EPU
• Chân P2.5/R
OSC
(40):
Chân xuất / nhập số.
Ngõ vào điện trở ngoài để định nghĩa tần số DCO.
• Chân XIN/ P2.6 (3):
Chân xuất / nhập số.
Cho phép truyền dữ liệu trong chế độ tớ USCI_A0.
• Chân P3.4/UCA0TXD/UCA0SIMO (23):
Chân xuất / nhập số.
Chân truyền dữ liệu nối tiếp USCI_A0 trong chế độ UART.
Ngõ vào chế độ tớ, ngõ ra chế độ chủ trong chế độ SPI.
• Chân P3.5 UCA0RXD/UCA0SOMI (24):
Chân xuất / nhập số.
Ngõ vào nhận dữ liệu USCI_A0 trong chế độ UART.
Ngõ ra chế độ tớ/ ngõ vào chế độ chủ trong chế độ SPI.
• Chân P3.6 / A6/OA0I2 (25):
Chân xuất / nhập số.
Ngõ vào tương tự A6 của kênh chuyển đổi ADC10.
Ngõ vào tương tự I2 của kênh OA0.
• Chân P3.7 / A7/OA1I2 (26):
Chân xuất / nhập số.
Ngõ vào tương tự A7 của kênh chuyển đổi ADC10.
Ngõ vào tương tự I2 của kênh OA1.
• Chân P4.0/TB0 (15):
Chân xuất / nhập số.
Vi xử lí
Phan Thi Thu D4dtvt EPU
Timer_B, chế độ lưu trữ: Ngõ vào CCI0A, chế độ so sánh: Ngõ
ra OUT0.
• Chân P4.1/TB1 (16):
Chân xuất / nhập số.
Timer_B, chế độ lưu trữ: Ngõ vào CCI1A, chế độ so sánh: Ngõ
ra OUT1.
• Chân P4.2/TB2 (17):
Chân xuất / nhập số.
• Chân DV
CC
(38,39), AV
CC
(14): Chân cấp nguồn V
CC
• Chân DV
SS
(1,4), AV
SS
(13): Chân cấp mass
Vi xử lí
Phan Thi Thu D4dtvt EPU
2.1.3.5 Cấu trúc các thanh ghi:
Bốn thanh ghi đầu tiên từ R0 – R3 được chỉ định làm thanh ghi bộ đếm
chương trình, con trỏ ngăn xếp, thanh ghi trạng thái, constant Generator.
Các thanh ghi còn lại là những thanh ghi sử dụng mục đích chung.
Các thiết bị ngoại vi được kết nối tới CPU sử dụng dữ liệu, địa chỉ, bus
điều khiển.
Hình 8: Cấu trúc thanh ghi
2.1.3.6 Các thanh ghi có chức năng đặc biệt:
Tất cả các ngắt và module cho phép truy xuất BIT đều được tập trung ở
vùng địa chỉ thấp nhất. Các bít của các thanh ghi chức năng đặc biệt không
được cho phép tới một mục đích chức năng vật lý của thiết bị. Phần mềm
đơn giản được cung cấp với sắp xếp này.
Thanh ghi cho phép ngắt 1 và 2:
Trong đó:
- WDTIE Cho phép ngắt Whatchdog Timer: Không hoạt động:\
nếu chế độ whatchdog được lựa chọn. Hoạt động nếu chế độ timer
được lựa chọn.
Nếu cho phép điện trở kéo, giá trị của bít tương ứng với điện trở được
lựa chọn:
Bit = 0 khi điện trở kéo xuống.
Bít = 1 khi điện trở kéo lên.
2.1.3.7.4 Thanh ghi định hướng PxDIR:
Các chân của mỗi port được định hướng làm đầu ra hoặc đầu vào phục
thuộc vào giá trị các bít của thanh ghi PxDIR:
Nếu bit = 0 chân được định hướng làm đầu vào.
Nếu bit = 1 chân được định hướng làm đầu ra.
2.1.3.7.5 Thanh ghi cho phép điện trở kéo:
Mối bít của thanh ghi PxREN cho phép hoặc không cho phép điện trở
kéo:
Vi xử lí
Phan Thi Thu D4dtvt EPU
Bit = 1 điện trỏ kéo lên.
Bit = 0 điện trở kéo xuốNg.
2.1.3.7.6 Thanh ghi lựa chọn chức năng PxSEL và PxSEL2:
Các chân của mỗi port đều có nhiều chức năng tương ứng với các
module ngoại vi khác nhau. Mỗi bít của thanh ghi PxSEL và PxSEL2 được
sử dụng để lựa chọn chức năng là các port xuất nhập hoặc chức năng đặc
biệt.
PxSEL2 PXSEL Chức năng của chân
0 0 Chức năng xuất nhập
0 1 Module đầu tiên được lựa chọn
1 0 Đăng ký trước
1 1 Module ngoại vi thứ 2 được lựa chọn
Chú ý: Khi PxSEL =1 các ngắt của P1, P2 bị cấm. Khi bất kỳ bit nào của
thanh ghi P1SELx hoặc P2SELx được set, các ngắt tương ứng với các chân
này sẽ bị cấm.
2.1.3.7.7 Các ngắt P1 và P2:
phải định nghĩa lại địa chỉ của thanh ghi điều khiển PORT.
Vi xử lí
Phan Thi Thu D4dtvt EPU
Bảng 3: Địa chỉ thanh ghi xuất nhập
2.1.4 Bộ định thời:
MSP 340 có hai bộ định thời 16 Bit là Timer_A và Timer_B nó cũng
đồng thời đóng vai trò là bộ đếm.
2.1.4.1 Timer_A:
2.1.4.1.1 Đặc tính của Timer_A:
Là một bộ Timer/Counter 16 bit. Với ba thanh ghi lưu trữ và 3 thanh ghi
so sánh. Là một Timer đa chức năng. Đếm thời gian, so sánh, PWM .
Timer_A cũng có khả năng ngắt khi counter đếm tràn hoặc mỗi thanh ghi
đếm tràn. Các đặc tính chính của Timer_A bao gồm:
+ Là một Timer/counter 16 Bit không đồng bộ với 4 chế độ hoạt động.
+ Có thể lựa chọn và cấu hình nguồn xung
+ Hai tới 3 thanh ghi có thể cấu hình capture/compare
+ Cấu hình đầu ra với chế độ PWM
+ Chốt ngõ vào và ngõ ra không đồng bộ
Vi xử lí