Các lựa chọn thay thế cho việc sử dụng EEPROM


9

Theo tôi hiểu, EEPROM là một phần của máy tính (trong trường hợp của tôi là vi điều khiển AVR) lưu trữ dữ liệu và giữ nó ngay cả khi thiết bị tắt hoàn toàn. Nó cho phép dữ liệu được ghi vào nó và đọc từ nó.

Vấn đề tôi đang thấy là nó có một cuộc sống hữu hạn, và một cuộc đời khá ngắn. Nói cách khác, tôi chỉ có thể đọc / ghi một số lần hữu hạn trước khi tôi sử dụng EEPROM.

Những gì tôi đang tìm kiếm là một cách để đạt được chức năng tương tự như EEPROM, nhưng trong một yếu tố hình thức nhỏ. Tôi cho rằng tôi có thể sử dụng một cái gì đó như thẻ nhớ microSD, nhưng tôi thích một giải pháp không yêu cầu người dùng mua thẻ nhớ. Ngoài ra, tôi chỉ thực sự cần một vài byte dung lượng. Chúng ta hãy nói 1 kB là rất, rất bảo thủ. Tôi sẽ chi tiêu nhiều hơn mức cần thiết để chứa bất kỳ loại thẻ nhớ nào.

Thế ý kiến ​​của tôi là gì? Có bất kỳ giải pháp IC phổ biến nào cho phép tôi đạt được loại lưu trữ / truy xuất dữ liệu này mà không có tuổi thọ ngắn và chi phí cao không?


3
Bao lâu thì bạn cần lưu vài byte này? Đó là câu hỏi quan trọng ở đây. Có phải mỗi phút? Giờ nào? milisecond?
Gustavo Litovsky

Ví dụ, EEPROM của ATmega32 có vòng đời 100.000 lần ghi / đọc. Điều đó có thể là quá đủ, tùy thuộc vào ứng dụng ..
m.Alin

3
Bạn nói "Tôi chỉ có thể đọc / ghi số lần hữu hạn trước khi tôi sử dụng EEPROM", điều này không hoàn toàn đúng. Bạn làm hao mòn EEPROM bằng cách viết, nhưng nhìn chung các lần đọc không bị giới hạn.
Photon

@GustavoLitovsky Hãy nói, mỗi phút một lần. Trong trường hợp đó, đối với một ATmega32 liên tục bật, nó sẽ tồn tại hai năm. Tôi đoán đó là ok, khi tôi đặt nó trong quan điểm.
capcom

@ThePhoton À, ok. Tôi không bao giờ biết điều đó, cảm ơn. Không phải là nó thay đổi bất cứ điều gì, vì tôi yêu cầu cả đọc / ghi.
capcom

Câu trả lời:


4

Có, EEPROM là một loại bộ nhớ không biến đổi, có thể lưu trữ dữ liệu ngay cả khi không có bất kỳ nguồn điện nào trong một khoảng thời gian đáng kể (thời gian thực tế phụ thuộc vào nhiệt độ và các điều kiện khác).

Có một vài giải pháp không dễ bay hơi khác để bạn xem xét:

1) Bộ nhớ Flash nội bộ - Hầu hết các bộ vi điều khiển ngày nay đều có Flash để lưu trữ mã và một số cung cấp nó cho dữ liệu người dùng và ghi nhật ký. Điều này cũng có chu kỳ ghi hạn chế và yêu cầu xóa khối trước khi thay đổi bit từ '1' thành '0' (bạn lưu trữ dữ liệu ở nơi khác trong thời gian đó và sau đó viết lại).

2) Bộ nhớ FRAM bên trong - TI có các thiết bị có bộ nhớ FRAM không dễ biến đổi, có thể được truy cập rất đơn giản (giống như bất kỳ vị trí bộ nhớ nào khác. Đọc cũng bị phá hủy như ghi (mặc dù trong trường hợp của bạn, điều này có thể không quan trọng vì số chu kỳ là 10 ^ 13 hoặc hơn ở 85 độ C).

3) Bộ nhớ Flash ngoài - Bạn có thể thêm bộ nhớ ngoài để giữ một vài megabits dữ liệu khá rẻ.

Tùy thuộc vào tốc độ bạn muốn lưu (và liệu bạn có thể tắt máy tốt không), bạn có thể tăng số chu kỳ hiệu quả có sẵn cho bạn.


12

Cách để vượt qua giới hạn độ bền của EEPROM là áp dụng thuật toán cân bằng hao mòn. Về cơ bản cho mỗi bản ghi bạn muốn lưu trữ, bạn phân bổ N lần yêu cầu bộ nhớ cho nó và một không gian tương ứng cho các giá trị chỉ mục N, sau đó sử dụng suy luận để tìm ra "bản ghi hiện tại" và bản ghi tiếp theo để ghi đến. Nó được mô tả tốt trong Lưu ý ứng dụng AVR này .


7

Một giải pháp tiềm năng khác là một chút ram tĩnh và pin. Điều này có tuổi thọ hạn chế trong đó pin cuối cùng sẽ chết, nhưng nó không giới hạn trong các chu kỳ ghi. Bạn cũng có thể sử dụng một cái gì đó như một tụ điện lớn để cung cấp năng lượng cho nó, nếu bạn biết thời gian nghỉ của bạn sẽ có giá trị nhỏ. Một tế bào lithium coin có thể tồn tại rất lâu trong một ứng dụng như thế này, nếu bạn thiết kế đúng.

Ngoài ra còn có các bộ phận kết hợp RTC, nvram và pin (để giữ cho đồng hồ chạy) trong một phần. Những điều này có nhược điểm là nếu nguồn điện bên trong bị mất, bạn đã mất toàn bộ bộ phận (không chỉ pin), nhưng tùy thuộc vào thời gian sản phẩm của bạn sẽ kéo dài mà có thể không phải là vấn đề.


2

Tôi không biết ngân sách của bạn là bao nhiêu, nhưng bạn có thể muốn xem MRAM , tốc độ nhanh như DRAM nhưng không dễ bay hơi như Flash. Tất nhiên, đây là những cách đắt hơn so với chip EEPROM.

Tôi đã có một loạt các IC mẫu từ Freescale nhiều năm trước, nhưng chưa bao giờ có cơ hội sử dụng chúng, vì vậy tôi thực sự không thể biết liệu bạn có kết thúc với một mạch đơn giản hơn nhiều so với việc bạn phải gắn thẻ SD không chỗ.


1

Tôi là một anh chàng máy tính hơn là một kỹ sư điện nhưng tôi nghĩ có một cách tiếp cận khác đối với vấn đề vòng đời của bộ nhớ flash:

Hiểu biết của tôi là vấn đề vòng đời trên flash thực sự là vấn đề xóa chứ không phải viết. Bạn có thể viết bao nhiêu lần tùy ý ngoại trừ chi tiết nhỏ mà bài viết chỉ là một chiều.

Vì dung lượng lưu trữ bạn cần rất nhỏ so với kích thước của các thiết bị nhỏ mà bạn có thể (giả sử bạn có quyền truy cập đủ thấp vào phần cứng), hãy viết nó ra nhiều lần, mỗi lần ở một vị trí khác nhau. Hãy chắc chắn rằng dữ liệu của bạn có thể được phân biệt với bộ nhớ không được ghi lại (đệm nó nếu cần thiết để thực hiện điều này) và ô được viết cuối cùng là giá trị hiện tại.

Hơn nữa, nếu dữ liệu của bạn thực sự là một bộ đếm được tăng lên một lần cho mỗi lần ghi, bạn có thể nhận được nhiều hơn từ nó bằng cách không viết nó, mà là viết ra một bit trên mỗi đánh dấu, số đếm là số bit được viết.


1

NVSRAM nối tiếp từ Microchip có thể phù hợp với hóa đơn của bạn:

Serial NVSRAM offers non-volatile RAM storage and is ideal for applications that need to write very often to the memory. This device is significantly lower cost than other non-volatile RAM devices and the data is backed using an external battery. This 8-pin, SPI device supports unlimited instantaneous writes to the memory array, making it ideal in applications such as meters, data loggers, data recorders, black boxes. These devices are available in 512Kbits and 1Mbit densities.

Họ bộ nhớ nối tiếp này hỗ trợ sao lưu pin. Bảng dữ liệu đề cập đến mức rút 1ua hiện tại từ pin. Giá chưa đến 2 đô la trong 1 nghìn qty và các mẫu miễn phí được cung cấp bởi Microchip. IC có sẵn trong các gói PDIP và SOIC thân thiện với người chơi.


1

Bạn có thể muốn xem xét FRAM nối tiếp. Nhà sản xuất chính dường như là Cypress (nhũ danh Ramtron). Đây là một phần:

http://www.cypress.com/?rID=73530

Nó có sẵn với kích thước lớn (lớn nhất tôi thấy là 2Mbit), giao thức tương thích với MRAM hoặc flash, nó có thể ghi byte mà không cần xóa, nó nhanh chóng --- ghi theo giao thức SPI --- và giữ lại là cao lố bịch.

Điều đó nói rằng, nó là một chút khó khăn để tìm thấy. Không có nhiều nhà phân phối mang nó và những người dường như bán hết ngay lập tức --- Cypress có cửa hàng riêng của họ (miễn phí vận chuyển) và giữa tôi đặt hàng hai bộ phận FM25V04 họ đã bán hết. Sáu tuần dẫn đầu, rõ ràng ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.