“THIẾT KẾ MÔ HÌNH KHOÁ THÔNG SỬ DỤNG STM32C8T6”. Liên hệ zalo hộ trợ đồ án: 0395751673 Với yêu cầu đề ra là xây dựng một mô hình mở cửa có hai chức năng là mở cửa bằng thẻ từ và mật khẩu và dưới sự điều khiển của vi điều khiển STM32C8T6 để ứng dụng trong các ngôi nhà chung cư, những trụ sở có tính bảo mật cao, nhóm đã xây dựng mô hình hoàn chỉnh. Việc mở khóa đã có thể có tính an toàn cao hơn so với chìa khóa thủ công..
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ - -
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI : THIẾT KẾ MÔ HÌNH KHOÁ THÔNG MINH
SỬ DỤNG STM32F103C8T6 GVHD: Nguyễn Văn Dũng
Nhóm : 4 Sinh viên:
1 Nguyễn Trọng Kính MSV : 2020600990
2 Vũ Hồng Sơn MSV : 2020601027
3 Hoàng Thiên Vũ MSV : 2020601800
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ - -
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI : THIẾT KẾ MÔ HÌNH KHOÁ THÔNG MINH
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 4
DANH MỤC BẢNG BIỂU 6
DANH MỤC CHỮ CÁI VIẾT TẮT 7
LỜI MỞ ĐẦU 8
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 10
1.1 Giới thiệu về khoá điện tử thông minh 10
1.2 Ứng dụng của mô hình 10
1.3 Tìm hiểu các loại khoá trên thị trường hiện nay 11
1.3.1 Khóa cơ truyền thống 11
1.3.2 Khóa điện tử thông minh 13
1.3.3 Một số đánh giá về các loại khoá đã đề cập 15
1.4 Giới thiệu về vi điều khiển STM32F103C8T6 16
1.4.1 Một vài đặc điểm nổi bật của STM32 16
1.4.2 Sự an toàn 17
1.4.3 Tính bảo mật 17
1.4.4 Phát triển phần mềm 17
1.4.5 Các chuẩn giao tiếp 18
1.4.6 Thông số kỹ thuật chip STM32F103C8T6 20
1.4.7 Sơ đồ chân chip STM32F103C8T6 21
1.5 Giới thiệu về các linh kiện cần dùng 22
1.5.1 Mạch nạp STLINK-V2 22
1.5.2 Keypad 4x4 23
1.5.3 Module thẻ từ RFID RC522 25
Trang 41.5.7 DS3231 31
1.5.8 Buzzer 33
1.5.9 Relay 12V 35
1.5.10 Khoá chốt điện từ IDS-LY02 36
1.5.11 Pin ithium 3V 37
1.6 Phần mềm thiết lập 38
1.7 Ngôn ngữ lập trình nhúng 39
1.8 Phần mềm thiết kế phần cứng 40
1.9 Kết luận chương 1 40
CHƯƠNG 2: THIẾT KẾ MÔ HÌNH KHOÁ THÔNG MINH 41
2.1 Mục đích yêu cầu 41
2.1.1 Các tính năng 41
2.1.2 Thông số kỹ thuật 41
2.1.3 Các yêu cầu cụ thể 41
2.2 Sơ đồ khối 42
2.3 Sơ đồ nguyên lý 43
2.3.1 Sơ đồ khối nguyên lý toàn mạch 43
2.3.2 Khối keypad 44
2.3.3 Khối hiển thị LCD 45
2.3.4 Khối thẻ từ RFID 46
2.3.5 Khối relay điều khiển động cơ 47
2.3.6 Khối loa cảnh báo 47
2.3.7 Khối reset 48
2.3.8 Khối thời gian thực 48
2.3.9 Khối xử lý trung tâm 49
2.3.10 Khối nguồn 50
2.4 Thiết kế mạch in PCB 50
2.5 Kết luận chương 2 51
CHƯƠNG 3: KẾT QUẢ THỰC HIỆN 52
3.1 Sản phẩm 52
Trang 53.2 Kiểm thử sản phẩm 52
3.2.1 Kiểm thử chức năng 52
3.3 Hướng dẫn sử dụng 54
KẾT LUẬN – HƯỚNG PHÁT TRIỂN 56
TÀI LIỆU THAM KHẢO 58
PHỤ LỤC 59
Trang 6DANH MỤC HÌNH ẢNH
Hình 1-1: Khoá chốt nổi 11
Hình 1-2: Khoá dạng ổ 12
Hình 1-3: Khoá bấm 12
Hình 1-4: Khoá cửa nắm tay tròn 13
Hình 1-5: Khoá cửa thông minh Việt Tiệp 13
Hình 1-6: Khoá thông minh Ricsa 14
Hình 1-7: Khoá cửa thông minh Hafele 15
Hình 1-8: Chip STM32F103C8T6 16
Hình 1-9: Giao thức Master – Slave trong giao tiếp SPI 19
Hình 1-10: Quy trình giao tiếp I2C 19
Hình 1-11: Giao tiếp UART 20
Hình 1-12: Mạch nạp STLINK-V2 22
Hình 1-13: Keypad 4x4 23
Hình 1-14: Nguyên lý hoạt động của keyboard 24
Hình 1-15: Module thẻ từ RC522 25
Hình 1-16: Sơ đồ chân của RC522 26
Hình 1-17: LCD 16x2 27
Hình 1-18: IC LM1117 29
Hình 1-19: IC LM7805 30
Hình 1-20: DS3231 32
Hình 1-21: Datasheet DS3231 33
Hình 1-22: Buzzer 34
Hình 1-23: Relay 12 VDC 35
Hình 1-24: Sơ đồ kích thước Relay 12V 5 chân 36
Trang 7Hình 1-25: Khoá điện từ và các thông số kỹ thuật 37
Hình 1-26: Pin Lithium CR2032 38
Hình 1-27: Giao diện STM32CUBEMX 38
Hình 1-28: Giao diện Altium designer 20021 40
Hình 2-1: Sơ đồ khối hệ thống 42
Hình 2-2: Khối keypad 44
Hình 2-3: Khối LCD 45
Hình 2-4: Khối RFID 46
Hình 2-5: Khối relay 47
Hình 2-6: Khối loa 47
Hình 2-7: Khối reset 48
Hình 2-8: Khối thời gian thực 48
Hình 2-9: Khối xử lý trung tâm 49
Hình 2-10: Khối nguồn 50
Hình 2-11: Mạch in PCB 3D 51
Hình 3-1: Mô hình sản phẩm hoàn thiện 52
Hình 3-2: Giao diện ban đầu của mô hình 54
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1-1: Thông số kỹ thuật keypad 4x4 24
Bảng 1-2: Thông số kỹ thuật RC522 25
Bảng 1-3: Thông số kỹ thuật LCD 16x2 27
Bảng 1-4: Chức năng của từng chân và ghép nối chi tiết LCD 28
Bảng 1-5: Thông số kỹ thuật LM1117 30
Bảng 1-6: Thông số kỹ thuật LM7805 31
Bảng 1-7: Các thông số kỹ thuật DS3231 32
Bảng 3-1: Bảng phân tích kết quả thực nghiệm 53
Trang 9DANH MỤC CHỮ CÁI VIẾT TẮT
RFID Radio Frequency
Identification
Nhận dạng qua tần số vô tuyến
UART Universal Asynchronous
Receiver-Transmitter Bộ thu phát không đồng bộ đa năng
I2C Inter-Intergrated Circuit Bus giao tiếp ngoại vi cho nhiều
loại IC khác nhau
ADC Analog-to-Digital Converter Hệ thống mạch thực hiện chuyển
đổi một tín hiệu tương tự
SPI Serial Peripheral Interface Chuẩn truyền thông nối tiếp đồng
bộ
LCD Liquid Crystal Display Màn hình tinh thể lỏng
EEPROM Electrically Erasable
Programmable Read-Only Memory
Bộ nhớ không mất dữ liệu khi ngừng cung cấp điện
SCL Serial Clock Line Tạo ung nhịp đồng hồ Master
phát đi
LỜI MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay với sự phát triển mạnh mẽ của thế giới về mọi mặt, trong đó khoa họccông nghệ nói chung và ngành công nghệ kỹ thuật điện tử nói riêng có nhiều phát triểnvượt bậc, góp phần làm cho thế giới ngày càng hiện đại và văn minh hơn Sự phát triểncủa kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị có các đặc điểm với sự chínhxác cao, tốc độ nhanh, gọn nhẹ linh hoạt và hoạt động ổn định, bảo mật cao Đó lànhững yếu tố cần thiết làm cho năng suất, hiệu quả trong công việc được tăng cao, thời
Trang 10trong và bên ngoài, mà nó còn là bộ phận tạo nên sự an toàn bên trong đối với bênngoài Vì vậy trong mọi công trình, khóa cửa trở thành một người bạn trung thành luônbảo vệ tính mạng, tài sản và những người thân yêu Khóa cửa góp phần tạo nên một tổ
ấm hạnh phúc Xuất phát từ thực tế, nhóm 4 đã thực hiện đề tài “THIẾT KẾ MÔHÌNH KHOÁ THÔNG MINH SỬ DỤNG STM32F103C8T6”
2 Nội dung nghiên cứu
Đồ án khoá thông minh gồm những nội dung sau:
Chương 1 : Cơ sở lý thuyết thiết kế mô hình khoá thông minh
Chương 2 : Thiết kế mô hình khoá thông minh
Chương 3 : Kết quả thực hiện
3 Phương pháp nghiên cứu
Nghiên cứu về "Thiết kế mô hình khoá thông minh sử dụng STM32F103C8T6"bao gồm một quy trình chi tiết để phát triển hệ thống an toàn và hiệu quả Đầu tiên,xác định mục tiêu và phạm vi của nghiên cứu để đặt ra những câu hỏi cụ thể Sau đó,tìm hiểu về vi điều khiển STM32F103C8T6 và xác định yếu tố quan trọng cho môhình khoá thông minh Tiếp theo, phát triển firmware cho vi điều khiển, sử dụng ngônngữ lập trình và công cụ phần mềm liên quan Quá trình kiểm thử và đánh giá sẽ đảmbảo tính ổn định và hiệu suất của hệ thống Kết quả được phân tích và so sánh với các
mô hình tương tự để đánh giá sự đột phá và độ hiệu quả Cuối cùng, báo cáo nghiêncứu trình bày kết quả và đề xuất hướng phát triển tiếp theo cho mô hình khoá thôngminh này
4 Đối tượng và phạm vi nghiên cứu
Một căn nhà thông minh cần phải thông minh từ ngay ngoài thềm cửa Một chiếcchìa khóa thông minh sẽ giúp lối vào tiện nghi trong cuộc sống thường ngày của mỗingười Khóa cửa thông minh sử dụng thẻ từ kết hợp mật khẩu là một thiết bị điện từ
có tác dụng thực hiện các nhiệm vụ mở khóa cửa khi nhận được thẻ từ hoặc mật khẩu
đã được thiết lập từ trước
5 Ý nghĩa khoa học và ý nghĩa thực tiễn
Trang 11- Ý nghĩa khoa học
Góp phần đa dạng các nghiên cứu về tự động hóa ngôi nhà của bạn để giúp cho đờisống sinh hoạt được nâng cao hơn và an toàn hơn Cải thiện các thiếu sót của các hệthộng tự động mở cửa đã cũ và giúp ổn định hệ thống tương tự khác về sau
- Ý nghĩa thực tiễn:
Hạn chế tình trạng trộm cướp tài sản, người lạ ra vào nhà khi chưa có sự cho phépcủa chủ nhà Quản lí chặt chẽ hơn những người sống trong khu định cư của bạn
Trang 12CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu về khoá điện tử thông minh
Đối với mỗi gia đình, xí nghiệp, trường học hay bất cứ nơi đâu, để bảo vệ tài sảntrong phòng, trên mỗi cánh cửa ra vào được trang bị thêm chiếc khóa Hiện nay trênthị trường có rất nhiều loại khóa cửa nhưng hầu như đều là khóa cơ khí, các khóa cơkhí này gặp vấn đề lớn đó là tính bảo mật của các khóa này không cao, nên dễ dàng bịphá khóa bởi các chìa khóa đa năng
Có 2 loại khóa số cơ bản hiện nay trên thị trường có đó là khóa số cơ khí và khóa
số điện tử
- Tính tiện lợi: Khi mở khóa hay khóa lại thì ta phải xoay các vòng số trên khóa sao
cho một dãy các số nào đó cùng hợp với nhau thì mở được khóa
- Tính tiện lợi: Khi mở khóa thì ta phải nhập đúng mật khẩu là một dãy các số liên
tiếp nhau, nếu nhập đúng các dãy số đó thì mở được khóa
Nhìn chung thì khóa số điện tử sẽ có nhiều ký tự, nhiều mã số để cài đặt hơn, cũngnhư độ dài của mã số sẽ dài hơn Vì vậy tính bảo mật của khóa số điện tử cũng caohơn Bên cạnh đó, thao tác trên khóa số điện tử cũng thực hiện dễ dàng hơn với cácphím bấm, chứ không phải là các vòng xoay ở khóa số cơ khí Khi thao tác đổi mậtkhẩu cũng dễ dàng hơn vì thao tác trên các phím bấm
Khóa số điện tử ngoài tính năng về bảo mật cao và thao tác dễ dàng còn có tínhnăng cảnh báo nếu nhập mật mã nhiều sai quá số lần quy định Với giao diện ngườidùng, hiển thị các thông báo về nhập mật khẩu, cảnh báo, thay đổi mật khẩu khiếnngười dùng dễ sử dụng hơn
1.1 Ứng dụng của mô hình
- Tính tiện lợi : tùy vào sản phẩm cụ thể, khóa điện tử có nhiều cách mở khác nhau
như thẻ từ, vân tay, mật khẩu Các cách mở khóa này đều hướng đến tiện ích giúpcác thành viên trong gia đình không cần mang theo chìa khóa, không sợ mất hay đểquên đâu đó
Trang 13- Tính an toàn, bảo mật cao : người dùng có thể quyết định người mở cửa vào nhà
trong khoảng thời gian nhất định bằng cách thiết lập ứng dụng, hạn chế việc thayđổi ổ khóa, sao chép chìa Công nghệ hiện đại cho khả năng bảo mật cao bằng mật
mã ảo, mở khóa bằng thẻ từ…Một số dòng khóa điện tử uy tín còn được trang bịcác tính năng như báo động khi có hiện tượng cạy phá khóa, nhiệt độ trong nhàtăng cao (nguy cơ hỏa hoạn)…
- Dễ sử dụng: Trong thời gian ngắn, có thể nắm rõ cách cài đặt cũng như sử dụng
- Phù hợp với hầu hết loại cửa: Khóa cửa thông minh gần như có thể lắp đặt trên bất
kỳ loại cửa nào từ cửa gỗ, cửa nhôm, kính chỉ cần có độ dày phù hợp
Trang 141.2 Tìm hiểu các loại khoá trên thị trường hiện nay
1.2.1 Khóa cơ truyền thống
a) Khoá chốt nổi
Là hình thức biến thể của then cài và dây xích Đó là một thanh hình dẹp bằng kimloại gắn nổi trên cánh cửa, để giữ cửa khỏi mở ra bằng cách chốt (cài) vào khung baocủa bộ cửa Đỉnh cao của chốt cửa chính là cây chốt âm vừa đạt độ an toàn cao nhấtvừa thẩm mỹ nhất
b) Khoá dạng ổ
Những bộ khóa cửa đầu tiên ra đời rất đơn giản thường làm bằng gỗ (loại tốt) với
hệ chìa chữ L rất đơn giản và dễ mở Khi các vật liệu bằng kim loại phát triển ổ khóacửa chuyển qua làm bằng kim loại (đồng thau, Inox, Atimon, nhôm…) rất đa dạng về
Hình 1-1: Khoá chốt nổi
Trang 15kiểu dáng, hoa văn và màu sắc, nhưng chung quy lại ta có thể phân biệt từng giai đoạnphát triển của nó thông qua hệ chìa
Trang 16c) Khóa bấm
Là loại khóa có kích thước nhỏ vừa lòng bàn tay và cấu tạo đặc trưng là có chốtcửa để bấm vào hoặc có chìa để khóa cửa lại, loại khóa này thường được sử dụng chocửa sắt, cửa xếp, cửa gỗ Khóa bấm được chia làm hai loại là loại thông thường và loạikhóa bấm chống cắt
d) Khóa cửa tay nắm tròn
Là loại khóa được sử dụng phổ biến hiện nay Loại khóa này phải đóng - mở bằngcách vặn trái, vặn phải để đóng – mở cửa Khóa tay nắm tròn có cấu tạo là bên trongthường có 1 chốt bấm hoặc bên trong là 1 lỗ để cắm chìa khóa để khóa cửa từ bên
Hình 1-2: Khoá dạng ổ
Hình 1-3: Khoá bấm
Trang 17trong Loại khóa này thường được sử dụng cho cửa gỗ hoặc cửa nhôm kính, khóa nàythường
hay bị kẹt và cần phải gọi thợ sửa khóa đến để mở cửa
Hình 1-4: Khoá cửa nắm tay tròn
Trang 181.2.2 Khóa điện tử thông minh
a) Khoá thông minh Việt Tiệp
Khoá cửa thông minh Việt Tiệp là một sản phẩm kỹ thuật số giúp kiểm soát truy
cập vào các khu vực bảo mật, như cửa ra vào trong một tòa nhà hoặc căn hộ
Khoá cửa này có khả năng kết nối Wi-Fi và được điều khiển từ xa bằng ứng dụngtrên smartphone; cho phép người sử dụng mở cửa bằng cách quét mã QR, quét vân
Hình 1-5: Khoá cửa thông minh Việt Tiệp
Trang 19b) Khóa cửa thông minh Ricsa
Khoá cửa thông minh Ricsa này sử dụng công nghệ Face ID – nhận diện khuôn
mặt Đây là công nghệ sinh trắc học ánh xạ khá là mới mẻ hiện nay được các nhà pháttriển khoá rất quan tâm hiện nay Chúng sẽ phân tích các đặc điểm trên khuôn mặtcủa một cá nhân và chuyển chúng thành thông tin dạng toán học để lưu trữ dữ liệudưới dạng dấu khuôn mặt (faceprint).Chúng dựa trên nguyên lý xây dựng một bản mẫugương mặt dạng 3D sau đó mang mẫu đã lưu trữ trong kho dữ liệu để làm thông tin sosánh để mở khóa
c) Khóa cửa thông minh cao cấp Hafele
Khoá cửa thông minh Hafele là một thiết bị an ninh cho phép bạn kiểm soát
quyền truy cập vào nhà của mình từ xa; bằng cách sử dụng ứng dụng trên điện thoại diđộng hoặc máy tính bảng
Thiết bị này được tích hợp các tính năng như nhận diện vân tay, mã số và thẻ từ đểđảm bảo rằng chỉ những người được cho phép mới có thể truy cập vào ngôi nhà Khi
có khách đến thăm, bạn có thể cấp quyền truy cập tạm thời cho họ trên smartphone
Hình 1-6: Khoá thông minh Ricsa
Trang 20Ngoài ra, khoá cửa thông minh cao cấp Hafele cũng có khả năng ghi lại lịch sử truycập, giúp bạn dễ dàng kiểm soát tính bảo mật của căn nhà.
1.1.1 Một số đánh giá về các loại khoá đã đề cập
Từ những loại khóa cơ truyền thống và khoá điện tử thông minh ở trên, nhóm cóđưa ra nhận xét như sau:
d) Ưu điểm
- Tính tiện lợi: nhờ có khóa thông minh mà việc đóng, mở cửa dễ dàng hơn và giúp
người dùng tiết kiệm được nhiều thời gian và công sức
- Tính an toàn, bảo mật: Tính an toàn bảo mật của khoá thông minh phụ thuộc vào
việc sự kết hợp chặt chẽ của các yếu tố như phương thức xác thực, bảo mật kết nối,quản lý quyền truy cập Và các loại khoá trên đáp ứng khá tốt về các yếu tố đóNgười sử dụng nên chọn lựa sản phẩm từ các nhà sản xuất uy tín và duy trì cácbiện pháp bảo mật cơ bản như cập nhật phần mềm, quản lý mật khẩu mạnh, và giữ
bí mật thông tin xác thực
- Thiết kế đa dạng: Có rất nhiều mẫu mã, thiết kế khác nhau phù hợp với nhu cầu
của người dùng
e) Nhược điểm
- Giá thành cao hơn các loại khóa truyền thống.
- Đòi hỏi phải có thợ chuyên môn và thời gian lắp đặt lâu , vấn đề về nguồn cấp …
Hình 1-7: Khoá cửa thông minh Hafele
Trang 211.3 Giới thiệu về vi điều khiển STM32F103C8T6
Những đặc điểm nổi trội của dòng ARM Cortex đã thu hút các nhà sản xuất IC,
Hình 1-8: Chip STM32F103C8T6
Trang 22STM32 là vi điều khiển dựa trên nền tảng lõi ARM Cortex-M3 thế hệ mới do hãngARM thiết kế Lõi ARM Cortex-M3 là sự cải tiến từ lõi ARM7 truyền thống từngmang lại thành công vang dội cho công ty ARM.
1.3.1 Một vài đặc điểm nổi bật của STM32
ST đã ra mắt 4 dòng vi điều khiển ARM7 và ARM9 trước khi STM32 xuất hiện,đánh bại các vi điều khiển 8 và 16-bit truyền thống với hiệu suất và chi phí tốt STM32
có 14 biến thể chia thành dòng Performance (72MHz) và dòng Access (36MHz).Chúng tương thích về phần cứng và phần mềm, với bộ nhớ lên đến 512K Flash ROM
và 64K SRAM
Các ngoại vi bao gồm ADC, timer, I2C, SPI, CAN, USB, và RTC Mỗi ngoại vi cóđặc điểm thú vị như bộ ADC 12-bit có cảm biến nhiệt độ tự động hiệu chỉnh, đồngthời, các bộ định thời có khả năng liên kết và tạo ra mảng định thời tinh vi Ngoại vinối tiếp SPI hỗ trợ CRC cho giao tiếp thẻ nhớ SD hoặc MMC
STM32 hỗ trợ tối đa 12 kênh DMA, giúp truyền dữ liệu hiệu quả Nó có cấu trúcbus nội và ma trận bus giúp quản lý truy cập dữ liệu giữa CPU và DMA STM32 tiêuthụ ít năng lượng, với khả năng hoạt động ở điện áp thấp và chỉ tiêu thụ 2μA khi ở chếA khi ở chế
độ Standby Bộ dao động nội RC 8MHz giúp nhanh chóng thoát khỏi chế độ tiết kiệmnăng lượng
Trang 231.3.3 Tính bảo mật
Một trong những yêu cầu khắc khe khác của thiết kế hiện đại là nhu cầu bảo mật
mã chương trình để ngăn chặn sao chép trái phép phần mềm Bộ nhớ Flash củaSTM32 có thể được khóa để chống truy cập đọc Flash thông qua cổng Debug Khi tínhnăng bảo vệ đọc được kích hoạt, bộ nhớ Flash cũng được bảo vệ chống ghi để ngănchặn mã không tin cậy được chèn vào bảng vector ngắt Hơn nữa bảo vệ ghi có thểđược cho phép trong phần còn lại của bộ nhớ Flash STM32 cũng có một đồng hồ thờigian thực và một khu vực nhỏ dữ liệu trên SRAM được nuôi nhờ nguồn pin Khu vựcnày có một đầu vào chống giả mạo (anti-tamper input), có thể kích hoạt một sự kiệnngắt khi có sự thay đổi trạng thái ở đầu vào này Ngoài ra một sự kiện chống giả mạo
sẽ tự động xóa dữ liệu được lưu trữ trên SRAM được nuôi bằng nguồn pin
1.3.4 Phát triển phần mềm
Nếu bạn đã sử dụng một vi điều khiển dựa trên lõi ARM, thì các công cụ phát triểncho ARM hiện có đã được hỗ trợ tập lệnh Thumb-2 và dòng Cortex Ngoài ra ST cũngcung cấp một thư viện điều khiển thiết bị ngoại vi, một bộ thư viện phát triển USB như
là một thư viện ANSI C và mã nguồn đó là tương thích với các thư viện trước đó đượccông bố cho vi điều khiển STR7 và STR9 Có rất nhiều RTOS mã nguồn mở vàthương mại và middleware (TCP/IP, hệ thống tập tin, v.v.) hỗ trợ cho họ Cortex DòngCortex-M3 cũng đi kèm với một hệ thống gỡ lỗi hoàn toàn mới gọi là CoreSight Truycập vào hệ thống CoreSight thông qua cổng truy cập Debug (Debug Access Port),cổng này hỗ trợ kết nối chuẩn JTAG hoặc giao diện 2 dây (serial wire-2 Pin), cũng nhưcung cấp trình điều khiển chạy gỡ lỗi, hệ thống CoreSight trên STM32 cung cấp hệthống điểm truy cập(data watchpoint) và một công cụ theo dõi (instrumentation trace).Công cụ này có thể gửi thông tin về ứng dụng được lựa chọn đến công cụ gỡ lỗi Điềunày có thể cung cấp thêm các thông tin gỡ lỗi và cũng có thể được sử dụng trong quátrình thử nghiệm phần mềm
1.3.5 Các chuẩn giao tiếp
Trang 24APB2, khối SPI tốc độ thấp nằm trên APB1 Mỗi khối SPI có hệ thống thanh ghi cấuhình độc lập, dữ liệu truyền có thể dưới dạng 8-bit hoặc 16-bit, thứ tự hỗ trợ trọng sốcao (MSB) hay trọng số thấp (LSB) Chúng ta có thể cấu hình mỗi SPI đóng vai tròmaster hay slave.
Chức năng của SPI:
- SPI sử dụng phương thức truyền: Nối tiếp - đồng bộ - song công.
- Nối tiếp: Truyền một bit dữ liệu trên mỗi nhịp truyền.
- Đồng bộ: Có xung nhịp đồng bộ quá trình truyền.
- Song công : Cho phép gửi, nhận đồng thời.
- SPI là phương thức master – Slave.
- Thiết bị đóng vai trò Master điều khiển xung đồng bộ(SCK).
- Tất cả các thiết bị Slaver bị điều khiển bởi xung đồng bộ phát ra bởi Master
Cấu hình ghép nối cơ bản trong giao tiếp SPI:
- MISO (Master Input Slave Output).
- MOSI (Master Output Slave Input).
- SCK: Xung đồng bộ
- SS (Slave select): Chân chọn thiết bị (để một thiết bị slave có thể làm việc, chân SS
phải giữ ở mức thấp)
Trang 25Các thiết bị sử dụng giao tiếp SPI rất đa dạng bao gồm : thẻ nhớ SD/MMC, bộnhớ , cảm biến ảnh, LCD, ADC….
Hình 1-9: Giao thức Master – Slave trong giao tiếp SPI
Trang 26b) Chuẩn giao tiếp I2C
Tương tự như SPI, chuẩn I2C(Inter-Integrated Circuit) cũng được STM32 hỗ trợnhằm giao tiếp với các mạch tích hợp ngoài Giao diện I2C có thể được cấu hình hoạtđộng ở chế độ slave, master hay đóng vai trò bộ phận xử đường trong hệ thống multi-master Giao diện I2C hỗ trợ tốc độ truyền chuẩn 20KHz hay tốc độ cao 400KHz.Ngoài ra còn hỗ trợ 7 hoặc 10 bit địa chỉ Được thiết kế nhằm đơn giản hóa quá trìnhtrao đổi với 2 kênh DMA cho truyền và nhận dữ liệu Hai ngắt một cho nhân Cortex,một cho địa chỉ truyền nhận
Hình 1-10: Quy trình giao tiếp I2C
Trang 27c) Giao tiếp UART
UART (Universal Asynchronous Reciver/Transmister) một chuẩn giao tiếp khôngđồng bộ cho MCU và các thiết bị ngoại vi Chuẩn UART là chuẩn giao tiếp điểm vàđiểm, nghĩa là trong mạng chỉ có hai thiết bị đóng vai trò là transmister hoặc reciver.Các thông số cơ bản trong truyền nhận UART :
- Frame (khung truyền): Khung truyền quy định về số bit trong mỗi lần truyền.
- Parity bit: kiểm tra dữ liệu truyền có đúng không.
- Baund rate (tốc độ baund): Khoảng thời gian dành cho 1 bit được truyền Phải được
cài đặt giống nhau ở gửi và nhận Một số Baud Rate thông dụng: 9600, 38400,
115200, 230400,…
- Start bit: là bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận có
một gói dữ liệu sắp đc truyền đến Bit bắt buộc
- Data: dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó
đến bit MSB
Trang 28- Stop bit: là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong Thiết bị
nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu
1.3.6 Thông số kỹ thuật chip STM32F103C8T6
- STM32F103C8T6 là vi điều khiển 32bit, thuộc họ F1 của dòng chip STM32 hãng
- 2 bộ ADC 12 bit với 9 kênh mỗi bộ Khoảng giá trị chuyển đổi từ 0 – 3.6 V.
- 7 kênh DMA Có hỗ trợ DMA cho ADC, UART, I2C, SPI
- 7 bộ Timer
- Kiểm tra lỗi CRC và 96-bit ID
1.3.7 Sơ đồ chân chip STM32F103C8T6
Vi xử lý STM32F103C8T6 là một dòng vi xử lý ARM Cortex-M3 củaSTMicroelectronics Nó có 48 chân và có nhiều chức năng khác nhau được gán cho
Hình 1-11: Giao tiếp UART
Trang 29từng chân Dưới đây là danh sách các chức năng chính của 48 chân trên vi xử lýSTM32F103C8T6:
- Chân nguồn và đất:
VDD: Nguồn cấp 3.3V
VSS: Chân đất
- Chân GPIO (General-Purpose Input/Output): Các chân từ PA0 đến PA15 và PB0
đến PB11 có thể được sử dụng làm chân GPIO để đọc vào hoặc điều khiển đầu ra
- Chân ADC (Analog-to-Digital Converter): Các chân từ PA0 đến PA7 có thể được
sử dụng làm chân vào ADC cho việc đo đại lượng analog
- Chân USART : Chân TX và RX cho giao tiếp USART với các thiết bị ngoại vi
khác
- Chân SPI (Serial Peripheral Interface) : Chân MOSI, MISO, SCK cho giao tiếp
SPI
- Chân I2C (Inter-Integrated Circuit) : Chân SDA và SCL cho giao tiếp I2C.
Chân PWM (Pulse Width Modulation) : Các chân PWM có thể được sử dụng đểtạo các xung PWM để kiểm soát độ rộng xung
- Chân EXTI (External Interrupt) : Các chân có khả năng tạo ngắn mạch ngoại vi để
kích thích ngắn mạch ngoại vi
- Chân GPIO Output Type : Các chân có thể được cấu hình để tạo ra các tín hiệu đầu
ra với các chế độ đầu ra khác nhau như Push-Pull hoặc Open-Drain
- Chân Reset và Clock:
NRST: Chân reset
OSC_IN và OSC_OUT: Chân đầu vào và đầu ra của bộ dao động
- Chân VBAT : Chân này cung cấp nguồn năng lượng dự phòng cho việc giữ các
thanh ghi khi vi xử lý ở chế độ ngủ
Trang 301.4 Giới thiệu về các linh kiện cần dùng
Hình 1-12: Mạch nạp STLINK-V2
Trang 31SWDIO SWIO3.3V 3V3
- Cổng giao tiếp: USB
- Giao diện tương thích tốc độ cao USB 2.0
- Có mạch bảo vệ khi điện áp tăng, không sợ mạch lỗi mạch STLink-V2
- Điện áp sử dụng từ 1,65 đến 5,5 V được hỗ trợ trên SWIM
- Lập trình SWIM: 9,7 Kbytes/s ở tốc độ thấp và 12,8 Kbytes/s ở tốc độ cao
- Cáp SWIM để kết nối với ứng dụng thông qua đầu nối dọc tiêu chuẩn ERNI hoặc
đầu nối ngang
- Cáp SWIM kết nối với ứng dụng thông qua đầu cắm pin hoặc đầu nối 2,54mm 1.4.2 Keypad 4x4
Keypad 4x4 được thiết kế với giao diện đơn giản giúp dễ dàng giao tiếp với bất kì
vi điều khiển nào Mặt sau dính thuận tiện để gắn bàn phím trong nhiều ứng dụng dự
án Keypad 4x4 có tổng cộng 16 nút ở dạng ma trận
Trang 32a) Thông số kỹ thuật
Bảng 1-1: Thông số kỹ thuật keypad 4x4
Bàn phím mảng Ma trận 4x4 loại phím mềm
Nhiệt độ hoạt động 0 ~ 70oC
Trang 331.4.3 Module thẻ từ RFID RC522
RFID RC-522 là một module RFID được sử dụng để đọc và ghi dữ liệu từ các thẻRFID Module này được kết nối với vi điều khiển bằng giao tiếp SPI (SerialPeripheral Interface)
Hình 1-14: Nguyên lý hoạt động của keyboard
Trang 34a) Thông số kỹ thuật :
Bảng 1-2: Thông số kỹ thuật RC522
Điện áp cung cấp hoạt động 2.5 V to 3.3 V
Dòng điện tối thiểu 10µA
Chi tiết các chân của RFID-RC522:
- Chân VCC: là nguồn cấp cho module, đây là chân có điện áp 3.3V.
- Chân GND: là chân mát của module, được kết nối với đất.
- Chân RST: được sử dụng để thiết lập lại trạng thái của module, và có thể được điều
khiển bởi vi điều khiển
- Chân IRQ: được sử dụng để giám sát các sự kiện của module nhưng không bắt
buộc phải sử dụng
Hình 1-15: Module thẻ từ RC522
Trang 35- Chân MISO: là chân đầu ra của module và được sử dụng để truyền dữ liệu từ
module đến vi điều khiển
- Chân MOSI: là chân đầu vào của module và được sử dụng để truyền dữ liệu từ vi
điều khiển đến module
- Chân SCK: là chân tạo xung tín hiệu cho giao tiếp SPI
b) Nguyên lý hoạt động :
- RFID RC-522 hoạt động dựa trên nguyên lý sử dụng sóng radio tần số cao để
truyền thông tin giữa thiết bị đọc và thẻ RFID
- Khi một thẻ RFID được đưa vào vùng đọc của RC-522, một sóng tần cao được
phát ra từ anten trên RC-522 Sóng tần này sẽ tương tác với anten trên thẻ RFID,tạo ra một trường từ và kích hoạt thẻ RFID Thẻ RFID sẽ phản hồi bằng cách phát
ra một tín hiệu chứa thông tin cần thiết
Hình 1-16: Sơ đồ chân của RC522
Trang 361.4.4 LCD 16x2A
Với các ưu điểm như: Tiêu thụ dòng điện ít, khả năng hiển thị được hình ảnh, ký tựrất linh hoạt, màn hình tinh thể lỏng LCD được sử dụng hầu hết trong các thiết bị điềukhiển trong công nghiệp để hiển thị trạng thái của máy móc Do có rất nhiều chủngloại khác nhau nên màn hình LCD được sử dụng một cách rộng rãi Tất cả các LCDđược sản xuất theo tiêu chuẩn chung, tích hợp luôn cho các module điều khiển cho nênviệc sử dụng rất dễ dàng
Trang 37Bảng 1-4: Chức năng của từng chân và ghép nối chi tiết LCD
0 = Thanh ghi lệnh
1 = Thanh ghi dữ liệu
1 = Đọc từ LCD module
c) Điều khiển hoạt động của LCD
Trang 38- Tín hiệu RS là tín hiệu cho phép chọn thanh ghi (Register Select) Khi RS=0, dữ
liệu được coi như là 1 lệnh hay 1 chỉ thị đặc biệt (Như là xóa 19 màn hình, đặt vị trícon trỏ,… ) Khi RS=1, dữ liệu được coi là dạng văn bản và sẽ được hiển thị trênmàn hình
- Tín hiệu RW là tín hiệu ĐỌC/GHI, khi RW=0, thông tin trên bus dữ liệu được viết
vào LCD Khi RW=1, chương trình sẽ đọc LCD Tuy nhiên chỉ có chỉ thị “xemtrạng thái LCD” là lệnh đọc Trong chương trình, tất cả các lệnh đều là lệnh ghi, do
đó RW luôn luôn ở mức thấp
- Tín hiệu E là tín hiệu cho phép gửi dữ liệu Để gửi dữ liệu tới LCD, chương trình
phải thiết lập E=1, sau đó cài đặt các trạng thái điều khiển thích hợp lên RS, RW vàbus dữ liệu, sau đó đưa E=0 Hoạt động chuyển đổi từ 1-0 cho phép LCD nhận dữliệu hiện thời trên các đường điều khiển cũng như trên bus dữ liệu và xem đó nhưmột lệnh
- Bus dữ liệu bao gồm 04 hoặc 08 đường tùy thuộc vào chế độ hoạt động mà người
sử dụng lựa chọn Trong hệ thống này sử dụng bus dữ liệu 08 Bit
1.4.5 LM1117
Trang 39LM1117 là một dòng IC ổn áp tuyến tính sụt thấp Nó có giá trị sụt 1,2V ở dòng tải800mA Ở đây sụt thấp có nghĩa là thiết bị này có thể điều chỉnh điện áp ngay cả khiđiện áp đầu vào gần với điện áp đầu ra.
- Ground: đóng vai trò là mass
Hình 1-18: IC LM1117
Trang 401.4.6 LM7805
LM7805 là loại IC cung cấp điện áp ngõ ra với giá trị ổn định mặc dù trong lúc đóđiện áp ngõ vào IC thay đổi liên tục và thiếu sự ổn định IC 7805 chỉ là một trong rấtnhiều loại IC ổn áp khác nhưng khả năng ổn áp của nó thì không thể xem thường IC
7805 được phân loại là một loại IC điều chế điện áp DC dương vì ngõ ra của IC nàyluôn có mức điện áp dương so với mức điện áp nối mass (GND)