Trích:
Nguyên văn bởi mgdaubo
em chưa hiểu lắm về bộ nhớ trong PIC:
Bộ nhớ Flash: bộ nhớ chương trình ?
Data memories: có phải là Ram lưu các biến sử dụng trong chương trình?
EEPROM dùng để làm gì?
|
Bộ nhớ flash chính là bộ nhớ chương trình, flash là công nghệ hiện thực bộ nhớ. Vì bộ nhớ này cần phải lưu thông tin ngay cả khi chip mất nguồn, nên nó là một loại ROM (Read Only Memory).
Data memory (bộ nhớ dữ liệu) chính là các ô nhớ đọc/ghi ngẫu nhiên, viết tắt là RAM (Random Access Memory), thường dùng làm biến, các thanh ghi đặc biệt trong chip.
EEPROM là bộ nhớ dữ liệu nhưng có khả năng lưu thông tin ngay cả khi chip mất nguồn. Vì chương trình thực hiện đọc/ghi trên ô nhớ của vùng này nên nó phải thuộc loại ghi/xóa bằng điện (Electrically Erasable Programmable Read Only Memory. EEPROM thường dùng để lưu các hằng số, các hệ số hiệu chỉnh cho từng bộ điều khiển. Ví dụ, một bộ điều khiển PID sau khi tự động cân chỉnh với một đối tượng cụ thể có thể lưu các hệ số kp, ki, kd vào EEPROM, như vậy ngay cả khi bộ vi điều khiển bị ngắt nguồn thì các hệ số này vẫn không bị mất, và bộ điều khiển có thể dùng ngay các hệ số này mà không cần phải cân chỉnh khi khởi động ở những lần sau.
EEPROM khó hiện thực và đắt tiền hơn Flash, do đó chỉ được hiện thực với dung lượng nhỏ trong chip, tất nhiên nó có lợi thế là số lần ghi/xóa thường cao hơn khoảng 10 lần so với flash. Một khác biệt chính là flash cần phải xóa theo khối (vài chục byte) và cũng thường ghi theo khối, còn EEPROM thì có thể xóa/ghi từng ô độc lập.
Thân,