Tải bản đầy đủ (.docx) (6 trang)

CHÍP MÃ HÓA TÍN HIỆU VIDEO ADV7181B

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (234.22 KB, 6 trang )

2. CHÍP MÃ HÓA TÍN HIỆU VIDEO ADV7181B
2.1 CHỨC NĂNG VÀ DẠNG DỮ LIỆU NGÕ RA
Nguồn ảnh cần xử lý là tín hiệu analog video do DVD plalyer xuất ra. Kết nối ngõ ra TV-
Out composite của DVD Player với cổng TV-In trên Kit DE2 thì bộ ADV7181B sẽ số hóa tín hiệu
này sang chuẩn ITU - RTBT 656 là chuỗi các frame ảnh. Mỗi điểm trong frame ảnh thu về được
biểu diễn dưới dạng I(x,y) trong đó x,y là tọa độ của pixel trên frame và I là mức xám tương
ứng của pixel đó. Như vậy 1 frame ảnh thu được sẽ đươc biểu diễn dưới dạng một ma trận 2
chiều 720 x 525 với 720 là số pixel trên 1 hàng, 525 là số hàng trong 1 frame.
Chuẩn Video ITU – RBT601:
Chuẩn ITU – RBT 610/656 định nghĩa một thiết kế cho việc mã hóa một khung bao gồm
525 (hoặc 625) line tín hiệu video tương tự thành dạng số, truyền tín hiệu với xung clock
27MHz. Một single horizontal line có cấu trúc:
EAV BLANKING SAV Active Video Data
EAV, BLANKING và SAV đều là các trường (field) phân biệt để đồng bộ dữ liệu được
truyền.
EAV và SAV đều là các trường 4 byte:
EAV: cho biết điểm kết thúc của Active Video Data trong line hiện hành cũng như là
điểm bắt đầu của line tiếp theo.
SAV: báo hiệu điểm bắt đầu của Active Video Data trong line hiện hành.
FFh 00h 00h XY
Byte thứ tư XY chứa thông tin về trường được truyền, tình trạng của khoảng trống
(field blanking) theo chiều dọc (Vertical) hoặc của dòng trống (line blanking) theo chiều ngang
(horizontal):
MSB LSB
1 F V H P3 P2 P1 P0
Bit Symbol Chức năng
7 1 Luôn ở mức 1
6 F Field Bit: 0 => Field1; 1 => Field2
5 V Vertical Blanking Status Bit:
- Lên mức cao khi ở vertical field blanking interval.
- Xuống mức thấp ở các trường hợp khác.


4 H
Horizontal Blanking Status bit:
- Nếu là trường SAV thì ở mức 0.
- Nếu là trường EAV thì ở mức 1.
3 P3 Protection bit 3
2 P2 Protection bit 2
1 P1 Protection bit 1
0 P0 Protection bit 0
Các Protecction bit thì dùng để kiểm tra và sửa lỗi phụ thuộc vào các bít F,V,H. nhưng
khi nhận Video Stream ta có thể bỏ qua các bit này nên ta không xét đến.
Ý nghĩa của các bit F và V là để đảm bảo sự đồng bộ các horizontal line trong một frame
theo chiều dọc:
TABLE 1
Field interval definitions
625 525
V-digital field blanking
Field 1 Start
(V=1)
Finish
(V=0)
Field 2 Start
(V=1)
Finish
(V=0)
Line 624 Line 1
Line 23 Line 20
Line 311 Line 264
Line 336 Line 283
V-digital field identification
Field 1 F=0

Field 2 F=1
Line 1 Line 4
Line 313 Line 266
Cách đặt giá trị các bit F,V theo trường (Field 1 hoặc 2) và tính hiệu dụng (Active or
Blanking) sẽ được hiểu rõ hơn qua bảng mô tả một frame gồm 525 horizontal line sau :
Field 1 (F=0) : 262 line từ line 4 đến line 265; Field 2(F=1) : 263 line từ line 266 đến
line 3
Active or Blanking : các Active video data và các Vertical Blanking Interval được sắp
xếp xen kẽ nhau :
Active portion (V=0) Odd Field : 244 line từ 20->263; Even Field: 243 line từ 283->525;
Vertical Blanking Interval (V=1): 38 line gồm 19 line từ 1->19 và 19 line từ 266->282;
Hình 2.1: Frame ảnh theo chuẩn ITU656
Một horizontal line tín hiệu sẽ gồm các thành phần sau:
Blanking: trong suốt thời gian truyền tín hiệu Video, ở giữa các Active video signal
Segments sẽ là các horizontal blanking interval. Giá trị của các byte trong trường này sẽ phải
phù hợp với các cấp độ (level) của các tín hiệu Cb, Cr và Y tương ứng theo quy tắc sau: Cb =
80h; Y = 10h; Cr = 80h ta có chuỗi byte : 80h, 10h, 80h,…80h,10h.
Tùy vào số line tín hiệu mà chuỗi này sẽ bao gồm 268 byte (khung 525 line) hoặc là 280
byte (khung 625 line).
Active Video Data: Có tất cả 1440 byte chứa đựng các thông tin về ảnh: 720 giá trị Y
(luminace-brightness); 360 giá trị Cr (red chrominace); 360 giá trị Cb (blue chromiance) được
sắp xếp theo từng nhóm cứ một Cb và Cr thì có 2 giá trị Y: CbYnCrYn+1 tạo thành chuỗi:
Cb
0
Y
0
Cr
0
Y
1

Cb
1
Y
2
Cr
1
Y
3
…… … Cb
359
Y
71 8
Cr
359
Y
71 9
Các trường SAV và EAV: mỗi trường dài 4 byte
Vậy trong hệ thống 525 line thì một Horizontal line sẽ bao gồm 1716 byte.
2.2 GIAO THỨC CÀI ĐẶT I2C
ADV7181B hỗ trợ một giao diện kết nối 2 dây tuần tự “a-wire serial interface” I2C. Hai
ngõ vào : dữ liệu tuần tự SDA, xung clock tuần tự SCLK mang thông tin giữa ADV7181B với bộ
điều khiển hệ thống I2C. Mỗi thiết bị tới (Slave) sẽ được nhận ra bởi một địa chỉ duy nhất.
Các chân I2C của ADV7181B cho phép người dùng cài đặt, cấu hình bộ mã hóa và đọc
ngược lại dữ liệu VBI (vertical blank interval) bắt được. ADV7181B có 4 địa chỉ Slave cho tất cả
thao tác đọc và ghi phụ thuộc vào mức logic của chân ALSB. ALSB điều khiển bit 1 của địa chỉ
Slave (Slave_address[1] ) bởi việc thay đổi chân này có thể điều khiển được cả 2 bộ ADV7181B
mà không có sự xung đột vì trùng địa chỉ Slave. Bit thấp nhất của địa chỉ Slave( LSB hay là
Slave_address[0] ) quyết định thao tác ghi hay đọc: mức 1 đọc và mức 0 thì ghi. Ở đây ta chỉ sử
dụng 1 bộ ADV7123, giao thức I2C chủ yếu dùng để nạp dữ liệu cho các thanh ghi nên chọn địa
chỉ Slave cho chip mã hóa này là 0x40h từ bảng giá trị địa chỉ I2C Slave dưới đây:

Để điều khiển thiết bị trên Bus thì phải có một giao thức đặc biệt đi kèm. Đầu tiên
Master sẽ khởi động truyền dữ liệu bằng việc thiết lập điều kiện bắt đầu (SDA từ 1 xuống 0
trong khi SCLK vẫn ở mức cao) ở đây ta gọi là START, nó ám chỉ rằng theo sau đó là một luồng
địa chỉ hay dữ liệu. Các ngoại vi đáp trả lại START và dịch chuyển 8 bit tiếp theo (7 bit địa chỉ và
1 bit đọc/ghi), các bit này được truyền từ bit cao (MSB) đến thấp (LSB). Các ngoại vi khi đã
nhận ra các địa chỉ được truyền thì đáp ứng bằng cách giữ SDA = 0 trong toàn bộ chu kỳ thứ 9
của xung clock gọi là ACK. Các thiết bị khác thì sẽ rút khỏi bus tại điểm này và bảo toàn trạng
thái IDE (khi cả SDA và SCLK đều ở mức cao để cho các thiệt bị theo dõi 2 line này, chờ START
và địa chỉ được truyền đúng). Bit đọc/ghi chỉ ra hướng của dữ liệu, LSB = 0/1 thì master
ghi/đọc thông tin vào/từ ngoại vi.
ADV7181B hoạt động như thiết bị Slave tiêu chuẩn trên Bus, chứa 196 địa chỉ con
(Subaddress là độ lệch của địa chỉ cần thao tác với địa chỉ thiết bị) để cho phép truy cập các
thanh ghi nội. Điều đó giải thích rằng byte đầu tiên là địa chỉ của thiết bị và byte thứ 2 là địa chỉ
con đầu tiên. Các địa chỉ con này tự động tăng dần cho phép truy đọc/ghi ở địa chỉ con bắt đầu.
Sự truyền dữ liệu thì luôn bị ngắt bởi điều kiện dừng (STOP). Người dùng có thể truy cập tới
bất cứ duy nhất 1 thanh ghi ở địa chỉ con trên cơ sở 1-1 khi không có sự cập nhật toàn bộ các
thanh ghi. Ở đề tài này ta không sử dụng chế độ cập nhật toàn bộ mà chỉ truy cập vào các
thanh ghi cần thiết ở các địa chỉ con trên cơ sở 1-1.
START và STOP có thể xuất hiện ở bất kì đâu trong sự truyền dữ liệu, nếu các điều kiện
này được khẳng định ở ngoài chuỗi liên tục với các thao tác đọc và ghi thông thường, thì nó tác
động làm bus trở về trạng thái IDE. Nếu địa chỉ người dùng phát ra không phù hợp (invalid) thì
ADV7181B sẽ không gửi xác nhận ACK và trở về trạng thái IDE.
Nếu các địa chỉ con tự động tăng dần rồi vượt quá giới hạn địa chỉ con cao nhất:
• Nếu đang đọc thì những giá trị chứa đựng trong thanh ghi có địa chỉ con cao
nhất sẽ được tiếp tục đọc cho đến khi Master phát 1 NACK (SDK không bị đưa xuống
mức thấp trong toàn bộ chu ky thứ 9) để chỉ rằng việc đọc kết thúc.
• Nếu đang ghi thì những giá trị của byte không phù hợp sẽ không được load.

×