Thử nghiệm thiết kế dao động ký số trên FPGA - Pdf 95


i
Tóm Tắt Nội Dung Khóa Luận
Máy hiển thị sóng hay còn gọi là máy dao động số có nhớ (DSO) là một thiết bị
không thể thiếu trong đo lường điều khiển. Cùng với sự phát triển của khoa khọc công
nghệ mà ngày nay chúng ta có những máy hiện sóng có tính năng rất phong phú và
kích thước cũng được giảm xuống đáng kể, bớt cồng kềnh và đặc biệt giá thành lại hạ
xuống rất nhiều. Ngày nay công nghệ sản xuất FPGA rất phát triển nên khóa luận này
em xin trình bày về cách thiết kế một máy dao động số có nhớ dựa trên công nghệ
FPGA.
Khóa luận được chia làm hai phần: Phần lý thuyết em xin trình bày một cách
tổng quan nhất về công nghệ FPGA, giới thiệu sơ qua về các bước thực hiện trong
FPGA. Phần thứ hai em xin trình bày về các loại máy dao động số có nhớ, cấu tạo và
nguyên tắc hoạt động của máy dao động tương tự và máy dao động số có nhớ. Cuối
cùng là phần em trình bày về các bước thiết kế một máy dao động số trên FPGA và
một số kết quá thu được. Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB ii

Mục lục

3.2.1 Cấu hình để nạp vào FPGA ................................................................................. 32
3.2.2 Chế độ tiền trigger ............................................................................................... 33
3.2.3 Dò điểm trigger ................................................................................................... 34
3.3.4 Bộ tạo xung ......................................................................................................... 36
3.3.6 Giao diện logic cổng song song ........................................................................... 37
3.3.7 Điều khiển ADC .................................................................................................. 38
Chương 4 ............................................................................................................................. 39
CHƯƠNG TRÌNH VÀ MÔ PHỎNG TRÊN KIT DE2 ........................................................ 39
4.1 TỔNG QUAN VỀ KIT DE2 VÀ CHIP CYCLONE II................................................ 39
4.2 CHƯƠNG TRÌNH VÀ MÔ PHỎNG ......................................................................... 44
4.2.1. Chương trình chính điểu khiển DSO ................................................................... 44
4.2.2 Chương trình điểu khiển logic cổng song song ..................................................... 46
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB iii
4.2.3 Chương trình điểu khiển FIFO ............................................................................. 47
4.2.4 Chương trình tạo dạng xung chia theo tỉ lệ 1/2, 1/4, 1/8, 1/16, 1/32 ...................... 49
4.2.4 Chương trình dò điểm trigger ............................................................................... 50
Kết luận ............................................................................................................................... 52
PHỤ LỤC ............................................................................................................................ 53
Tài liệu tham khảo ............................................................................................................... 70


I/O : Input/Output
LAB : Logic Array Block.
LE : logic Element.
LUT : Look Up Table
MAC : Multication and accumulation
PC : Personal Computer
PLA : Programmable Logic Array
RAM : Random Access Memory
ROM : Read-Only Memory
SPLD : Simple Programable Devices.
SRAM : Static Random Access Memory.
VHDL : VHSIC hardware description language
VHSIC : Very High Speed Itergrated Circuit
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB v
WCLK : Write Clock.
WE : Write Enable.
WRST : Write Reset.
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB vi
Lời cảm ơn
Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các thầy, cô giáo khoa Điện tử -
Viễn thông trường Đại học Công Nghệ- ĐHQG Hà Nội, những người đã tận tình dạy
dỗ, chỉ bảo em trong suốt bốn năm học vừa qua tại nhà trường.

Tiếp theo em xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Thăng Long và
CN Phan Văn Minh , những người đã trực tiếp hướng dẫn em trong suốt quá trình học
tập và nghiên cứu tại trường, các thầy đã truyền cho em cách tư duy có hệ thống,
phương pháp nghiên cứu, tiếp cận thực tế - những điều rất quý báu với em khi ra
trường làm việc thực tế.

oscilloscop số, gần đây nhất là một số công ty đo lường hàng đầu thế giới vừa cho ra
đời oscilloscop hỗn hợp giữa số và tương tự được tính hợp với các tính năng mạnh mẽ
nhất thừa hưởng từ ngành công nghiệp máy tính.
Thế kỉ 21 là thế kỉ của thông tin và kĩ thuật số với sự phát triển và ứng dụng rộng
rãi của các bộ vi xử lý. Bằng việc đưa sức mạnh kĩ thuật số vào thực tiễn, các bộ vi xử
lý ngày một thay đổi cách sống của xã hội loài người. Khóa điện tử, máy điện thoại,
nồi cơm điện…..của chúng ta đang ngày một thông minh hơn, mạnh mẽ và nhanh nhờ
các bộ vi xử lý. Tất cả các ngành công nghiệp lớn như: viễn thông, điều khiển công
nghiệp, sản xuất hàng tiêu dùng… đều ý thức được và sử dụng triệt để công nghệ mới
và họ cũng vấp phải những vần đề mới cần giải quyết đó là các vấn đề liên quan tới
tín hiệu và điều khiển số và tương tự của thế giới thực. Oscilloscop với vai trò là một
thiết bị giám sát, đo kiểm phải đáp ứng được các yêu cầu ngày càng khắt khe do các
ngành công nghiệp này đắt ra.
Với mục đích là tìm hiểu và thiết kế một oscilloscop số, khóa luận này trình bày
và phân tính cấu tạo, nguyên lí hoạt động của các loại oscilloscop, các tính năng tiến
tiến của chúng, đặc biệt là cách thiết kế một oscilloscop kĩ thuật số có nhớ dùng chip
FPGA làm trung tâm điều khiển. Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 2
Chương 1
TỔNG QUAN VỀ FPGA

1.1 FPGA LÀ GÌ?
FPGA (Field-Programmable Gate Array) là vi mạch dùng cấu trúc mảng phần tử
logic mà người dùng có thể lập trình được. Vi mạch FPGA được cấu thành từ các bộ

FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinx
vào năm 1984, kiến trúc mới của FPGA cho phép tích hợp số lượng tương đối lớn các
phần tử bán dẫn vào 1 vi mạch so với kiến trúc trước đó là CPLD. FPGA có khả năng
chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ 10.000
đến 100.000 cổng logic; con số này đối với PAL, PLA còn thấp hơn nữa chỉ đạt vài
nghìn đến 10.000.
CPLD được cấu trúc từ số lượng nhất định các khối SPLD (Simple programable
devices, thuật ngữ chung chỉ PAL, PLA). SPLD thường là một mảng logic AND/OR
lập trình được có kích thước xác định và chứa một số lượng hạn chế các phần tử nhớ
đồng bộ (clocked register). Cấu trúc này hạn chế khả năng thực hiện những hàm phức
tạp và thông thường hiệu suất làm việc của vi mạch phụ thuộc vào cấu trúc cụ thể của
vi mạch hơn là vào yêu cầu bài toán.
Kiến trúc của FPGA là kiến trúc mảng các khối logic, khối logic, nhỏ hơn nhiều
nếu đem so sánh với một khối SPLD, ưu điểm này giúp FPGA có thể chứa nhiều hơn
các phần tử logic và phát huy tối đa khả năng lập trình của các phần tử logic và hệ
thống mạch kết nối, để đạt được mục đích này thì kiến trúc của FPGA phức tạp hơn
nhiều so với CPLD.
Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợp
nhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay
các bộ nhân cộng (multication and accumulation, MAC), thuật ngữ tiếng Anh là DSP
slice dùng cho những ứng dụng xử lý tín hiệu số DSP.
Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hộ trợ
tái cấu trúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ trong khi vẫn đảm
bảo hoạt động bình thường cho các bộ phận khác.
1.3. ỨNG DỤNG
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 4
Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không,
vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống điều
khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình

Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích
hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex 4,5 của
Xilinx có chứa nhân sử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân ARV…,
hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA được tích hợp các DSP
Slide là bộ nhân cộng tốc độ cao, thực hiện hàm A*B+C, ví dụ dòng Virtex của Xilinx
chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit.
1.4.3 Quy trình thiết kế FPGA tổng quát.
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 6

Hình 3: Quy trình thiết kế FPGA
1.4.3.1 Mô tả ban đầu về thiết kế
Khi xây dựng một chip khả trình (FPGA) với ý nghĩa dành cho một ứng dụng
riêng biệt, vì xuất phát từ mỗi ứng dụng trong thực tiễn cuộc sống, sẽ đặt ra yêu cầu
phải thiết kế IC thực hiện tối ưu nhất những ứng dụng đó. Bước đầu tiên của quy trình
thiết kế này có nhiệm vụ tiếp nhận các yêu cầu của thiết kế và xây dựng nên kiến trúc
tổng quát của thiết kế.
* Mô tả thiết kế: Trong bước này, từ những yêu cầu của thiết kế và dựa trên khả
năng của công nghệ hiện có, người thiết kế kiến trúc sẽ xây dựng nên toàn bộ kiến trúc
tổng quan cho thiết kế. Nghĩa là trong bước này người thiết kế kiến trúc phải mô tả
được những vấn đề sau:
 Thiết kế có những khối nào?
 Mỗi khối có chức năng gì?
 Hoạt động của thiết kế và của mỗi khối ra sao ?
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 7
 Phân tích các kỹ thuật sử dụng trong thiết kế và các công cụ, phần mềm
hỗ trợ thiết kế.
Một thiết kế có thể được mô tả sử dụng ngôn ngữ mô tả phần cứng, như VHDL
hay Verilog HDL hoặc có thể mô tả qua bản vẽ mạch (schematic capture). Một thiết kế

Mapping
LUT2
LUT3
LUT4
LUT5
LUT1
FF1
FF2
LUT0

Hình 5: Sơ đồ gán chân
* Đặt khối và định tuyến (Place & Route):
 Đặt khối: đặt các khối ánh xạ vào các tế bào (cell) ở vị trí tối ưu cho việc
chạy dây.
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 9
ECE 545 – Introduction to VHDL 64
Placing
CLB SLICES
FPGA

Hình 6: Sơ đồ không gian gán bên trong FPGA
 Định tuyến: bước này thực hiện việc nối dây các tế bào.
ECE 545 – Introduction to VHDL 65
Routing
Programmable Connections
FPGA

Hình 7: Sơ đồ định tuyến
Để thực hiện việc này, chúng ta cần có các thông tin sau:

thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi chỉ sử dụng một ngôn
ngữ duy nhất. Và khi đem so sánh với các ngôn ngữ mô phỏng phần cứng khác đã kể
ra ở trên ta thấy VHDL có một số ưu điểm hơn hẳn các ngôn ngữ khác:
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 11
 Thứ nhất là tính công cộng: VHDL được phát triển dưới sự bảo trợ của
chính phủ Mỹ và hiện nay là một tiêu chuẩn của IEEE. VHDL được sự hỗ
trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp công cụ
thiết kế mô phỏng hệ thống.
 Thứ hai là khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế.
VHDL cho phép thiết kế bằng nhiều phương pháp ví dụ phương pháp thiết
kế từ trên xuống, hay từ dưới lên dựa vào các thư viện sẵn có. VHDL cũng
hỗ trợ cho nhiều loại công cụ xây dựng mạch như sử dụng công nghệ
đồng bộ hay không đồng bộ, sử dụng ma trận lập trình được hay sử
dụng mảng ngẫu nhiên.
 Thứ ba là tính độc lập với công nghệ: VHDL hoàn toàn độc lập với công
nghệ chế tạo phần cứng. Một mô tả hệ thống dùng VHDL thiết kế ở mức
cổng có thể được chuyển thành các bản tổng hợp mạch khác nhau tuỳ
thuộc công nghệ chế tạo phần cứng mới ra đời nó có thể được áp dụng
ngay cho các hệ thống đã thiết kế.
 Thứ tư là khả năng mô tả mở rộng: VHDL cho phép mô tả hoạt động của
phần cứng từ mức hệ thống số cho đến mức cổng. VHDL có khả năng mô
tả hoạt động của hệ thống trên nhiều mức nhưng chỉ sử dụng một cú pháp
chặt chẽ thống nhất cho mọi mức. Như thế ta có thể mô phỏng một bản
thiết kế bao gồm cả các hệ con được mô tả chi tiết.
 Thứ năm là khả năng trao đổi kết quả: Vì VHDL là một tiêu chuẩn được
chấp nhận, nên một mô hình VHDL có thể chạy trên mọi bộ mô tả đáp
ứng được tiêu chuẩn VHDL. Các kết quả mô tả hệ thống có thể được trao
đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau nhưng cùng
tuân theo tiêu chuẩn VHDL. Cũng như một nhóm thiết kế có thể trao đổi

- out: chỉ ra rằng tín hiệu là một tín hiệu ra khỏi thực thể và chỉ các thực thể
khác dùng đến tín hiệu này mới có thể đọc giá trị của nó.
- buffer: tín hiệu là tín hiệu ra và giá trị của nó có thể được đọc cả ở bên
trong thực thể.
- inout: tín hiệu có thể là tín hiệu vào hoặc tín hiệu ra.
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 13
1.5.2.2 Kiến trúc của mô hình
Cấu trúc của nó như sau:
ARCHITECTURE tên_architecture OF tên_entity IS
[các phần khai báo:signal, component…]
BEGIN
[code]
END tên_architecture;
Trong kiến trúc mô hình chúng ta có thể khai báo tất cả mọi thứ liên quan tới
chương trình, trong đó có các process, các chương trình con với lời gọi hàm
component, và khai báo các signal và các câu lệnh “port map” để kết nối các thành
phần con có trong kiến trúc. Nói chung cũng như ngôn ngũ C thì ở đây kiến
trúc(architecture) là thân của chương trình của ta.

Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 14

Chương 2
TỔNG QUAN VỀ OSCILLOSCOP
hình. Với cách quan sát đo lường này cho phép ta đánh giá, so sánh các thông số đặc
tính của chúng một cách định tính song nhanh chóng và có nhận xét hiệu quả. Thường
thì các oscilloscop với cấu tạo hai hệ thống súng điện tử riêng biệt trong cùng một ống
phóng tia điện tử.
Khi cần nghiên cứu, đo lường các tín hiệu độc lập thì ta dùng loại oscilloscop
không đồng bộ.
Khi cần nghiên cứu tín hiệu như tín hiệu xung có độ rộng rất nhỏ hay tín hiêu có
chu kì với tần số cao thì dùng loại oscilloscop loại hoạt nghiệm, là loại oscillo được
thực hiện theo phương pháp lấy mẫu.
Khi có yêu cầu nghiên cứu cụ thể hơn về các thông số, đặc tính của tín hiệu,
muốn đo các thông số khác của nó, muốn xử lý được kết quả quan sát, so sánh chúng
với các giá trị chuẩn mà đã được cho trước, hoặc khi sử dụng oscilloscop như là một
phần của hệ đo lường tự động thì ta cần chọn oscilloscop có cài đặt bộ vi xử lý.

Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 16
2.3 CẤU TRÚC CỦA OSCILLOSCOP ĐIỆN TỬ TƯƠNG TỰ
Oscillloscop về cơ bản cấu tạo của nó là một loại máy vẽ di động theo hai chiều
X,Y
Cấu trúc của sơ đồ như sau:
 Kênh lệch đứng Y
 Kênh lệch ngang X
 Kênh khống chế độ sáng Z
 Ống phóng tia điện tử CRT
Kênh lệch đứng Y dùng để xử lý tín hiệu cần quan sát, có nhiệm vụ phối hợp về
trở kháng, mức điện với tín hiệu của mạch điện cần đo (tạo trễ pha tín hiệu khi sử dụng
chế độ quét đợi để quan sát tín hiệu xung có độ rộng nhỏ), và khuếch đại tín hiệu (
khuếch đại đối xứng) quan sát trước khi đưa vào cặp phiến lệch Y của ống điện tử. Bộ
tạo trễ nhằm đảm bảo cho sự khởi động gốc thời gian của điện áp quét (của kênh lệch
ngang) trước khi tín hiệu cần quan sát tới cặp phiến Y, như vậy đảm bảo sự hiện hình

dT
dU
y
)(
min)(max)(
%



Trong một chu kí quét T
q
thì : T
th
>>T
ng

Hiệu suất tạo biên độ quét:
Eng
Uq
%


Điều kiện để có một dao đồng đồ đứng yên, tức là điều kiện giữ đồng bộ:
T
q
= nT
th
( T
th=
fth

khởi động quá trình biến đổi. Kết quả là điện áp tín hiệu được số hóa, có nghĩa là bộ
biến đổi lấy mẫu dạng tín hiệu ở nhiều điểm và biến đổi giá trị tức thời của biên độ tại
mỗi điểm thành giá trị mã nhị phân tỷ lệ với biên độ đó. Tại thời điểm kết thúc quá
trình biến đổi, bộ biến đổi ADC gửi một lệnh kết thúc đến bộ điều khiển
Mỗi số nhị phân được chuyển tới bộ nhớ và được nhớ ở vị trí ô nhớ riêng biệt.
Bởi vì đây là bộ nhớ không linh hoạt (nonvolatile memory) nên nó có thể lưu trữ số
nhị phân với bất kì độ dài thời gian nào. Khi cần thiết một lệnh từ khối điều khiển có
thể làm cho các số nhị phân này có thể sắp sếp theo chuỗi thứ tự đã xác định và được
đưa tới bộ biến đổi DAC. Bộ này sẽ biến đổi các giá trị nhị phân thành điện áp tương
tự, và điện áp này được đưa qua bộ khuếch đại Y.Do bộ nhớ được liên tiếp quét nhiều
lần trong một giây lên màn hình được sáng liên tục và hiện lên dạng sóng và hình vẽ
các điểm sáng, biểu thì dạng sóng cần quan sát.
Khóa luận tốt nghiệp Thử nghiệm thiết kế dao động ký số trên FPGA
Nguyễn Văn Thông K49ĐB 19
Để đạt được một đường sáng liên tục, còn có thể có thêm một mạch nội suy (làm
mượt giữa bộ DAC và bộ khuếch đại Y).
Hạn chế của loại trên do tốc độ biến đổi ADC thấp, nhưng gần đây đã có những
loại ADC biến đổi với tốc độ rất cao tuy nhiên giá thành thì rất đắt.
Một loại oscilloscop có nhớ khác là dùng bộ vi xử lí làm khối điều khiển.
Sơ đồ khối của oscilloscop số có nhớ như hình vẽ:

Hình 10: Sơ đồ khối của oscilloscop số có nhớ
Hình dưới có phần khác hình trên ở chỗ: Bộ giao động quét thực sự là bộ biến
đổi DAC kênh X, được điều khiển từ số liệu của Microprocessor. Đầu ra bộ biến đổi
DAC tạo ra điện áp nhảy bậc, sao cho sự nhảy bậc thang không khác biệt quá nhiều so
với điện áp bậc thang được tạo ra từ bộ dao động quét tương tự.
Với DAC loại 8 bit, số bước nhảy là 2
8
=256. Toàn bộ đoạn điện áp ra được chia
thành 255 bước riêng biệt, và sự lệch ngang của tia điện tử thực tế là tỉ lệ theo thời


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status