- Bảng qui định hoạt động của các chế độ tiết kiệm năng lượng.. Các chế độ này được cấu hình qua các bit: CPUOFF, SOCOFF, SCG0 và SCG1 trong thanh ghi trạng thái.. Khi bước vào chế độ ti
Trang 1LỜI CẢM ƠN
Trong suốt thời gian nhập môn Vi Xử Lý, em rất cảm ơn thầy Trần Hữu Danh đã tận tình giảng dạy, tìm mọi phương pháp mới nhằm giúp chúng em hiểu
rõ hơn về môn học và có những ví dụ hữu ích Qua những bài giảng đó, chúng
em nắm bắt và định hình rõ ràng hơn về môn học cũng như những ứng dụng thực
tế của Vi Xử Lý
Sau đây là những kiến thức tổng hợp trong suốt quá trình theo học môn Vi
Xử Lý cụ thể là họ MSP430 Tuy môn này rất hay nhưng do thời gian nghiên cứu cũng như khả năng có giới hạn và tất nhiên không khỏi sai sót Rất mong nhận được sự đóng góp của thầy và các bạn để kiến thức tốt hơn
Cần Thơ, ngày 29 tháng 4 năm 2011
Trang 2Mục lục
I/ Tổng quan về họ MSP430
1/ Giới thiệu về launchpad
2/ Sơ lược về tính năng vi điều khiển họ MSP430
a/ Cấu trúc chung của MSP430
b/ Chức năng các chân của MSP430G2231
3/ Các chế độ tiết kiệm năng lượng của MSP430
- Biểu đồ tiết kiệm năng lượng
- Bảng qui định hoạt động của các chế độ tiết kiệm năng lượng
- Các lệnh hổ trợ trong IAR
II/ Mở rộng port dùng IC 74HC595
a/ Hình ảnh và chức năng các chân
b/ Sơ đồ logic 74HC595
III/ Giới thiệu sơ lược về phần mềm IAR
1/ Tạo dự án mới
2/ Chọn vi điều khiển
3/ Mô phỏng dự án trên phần mềm
4/ Tạo đường dẫn chuyển sang protues mô phỏng
IV/ Lưu đồ giải thuật và code chương trình
V/ Mạch nguyên lý và mạch in
Trang 3I/ Tổng quan về MSP430.
1/ Giới thiệu về launchpad MSP430G2231
2/ Sơ lược tính năng vi điều khiển họ MSP 430
- MSP 430 là họ vi điều khiển cấu trúc RISC 16-bit được sản xuất bởi TI
(Texas Instrument)
- MSP là chữ viết tắt của “ MIXED SIGNAL PROCESSORS ” 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 cung cấp từ 1.8v – 3,6v và có 5 chế độ tiết kiệm năng lượng
- 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ó 16bit thanh ghi, 16bit RISC CPU
- Có một đặc điểm của họ MSP430 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
- Mức tiêu thụ năng lượng cực thấp:
+ Chế độ hoạt động 270us tại 1MHz, 2.2v
+ Chế độ chờ 0.7uA + Chế độ tắt (duy trì RAM) 0.1uA + Trở lại chế độ hoạt động từ chế độ chờ cực nhanh với thời gian ít hơn 1us
- Cấu hình các module clock cơ bản:
+ Tần số nội lên tới 16MHz với 4 hiệu chỉnh tần số + Thạch anh 32Khz
+ Bộ dao động nội tần số thấp sử dụng nguồn rất thấp
+ Nguồn xung nhịp bên ngoài
- Bộ nhớ MSP430G2231 gồm: 256B + 8KB flash memory 256B RAM 3/ Các chế độ tiết kiệm năng lượng của MSP430
Trang 4- MSP430 có 4 chế độ tiết kiệm năng lượng LPM0 – LPM4 Các chế độ này được cấu hình qua các bit: CPUOFF, SOCOFF, SCG0 và SCG1 trong thanh ghi trạng thái Khi bước vào chế độ tiết kiệm năng lượng tất cả các I/O,
ram/thanh ghi đều không đổi Tất cả các ngắt đều có thể đánh thức CPU khỏi các chế độ này
a/ Cấu trúc chung của MSP430.
b/ Chức năng các chân của MSP430G2231.
-Chân P1.0/TACLK/ADC10CLK :
Trang 5 Chân xuất / nhập số.
Chân P1.1/TA0 :
độ so sánh.
Chân P1.1/TA0:
độ so sánh.
Chân P1.3/TA0:
độ so sánh.
Chân P1.4/SMCLK/TCK:
nội.
Chân P1.5/TA0/TMS:
Chân P1.6/TA1/TDI/TCLK:
Chân P1.7/TA2/TDO/TDI:
TDO: Ngõ ra kiểm tra dữ liệu
Trang 6- Biểu đồ so sánh các chế độ tiết kiệm năng lượng:
Bảng qui định hoạt động của các chế độ tiết kiệm năng lượng
- Các lệnh hổ trợ trong IAR:
a/ bis_SR_register(): Lệnh set một bit của thanh ghi SR lên 1
VD: Để chuyển MSP430 vào chế độ LPM0 ta dùng lện như sau bis_SR_register(LPM0_bits + GIE);
Trang 7Lưu ý: Phải set bit GIE để cho phép ngắt toàn cục và ít nhất một ngắt được cho phép để đánh thức CPU
bic_SR_register(): Lệnh xóa một bit của thanh ghi SR.
Tương tự cho các chế độ tiết kiệm năng lượng khác ta cũng làm như các
bước trên chỉ thay đổi LPMx thôi.
b/ bic_SR_register_on_exit(LPM3_bits): Lênh xóa bit của thanh ghi
SR sau khi rời khỏi chương tri2nhcon phục vụ ngắt lệnh này được dùng để đánh thức CPU sau khi đã vào ngắt trong chế độ tiết kiệm năng lượng
bis_SR_register_on_exit(LPM3_bits): Lệnh set bit của thanh ghi SR
sau khi rời khỏi chương trình con phục vụ ngắt
c/ Bắt đầu và kết thúc các chế độ tiết kiệm năng lượng.
- Tối thiểu một ngắt phải được cho phép để đánh thức CPU khỏi chế độ
tiết kiệm năng lượng Do đó chương trình cần thực hiện các bước sau:
- Khi bước vào chương trình con phục vụ ngắt:
+ Thanh ghi PC và SR được lưu trữ vào ngăn sếp
+ Các bit CPUOFF, SCG1 và OSCOFF tự động bị xóa để cấm tất
cả các chế độ tiết kiệm năng lượng
- Có 2 tùy chọn khi quay về từ chương trình con phục vụ ngắt:
+ Giá trị góc của SR trong ngăn xếp được phục hồi để quay về chế
độ trước đó
+ Giá trị SR trong ngăn xếp bị thay đổi để chuyển CPU sang chế độ khác khi quay về
II/ Mở rộng port dùng IC ghi dịch74HC595.
a/ Hình ảnh và chức năng các chân:
- Hình ảnh
- Chức năng các chân.
+ ST_CP (RCLK): Tín hiệu chốt dữ liệu vào thanh ghi ngõ ra.
+ SH_CP (SRCLK): Tín hiệu dịch tín hiệu nối tiếp vào
+ DS: Ngõ vào dữ liệu nối tiếp
+ OE(G): Chân điều khiển 3 trạng thái ngõ ra
+ MR: Chân reset
+ Q0 – Q7: Các ngõ ra song song
+ Q7,: Ngõ ra kết nối với các IC 595 khác
Trang 8b/ Sơ đồ logic 74HC595.
- IC ghi dịch 74HC595 thường được sử dụng để mở rộng cổng vào ra dạng vào nối tiếp ra song song Dùng 3 chân vi điều khiển có thể mở rộng được 8 I/O
VD:
R 1 5
2 2 0
P 1 1
R 1 6
2 2 0
L E D 2
L E D 7 D O A N
1 2
4
5
6 7
9
1 0
E D
C
D P
B A
F G
V C C _ 5 V
C 7
1 0 4
V C C _ 5 V
L E D 1
L E D 7 D O A N
1 2
4
5
6 7
9
1 0
E D
C
D P
B A
F G
V C C _ 5 V
C 6
1 0 4
P 1 0
P 1 2
U 4
7 4 H C 5 9 5
9
1 4
1 1
1 2
S D O
S D I
S R C L K
R C L K
U 3
7 4 H C 5 9 5
9
1 4
1 1
1 2
S D O
S D I
S R C L K
R C L K
Trang 9IV/ Giới thiệu sơ lược về phần mềm IAR:
1/ Tạo dự án mới.
- Project -> Create New Project
- Chọn Empty project-> Click Ok.
Trang 10- Chọn thư mục lưu trữ đặt tên cho dự án
- chọn file ->new->file và lưu trữ dưới dạng c để lập trình
- Click chuột phải vào tên dự án trên cửa sổ Workspace->Chọn Add-> AddFile … để thêm tập tin c chứa chương trình nguồn vào dự án.
Trang 112/ Chọn vi điều khiển.
- Project->Option.
- Trong mục General Option, tabTarget, mục Devices, chọn tên vi điều khiển đang sử dụng.
Trang 123/ Mô phỏng dự án trên phần mềm:
a/ Bắt đầu mô phỏng: Project-> Download and Debug….
b/ Xem thanh ghi: View->Register
Trang 13c/ Xem biến có trong chương trình : View-> Watch-> Watch1.
d/ Chạy chương trình từng bước 1: Debug -> Step Over (F10)
e/ Chạy từng bước bỏ qua chương trình con : Debug->Step over(F10)
f/ Thoát khỏi chương trình con không điều kiện: Debug-> stepout
(shift+F11)
g/ Chạy chương trình liên tục: Debug-> Go(F5)
h/ Dừng chức năng Go đang thực hiện: Debug-> reset
i/ Thoát khỏi Debug: Debug -> Stop Debugging
j/ Đặc điểm ngắt: kích đôi vào dòng lệnh cần đặt, kích đôi lần nữa để bỏ điểm ngắt
Chú ý: Những bước mô tả không có hình là khi chúng ta kết nối với phần
cứng mấy chạy debug được
4/ Tạo đường dẫn chuyển sang protues mô phỏng.
a/ Vào project -> chọn option
Trang 14b/ Chọn project-> option ->linker->output->chọn file hex và chuẩn intel standard như hình sau:
c/ Nhớ chọn họ MSP430 tương thích với MSP430 bên protues
Trang 15d/ Sau đó ta mở protues lên và nhấp đôi vào MSP430 ta chọn đường dẫn theo hình sau và chọn file hex là ok