Vi điều khiển là một mạch tích hợp trên đó tập hợp các phần tửchủyếu của
máy tính: vi xửlý, bộnhớ(bộnhớchương trình, bộnhớdữliệu), các module ngoại
vi và các cổng vào/ra.
Đặc điểm của các họVi điều khiển là độtích hợp cao, công suất tiêu thụnhỏ
(vài milliwatts khi hoạt động, vài nanowattsen ởchế độnghỉ), tốc độxửlý thấp
(MHz mégahertz) và giá thành rẻso với sửdụng các họvi xửlý được sửdụng
trong các máy tính cá nhân.
So với các mạch điện tửtrong các bài toán đo lường điều khiển xây dựng trên cơ
sởmột vi xửlý và các linh kiện điện tử, các họVi điều khiển cho phép giảm kích
thước, công suất tiêu thịvà giá thành.
Các họVi điều khiển được sửdụng rộng rãi trong các hệthống nhúng
(embedded system, các bộ điều khiển trong ôtô, các bộ điều khiển từxa, các máy
văn phòng, các máy điện gia đình).
160 trang |
Chia sẻ: tranhoai21 | Lượt xem: 1366 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Các module ngoại vi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trang 1
MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ VI ĐIỀU KHIỂN....................................................7
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .........................................................................11
2.1. GIỚI THIỆU VI ĐIỀU KHIỂN MSP430FG4618.....................................11
2.1.1. Các chế độ hoạt động........................................................................12
2.1.2. CPU...................................................................................................13
2.1.3. Tổ chức bộ nhớ..................................................................................14
2.1.4. Hệ thống xung clock..........................................................................15
2.1.5. Ngõ vào/ra số ....................................................................................19
2.1.6. Timer_A và Timer_B.........................................................................21
2.1.7. ADC và DAC.....................................................................................32
2.1.8. Truyền thông UART ..........................................................................46
2.1.9. LCD_A Controller.............................................................................54
2.2. GIỚI THIỆU MSP-EXP430FG4618 KIT ................................................60
2.3.1. Giới thiệu chung................................................................................60
2.3.2. Các tính năng cơ bản ........................................................................61
2.3. NẠP CHƯƠNG TRÌNH QUA BOOTSTRAP LOADER.........................64
2.3.1. Giới thiệu Bootstrap Loader .............................................................64
2.3.2. Khởi động và thoát khỏi Bootstrap Loader ......................................64
2.3.3. Khái quát về giao thức UART trong giao tiếp BSL ..........................65
2.3.4. Graphical user interface (GUI) dùng nạp chương trình qua BSL....66
CHƯƠNG 3: CÁC MODULE NGOẠI VI...............................................................67
3.1. MODULE CHUYỂN ĐỔI ĐIỆN ÁP VÀ MẠCH NẠP BSL ...................67
3.1.1. Giới thiệu các linh kiện sử dụng .......................................................67
3.1.2. Module chuyển đổi điện áp ...............................................................70
3.1.3. Module nạp chương trình qua Bootstrap loader ..............................72
3.1.4. Mạch thực tế......................................................................................76
3.2. SƠ ĐỒ NGUYÊN LÝ MẠCH ĐIỆN CÁC MODULE ỨNG DỤNG.......77
3.2.1. Sơ đồ nguyên lý khối nguồn hệ thống ...............................................78
3.2.2. Module hiển thị LED đơn và 4 LED 7 đoạn .....................................78
3.2.3. Module ma trận phím và switch đơn.................................................79
Trang 2
3.2.4. Module điều khiển động cơ DC có bộ cảm biến tốc độ quay ...........80
3.2.5. Module điều khiển Relay, Speaker và động cơ bước ........................80
3.2.6. Module điều khiển công suất AC vừa dùng TRIAC ..........................81
3.2.7. Module led ma trận ...........................................................................81
CHƯƠNG 4 : HƯỚNG DẪN SỬ DỤNG PHẦN MỀM & MỘT SỐ CHƯƠNG
TRÌNH MẪU ĐƠN GIẢN........................................................................................82
4.1. Hướng dẫn sử dụng phần mềm .............................................................82
4.2. CƠ BẢN VỀ LẬP TRÌNH C.....................................................................87
4.2.1. Các kiểu dữ liệu cơ bản trong lập trình C ........................................87
4.2.2. Khai báo biến, hằng, mảng và con trỏ ..............................................88
4.2.3. Một số lệnh thường dùng trong lập trình C ......................................89
4.2.4. Các toán tử trong lập trình C............................................................91
4.3. LẬP TRÌNH CHO MSP430 BẰNG NGÔN NGỮ C TRÊN IAR .............93
4.3.1. Cấu trúc chương trình C ...................................................................93
4.3.2. Các thư viện thông dụng dùng cho lập trình MSP430......................94
4.3.3. Các lệnh thường được sử dụng trong lập trình IAR cho MSP430....95
4.4. MỘT SỐ CHƯƠNG TRÌNH MẪU ĐƠN GIẢN ......................................97
4.4.1. Lập trình điều khiển Led đơn – Led 7 đoạn......................................97
4.4.2. Lập trình điều khiển phím đơn – phím ma trận ..............................100
4.4.3. Lập trình sử dụng Timer và ngắt Timer..........................................104
4.4.4. Lập trình điều khiển motor DC, relay và motor bước ....................109
4.4.5. Điều khiển LCDA4 ..........................................................................115
4.4.6. Lập trình điều khiển Led ma trận....................................................118
4.4.7. Giao tiếp UART...............................................................................121
4.4.8. Sử dụng ADC – DAC.......................................................................126
4.4.9. Chương trình tổng hợp....................................................................129
PHỤ LỤC................................................................................................................132
TÀI LIỆU THAM KHẢO.......................................................................................160
Trang 3
KÝ HIỆU VÀ VIẾT TẮT
ACLK Auxiliary Clock See Basic Clock Module
ADC Analog-to-Digital Converter
BOR Brown-Out Reset See System Resets
BSL Bootstrap Loader
CPU Central Processing Unit
DAC Digital-to-Analog Converter
DCO Digitally Controlled Oscillator
DMA Direct Memory Access
FET Flash Emulation Tool
FLL Frequency Locked Loop
GIE General Interrupt Enable
GUI: Graphical user interface
ISR Interrupt Service Routine
LSB Least-Significant Bit
LSD Least-Significant Digit
LPM Low-Power Mode
MCLK Master Clock See FLL+ Module
MSB Most-Significant Bit
MSP Mixed-Signal Processors
PC Program Counter
POR Power-On Reset See System Resets
RAM Random Access Memory
SCG System Clock Generator
SFR Special Function Register
SMCLK Sub-System Master Clock
SR Status Register
TI: Texas Instruments
UART: Universal Asynchronous Reciever/Transmitter
USART: Universal Synchronous/Asynchronous Reciever/Transmitter
WDT Watchdog Timer
Trang 4
DANH MỤC CÁC BẢNG
Bảng 2.1: Các chế độ hoạt động của MSP430FG4618.............................................13
Bảng 2.2: Chức năng các bit trong thanh ghi SCFI0 ................................................17
Bảng 2.3: chức năng các bit tring thanh ghi FLL_CTL0..........................................17
Bảng 2.4: Các bit trong thanh ghi TACTL ...............................................................23
Bảng 2.5: Các bit trong thanh ghi TACCTLx...........................................................24
Bảng 2.6: Các giá trị trong thanh ghi vector ngắt TAIV ..........................................26
Bảng 2.7: Chức năng các bit trong thanh ghi TBCTL ..............................................30
Bảng 2.8: Các bit trong thanh ghi TBCCTLx...........................................................31
Bảng 2.9: Các chế độ hoạt động của Timer_B .........................................................32
Bảng 2.10: Các giá trị ngắt trong thanh ghi TBIV....................................................32
Bảng 2.11: Các Bit trong thanh ghi ADC12CTL0....................................................34
Bảng 2.12: Các bit trong thanh ghi ADC12CTL1 ....................................................35
Bảng 2.13: Các bit trong thanh ghi ADC12MCTLx.................................................36
Bảng 2.14: Các chế độ chuyể đổi của ADC12..........................................................38
Bảng 2.15: Giá trị chuyển đổi DAC ở chế độ 12 bit và 8 bit....................................42
Bảng 2.16: Các bit trong thanh ghi DAC12_xCTL ..................................................43
Bảng 2.17: Các kiểu định dạng dữ liệu trong thanh ghi ADC12_xDAT..................45
Bảng 2.18: Chức năng các bit trong thanh ghi UCA0CTL0.....................................48
Bảng 2.19: Các bit trong thanh ghi UCA0CTL1 ......................................................49
Bảng 2.20: Giá trị tốc độ baud thường sử dụng trong module USCI_A0 ...............51
Bảng 2.21: Giá trị tốc độ baud thường sử dụng trong module USCI_A0 ...............52
Bảng 2.22: Các bit trong thanh ghi LCDACTL........................................................55
Bảng 2.23: Bộ nhớ đệm hiển thị của LCD_A Controller dùng cho SBLCDA4.......57
Bảng 2.24: Các thông số cho UART sử dụng trong giao tiếp với BSL....................65
Bảng 3.1: Chức năng của các chân cổng nối tiếp trong giao tiếp với BSL ..............73
Bảng 4.2: Các kiểu dữ liệu thuộc kiểu số thực .........................................................87
Bảng 4.3:Một số kiểu dữ liệu thuộc kiểu số nguyên.................................................87
Bảng 4.4: Các toán tử quan hệ ..................................................................................91
Bảng 4.5: Các toán tử logic.......................................................................................91
Bảng 4.6: Các toán tử xử lý bit .................................................................................92
Bảng 4.7: Các toán tử số học ....................................................................................92
Trang 5
DANH MỤC CÁC HÌNH
Hình 2.1: Sơ đồ các khối chức năng của MSP430FG4618.......................................12
Hình 2.2: Thanh ghi trạng thái SR ............................................................................12
Hình 2.3: Sơ đồ tổ chức khối CPU trong MSP430FG4618......................................14
Hình 2.4: Tổ chức bộ nhớ của MSP430FG4618.......................................................15
Hình 2.5: Sơ đồ hệ thống xung clock........................................................................16
Hình 2.6: Sơ đồ khối Timer_A..................................................................................22
Hình 2.7: Chế độ Up Mode trong Timer A...............................................................25
Hình 2.8: Chế độ Continuous Mode trong Timer A .................................................25
Hình 2.9: Chế độ Up/Down trong Timer A ..............................................................25
Hình 2.10: Chức năng time interval ở chế độ Continuous Mode trong Timer A .....26
Hình 2.11: Sơ đồ khối Timer_B................................................................................29
Hình 2.12: Sơ dồ bộ chuyên đổi ADC12 trong MSP430FG4618 ............................33
Hình 2.13: Sơ đồ bộ chuyển đổi DAC12 trong MSP430FG4618 ............................41
Cấu trúc bộ chuyển đổi DAC trong MSP430FG4618 như hình 2.13. ......................42
Hình 2.14: Sơ đồ khối module USCI_A0 .................................................................47
Hình 2.15: Định dạng chuỗi dữ liệu của chế độ UART trong USCI_A0 .................50
Hình 2.16: Sơ đồ khối LCD_A Controller................................................................55
Hình 2.17: Bộ nhớ đệm hiển thị của LCD_A Controller ..........................................57
Hình 2.18: Các ký tự trên SBLCDA4 .......................................................................58
Hình 2.19: Hình dạng thực tế và sơ đồ khối của MSP-EXP430FG4618 KIT..........60
Hình 2.20: Sơ đồ kết nối nguồn cung cấp cho kit thí nghiệm...................................60
Hình 2.21: Sơ đồ khối mô tả hoạt động sử lý âm thanh trên kit thí nghiệm.............62
Hình 2.22: Sơ đồ mạch xử lý âm thanh trên MSP-EXP430FG4618 KIT ................62
Hình 2.23: Sơ đồ nguyên lý MSP-EXP430FG4618 KIT..........................................63
Hình 2.24: Tín hiệu khởi động BSL trên MSP430FG4618 ......................................64
Hình 2.25: Thoát khỏi BSL bằng tín hiệu RESET....................................................65
Hình 2.26: Cấu trúc tổng quát một khung dữ liệu. ...................................................66
Hình 3.1: Sơ đồ khối module chuyển đổi điện áp và mạch nạp BSL. ......................67
Hình 3.2: Sơ đồ chân và bảng sự thật IC74LVC4245. .............................................68
Hình 3.3: Sơ đồ cấu tạo bên trong IC74LVC4245....................................................68
Hình 3.4: Sơ đồ chân và cấu trúc bên trong của ULN2803. .....................................69
Trang 6
Hình 3.5: Sơ đồ chân và bảng hoạt động của IC SN74HC14...................................69
Hình 3.6: Sơ đồ cấu tạo bên trong của IC PS8802....................................................70
Hình 3.7: Dạng thực tế và vị trí các chân của Transistor MMBT5088 ....................70
Hình 3.8: Sơ đồ port dùng cho định hướng chiều chuyển đổi điện áp. ....................71
Hình 3.9: Sơ đồ nguyên lý các port chuyển đổi điện áp ...........................................71
Hình 3.11: Sơ đồ nguyên lý port dùng riêng cho phím ma trận ..............................72
Hình 3.13: Sơ đồ mạch giao tiếp BSL theo tài liệu của TI .......................................73
Hình 3.14: Sơ đồ mạch giao tiếp RS232 trên MSP-EXP430FG4618 KIT...............74
Hình 3.15: Phần mạch sử dụng lại trên MSP-EXP430FG4618 KIT ........................75
Hình 3.16: Sơ đồ phần mạch thiết kế thêm dùng cho giao tiếp BSL........................75
Hình 3.17: Mạch in chuyển đổi điện áp và mạch nạp BSL mặt dưới .......................76
Hình 3.18: Mạch in chuyển đổi điện áp - mạch nạp BSL mặt trên – Board trung tâm
...................................................................................................................................77
Hình 3.20: Sơ đồ nguyên lý khối nguồn trên board ET-LAB3.................................78
Hình 3.22: Sơ đồ nguyên lý module hiển thị LED đơn và 4 LED 7 đoạn................78
Hình 3.23: Sơ đồ nguyên lý module ma trận phím...................................................79
Hình 3.24: Sơ đồ nguyên lý switch đơn....................................................................79
Hình 3.25: Sơ đồ nguyên lý module động cơ DC có cảm biến tốc độ quay.............80
Hình 3.26: Sơ đồ nguyên lý module điều khiển Relay, Speaker, motor bước..........80
Hình 3.27: Sơ đồ nguyên lý module điều khiển công suất AC dùng TRIAC...........81
Hình 3.28: Sơ đồ nguyên lý module led ma trận ......................................................81
Hình 4.3: Cửa sổ chương trình The IAR Embedded Workbench IDE .....................82
Hình 4.4: Tạo project mới trong IAR........................................................................83
Hình 4.5: Các thành phần trên màn hình soạn thảo IAR ..........................................83
Hình 4.6: Các bước thiết lập ban đầu cho project trong IAR ...................................84
Hình 4.7: Các bước thiết lập ban đầu cho project trong IAR (tt)..............................85
Hình 4.8: Giao diện của chương trình MSPFET.......................................................86
Hình 4.9: Thiết lập cho chương trình MSPFET........................................................86
Hình 4.10: Các bước thiết lập chương trình MSPFET .............................................87
Trang 7
Chương I: TỔNG QUAN VỀ VI ĐIỀU KHIỂN
Vi điều khiển là một mạch tích hợp trên đó tập hợp các phần tử chủ yếu của
máy tính: vi xử lý, bộ nhớ (bộ nhớ chương trình, bộ nhớ dữ liệu), các module ngoại
vi và các cổng vào/ra.
Đặc điểm của các họ Vi điều khiển là độ tích hợp cao, công suất tiêu thụ nhỏ
(vài milliwatts khi hoạt động, vài nanowattsen ở chế độ nghỉ), tốc độ xử lý thấp
(MHz mégahertz) và giá thành rẻ so với sử dụng các họ vi xử lý được sử dụng
trong các máy tính cá nhân.
So với các mạch điện tử trong các bài toán đo lường điều khiển xây dựng trên cơ
sở một vi xử lý và các linh kiện điện tử, các họ Vi điều khiển cho phép giảm kích
thước, công suất tiêu thị và giá thành.
Các họ Vi điều khiển được sử dụng rộng rãi trong các hệ thống nhúng
(embedded system, các bộ điều khiển trong ôtô, các bộ điều khiển từ xa, các máy
văn phòng, các máy điện gia đình).
Môi trường ứng dụng - hệ thống nhúng
Ngày nay, phần lớn các hệ thống thông tin đang được sử dụng đều là một hệ
nhúng: điện thoại di động, máy nghe nhạc, bộ thu GPS, đồ điện gia dụng (nồi cơm
điện, điều hòa, máy giặt, máy rửa bát), ôtô con.
Hệ nhúng khác với các hệ thông tin truyên thống qua các phương diện: Kích
thước, năng lượng tiêu thụ và yếu tố quan trọng là giá thành
Cho phép thực hiện chính xác một hoặc nhiều chức năng chuyên biệt, cụ thể
(trái ngược với máy tính mà chúng ta thường sử dụng cho nhiều chức năng và mục
đích khác nhau).
Kích thước chương trình và dung lượng cần thiết của bộ nhớ là phù hợp theo
yêu cầu ứng dụng cơ bản và trung bình. Các ứng dụng cơ bản như: thực hiện liên
lạc với các thiết bị vào/ra: nút bấm, rơle, biến trở, cách ly quang điện, động cơ điện,
LED, các mạch logic tích hợp, . Hoặc trong một số trường hợp không có giao tiếp
người máy (không bàn phím, màn hình, ổ đĩa, máy in,) như bộ điều khiển nhiệt
độ làm việc của động cơ ôtô và số lượng Vi điều khiển trong một ôtô hiện đại
không nhỏ hơn 50
Trang 8
Phần mềm tích hợp
Chương trình viết trong Vi điều khiển được gọi firmware (chương trình lõi). Về
cơ bản, ngôn ngữ sử dụng để lập trình cho các họ Vi điều khiển (microcontroller) là
Assembler. Hiện nay, sử dụng ngày càng nhiều ngôn ngữ bậc cao điển hình là ngôn
ngữ lập trình C. Mỗi một họ Vi điều khiển sử dụng một trình biên dịch C hoặc ASM
riêng và mã code riêng biệt.
Một số họ Vi điều khiển có phần mềm mô phỏng dùng để: Phân tích phần cứng,
phần mềm của mạch và chương trình người dùng. Hiển thị các trạng thái các thanh
ghi bên trong, các cổng vào/ra của Vi điều khiển. Phần mềm mô phỏng các Vi điều
khiển đang được sử dụng phổ biến hiện nay là Protues
Các họ Vi điều khiển trên thị trường:
− Họ AtmelAT91
− Họ Atmel AVR
− Họ C167 của Siemens / Infineon
− Họ Hitachi H8
− Họ Intel 8051, hạt nhân là bộ VXL
8051 cùng với các ngoại vi của
Intel 8085
− Họ Freescale 68HC11
− Họ Freescale 68HC08
− Họ Freescale 68HC12
− Họ PIC -Microchip
− Họ dsPIC - Microchip
− Họ ST6, ST7, ST10, STR7, STR9
STMicroelectronics
− Họ ADuC - AnalogDevices
− Họ PICBASIC-
ComfileTechnology
− Họ MSP430 - Texas Instruments
− Họ 8080, kế thừatừ VXL ZilogZ80
− Họ PSoCde Cypress
− Họ LPC21xxARM7-TDMIde
Philips
− Họ V800 de NEC
− Họ K0 de NEC.
Hệ nhúng trong đo năng lực thể thao
Trang 9
Hệ nhúng trong y học
Hệ nhúng trong công nghệ ôtô
Hệ nhúng trong đời sống
Trang 10
Trang 11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. GIỚI THIỆU VI ĐIỀU KHIỂN MSP430FG4618
MSP430FG4618 thuộc dòng vi điều khiển MSP430 do công ty Texas
Intruments sản xuất. Ngoài những tính năng đặc trưng của dòng vi điều khiển siêu
tiết kiệm năng lượng, MSP430FG4618 còn được tích hợp nhiều ngoại vi như: bộ
biến đổi ADC, DAC, driver LCDA, bộ khuếch đại thuật toán
Op-Amp, Real Time ClockMSP430FG4618 có kiến trúc RISC 16-bit và được
thiết kế theo CPU MSP430X. Vi điều khiển MSP430FG4618 thích hợp cho các ứng
dụng trong y tế và đo lường.
Một số tính năng đặc trưng của MSP430FG4618 bao gồm:
- Sử dụng nguồn thấp từ 1.8V-3.6V.
- Công suất tiêu thụ cực thấp:
Chế độ hoạt động (Active Mode): 400 µA ở 1MHz, 2.2 V
Chế độ nghỉ (Standby Mode): 1.3 µA
Chế độ tắt duy trì RAM (Off Mode): 0.22 µA
- Có năm chế độ tiết kiệm nguồn.
- Thời gian khởi động lại từ Standby Mode nhỏ hơn 6 .sµ
- CPU được thiết kế theo kiến trúc RISC 16-bit
- Tích hợp ba kênh DMA (Data