Các module ngoại vi

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).

pdf160 trang | Chia sẻ: tranhoai21 | Lượt xem: 1366 | Lượt tải: 0download
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