• Xưởng sửa chữa và chuẩn chỉnh máy địa vật lý

    Xưởng có nhiệm vụ chính là bảo dưỡng, sửa chữa và hiệu chỉnh các máy móc thiết bị điện tử phục vụ cho các đơn vị trong Xí nghiệp địa vật lý giếng khoan. Ngoài ra xưởng còn nghiên cứu đưa vào ứng dụng và phát triển công nghệ tin học trong công tác địa vật lý

  • Trung tâm Phân tích và Xử lý số liệu

    Có nhiệm vụ đánh giá chất lượng tài liệu do Xí nghiệp Địa vật lý thực hiện.

  • Đội công nghệ cao

    Khảo sát địa vật lý tổng hợp trong giếng đang khoan. Đo địa vật lý tổng hợp, bắn mìn.

  • Đội Kiểm tra công nghệ khai thác

    Có nhiệm vụ là đo khảo sát và kiểm tra công nghệ khai thác trong các giếng khai thác và bơm ép.

  • Đội Carota khí

    Đội Carôta khí có nhiệm vụ chính là khảo sát carota khí, cung cấp kịp thời các số liệu để xác minh trữ lượng, tình trạng các giếng khoan.

  • Đội thử vỉa

    Đội có nhiệm vụ thử vỉa ở các giếng khoan nhằm định hướng cho công tác khoan, xác định tình trạng và đo vỉa, cung cấp thông tin để xác định trữ lượng công nghiệp của giếng

L&TD

LOGGING & TESTING DIVISION

XÍ NGHIỆP ĐỊA VẬT LÝ GIẾNG KHOAN - BẠN ĐỒNG HÀNH CỦA CÁC NHÀ DẦU KHÍ - TRANG WEB ĐANG TRONG THỜI GIAN NÂNG CẤP VÀ CẬP NHẬT....

Giao tiếp I2C(Phần 1)

 

I2C - Inter IC Bus

I2C là một loại bus giao tiếp ngoại vi được phát triển bới hãng Philips, thường được sử dụng để điều khiển nhiều thiết bị điều khiển khác được bố trí trong các khối mạch tương đối xa nhau (<1.5m ).
I2C là giao tiếp nối tiếp thực hiện trên hai đường dây : Clock (SCL) và Data (SDA). 

 

Sơ đồ Giao tiếp I2C

 

 

MÔ TẢ CHI TIẾT

Master :
Giữ vai trò điều khiển Bus I2C.
Tạo xung Clock ( SCL) trong suốt quá trình giao tiếp.
Tạo các tín hiệu Start bắt đầu quá trình truy xuất.
Phát địa chỉ của thiết bị Slave cần truy xuất.
Gửi tín hiệu R/W tới Slave.
Truyền dữ liệu tới thiết bị Slave.
Nhận dữ liệu từ Slave
Tạo tín hiệu Not-ACK khi kết thúc nhận từ Slave.
Tạo tín hiệu Stop kết thúc quá trình truy xuất.


Slave :
Nhận địa chỉ và bit R/W từ Master (Chỉ “Response” khi đúng địa chỉ của Slave) .
Nhận dữ liệu từ Master gửi bit ACK sau mỗi 8 Clock.
Truyền dữ liệu tới Master, chờ ACK từ Master để tiếp tục gửi.
Thực hiện chức năng chuyên dụng của khối thiết bị ngoại vi ( RAM, EEPROM, ADC,DAC ngoài…).

Các tín hiệu Start và Stop :
SDA=SCL=HIGH: Bus I2C ở trạng thái “Free” sẵn sàng cho một giao tiếp.
Điều kiện START:   SDA  ↓ và  SCL =HIGH.
Điều kiện STOP:  SDA  ↑ và SCL =HIGH.
Cả hai điều kiện START và STOP đều được tạo ra bởi Master. Sau tín hiệu START, bus I2C ở trạng thái  ”busy” thực hiện tác vụ truy xuất nối tiếp. Sau  STOP  bus I2C ở trạng thái “free” cho lần kế tiếpCác tín hiệu Start và Stop :
SDA=SCL=HIGH: Bus I2C ở trạng thái “Free” sẵn sàng cho một giao tiếp.
Điều kiện START:   SDA  ↓ và  SCL =HIGH.
Điều kiện STOP:  SDA  ↑ và SCL =HIGH.
Cả hai điều kiện START và STOP đều được tạo ra bởi Master. Sau tín hiệu START, bus I2C ở trạng thái  ”busy” thực hiện tác vụ truy xuất nối tiếp. Sau  STOP  bus I2C ở trạng thái “free” cho lần kế tiếp

Định dạng dữ liệu truyền :
- Dữ liệu được truyền trên bus I2C theo từng bit tại mỗi cạnh lên của xung Clock ( SCL), sự thay đổi bit dữ liệu trên SDA xảy ra khi SCL đang ở mức thấp. Số lượng byte có thể truyền trong một lần tùy ý, tối đa là 128 bytes.

- Bit MSB sẽ được truyền trước. Sau 8 xung clock 8 bit dữ liệu đã được truyền đi, thiết bị nhận sẽ kéo SDA xuống mức thấp tương ứng một bit ACK tại xung clock thứ 9 trên báo hiệu đã nhận đủ 8 bit. Thiết bị truyền khi nhận được bit ACK sẽ tiếp tục thực hiện  quá  trình truyền hoặc kết thúc.

Định dạng địa chỉ thiết bị:
Mỗi thiết bị ngoại vi tham gia vào bus i2c đều có một địa chỉ duy nhất, có độ dài là 7
 bit như vậy trên một bus I2C ta có thể phân biệt tối đa 128 thiết bị. Byte đầu tiên được gửi từ Master sẽ bao gồm 7 bit địa chỉ và bit thứ 8 gọi là bit R/W. 
Bit R/W = 0 : Ghi dữ liệu từ Master vào Slave.
Bit R/W = 1 : Đọc dữ liệu từ Slave .

Phương thức truyền dữ liệu tới Slave:
‐ Master tạo xung START 
‐ Master gửi 7 bit địa chỉ của Slave +  bit  R/W= 0 (8 clock)
‐ Tại thời điểm clock thứ 9, Master đọc xung ACK từ Slave. ACK = 0 khi Slave có
địa chỉ tương ứng đã nhận dạng,
 Master bắt đầu gửi dữ liệu đến Slave theo từng byte một mất 9 clock
do theo sau mỗi byte (8 clock) được gửi từ Master, Slave phải xác nhận bằng một
xung ACK=0. 
‐Kết thúc quá trình truyền, Master sau khi truyền byte cuối sẽ tạo xung STOP báo hiệu kết 
thúc.

Chế độ đọc dữ liệu từ Slave:
‐ Master tạo xung START 
‐ Master gửi 7 bit địa chỉ của Slave  + bit R/W = 1
‐ Sau khi Slave xác nhận địa chỉ và trả về bit ACK=0, Slave sẽ gửi từng byte ra SDA;
Master sẽ nhận dữ liệu và cũng trả về bit ACK =0 sau mỗi byte. 
‐ Để kết thúc quá trình nhận dữ liệu, Master gửi xung Not‐ACK qua cú pháp i2c_read(1,0) và tạo xung STOP.

                                                                                                                      (còn tiếp)

                                                                                                                 Nhóm tác giả NXQ-VAĐ-LMC

 

 

Video

Quản lý online

Liên kết nội bộ

Giá dầu