1. Giới thiệu về AT45DB021B
AT45DB021B là một IC bộ nhớ Flash nối tiếp (Serial DataFlash) có dung lượng 2 Mbit (≈ 256 KB) do Atmel (nay là Microchip) sản xuất.
Thiết bị sử dụng giao tiếp SPI 4 dây (Serial Peripheral Interface), cho phép lưu trữ và truy xuất dữ liệu với tốc độ cao, tiêu thụ công suất thấp, phù hợp cho các ứng dụng cần bộ nhớ lưu trữ dữ liệu ngoài vi điều khiển.
IC được thiết kế để hoạt động với nguồn 2.7V đến 3.6V, có khả năng đọc/ghi theo trang (Page) và sử dụng hai bộ đệm SRAM (Buffer 1, Buffer 2) để tăng tốc quá trình ghi/xóa mà không ảnh hưởng đến việc đọc dữ liệu.
2. Cấu tạo bên trong của AT45DB021B
Bên trong IC bao gồm các khối chức năng chính sau:
-
Bộ nhớ chính (Main Memory Array):
-
Dung lượng 2,162,688 bit, được tổ chức thành 1024 trang (pages), mỗi trang có 264 byte.
-
-
Hai bộ đệm (Buffer 1 và Buffer 2):
-
Mỗi buffer có dung lượng 264 byte.
-
Dùng để trung gian dữ liệu khi ghi hoặc xóa trang, giúp ghi nhanh hơn.
-
-
Mạch điều khiển ghi/xóa (Internal Programming and Erase Logic):
-
Quản lý thao tác ghi, xóa, đọc, kiểm tra trạng thái bận/rảnh.
-
-
Thanh ghi trạng thái (Status Register):
-
Dùng để xác định trạng thái bận/rảnh, chế độ bảo vệ, và thông tin cấu hình.
-
-
Giao tiếp SPI (Serial Interface):
-
Bao gồm các chân: SI (MOSI), SO (MISO), SCK (Clock), và CS (Chip Select).
-
-
Các mạch phụ trợ:
-
Mạch quản lý nguồn, mạch reset nội, mạch bảo vệ ghi (Write Protect).
-
3. Thông số kỹ thuật của AT45DB021B
Thông số | Giá trị / Mô tả |
---|---|
Dung lượng tổng | 2 Mbit (≈ 256 KB) |
Tổ chức bộ nhớ | 1024 trang × 264 byte/trang |
Điện áp hoạt động (VCC) | 2.7V – 3.6V |
Giao tiếp | SPI (SI, SO, SCK, CS) |
Tốc độ xung nhịp tối đa (SCK) | 20 MHz |
Dòng tiêu thụ khi hoạt động | ≈ 4 mA tại 15 MHz |
Dòng chờ (Standby) | ≈ 2 µA |
Thời gian lập trình (Page Program) | Khoảng 14 ms |
Thời gian xóa trang (Page Erase) | Khoảng 8 ms |
Chân bảo vệ ghi (WP) | Active Low, bảo vệ 256 trang đầu |
Chân Reset (RESET) | Active Low, dùng để khởi động lại mạch điều khiển nội |
Nhiệt độ hoạt động | -40°C → +85°C |
Kiểu vỏ (Package) | SOP-8 (AT45DB021B-SU) |
4. Kiểu chân và chức năng của AT45DB021B-SU (SOP-8)
Số chân | Ký hiệu | Tên chân | Chức năng |
---|---|---|---|
1 | SI | Serial Input | Dữ liệu / lệnh được đưa vào từ MCU (MOSI). |
2 | SCK | Serial Clock | Tín hiệu xung đồng hồ điều khiển truyền nhận dữ liệu. |
3 | RESET | Reset (Active Low) | Đặt lại bộ điều khiển nội, khi ở mức thấp IC sẽ reset. |
4 | CS | Chip Select (Active Low) | Kích hoạt thiết bị. Khi CS = LOW, IC được chọn để giao tiếp SPI. |
5 | SO | Serial Output | Dữ liệu gửi ra về MCU (MISO). Ở trạng thái High-Z khi CS = HIGH. |
6 | GND | Ground | Nối đất nguồn. |
7 | VCC | Power Supply | Điện áp hoạt động 2.7V – 3.6V. |
8 | WP | Write Protect (Active Low) | Bảo vệ 256 trang đầu khỏi bị ghi lại. Khi không dùng, nối lên VCC. |
5. Chức năng hoạt động của AT45DB021B
-
Đọc dữ liệu:
-
Hỗ trợ nhiều lệnh đọc: “Continuous Array Read”, “Main Memory Page Read”, “Buffer Read”.
-
Có thể đọc liên tục qua toàn bộ bộ nhớ mà không cần gửi lại lệnh.
-
-
Ghi dữ liệu (Program):
-
Dữ liệu được ghi trước vào một trong hai buffer, sau đó chuyển nội dung buffer sang bộ nhớ chính (Main Memory).
-
Cho phép ghi/xóa mà không ngắt quá trình đọc.
-
-
Xóa dữ liệu (Erase):
-
Có thể xóa theo Page, Block, hoặc Chip Erase.
-
-
So sánh nội dung (Compare):
-
Cho phép so sánh nội dung giữa Buffer và Page hiện tại trong bộ nhớ.
-
-
Thanh ghi trạng thái (Status Register):
-
Cung cấp thông tin về trạng thái bận/rảnh, bảo vệ ghi, và cấu hình.
-
Lệnh đọc trạng thái: Opcode = D7h, bit 7 (RDY/BUSY) = 1 nghĩa là IC sẵn sàng.
-
-
Chức năng bảo vệ:
-
WP (Write Protect): bảo vệ vật lý 256 trang đầu.
-
RESET: đảm bảo khởi động an toàn khi bật nguồn.
-
6. Ứng dụng của AT45DB021B
-
Lưu trữ dữ liệu ngoài cho vi điều khiển (MCU).
-
Lưu chương trình (Firmware Storage).
-
Ghi log dữ liệu, dữ liệu cảm biến.
-
Lưu âm thanh hoặc hình ảnh trong các thiết bị nhúng.
-
Thiết bị đo lường, thiết bị điều khiển công nghiệp.
-
Hệ thống bootloader, thiết bị IoT, máy in, máy ghi dữ liệu (Data Logger).
7. Kích thước của IC AT45DB021B-SU (SOP-8)
Thông số | Ký hiệu | Kích thước (mm) |
---|---|---|
Chiều dài thân | D | 5.13 – 5.35 |
Chiều rộng thân | E | 7.70 – 8.26 |
Chiều cao tổng | A | 1.70 – 2.16 |
Độ dày thân | A1 | 0.05 – 0.25 |
Độ dày chân | C | 0.15 – 0.35 |
Chiều rộng chân | b | 0.35 – 0.48 |
Khoảng cách chân | e | 1.27 (chuẩn) |
Số chân | 8 |
8. Cách đo và kiểm tra sống/chết của AT45DB021B
A. Kiểm tra cơ bản bằng đồng hồ đo
-
Đặt đồng hồ ở chế độ đo điện trở (Ohm).
-
Đo giữa chân VCC (chân 7) và GND (chân 6): nếu có trở kháng thấp (< vài Ω) → có thể bị chập.
-
Đảm bảo chân WP (chân 8) và RESET (chân 3) không bị nối đất (LOW) nếu không dùng.
B. Kiểm tra nguồn cấp
-
Cấp nguồn 3.3V vào chân 7 (VCC), nối chân 6 (GND) xuống đất.
-
Đo lại điện áp tại chân VCC để đảm bảo nguồn ổn định.
C. Kiểm tra hoạt động qua SPI
-
Dùng vi điều khiển (Arduino, STM32, ESP32…).
-
Kết nối:
-
MOSI → SI (chân 1)
-
MISO ← SO (chân 5)
-
SCK → SCK (chân 2)
-
CS → CS (chân 4)
-
GND → GND (chân 6), VCC → 3.3V (chân 7)
-
RESET (chân 3) và WP (chân 8) kéo lên 3.3V.
-
-
Gửi lệnh 0xD7 (Read Status Register) qua SPI.
-
Nếu nhận được dữ liệu phản hồi (ví dụ 0x80 hoặc 0x9C), IC hoạt động bình thường.
-
Nếu không có phản hồi (0x00 hoặc 0xFF liên tục), có thể IC bị hỏng hoặc kết nối sai.
-
D. Kiểm tra ghi/đọc
-
Dùng lệnh “Buffer Write (84h)” để ghi dữ liệu vào buffer.
-
Dùng lệnh “Buffer to Main Memory Program (83h)” để ghi sang bộ nhớ chính.
-
Dùng lệnh “Main Memory Page Read (D2h)” để đọc lại dữ liệu đã ghi — nếu trùng khớp là IC tốt.