Với tiêu chí chăm sóc sức khỏe con người trong cuộc sống hiện nay, chúng tôi chọn đề tài này để thiết kế mô hình cân điện tử thực tế giúp nhận biết được thể trạng con người, đề có những
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA: ĐIỆN – ĐIỆN TỬ
BỘ MÔN: ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Trang 2BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP –
Họ tên sinh viên: Trần Minh Đức MSSV: 14141072
Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 141
I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG CÂN ĐIỆN TỬ
II NHIỆM VỤ
1 Các số liệu ban đầu:
Khảo sát các loại vi điều khiển ARM, lựa chọn màn hình cảm ứng TFT LCD, module âm thanh
Tìm hiểu và thu thập các số liệu từ các trang mạng và sách về lập trình vi điều khiển ARM
Tìm hiểu các tài liệu hướng dẫn sử dụng loadcell, động cơ bước, module giải mã
âm thanh
2 Nội dung thực hiện:
NỘI DUNG 1: Nghiên cứu tài liệu về KIT STM32F103RBT6, module VS1003, loadcell, động cơ bước,
NỘI DUNG 2: Dựa trên các dữ liệu thu thập được, lựa chọn giải pháp thiết
kế và thi công mô hình kết nối các module với KIT điều khiển
NỘI DUNG 3: Viết chương trình điều khiển cho vi điều khiển, thiết kế giao diện màn hình cân điện tử
Trang 3mô hình được tối ưu, sử dụng dễ dàng Đánh giá các thông số của mô hình so với thông số thực tế
NỘI DUNG 5: Viết báo cáo thực hiện
III NGÀY GIAO NHIỆM VỤ: 10/09/2018
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/01/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Phan Vân Hoàn
CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Trang 4KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC
Tên đề tài: THIẾT KẾ VÀ THI CÔNG CÂN ĐIỆN TỬ
Viết báo cáo Chương 1
Đọc tài liệu kĩ thuật KIT STM32F103
Tuần 3
24/9 – 30/9
Viết báo cáo Chương 1
Giao tiếp STM32 với TFT-LCD
Tuần 4
1/10 – 7/10
Viết báo cáo Chương 2
Giao tiếp STM32 với TFT-LCD
Nghiên cứu về loadcell
Tuần 5
8/10 – 14/10
Viết báo cáo Chương 2
Giao tiếp STM32 với loadcell bằng module HX711
Hiển thị được cân nặng
Tuần 6
15/10 – 21/10
Viết báo cáo Chương 3
Thiết kế mô hình đo chiều cao
Tuần 7
22/10 – 28/10
Viết báo cáo Chương 3
Giao tiếp STM32 với động cơ bước
Tìm hiểu mudule điều khiển LN298
Trang 529/10 – 4/11 Tính toán, hiển thị được đo chiều cao
Tuần 9
5/11 – 11/11
Viết báo cáo Chương 3
Giao tiếp STM32 với thẻ nhớ SD card
Tuần 10
12/11 – 18/11
Viết báo cáo Chương 4
Giao tiếp với thẻ nhớ phát được nhạc MP3
Tuần 11
19/11 – 25/11
Viết báo cáo Chương 4
Giao tiếp module giải mã âm thanh đọc được cân nặng
Tuần 12
26/11 – 2/12
Viết báo cáo Chương 5
Giao tiếp module giải mã âm thanh đọc được chiều cao
Tuần 13,14
3/12 – 16/12
Viết báo cáo Chương 5,6
Hoàn thành mô hình, tiến hành chạy thử và kiểm tra lỗi
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
Trang 6sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Trần Minh Đức
LỜI CẢM ƠN
Trang 7tận tình giúp đỡ, tạo điều kiện để chúng em hoàn thành đề tài
Chúng em xin gửi lời chân thành cảm ơn các thầy cô trong Khoa Điện - Điện Tử
đã tạo những điều kiện tốt nhất cho em hoàn thành đề tài
Chúng em cũng gửi lời đồng cảm ơn đến các bạn lớp 14141DT3A đã chia sẻ trao đổi kiến thức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đề tài Xin cảm ơn đến cha mẹ
Xin chân thành cảm ơn!
Người thực hiện đề tài
Trần Minh Đức
Trang 8cuộc sống của con người Với tiêu chí chăm sóc sức khỏe con người trong cuộc sống hiện nay, chúng tôi chọn đề tài này để thiết kế mô hình cân điện tử thực tế giúp nhận biết được thể trạng con người, đề có những biện pháp giúp cơ thể trở nên khỏe mạnh hơn và hạn chế được các bệnh lý trong cơ thể qua đó giúp nhận biết tốt nhất nhằm cân bằng thể trạng con người
Đề tài này được nghiên cứu thực hiện và cải tiến từ những trang thiết bị cân đo thực tế có trong cuộc sống Qua đó giúp chúng ta áp dụng được lập trình vi xử lý vào
mô hình cân đo hằng ngày
Sau quá trình nghiên cứu thì chúng tôi đã thành công trong việc hoàn thiện mô hình cân đo chiều cao và cân nặng, mang lại độ chính xác khá cao trong việc đo đạt và lời khuyên từ mô hình cho người cân đo
Trang 9MỤC LỤC
BÌA NGOÀI I NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP II LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP IV LỜI CAM ĐOAN V LỜI CẢM ƠN VI TÓM TẮT VII MỤC LỤC IX DANH SÁCH HÌNH XI DANH SÁCH BẢNG XIII
CHƯƠNG 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 TỔNG QUAN CÂN SỨC KHỎE VÀ ĐO CHIỀU CAO BMI 4
2.1.1 Chỉ số BMI là gì? 4
2.1.2 BMI với sức khỏe con người 5
2.2 GIỚI THIỆU PHẦN CỨNG 7
2.2.1 Tổng quan về ARM 7
2.2.2 Giới thiệu về ARM-Cortex-M3 STM32F1 9
2.2.3 Cảm biến loadcell 11
2.2.4 Giới thiệu module HX711 13
2.2.5 Giới thiệu động cơ bước 17
2.2.6 Giới thiệu modual L298N 21
2.2.7 Module giải mã âm thanh VS1003 23
Trang 10a Khối xử lý trung tâm 29
b Khối hiển thị 30
c Khối điều khiển 31
d Khối cảm biến 33
e Khối động cơ 34
f Khối âm thanh 36
g Khối nguồn 39
3.2.3 Sơ đồ nguyên lý toàn hệ thống 40
CHƯƠNG 4 THI CÔNG HỆ THỐNG 41
4.1 GIỚI THIỆU 41
4.2 THI CÔNG HỆ THỐNG 41
4.2.1 Thi công board mạch 41
4.2.2 Lắp ráp, hàn linh kiện và kiểm tra 43
4.2.3 Thi công mô hình 44
4.3 LẬP TRÌNH HỆ THỐNG 46
4.3.1 Lưu đồ giải thuật 46
4.4.2 Phần mềm lập trình cho vi điều khiển 52
4.4 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 53
4.4.1 Viết tài liệu hướng dẫn sử dụng 53
4.4.2 Quy trình thao tác 54
CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 56
5.1 KẾT QUẢ 56
5.1.1 Kết quả phần cứng 56
5.1.3 Kết quả đo thử 60
5.2 ĐÁNH GIÁ VÀ NHẬN XÉT KẾT QUẢ 63
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
6.1 KẾT LUẬN 65
6.2 HƯỚNG PHÁT TRIỂN 65
TÀI LIỆU THAM KHẢO 66
PHỤ LỤC 67
Trang 11DANH SÁCH HÌNH
Hình 2.1: Biểu đồ quan hệ giữa chiều cao và cân nặng con người 4
Hình 2.2: Ảnh minh họa người gầy 9
Hình 2.3: Ảnh minh họa người béo phì 6
Hình 2.4: Kiến trúc của vi xử lí ARM Cotex-M7 9
Hình 2.5: Kiến trúc ARM Cortex-M3 10
Hình 2.6: Load cell 50kg 12
Hình 2.7: Load cell 5kg 12
Hình 2.8: Mạch cầu điện trở Wheatstone 12
Hình 2.9: Sự thay dổi điện trở trên loadcell 13
Hình 2.10: Module HX711 13
Hình 2.11: Sơ đồ khối ứng dụng cân nặng 15
Hình 2.12: Sơ đồ chân trong module HX711 15
Hình 2.13: Dữ liệu đầu ra, đầu vào và thời gian lựa chọn và kiểm soát 17
Hình 2.14: Động cơ bước 18
Hình 2.15: Cấu tạo động cơ bước từ trở 18
Hình 2.16: Cấu tạo động cơ bước đơn cực 19
Hình 2.17: Cấu tạo động cơ bước hai cực 20
Hình 2.18: Cấu tạo động cơ bước nhiều pha 21
Hình 2.19: Sơ đồ chân của IC L298 22
Hình 2.20: Module L298N 23
Hình 2.21: Sơ đồ cấu trúc và sơ đồ chân VS1003 24
Hình 2.22: Sơ đồ kết nối chuẩn SPI Master-Slave 26
Hình 2.23: Quá trình truyền nhận SPI 27
Hình 3.1: Sơ đồ khối của hệ thống 28
Hình 3.2: Mặt trên của kit STM32F103RBT6 30
Hình 3.3: Màn hình LCD 2.8 inch 31
Hình 3.4: Sơ đồ nguyên lý của KIT STM32 với LCD 29
Hình 3.5: Nút nhấn 12x12x12mm 32
Hình 3.6: Sơ đồ nguyên lý nút nhấn với KIT STM32 32
Hình 3.7: Sơ đồ nguyên lý của khối cảm biến đo cân nặng 34
Hình 3.8: Thứ tự động cơ quay thuận 35
Hình 3.9: Thứ tự động cơ quay nghịch 35
Hình 3.10: Module công tắc hành trình 35
Hình 3.11: Sơ đồ nguyên lý của động cơ bước với L298 và KIT STM32 36
Trang 12Hình 4.4: Sơ đồ bố trí linh kiện của mạch điều khiển 42
Hình 4.5: Khung dưới của hệ thống 44
Hình 4.6: Khung trên và bộ trượt của hệ thống 45
Hình 4.7: Hộp đựng động cơ 45
Hình 4.8: Lưu đồ chương trình chính 46
Hình 4.9: Lưu đồ chương trình cân nặng 47
Hình 4.10: Lưu đồ đo chiều cao 48
Hình 4.11: Lưu đồ đọc/phát nhạc 49
Hình 4.12: Lưu đồ chế độ phát nhạc 50
Hình 4.13: Lưu đồ phát nhạc 50
Hình 4.14: Lưu đồ đọc giá trị BMI 51
Hình 4.15: Giao diện phần mềm Keil uVision5 52
Hình 4.16: Giao diện màn hình chính 54
Hình 4.17: Giao diện màn hình nghe nhạc 55
Hình 4.18: Giao diện màn hình đo 55
Hình 5.1: Mạch xử lý trung tâm 56
Hình 5.2: Giao diện hình ảnh của cân điện tử 56
Hình 5.3: Mô hình cân đo cân nặng 57
Hình 5.4: Mô hình đo chiều cao 57
Hình 5.5: Mô hình bộ điều khiển 58
Hình 5.6: Mô hình bộ xử lý trung tâm 58
Hình 5.7: Hệ thống cân điện tử hoàn thiện 59
Hình 5.8: Người dùng chỉnh hệ thống trước khi đo 60
Hình 5.9: Người dùng đứng khi đang đo 61
Hình 5.10: Người dùng đo khi thanh trượt chạm đầu 62
Hình 5.11:Giao diện hiển thị sau khi đo 63
Trang 13DANH SÁCH BẢNG
Bảng 2.1: Đánh giá tiêu chuẩn của tổ chức y tế thế giới 5
Bảng 2.2: Các chế độ BOOT của STM32F1 10
Bảng 2.3: Mô tả sơ đồ chức năng các chân của HX711 16
Bảng 2.4: Quá trình hoạt động của dữ liệu đầu vào và dữ liệu đầu ra 17
Bảng 2.5: Mô tả sơ đồ chức năng các chân của VS1003 24
Bảng 3.1: Mô tả chân kết nối của VS1003 với STM32F103RBT6 37
Bảng 4.1: Bảng linh kiện sử dụng 43
Bảng 4.2: Các bước lắp ráp linh kiện 44
Bảng 5.1: Tiến hành đo thử nghiệm 64
Trang 14CHƯƠNG 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Ngày nay với sự phát triển của công nghiệp điện tử, kỹ thuật số các hệ thống dần dần được tự động hoá Với sự phát triển của vi xử lí, vi mạch số được ứng dụng vào lĩnh vực điều khiển giúp việc xử lý thông tin nhanh hơn trước đây giúp phục vụ vào nhu cầu cuộc sống của con người
Trong lĩnh vực chăm sóc sức khỏe, việc cân đo chiều cao và cân nặng bằng cách thủ công tốn khá nhiều thời gian và độ chính xác không cao Ở ngành điện tử, vi điều khiển
đã thâm nhập khá vào lĩnh vực này chính vì thế cân điện tử là một ứng dụng điển hình giúp giải quyết được vấn đề này Vì các lý do trên và trên cơ sở lý thuyết đã học được, đồng thời với sự giúp đỡ của thầy Phan Vân Hoàn nên nhóm tiến hành thực hiện đề tài:
“ Thiết kế và thi công cân điện tử”
Hệ thống sử dụng vi điều khiển STM32F103 giao tiếp với màn hình cảm ứng TFT LCD để hiển thị các thông số KIT điều khiển được động cơ thông qua module L298N
và loadcell qua module HX711 Bộ giải mã âm thanh VS1003 giúp phát được âm thanh
từ thẻ nhớ SD CARD
1.2 MỤC TIÊU
Thiết kế và thi công được hệ thống cân và đo chiều cao có chức năng:
- Đo được cân nặng bằng loadcell kết nối với module HX711 để chuyển tín hiệu điện áp sang tín hiệu số
- Đo được chiều cao bằng cách tính khoảng cách đi được của động cơ bước qua giao tiếp với module L298N
- Có các nút nhấn điều khiển 2 chế độ: Chế độ phát nhạc lúc rảnh và chế độ đọc cân nặng, chiều cao khi đo
- Hệ thống âm thanh đọc chiều cao và cân nặng Sau đó nhận xét kết luận và đưa
ra lời khuyên cho người đo
Trang 15
1.3 NỘI DUNG NGHIÊN CỨU
NỘI DUNG 1: Tìm hiểu và tham khảo các tài liệu, giáo trình, nghiên cứu các chủ
đề, các nội dung liên quan đến đề tài
NỘI DUNG 2: Dựa trên các dữ liệu thu thập được, lựa chọn giải pháp thiết kế và thi công mô hình kết nối các module với KIT điều khiển
NỘI DUNG 3: Thiết kế lưu đồ giải thuật và viết chương trình điều khiển cho vi điều khiển, thiết kế giao diện màn hình cân điện tử
NỘI DUNG 4: Thử nghiệm và điều chỉnh phần mềm cũng như phần cứng để mô hình được tối ưu, sử dụng dễ dàng Đánh giá các thông số của mô hình so với thông số thực tế
NỘI DUNG 5: Đánh giá kết quả thực hiện
1.4 GIỚI HẠN
Đo trọng lượng tối đa được 200 kg và đo chiều cao là 2 m
Công tắc hành trình nhỏ, người đo cần đứng đúng vào vị trí của công tắc
Cân nặng và chiều cao hiển thị số liệu khác nhau sau mỗi lần đo khác nhau
Cần đặt cân ở những vị trí bằng phẳng tránh dốc để đảm bảo việc đo đạt chính xác
1.5 BỐ CỤC
Chương 1: Tổng Quan
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung ̣ nghiên cứu, các giới hạn thông số và bố cục đồ án
Chương 2: Cơ Sở Lý Thuyết
Chương này trình bày các lý thuyết có liên quan đến các vấn đề mà đề tài sẽ dùng
để thực hiện thiết kế, thi công cho đề tài
Chương 3: Thiết Kế và Tính Toán
Trang 16Chương này có thể gồm kết quả thi công phần cứng và những kết quả hình ảnh trên màn hình hay mô phỏng tín hiệu, kết quả thống kê
Chương 5: Kết quả, nhận xét và đánh giá
Chương này đưa ra nhận xét và đánh giá sản phẩm mô hình đã hoàn thành
Chương 6: Kết luận và hướng phát triển
Chương này trình bày ngắn gọn những kết quả đã thu được dựa vào những phương pháp, thuật toán đã kiến nghị ban đầu
Trang 17CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN CÂN SỨC KHỎE VÀ ĐO CHIỀU CAO BMI
2.1.1 Chỉ số BMI là gì?
Với cuộc sống ngày càng hiện đại và phát triển, để duy trì một sức khỏe tốt giúp chúng ta học tập và làm việc một cách hiệu quả thì việc cân bằng thể trạng cơ thể là điều cần được quan tâm Nhờ đó giúp con người giữ được một vóc dáng cân đối qua đó có thể phòng tránh được một số bệnh tật Vì vậy, mỗi người cần phải rèn luyện cơ thể và duy trì chế độ dinh dưỡng một cách hợp lý
Hình 2.1: Biểu đồ quan hệ giữa chiều cao và cân nặng con người
Chỉ số khối cơ thể thường được biết đến với chữ viết tắt BMI theo tên tiếng Anh Body Mass Index - được dùng để đánh giá mức độ gầy hay béo của một người Chỉ số này do nhà bác học người Bỉ là Adolphe Quetelet đưa ra năm 1832 Thông thường, người ta dựa vào chỉ số này để xác định tình trạng cơ thể của một người nào đó
ở mức béo phì, thừa cân, bình thường, gầy hoặc quá gầy
Trang 18Bảng 2.1: Đánh giá tiêu chuẩn của tổ chức y tế thế giới
Phân loại WHO BMI (kg/m2) IDI & WPRO BMI (kg/m2)
2.1.2 BMI với sức khỏe con người
Nguy cơ của người gây thiếu cân là:
Dễ bị mắc các bệnh như hạ huyết áp, loãng xương do cơ thể không đủ chất như vitamin và khoáng chất nên xương không chắc khỏe, rất giòn và dễ gãy
Suy yếu hệ miễn dịch càng làm cho dễ mắc bệnh, đặc biệt là những bệnh nhiễm trùng
Người gầy thường bị mất khối cơ, cơ yếu, lỏng lẻo chứ không săn chắc do cơ thể thiếu đạm từ cơ bắp để tạo năng lượng
Tóc và khô da có hiện tượng khô vì không được cung cấp đủ dưỡng chất, khi đó, tóc còn có hiện tượng xác xơ và rụng nhiều còn da thì thiếu hẳn lớp mỡ dưới da sẽ tạo những nếp nhăn
Trang 19Hình 2.2: Ảnh minh họa người gầy
Những nguy cơ với người béo phì, thừa cân:
Khi chỉ số BMI trên 25 thì thuộc người thừa cân (người Việt Nam là trên 23), khi
đó sẽ có nguy cơ:
Béo phì tức nhiều mỡ dẫn đến hẹp mạch vành nên dễ mắc các chứng bệnh về tim
Dễ bị rối loạn lipid máu do nồng độ triglyceride và LDL –cholesterol trong máu cao, nồng độ HDL – cholesterol trong máu thấp
Nếu chỉ số BMI lớn hơn 30, khả năng mắc các bệnh về mạch máu não rất cao Nguy cơ mắc tiểu đường và huyết áp cao lớn vì giảm khả năng điều hòa mức độ đường huyết của cơ thể bằng việc sản sinh insulin
Giảm chức năng hô hấp, khó thở dễ khiến mắc bệnh ngưng thở khi ngủ, khiến não thiếu oxy, tạo hội chứng Pickwick
Các bệnh về đường tiêu hóa như sỏi mật, ung thư đường mật, bệnh về gan, ruột,… Lượng mỡ nhiều làm rối loạn buồng trứng gây tắt kinh hoặc rối loạn kinh nguyệt, khó có con
Trang 202.2 GIỚI THIỆU PHẦN CỨNG.
2.2.1 Tổng quan về ARM (Trích dẫn Wikipedia)
Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một loại cấu trúc vi
xử lý 32 bit kiểu RISC (thuộc kiến trúc Hardvard, có tập lệnh rút gọn) được sử dụng rộng rãi trong các thiết kế nhúng Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu
Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển của công
ty máy tính Acorn Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 vào năm
1985, và vào năm sau, nhóm hoàn thành sản phẩm “thực’’ gọi là ARM2 với thiết kế đơn giản chỉ gồm 30.000 transistor ARM2 có tuyến dữ liệu 32 bit, không gian địa chỉ 26 bit tức cho phép quản lý đến 64 Mbyte địa chỉ và 16 thanh ghi 32 bit Thế hệ sau, ARM3, được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa
Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước ARM2
có 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000 Ý tưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ và vẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn thấp
Thế hệ thành công nhất có lẽ là ARM7TDMI với hàng trăm triệu lõi được sử dụng trong các máy điện thoại di động, hệ thống video game cầm tay, và Sega Dreamcast Trong khi công ty ARM chỉ tập trung vào việc bán lõi IP, cũng có một số giấy phép tạo
ra bộ vi điều khiển dựa trên lõi này
Ngày nay ARM được ứng dụng rộng rãi trên mọi lĩnh vực của đời sống: Robot, máy tính, điện thoại, xe hơi, máy giặt…
ARM Cortex được chia làm 3 dòng:
Cortex-A: Bộ xử lý dành cho hệ điều hành và các ứng dụng phức tạp Hỗ trợ tập lệnh ARM, thumb, và thumb-2
Cortex-R: Bộ xử lý dành cho hệ thống đòi hỏi khắc khe về đáp ứng thời gian thực Hỗ trợ tập lệnh ARM, thumb và thumb-2
Trang 21 Cortex-M: Bộ xử lý dành cho dòng vi điều khiển, được thiết kế để tối ưu về giá thành Hỗ trợ tập lệnh Thumb-2
Giá trị số nằm cuối tên của 1 dòng ARM cho biết về mức độ hiệu suất tương đối của dòng đó Theo đó dòng ARM mang số 0 sẽ có hiệu suất thấp nhất
Tập đoàn ST Microelectronic đã cho ra mắt dòng STM32, vi điều khiển đầu tiên dựa trên nền lõi ARM Cortex-M3 thế hệ mới do hãng ARM thiết kế, lõi ARM Cortex-M3 là sự cải tiến của lõi ARMv7-M 32bit truyền thống, từng mang lại sự thành công vang dội cho công ty ARM Dòng STM32 thiết lập các tiêu chuẩn mới về hiệu suất, chi phí, cũng như khả năng đáp ứng các ứng dụng tiêu thụ năng lượng thấp và tính điều khiển thời gian thực khắt khe
Chip ARM M7 là một vi điều khiển 32-bit cao cấp nhất trong series
Cortex-M của ARCortex-M cho đến hiện nay Theo ARCortex-M, Cortex-Cortex-M7 có DSP (Digital Signal Processing: Xử lý tín hiệu số) cao gấp đôi so với Cortex-M4 do đó có thể xử lý cùng lúc
2 tập lệnh, giúp cho M7 có thể hoạt động ở mức xung nhịp cao hơn Đây là dòng chip MCU 32-bit giúp tăng tốc thông dịch dữ liệu từ các cảm biến thành thông tin số Nó tăng gấp đôi hiệu năng tính toán và DSP trong khi giảm thiểu mức tiêu thụ điện năng nhờ vào công nghệ sản xuất 28nm Chip M7 hỗ trợ các thiết bị nhúng điều khiển giọng nói hoặc giao diện rich OS và còn được sử dụng trong các smartphone hoặc trên xe hơi
để điều khiển các chức năng màn hình chạm và âm thanh phức tạp hơn
Trang 22Hình 2.4: Kiến trúc của vi xử lí ARM Cotex-M7
2.2.2 Giới thiệu về ARM-Cortex-M3 STM32F1
Dòng ARM STM32F1 được chia ra làm 5 nhóm nhỏ, mỗi nhóm sẽ có số dung lượng bộ nhớ Flash, SRAM và số lượng ngoại vi khác nhau:
Low-density: Gồm các vi điều khiển STM32F101xx, STM32F102xx và STM32F103xx có bộ nhớ Flash từ 16 đến 32 Kbytes
Medium-density: Gồm các vi điều khiển STM32F101xx, STM32F102xx và STM32F103xx có bộ nhớ Flash từ 64 đến 128 Kbytes
High-density: Gồm các vi điều khiển STM32F101xx và STM32F103xx có bộ nhớ Flash từ 256 đến 512 Kbytes
XL-density: Gồm các vi điều khiển STM32F101xx và STM32F103xx có bộ nhớ Flash từ 768 đến 1MKbytes
Connective line: Gồm các vi điều khiển STM32F105xx và STM32F107xx
Trang 23Hình 2.5: Kiến trúc ARM Cortex-M3
Địa chỉ ngoại vi trong họ ARM STM32F1 bắt đầu từ 0x40000000 kết thúc ở 0x500003FF sử dụng các bus AHB, APB1, APB2 để trao đổi dữ liệu như hình trên Vùng nhớ SRAM có địa chỉ nền là 0x20000000 và có thể truy xuất theo dạng byte, half word, word Vùng nhớ FLASH của STM32F103RBT6 bắt đầu từ 0x08000000 đến 0x0807FFFF
Dòng STM32F1 có 3 chế độ BOOT được chọn bởi 2 chân BOOT0 và BOOT1 theo bảng 1
Bảng 2.2: Các chế độ BOOT của STM32F1
Trạng thái chân
BOOT1 BOOT0
Trang 24Nguồn cung cấp cho ARM (VDD) phải nằm trong phạm vi từ 2 đến 3.6V (thường cấp 3.3V) Một bộ điều chỉnh điện áp bên trong được sử dụng để cung cấp nguồn 1.8V cho lõi điều khiển, SRAM và ngoại vi số
STM32F103RBT6 là vi điều khiển của hãng STmicroelectronic sử dụng lõi ARM Cortex-M3 thuộc dòng High-density với bộ nhớ Flash 512Kb, bộ nhớ SRAM 64Kbytes, tần số hoạt động lên tới 72Mhz, hỗ trợ các chuẩn giao tiếp đa dạng như CAN, I2C, SPI, UART/USART, USB, FSMC Sử dụng 4 nguồn tạo dao động bao gồm từ thạch anh ngoại từ 4 tới 16Mhz, bộ dao động RC nội tần số 8Mhz, bộ dao động RC hiệu chuẩn nội 40kHz và bộ dao động 32kHz cho bộ RTC
Có các chế độ tiết kiệm nặng lượng bao gồm Sleep, Stop và Standby Có 2 kênh chuyển đổi DAC 12 bit, 16 kênh ADC 12 bit, 12 kênh DMA hỗ trợ nhiều ngoại vi, hỗ trợ 2 chuẩn gỡ lỗi bao gồm SWD và JTAG Có 8 TIMER trong đó TIMER1 và TIMER8
là 2 TIMER nâng cao, TIMER6 & TIMER7 là TIMER cơ bản, các TIMER còn lại có chức năng thông thường
Dòng ARM Cortex là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ Không giống như các chip ARM khác, dòng Cortex là một lõi xử lí hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung Dòng Cortex gồm có 3 phân nhánh chính: dòng A dành cho các ứng dụng cao cấp, dòng R dành cho các ứng dụng thời gian thực như các đầu đọc và dòng M dành cho các ứng dụng vi điều khiển và chi phí thấp STM32 được thiết kế dựa trên dòng Cortex-M3, dòng Cortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống, kết hợp với tiêu thụ năng lượng thấp, CortexM3 được thiết kế trên nền kiến trúc mới, do đó chi phí sản xuất đủ thấp để cạnh tranh với các dòng vi điều khiển 8 và 16-bit truyền thống
2.2.3 Cảm biến loadcell
Loadcell là thiết bị cảm biến dùng để chuyển đổi lực hoặc trọng lượng thành tín hiệu điện Loadcell thường được sử dụng để cảm ứng các lực lớn, tĩnh hay các lực biến thiên chậm Một số trường hợp loadcell được thiết kế để đo lực tác động mạnh phụ thuộc vào thiết kế của Loadcell
Trang 25Hình 2.6: Load cell 50kg Hình 2.7: Load cell 5kg
Loadcell được cấu tạo bởi hai thành phần, thành phần thứ nhất là "Strain gage" và thành phần còn lại là "Load" Strain gage là một điện trở đặc biệt chỉ nhỏ bằng móng tay, có điện trở thay đổi khi bị nén hay kéo dãn và được nuôi bằng một nguồn điện ổn định, được dán chết lên “Load” - một thanh kim loại chịu tải có tính đàn hồi
Nguyên lý hoạt động: Hoạt động dựa trên nguyên lý cầu điện trở cân bằng Wheatstone Giá trị lực tác dụng tỉ lệ với sự thay đổi điện trở cảm ứng trong cầu điện trở, và do đó trả về tín hiệu điện áp tỉ lệ
Cấu tạo chính của loadcell gồm các điện trở strain gauges R1, R2, R3, R4 kết nối thành 1 cầu điện trở Wheatstone như hình dưới và được dán vào bề mặt của thân load cell
Trang 26cân bằng (trạng thái không tải), điện áp tín hiệu ra là số không hoặc gần bằng không khi bốn điện trở được gắn phù hợp về giá trị Đó chính là lý do tại sao cầu điện trở Wheatstone còn được gọi là một mạch cầu cân bằng
Khi có tải trọng hoặc lực tác động lên thân loadcell làm cho thân loadcell bị biến dạng (giãn hoặc nén), điều đó dẫn tới sự thay đổi chiều dài và tiết diện của các sợi kim loại của điện trở strain gauges dán trên thân loadcell dẫn đến một sự thay đổi giá trị của các điện trở strain gauges Sự thay đổi này dẫn tới sự thay đổi trong điện áp đầu ra
Hình 2.9: Sự thay dổi điện trở trên loadcell
Sự thay đổi điện áp này là rất nhỏ, do đó nó chỉ có thể được đo và chuyển thành số sau khi đi qua bộ khuếch đại của các bộ chỉ thị cân điện tử (đầu cân)
2.2.4 Giới thiệu module HX711
HX711 là bộ chuyển đổi tương tự kỹ thuật số (ADC) 24 bit chính xác được thiết
kế cho cân và các ứng dụng điều khiển công nghiệp để giao tiếp trực tiếp với cảm biến cầu
Độ phân giải 24bit và giao tiếp 2 dây với vi điều khiển: 2 chân SCK (Clock) và
DT (Data)
Hình 2.10: Module HX711
Trang 27Bộ ghép kênh đầu vào chọn đầu vào vi sai Kênh A hoặc B cho bộ khuếch đại khuếch đại có thể lập trình tiếng ồn thấp (PGA)
Kênh A có thể được lập trình với độ khuếch đại 128 hoặc 64, tương ứng với điện
áp đầu vào tương ứng là ± 20mV hoặc ± 40mV, khi nguồn 5V được kết nối với chân cấp nguồn tương tự VDD
Kênh B có độ khuếch đại 32 Bộ điều chỉnh nguồn cung cấp điện loại bỏ sự cần thiết của bộ điều chỉnh nguồn cung cấp bên ngoài để cung cấp năng lượng tương tự cho ADC và cảm biến Nó có thể là từ nguồn xung nhịp bên ngoài, thạch anh hoặc bộ dao động trên chip không yêu cầu bất kỳ thành phần bên ngoài nào
Tính năng và đặc điểm:
Hai kênh đầu vào vi sai có thể lựa chọn
PGA hoạt động trên chip với độ khuếch đại có thể lựa chọn là 32, 64 và 128
Bộ điều chỉnh nguồn trên chip để cung cấp năng lượng tương tự cho loadcell và ADC
Bộ tạo dao động trên chip không yêu cầu thành phần bên ngoài với tinh thể ngoài tùy chọn
Điều khiển kỹ thuật số đơn giản và giao diện nối tiếp: điều khiển dựa trên pin, không cần lập trình
Tốc độ dữ liệu đầu ra 10SPS hoặc 80SPS có thể lựa chọn
Từ chối cung cấp đồng thời 50 và 60Hz
Mức tiêu thụ hiện tại bao gồm bộ điều chỉnh nguồn tương tự trên chip: hoạt động bình thường <1,5mA, giảm nguồn <1uA
Phạm vi điện áp cung cấp hoạt động: 2,6 ~ 5,5V
Phạm vi nhiệt độ hoạt động: -40 ~ + 85 ℃
Trang 28Hình 2.11: Sơ đồ khối ứng dụng cân nặng
Hình 2.12: Sơ đồ chân trong module HX711
Trang 29Bảng 2.3: Mô tả sơ đồ chức năng các chân của HX711
STT Tên Chức năng Hoạt động
1 VSUP Nguồn Vùng hoạt động: 2.7 ~ 5.5V
2 BASE Analog đầu ra Điều chỉnh đầu ra
3 AVDD Nguồn Analog cung cấp: 2.6 ~ 5.5V
4 VFB Analog đầu vào Điều chỉnh đầu vào
5 AGND Nối đất Analog nối đất
6 VBG Analog đầu ra Đầu ra bỏ qua tham chiếu
7 INA- Analog đầu vào Đầu vào kênh A âm
8 INA+ Analog đầu vào Đầu vào kênh A dương
9 INB- Analog đầu vào Đầu vào kênh B âm
10 INB+ Analog đầu vào Đầu vào kênh A dương
11 PD_SCK Đầu vào số Điều khiển tắt nguồn và đầu vào xung clock nối
tiếp
12 DOUT Đầu ra số Đầu ra dữ liệu nối tiếp
14 XI Đầu vào số Crystal I / O hoặc đầu vào xung clock bên ngoài,
0: sử dụng bộ dao động trên chip
15 RATE Đầu vào số Kiểm soát tốc độ dữ liệu đầu ra, 0: 10Hz; 1:
80Hz
16 DVDD Nguồn Vùng hoạt động: 2.6 ~ 5.5V
Trang 30Hình 2.13: Dữ liệu đầu ra, đầu vào và thời gian lựa chọn và kiểm soát.
Bảng 2.4: Quá trình hoạt động của dữ liệu đầu vào và dữ liệu đầu ra
2.2.5 Giới thiệu động cơ bước
Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụng khác biệt với đa
số các động cơ điện thông thường Chúng thực chất là một động cơ đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động của rôto có khả năng cố định rôto vào các
vị trí cần thiết
Trang 31Hình 2.14: Động cơ bước
Động cơ bước được chia làm hai loại, nam châm vĩnh cửu và biến từ trở (cũng có loại động cơ hỗn hợp nữa, nhưng nó không khác biệt gì với động cơ nam châm vĩnh cửu) Nếu mất đi nhãn trên động cơ, vẫn có thể phân biệt hai loại động cơ này bằng cảm giác mà không cần cấp điện cho chúng
Động cơ biến từ trở thường có 3 mấu, với một dây về chung Trong khi đó, động
cơ nam châm vĩnh cửu thường có hai mấu phân biệt, có hoặc không có nút trung tâm Nút trung tâm được dùng trong động cơ nam châm vĩnh cửu đơn cực
Các động cơ kém nhất quay 90 độ mỗi bước, trong khi đó các động cơ nam châm vĩnh cửu xử lý cao thường quay 1.8 độ đến 0.72 độ mỗi bước Với một bộ điều khiển, hầu hết các loại động cơ nam châm vĩnh cửu và hỗn hợp đều có thể chạy ở chế độ nửa bước, và một vài bộ điều khiển có thể điều khiển các phân bước nhỏ hơn hay còn gọi là
vi bước
Đối với cả động cơ nam châm vĩnh cửu hoặc động cơ biến từ trở, nếu chỉ một mấu của động cơ được kích, rotor (ở không tải) sẽ nhảy đến một góc cố định và sau đó giữ nguyên ở góc đó cho đến khi moment xoắn vượt qua giá trị moment xoắn giữ của động
cơ
Động cơ biến từ trở:
Trang 32Nếu motor có 3 cuộn dây, với một đầu nối chung cho tất cả các cuộn, thì nó chắc hẳn là một động cơ biến từ trở Khi sử dụng, dây nối chung (C) thường được nối vào cực dương của nguồn và các cuộn được kích theo thứ tự liên tục
Dấu thập là rotor của động cơ biến từ trở quay 30 độ mỗi bước Rotor trong động
cơ này có 4 răng và stator có 6 cực, mỗi cuộn quấn quanh hai cực đối diện Khi cuộn 1 được kích điện, răng X của rotor bị hút vào cực 1 Nếu dòng qua cuộn 1 bị ngắt và đóng dòng qua cuộn 2, rotor sẽ quay 30 độ theo chiều kim đồng hồ và răng Y sẽ hút vào cực
Hình 2.16: Cấu tạo động cơ bước đơn cực
Động cơ bước đơn cực, cả nam châm vĩnh cửu và động cơ hỗn hợp, với 5, 6 hoặc
8 dây ra thường được quấn như sơ đồ trong hình, với một đầu nối trung tâm trên các cuộn Khi dùng, các đầu nối trung tâm thường được nối vào cực dương nguồn cấp, và hai đầu còn lại của mỗi mấu lần lượt nối đất để đảo chiều từ trường tạo bởi cuộn đó
Để xử lý góc bước ở mức độ cao hơn, rotor phải có nhiều cực đối xứng hơn Động
cơ 30 độ mỗi bước trong hình là một trong những thiết kế động cơ nam châm vĩnh cửu thông dụng nhất, mặc dù động cơ có bước 15 độ và 7.5 độ là khá lớn Người ta cũng đã tạo ra được động cơ nam châm vĩnh cửu với mỗi bước là 1.8 độ và với động cơ hỗn hợp
Trang 33mỗi bước nhỏ nhất có thể đạt được là 3.6 độ đến 1.8 độ, còn tốt hơn nữa, có thể đạt đến 0.72 độ
Như trong hình, dòng điện đi qua từ đầu trung tâm của mấu 1 đến đầu a tạo ra cực Bắc trong stator trong khi đó cực còn lại của stator là cực Nam Nếu điện ở mấu 1 bị ngắt và kích mấu 2, rotor sẽ quay 30 độ, hay 1 bước Để quay động cơ một cách liên tục, chúng ta chỉ cần áp điện vào hai mấu của đông cơ theo dãy
Hình 2.17: Cấu tạo động cơ bước hai cực
Động cơ nam châm vĩnh cửu hoặc hỗn hợp hai cực có cấu trúc cơ khí giống như động cơ đơn cực, nhưng hai mấu của động cơ được nối đơn giản hơn, không có đầu trung tâm Vì vậy, bản thân động cơ thì đơn giản hơn, nhưng mạch điều khiển để đảo cực mỗi cặp cực trong động cơ thì phức tạp hơn
Đầu 1a + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐
Đầu 1b ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + +
Đầu 2a ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐
Đầu 2b ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ +
Trang 34Động cơ nhiều pha:
Hình 2.18: Cấu tạo động cơ bước nhiều pha
Một bộ phận các động không được phổ biến như những loại trên đó là động cơ nam châm vĩnh cửu mà các cuộn được quấn nối tiếp thành một vòng kín như hình Thiết
kế phổ biến nhất đối với loại này sử dụng dây nối 3 pha và 5 pha Bộ điều khiển cần ½ cầu H cho mỗi một đầu ra của động cơ, nhưng những động cơ này có thể cung cấp moment xoắn lớn hơn so với các loại động cơ bước khác cùng kích thước Một vài động
cơ 5 pha có thể xử lý cấp cao để có được bước 0.72 độ (500 bước mỗi vòng).Với một động cơ 5 pha như trên sẽ quay mười bước mỗi vòng bước, như trình bày dưới đây: Đầu 1 + + + ‐ ‐ ‐ ‐ ‐ + + + + + ‐ ‐ ‐ ‐ ‐ + +
2.2.6 Giới thiệu modual L298N
IC L298 là một chip tích hợp hai mạch trong gói 5 chân L298 có điện áp danh nghĩa cao (lớn hơn 5 VDC) và dòng điện danh nghĩa lớn 2A nên rất thích hợp cho các ứng dụng có công suất nhỏ như các loại động cơ DC vừa và nhỏ
Trang 35Hình 2.19: Sơ đồ chân của IC L298
Có hai mạch cầu H trên một IC L298 nên có thể dùng điều khiển hai đối tượng với một IC này Mỗi mạch cầu H bao gồm một đường nguồn Vs (thật ra là đường chung cho hai mạch cầu), một chân current sensing (cảm biến dòng ở cuối mạch cầu H), chân này không được nối đất mà để người dùng nối một điện trở nhỏ gọi là sensing resistor Bằng cách đo điện áp rơi trên điện trở này ta có thể tính được dòng chạy qua điện trở, cũng là dòng qua động cơ, mục đích của việc này là xác định dòng quá tải
Nếu việc đo lường không cần thiết thì ta có thể đấu chân này với GND Động cơ
sẽ được nối với hai chân OUT1 và OUT2 hoặc OUT3 và OUT4 Chân EN (ENA và ENB) cho phép IC hoạt động khi chân này ở mức cao
L298 không chỉ được dùng để đảo chiều động cơ mà còn điều khiển vận tốc động
cơ bằng PWM Trong thực tế, công suất thực của L298N có thể tải nhỏ hơn công suất danh nghĩa của nó ( U=5V, I=2A) Mạch cầu H điều khiển động cơ DC Trong đề tài này nhóm sử dụng IC L298N để làm driver điều khiển trực tiếp động cơ
Trang 36Hình 2.20: Module L298N
L298N gồm các chân:
Chân nguồn 12V, chân nguồn 5V Đây là 2 chân cấp nguồn trực tiếp đến động
cơ Có thể cấp nguồn 9-12V ở chân 12V
Chân GND chân này là GND của nguồn cấp cho Động cơ
2 chân A enable và B enable là 2 chân điều khiển tốc độ 2 động cơ riêng biệt
Gồm có 4 chân Input IN1, IN2, IN3, IN4 Chức năng các chân này là điều khiển chiều quay của động cơ
Output A, output B: nối với động cơ Chú ý chân +, - Nếu nối ngược thì động cơ
sẽ chạy ngược Vì đề tài sử dụng động cơ bước nên nối động cơ bước thì phải đấu nối các pha cho phù hợp
2.2.7 Module giải mã âm thanh VS1003
IC VS1003 là IC chuyên dụng giải mã âm thanh của hãng VLSI Solution với các tập tin âm thanh định dạng MP3/MIDI/WMA/WAV Nó các đặc tính:
Giải mã MPEG 1 & 2 audio lớp III (CBR +VBR +ABR); WMA 4.0/4.1/7/8/9 all profiles (5-384kbit/s); WAV (PCM + IMA ADPCM); General MIDI / SP-MIDI files
Mã hóa IMA ADPCM từ microphone hoặc ngõ vào
Hỗ trợ truyền trực tuyến cho MP3 và WAV
Điều khiển Bass và treble
Hoạt động với tần số xung lock 12.13Mhz
Có bộ nhân tần số nội
Trang 37 Hoạt động chế độ tiết kiệm năng lượng
Có khả năng sử dụng với tai nghe với bộ tải 30Ω
Chia điện áp hoạt động cho tín hiệu analog, tín hiệu số và I/O
Có bộ nhớ RAM 5.5Kb dùng cho code/data
Giao diện điều khiển và dữ liệu nối tiếp
Có thẻ được dùng như 1 thiết bị slave
Có chế độ boot flash SPI cho các ứng dụng đặc biệt
Có giao tiếp UART cho chế độ debugging
Các chức năng mới được thêm vào phần mềm với 4 chân GPIO
Hình 2.21: Sơ đồ cấu trúc và sơ đồ chân VS1003
Module giải mã âm thanh VS1003 có IC chính VS1003, 2 jack audio 3.5mm, 1 microphone, IC ổn áp Chuyên sử dụng cho việc giải mã các loại âm thanh định dạng MP3/WMA/MIDI/WAV Khi giao tiếp với các MCU thông qua chuẩn SPI nó đóng vai trò là 1 slave Module bao gồm 9 chân bao gồm điều khiển, dữ liệu và cấp nguồn: 5V, GND, XRST, MISO, MOSI, SCLK, DREQ, XCS, XDCS Chức năng của từng chân: Bảng 0.5: Mô tả sơ đồ chức năng các chân của VS1003
Trang 384 MISO Chân trả dữ liệu từ VS1003 về thiết bị master
5 MOSI Chân gửi mã lệnh/dữ liệu từ master tới VS1003
6 SCLK Chân tạo xung clock đồng bộ quá trình truyền nhận
7 DREQ Chân yêu cầu ngắt của VS1003, chân này sẽ ở mức cao khi
sẵn sàng nhận dữ liệu từ master
8 XCS Chân chip select mã lệnh
9 XDCS Chân chip select dữ liệu
Để gửi dữ liệu từ MCU đến VS1003 thông qua SPI thì đầu tiên cần xem xét chân yêu cầu ngắt DREQ đã sẵn sàng chưa, nếu DREQ đang ở mức cao thì kéo chân XDCS xuống mức thấp sau đó gửi 1 byte dữ liệu đến chân MOSI Kết thúc quá trình gửi sẽ kéo chân XCS và XDCS lên mức cao để sẵn sàng cho lần gửi tiếp theo
Trước khi bắt đầu quá trình hoạt động cần reset các giá trị trong các thanh ghi của VS1003, quá trình này sẽ gửi các mã lệnh đến VS1003 để đặt lại các giá trị Để gửi mã lệnh thì trước khi truyền ta kéo chân XCS về mức thấp sau đó bắt đầu truyền Lưu ý VS1003 giao tiếp chuẩn SPI với chế độ MSB tức là truyền bit có trọng số cao đi trước 2.2.8 Chuẩn giao tiếp SPI
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề xuất Đây là kiểu truyền thông Master-Slave, trong đó 1 chip Master điều phối quá trình truyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave SPI là một cách truyền song công nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường dây trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Output Slave Input) và SS (Slave Select)
Trong đó SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp, mỗi nhịp trên SCK báo hiệu 1 bit dữ liệu đến hoặc đi Đây là điểm khác biệt với truyền thông không đồng bộ của chuẩn UART Sự tồn tại của SCK giúp quá trình truyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao Xung nhịp chỉ được tạo ra bởi Master
Trang 39MISO: Nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì là Output MISO của Master và Slave được nối trực tiếp với nhau
MOSI: Nếu là chip Master thì đây là đường Output còn nếu là chip Slave thì là Input MOSI của Master và Slave được nối trực tiếp với nhau
SS: SS là đường chọn Slave cần giao tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển trên Master, tùy vào thiết kế của người dùng
Hình dưới thể hiện một kết nối SPI giữa một chip Master và 3 chip Slave thông qua 4 đường
Hình 2.22: Sơ đồ kết nối chuẩn SPI Master-Slave
Hoạt động: Mỗi chip Slave hay Master có một thanh ghi dữ liệu 8 bit Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ
Trang 40Thanh ghi dịch 8 bit
SCK
SS
Cho phép dịch Hình 2.23: Quá trình truyền nhận SPI
Ta thấy bit MSB của Master sẽ được truyền đi đầu tiên sau đó dữ liệu sẽ được dịch trái 1 bit để đẩy bit dữ liệu kế tiếp làm MSB Đồng thời vị trí bit LSB sẽ nhận bit dữ liệu
từ Slave truyền tới Quá trình truyền nhận của Slave tương tự Master Sau mỗi 8 xung nhịp trên SCK thì quá trình truyền 8 bit hoàn thành ta đọc dữ liệu từ 2 thanh ghi này