- Sự hoạt động của EEPROM 24C04 được thơng qua quá trình “ghi nhận, trả lời, thơng báo” giữa thiết bị chủ (Master) và thiết bị tớ (Slaver). CPU đĩng vai trị Master cịn EEPROM đĩng vai trị Slaver, thiết bị chủ sẽ điều khiển hoàn tồn thiết bị tớ. Tuy nhiên, Master cũng tuân thủ nghiêm ngặt các quy định chuẩn của Slaver, nếu khơng thì Slaver sẽ khơng đáp ứng lại. Khi khơng yêu cầu truy cập đến bộ nhớ EEPROM, CPU khơng cần kiểm sốt nĩ. Sau khi nhận được thơng báo “Stop” trước đĩ thì EEPROM sẽ thả nổi trên bus dữ liệu, lúc này quan hệ giữa Master và Slaver khơng cịn ràng buộc. Trạng thái này sẽ cho biết đang chờ (standby) yêu cầu nối kết từ phía Master và quá trình truy nhập được bắt đầu khi Master gởi đến bằng một điều kiện “Start”.
- Như đã kể trên, Slaver sẽ đưa một vài quy ước chuẩn cho thiết bị chủ muốn truy nhập.
- Sau đây là giản đồ thời gian trên bus tín hiệu SDA và SCL được cho ở hình 3.5 tSU.ST SCL SDA IN SDL OUT tHIG tLOW tF tHD.STA t tLOW tAA tSU.DA tDH tR tSU.STO
Hình 3.5 Giản đồ thời gian trên bus tín hiệu SDA và SCL
tSU.STA SCL SDA IN SDL OUT tHIG tLOW tF tHD.STA t tLOW tAA tSU.DAT tDH tR tSU.STO
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Bảng 3.20
- Giới hạn chu kỳ ghi dữ liệu: được cho ở bảng 3.20
Chu kỳ ghi (TWR) là thời gian từ thời điểm đánh dấu thiết lập điều kiện Stop của một quá trình ghi dữ liệu đến thời điểm kết thúc của một chu kỳ ghi/xĩa bên trong cũng là thời điểm bắt đầu của chu kỳ mới.
- Sự thay đổi dữ liệu trên bus: được cho ở hình 3.7
Hình I.3.7 Sự thay đổi dữ liệu trên Bus
Hình 3.6 Chu kỳ ghi dữ liệu
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu + Sự thay đổi dữ liệu chỉ cho phép được thực hiện trong lúc tín hiệu SCL xuống thấp, nếu sự thay đổi đĩ xảy ra khi tín hiệu SCL lên cao thì nĩ sẽ được biên dịch thành điều kiện Start hoặc Stop.
- Cài đặt điều kiện Start, Stop: được cho ở hình 3.8
+ Điều kiện Start, Stop được định nghĩa khi SDA biến đổi từ mức logic cao xuống mức logic thấp trong khi tín hiệu SCL ở mức logic cao ổn định. Điều kiện Stop được định nghĩa khi SDA biến đổi từ mức logic thấp sang mức logic cao, trong khi SCL ở mức logic cao ổn định.
- Đáp ứng tín hiệu Acknowledge từ bộ phận: được cho ở hình 3.9
+ Khi đã kết thúc việc truyền dữ liệu, thiết bị nhận sẽ trả lời bằng tín hiệu “Acknowledge” từ thiết bị nhận. Tín hiệu Acknowledge được xác định từ mức logic thấp của SDA trong suốt chu kỳ xung clock thứ 9 của tín hiệu SCL. Tín hiệu Acknowledge cịn cho biết rằng thiết bị nhận đã nhận được đầy đủ 8 bit dữ liệu.
- Địa chỉ thiết bị: được cố định bằng một từ cố định 8 bit theo khung ở hình 3.10.
Hình 3.8 Sơ đồ thiết lập điều kiện Start, Stop
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Bốn bit MSB của Slaver Addresses được chỉ định loại thiết bị (Device Type Identifier) và được cố định là “1010” cho tất cả loại EEPROOM. Bit R/W
định nghĩa chế độ Master yêu cầu đọc ghi, R/W=0 cho biết điều kiện ghi được thực hiện, R/W=1 cho biết điều kiện đọc được thực hiện.
- Ghi dữ liệu vào EEPROM: cĩ 2 mode ghi, ghi byte và ghi trang. + Mode ghi byte: giản đồ thời gian ở hình 3.11
Trong mode này theo sau điều kiện Start Master gởi từ một địa chỉ thiết bị với bit R/W=0, EEPROM nhận biết được chế độ ghi byte và phản hồi tín hiệu ACK (Acknowledge) và đợi từ thứ 2 đĩ là địa chỉ cần ghi. Khi đã nhận được 8 bit địa chỉ mà Master gởi tới EEPROM 2404 sẽ đáp lại một tín hiệu Acknowledge để thơng báo chờ nhận 8 bit dữ liệu. Master tiếp tục gởi 8 bit dữ liệu qua sau đĩ, và nếu Master nhận được tín hiệu Acknowledge từ Slave thì Master sẽ kết thúc việc truyền bằng một điều kiện Stop để EEPROM 2404 thực thi chu kỳ viết dữ liệu vào trong bộ nhớ. Trong quá trình diễn tiến chu kỳ viết dữ liệu vào bộ nhớ, EEPROM sẽ khơng đáp ứng bất kỳ yêu cầu nào từ Bus Master.
+ Mode ghi trang giản đồ thời gian ở hình 3.12
Hình 3.10 địa chỉ thiết bị
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Mode ghi trang ghi từ 2 đến 16 byte của trang. Quá trình ghi trang cũng diễn tiến giống như quá trình ghi tương tự từng byte nhưng sau mỗi byte nhận được EEPROM sẽ đáp ứng được một tín hiệu ACK (Ack=0) để cho biết EEPROM cần thêm dữ liệu, bộ đếm sẽ tự động tăng lên 1 sau mỗi byte dữ liệu nhận được. Khi đã ghi đủ một trang dữ liệu mà Master vẫn khơng tạo điều kiện Stop thì bộ đếm địa chỉ sẽ quay về địa chỉ đặt trước và dữ liệu sẽ bị ghi chồng.
Đọc dữ liệu EEPROM cĩ 3 mode đọc: đọc dịa chỉ hiện hành, đọc địa chỉ ngẫu nhiên và đọc địa chỉ tuần tự.
+ Đọc địa chỉ hiện hành: giản đồ thời gian ở hình 3.13
- Bên trong EEPROM chứa một bộ đếm địa chỉ và nĩ sẽ duy trì địa chỉ của byte được truy xuất cuối cùng, sau đĩ tăng lên 1, vì vậy lần truy xuất cuối cùng ở địa chỉ n thì quá trình đọc kế tiếp sẽ truy xuất dữ liệu ở địa chỉ n+1.
- Khi EEPROM chấp nhận địa chỉ thiết bị với R/W=0, EEPROM sẽ đáp ứng tín hiệu ACK và truyền ra 8 bit dữ liệu. Để kết thúc việc truyền Master khơng cần đáp ứng tín hiệu ACK mà phải thực thi điều kiện Stop.
+ Mode đọc dữ liệu ngẫu nhiên: được miêu tả ở hình 3.14
Hình 3.12 Giản đồ thời gian
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu - Quá trình đọc ngẫu nhiên cho phép Master đến bất kỳ địa chỉ nào trong EEPROM. Sự truy xuất này cũng giống như quá trình ghi byte là thực hiện cơng việc tuần tự địa chỉ Slave với bit R/W=0 rồi đến địa chỉ bắt đầu, nhưng sau khi chấp nhận từ địa chỉ Master nhận được tín hiệu ACK và tiếp tục thiết lập lại điều kiện Start thứ 2 với bit R/W=1. Khi đã chấp nhận yêu cầu cần đọc dữ liệu EEPROM sẽ đáp ứng thêm một tín hiệu ACK và tín hiệu ACK mà tạo ra điều kiện Stop để kết thúc việc đọc byte.
+ Mode đọc dữ liệu tuần tự: được miêu tả ở hình 3.15
- Đọc dữ liệu tuần tự cũng giống như đọc địa chỉ hiện hành và đọc địa chỉ ngẫu nhiên nhưng sau mỗi byte được đọc Master sẽ đáp ứng một tín hiệu ACK để chỉ thị rằng nĩ cần thêm dữ liệu nữa, địa chỉ dữ liệu tự động tăng lên 1 để đọc theo dữ liệu địa chỉ kế tiếp. Master sẽ kết thúc quá trình đọc bằng cách khơng tạo ra tín hiệu ACK theo sau byte dữ liệu cuối cùng mà tạo ra điều kiện Stop để ngừng cơng việc.