Nhằm góp phần làm phong phú nguồn tư liệu phục vụ nghiên cứu, học tập cho bạn đọc, sinh viên, học viên và nghiên cứu sinh ngành Công nghệ, Nhà Xuất bản Đại học Cần Thơ ấn hành và giới thiệu cùng bạn đọc giáo trình “Vi điều khiển – MSP430 do TS. Lương Vinh Quốc Danh, ThS. Trần Hữu Danh biên soạn. Giáo trình gồm 04 chương, nội dung chủ yếu giới thiệu tổng quan về vi điều khiển, các phương pháp lập trình điều khiển bên trong MSP430. Thêm vào đó, cuối mỗi chương còn có nhiều bài tập ôn tập hữu ích cho bạn đọc. Giáo trình là tài liệu học tập có giá trị liên quan đến Vi điều khiển. Nhà xuất bản Đại học Cần Thơ chân thành cảm ơn các tác giả và sự đóng góp ý kiến của quý thầy cô trong Hội đồng thẩm định trường Đại học Cần Thơ để giáo trình “Vi điều khiển – MSP430 được ra mắt bạn đọc. Nhà xuất bản Đại học Cần Thơ trân trọng giới thiệu đến sinh viên, giảng viên và bạn đọc giáo trình này.
Trang 1Biên soạn: TS LƯƠNG VINH QUỐC DANH
ThS TRAN HỮU DANH
GIAO TRINH
VI DIEU KHIEN MSP430
Dành cho sinh viên Đại học khối ngành kỹ thuật
Trang 2BIÊN MỤC TRƯỚC XUẤT BẢN THỰC HIỆN BỞI
TRUNG TAM HOC LIEU TRUONG DAI HQC CAN THO
áo trình vi điều khiển MSP430 / Lương Vinh Quốc Danh, Trần HHãu Danh Cần Thơ Nxb nh Quốc Danh - Đại học Cần Thơ, 2017 56tr: mình họa
Sich o6 danh mục
Trang 3LOT GIOT THIEU
Nhằm góp phần làm phong phú nguồn tư liệu phục vụ nghiên cứu, học tập cho bạn đọc, sinh viên, học viên và nghiên cứu sinh ngành
Nhà Xuất bản Đại học Cần Thơ ấn hành và giới thiệu
“Vi điều khiển ~ MSP430” do TS Lương Vinh Quốc Danh, ThS Trần Hữu Danh big
Giáo trình gồm 04 chương, nội dung chủ yếu giới thiệu tông quan vẻ vỉ điều khiển, các phương pháp lập trình điều khiển bên trong MSP430 Thêm vào đó, cuối mỗi chương còn có nhiều bài tập ôn tập hữu ích cho bạn đọc Giáo trình là tài liệu học tập có giá trị liên quan đến Vi điều khiển
Nha xuất bản Đại học Cần Thơ chân thành cám ơn các tác giả và sự đóng,
góp ý kiến của qu trong Hội đồng thâm định trường Đại học Cần Thơ để giáo trình *Vi điều khiển ~ MSP430” được ra mắt bạn đọc
Nhà xuất bản Đại học Cần Thơ trân trọng giới thiệu đến sinh viên, giảng viên và bạn đọc giáo trình này
Trang 4
LOI NOI DAU
Giáo trình Vĩ điễu khiễn - MSP430 được biên soạn nhằm cung cấp cho ấu trúc và nguyên lý hoạt động của một hệ khiển MSP430 Giáo trình này giúp người học hiểu rõ phương pháp lập trình điều khiển sử dụng các module phần cứng tích hợp bên trong MSP430 cũng như các thiết bị ngoại vi khác ệ thống Các ví dụ, bải tập trong giáo trình được soạn dựa trên kit Launchpad sit dụng trình biên dich LAR va phần mềm mô phỏng Proteus Theo đó, sinh viên dễ dàng làm quen với các ứng dụng điều khiển cơ bản qua các ví dụ mẫu viết sin cho từng module ứng dụng cụ thể, Cấu trúc quyền giáo trình gồm 4 chương được bố trí như sau:
~_ Chương 1: Một số khái niệm cơ bản
~_ Chương 2: Tổng quan về Vi xử lý và Vi điều khiển
- _ Chương 3; Ngôn ngữ C và công cụ lập trình nhúng cơ bản
~_ Chương 4: Vi điều khiển MSP430
Quyền giáo trình nảy được biên soạn nhằm phù hợp không chỉ cho người
học là sinh viên chuyên ngành Điện tử mà còn chơ sinh viên không chuyên Đối với sinh viên chuyên ngành, do đã được học các kiến thức cơ bản về hệ thống số và kiến trúc máy tính, có thê bỏ qua các nội dung ở chương 1 và chương 2 của giáo trình
Chúng tôi xin chân thành cảm ơn các góp ý sự giáo trình của quý thầy cô thuộc Bộ tir Vi động hóa, Khoa Công nghệ, trường Đại học Cần Thơ
Nhóm tác giả hy vọng quyền giáo trình Vi điểu khiển MSP430 sẽ là một tài liệu hữu ích cho sinh viên trong quá trình học tập môn Kỹ thudt Vi xi If trong chương trình đào tạo các chuyên ngành Kỹ thuật Điện tử truyền thông,
Kỹ thuật Máy tính và Kỹ thuật điều khiển & tự động hóa
A giúp đỡ cho nội dung thông và Bộ môn Tự
Mặc dù đã rất có gắng trong quá trình biên soạn, song nội dung quyển
giáo trình khó tránh khỏi những thiếu sót và hạn chế Chúng tôi rắt mong nhận
được các ý kiến đóng góp từ độc giả và sinh viên đề giáo trình này ngày cảng
hoàn thiện hơn
Trang 5
MUC LUC Chương 1 MỘT SỐ KHÁI NIỆM CƠ BẢN 1 KHÁI QUÁT HỆ THÓNG SÓ VÀ MÃ 1.1 Số nhị phân 12 Số thập lục phân 1.3 Chuyển đổi cơ số
1.3.1 Chuyên đôi từ thập phân sang nhị phân
1.3.2 Chuyển đổi từ thập phân sang thập lục phân B sang hệ BK 1.3.4 Chuyển đổi từ hệ BỀ sang hé BP 13.5 Mã BCD 2 MOT SOIC SO VA BO NHG BAN DAN 2.1 Một số loại IC số thông dụng 2.2 Bộ nhớ bán dẫn
2.2.1 Kích thước bộ nhớ bán dẫn giao tiếp song song
2.2.2 Phân chia bản đồ bộ nhớ ROM/RAM
2.2.3 Giải mã địa chỉ trực tiếp
2.2.4 Giải mã địa chí hai cắp,
2.2.5 Bộ nhớ gìao tiếp nỗi tiếp theo chuẩn fC
2.2.6 Bộ nhớ giáo tiếp nối tiếp theo chuẩn SPI
3 ỨNG DỰNG CẢM BIẾN TRONG ĐO LƯỞNG VÀ ĐIỀU KHIEN
3.1 Khái niệm cảm biến
3.2 Phân loại cảm biến
3.3 Phương pháp chuyển đổi nguồn tín hiệu trong cảm biển BÀI TẬP VÀ CÂU HỎI ÔN TẬP
Chương 2 TÔNG QUAN VỀ VI XỬ LÝ — VI DIEU KHIEN
I LỊCH SỬ PHÁT TRIÊN VÀ NHỮNG ỨNG DỤNG CỦA VI XỬ LÝ
~ VI ĐIÊU KHIÉ:
1.1 Lịch sử phát triển của vi xử lý 1.2 Vĩ xử lý ~ Micr0proeessor
1:3 Vĩ điều khiển = Microcontroller
Trang 62 KIÊN TRUC CISC VA RISC TRONG VI XỬ LÝ
2.1 Coban vé CISC
2.2 Coban vé RISC
2.3 Ưu điểm của RISC so với CISC
2.4 Han ché ciia RISC so voi CISC
3 KHAI QUAT KY THUAT ONG DAN - PIPELINING
4, PHAN BIET BO NHG CACHE, BO NHỚ VẬT LÝ VÀ BỘ NHỚ AO 4.1 Phan cdp bộ nhớ 4.2 Bộ nhớ Cache 4.3 Bộ nhớ áo 4.4 Bộ nhớ vật lý 5 KHAINIEM VE HE THONG NHUNG, PSoC 5.1 Hệ thống nhúng 5.2 Kiến trúc hệ thống nhúng 5.3 Hệ thống khả trình trên chịp = PSoC
BÀI TẬP VÀ CÂU HOI ON TAP
Chương 3 NGÔN NGỮ C VÀ CÔNG CỤ L 1 CƠ BẢN NGÔN NGỮ LẬP TRÌNH C
1.1 Các kiểu dữ liệu cơ bản trong lập trình C
1.2 Khai báo biến, hằng, mảng và con trỏ
1.3 Các toán từ trong ngôn ngữ C
1.4 Một số lệnh thường dùng trong lập trình C
2 LAP TRINH C CHO MSP430 DUNG TRINH BIEN DICH IAR
2.1 Cấu trúc chương trình C cho MSP430 trén [AR
2.2 Thư viện chuẩn và phương pháp xay dumg thur vign cho MSP430
2.2.1 Một số thư viện thường dùng trong IAR
2.2.2 Phương pháp xây dựng thư viện mới 2.3 Một số lệnh thường đùng cho MSP430 2.4 Biên dich và lập trình cho MSP430
2.5 Thiết kế bộ nạp chương trình qua BSL
2.6 Hướng dẫn sử dụng IAR
2.7 Hướng dẫn nạp chương trình cho MSP430 đùng BSL 2.8 Hướng dẫn nạp và debug trén KIT phat trién ứng dụng
BÀI TẬP VÀ CÂU HỎI ÔN TẬP
Chương 4 VI DIEU KHIEN MSP430 1 PHAN CUNG CHO MSP430
Trang 723 24 25 26 27 i 31 32 33 42 43 5, 51 52 53 54
“Thiết kế ngõ vào ra
Mạch chuyển đổi mức điện thế vào ra Mạch mở rộng ngõ ra Mạch điều khiển công suất Mạch reset tự động, MỘT SỐ ĐẶC TÍNH KỸ THUẬT CỦA MSP430 ‘Tong quan MSP430 Những thông số cơ ban ciia MSP430 Kiến trúc phần cứng và bộ nhớ của MSP430 3.3.1 Cấu trúc phần cứng của MSP430 3.3.2 Thanh ghi của MSP430 343 CAU HÌNH NGO VÀO/RA, DAO DỘNG NỘI/NGOẠI VÀ NGẮT NGOÀI Dao động nội/ngoại 4.1.1 Chế độ làm việc của MSP430
4.1.2 Thiết lập chế độ hoạt động cho MSP430 4.1.3 Hoạt động của module xung clock cơ bản
4.1.4 Bộ đao động nội tần số thấp
4.1.5 Dao động LEXTI
4.1.6 Bộ điều khiển dao động DCƠ
4.1.7 Nguyên tắc hoạt động của bộ dao động kĩ thuật số DCO Hệ thống reset'và khởi động Ngõ vào/ra số t lập chức năng Vảo/ra cho MSP430 chức nãng ngắt ngoài cho MSP430 TIMER VÀ NGAT TIMER Timer A
Một số thanh ghi trong Timer A
Chế độ hoạt động của Tìmer A
5.3.1 Khối Timer
3.3.2 Khối Capture/Compare
5.3.3 Thiet lap cau hinh Timer A
5.3.4 Vector ngit trong Timer A 5.3.6 Điều chế độ rộng xung PWM $.3.7 Một số ví dụ ứng dụng Timer Timer B
5.4.1 Một số thanh ghi trong Timer B 3.4.2 Chế độ hoạt động cua Timer B
Trang 85.5 Watchdog Timer
6 BIEN DOI ADC - DAC VA UNG DUNG
6.1 ADCI0
6.1.1 Sơ đồ khối bộ chuyên đổi ADC10
6.1.2 Một số thanh ghỉ sử dụng trong module ADC10
6.1.3 Quá trình biến đổi va bay mai
6.1.4 Thiết lập nhanh ADC10
6.1.5 Bộ điều khiển chuyển tiếp dữ liệu DCT
6.1.6 Cảm biến nhiệt độ tích hợp trên chip MSP
6.1.7 Ngắt ADCI0
6.1.8 Một số ví dụ sử dụng ADC10 6.2 Bộ biến đổi ADCI2
6.2.1 Một số thanh ghỉ quan trọng của bộ biến đổi ADC
6.2.2 Mô tả hoạt động của bộ biến đổi ADC12
6.3.3 Thiết lập nhanh biến đổi ADC12
6.2.4 Sử dụng ngắt trong ADCI2
6.3 Bộ bi i DAC
6.3.1 Hoạt động của bộ biến đổi DAC12
6.3.2 Lựa chọn ngõ ra cho DAC12 6.3.3 Chọn điện thể tham chiều
6.3.4 Ngat trong bộ biến đổi DAC12
6.3.5 Thanh ghỉ thường được sử dụng
6.3.6 Cập nhật điện áp đầu ra DAC!2
6.3.7 Thiết lập hoạt động cho bộ biến đổi DAC12
7 UART VÀ C
7.1 UART
7.1.1 Dac điểm UART trong USCL A0
7.12 Một số thanh ghi thường được sử dụng trong USCL A0
7.1.3 Thiết lập tốc độ Baud
7.1.4 Bảng giá trị tốc độ Baud thường sử dụng
7.1.5 Ngắt truyền thông UART
7.1.6 Thiết lập hoạt động của chế độ UART
T.1.7 UART trong trên Kit Launch Pad
7.2 Chuan giao tiép PC
7.2.1 Dac diém giao tip PC
7.2.2 Điện trở kéo lên trén Bus PC
7.2.3 Truyền nhận dữ liệu theo chuẩn I°C
7.3 PC cho chip MSP430
7.3.1 Gidi thigu vé PC duge sử dụng trong MSP430
Trang 97.3.3 Một số thanh ghỉ USCI sử dụng chế độ I°C 7.3.4 Hệ thống xung cloek và đồng bộ 7.3.5 Khởi tao °C va Reset 7.3.6 Ché d Master 6 MSP430 7.4 Giả lập giao thire PC 7.5 Một số
7.5.1 Giao tiếp IC với DS1307
7.5.2 Đọc dữ liệu từ EPROM 24C256 theo chuẩn PC 7.5.3 Ung dung Realtime kim lịch vạn niên đơn giản
7.5.4 Ung dụng Realủme BQ32000 điều khiển chng học đường
§ SPL
8.1 Nguyên lý hoạt động SPI
§.2 Thanh ghi USCI 6 ché 46 SPI
8.3 Hệ thống xung clock và đồng bộ SPI
34 Khởi tạo USCI va Reset 8.5 Chế độ SPI master 8.6 Chế độ SPI slave
8.7 Cấu hình MSP430 ở chế độ SPI
88 Vidu ding SPI master để xuất các giá trị từ Ø đến 9 ra LED 7 đoạn
Trang 10Hình 1.1 Hình I.2 Hinh 1.3 Hình 1.8 Hinh 1.9 Hình 1.10 Hinh 1.11 Hinh 1.12 Hình I.13 Hình 1.14 Hinh 1.15 Hinh 1.16 Hình 1.17 Hình I.18 Ih 1.19 Hình 1.20 ình 2.1 Hình 2.2 Hình 2.3 Hình 2.4 Hình 2.5 Hình 2.6 Hình 2.7 Hình 2.8 Hình 2.9 Hình 2.10 Hình 2.11 Hình 2.12 Hình 2.13 Hình 2.14 Hình 3.1 DANH MỤC HINH Sơ đồ chuyển đổi qua lại giữa các hệ số cơ bản
Sơ đồ mạch, cấu tạo của ULN2003/ULN2803A
Mạch ứng dụng đơn giản của ULN2003
So dé mach logic, bang sự thật của 74HC244
Sơ đồ mạch logic và bảng sự thật của 74LVC4245 Sơ đỗ mạch logic và bảng sự thật của 74HCS95
Sơ đồ mạch mỡ rộng ngõ ra hiển thị trên 16 LED don
Bản đồ bộ nhớ sau thiết kế
Giải mã địa chỉ trực tiếp bộ nhớ ROM có tơng dung lượng 8KBx§, địa chỉ hai cắp bộ nhớ RAM có tổng dung lượng 4KB
Sơ đỗ chân và các thông số cơ bản của FM24C256
Mỡ rộng bộ nhớ EEPROM 24C256 theo chuẩn giao tiếp IC
So dé chip nhớ M95xxx giao tiếp theo chuẩn SPI
Sơ đô mở rộng bộ nhớ cơ bản theo SPI
Mach chuyển đổi dòng sang thế dạng thụ động Mạch chuyển đổi dòng sang thế dạng tích cực
Nguyên tắc chuyển đổi ngõ ra cảm biến điện dung sang Sơ đồ khối thiết kế mạch mở rộng bộ nhớ ngoài
Sơ đồ mạch giải mã địa chỉ chọn vùng nhớ
Sơ đồ mạch giải mã địa chỉ chọn chịp nhớ hai cấp
Minh họa lịch sử phát triển của vi xử lý
Cấu trúc cơ bản của vi điều khiển
Các thành phần được tích hợp trong vi điều khiển
lu trúc cơ bản của một hệ vi xử lý
Ứng dụng của hệ thống nhúng trong y học
Ung dụng của hệ thống nhúng trong công nghệ ô tô Ứng dụng của hệ nhúng trong các thiết bị điện - điệt Ứng dụng của hệ nhúng trong dụng cụ thê dục thể thao Một số kiểu định vị thanh ghỉ - thanh ghi trong CPU RISC Các giai đoạn thi hành lệnh khác nhau trong chu kỳ xung clock
Hệ thống phân cấp bộ nhớ
Mối quan hệ giữa các cấp bộ nhớ
Kiến trúc của hệ thống nhúng cơ bản
Kiến trúc một số dòng sản phẩm cơ bản của PSoC
Trang 11Hinh 3.2 Hinh 3.5 Hình 3.6 Hình 3.7 Hình 3.8 Hình 3.9 Hình 3.10 Hình 3.11 lh 3.12 Hình 3.13 Hình 3.14 Hình 3.15 Hình 3.16 Hình 3.17 lh3.18 Hình 3.19 Hình 3.20 Hình 3.21 Hình 3.22 Hình 3.23 Hình 3.24 Hình 4.11 Hình 4.12 Hình 4.13 Hình 4.14 Hình 4.15
Luu dé phat triển trình biên dịch cho lập trình vi điều khiển MSP430
Sơ đồ mạch kết nối LCD với P1 của MSP430G2553
Giản đồ thời gian đẻ khởi tạo DS18B20
Gian đồ thời gian để Master ghi vao DS18B20
Gián đồ thời gian để Master đọc dữ liệu từ DS18B20
Kit Lauchpad phién ban 1.5 va Debug MSP-FET430UIF
Sơ đồ kết nối ITAG MSP-FET430IF và KIT nạp chương trình
Ding Kit Launchpad như một MSP-FET430IF
Phan mach sit dụng lại trên MSP-EXP430FG4618 KIT
Sơ đỏ phần mạch t thêm dùng cho giao tiếp BSL
Cửa số chương trình The IAR Embedded Workbench IDE Tạo projeet mới trong IAR
Các thành phần trên màn hình soạn thảo IAR
Các bước thiết lập ban đầu cho projcct trong IAR
Các bước thiết lập ban đầu cho project trong [AR (t
Các bước thiết lập khi dùng IAR cho các KIT của TI
Thiết lập Debugger và FET Debugger cho các KIT của TI
Quá trình biên địch và kết quả biên địch
Giao diện của chương trình MSPEET
“Thiết lập chương trình nạp BSL MSPFET
Các bước thiết lập chương trình MSPEET
Nạp và đebug chương trình cho MSP430 trên TAR
Nạp chương trình cho MSP430 én TAR
Sơ đỗ kết nói KiLEaunehPad với LED 7 đoạn đơn giản Một số dòng vỉ điều khiên MSP430 cơ bản
Danh mục một số dòng MSP430 cơ bản
Một số dòng vi điều khiến kiến trúc ARM 32 bit
'Qui trình lựa chọn cấu hình ụC trong thiết kế hệ thống,
kế hệ thống cân điện tử đơn giản khi ụC không tích hợp ADC
Sơ đỗ khối và các thành phần của một bộ nguồn DC cơ bản
Bộ nguồn dn áp 3.3 volt dùng IC ôn áp công suất thấp
Bộ nguồn ổn áp có ngõ ra thay đổi được
Bộ nguồn có thể thay đổi điện thé tir 1,2 volt dén 15 Volt
đồng 3A đơn giản
n áp hai ngõ ra +3,3V và +5V công suất thấp
Sơ đồ nút ấn ngõ vào cho MSP430
IC 74245 dém dit ligu tir port! cua MSP430 Ax > By
Trang 12Hinh 4.16 Hình 4.17 1h 4.18 Hinh 4.19 Hình 4.20 1h 4.21 Hinh 4.22 Hình 4.23 Hình 4.24 Hình 4.25 Hình 4.26 Hình 4.27 Hình 4.28 Hình 4.29 Hình 4.30 Hình 4.31 ih 4.32 Hình 4.33 ình 4.34 Hình 4.35 Hình 4.36 Hình 4.37 Hình 4.38 Hình 4.39 1h 4.40 Hình 4.41 lh4.42 Hình 4.43 Hình 4.44 Hình 4.45 Hình 4.46 Hình 4.47 Hình 4.48 Hình 4.49 Hình 4.50 Hinh 4.51 Hinh 4,52 Hinh 4.53 Hinh 4.54 Hinh 4.55
Mạch mỡ rộng hiển thị trên LED 7 đoạn dùng IC giải mã BCD 4511
Mạch mớ rộng hiển thị trên LED 7 đoạn dùng IC đệm 74245
Mạch mở rộng hiển thị trên LED 7 đoạn dùng IC 74595 Mạch mỡ rộng hiển tên LED 7 đoạn dùng IC 7447
Một số mạch điều khiển công suất AC/DC dùng Relay Mạch điều khiển công suất AC dùng Triac
Mạch điều khiển động cơ DC có cách ly
Mạch tự động reset: a) tác động mức b) tác động mức cao
Sơ đồ chân và sơ đỗ khối các chức năng của MSP430F2013
Sơ đồ chân và sơ đồ khối các chức năng của MSP430G2553
Các thông, số cơ bản của MSP430FG6419IQZWR
Cấu trúc cơ bản của MSP430
So dé Bus két nối bên trong của CPU MSP430 và các thanh ghỉ
Kiến trúc bộ nhớ kiểu Harvard (a) và Von Neumann (b)
“Tổ chức bộ nhớ của MSP430
“Tổ chức bộ nhớ của MSP430 theo Bít, Byte, Word
Các bít của thanh ghỉ trạng thái
Dòng tiêu thụ của MSP430 ở các chế độ hoạt động khác nhau
Sơ đỗ khối bộ tạo xung clock của MSP430
Sơ đồ hệ thống xung clock cho một số dòng MSP430 cơ bản
Viing Tocox va các bước chọn RSELx
Sơ đỏ hệ thống xung clock trong MSP430FG4618
Sơ đồ hệ thống Reset của MSP430
Sơ đồ chức năng của các chin Kit LaunchPad với MSP430G2553
Minh họa đặt BIT3 của PORTI lên 1
Mức độ ưu tiên của các ngắt trong MSP430 Qui trình hoạt động của sự kiện ngắt
Hiệu suất của CPU giữa chương trình có sử dụng ngắt và ngược lại
Kiểm tra và xử lý sự kiện ngắt trong chương trình 'Qui trình xứ lý ngắt có địa chỉ Qui trình xử lý ngắt tự do Qui trình xử lý ngắt có địa chỉ Mạch ngắt ngoài tại P1.3 Sơ đỏ khối Timer A Chế độ Up trong Timer A
Chế độ Continuous trong Timer A
Chế 46 Up/Down trong Timer A
‘Ngo ra Timer A 6 chế độ Up/Down
“Tín hiệu Capture cia Timer A
Trang 13Hinh 4.56 Hinh 4.57 lh 4.58 Hình 4.59 Hình 4.60 Hình 4.61 Hình 4.62 Hình 4.63 Hình 4.64 Hình 4.65 1h 4.66 Hinh 4.67 Hình 4.68 Hình 4.69 Hình 4.70 Hình 4.71 lh4.72 Hình 4.73 Hình 4.74 Hình 4.75 Hình 4.76 Hình 4.77 Hình 4.78 Hình 4.79 Hình 4.80 Hình 4.81 Hình 4.82 Hình 4.83 Hình 4.84 Hình 4.85 Hình 4.86 Hình 4.87 Hình 4.88 Hình 4.89 Hình 4.90 Hình 4.91 Hình 4.92 Hình 4.93 Hình 4.94 Hình 4.95 Ngõ ra Timer A ở chế độ Up "Ngõ ra cơ bản ciia PWM
Mạch PWM với PI.2 và PI.6 là ngõ ra
Lưu đồ chương trình tạo xung 2Hz
Lưu đồ chương trình tạo xung ngõ ra dùng ngắt Timer
Lưu đồ chương trình tạo xung PWM tăng/giảm dùng SWI &SW2
So dé khéi Timer B
Sơ đồ khối Watchdog Timer+
Mô tả quá trình chuyên đôi tín hiệu tương tự thành tín hiệu số
Sơ đồ khối của bộ biến đôi ADC10 trong MSP430
Diing dién thé tham chiéu ngoai Verrr+/Verer- tren MSP430G2553
Quá trình lấy mẫu và biến đổi ADC
Mạch ngõ vào tương tự của bộ ADC
Sơ đồ bộ biên đôi ADC]0 liệt kê theo nhóm thanh ghi ADC1OCTLO&1
bộ biến đổi ADC liệt kê theo nhóm chức năng
Bộ điều khiến chuyên dữ liệu ADC10
Chuyển giao một khối trong DTC
Chuyển giao hai khối trong DTC
Đồ thị chuyển đổi của cảm biến nhiệt độ tiêu biểu Hệ thống ngắt ADC10
Tính toán nhiệt độ dau ra,
Mach ứng dụng đơn giản cảm biến nhiệt độ L.M35
Cảm biển nhiệt độ LM35 kết nói với kênh A2
Mach PWM két hop Timer va ADC
Đo nhiệt do dùng LM35 va hién thj tren LCD
Kết quả đọc giá trị LM35 hiển thị LCD
Kết quả khi thay đổi điện thế tham chỉ:
Sơ đồ bộ chuyên đổi ADC12 trong MSP430FG4618
Tín hiệu điều khiển quá trình biến đổi ADC12 khi SHP=0
“Tín hiệu điều khiên quá trình biên đôi ADC12 khi SHP=1
Lưu đỗ chương trình đo điện thế nguồn dùng ADC12
Sơ đỗ bộ chuyển doi DACI2
Lưu đồ chương trình điều khiển độ sáng của LED dùng DAC12
Sơ đồ module USCI Ax
Định dạng chuỗi dữ liệu của chế độ UART trong USCI_A0 Thiết lập tốc độ Baud ở chế độ UCOSI6
“Thiết lập tốc độ Baud ở chế độ UCOSI6
Gian đồ thời gian BITCLK Baud Rate ở chế độ UCOS16 = 0
Trang 14Hinh 4.96 Hinh 4.97 1h 4.98 Hinh 4.99 Hình 4.100 th 4.101 Hình 4.102 Hình 4.103 Hình 4.104 Hình 4.105 Hình 4.106 Hình 4.107 Hình 4.108 Hình 4.109 Hình 4.110 Hình 4.111 Ih 4.112 Hình 4.113 ình 4.114 Hình 4.115 Hình 4.116 Hình 4.117 Hình 4.118 Hình 4.119 ih 4.120 Hinh 4.121 h 4.122 Hinh 4.123 Hình 4.124 Hình 4.125 Hình 4.126 Hình 4.127 Ih 4.128 Hình 4.129 Hình 4.130 Hình 4.131 Hình 4.132 Hình 4.133 Hình 4.134 Hình 4.135
Kit Launch Pad co bản
C4u hinh Kit Launch Pad dé giao tiếp với PC
Giao diện cong COM ao Hercules
Giao diện công COM ao Advanced Serial Port Terminal
Giao thức điều khiển đơn giản dé on/off 2 LED trén Kit Launch Pad Sơ đồ mạch giao tiếp UART và hiển thi
Kết quả kiểm chứng qua thực nghiệm trên
Sơ đồ mạch điều khiển motor bước dùng ngắt ngo‡
Bus PC - giao tiếp giữa ụC với một số chịp khác
‘Cau tạo của chin SDA, SCL dang eye thoát để hở ở 3 chế độ ‘So dé mang °C để truyền thông giữa các chip khác nhau
Truyền nhận dữ liệu giữa chủ tớ
Điều kiện START và STOP của bus ẺC
'Quá trình truyền 1 bit dữ liệu
Khung dữ liệu truyền 1 byte và nhận 1 bit ACK
Dir ligu truyén trén Bus PC
Master đọc và ghỉ dữ liệu thành cơng
Lưu đồ thuật tốn q trình truyền nhận dữ liệu Khung truyền với đường địa chỉ 7 bit cơ bản
Khung truyền với dia chi 7 bit va bit trạng thái ghi vào DSI307
Khung truyền với dia chi 7 bit va bit trang thái đọc từ DS1307
So de noi thiét bj trén Bus PC vai MSP430
Vi tri SDA va SCL trên MSP430G2553 loại 20 và 28 chân
So dé cdu tao PC trong MSP430
‘Déng bé hai b6 phat xung clock trén Bus PC
PC Master & ché 46 truyén PC Master ở chế độ nhận
ỨC slave ở chế độ truyền
PC Slave ở chế độ nhận
Sơ đồ địa chỉ RAM và thanh ghỉ của DS1307
Sơ đồ nguyên lí mach IC DS1307
Sơ đồ chân ICPCA9517 và giao tiếp với DS1307 với MSP430
Sơ đồ mạch ghi và đọc 24C256 theo chuẩn I°C
So dé mạch nguyên lý lịch vạn niên
Sơ đỗ khối của chip thời gian thực BQ32000
Sơ đồ mạch nguyên lý hệ thông báo chuông học đường 'Quá trình truyền dữ liệu theo SPI giữa master vi
Sơ đồ chân sử dụng SPI trong MSP430G2553
Trang 15Hình 4.136 Hình 4.137 lh 4.138 Hình 4.139 Hình 4.140 Hình 4.141 Hình 4.142
Sơ đồ SPI master kết nói với nhiều slave kiểu cooperative slaves
n quá trình truyền dữ liệu của SPI trong MSP430
Sơ đồ khối USCI chế độ SPI
Giao tiếp giữa USCI Master và Slave bên ngoài
Giao tiếp giữa USCI Slave và Master bên ngoài
Sơ đồ mạch sử dụng SPI master điều khiển 74HCS95
Trang 16Bang 1.1 Bảng 1.2 Bang 1.3 Bang 1.4 Bang 1.5 Bang 1.6 Bang 1.7 Bang 1.8 Bang 1.9 Bang 1.10 Bang 2.1 Bang 2.2 Bang 3.1 Bang 3.2 Bang 3.3 Bang 3.4 Bang 3.5 Bang 3.6 Bảng 3.7 Bảng 3.8 Bang 4.1 Bảng 4.2 Bảng 4.3 Bang 4.4 Bảng 4.5 Bảng 4.6 Bang 4.7 Bang 4.8 Bang 4.9 Bang 4.10 Bang 4.11 Bang 4.12 Bang 4.13 Bang 4.14 Bảng 4.15 DANH MỤC BẰNG
Chuyển đổi qua lại giữa các hệ số cơ bản Chuyển đổi qua lại giữa các hệ số và mã BCD
Dung lượng bộ nhớ tương ứng với số bit địa chỉ của uP/uC
Số bịt địa chỉ để giải mã chọn vùng nhớ
Giải mã chọn 8 vùng nhớ 8KB trong không gian bộ nhớ 64KB Giai mã chọn 4 vùng nhớ 2KB trong không gian bộ nhớ 8KB
Giải mã địa chỉ hai cấp cho 16 vùng nhớ 4KB
Giải mã địa chỉ hai cấp cho vùng 3 bộ nhớ SRAM 4KB
Chức năng của tín hiệu trên chịp nhớ M95460
Ghép nối vi điều khiển với thiết bị nhớ theo chuẩn SPI
Một số CPU CISC và kiêu định vị cơ bản
Một số CPU RISC và kiểu định vị cơ bản
Một số kiểu dữ liệu cho số thực Một số kiểu dữ liệu cho số nguyên
Các toán tử quan hệ
Các toán tử logic
Các toán tử xử lý trên bịt
Các toán tử số học
Độ phân giải và thời gian chuyên đổi tối đa Sơ đồ kết nói Kit LanchPad như FET430UIF
Cấu hình bộ nhớ MSP430
Địa chỉ các module tích hợp bên trong MSP430)
Mô tả chế độ hoạt động của MSP430
Hiệu chỉnh chon số DCO của MSP430
Chức năng các bít trong thanh ghi SCFIO
Chức năng các bit trong thanh ghi FLL_CTL0
Một số thanh ghỉ module xung clock cơ bản
Phân bố địa chỉ Port vào/ra của các dòng MSP430xF1xx-F4xx
Phân bố lia chi Port vao/ra MSP430x'5xx—'6xx & 'Oxx Chon chức năng của module ngoại vi tích hợp
Bảng vector ngắt của MSP430
Một số thanh ghi điều khiển Timer A
Chức năng các bít trong thanh ghi TACTL Chức năng các bit trong thanh gi
Trang 17Bang 4.16 Bang 4.17 Bang 4.18 Bang 4.19 Bang 4.20 Bang 4.21 Bang 4.22 Bang 4.23 Bang 4.24 Bang 4.25 Bang 4.26 Bang 4.27 Bang 4.28 Bang 4.29 Bang 4.30 Bang 4.31 Bang 4.32 Bang 4.33 Bang 4.34 Bang 4.35 Bang 4.36 Bang 4.37 Bang 4.38 Bang 4.39 Bang 4.40 Bang 4.41 Bang 4.42 Bảng 4.43 Bảng 4.44 Bảng 4.45 Bang 4.46 Bang 4.47 Bang 4.48 Bang 4.49 Bang 4.50 Bang 4.51 Bang 4.52 Bang 4.53 Bang 4.54 Bang 4.55
Tín hiệu ngõ ra của Timer A
Các giá trị trong thanh ghỉ vector ngắt TAIV:
Chức năng các bit trong thanh ghi TBCTL
Chức năng các bit trong thanh ghi TBCCTLx
chế độ hoạt động của Tìmer B
Những giá trị ngắt trong thanh ghỉ TBIV:
Các thanh ghi Watchdog Timer+
Chức năng các bit trong thanh ghi điều khién WDT+
Chức năng các bit trong thanh ghỉ cho phép ngắt IEI Chức năng các biL trong thanh ghỉ cờ ngắt IFGI
Một số thanh ghỉ thường dùng trong biến đổi ADC10 Chức năng các bit trong thanh ghi ADC10CTL0
Chức năng các bit trong thanh ghỉ ADCI0CTLL
Chức năng các bit trong thanh ghỉ ADC10DTC0
Chức năng các bit trong thanh ghi ADCI2CTLO
Chức năng các bit trong thanh ghỉ ADC12CTLI Chức năng các bit trong thanh ghi ADCI2MCTLx
Các chế độ chuyển đổi của ADC12
Giá trị chuyển đổi DAC ở chế độ 12 bït và 8 bịt Chức năng các bit trong thanh ghi DACÍ2 xCTE
Các kiểu định dạng dữ liệu trong thanh ghi ADC12_xDAT
Chức năng các bịt trong thanh ghi UCAOCTEO
Chức năng các bit trong thanh ghỉUCA0CTLI
độ Baudthông đụng - chế độ UCOS16 = 1 Giá trị tốc độ Baud thông dung — chế độ UCOSI6 = 0
Một số thông số tiểu biểu của
Thanh ghỉ trạng thái và điều khiển USCI_B0 Thanh ghi trạng thái và điều khiển USCI_B1
Chức năng các bít trong thanh ghi UCBxCTLO
Chức năng các bit trong thanh ghỉ UCBxCTLI Chức năng các bịt trong thanh ghi UCBxSTAT Chức năng các bit trong thanh ghỉ UCBxI2CIE Chức năng các bit trong thanh ghi IE2
Chức năng các bit trong thanh ghỉ IF2
Chức năng các bit trong thanh ghỉ UCIIEG
Chức năng các thanh ghỉ của BQ32000 Mô tả hoạt động của UCxSTE
Thanh ghi trạng thái và điêu khiên USCI_AO va USCI_BO
“Thanh ghỉ trạng thái và điều khiến USCI_A1 và USCL_ B1
Trang 18Bang 4.56 Bang 4.57 Bang 4.58 Bang 4.59 Bang 4.60 Bang 4.61 Bang 4.62
Chức năng các bit trong thanh ghỉ UCAxCTLI và UCBxCTLI Chức năng các bít trong thanh ghỉ UCAxSTAT và UCBxSTAT Chức năng các bit trong thanh ghi IE2
Trang 19DANH MUC TU VIET TAT ACLK ADC ADCI0CTL0 ADCI0CTLI ADCI0AE0 ADCIOAEL ADCIOMEM ADCLODTCO ADCI0DTCL ADCI0SA ADCI2CTL0 ADCI2CTLI ADCI2MEMx ADCI2MCTLx ADCI2IE ADCI2IFG ADCI2IV ASICs BCSCTLI BCSCTL2 BCSCTL3 BOR BOR BSL ces CISC CPU CSoC DAC ĐACI2 xCTL DACI2 xDAT DCO Auxiliary Clock Analog-to-Digital Converter ADC10 Control Register 0 ADC10 Control Register 1
Analog (Input) Enable Control Register 0 Analog (Input) Enable Control Register | ADC10 Memory Register
Data Transfer Control Register 0 Data Transfer Control Register 1 Start Address Register
ADC12 Control Register 0 ADC12 Control Register 1
ADC12 Conversion Memory Registers
ADC12 Conversion Memory Control Registers ADE12 Interrupt Enable Register
ADC12 Interrupt Flag Register ADCI2 Thterrupt Vector Register Application-specific integrated circuits
Basic Clock System Control Register 1 Basie Clock System Control Register 2 Basic Clock System Control Register 3 Brown-Out Reset
Brownout Reset
Bootstrap Loader Compose Code Studio
Complex Instruction Set Compute Central Processing Unit
Configurable System on Chip
Digital-to-Analog Converter DAC12 Control Register DAC12 Data Register
Trang 20DCOCTL DSP FLL FPGAs FRAM GIE GPIO HDL 1O re Ic IEI 1E2 IFGI IFG2 iP IDA ISR LPM LSB MAB MCLK MDB MISO MOSI MSB NMI OTP PC PLDs POR
DCO Control Register
Digital Signal Processing Frequency Locked Loop
Field-programmable gate arrays Ferroelectric RAM General Interrupt Enable General-purpose input/output ‘Hardware Description Languages Input/Output Intergrated Cireuit Integrate Circuits
Interrupt Enable Register 1 Interrupt Enable Register 2 Interrupt Flag Register 1 Interrupt Flag Register 2 Intellectual Properties Interrupt Service Routine Low-Power Mode Least-Significant Bit Memory Address Bus Master Clock
Trang 21PSoC PUC RAM RISC RxD scG SCL SDA SFR SMCLK SP SPI SR ss STE SVS TACTL TAR TACCRx TACCTLx TAIV TBCTL TBR TBCCRx, TBCCTLx TBIV TTL TxD USCI UART UCAxCTL0 UCAxCTLL UCAxBR0 UCAxBRI UCAxMCTL UCAxSTAT Programmable System-on- Power Up Clear Random Access Memory
Reduced Instruction Set Computer
Reveived Data
System Clock Generator
Serial Clock
Serial Data
Special Function Register
Sub-System Master Clock Stack Pointer
Serial Peripheral Interface
Status Register Slave selected
Slave transmit enable
Supply Voltage Supervisor
Timer“A Control Register Timer_A Register
Timer A’Capture/Compare Register x Capture/Compare Control Register ‘Timer_A Interrupt Vector Register Timer_B Control Register
Timer_B Register
‘Timer_B Capture/Compare Re; Capture/Compare Control Register
Timer_B Interrupt Vector Register tor Logic Transistor - Tran: Transmitted Data
Universal Serial Communication Interface Universal Asynchronous Receive/Transmit USCI_Ax Control Register 0
USCI_Ax Control Register 1
Trang 22UCAxRXBUE UCAxTXBUE UCAxABCTL UCHE UCIIEG UCAxCTL0 UCAxCTLI UCAxBRO UCBxBRO UCAxBRI UCBxBRI UCAxSTAT UCBxSTAT UCAxRXBUF UCBxRXBUF UCAxTXBUF UCBxTXBUF UCBxCTLO UCBxCTLI UCBxBRO UCBxBRI UCBxSTAT UCBxRXBUE UCBxTXBUF UCBxI2COA UCBxI2CSA UCBxI2CIE UCxSIMO UCxSOMI UCxCLK UCxSTE UCBxBRx WDTIE WDT
USCI_Ax Receive Buffer Register USCI_Ax Transmit Buffer Register
USCI_Ax Auto Baud Rate Control Register USCI_ AI Interrupt Enable Register
USCI_A1 Interrupt Flag Register USCI_Ax Control Register 0 USCI_Ax Control Register 1
USCI_Ax Bit Rate Control Register 0 USCI_Bx Bit Rate Control Register 0 USCI_Ax Bit Rate Control Register 1 USCI_Bx Bit Rate Control Register 1 USCI_Ax Status Register
USCI_Bx Status Register
USCI_Ax Receive Butter Register USCI_Bx Receive Buffer Register USCI_Ax Transmit Buffer Register USCI_Bx Transmit Buffer Register USCI_Bx Control Register 0
USCI_Bx Control Register 1
USCI_Bx Baud Rate Control Register 0 USCI_Bx Baud Rate Control Register 1 USCI_Bx Status Register
USCI_Bx Receive Buffer Register USCI_Bx Transmit Buffer Register USCIBx I2C Own Address Re;
USCI_Bx I2C Slave Address Register USCI_Bx 12C Interrupt Enable Registe Slave in, master out
Slave out, master in USCI SPI clock Slave transmit enable
Baud Rate Control Register x
Watchdog Timer Interrupt Enable
Trang 23Chương I
MOT SO KHAI NIEM CO BAN
Sau khi nghiên cứu xong chương này, người đọc có thể
~_ Thực hiện việc chuyển đổi từ hệ thông số hoặc mã hóa này sang hệ thông số
hoặc mã hỏa khác
= Sit dung mot sé IC
MSP430
—_Phương pháp thiết kế mở rộng bộ nhớ bản dẫn cho hệ thông dạng song
song hoặc nói tiếp theo SPI, F
— Một số phương pháp chuyển đổi nguồn tín hiệu ngõ ra từ cảm biến ứng
dung trong do luéng tần thiết trong thiết kế hệ thống dùng vi điều khiên 1 KHÁI QUÁT HỆ THONG SO VA MA 1.1 Số nhị phân
Trang 24Bang 1.1 Chuyên đổi qua lại giữa các hệ số cơ bản Thập lục phân| Thập phân| Nhị phân_||Thập lục phân 'Thập phân| Nhị phân 0 0 0000 8 8 1000 1 1 0001 9 9 1001 2 2 0010 A 10 1010 3 eI 0011 B " 1011 4 4 0100 c 12 1100 5 5 0101 D 13 1101 6 6 010 E 14 1110 7 1 011 F 15 mu Ví dụ sau đây cho phép biển đổi một số thập lục phân sang số thập phân 7 2 A B 9 € 9 9 | ie | ie | 16 | 160 | 16! 16? l6) | 16% | 716° | 2*16 | 10*16' | 11*16" | 9961 | 12162 | 0*163 | 0*16* | 28672 | 512 | 160 | II 0.5625 | 0.046875 | 0 9 | Giá trị: 28672 + 512 + 160 + 11 + 0.5625 + 0.046875 + 0 + 0 = 29355.60937510 1.3 Chuyển đổi cơ số
Chuyển đổi từ hệ số B bắt kỳ sang số thập phân - cơ số 10 thì chúng ta c ân trên Tuy nhiên, đề chuyển từ cơ số thập phân sang các cơ số khác ta làm theo các chỉ dẫn sau:
tiến hành tương tự như 1.3.1 Chuyển đổi từ thập phân sang nhị phân Phần nguyên: 19 19;2=9 dư 1 —>a0= 1 9:2=4dư1=>al=l 4:2=2 dư 0= 82=0 2: I: 2=1du0>a3=0 dưi=>a¿=1 Phần lẻ: 0.75 0.75 *2 1.5 phần nguyén 1 a 0.5 * 2 = 1.0 phan nguyên 1 > a hị phân ta thực hiện như sau:
Vậy số nhị phân chuyên đôi có dạng: a:asasaiaoa.ta.2B = 10011.11B Trong trường hợp néu phần lẻ của sé
à nhận xét thấy rằng kết quả của phép nhân này luôn khác 0 thì nên dừng lại với 5 số lẻ
sau một số phép nhân với 2
chuyển đổi sang số nhị phân,
1.3.2 Chuyễn đỗi từ thập phân sang thập lục phân
Trang 25
Phan nguyén: 1234 Phần lẻ: 0.4296875 1234: 16=77 du 2—> a)=2 | 0.4296875* 16 = 6.875 phần nguyên là T7:16=4du 13> ar=D | Onén—>ai=6 4:16=0du4—>a=4 0.875 * 16 = 14.0 phần nguyên là 14 nén a2 =E 4saaoaia2H = 4D2.6E H n chuyển đổi sang số thập lục Vay số thập lục phân chuyển đổi có dạn Trong trường hợp nếu phần lẻ của số
nhân này luôn khác 0 thì nên dừng lại với Š số lẻ
1.3.3 Chuyễn đối từ hệ B sang he BX
Từ cách triển khai đa thức của số N trong hệ B, ta có thể nhóm thành
từng K số hạng từ dấu chấm về hai phía và đặt thành thừa số chung
Ví dụ đổi số N = 10111110101 01101: sang hệ 16 = 2!, vậy B=2, Cũng như trên nhưng nhóm từng 4 số hạng `N = 0101 1111 0101 0110 10002 N=SF5.6816 Tir két quả của phép đổi số từ hệ B sang hệ BX, ta có thể suy ra cách biến đôi ngược một cách dễ dàng: Thay mỗi số hạng của số trong hé BE bằng một số gồm K số hạng trong hệ B
Tương tự để đổi số N = 5F5: 68s sang hệ nhị phân tạ dùng 4 bit đề viết cho mỗi số hạng của s6 nay: N = 0101 1111:0101 0110 1000; 1.3.4 Chuyễn đỗi từ hệ BÀ sảng hệ B” Binary Hexadecimal
Hình 1.1 Sơ đồ chuyển đôi qua lại giữa các hệ số cơ bản
Chúng ta phải chuyển qua trung gian của hệ B, có nghĩa là muốn chuyển từ hệ BÉ sang hệ BP, trước tiên chúng ta chuyển hệ BK sang hệ B rồi sau đó chuyển tiếp từ hệ B sang hệ B”,
1.3.5 Ma BCD
Mỗi chữ số trong mét sé thap phan duge migu ta bằng giá trị nhị phân tương ứng Mỗi chữ số thập phân sẽ được miêu tả bằng 4 bit nhj pha
Trang 26
Dưới 0J1|2|3|42|5|5s|17|8#|39 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 ‘Vi dy hai số thập phân 748 và 349 được miêu tả bởi mã BCD như sau: 01110100 1000 0011.0100 1001 1 1 ‡ 1 1 ‡ 748 3.49 Hãy thử so sánh số BCD với số nhị phân sau: 13719 = 0001 0011 0111 (BCD) 13710 = 100010012 (Binary) Nguyên tắc chung cho phép biến đổi qua lại giữa các hệ số:
~_ Biến đổi qua lại qua trung gian:
'Thập lục phân, bát phân ập phân ©» Nhị phân (tự nhign)
ân với n từ 0 10
~_ Người học phải biết tính giá trị của 2", chỉ
~_ Người học phải biết giá trị của các số Hex: A, B, C, D, E, F ~_ Người học ph 0000, 0001, ., Wi Ví dụ một số phép tinh don giản sau: 2!B = 1024B =IKB Hay 2B =2!9B = 2!9%2!B = 2* 1024B = 2048B = 2KB Hay 2!9B = 2!9*29B = 64*1024B = 64KB
Mã BCD sử dụng nhiều bit hơn nhưng quá trình biến đổi đơn giản hơn
đây là bảng kê các số đầu tiên trong các hệ khác nhau:
Bảng 1.2 Chuyên đổi qua lại giữa các hệ sé va ma BCD
Thập lục| Thật whi ‘Thap lye) Thay Nhị
Trang 272 MOT SOICSO VA BO NHO BAN DAN
2.1 Một số loại
Trong thiết kế hệ vi điều khiển cần kết hợp với một số IC chuyên dùng khác nhằm giúp cho hệ thống thiết kế hoạt động hiệu quả và ôn định hơn Ví dụ như dùng IC dgm dong dé nâng đồng ngõ ra cho hệ thống điều khiễn, IC
chuyển đổi mức điện áp vào/ra, mở rộng ngõ vào/ra, Đối với các MSP430
loại phô thông thi rat hạn chế vẻ số bit ngõ vào/ra, bên cạnh đó mức logic thấp
là 0 V và mức logic cao là 3,3 V Với mức điện thế ngõ ra như thế sẽ rất khó
khăn khi thiết kế mạch vì hầu hết các ngõ ra số thông thường theo chuẩn TTL
Dưới đây liệt kê một số IC thường được sử dụng khi thiết kế hệ thống với vỉ điều khiển và đặc biệt là MSP430 - IC ULN2003/UNL2803 > sé thong dung ỢP C2 GB Of O5 O8 OF GOMMGN fo fe fa fa Đà a coMMoN † INEUT 0u {FTF LE UF LF i 22222 * |
wee ee heb ® & WY bho ey
Hình 1.2 Sơ đồ mạch, cầu tạo gủa ULN2003/ULN2803A [12]
IC này có chức năng đệm đỏng ngõ ra, hình 1.2 là sơ đồ cấu tạo của
ULN2003/ULN2803A và ngõ ra của IC này được thiết kế theo kiểu cực thu để hở nên khi sử dụng chúng ta phải dùng dạng tải kéo lên
Trang 28aavvee 1 1 From Arduino m 32V Relay |_ toad ‘digat 1050) 1 de 1 cot 1 ‘hinge and repeat E4 Peay yy Hình 1.3 Mạch ứng dụng đơn giản của ULN2003 [12] - IC74HC244 PIN ASSIGNMENT rusA([Te ve vs v šoweeme = : = vag? ube ade spe code spe FUNCTION TABLE Em Enables, a8 |A.8 | và ve nik] 2 Zohan impedance
Hình 1.4 Sơ đồ mạch logic, bảng sự thật của 74HC244 [12]
1C74HC244 dùng để đệm sửa dạng mức logic ngõ vào/ra IC này có hai kênh A và B, mỗi kênh có 4 bit làm việc độc lập nhau
- IC 74LVC4245 chuyén doi mức điện thế 3.3V «y 5.0V'
Hình 1.5 cho biết sơ đồ mạch nguyên lý, bảng sự thật và hình dạng của
IC 74LVC4245 IC này cho phép chuyển đổi mức điện thế qua lại từ
3.3V © 5.0V Néu tin hiệu OE tích cực mức thấp và tín hiệu DIR ở mức thấp thì cho phép chuyên dữ liệu theo chiều từ B sang A, ngược lại nếu OE tích cực
Trang 29mức thấp và tín hiệu DIR ở mức cao sẽ cho phép chuyển dữ liệu theo chiều từ A sang B
sve Cab vesaav) af: nhựa Logic IAGRAM (PosmiVE LOGIC)
1> te ate 20E FUNCTION TABLE
mle hes oe on] rennet = sh hes tt [men MO sa Có |Asetsee ole flee ox |e ABÍte tl]ar Tứ oof: es Soff sjeo ‘Sean verchenee Hình 1.5 Sơ đồ mạch logic và bảng sự thật của 74LVC4245 [12] -_1C74HC§95 alts Hf tea = LiL ƒt+ Lea : ofS] R TTTTTTT ape sna rigor T2 +> HÌHCE | sassesem b I f TTTTTTTT “ wor = _3-Stale Out oli fe PPEEEE > G7) + hi bht oon Ly 4 Ea TH [| sơn Jung
‘GE SAR [suce [ster] on 00 | 01-07 00-07 ‘co-a7 [as
et? t= Px | a r1 [over | cvar oar 7 3Í [er | woes ==
pee Lt @ [pea | orar so coor] oe 7 f=],
Tp] a tri a [eos [oar = oar oe = [ar
Trang 30mở rộng ngõ ra số Trong bảng sự thật có các ký hiệu sau: H là điện thé mức cao; L là điện thế mức thấp; X là giá trị logic tùy ý; Z là trạng thái tông trở cao Hình 1.7 là mạch mở rộng port ngõ ra 16 bịt dùng IC 74HC595 cơ bản
theo các ứng dụng cụ thẻ Và cũng lưu ý rằng việc mở rộng ni
Trang 31Bang 1.3 Dung lượng bộ nhớ tương ứng với số bit dja chỉ của HP/ụC
Bit dja chỉ Dung lượng Địa chỉ Địa chỉ
cao nhất bộ nhớ cao nhất tiếp theo | Ao 1H 2H | At 3H 4H | AD TH 8H | Ai FH 10H | A+ IFH 20H | AS 3FH 40H | As TFH 80H | Ar FFH 100H As IFFH 200H Ao 3FFH 400H | An TFFH 800H [ Au FFFH 100011 [An IFEFH 2000H |_ Aa 16K 3FFFH 4000H L An 32K 7FFFH 80001 | Aus 64K PEFEH 10000H [Aw 128K IFFFFH 200001 I i Ỉ Ais iM FFFFFH 100000H
Như vậy ta có mối liên hệ giữa dung lượng bộ nhớ và số đường địa chỉ của HP như sau: Dung lượng nh
2.2.2 Phân chia bản đồ bộ nhớ ROM/R.LIM
Việc lập bản đồ bộ nhớ có một vai trò quan trọng trong thiết kế hệ thống
Bản đồ này là một tư liệu cung cấp cho ta địa chi cla ROM va RAM trong không gian nhớ của hệ thống, giúp cho việc giải mã và sử dụng bộ nhớ một cách hợp lý Giả sử cần thiết kế một hệ thống có bộ nhớ như sau: 2", với n là số bít địa chỉ
- ROM: 8KB cé dia chi tir 0000-1FFFH
- SRAM - Static Ram: 4KB co dia chi tir 3000-3FFFH
- DRAM - Dynamic Ram: 16KB có địa chỉ từ C000-FFFFH
Khi đó bản đồ bộ nhớ được xây dựng như hình I.8 và 2 vùng nhé 16KB có địa chỉ từ 4000h đến BEFFh là vùng nhớ tùy chọn dùng để nâng cấp mở
Trang 320000 adk 000 dat ddd dds ddd Woe ms wot woh wot Hình 1.8 Bản đồ bộ nhớ sau thiết kế
Khi sử dụng bộ nhớ ở khoảng địa chi vùng nhớ nào, ta cần giải mã đẻ chọn vùng nhớ và truy xuất đến từng ô nhớ trong vùng đó Dùng các đường địa chỉ cao của bus địa chỉ để giải mã chia không gian nhớ thành nhiều vùng, ứng với một tổ hợp nhất định của các đường địa chỉ, mạch giải mã sẽ cho tín hiệu điều khiển, chỉ đến vùng nhớ tương ứng Ta có mi liên hệ giữa các
đường giải mã và một số vùng nhớ tương ứng: Bang 1.4 SỐ bít địa chỉ để giải mã chọn vùng nhớ Bit địa chỉ để giải mã vùng Số vùng nhớ | Số ô nhớ trong mỗi vùng Ais 2'=2 2!5=32 KB AisAus 2=4 2!*= 16KB AisAuAns =8 22=8KB AISAAbDÁ¡z 16 22=4KB | Khi quyết định phân chia không gian nhớ thành nhiều vùng, ta cần xác
định địa chỉ của từng vùng Giả sử ta dùng 3 đường địa chỉ cao Ais,Ás và Ais để giải mã chọn 1 trong 8 vùng khác nhau của bộ nhớ, mỗi vùng có dung,
lượng nhớ là 8KB, địa chỉ tương ứng của từng vùng như sau:
Trang 332.2.3 Gidi ma dja chi trye tiếp
Giải mã địa chỉ trực tiếp là việc chọn các đường địa chi cao đưa vào IC
giải mã, ngõ ra của IC giải mã là tín hiệu kiểm soát có hiệu lực trực tiếp lên
từng IC nhớ
Giá sử ta cần giải mã chọn các ROM được đặt trong vùng nhớ có địa chỉ từ 0000 đến IFFFH tương ứng với 8KB, ta dùng loại IC nhớ có dung lượng 2KBx8 (cân 11 bịt địa chỉ và 8 bit dữ liệu) Khi đó đẻ được 8KB ROM ta cần
41C nhớ 2KBx§, việc thiết kế mạch giải mã được thực hiện như sau:
~_ Tất cả 11 đường địa chỉ của mỗi ROM được nói với 11 đường địa chỉ
thấp của bus địa chỉ
~_ Dùng 2 đường địa chỉ Ai, và Ai của Bus địa chi dé giai mã chọn một trong 4 ROM (dùng mạch giải mã từ 2 sang 4)
~ Ba dudng dia chi cao ding làm điều kiện giải mã
Bang 1.6 Gidi mã chọn 4 vùng nhớ 2KB trong không gian bộ nhớ 8KB [ AnAuAn | ApAu Địa chỉ ROM | 000 00 0000= O7FF ROMI 000 01 _0800- 0FEF ROM2 |_ 000 10 1000= 17FE ROM3_ | [— 900 Lt 1800 - IFEF ROM4 | Có thé ding JC 74139 để giải n mã từ 3 ra 8 Mạch giải mã địa chỉ trực Đến ROM 1
vabá- ĐếnROM1 = ait a Yn BOM
Alu-gÌa VNEÉ Bi ENB DEN ROMS oc BnH Ma fig bg §, GREER «NBER Bers benoma
ad can PRHOM4 Ơng EYES VERSE Ju ind rong are
Mạch giải mã địa chỉ trực tiếp bộ nhớ ROM có tổng dung lượng 8KBx8
Trang 34z ‘ADD BUS: DATA BUS ^o:Ao La ^o.mo ^o`Ano 20 Đo Đo 20 Oy By Dự ty roms ome roms rome cE ce Ss co Ss eS Bar REG ì = sts Bese 2l2 —ẼI SN TRB} ou ira Hình 1.9 Giải mã địa chỉ trực tiếp bộ nhớ ROM có tổng dung lượng 8KBx8 2.2.4 Giải mã địa chỉ hai cấp
Giải mã địa chỉ hai cấp là việc chọn các đường địa chỉ cao đẻ giải mã
chia không gian nhớ ra từng vùng Tương ứng với vùng cần đặt các IC nhớ, ta chọn các đường địa chỉ thap hon dé giai ma chon chip
Giả sử cần giải ma dé chon SRAM trong một đoạn bộ nhớ 4Kb có địa
chỉ từ 3000H đến 3FFFH va ding SRAM loai có dung lượng IKBx§ (cần 8 bit dữ liệu, 10 bít địa chỉ ) Như vậy cần dùng 4 IC nhớ loại này đề đạt được 4Kb Ta thiết kế mạch giải mã theo hướn;
Trang 35Bang 1.7 Giải ma địa chỉ hai cấp cho 16 ving nhé 4KB AisAwAnAn | AuAw Ás ve Ân Địa chỉ Vang 0000 Xứ a (0000 - OF FF 0 0001 xui x 1000 - 1FFF 1 0010 xox x 2000 - 2FFF 2 0011 Xa x 3000 - 3FFF 3: 0100 Ku x 4000 - 4FFF 4 0101 Kank x 5 3000 - SFFF 41C nhớ
Bang 1.8 Gidi ma dia chi hai cấp cho vùng 3 bộ nhé SRAM 4KB
Trang 36Ề ‘ADD BUS DATA BUS xo xo Bo Aa ¬ Đo Do Đo 20 rqawe O7 Re [ rqawe 07 [fame] rqWe D7 yea) [Í ae We 0; = m| ||lxs] |lx s| |Ìx s ”—Nh cr |r ls ma] ) w Ha: Ee Ba @ aa SH Ái Paces EN + = om are
Hình 1.10 Giải mã địa chỉ hai cấp bộ nhớ RAM có tổng dung lượng 4KB
Ngoài ra để thiết kế mở rộng bộ nhớ kiểu song song thì cần chú ý đến
mạch tạo tín hiệu kiểm soát ROM và RAM để tránh xung đột khi đọc/ghi dữ liệu vào bộ nhớ
2.2.5 Bộ nhớ giao tiếp nỗi tiếp theo chuẩn PC
Việc mở rộng bộ nhớ cho các hệ vi điều khiển ngày nay thường được sử dụng chuẩn giao tiếp I?C hoặc SPI Chúng ta thường thấy việc giao tiếp với bộ nhớ EEPROM trong bộ nhớ CMOS Giao tiếp này được truyền nhận thông qua hai day SCL — xung Ck và SDA — Dữ liệu/địa chỉ nồi tiếp Với cách mơ
ớ ẽ dàng hơn, dung
lượng mở rộng lớn hơn nhiều vi không phụ thuộc vào số bịt địa chỉ kết nổi trực tiếp với vi điều khiển như trong trường hợp mở rộng bộ nhớ song song lập trình điều khiển giao tiếp với bộ nhớ nỗi tiếp có phần khó khăn hơn nếu người lập trình ứng dụng không hiểu rõ giao thức I°C và cũng như khai thác giao thức
truyền thông trong thư viện chuẩn
Trang 37ati A.At,A2 Deeiee Address eput rn _ Vee Ground Fuccass ‘30a Davo na Bsc = =
vss J4 sl sox we Wie Pree
- Ver Power Sippy
FM 24 C XX F IZ E YY X Letter Description LẺ Ba x “Tepe and Ree! Tube
Package MB Spin OP Bn SOB Temp Range Blank E 01070 -4012s8S'C 'Voage Operding Range Bark — 45/055 ẹ 2758
ứ 27V058V and “<ĐụA San Curent SCL Clock Frequency Bank —- 100KHz F o0Kit2
286 258K wah wnte protet
e cuos
2 IC-2We
PM FalreRldNen-Velstle Memory
Hình 1.11 Sơ đồ chân và các thông số cơ bản của FM24C256 [12]
IC bộ nhớ bán dẫn giao tiếp kiểu nói tiếp có dung lượng qui ước là Kilo bit, do đó muốn chuyén sang Kilo byte phai chia cho 8 Dong IC nhớ 24xxx
thường đại diện chọ kiểu giao tiếp FC, với xxx là dung lượng xxx Kilo bit Hinh 1.11 minh hoa FM24C256 ld loai CMOS EEPROM 256 Kilo bit
Mạch mở rộng bộ nhớ theo chuẩn I?C có dạng như hình 1.12 Trong đó Aa, Ai, Áo là các bit ngõ vào chọn dia chi EEPROM, SCL xung CK ngõ vào, ệ và WP ghi dữ liệu được bảo vệ Vi bus PC nh hình 1-12, ta thấy tổng dung lượng bộ nhớ EEPROM được mở rộng là 256 KBit x8 = 256 KByte Dign trở kéo lên tại chân SDA thường dùng trong
khoảng 2.2kQ dén 4.7kQ
Trang 38
RI rặt H + +4 + 4H 4H + HH zz]U{tzz]Ufxzz]Ufszz]0fyzz]0fszz]Uđs<z]Ufgzz]u2 FE | nd S55 | | 555 | 4358 | n4 5 58 | | 585 |nd3 58 [ai #55 | nascsm zzz] [eze| laze} [eee] laze] [zze] |zzs| |xzs St
Hình 1.12 Mở rộng bộ nhớ EEPROM 24C256 theo chuẩn giao tiếp IC
2.2.6 Bộ nhớ giao tiếp nối tiếp theo chuẩn SPI Mỗi chip giao tiếp theo SPI
xung Clock ngỡ vài A khong t tồm có 3 tín hiệu quan trọng đó là C: là ; D: là dữ liệu vào nối tiếp; Q là dữ liệu ra nồi tiếp Ba L Seni wee — 5 —G mosioe Operating voltage foe —d Povelenresay T Vss
Hình 1.13 So dé chip nhé M95xxx giao tiép theo chudn SPI [12]
Hình 1.13 1a sơ đồ chịp nhớ họ M95xxx theo chuẩn SPI và thường có giao tiếp theo chuẩn 3 hoặc 4 đây, SPI thường được sử dụng trong các xxx cho biết tổng dung lượng của bộ nhớ dạng Kilo bit Sau đây là một số chức năng cơ bản của chip M9S640R cé 64KBit
Trang 391g 1.9 Chức năng của tín hiệu trên chip nhé M95460
Tin hiệu “Chức năng Chỉ dẫn hướng
é ‘Xung clock néi tiếp được phát từ Master Ngõ vào
D Dữ liệu vào nối tiếp Ngõ vào
Q Dữ liệu ra nối tiếp Ngõ ra
8 Chon Slave Ngõ vào
Ww Bao vé ghi/ khong cho phép ghi Ngõ vào
| HOLD _| Gite Ngõ vio
Vee Nguồn cung cấp Voc
Vss — | Mass hoặc Ground
là Master, còn thiết bị nhớ đóng vai trò là Slave
Bang 1.10 Ghép nối vỉ điều khiển với thiết bị nhớ theo chuẩn SPT
Khi kết nối vi điều khiển với các chip hay MMC/SD card theo SPI,
người ta thường ghép nối theo bảng 1.10, trong đó vi điều khiển đóng vai trò
Hình 1.14 Sơ đỏ mở rộng bộ nhớ cơ bản theo SPI [12]
Vi điều khiển Khác MMCISD card/EEPROM Vidigu khiển MSP430 _ /
MOSI DI — Dữ liệu ngõ vào nói tế UCA0SIMO/UCB0SIMO —_ |
[ MISO Q/DO- Dữ liệu ngõ ra U€A0SOMI/UCB0SOMI —_ j
CLK CK Xung clocl UCA0CLK/UCB0CLK J
Ves (6.0e(,9) | SŒK SP Bue Master IEERPIRFFFRĐREFEEIS 1 ss | ss Mss
al || seimerey ewes $PLWemer | ạ ewe 'SPLMenen Desee 98 C%z CS
tt nan
Đối với dòng vi điều khiến MSP430/AVR/PIC, việc mớ rộng bộ nhớ theo dạng nói tiếp SPI hoặc I°C là phù hợp nhất Còn đối với các dòng vi điều
khiển MSC-51 thì phù hợp với kiểu mở rộng bộ nhớ dạng song song
Trang 403 UNG DUNG CAM BIEN TRONG DO LUONG VA DIEU KHIEN
m biển đóng vai trò cực kỳ quan trong trong lĩnh vực do lường và đi Chúng cảm nhận và đáp ứng theo các kích thường là các đại
lượng không điệ ày thành các đại lượng điện và
truyền các thông tin về hệ thống do lường điều khiển, giúp chúng ta nhận dạng đánh giá và điều khiển mọi biến trạng thái của đối tượng
Vậy, có thể định nghĩa cảm biến là thiết bị dùng để cảm nhận những biến đổi của các đại lượng vật lý và các đại lượng không có tính chất điện cân đo thành các đại lượng điện có thể đo và xử lý được Các đại lượng cần đo m thường không có tính chat điện như nhiệt độ, áp suắt tác động lên cảm biến cho ta một đặc trưng s mang tính chất điện như điện tích, điện áp, dòng điện hoặc trở kháng chứa đựng thông tin cho phép xác định giá trị của đại lượng
đo Dặc trưng s là hàm của đại lượng cần đo m theo công thức s = F(m)
Phạm vi ứng dụng của cảm biến trong các lĩnh vực công nghiệp, nghiên
cứu khoa học, môi trường, khí tượng, thông tin viễn thông, nông nghiệp, dân dụng, giao thông, vũ trụ, quân sự,
3.2 Phân loại cắm biến
Các bộ cảm biến được phân loại theo các đặc trưng cơ bản sau đây:
~ Theo nguyên lý chuyển đổi giữa kích thích và đáp ứng gồm hiện
ý (như nhiệt điện, quang điện, quang từ, điện từ, quang đàn n tượng hóa học, sinh học, điện hó
~ _ Theo dạng kích thích: âm thanh, điện, từ, quang, cơ, nhiệt, bức xạ
~_ Theo tính năng của bộ cảm biến: độ nhạy, độ chính xác, độ tuyến tính,
điều kiện môi trường hoạt động
~_ Theo phạm vi sử dụng: công nghiệp, nông nghiệp, dân dụng, vũ trụ, quan su, thong tin viễn thông,
Đối với hệ vỉ xử lý hoặc vỉ điều khiển đề xử lý và khiển thông minh
các quá trình, ngoài tốc độ xử lý, khả năng tích hợp các ngoại vi và các thuật toán điều khiển cản thiết, bộ phận tay mắt của hệ thống không thẻ thiếu các cảm biến Nhờ cảm biến mả mạch điện, hệ thống điện có thé thu nhận thông