Đặt vấn đề, mục tiêu đề tài, giới hạn đề tài, đối tượng và phạm vi nghiên cứu. Chương 2 CƠ SỞ LÝ THUYẾT: Giới thiệu công nghệ RFID, các chuẩn giao tiếp liên quan, Firebase, môi trường lập trình Android Studio, Visual Studio Code. 2 Chương 3 TÍNH TOÁN VÀ THIẾT KẾ: Dựa vào cơ sở lý thuyết, nhóm thực hiện sẽ thực hiện phân tích, tính toán những yêu cầu để thiết kế phần cứng và phần mềm. Chương 4: KẾT QUẢ VÀ ĐÁNH GIÁ: Thể hiện kết quả của hệ thống, hình ảnh mô hình.
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Đưa ra những kết luận về đề tài, hướng phát triển của đề tài ở tương lai. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 CÔNG NGHỆ RFID 2.1 Giới thiệu Công nghệ RFID viết tắt là Radio Frequency Identification là một công nghệ có khả năng nhận diện được đối tượng bằng sóng vô tuyến. Nó có thể thu thập, đánh dấu và nhận dạng các đối tượng thông qua sóng vô tuyến. Một hệ thống RFID sẽ gồm hai phần chính là thẻ và đầu đọc.
Trong đó, thẻ chứa một mạch tích hợp hay còn gọi là chip RFID cùng với ăng-ten. Đầu đọc sẽ giao tiếp với thẻ bằng sóng vô tuyến.2 Các dải tần RFID Hiện tại, thế giới phân công nghệ RFID theo ba nhóm tần số: tần số thấp (LF), cao (HF), siêu cao tần (UHF).1 Phân loại RFID Dải tần Khoảng cách Tốc độ LF 30 KHz – 300 KHz Từ dưới 10cm Chậm HF 3 MHz – 30 MHz Khoảng từ 10cm đến 1m Trung bình UHF 300 MHz – 3 GHz Lên đến 12m Nhanh 2.3 Nguyên lý hoạt động Đầu đọc sẽ phát ra sóng điện từ với một tần số nhất định. Khi đó, nếu thẻ nằm trong vùng hoạt động sẽ tiếp nhận sóng đó. Sau đó, thẻ sẽ phát ra một tín hiệu riêng biệt.
Đầu đọc sẽ có một IC tiếp nhận và giải mã tín hiệu đó và xác định được mã đó là của thẻ nào.1 Cấu tạo bên trong của thẻ RFID Hình 2.2 Nguyên lý hoạt động của hệ thống RFID 2.4 Ứng dụng Ngày nay ● Quản lý bãi giữ xe.5 Lợi ích và hạn chế [1] Bảng 2.2 Lợi ích và hạn chế của hệ thống RFID Lợi ích Hạn chế Thu thập dữ liệu một cách nhanh chóng. Chi phí cao. 5 Lượng thông tin xử lý trong mỗi lần lớn. Dễ bị nhiễu sóng khi gặp kim loại Có thể đọc xuyên vật cản.
và các tín hiệu điện từ khác. Thẻ bền, đa dạng, dùng được nhiều lần.2 CHUẨN GIAO TIẾP SPI 2.1 Giới thiệu Chuẩn SPI (Serial Peripheral Interface) là chuẩn truyền thông nối tiếp tốc độ cao được hãng Motorola phát triển. Đây là một chuẩn truyền song công (full duplex) nên quá trình truyền và nhận có thể được diễn ra cùng lúc. Chuẩn này truyền dữ liệu theo kiểu “Chủ - tớ” hay còn gọi là Master - Slave.
Trong đó, một thiết bị sẽ đóng vai trò là chủ quản lý và điều phối quá trình truyền nhận thông tin, một hoặc nhiều thiết bị khác sẽ đóng vai trò là tớ chịu sự điều khiển của thiết bị chủ. Việc truyền nhận thông tin trong chuẩn SPI sẽ thông qua 4 đường nên còn gọi là chuẩn truyền “4 dây” hay “4 - wire”. Bốn dây đó sẽ là: Hình 2.3 Chuẩn giao tiếp SPI ● SCK (Serial Clock): Đây là xung giữ nhịp trong quá trình truyền được tạo ra bởi thiết bị chủ. Mỗi nhịp trên SCK sẽ báo hiệu 1 bit dữ liệu truyền đến hoặc gửi đi.
Nhờ có xung giữ nhịp SCK mà quá trình truyền nhận ít bị lỗi và có thể đạt được tốc độ cao. ● MISO (Master Input Slave Output): Trên đường truyền này, tín hiệu sẽ được thiết bị Slave tạo ra và truyền đi, thiết bị Master sẽ tiếp nhận tín hiệu vào. ● MOSI (Master Output Slave Input): Ngược lại với MISO, trên đường truyền MOSI, tín hiệu sẽ được tạo ra và truyền đi bởi thiết bị Master, thiết bị Slave sẽ tiếp nhận tín hiệu. Thiết bị Master sẽ thông qua chân này mà quyết định việc có truyền nhận dữ liệu với Slave đó không.
Khi muốn chọn Slave nào để giao tiếp, Master sẽ cho đường SS tương ứng với Slave đó tích cực mức thấp việc này sẽ tùy thuộc vào người dùng.4 Sơ đồ truyền nhận 1-1 giữa Master và Slave Hình 2.5 Sơ đồ truyền nhận một Master và nhiều Slave 2.2 Nguyên lý hoạt động Mỗi Master và Slave đều sẽ có một thanh ghi dịch 8 bits. Khi Master muốn giao tiếp thông tin với thiết bị Slave nào thì chỉ việc kéo chân SS tương ứng với Slave đó xuống mức thấp. Sau khi xác nhận truyền nhận, cứ mỗi xung clock thì Master sẽ gửi 1 bit từ thanh ghi dịch của nó đến thanh ghi dịch của Slave theo đường truyền MOSI. Cùng lúc đó, Slave cũng gửi 1 bit từ thanh ghi dịch của nó tới thanh ghi dịch của Master qua đường truyền MISO.
Quá trình này, diễn ra cùng lúc nên ta gọi là truyền song công. Sau 8 chu kỳ xung clock, quá trình truyền nhận 1 byte dữ liệu hoàn tất.6 Cơ chế truyền dữ liệu giữa Master và Slave [3] 2.3 CHUẨN GIAO TIẾP UART 2.1 Giới thiệu UART (Universal Asynchronous Receiver-Transmitter) là bộ truyền nhận nối tiếp không đồng bộ có nghĩa là không có tín hiệu clock để đồng bộ hóa các bit truyền đi và nhận vào. Để UART trở thành một giao thức thì phải có hai bộ UART kết nối với nhau. Cả hai bên phải có những quy ước với nhau về tốc độ, số bit sẽ truyền nhận trước.
Hai thiết bị UART sẽ được kết nối với nhau qua 3 đường: TX, RX, GND (GROUND). Chân TX của thiết bị này sẽ kết nối với chân RX của thiết bị còn lại và một điều bắt buộc là chân GND của 2 thiết bị UART phải nối với nhau vì các tín hiệu sẽ truyền theo mức điện áp nên phải nối GND để có thể so sánh mức điện áp.3 Kết nối 2 bộ UART UART 1 UART 2 TX RX RX TX GND GND 2.2 Truyền dữ liệu Đầu tiên, bộ UART sẽ nhận dữ liệu có thể từ một vi điều khiển thông qua Bus dữ liệu (Data Bus) ở dạng song song. Sau đó, bộ UART sẽ đóng khung dữ liệu và truyền đi thông qua chân TX.7 Khung dữ liệu truyền ● IDLE: Trạng thái nghỉ khi không có sự truyền nhận trên RX hay TX. Ở trạng thái này, tín hiệu luôn luôn ở mức cao.
● St: Bit bắt đầu (Start bit) luôn luôn ở mức thấp. Khi bên truyền muốn báo hiệu cho bên nhận là chuẩn bị truyền dữ liệu, nó sẽ chuyển đổi từ trạng thái nghỉ sang truyền bằng cách kéo tín hiệu xuống mức thấp. ● 0-8: Các bit dữ liệu muốn truyền. Sau khi kéo tín hiệu xuống mức thấp để báo hiệu truyền dữ liệu, UART sẽ bắt đầu truyền từng bit dữ liệu và nó sẽ truyền từ bit có trọng số thấp (ở đây là bit thứ 0).
Một khung dữ liệu truyền sẽ có 5 đến 9 bits nhưng thông thường chỉ sử dụng từ 5-8 bits. ● P: Bit kiểm tra Parity có thể chẵn hoặc lẻ và cũng có thể không cần. Mục đích của bit Parity này là để kiểm tra dữ liệu truyền đi có lỗi hay không bằng cách kiểm tra số lượng bit 1 trong dữ liệu truyền đi tính cả bit Parity. Có 2 loại bit Parity: ○ Bit Parity kiểm tra chẵn: Là bit Parity mà khi thêm vào tổng số bit 1 trở thành số chẵn.
○ Bit Parity kiểm tra lẻ: Là bit Parity mà khi thêm vào tổng số bit 1 trở thành số lẻ. Ví dụ: Ta có dữ liệu truyền đi là 10001011P. Ở đây, dữ liệu truyền đi có 8 bit trong đó có 4 bit 1. Khi P = 0, số bit 1 sẽ là 4 ⇒ P là bit parity chẵn.
Khi P = 1, số bit 1 sẽ là 5 ⇒ P là bit parity lẻ. ● Sp: Stop bit (bit kết thúc) bắt buộc tối thiểu phải có 1 bit Stop. Bit này luôn ở mức cao. Nó báo hiệu việc truyền dữ liệu đã kết thúc.
Sau đó, nếu UART muốn tiếp tục truyền thì kéo tín hiệu xuống mức thấp để bắt đầu quá trình truyền mới hoặc có thể giữ ở mức cao để về trạng thái nghỉ.2 Nhận dữ liệu 9 Hình 2.8 UART nhận dữ liệu Khi bên nhận phát hiện tín hiệu để báo hiệu báo hiệu chuẩn bị nhận dữ liệu, nó sẽ chờ nửa chu kỳ bit. Tính từ thời điểm nửa chu kỳ bit đó, cứ mỗi 1 chu kỳ bit, bên nhận sẽ đọc dữ liệu của bit. Thời điểm đọc dữ liệu bit là giữa chu kỳ của bit vì lúc đó là lúc dữ liệu ổn định nhất nên việc đọc sẽ chính xác hơn. Bên nhận cứ đọc như thế cho tới khi phát hiện trạng thái dừng.
Sau khi hoàn tất việc nhận dữ liệu bên nhận sẽ loại bỏ bit Start, Stop, Parity. Sau đó, nó sẽ chuyển dữ liệu về dạng song song và truyền lại cho Bus dữ liệu.9 Truyền nhận dữ liệu UART [4] 2.4 CHUẨN GIAO TIẾP I2C 2.1 Giới thiệu I2C viết tắt của Inter - Integrated Circuit là một chuẩn giao tiếp nối tiếp đồng bộ bằng xung clock. Chuẩn này được dùng để truyền nhận dữ liệu giữa các IC mà chỉ cần 2 dây tín hiệu nên nó còn được gọi là giao thức 2 dây (2-wire). I2C dùng 2 dây để truyền dữ liệu là: ● SCL (Serial Clock Line): Dây này sẽ dùng để phát xung clock.
● SDA (Serial Data Line): Đây là dây sẽ truyền dữ liệu. 10 Trong chuẩn này, việc giao tiếp cũng sẽ được thực hiện theo kiểu chủ - tớ (Master - Slave) nhưng khác với chuẩn SPI là sẽ có thể có một hoặc nhiều thiết bị chủ trong quá trình giao tiếp. Khi lập thành giao thức I2C thì bất kể là thiết bị chủ hay tớ thì các chân SCL sẽ nối chung với nhau, các chân SDA cũng vậy. Tuy vậy, những con Slave không thể giao tiếp trực tiếp với nhau được mà chúng chỉ ở đó đợi lệnh từ Master, lệnh đó có thể là truyền hoặc nhận dữ liệu.
Bên cạnh đó, mỗi đường dây sẽ có nối với một điện trở kéo lên để giữ mặc định các đường dây ở mức cao tránh trường hợp đường dây vừa bị một thiết bị kéo xuống thấp vừa bị một thiết bị khác kéo lên cao (ngắn mạch).10 Chuẩn giao tiếp I2C có 1 thiết bị chủ Hình 2.11 Chuẩn giao tiếp I2C có nhiều hơn 1 thiết bị chủ 11 2.2 Khung truyền I2C Hình 2.12 Khung truyền I2C ● Bắt đầu: Dấu hiệu cho biết bắt đầu truyền dữ liệu. ● Bit địa chỉ: Sẽ có từ 7-10 bit nhưng thông thường chỉ có 7 bit. Những bit địa chỉ này sẽ được gắn cho thiết bị để phân biệt các thiết bị với nhau và những địa chỉ này sẽ là cố định. ● Bit Read/Write: Quyết định xem là Master muốn truyền hay nhận dữ liệu.