Khóa luận Thử nghiệm thiết kế dao động ký số trên FPGA

Mục lục

CÁC TỪ VIẾT TẮT . . . . iv

Mở đầu . . . . . 1

Chương 1 . . . . 2

TỔNG QUAN VỀ FPGA . . . . 2

1.1 FPGA LÀ GÌ? . . . 2

1.2. LỊCH SỬ RA ĐỜI FPGA . . . 3

1.3. ỨNG DỤNG . . . . 3

1.4. CẤU TRÚC MỘT FPGA . . . 4

1.4.1 Khối logic FPGA . . . . 4

1.4.2 Các phần tử tích hợp sẵn . . . 5

1.4.3 Quy trình thiết kế FPGA tổng quát. . . . 5

1.4.3.1 Mô tả ban đầu về thiết kế . . . 6

1.4.3.2 Thực thi . 8

1.4.3.3 Quá trình Nạp (download) và lập trình (program) . . 10

1.5 TỔNG QUAN VỀ VHDL . . . 10

1.5.1 Giới thiệu về ngôn ngữ mô tả phần cứng VHDL . . 10

1.5.2 Cấu trúc một mô hình hệ thống mô tả bằng VHDL . . 12

1.5.2.1 Thực thế (entity) của mô hình . 12

1.5.2.2 Kiến trúc của mô hình . . . 13

TỔNG QUAN VỀ OSCILLOSCOP . 14

2.1 DAO ĐỘNG KÍ ĐIỆN TỬ . . . 14

2.2 PHÂN LOẠI OSCILLOSCOP . . . 15

2.3 CẤU TRÚC CỦA OSCILLOSCOP ĐIỆN TỬ TƯƠNG TỰ . . 16

2.3 CẤU TRÚC CỦA OSCILLOSCOP ĐIỆN TỬ SỐ . 17

CÁC BƯỚC THIẾT KẾ MỘT OSCILLOSCOP SỐ CÓ NHỚ . . 22

3.1 CÁC THÀNH PHẦN TRONG THIẾT KẾ. . . 23

3.1.1.Bộ nhớ . . . . 23

3.1.2 Bộ biến đổi tương tự - số ADC . . . 25

3.1.4 Điều khiển logic . . . 28

3.2 THIẾT KẾ CHI TIẾT . . . . 32

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

pdf76 trang | Chia sẻ: oanh_nt | Lượt xem: 2078 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Thử nghiệm thiết kế dao động ký số trên FPGA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
SO) có các ưu điểm là:  Duy trì hình ảnh dạng của tín hiệu trên màn hình với khoảng thời gian không hạn chế.  Tốc độ đọc có thể thay đổi trong giới hạn rộng  Các hình ảnh lưu trữ có thể xem lại được ở tốc độ thấp hơn nhiều tốc độ quét có thể tới 1cm/1h.  Tạo được hình ảnh dao động đồ tốt hơn, tương phản nhiều hơn loại osilloscop tương tự  Đơn giản hơn trong sử dụng vận hành 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 18  Có thể truyền trực tiếp số liệu của tín hiệu cần quan sát dưới dạng số và có thể ghép trực tiếp với máy tính hoặc được xử lí trong osilloscop. Sơ đồ của loại Oscilloscop có nhớ số như hình vẽ Hình 9: Sơ đồ khối của osilloscop sốcó nhớ Khi chuyển mạch S đặt ở vị trí 2 thì oscilloscop làm việc là một oscilloscop có nhớ. Điện áp tín hiệu cần quan sát được đưa vào đầu Y, tới bộ biến đổi tương tự ->số ADC. Tại thời điểm đó (t1), khối điều khiển gửi một lệnh tới đầu vào của bộ ADC và 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à 28=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 gian. Tốc độ biến đổi DAC và bộ điều khiển quét quyết định tốc độ quét cực đại, tốc độ quét có thể điều khiển bằng việc thay đổi số đến đầu vào số của bộ DAC. Còn tổ hợp các bộ phía trên gồm: ADC, Bộ nhớ, DAC của kênh Y cho phép khả năng thay đổi trễ của tín hiệu vào của hệ thống làm lệch y trong một giới hạn rộ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 20 đồng thời nó có thể kết hợp được với DAC của kênh X như vậy đảm bảo sự đồng bộ chính xác. 2.4 OSCILLOSCOP TƯƠNG TỰ CÓ CÀI ĐẶT VI XỬ LÝ Không chỉ có oscilloscop điện tử số mới có thê cài đặt vi xử lý mà oscilloscop tương tự cũng có thể cài đặt được vi xử lý và nó có thể hoạt động gần giống như oscilloscop điện tử số. Thực chất của nó là nó có dùng thêm một số thiết bị xử lý số như dùng bộ vi xử lý, các bộ biến đổi ADC… Hình 11: Sơ đồ một oscilloscop tương tự dùng vi xử lý Với loại này ta thấy ngay sơ đồ nó được chia làm ba phần:  Phần thứ nhất nó giống như một oscilloscop tương tự  Phần giữa có các bộ biến đổi tương tự số (ADC) và bộ biến đối số tương tự (DAC) cùng với các module nhớ và một hệ vi xử lý với chức năng kiểm tra, chúng ta có thể coi phần này như là một phần hay một oscilloscop có nhớ.  Phần dưới cùng là bộ vi xử lý để phục vụ cho việc điều khiển chương trình và xử lý tín hiệu số, card giao diện dùng để nối oscilloscop với giao diện hệ thố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 21 Khi cần nhận dạng của tín hiệu được nghiên cứu theo tỷ lệ thời gian thực tế thì oscilloscop làm việc như một oscilloscop vạn năng. Nếu như không dùng khả năng điều khiển bằng chương trình và xử lý theo những khả năng của bộ vi xử lý số theo khả năng của bộ vi xử lý thì oscolloscop trên làm việc như một oscilloscop tương tự thông thường. Khi đó có thể đổi một số khối chuẩn (bộ khuếch đại Y,X, máy phát chuẩn…) như đối với một số oscilloscop thông thường mà cấu tạo được thiết kế có thể thay thế các khối này hay nối thêm các khối mới. Xu hướng hiện nay ta có thể chia nó ra làm hai phần: phần tương tự và phần số cũng được thể hiện ở chỗ phân bố vị trí của các phần thuộc hệ điều khiển. Những cái để điểu khiển thông thường hay gặp ở oscilloscop thông thường thì vẫn được giữ nguyên ở vị trí nguyên thủy được cách riêng với bàn phím. Vi xử lý làm cho loại oscilloscop này có thêm các đặc điểm mới. Nó có chứa tất cả các modul mới mà một hệ thống như thế phải có. Mắt xích nối giữa vi xử lý với khối tương tự chính là bộ biến đổi tương tự số (ADC). Hệ thống được nối với nhau thông qua các bus hệ thống của vi xử lý và được liên kết chung tới các ROM, RAM và các card giao diện để giao tiếp với thiết bị hiển thị như màn hình hay có thể kết nối trực tiếp tới máy tính thông qua các loại card. Một loại Oscilloscop có nhớ số(DSO) là ta có thể dùng một con chip FPGA để làm trung tâm điều khiển Cấu tạo và chi tiết thiết kế một Oscilloscop có nhớ số (DSO) dùng chip FPGA sẽ được trình bày chi tiết trong chương 3. ---------------------------------- 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 22 Chương 3 CÁC BƯỚC THIẾT KẾ MỘT OSCILLOSCOP SỐ CÓ NHỚ Hình 12: Sơ đồ khối của DSO đã được đơn giản hoá dùng FPGA Nguyên lý hoạt động tương đối đơn giản. Tín hiệu được đưa qua một bộ khuếch đại tín hiệu sau đó được đưa vào một con ADC, tại ADC tín hiệu sẽ được lấy mẫu để lượng tử hóa tín hiệu tương tự thành tín hiệu số. Đầu ra của cả ADC và bộ nhớ đệm đều cùng chia sẻ chung bus 3 trạng thái. Nó là một bước trung gian để quyết định chọn kênh nào, đầu ra nào, để tiết kiệm được đường truyền và tránh xung đột dữ liệu khi cả hai đầu ra của ADC và bộ nhớ đệm cùng ra một lúc…chương trình điều khiển logic sẽ quyết định chọn 1 trong 2 đầu ra hoặc của ADC hoặc của bộ nhớ đệm để đưa nó tới bus, vì vậy nó chọn 1 trong 2 là thuộc dạng logic tương tự hay logic dạng số. Sau đó 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 23 dữ liệu được đưa lên bus và được đưa vào bộ nhớ chính để lưu trữ dữ liệu. Lôgic điều khiển sẽ đồng thời theo dõi dữ liệu để quan sát điểm trigơ. Cách tiếp cận này loại trừ mạch điện bổ sung mà bình thường trigơ cần phải có, và thu hẹp đường tín hiệu tương tự, do đó giảm bớt nhiễu. Điều này cũng cung cấp khả năng gây nên tín hiệu dạng số khi dùng máy phân tích logic. Ngoài tìm điểm trigơ, logic điều khiển cũng thực hiện mọi chức năng “Glue logic” và phương thức tiền trigơ. Khi bộ nhớ đầy, dữ liệu dừng ghi và được chuyển vào PC thông qua cổng song song. Vì 2 kênh hoàn toàn riêng biệt nên chúng hoạt động một cách độc lập. Ví dụ: kênh A là trong chế độ phân tích logic (logic analyser), kênh B lại ở trong chế độ tương tự (analogue). Hiệu quả của tốc độ lấy mẫu có thể tăng gấp đôi bằng cách kết nối 2 đầu ra tương tự với nhau và đổi pha kênh thứ 2 đi 1800. Sau khi dữ liệu được đưa vào PC, nó được xen vào bởi phần mềm và dạng sóng đã được thiết kế lại. Mặc dù tín hiệu được thử 2 lần ở tần số thường, độ dài của bản ghi vẫn ko giảm vì cả hai bộ nhớ đang được dùng để lưu trữ dạng sóng đơn. 3.1 CÁC THÀNH PHẦN TRONG THIẾT KẾ 3.1.1.Bộ nhớ Từ đặc điểm kỹ thuật của DSO dùng chip FPGA mà ta thiết kế thì bộ nhớ cần những điều kiện cần thiết sau:  Dữ liệu bus rộng 8bit.  Có thể chứa 3Mbit.  Tốc độ truyền dữ liệu 40Mbytes/giây.  Cổng “đọc” và “ghi” riêng. Bởi vì tốc độ lấy mẫu của ADC là nhanh hơn rất nhiều so với tốc độ đọc của bộ nhớ (ở đây chúng ta dùng RAM) cho nên nhất thiết phải dùng bộ nhớ có hai cổng đọc và ghi riêng biệt để tránh tình trạng không có dữ liệu. Cho nên để thoả mãn được những yêu cầu này,chúng ta phải chọn bộ nhớ(RAM) có 2 đường đọc và ghi riêng biệt. Bởi vì tốc độ lấy mẫu khi dùng một con ADC flash tốc độ cao cho nên yêu cầu bộ nhớ cũng cần có tốc độ ghi dữ liệu cao và có tốc độ đọc dữ liệu phù hợp với tốc độ của cổng song song mà ta sử dụng để truyền dữ liệu lên máy tính Vì những lý do này để quyết định dùng bộ nhớ trong thiết kế ta nên dùng những bộ nhớ hình ảnh được sử dụng chính trong các ứng dụng video như thời gian dựa trên sự hiệu chỉnh và hình ảnh 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 24 trong phim. Chúng là loại bộ nhớ hội tụ đủ những yêu cầu của úng dụng của ta .Bởi vì nó có công suất chứa lớn, tốc độ truyền dữ liệu nhanh và cổng “đọc” và “ghi” riêng. Hơn nữa chúng được hợp nhất ở mức độ cao, làm đơn giản việc thiết kế bản mạch. Sau khi nghiên cứu và tìm hiểu các thiết bị có sẵn trên thị trường Việt Nam thì em chọn bộ nhớ của hãng Averlogic là AL422. Nó là một bộ nhớ hình ảnh và cũng giống như hầu hết các bộ nhớ hình ảnh khác, nó được thiết kế và chế tạo dựa trên công nghệ DRAM. Mặc dù bus dữ liệu bên ngoài chỉ rộng 8 Bit, phần lớn bộ nhớ hình ảnh sử dụng bus bên trong có chiều rộng hơn. ĐIều này làm tăng tốc độ hiệu quả nhờ tính tương đương. Logic tốc độ cao được dùng để chia tách bus bên trong thành nhiều phần 8 bit,mà sau này nó đó được đặt trên bus dữ liệu đầu ra. Thêm vào đó bộ điều khiển DRAM và address , nó tạo ra logic được giử trong AL 422.Vị trí dữ liệu được ghi vào được nhớ vào một thanh ghi địa chỉ. Giá trị của thanh này có thể là lớn lên hoặc về 0 (điểm bắt đầu của bộ nhớ). Tuy nhiên nó ko thể được dịch chuyển tới 1 vị trí ngẫu nhiên nào đó mà phải được tăng hay giảm một cách tuần tự vì quá trình ghi phải diễn ra liên tục. Những bộ nhớ hình ảnh chạy giống như những bộ đếm trong mà khi thanh ghi tiến tới đoạn cuối của bộ nhớ, nó sẽ tự động reset về điểm bắt đầu và lại bắt đầu ghi đè lên điểm đã có trước đó. Quá trình đọc sử dụng thanh ghi đọc tương tự. Vì thế những bộ nhớ hình ảnh thường được gọi là First In First Out Buffers (FIFO). Hình 13: Sơ đồ thực hiện chức năng của AL422 AL422 sử dụng 3 chân để kiểm soát quá trình ghi. WCLK, /WE, và /WRST. Dữ liệu sẽ được ghi vào bộ nhớ theo sườn xung ghi dữ liệu (WCLK) khi chân write enable cao (WE), và bộ đếm địa chỉ sẽ tăng dần theo sườn của xung clock. Trong trường hợp 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 25 thanh ghi (hay bộ đếm địa chỉ) ko được gia tăng thì dữ liệu ko được ghi. Để ghi lại dữ liệu vào bộ nhớ tại điểm đầu tiên cảu thanh ghi địa chỉ có giá trị 0 ta phải đưa chân write reset (WRST) xuống thấp và xung ghi (WCLK), địa chỉ sẽ được reset về điểm bắt đầu của bộ nhớ và dữ liệu được ghi vào điểm bắt đầu cùng với các địa chỉ tiếp theo khi thanh ghi địa chỉ tăng lên.. Quá trình đọc được kiểm soát bởi 4 chân, RCLK, /RE, /RRST và /OE. Dữ liệu cũng được đọc theo sường xung của xung read clock (RCLK), thanh địa chỉ đọc ra được gia tăng khi chân read enable (/RE) và chân OE ( output enable) cao,thì dữ liệu mới được đưa ra. Nếu chân OE mà ở mức thấp thì thanh ghi địa chỉ đọc dừng lại và dữ liệu không được ra hoặc thanh ghi địa chỉ vẫn tăng thế nhưng dữ liệu vẫn được chốt tại đó và không được ra. Thanh ghi địa chỉ đọc cũng có thể được reset về điểm bắt đầu của bộ nhớ bằng cách đăt chân read reset (/RRST) ở mức thấp và xung RCLK. Mặc dù được điều khiển bằng tay ở bên trong, DRAM refresh thu được từ RCLK or WCLK (bất cứ cái nào nhanh hơn), vì thế để duy trì tính nguyên vẹn của dữ liệu ít nhất 1 trong các tín hiệu trên phải được giữ chạy nhanh hơn 1MHz. 3.1.2 Bộ biến đổi tương tự - số ADC Hình 13: Sơ đồ khối của ADC TDA 8703 ADC được dùng biến đổi dạng sóng tương tự sang dạng xung PAM. Vì bản chất tự nhiên riêng biệt của tín hiệu số, dạng sóng tương tự sẽ được lượng tử hoá đến mứ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 26 tương đương số gần nhất và chuyển thành tín hiệu số. Sự chuyển ADC càng lớn thì sai số sự lượng tử hoá được đưa vào càng nhỏ. Ta thấy có rất nhiêu loại ADC trên thị trường nhưng để thỏa mãn nhưng để đạt được những yêu cầu và lý do dùng FPGA làm bộ điều khiển cho dao động số có nhớ em tìm hiểu trên thị trường thì em thấy TDA8703 là phù hợp nhất.Bởi vì nó có tốc độ lấy mẫu rất cao (có thể đạt được tốc độ tối đa là 140MHz). Tuy nhiên ta cũng có thể thay thế bởi các ADC khác có sẵn trên thị trường. Phần lớn ADC tốc độ cao dùng phương thức Flash Conversion, cái này sử dụng theo các mảng song song của 2n-1 bộ so sánh (n là độ phân giải của ADC trong các bit). Điều này có nghĩa là cứ mỗi 8bit, máy đổi điện lại yêu cầu 255 bộ so sánh. Mức độ phức tạp này không chỉ làm tăng chi phí mà còn làm hạn chế tốc độ tối đa mà bộ biến đổi có thể hoạt động. TDA8703 sử dụng phương thức Flash Conversion truyền lại, trong ADC này thì bộ biến đổi được chia tách thành 7 cấp với mỗi cấp dùng 1 trình chuyển đổi cực nhanh 2 bit. Chính điều này làm giảm số bộ so sánh được yêu cầu xuống còn 28 và đây cũng là một ưu điểm của bộ biến đổi ADC nhanh dùng phương thức biết đổi Flash Conversion. Mặc dù nó đưa ra một góc trễ 7 chu kì đồng hồ giữa tín hiệu tương tự được đưa vào và dữ liệu xuất hiện trên các đầu ra. Đối với chương trình ứng dụng này thì điều đó là có thể chấp nhận được. Hình 15: sơ đồ nối chân của ADC TDA 8703 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 27 3.1.3 Bộ khuếch đại đệm Khi tín hiệu tương tự được đưa vào mà DSO đang hoạt động ở chế độ xen kẽ giữa tín hiệu alnalog và logic analyser, thì tín hiệu tương tự được đưa vào 2 ADC thông qua một bộ khuếch đại đệm. Khi đó bộ trung gian này sẽ vừa có chức năng làm một bộ khuếch đại tín hiệu vừa có chức năng là môt bộ đệm tín hiệu. Cả 2 chức năng này có thể đạt được với 1 bộ khuêch đại đệm (ở đây em dùng Elantec EL4332C). Bởi vì nó thỏa mãn nhưng yêu cầu đặt ra của thiết kế. Hình 16:Sơ đồ thực hiện nối chân của EL4332 EL4332C có bề rộng băng tần tối đa 300MHz và chứa đựng 3 bộ tiền khuêch đại nên rất phù hợp với các đầu vào đa thành phần. Điều đó làm nó trở nên rất phù hợp đối với ứng dụng này vì nó có thể thực hiện cả chuyển mạch đệm và đảo mạch đầu vào. 1 tín hiệu logic đơn được dùng như đầu vào cho cả 3 bộ tiền khuêch đại. Tuy nhiên mặt hạn chế của nó là cũng như phần lớn các bộ khuếch đại có độ rộng băng tần cao khác, hệ số khuếch đại của nó được cố định là 2. 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 28 Hình 17:sơ đồ thực hiện khuếch đại Hình 18:Sơ đồ khối bên trong của EL4332 3.1.4 Điều khiển logic Những DSO trước đó có dùng những con chip bán dẫn để thiết kế và làm chúng để điều khiển thì chỉ dùng các PLA (Programmable Logic Devices). Thế nhưng những con chip này có độ tích hợp thấp và không thỏa mãn những như cầu sử dụng ngày càng cần tốc độ cao nên nó dần bị thay thế. 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 29 Để có được tốc độ cao để đáp ứng được các yêu cầu ứng dụng và đo các tần số cao thì hiện nay người ta thường dùng các chip FPGA để thực hiện. Chúng được dùng như trái tim của cả hệ thống. Bởi vì chúng có độ tích hợp rất cao như đã trình bày ở chương 1 nên chúng có thể đảm nhiệm nhiều nhiệm vụ và hơn thế nữa với những tính năng của nó ta có thể dễ dàng lập trình và cấu hình nó để thực hiện những yêu cầu của ứng dụng. Chính vì thế chúng ta sẽ giảm được kích thước của mạch bởi tất cả vần đề điều khiển đều nằm ở con chip FPGA. Để điều khiển các khối khác trong mạch của DSO thì ta có thể chương trình hóa cho FPGA để nó thực hiện nhiệm vụ này. Cũng bời do chương trình hóa cho FPGA ngày nay rất dễ dàng với các ngôn ngữ như VHDL hay verilog HDL cùng với các chương trình của Altera. Hơn nữa ngày nay giá thành của FPGA ngày càng giảm mạch và có rất sẵn trên thị trường các linh kiện bán ở Việt Nam. Dưới đây là các sơ đồ logic của chip FPGA FLEX 8K của Altera Hình 19: Sơ đồ khổi của FLEX 8K 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 30 Hình 20:Sơ đồ khối logic của FLEX8K Ta có thể thấy trên hình vẽ thì các chân I/O đều được bố chí xung quanh chip và chúng được kế nối vào các thanh phần logic và các LUT của chip, chúng hợp thành các cột các hàng và thông qua các mạng kết nối ben trong chip. Và cũng giống như tất cả các chip FPGA khác nó cung câp những xung nhịp tần số nhanh ở đầu ra và thời gian nhanh tại nơi lấy đầu vào. Ở đây mỗi LAB(Logic Array Block) là gồm 8 LE (logic element ) cung cấp 4 tín hiệu điều khiển và mỗi tín hiệu điều khiển có thể điều khiển 8 LE. Trong 4 tín hiệu điều khiển của LAB thì trong đó có 2 tín hiệu có thể được sử dụng giống như các clock và 2 tín hiệu còn lại có thể được sử dụng như tín hiều reset và enable.Những tín hiều điều khiển có thể lấy từ tín hiệu đầu vào của ta. Chip FPGA của Altera là EPF8282A-84, là một trong những dòng chip của họ FLEX 8K. Nó là 1 chip 84 pin PLCC với 68 chân có thể kết nối I/O . Loại này phù hợp với ứng dụng hơn và có những lợi thế mà con chip có thể được lắp để phát triển dễ dàng. Do bản chất của FPGA, chúng có thể hoạt động ở tốc độ nào là phụ thuộc vào việc thiết kế mà chúng thực hiện. Mặc dù chip được chọn là loại có tốc độ chậm nhất nhưng nó vẫn có khả năng vận hành máy đếm lớn ở mức trên 80MHz. Cũng như tất cả nguyên lý thiết kế mà FPGA sẽ thực hiện vận hành ở mức 50mHz hay thấp hơn thì nó 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 31 FLEX 8K là thiết bị cung cấp những ứng dụng rộng rãi như xử lý tín hiệu số, dùng cho những vận hành mà có đường dữ liệu rộng và biến đổi dữ liệu. Trong thiết bị này có những lựa chọn cho giao diện bus, tích hợp các TTL đặc biệt là điều khiển với tốc độ cao. Những sản phẩm mà có số chân lớn có thể tích hợp được tới 32 bộ mutiple trong một thiết bị. FLEX 8K cung cấp 4 bộ đầu vào chuyên dụng cho việc đồng bộ điều khiển tín hiệu cùng với trở tải lớn. Mỗi chân I/O có kết hợp một thanh ghi trên mặt ngoài của thiết bị. Giống như đầu ra thì thanh ghi cũng có những loại có xung đồng hồ nhanh để đảm bảo việc ra tín hiệu nhanh chóng và chúng có những thiết đặt nhanh vè mặt thời gian. Hầu hết các FLEX 8k được cấu hình cùng với các kiến trúc CMOS SRAM. Nó có thể cấu hình lượng dữ liệu được lưu trữ trong chuẩn công nghiệp. Nó có thể cấu hình việc lưu trữ song song trong hay cấu hình nối tiếp trong các EEPROM hoặc cung cấp những dữ liệu bằng điều khiển hệ thống. Việc cấu hình này có thể cho phép lưu trữ dữ liệu nên tới 32K x 8 bit hoặc lớn hơn trong các EPROM. Hơn nữa chúng có thể lấy từ RAM của hệ thống để cung cấp những dữ liệu cần thiết cho nó hoạt động Chúng ta có thể dùng các công cụ phần mềm như MAX+PLUS II hay QUATUS II để cấu hình chúng theo những ứng dụng mong muốn của người dùng. Để cấu hình chúng thì tất nhiên chúng ta phải biết một trong những ngôn ngũ là VHDL và Verilog HDL để lập trình mô tả phẩn cứng cần thực hiện. 3.1.5 Giao tiếp với máy tính Có một số tuỳ chọn cho giao giao tiếp giữa DSO với PC: Serial Port Parallel Port USB ISA PCI Do 1 lượng tương đối lớn dữ liệu được lưu giữ trong DSO, cổng nối tiếp ko được tính đến bởi thời gian yêu cầu để download dữ liệu vào PC ko thể chấp nhận thời gian dài do tốc độ truyền dữ liệu của cổng nối tiếp chậm. USB cũng ko thực tế vì tính phức tạp của nó bởi vì viết chương trình điều khiển cho USB rất phức tạp. Tuy rằng hiện này tất cả các PC đều có cổng USB thế nhưng để cấu hình được USB trong FPGA rất khó. Mặc dù nhanh nhưng cả PCI and ISA đều đòi hỏi sự kết nối bên trong tới PC và 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 32 vì thế rất khó để có thể cài đặt và làm cho thiết kế thêm phần phức tạp do phải làm mạch PCI . Cổng song song được chọn vì nó có tốc độ chuyển đổi dữ liệu tương đối cao và dễ dàng để phát triển thiết bị, dễ sử dụng và đang hiện diện trong các máy tính để bàn tuy rằng trong thời gian gần đây có những mày laptop thì không có cổng này nhưng mà nó vẫn được sử dụng rất rộng rãi do thực hiện đơn giàn, làm cho DSO được dùng trong nhiều lĩnh vực và cũng có linh cơ đông.Hơn nữa tốc độ truyền của cổng song song có thể chấp nhận được trong thiết kế của úng dụng này. Để đơn giản và tương thích với thiết kế và nhu cầu sử dụng thì chế độ hai chiều chuẩn được quyết định sử dụng, cái này thì có sẵn từ thời những chip 386 và tương thích với hầu hết các chuẩn có trong máy tính hiện nay. Nó cho phép độ rộng byte chuyển đến hướng khác và có thêm 5 line đầu vào (Status lines) và 4 line đầu ra (Control lines). Với các thiết lập chuẩn và tương thích thì DSO cho phép người sử dụng lựa chọn địa chỉ thích hợp cho cổng song song đặc biệt. Vì chỉ có 3 địa chỉ có thể được sử dụng nên điều này là tương đối dễ dàng. Điều này đặc biệt có ích nếu PC đang sử dụng có nhiều cổng. 3.2 THIẾT KẾ CHI TIẾT 3.2.1 Cấu hình để nạp vào FPGA Vì FPGA dựa trên nền SRAM nên nó không thể lưu chương trình điều khiển có ngay trong chip bởi khi mất nguồi điện cung cấp cho nó thì chương tình không còn nữa chính vì thế nó phải được chương trình hoá mỗi lần hệ thống khởi động lại.Để giải quyết điều này thì phương thức thích hợp nhất cho ứng dụng này là phương thức Active Serial. Phương thức này bao hàm cả việc kết nối 1 serial EEPROM (E2) tới FPGA và có thuận lợi là chỉ yêu cầu 1 chân I/O để sử dụng. 2 kết nối còn lại tới E2 được dành cho các chân cấu hình. Hơn nữa các chân cấu hình được nối cao hay thấp là dùng để chỉ lược đồ cấu hình nào đang được sử dụng. Chính vì thế mà ta có thể giữ được chương trình điều khiển nếu mất nguồi cung cấp cho DSO, và tiết kiệm số chân của FPGA và có thể dùng chúng vào các úng dụng khác. Khi khỏi động lại thì chương trình sẽ được nạp vào chip FPGA thông qua chân JTAG của FPGA và ta lại có một DSO, thời gian này được tiến hành rất nhanh mà tạo cảm giác như không có gì. 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 33 Bằng cách sử dụng bộ hợp kênh để kết nối E2 tới FPGA và khi đó ta có thể hoặc có thể được kết nối tới FPGA hoặc tới programming header trên bo mạch. Vì thế có thể lập trình lại chương trình điều khiển cho FPGA trong khi chương trình cũ vẫn ở trong bản mạch và DSO vẫn đang hoạt động. Đầu vào được chọn tới bộ hợp kênh được đẩy mạnh bởi 1K điện trở và được kết nối tới ISP header. Khi ta nạp lại chương trình vào E2 thì khi đó chân được tự động nối đất trong thời gian nạp lại vào trong E2 và được đẩy vào chip FPGA trong thời gian sau khi khởi động lại. Việc này làm chuyển E2 từ chỗ được kết nối tới Altera thành được kết nối tới programmer. Sau khi việc lập trình hoàn tất, người sử dụng chỉ phải nạp lại hay reset lại DSO để nạp lại và bo mạch là có thể sử dụng lại DSO với những tính năng đã được cập nhật dữ liệu cấu hình mới từ chip bộ nhớ. 3.2.2 Chế độ tiền trigger Việc ghi dữ liệu trước điểm trigger rất hữu ích khi chúng ta dò lỗi hệ thống. thực hiện việc này bằng cách ta để cho DSO ghi những tín hiệu liên tục đi vào, tiến trình ghi dữ liệu này được kết thúc khi 1 xung (pulse) trigger được dò thấy trong hệ thống. Nội dung dữ liệu sẽ được ghi vào bộ nhớ tại thời điểm trước của điểm trigger được dò thấy. Quá trình này được thực hiện bằng cách điểu khiển thời gian của cả hai tiến trình dò tìm điểm trigger và khi đó sẽ kết thúc việc ghi dữ liệu khi điểm trigger được dò thấy trong tiến trình. Việc này được thực hiện cùng với 1 bộ đếm (counter) 19bit đó là một khóa từ tín hiệu mẫu giống như FIFO, vị vậy khi giá trị của counter bằng độ lớn địa chỉ của bộ nhớ thì việc ghi được dừng lại.Giá trị của những sườn trước trigger có thể được thiết đặt bởi pre-loading giá trị counter đó là một giá trị giữa 0 (không tiền trigger) và 393216 (cỡ của bộ nhớ và là lớn nhất của pre-trigger). Số 393216 là 0x60000 trong hệ HEX, điều đó có nghĩa là số

Các file đính kèm theo tài liệu này:

  • pdfTổng quan về FPGA.pdf