Chương 1: KIT DE2 của Altera
Trang 1
PHẦN I: GIỚI THIỆU TỔNG QUAN
CHƯƠNG 1: KIT DE2 CỦA ALTERA
1.1 SƠ LƯC
Trong đề tài luận văn, ta sẽ sử dụng phần mềm Quartus II để tổng hợp chương trình
sau đó dòch ra mã hex và lập trình hệ thống lên chip FPGA Cyclone II trên kit DE2 của
Altera thông qua JTAG USB.
Hình 1.1: Kit DE2
Kit DE2 có rất nhiều tính năng cho phép các nhà thiết kế thực hiện một khối lượng
lớn các hệ thống, mạch chức năng từ đơn giản đến phức tạp. Dưới đây là các tính năng
được cung cấp sẵn trên kit DE2:
Altera Cyclone II 2C35 FPGA
Altera Serial Configuration device - EPCS16
Chương 1: KIT DE2 của Altera
Trang 2
USB Blaster dùng để lập trình hệ thống từ PC, hỗ trợ các chế độ JTAG cũng
như điều khiển trực tiếp khi sử dụng NIOS II
512 – Kbyte SRAM
8 – Mbyte SDRAM
4 – Mbyte Flash memory
Khe cắm SD Card
4 phím nhấn PushButton KEY[3:0]
18 Switch (cấp mức ‘0’ hay ‘1’)
18 đèn LEDR và 9 đèn LEDG
Có hai nguồn clock là 50 MHz và 27 MHz
Chip giải mã âm thanh 24 bits với các jack cắm line-in, line-out và microphone
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 và SAV 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):
Chương 1: KIT DE2 của Altera
Trang 4
Bit Symbol Chức năng
7 1 Luôn ở mức 1
6 F Field Bit: 0 => Filed1; 1 => Filed2
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
chuỗi: Cb0Y0Cr0Y1Cb1Y2Cr1Y3............Cb359Y718Cr359Y719.
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.
1.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 2-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ớ(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 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ả hai 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:
Chương 1: KIT DE2 của Altera
Trang 7
I2C
Addres
s
for
ADV7181B
ALSB
Để đ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 bít 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ứ
hai 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:
Chương 1: KIT DE2 của Altera
Trang 8
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 (SDA không bò đưa xuống mức thấp
trong toàn bộ chu kỳ 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
2
C sẽ được ghi theo thứ tự tăng dần đòa chỉ các thanh ghi. Ví dụ: HSB[10:0] thì ghi lên
0x34 trước rồi ngay lập tức ghi thêm vào 0x35.
1.2.3 CÀI ĐẶT CẤU HÌNH HOẠT ĐỘNG :
Dưới đây là bảng mô tả các thanh ghi và các giá trò cần được cài đặt để phát hiện
chuẩn Video Analog NTSC 525 line ở ngõ vào và mã hóa sang chuẩn ITU656 ở ngõ ra:
Bảng 1.1: Cài đặt giá trò cho các thanh ghi của ADV7181 tương ứng
sudadd Thanh ghi Giá trò cài đặt Chú giải
0x00h
Input
Control
00h: để chọn ngõ vào là dạng hỗn
hợp (Composite) và có thể tự
động phát hiện ra 1 trong các
chuẩn: SECAM, PAL( B/G/H/I/D
), NTSC ( không có pedestal )
50h:để phát hiện chuẩn NTSC-M
-4 bit thấp dùng để chọn
đònh dạng ngõ vào.
-4 bit cao dùng để chọn chế
độ khi mà ngõ vào là các
chuẩn Video (PAL, NTSC,
SECAM ) thì ADV7818 có
thể tự phát hiện.
0x04h
Extended
Output
Control
02h: cho phép bộ giải mã kết nối
trực tiếp với bộ mã hóa
Status
Register1.
ReadOnly
Ta đặt bit 4 lên 1 để báo rằng
chuẩn NTSC4-4-3 được phát hiện
4 bit thấp cung cấp thông tin
về trạng thái nội của bộ mã
hóa, các bit 4, 5, 6 báo cáo
chuẩn Video được phát hiện
0x11h
INDENT
ReadOnly
ADV7818B thì dặt giá trò 13h
Cung cấp sự nhận diện trong
sự xem xét lại các thành
phần
0x15h
Digital
Clamp
Control 1
00h đặt chế độ đấu nối chậm
Slow
Bộ đònh thì thời gian đấu nối
số (digital clamp) quyết đònh
thời hằng của một bộ đấu
nối tốt
0x17h
Shaping
Filter
Control
thông qua các chuỗi CMG[11:0]
(màu ) và LMG[11:0] (độ sáng).
2 bit cuối chọn chế độ cho
độ lợi màu. Các bit 6,5,4 cài
đặt chế độ để điều khiển độ
lợi cho độ sáng. Bit 7,3,2
luôn đặt ở mức 1.
Chương 1: KIT DE2 của Altera
Trang 11
0x2Dh
Chroma
Gain
Control 1
F8h: 2 bit 5,4 luôn đặt ở mức 1.
Hai bit đầu = 1 dùng trong chế độ
thích nghi tốc độ AGC
4 bit cuối CMG[11:8] lập
trình độ lợi màu mong
muốn. Bit 7,6 là CATG[1:0]
đònh thì cho độ lợi màu tự
động theo dõi tốc đôï AGC
0x2Eh
Chroma
Gain
Control 2
Tùy vào độ lợi màu cần có mà đặt
giá trò. CMG[11:0] =750d thì độ
lợi =1 với hệ NTSC. CMG[11:0] =
741d thì độ lợi = 1 với hệ PAL
Tương ứng với CMG[7:0] để
FIELD
Control 1
12h:bit3 = 0 bắt đầu 1 line tương
quan với HSE vàbit5 = 1 thì đònh
vò VS/Field thủ công qua các
thanh ghi 0x32,0x33,0xE5–0xEA
Bit3 quyết đònh việc bắt đầu
line tương quan vơi HSE hay
HSB Bit4 chọn chế độ của
SAV/EAV
0x32h
VSync
Field
Control 2
81h:Bit6 = 0 VS lên mức cao giữa
line thuộc Even Field. Bit7=1 VS
chuyển trạng thái ở đầu line thuộc
Old Field. Bit0=1 là mặc đònh
Bit7,6 quy đònh VS đổi trạng
thái (bắt đầu 1 line) hay lên
mức cao (ở giữa line) thuộc
Even hay Old Field
0x33h
VSync
Field
Control 3
84h:Bit6=0 VS xuống mức thấp
giữa line thuộc Even Field. Bit7=1
VS đổi trạng thái ở đầu line thuộc
Odd Field. Bit2=1 là mặc đònh.
04h,20h: ( cài đặt theo khuyến
nghò ) để tính bù phần xung nhiễu.
DNR_TH[7:0]: Đặc tả số
cạnh xung tối đa được hiểu
là nhiễu nên sẽ coi là trống.
0x51h
Lock
Count
Bit6 là SRLS chọn tín hiệu khóa
thô(sự tràn Field với các thông tin
chiều dọc hay xét từng hàng line-
to-line )
00h: số line trong tình trạng khóa
trước khóa là 1, trước mất khóa là
1. Chọn tín hiệu khóa thô là tràn
Field, khóa trạng thái chỉ nhờ vào
khóa hàng
-3 bit cuối là CIL [2:0] quy
đònh số line còn lại trong
tình trạng khóa trước khi chỉ
trạng thái khóa
-Bit5,4,3 là COL[2:0] quy
đònh số line còn lại ngoài
tình trạng khóa trước khi chỉ
trạng thái mất khóa
-Bit7:khóa trạng thái chỉ nhờ
vào khóa hàng hay cả khóa
hàng và cả sóng mang phụ
0xC3h