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 (821.18 KB, 40 trang )
06/11/2016
07/11/201613/11/2016
Viết code và hoàn thiện sản phẩm
04/12/2016 –
10/12/2016
26/12/2016 –
01/01/2017
Khắc phục lỗi về thẩm mỹ cho ô tô
Hoàn thành báo cáo và in bản cứng
Bảng 1: Kế hoạch thực hiện
Đồ án thiết kế I
Trang 9
CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN MSP430
2.1. Cấu trúc
Vi điều khiển (Micro Controller Unit – MCU) là đơn vị xử lý nhỏ, nó được tích
hợp toàn bộ các bộ nhớ như ROM, RAM, các cổng truy xuất, giao tiếp ngoại vi trực
tiếp trên một con chip hết sức nhỏ gọn. MSP430 là tên của một dòng vi điều khiển do
hãng Texas Instruments (TI) sản xuất.
MSP430 chứa 16 bit RISC CPU, các ngoại vi và hệ thống bộ định thời linh hoạt
được kết nối với nhau theo cấu trúc Von-Neumann, có các bus liên kết như: bus địa
chỉ bộ nhớ (Memory Address Bus –MAB), bus dữ liệu bộ nhớ (Memory Data Bus –
MDB). Đây là một bộ xử lý hiện đại với các mô đun bộ nhớ tương tự và những kết nối
ngoại vi tín hiệu số, MSP430 đã đưa ra được những giải pháp tốt cho những nhu cầu
ứng dụng với tín hiệu hỗn tạp.
Hình 1: Cấu trúc MSP430
Đồ án thiết kế I
Trang 10
MSP430
có
một
số
phiên
bản
như:
MSP430x1xx,
MSP430x2xx,
MSP430x3xx,MSP430x4xx, MSP430x5xx. Dưới đây là những đặc điểm tổng quát của
họ vi điều khiểnMSP430:
Cấu trúc sử dụng nguồn thấp giúp kéo dài tuổi thọ của Pin
-
Duy trì 0.1µA dòng nuôi RAM.
-
Chỉ 0.8µA real-time clock.
-
250 µA/MIPS.
Bộ tương tự hiệu suất cao cho các phép đo chính xác
-
12 bit hoặc 10 bit ADC với tốc độ lấy mẫu 200 ksps, cảm biến nhiệt độ,
-
12 bit DAC.
-
Bộ giám sát điện áp nguồn.
16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở
VREF
kích thước code lập trình.
-
Thanh ghi lớn nên loại trừ được trường hợp tắt nghẽn tập tin khi đang
làm việc.
-
Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành.
-
Tối ưu hóa cho những chương trình ngôn ngữ bậc cao như C, C++
-
Có 7 chế độ định địa chỉ.
-
Khả năng ngắt theo véc tơ lớn.
Trong lập trình cho bộ nhớ Flash cho phép thay đổi Code một cách linh
hoạt, phạm vi rộng, bộ nhớ Flash còn có thể lưu lại như nhật ký của dữ liệu.
Đồ án thiết kế I
Trang 11
2.2. Hệ thống định thời (clock) linh hoạt
Hệ thống clock được thiết kế một cách đặc biệt cho những ứng dụng sử dụng
nguồn cung cấp là pin. Một bộ tạo xung nhịp phụ tần số thấp (A low-frequency
auxiliary clock – ACLK) được cung cấp trực tiếp từ một bộ dao động thạch anh 32
KHz. ACLK được sử dụng như là một real-time clock nền để kích hoạt các tính năng.
Một bộ dao động kĩ thuật số tốc độ cao (Digital controlled oscillator – DCO) có thể
làm nguồn xung đồng hồ chính (Master clock – MCLK) sử dụng cho CPU và những
kết nối ngoại vi tốc độ cao. Bởi thiết kế này, DCO có thể hoạt động ổn định 1MHz
trong thời gian ít hơn 2µS. MSP430 được thiết kế dựa trên những giải pháp có hiệu quả
sử dụng một RISC CPU 16 bít hiệu suất cao.
ACLK: Hoạt động ở chế độ sẵn sang sử dụng nguồn cực thấp.
DCO: Hoạt động xử lý tín hiệu hiệu suất cao.
2.3. Không gian địa chỉ
Cấu trúc Von-Neumann của vi điều khiển MSP430 có một địa chỉ không gian
nhớ được chia sẻ với các thanh ghi chức năng đặc biệt (SFRs), các bộ ngoại vi, RAM,
và bộ nhớ Flash/ROM được biểu diễn trên hình vẽ. Việc truy cập mã chương trình luôn
luôn được thực hiện trên một địa chỉ chẵn. Dữ liệu có thể được truy cập như là những
byte hay những từ.
Đồ án thiết kế I
Trang 12
Hình 2: Sơ đồ bộ nhớ
2.3.1. Flash/ROM
Địa chỉ bắt đầu của Flash/ROM phụ thuộc vào số lượng Flash/ROM hiện có và
thay đổi tùy theo loại chip. Địa chỉ kết thúc cho Flash/ROM là 0FFFFh. Flash có thể
được sử dụng cho cả mã và chương trình. Những bảng từ hay byte có thể được cất và
sử dụng trong Flash/ROM mà không cần bảng sao chép tới RAM trước khi sử dụng
chúng.
2.3.2. RAM
RAM có địa chỉ bắt đầu tại 0200h. Địa chỉ kết thúc của RAM phụ thuộc vào số
lượng RAM có và thay đổi tùy thuộc vào từng dòng vi điều khiển. RAM có thể được
sử dụng cho cả mã và dữ liệu.
Đồ án thiết kế I
Trang 13
2.3.3. Những khối ngoại vi
Những module giao tiếp ngoại vi được xắp xếp vào không gian địa chỉ. Không
gian địa chỉ từ 0100h tới 01FFh được dành riêng cho module ngoại vi 16 bit. Những
module này có thể được truy cập với những từ chỉ dẫn(lệnh).
Không gian địa chỉ từ 010h tới 0FFh được dành riêng cho module ngoại vi 8bit.
2.3.4. Những thanh ghi chức năng đặc biệt (SFRs)
Một vài chức năng ngoại vi được cấu hình trong thanh ghi chức năng đặc biệt.
Những thanh ghi chức năng đặc biệt được nằm trong 16 byte thấp của không gian địa
chỉ. Những SFR phải được truy cập bằng việc sử dụng câu lệnh byte.
2.3.5. Truy cập bộ nhớ
Những byte được nằm tại những địa chỉ chẵn hay lẻ. Những từ chỉ nằm tại địa chỉ
chẵn được biểu diễn trong hình 1-3. Khi sử dụng từ chỉ dẫn, chỉ những địa chỉ chẵn có
thể được sử dụng. Những byte thấp của một từ luôn luôn là một địa chỉ chẵn. Byte cao
ở tại địa chỉ lẻ tiếp theo. Ví dụ, nếu một từ dữ liệu nằm tại địa chỉ xxx4h, kết thúc byte
thấp của từ dữ liệu nằm tại địa chỉ xxx4h, và byte cao của từ đó nằm tại địa chỉ xxx5h.
Đồ án thiết kế I
Trang 14
Hình 3: Những bit, byte và những từ trong một bộ nhớ có trật tự
2.4. MSP430 LaunchPad Value Line Development Kit và chip MSP430G2553
MSP430 LaunchPad Value Line Development Kit (MSP-EXP430G2 LaunchPad)
thuộc dòng kit giá rẻ từ hãng sản xuất TI, MSP-EXP430G2 LaunchPadlà loại kit rất
phổ biến hiện nay, đặc biệt trong giảng dạy, học tập và nghiên cứu.
Hình 4: Hình ảnh thực tế của MSP-EXP430G2 LaunchPad
Đồ án thiết kế I
Trang 15
Các đặc điểm nổi bật của MSP-EXP430G2 LaunchPad:
Tích hợp phần mô phỏng: Người dùng có thể nạp chương trình và gỡ lỗi project mà
không cần thêm công cụ nào khác. Đặc biệt hơn là bạn có thể dùng kit để nạp và gỡ lỗi
cho tất cả các chip MSP430 nằm trên một mạch khác.
Tương thích với các module hỗ trợ: Các chân của MSP-EXP430G2 LaunchPad được
thiết kế rất thoáng. Các chân này giúp cho việc cắm các module hỗ trợ khác rất dễ
dàng, để thêm các tính năng như wireless, capacitive touch…
Hỗ trợ các vi điều khiển MSP430G2xx: Kit hỗ trợ các vi điều hiển dòng
MSP430G2xx. Đây là các vi điều khiển tần số dao động có thể lên đến 16MHz, bộ nhớ
lên đên 16KB Flash, 512B RAM, có tích hợp ADC, timer và các module giao tiếp…
Chúng em lựa chọn sử dụng chip MSP430G2553 được bán kèm theo kit với các thông
số như sau:
CPU
Tần số (MHz)
MSP430
16 MHz
Bộ nhớ bất biến
(Non-volatile
Memory)
RAM
16 KB
512 B
Giao tiếp vào ra cơ
bản
(GPIO)
24
I2C
1
SPI
2
UART
1
DMA
0
Đồ án thiết kế I
Điện Áp Tối Đa
3,6V
Công suất tiêu thụ
330 µA/MHZ
Công suất dự phòng 0,7 µA
(LPM3)
Thời gian wake up
1,5 µs
Tính năng bổ sung
Watchdog
Cảm biến nhiệt độ
Brown-out reset
IrDA
Vào ra đặc biệt
Vào ra cảm ứng
điện dung
Trang 16
ADC
ADC10 – 8ch
Bộ so sánh
8 đầu vào
BSL
UART
Điện áp tối thiểu
1,8V
Nhiệt độ hoạt động
-40oC đến 85oC
Cách thức đóng gói 20TSSOP
Kích thước đóng
gói
28,6 mm2
4,4 mm × 6,5 mm
Bảng 2: Thông số chip MSP430G2553
Hình 5: Sơ đồ cấu trúc vi điều khiển MSP430G2553
2.5. Công cụ lập trình
Để lập trình cho MSP430, ngoài cách sử dụng hợp ngữ bậc thấp Assembly như
các dòng vi xử lý khác, chúng ta còn có thể sử dụng ngôn ngữ bậc cao C/C++. Việc sử
dụng ngôn ngữ bậc cao – gần với ngôn ngữ tự nhiên hơn – tạo điều kiện thuận lợi cho
người dùng trong việc tư duy và triển khai thuật toán.Đây cũng chính là ưu điểm khiến
họ vi điều khiển MSP430 trở nên phổ biến.
Lập trình cho MSP430 sử dụng ngôn ngữ lập trình C/C++ được thực hiện nhờ
các trình biên dịch, trong đó có 3 trình biên dịch phổ biến nhất hiện nay:
Đồ án thiết kế I
Trang 17
Code Composer Studio do chính TI phát hành, dùng cho tất cả các vi điều khiển mà
hãng sản xuất.
IAR Embedded Workbench for MSP430 do IAR phát hành.
Energia thuộc dự án mã nguồn mở Energia.
Chúng em lựa chọn trình biên dịch Energia với những ưu điểm sau:
Đây là trình biên dịch miễn phí phát hành dưới dạng phần mềm nguồn mở.
Hỗ trợ đầy đủ việc biên dịch ngôn ngữ C/C++
Sử dụng phương pháp lập trình dành cho Arduino (một board mạch vi xử lý rất phổ
biến), bằng việc kế thừa thư viện đồ sộ của Arduino, kết hợp với thư viện có sẵn của
MSP430, việc lập trình cho MSP430 càng trở nên đơn giản hơn rất nhiều.
Đồ án thiết kế I
Trang 18
CHƯƠNG 3: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH, GIAO TIẾP NGOẠI VI VÀ IC
ĐIỀU KHIỂN ĐỘNG CƠ L293D
3.1. Công nghệ không dây Bluetooth
3.1.1. Khái niệm
Bluetooth là công nghệ cho phép truyền thông giữa các thiết bị với nhau mà không cần
dây dẫn. Nó là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuất muốn có đặc
tính này trong sản phẩm của thì họ phải tuân theo yêu cầu chuẩn này cho sản phẩm của
mình. Những tiêu chuẩn kỹ thuật này đảm bảo cho các thiết bị có thể nhận ra và tương
tác với nhau khi sử dụng công nghệ Bluetooth.
Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị sử dụng công nghệ Bluetooth.
Các thiết bị này gồm có điện thoại di động, máy tính và thiết bị hỗ trợ cá nhân PDA
(Prosonal Digital Assiistant) . Công nghệ Bluetooth là một công nghệ dựa trên tần số
vô tuyến và bất cứ một thiết bị nào có tích hơp bên trong công nghệ này có thể truyền
thông với các thiết bị khácvới khoảng cách nhất định về cự ly để đảm bảo công suất
cho việc phát và nhận song. Công nghệ này thường được sử dụng để truyền giữa hai
loại thiết bị khác nhau.
Logo Bluetooth là sự kết hợp của 2 ký tự Rune cổ (Hagall) và (Bjarkan) tương đương
với 2 ký tự H và B trong chữ Latin làviết tắt của Harald Bluetooth.
Đồ án thiết kế I
Trang 19