Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển của lĩnh vực điện tử và công nghệ thông tin, các hệ thống điều khiển tự động và mô hình nhà thông minh (Smart Home) tại Việt Nam ngày càng thu hút sự quan tâm nghiên cứu và ứng dụng thực tiễn. Trước thời điểm thực hiện đề tài, phần lớn các giải pháp điều khiển thiết bị từ xa của sinh viên thường tập trung vào việc sử dụng các dòng vi điều khiển truyền thống như PIC, ARM hoặc các máy tính đơn bo như Raspberry Pi, kết hợp với các giao thức truyền thông như sóng vô tuyến (RF), Bluetooth hoặc mạng viễn thông di động.
Tuy nhiên, các dòng vi điều khiển truyền thống có cấu trúc phần cứng cố định và xử lý tuần tự, dẫn đến hạn chế lớn về số lượng ngoại vi giao tiếp đồng thời. Điển hình, nhiều vi điều khiển họ PIC chỉ tích hợp sẵn một bộ UART phần cứng, gây khó khăn khi cần kết nối đồng thời nhiều module truyền thông. Ngược lại, vi mạch mảng cổng lập trình được (FPGA - Field Programmable Gate Array) sở hữu kiến trúc xử lý song song, cho phép cấu hình và khởi tạo linh hoạt nhiều khối UART cùng lúc để giao tiếp với nhiều thiết bị ngoại vi độc lập. Bên cạnh đó, việc điều khiển qua mạng tin nhắn SMS đảm bảo tính sẵn sàng cao tại những khu vực chưa phủ sóng Internet, trong khi kết nối Bluetooth đáp ứng tốt nhu cầu điều khiển cục bộ khoảng cách ngắn mà không cần dây dẫn. Xuất phát từ các yếu tố kỹ thuật trên, đề tài "Điều khiển thiết bị bằng FPGA và module SIM" đã được lựa chọn thực hiện.
Mục tiêu chính của đề tài là thiết kế, thi công và thử nghiệm hoàn chỉnh mô hình điều khiển các thiết bị điện gia dụng (đèn, quạt) thông qua hai kênh truyền thông: tin nhắn SMS (sử dụng module SIM900A) và kết nối Bluetooth (sử dụng module HC-05 kết hợp ứng dụng trên điện thoại Android). Tín hiệu điều khiển được thu thập và xử lý tập trung bằng chip FPGA Xilinx Spartan-3E, đồng thời hệ thống thực hiện đo đạc, đọc dữ liệu từ cảm biến nhiệt độ - độ ẩm DHT11 và hiển thị trạng thái lên màn hình LCD 20x4.
Nhiệm vụ nghiên cứu của đề tài được chia thành 9 nội dung cụ thể:
- Nghiên cứu tổng quan về FPGA, ngôn ngữ mô tả phần cứng VHDL, dịch vụ tin nhắn SMS, chuẩn không dây Bluetooth và giao tiếp UART.
- Nghiên cứu đặc tính kỹ thuật của kit thí nghiệm FPGA Xilinx-XC3S500E-PQ208, module SIM900A, module Bluetooth HC-05, LCD 20x4, Opto cách ly PC817 và cảm biến DHT11.
- Viết chương trình mô tả phần cứng cho các module chức năng bằng ngôn ngữ VHDL.
- Thiết kế và lập trình ứng dụng điều khiển qua giao tiếp Bluetooth trên nền tảng Android bằng công cụ MIT App Inventor.
- Thiết kế mô hình ngôi nhà thực nghiệm và tiến hành lắp ráp các khối mạch điều khiển vào mô hình.
- Chạy thử nghiệm toàn bộ hệ thống thực tế.
- Rà soát, hiệu chỉnh và khắc phục các lỗi điều khiển, lỗi cú pháp/thuật toán trong mã lập trình và lỗi phần cứng thiết bị.
- Biên soạn thuyết minh đồ án tốt nghiệp.
- Báo cáo đánh giá đề tài tốt nghiệp trước hội đồng chuyên môn.
Đối tượng nghiên cứu là hệ thống điều khiển phần cứng dựa trên FPGA kết hợp các module truyền thông không dây và cảm biến môi trường. Phạm vi nghiên cứu được giới hạn ở mô hình thực nghiệm điều khiển 4 thiết bị điện công suất nhỏ, sử dụng kit thí nghiệm FPGA Xilinx Spartan-3E XC3S500E đóng gói dạng PQ-208.
Cơ sở lý thuyết và phương pháp
Đề tài sử dụng hệ thống cơ sở lý thuyết chuyên ngành kỹ thuật điện tử - viễn thông và thiết kế vi mạch số, bao gồm:
- Công nghệ FPGA và ngôn ngữ VHDL: Kiến trúc mảng khối logic khả trình (Configurable Logic Blocks - CLB), bảng tra LUT (Look-Up Table), phần tử nhớ Flip-Flop, hệ thống kết nối khả trình và khối I/O Pads. Ngôn ngữ VHDL (tiêu chuẩn IEEE-1076-1987) được dùng để mô tả phần cứng theo kiến trúc luồng dữ liệu, hành vi (Behavioral) và cấu trúc (Structural) thông qua các khai báo Thực thể (Entity), Kiến trúc (Architecture) và Cấu hình (Configuration).
- Chuẩn giao tiếp nối tiếp UART: Cơ chế truyền nhận bất đồng bộ chuyển đổi dữ liệu song song sang nối tiếp và ngược lại; định dạng khung truyền gồm Start bit (mức 0), Data bits (8 bit), Parity bit và Stop bit (mức 1); tính toán định thời theo tốc độ Baud (9600 bps).
- Công nghệ mạng viễn thông GSM/SMS: Dịch vụ tin nhắn ngắn SMS dựa trên mạng GSM ở các băng tần EGSM 900 MHz và DCS 1800 MHz, cơ chế lưu trữ và chuyển tiếp qua trung tâm SMC (Stored Message Central) và thanh ghi định vị thuê bao HLR (Home Location Register).
- Chuẩn truyền thông không dây Bluetooth: Chuẩn IEEE 802.15.1, băng tần ISM 2.4 GHz, điều chế GFSK, hỗ trợ các chế độ Master/Slave và các mức tốc độ dữ liệu cơ bản.
- Lý thuyết cách ly quang và đóng cắt công suất: Nguyên lý ghép quang bằng Opto PC817 (LED phát quang kết hợp Photo-transistor) nhằm cách ly điện áp logic điều khiển với khối mạch rơ-le đóng cắt tải.
Phương pháp nghiên cứu và thiết kế thực tế bao gồm:
- Phương pháp phân tích - thiết kế hệ thống số: Xây dựng các máy trạng thái hữu hạn (FSM - Finite State Machine) và biểu đồ thuật toán trạng thái (ASM - Algorithmic State Machine) để quản lý tiến trình nhận/phát UART, xử lý chuỗi lệnh AT, đọc dữ liệu một dây (1-wire) từ DHT11 và điều khiển màn hình LCD theo đúng giản đồ thời gian (timing diagram).
- Phương pháp thiết kế phần cứng điện tử: Thiết kế sơ đồ nguyên lý, tính toán phối hợp trở kháng, phân cực transistor, vẽ và thi công mạch in (PCB) trung gian kết nối các chân I/O của kit FPGA với các module ngoại vi.
- Phương pháp phát triển ứng dụng di động: Sử dụng nền tảng MIT App Inventor để xây dựng giao diện người dùng và thuật toán gửi nhận dữ liệu nối tiếp qua Bluetooth trên hệ điều hành Android.
- Phương pháp thực nghiệm kiểm thử: Đo kiểm tín hiệu thực tế trên phần cứng, nạp cấu hình vào chip FPGA qua giao tiếp JTAG và bộ nhớ PROM bằng phần mềm Xilinx ISE iMPACT, kiểm tra khả năng đáp ứng điều khiển tải qua các kịch bản gửi lệnh SMS và thao tác nút bấm trên ứng dụng di động.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc mô-đun hóa với khối xử lý trung tâm là vi mạch FPGA Spartan-3E XC3S500E-PQ208 kết hợp các khối ngoại vi chức năng.
| Khối chức năng |
Phần cứng / Linh kiện sử dụng |
Giao tiếp / Thông số kỹ thuật chính |
| Khối xử lý trung tâm |
Chip FPGA Xilinx Spartan-3E (XC3S500E-PQ208) |
158 chân I/O, xung nhịp dao động Onboard 50 MHz (chân PIN_183), nạp JTAG/PROM |
| Khối truyền thông GSM |
Module SIM900A |
UART TTL (Baudrate 9600), điều khiển bằng tập lệnh AT, dải nguồn 4.5–5VDC (đỉnh 2A) |
| Khối truyền thông Bluetooth |
Module HC-05 |
Bluetooth v2.0+EDR, dải tần 2.4GHz, UART 9600 bps (chế độ Data Mode), mã PIN 1234 |
| Khối đo môi trường |
Cảm biến DHT11 |
Giao tiếp 1-wire, đọc giá trị nhiệt độ và độ ẩm không khí theo chu kỳ định thời |
| Khối hiển thị |
Màn hình ký tự LCD 20x4 |
Giao tiếp dữ liệu 8-bit (LCD_D0..D7: P49, P40, P62, P64, P48, P50, P98, P63), tín hiệu điều khiển E (P65), RS (P94), WR (P68) |
| Khối công suất & cách ly |
Opto PC817 + Relay 4 kênh |
Cách ly quang bảo vệ FPGA, kích hoạt đóng/ngắt rơ-le điều khiển 4 thiết bị điện |
Kiến trúc chương trình VHDL trên FPGA
Hệ thống logic nhúng bên trong FPGA được phân chia thành các khối chức năng độc lập:
- Khối tạo tốc độ Baud (Baud Rate Generator): Chia tần số xung clock 50 MHz của hệ thống để tạo xung nhịp lấy mẫu chuẩn 9600 Hz cho các khối truyền nhận nối tiếp.
- Khối nhận UART (UART_RX): Sử dụng máy trạng thái FSM để phát hiện Start bit, lấy mẫu 8 bit dữ liệu tại trung tâm chu kỳ bit và kiểm tra Stop bit. Dữ liệu sau khi giải mã được đưa vào thanh ghi đệm.
- Khối phát UART (UART_TX): Nhận dữ liệu song song từ bộ xử lý nội, đóng khung dữ liệu (thêm Start bit '0' và Stop bit '1') rồi truyền nối tiếp ra chân TXD tới module SIM hoặc Bluetooth.
- Khối xử lý tập lệnh AT và dữ liệu nhận: Tự động phân tích các chuỗi ký tự nhận về từ SIM900A (như thông báo
+CMTI, trích xuất chuỗi nội dung tin nhắn dạng Text qua lệnh AT+CMGR) hoặc các byte lệnh gửi từ ứng dụng Android, từ đó giải mã và kích hoạt tín hiệu điều khiển relay tương ứng.
- Khối điều khiển cảm biến DHT11: Thiết kế theo lưu đồ thuật toán ASM gồm 4 trạng thái tuần tự: Tạo xung khởi động (Reset & Present), Chờ phản hồi từ cảm biến, Đọc chuỗi 40 bit dữ liệu (Get_Humi_Temp qua trạng thái Read_bit) và Trạng thái chờ chu kỳ đọc tiếp theo (Wait_ms).
- Khối điều khiển LCD 20x4: Điều khiển trình tự khởi tạo màn hình, ghi lệnh thiết lập địa chỉ con trỏ và xuất chuỗi ký tự hiển thị 80 vị trí (4 hàng x 20 cột) biểu diễn giá trị nhiệt độ, độ ẩm và trạng thái bật/tắt của 4 thiết bị.
Xây dựng ứng dụng Android
Ứng dụng di động được xây dựng trên môi trường MIT App Inventor, bao gồm:
- Giao diện dò tìm và kết nối với địa chỉ MAC của module Bluetooth HC-05 (Client mode).
- Các nút bấm điều khiển Bật/Tắt (ON/OFF) trực quan cho 4 thiết bị tải độc lập.
- Khối xử lý gửi các ký tự mã hóa tương ứng qua kết nối Bluetooth nối tiếp khi người dùng thao tác trên màn hình.
Nội dung chính theo từng chương
Chương 1: Tổng Quan
Chương này đặt vấn đề và nêu bật tính cấp thiết của việc phát triển hệ thống điều khiển tự động cho nhà ở trong bối cảnh công nghệ thông tin và điện tử phát triển mạnh. Tác giả chỉ ra các hạn chế về tài nguyên xử lý của các vi điều khiển truyền thống (PIC, vi điều khiển 8-bit) khi cần mở rộng nhiều cổng UART. Từ đó, chương xác định mục tiêu thiết kế hệ thống điều khiển bằng FPGA kết hợp module SIM và Bluetooth, liệt kê chi tiết 9 nội dung nghiên cứu, giới hạn phạm vi mô hình gồm 4 thiết bị và bố cục tổng thể gồm 6 chương của đồ án.
Chương 2: Cơ Sở Lý Thuyết
Chương 2 trình bày có hệ thống các lý thuyết nền tảng và thông số kỹ thuật của toàn bộ phần cứng, công nghệ được tích hợp trong đề tài:
- Tin nhắn SMS: Khái niệm, cấu trúc gói tin (tối đa 140 byte, chứa 160 ký tự 7-bit hoặc 70 ký tự Unicode 16-bit), vai trò của trung tâm nhắn tin SMC và thanh ghi vị trí thuê bao HLR.
- Công nghệ Bluetooth: Lịch sử phát triển từ phiên bản 1.0 đến 5.0 (tốc độ, công suất, khoảng cách kết nối), phân tích ưu điểm (không cần dây, tiết kiệm năng lượng, bảo mật mã hóa) và nhược điểm (bắt sóng kém khi có vật cản, tốc độ giới hạn 720 kbps ở chuẩn cơ bản).
- Công nghệ FPGA và so sánh: Lịch sử ra đời từ năm 1984 bởi Ross Freeman (Xilinx); cấu trúc gồm khối logic lập trình (CLB/LUT), phần tử nhớ Flip-Flop, mạng liên kết và khối I/O. So sánh chi tiết FPGA với CPLD (FPGA dùng SRAM, cấu trúc LUT, phù hợp ứng dụng quy mô vừa và lớn; CPLD dùng EEPROM, cấu trúc mảng AND-OR) và so sánh với SoC, ASIC.
- Ngôn ngữ VHDL: Lịch sử, tiêu chuẩn IEEE-1076-1987, đặc tính xử lý song song, tính độc lập công nghệ chế tạo (CMOS, GaAs), cấu trúc 3 phần (Entity, Architecture, Configuration) và quy trình tổng hợp mạch (Synthesis -> Place & Route).
- Chuẩn giao tiếp UART: Định dạng khung truyền (Start, Data 8-bit truyền LSB trước, Parity, Stop), ví dụ chi tiết quá trình truyền ký tự 'A' (mã ASCII 0x41) ở tốc độ 9600 bps.
- Khảo sát phần cứng chi tiết: Thông số module SIM900A và bảng tập lệnh AT cơ bản (
AT, ATE[x], AT+IPR, AT&W, ATD, ATH, ATA, AT+CLIP=1, AT+CMGF=1, AT+CMGS, AT+CMGR, AT+CMGDA="DEL ALL", AT+CNMI=2,2); module Bluetooth HC-05; kit thí nghiệm Spartan-3E XC3S500E-PQ208 kèm sơ đồ nối chân của 8 switch gạt, 5 nút nhấn, 8 LED đơn, 8 LED 7 đoạn Anode chung (kèm bảng mã quét số Hex từ 0 đến F), LED ma trận 8x8, cổng RS232 (MAX232), cổng PS/2, cổng VGA, Opto PC817 và màn hình LCD 20x4.
Chương 3: Tính Toán và Thiết Kế
Chương 3 đi sâu vào việc xây dựng cấu trúc hệ thống:
- Thiết lập sơ đồ khối toàn mạch gồm: Khối nguồn, Khối xử lý trung tâm FPGA, Khối SIM900A, Khối Bluetooth HC-05, Khối cảm biến DHT11, Khối hiển thị LCD 20x4, Khối cách ly Opto PC817 và Khối Relay điều khiển 4 thiết bị.
- Tính toán, thiết kế mạch nguyên lý chi tiết cho từng khối; thiết lập sơ đồ kết nối chân giữa FPGA và các module mở rộng bên ngoài.
- Thiết kế kiến trúc giải thuật: Xây dựng sơ đồ khối chi tiết các mô-đun chương trình VHDL, máy trạng thái FSM cho khối nhận dữ liệu
UART_RX, khối phát UART_TX, lưu đồ thuật toán ASM cho tiến trình đọc cảm biến DHT11 (trạng thái Reset, phát hiện hiện diện, đọc bit dữ liệu, trễ định thời) và máy trạng thái FSM điều khiển ghi dữ liệu 80 ký tự lên màn hình LCD 20x4.
Chương 4: Thi Công Hệ Thống
Chương này phản ánh toàn bộ quá trình hiện thực hóa mô hình phần cứng và phần mềm:
- Thi công phần cứng: Thiết kế và gia công mạch in (PCB) trung gian mở rộng chân từ kit FPGA đến các ngoại vi; lắp ráp bảng mạch, khối relay, nguồn và các thiết bị tải vào mô hình ngôi nhà thực nghiệm hoàn chỉnh.
- Triển khai phần mềm trên FPGA: Sử dụng phần mềm Xilinx ISE Design Suite để tạo Project, viết mã VHDL cho các module, thiết lập khai báo chân ngõ vào/ra (I/O Pin Assignment) tương ứng với phần cứng của kit XC3S500E-PQ208, tiến hành tổng hợp chương trình (Synthesize - XST), tạo file cấu hình
.bit và nạp vào chip FPGA hoặc chip PROM thông qua công cụ ISE iMPACT bằng cáp JTAG.
- Lập trình ứng dụng Android: Sử dụng môi trường kéo thả khối lệnh MIT App Inventor để thiết kế giao diện đồ họa, thiết lập các khối lệnh logic xử lý sự kiện nút bấm, kết nối Bluetooth Client và xuất chuỗi điều khiển ra cổng nối tiếp.
Chương 5: Kết Quả, Nhận Xét, Đánh Giá
Trình bày các kết quả thực nghiệm thu được sau khi triển khai hệ thống:
- Giao diện và hoạt động SMS: Module SIM900A nhận tin nhắn văn bản điều khiển chính xác theo đúng cú pháp đã lập trình, tự động trích xuất nội dung tin nhắn và chuyển đổi thành trạng thái đóng ngắt rơ-le.
- Giao diện App Android: Ứng dụng di động kết nối thành công với module Bluetooth HC-05, gửi nhận dữ liệu ổn định, trạng thái các nút bấm Bật/Tắt trên giao diện tương ứng với trạng thái thực tế của các thiết bị trong mô hình.
- Vận hành hệ thống thực tế: Hệ thống trung tâm FPGA xử lý đồng thời tín hiệu từ hai nguồn điều khiển (SMS và Bluetooth), điều khiển độc lập 4 thiết bị tải; cảm biến DHT11 thu thập chính xác thông số nhiệt độ, độ ẩm môi trường và hiển thị liên tục lên 4 dòng của màn hình LCD 20x4.
- Tác giả đưa ra các nhận xét, đánh giá về độ ổn định, độ trễ phản hồi của hệ thống phần cứng và chương trình VHDL đã thực hiện.
Chương 6: Kết Luận và Hướng Phát Triển
Tổng kết toàn bộ quá trình thực hiện đề tài tốt nghiệp, đối chiếu các kết quả thực tế đạt được so với mục tiêu đặt ra ban đầu và đề xuất các giải pháp nâng cấp, mở rộng hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Thiết kế và thi công thành công hệ thống phần cứng hoàn chỉnh sử dụng chip FPGA Xilinx Spartan-3E XC3S500E-PQ208 làm bộ xử lý trung tâm, kết nối đồng bộ với module SIM900A, module Bluetooth HC-05, cảm biến DHT11, màn hình LCD 20x4 và mạch điều khiển 4 kênh relay có cách ly quang PC817.
- Xây dựng hoàn chỉnh bộ mã nguồn VHDL thực thi đồng thời các khối chức năng trên FPGA:
- Bộ tạo tốc độ baud chuẩn 9600 bps từ dao động thạch anh 50 MHz.
- Các bộ thu/phát UART bất đồng bộ điều khiển bằng máy trạng thái FSM.
- Khối giao tiếp và giải mã chuỗi lệnh AT từ modem GSM.
- Khối đọc giao thức 1 dây của cảm biến DHT11 theo lưu đồ ASM.
- Khối giao tiếp song song 8-bit điều khiển hiển thị 80 ký tự trên LCD 20x4.
- Thiết kế và biên dịch thành công ứng dụng điều khiển trên hệ điều hành Android bằng MIT App Inventor, giao tiếp ổn định qua Bluetooth.
- Lắp đặt và vận hành ổn định toàn bộ hệ thống trên mô hình ngôi nhà thực nghiệm, đáp ứng đúng yêu cầu điều khiển 4 thiết bị tải và giám sát nhiệt độ, độ ẩm môi trường.
Giải pháp kỹ thuật tác giả đề xuất
- Ứng dụng tính năng xử lý song song phần cứng của FPGA để khắc phục nhược điểm hạn chế cổng truyền thông nối tiếp trên các vi điều khiển phổ thông.
- Kết hợp song song hai giải pháp truyền thông không dây (SMS tầm xa qua mạng GSM và Bluetooth tầm ngắn qua ứng dụng di động) nhằm tăng cường tính linh hoạt và tính sẵn sàng của hệ thống trong mọi điều kiện hạ tầng mạng.
- Sử dụng Opto PC817 tạo vùng cách ly quang an toàn tuyệt đối giữa khối mạch số FPGA (điện áp 3.3V) và khối mạch động lực đóng cắt rơ-le (điện áp cao hơn).
Đóng góp so với các nghiên cứu trước
Đề tài đã chuyển dịch thành công giải pháp thiết kế hệ thống điều khiển thiết bị nhà thông minh từ nền tảng vi điều khiển truyền thống (như PIC, vi điều khiển họ 8051) sang nền tảng vi mạch khả trình FPGA. Việc này chứng minh khả năng ứng dụng thực tế của FPGA trong các bài toán giao tiếp truyền thông nối tiếp đa kênh, mở ra hướng thiết kế hệ thống nhúng có khả năng tùy biến và mở rộng phần cứng linh hoạt.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
- Hệ thống mới dừng lại ở quy mô mô hình thử nghiệm trong phòng thí nghiệm, số lượng thiết bị điều khiển giới hạn ở 4 tải công suất nhỏ.
- Chưa tích hợp khả năng kết nối mạng Internet (qua Wi-Fi hoặc Ethernet/IoT) để giám sát và điều khiển qua giao diện Web hoặc ứng dụng đám mây (Cloud).
- Việc xử lý giao thức tin nhắn SMS mới chỉ áp dụng cho các cú pháp lệnh cố định, chưa có cơ chế bảo mật nâng cao nhiều lớp khi giao tiếp qua mạng GSM.
Hướng nghiên cứu và phát triển tiếp theo
- Mở rộng số lượng cổng điều khiển thiết bị tải và nâng cao công suất đóng cắt để ứng dụng trực tiếp cho hệ thống điện gia dụng thực tế.
- Tích hợp thêm các module truyền thông hiện đại như Wi-Fi (ESP8266/ESP32) hoặc Ethernet nhằm kết nối hệ thống với mạng Internet và các nền tảng máy chủ IoT.
- Bổ sung thêm các loại cảm biến an ninh, an toàn môi trường (cảm biến khí gas, cảm biến báo cháy, cảm biến chuyển động PIR).
- Tối ưu hóa tài nguyên logic trên chip FPGA và phát triển giao diện điều khiển đa nền tảng (iOS, Web Server).
Giá trị tham khảo
Tài liệu đồ án này mang lại giá trị tham khảo kỹ thuật hữu ích cho:
- Sinh viên và học viên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, Kỹ thuật Máy tính, Điện tử Công nghiệp - Y sinh: Cung cấp tài liệu tham khảo thực tế về quy trình thiết kế hệ thống nhúng trên FPGA sử dụng ngôn ngữ VHDL.
- Người nghiên cứu thiết kế vi mạch và FPGA: Tham khảo trực tiếp cấu trúc thiết kế các khối máy trạng thái FSM/ASM cho bộ truyền nhận UART, thuật toán đọc cảm biến chuẩn 1-wire (DHT11), khối khởi tạo/điều khiển màn hình LCD ký tự và kỹ thuật phân chia xung nhịp (Baud rate generator) từ nguồn clock 50 MHz.
- Người thực hiện các đề tài Smart Home và nhúng: Tham khảo sơ đồ phối ghép phần cứng cách ly quang (PC817), tập lệnh AT điều khiển modem GSM SIM900A, kết nối module Bluetooth HC-05 và cách xây dựng ứng dụng Android nhanh bằng MIT App Inventor.
Câu hỏi thường gặp
1. Tại sao nhóm tác giả lại lựa chọn FPGA thay vì các vi điều khiển phổ biến như PIC hay Raspberry Pi để điều khiển hệ thống?
Theo tác giả trình bày, các vi điều khiển truyền thống như PIC thường bị giới hạn về số lượng cổng giao tiếp UART phần cứng (thường chỉ có 1 cổng) và xử lý theo cơ chế tuần tự. Trong khi đó, FPGA có kiến trúc phần cứng khả trình và khả năng xử lý song song, cho phép cấu hình và khởi tạo nhiều cổng UART độc lập cùng lúc để truyền nhận đồng thời với nhiều module ngoại vi (SIM900A, HC-05) mà không bị nghẽn hay trễ truyền thông.
2. Kit FPGA được sử dụng trong đồ án là loại nào và có những thông số phần cứng cơ bản nào?
Đề tài sử dụng bộ kit thí nghiệm FPGA Xilinx Spartan-3E XC3S500E đóng gói dạng chân PQ-208. Kit có các thông số chính: hỗ trợ tối đa 158 chân I/O, nguồn cấp 5VDC, điện áp nguồn ra 3.3V, xung nhịp dao động thạch anh Onboard 50 MHz kết nối tại chân PIN_183, hỗ trợ giao thức nạp chuẩn JTAG và tích hợp sẵn nhiều ngoại vi thí nghiệm (Switch, Button, LED đơn, LED 7 đoạn, LED ma trận 8x8, cổng RS232, PS/2, VGA).
3. Module SIM900A hoạt động ở băng tần nào và được điều khiển bằng các lệnh AT cơ bản nào?
Module SIM900A hoạt động trên mạng không dây GSM/GPRS ở hai băng tần GSM EGSM 900 MHz và DCS 1800 MHz. Module giao tiếp với FPGA qua giao diện UART TTL ở tốc độ Baud 9600 bps và được điều khiển bằng các lệnh AT cơ bản như: AT (kiểm tra đáp ứng), ATE[x] (bật/tắt chế độ phản hồi echo), AT+IPR (cài đặt tốc độ baud), AT+CMGF=1 (chọn chế độ tin nhắn văn bản dạng Text), AT+CMGS (gửi tin nhắn), AT+CMGR (đọc tin nhắn), AT+CMGDA="DEL ALL" (xóa toàn bộ tin nhắn) và AT+CNMI=2,2 (hiển thị trực tiếp nội dung tin nhắn đến).
4. Khối đọc cảm biến DHT11 được thiết kế bằng thuật toán nào trong chương trình VHDL?
Khối đọc cảm biến nhiệt độ - độ ẩm DHT11 được thiết kế bằng sơ đồ máy trạng thái hữu hạn kết hợp lưu đồ thuật toán trạng thái ASM (Algorithmic State Machine). Tiến trình gồm 4 trạng thái tuần tự: trạng thái Reset và kiểm tra sự hiện diện của cảm biến, trạng thái Get_Humi_Temp để bắt đầu nhận luồng dữ liệu, trạng thái Read_bit để giải mã các bit 0/1 dựa trên độ rộng xung thời gian của tín hiệu 1-wire, và trạng thái Wait_ms để tạo khoảng trễ định thời trước khi bắt đầu chu kỳ đọc mới.
5. Ứng dụng điều khiển trên điện thoại thông minh được xây dựng trên nền tảng nào và giao tiếp với hệ thống qua đâu?
Ứng dụng điều khiển được phát triển cho hệ điều hành Android bằng môi trường lập trình trực quan MIT App Inventor. Ứng dụng thiết lập kết nối không dây với module Bluetooth HC-05 (ở chế độ Slave, tốc độ 9600 bps, mã bảo mật mặc định 1234) gắn trên mạch điều khiển trung tâm để gửi các mã lệnh Bật/Tắt thiết bị tải khi người dùng nhấn nút trên màn hình điện thoại.
Kết luận
Đồ án tốt nghiệp "Điều khiển thiết bị bằng FPGA và module SIM" đã nghiên cứu, thiết kế và chế tạo thành công mô hình điều khiển thiết bị điện gia dụng kết hợp giám sát môi trường dựa trên chip xử lý khả trình Xilinx Spartan-3E XC3S500E. Hệ thống tích hợp đồng bộ hai phương thức truyền thông không dây gồm tin nhắn SMS qua mạng viễn thông GSM (module SIM900A) và kết nối Bluetooth tầm ngắn qua ứng dụng di động Android (module HC-05), đồng thời đo đạc và hiển thị trực quan thông số nhiệt độ, độ ẩm từ cảm biến DHT11 lên màn hình LCD 20x4. Kết quả thực nghiệm đã khẳng định tính khả thi của giải pháp sử dụng FPGA trong các hệ thống tự động hóa điều khiển đa kênh truyền thông song song, tạo tiền đề vững chắc cho việc tiếp tục mở rộng phát triển thành các sản phẩm nhà thông minh thương mại hoàn chỉnh.