Giới thiệu tổng quan KIT DE2 của Altera
Trang 1
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
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
VGA DAC (10-bit high-speed triple DACs) với cổng VGA
TV Decoder (NTSC/PAL) với TV-in (Video-in)
Cổng 10/100 Ethernet
Bộ điều khiển USB host/slave
RS – 232 với cổng kết nối 9 chân
Cổng PS/2 giao tiếp với chuột và keyboard
Cổng hồng ngoại
40 chân để mở rộng
Khi tổng hợp chương trình rồi gắn chân cho hệ thống, ta chỉ cần khai báo chân đúng theo tên của bảng chân trong file Excel DE2_pin_assignments đi kèm với đĩa cài Rồi thực hiện File Menu >> Assignments >> Import Assignments >> Browser đến file đó Chương trình Quartus II sẽ tự động gắn chân theo đúng bảng chân trên
Trong đề tài, các thành phần của Kit DE2 mà ta sẽ sử dụng là Cyclone II 2C35 FPGA, cổngTV-IN (ADV7181B) để nhận dữ liệu Video, SDRAM để lưu trữ các frame ảnh, cổng VGA (ADV7123) để truyền ảnh lên monitor Altera Cyclone II 2C35 FPGA vốn đã rất quen thuộc với sinh viên của bộ môn Điện Tử nên không đề cập lại nữa Tiếp theo
ta tìm hiểu sơ lược hoạt động của ADV7181B, SDRAM
Trang 31.2 CHIP MÃ HÓA TÍN HIỆU VIDEO ADV7181B:
1.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 player 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 – RBT 601:
Chuẩn ITU – R BT 601/656 định nghĩa một thiết kế cho việc mã hoá đan xen 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 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
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):
Trang 4Bit Symbol Chức năng
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
Horizontal Blanking Status bit:
-Nếu là trường SAV thì ở mức 0
-Nếu là trường EAV thì ở mức 1
Trang 5Cách đặt giá trị các bit F, V theo các 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:
-Field1 (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;
Trang 6Một horizotal 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ấp độ (levels) 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
Tuỳ 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: 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:
Trang 7I2C Address for ADV7181B ALSB R/
Để đ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
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
Hình 1.3: Truyền dữ liệu trên Bus và chuỗi đọc và ghi tuần tự với giao thức I2C
Truy cập các thanh ghi: MPU có thể viết hoặc đọc các thanh ghi ngoại trừ các ở địa chỉ con, chúng chỉ được ghi, chúng chỉ ra các thanh ghi mà tác vụ đọc hay ghi tiếp theo truy cập đến Mọi sự giao tiếp với phần này thông qua Bus START với một sự truy cập các thanh ghi này Các thao tác ghi hay đọc sẽ được thực hiện từ/đến địa chỉ đích, rồi tăng lên địa chỉ tiếp theo đến khi một lệnh STOP trên Bus được thực thi
Lập trình các thanh ghi: cấu hình cho từng thanh ghi, thanh ghi giao tiếp gồm 8 bít chỉ được ghi Sau khi thanh ghi này được truy cập trên bus và một thao tác đọc/ghi được lựa chọn, các địa chỉ con được cài đặt chỉ ra các thanh ghi mà các tác vụ sẽ đặt tới
Chọn lựa thanh ghi: (SR đến SR0) những bít này được cài đặt để chỉ ra địa chỉ bắt đầu được yêu cầu
Chuỗi I2C : được sử dụng khi cần các thông số vượt quá 8 bit, vì vậy nó phải được phân phối trên ít nhất là 2 thanh ghi của I2C:
Khi một thông số được thay đổi bởi 2 lần ghi thì nó có thể giữ giá trị không phù hợp (invalid) trong khoảng thời gian lần đầu và lần cuối I2C được hoàn thành, có nghĩa là các bit đầu của nó có thể mang giá trị mới trong khi các bit còn lại vẫn giữ giá trị cũ
Trang 9Để tránh sai sót này chuỗi I2C sẽ giữ các bit giá trị cập nhật của các thông số trong bộ nhớ cục bộ, và các bit của chuỗi I2C được cập nhật với nhau một lần khi tác vụ ghi vào thanh ghi cuối cùng hoàn thành
Tác vụ hợp lý trên chuỗi I2C sẽ dựa trên các cơ sở sau: Các thanh ghi dành cho chuỗi
I2C 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
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
-bit 1 quyết định bộ giải mã có kết nối trực tiếp với bộ mãù hóa hay không
Trang 100x0Eh ADI
Control
Bit 5 ở mức 0 thì truy cập bản đồ thanh ghi của người dùng, ở mức 1 truy cập bản đồ thanh ghi ngắt
Được cài đặt tùy ý trừ bit 5 Bit5 dùng để cho phép người dùng truy cập bản đồ ngắt
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
0x17h
Shaping
Filter
Control
41h: bit 6 = 1 thì chọn bộ lọc SH1
đối với thành phần chrom, bit 1 =
1 và các bit 4,3,2,1 = 0 thì chế độ tự động chọn bộ lọc cho thành phần luma: gai xung thấp cho nguồn tín hiệu kém chất lượng hoặc băng rộng cho nguồn chất lượng cao
Cho phép lựa chọn 1 dãy các bộ lọc thấp hay lọc gai xung thấp hoặc bộ mã hóa sẽ chọn một bộ lọc tối ưu tùy theo chất lượng nguồn tín hiệu đưa vào
0x2Bh Misc Gain
Control
00h: Cập nhật cho peak white trên
từng line video và ở chế độ màu
Bit 0 xác định chu kỳ cập nhật cho peak white Bit7 cài đặt chế độ màu hay trắng đen
0x2Ch
AGCMod
e Control
8Ch: cố định độ lợi màu và độ
sáng (phương pháp thủ công) 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
Trang 110x2Dh
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] để kết hợp với 4 bit cuối của Chroma Gain Control 1 để tạo CMG[11:0] xác định độ lợi màu
0x2Fh
Luma
Gain Control 1
F4h: 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 LMG[11:8] lập trình độ lợi sáng mong muốn Bit 7,6 là LATG[1:0] định thì cho độ lợi màu tự động theo dõi tốc đôï AGC
0x30h
Luma
Gain Control 2
Tùy vào độ lợi màu cần có mà đặt giá trị.LMG[11:0]=1234d thì độ lợi = 1 với hệ NTSC CMG[11:0]
=1266d thì độ lợi = 1 với hệ PAL
Ứng với LMG[7:0] kết hợp với 4bit cuối của Luma Gain Control1 tạo LMG[11:0] xác định độ lợi màu
0x31h
VS and
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
Bit 7,6 là VHESE,VHESO 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 Odd Field
Trang 120x37h Polarity
A0h: VS và HS tích cực mức thấp
và Field tích cực mức cao LLC1 đảo ngược cực tính so với sơ đồø định thì
Bit 6,4,2 luôn cài ở mức 0 Bit 3,5,7 xác định mức tích cực của Field,VS,HS Bit1 xác định LLC1 có đảo cực tính hay không
0x3Ah
16h: cho phép Power Down trên
ADC2, ADC1 ADC0 hoạt động bình thường Bit4 mặc định là 1
Bit 1,2,3 ở mức 1 cho phép chế độ Power-Down tương ứng trên các bộ ADC2, ADC1, ADC0
0x50h CTI DNR
Control 4
00h: như vậy ta coi như không có
các xung nhiễu
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
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ụ
SWITCH 1
05h: ADC1 không kết nối, ADC0
nối với AIN6 (trên DE2 thì cổng TVin chỉ nối với chân AIN6 của ADV7181)
Phải đặt SETADC_sw_man_en = 1 ở
thanh ghi 0xC4h
4 bit thấp là ADC0_SW[3:0] , 4 bit cao là ADC1_SW[3:0] để điều khiển việc chọn thủ công cho ADC0 và ADC1
Trang 130xC4h ADC
SWITCH 2
80h: ADC2 không được kết nối
Bit7 = 1 thì mới cho phép các cài đặt thủ công ở thanh ghi 0xC3h, 0xC4h
-4 bit thấp là ADC2_SW[3:0] -Bit7 là SETADC_sw_man_en
0xE4h
SD Saturation
Cr
3Eh: tăng độ lợi màu vơi hệ số
khác 0 db
SD_SAT_CB [7:0] điều chỉnh sự bãùo hòa của bức hình bằng việc tăng giảm tác động màu
0xE5h NTSC V Bit
Begin
80h: Bit7 là NVBEGDELO lên 1 :
làm cho việc bit V lên mức cao bị trễ 1 line thuộc Odd Field
5 bit cuối là NVBEG[4:0] chỉ ra số line sau khi lcount cùng tác động để đặt V lên cao
0xE6h NTSC V Bit
End
03h: Bit7,bit6 là NVENDDELO
và NVENDDELE ở mức 0 nên không làm trễ
5 bit cuối là NVEND[4:0] chỉ ra số line sau khi lcount cùng tác động để đưa V xuống thấp
0xE7h NTSC F Bit
Toggle
85h: Bit7 là NVBEGDELO lên 1 :
làm cho việc chuyển đổi của bit F
bị trễ 1 line thuộc Odd Field
5 bit cuối là NFTOG[4:0] ( =
00011 thì mặc định) chỉ ra số line sau khi lcount cùng tác động để chốt tín hiệu F
0xEAh PAL F Bit
Toggle
0Fh: không tạo trễ PAL mặc định
thì PFTOG[4:0] = 00011
5 bit cuối là PFTOG[4:0] chỉ
ra số line sau khi lcount cùng tác động để chốt tín hiệu F
Hai thanh ghi ở địa chỉ 03h và 8Fh được giữ nguyên như mặc định của nhàsản xuất để cho ra định dạng video ITU656 8 bit trên các chân P8 đến P15 của Pixel Port đồng thời tần số clock đưa ra LLC là 27MHz
Tại các địa chỉ 00h, 0Eh, 10h, 11h, 3Ah, C3h và C4h là các thanh ghi cần được nạp giá trị chính xác ở những bit nhất định, số còn lại được cài đặt theo khuyến nghị của nhà sản xuất Đồng thời tại địa chỉ 0037h ta đặt chế độ đảo ngược tính của các tín hiệu VS,
Trang 14Hình 1.4: Dạng sóng do ADV7181B xuất ra với cấu hình hoạt động đề ra
Tín hiệu V không những chỉ là tín hiệu đồng bộ mà còn cho biết trong các khoảng từ line 1 đến line 9 và từ line 264 đến line 272 thì bit V tương ứng trong trường SAV ở mức 1, chỉ ra rằng đó là các Line trống (Blanking) Đây là điểm khác biệt so với frame ảnh theo chuẩn ITU656 ở Hình 2mà ta cần chú ý khi chọn dữ liệu để xử lý sau này
Trang 151.3 SDRAM IS42S16400
SDRAM IS42S16400 có tất cả 67180864 bit SDRAM được tổ chức thành 4 dải (BANK) nhớ, mỗi dải có dung lượng 1024576 từ (Words) 16 bit với tốc độ truyền dữ liệu có thể lên đến 133MHz
1.3.1 NGUYÊN TẮC HOẠT ĐỘNG
Thực hiện việc truyền dữ liệu qua các chân địa chỉ và dữ liệu dưới sự chi phối của các chân diều khiển:
CKE Cho phép xung clock Khi tín hiệu này ở mức thấp, chíp xử lý giống như là xung clock hoàn toàn bị dừng lại
/CS Lựa chọn Chip: Ở mức cao, thì bỏ qua tất cả các đầu vào khác (ngoại trừ CKE), và hoạt động như một lệnh NOP nhận được
DQM Mặt nạ dữ liệu: Khi cao, những tín hiệu này khống chế dữ liệu vào/ra Khi đi kèm với sự viết, dữ liệu không thật sự viết vào Khi dữ liệu được giữ ở mức trong 2 chu kỳ trước một chu kỳ đọc, việc đọc không được đưa ra từ chíp Trên một chíp nhớ x16 hay DIMM, với 1 từ 8 bit thì có một hàng DQM
/RAS Row Address Strobe là bit điều khiển cho qua địa chỉ hàng
/CAS Column Address Strobe bit điều khiển cho qua địa chỉ cột
/WE Write enable cho phép ghi
Các tín hiệu /RAS, /CAS, /WE dùng để lựa chọn 1 trong 8 lệnh Nói chung thì dùng
để phân biệt các lệnh đọc, ghi
SDRAM bên trong được chia thành trong 2 hay 4 dải (Bank) dữ liệu nội độc lập bên trong Một hoặc hai địa chỉ vào của dải (Bank) BA0 và BA1 sẽ lựa chọn Bank mà lệnh tác động đến
Phần lớn các lệnh đều sử dụng địa chỉ được đưa vào ngõ vào địa chỉ Nhưng có một số lệnh lại không sử dụng chúng, hay chỉ biểu diễn một địa chỉ cột,vì vậy ta sử dụng A[10]
Trang 16Bảng 1.2: Các chế độ truy cập SDRAM
/CS /RAS /CAS /WE Ban A10 An Lệnh
L H H L X X X Dừng (hủy) truyền khối: dừng lệnh đọc khối hay ghi khối khi đang thực hiện
L H L H Bank L Column Read: Đọc khối dữ liệu từ hàng kích hoạt hiện hành
Đọc với Precharge ( nạp lại ) tự động: khi thực hiên xong thì Precharge ( tức là đóng hàng lại)
L H L L Bank L Column Write: ghi khối dữ liệu từ hàng kích hoạt hiện hành
L H L L Bank H Column Ghi với sự nạp lại tự động: khi thực hiên xong thì nạp lại (Precharge) tức là đóng
hàng lại
L L H H Bank Row Active(kích hoạt): mở một hàng với lệnh Read và Write
L L H L Bank L X Precharge( nạp lại): Ngưng hoạt động hàng hiện hành của bank (dải) được chọn
L L H L X H X Precharge all (nạp lại toàn bộ): Ngưng hoạt động hàng hiện hành của tất cả các bank
(dải)
Auto refresh (tự động làm tươi): làm tươi 1 hàng của từng bank,sử dụng bộ đếm nội Tất cả các dải phải được nạp lại
Load mode register (chế độ nạp các thanh ghi): A[9:0] được nạp để cấu hình chip DRAM
Trong đó quan trọng nhất là ngầm định CAS (2 hoặc 3 chu kỳ) và chiều dài khối (1, 2, 4 hoặc 8 chu kỳ)