Độ phi tuyến vi phân (DNL) là giá trị xác ñịnh sự biến thiên lớn nhất của ñộ rộng kênh. Tất cả kênh ño phải khởi phát ngẫu nhiên ñể tích lũy số ñếm, sau thời gian dài, phổ sẽ liên tục; ñộ lệch cực ñại khỏi giá trị trung bình của các số ñếm cho phép xác ñịnh DNL của MCẠ Nếu giá trị trung bình ñã tính cho các số ñếm là Nav, ñộ lệch cực ñại là ∆Nmax = (Nx - Nav)max, ở ñó NX là số ñếm trong kênh x thì DNL theo phần trăm ñược tính [64] bằng:
max 100% av N DNL N ∆ = ⋅ (1.30)
Tất cả công thức từ (1.17) ñến (1.30) sẽ ñược sử dụng trong chương 3 ñể kiểm tra các tham số ñặc trưng kỹ thuật và các ñại lượng vật lý ñịnh lượng giá trị thực nghiệm trong phép ño phổ gamma ñối với các khối ñiện tử ñã thiết kế-chế tạọ Phần tính hiệu suất, ñường cong ñịnh chuẩn hiệu suất, tính diện tích ñỉnh và ñộ bất ñịnh thống kê, khớp bình phương tối thiểu theo thuật toán Genie-2000 ñược trình bày trong phụ lục B.
Tóm tắt chương 1
39
về năng lượng-thời gian ñòi hỏi tính năng thời gian phải tốt. Do vậy, việc nâng cao chất lượng về nghiên cứu, thiết kế các hệ thống thiết bị ñiện tử hạt nhân phải ñáp ứng ñược yêu cầu chính xác và chất lượng của phép ñọ Trên thế giới DSP, FPGA và thuật toán xử lý xung kiểu số ñã ñược ứng dụng ñể phát triển các hệ phổ kế gamma phục vụ nghiên cứu vật lý hạt nhân thực nghiệm. Tại Viện NCHN, các hệ thiết bị phổ kế gamma triệt Compton, hệ phổ kế SACP phục vụ hướng nghiên cứu thực nghiệm về cấu trúc hạt nhân và mật ñộ mức năng lượng ñã ñược xây dựng theo kiểu ñiện tử truyền thống và ñưa vào khai thác có hiệu quả kể từ năm 1991. Việc phát triển thiết bị theo hướng DSP ở chế ñộ thời gian thực qua ứng dụng FPGA với ngôn ngữ VHDL nhờ phần mềm ISE-Xilinx và Max+PlusII-Altera ñã ñược nghiên cứu, ứng dụng nhằm nâng cao chất lượng thiết bị ghi-ño bức xạ hạt nhân. Về vai trò chức năng của DSP và FPGA, có thể nói DSP là công cụ rất cần thiết và hữu ích ứng dụng trong khoa học-công nghệ ñể xây dựng thiết bị hạt nhân. Nhờ ứng dụng DSP và FPGA nên các hệ thiết bị ñó có nhiều ưu ñiểm nổi trội hơn: ña năng, nhanh và hiệu quả khi thu nhận và xử lý dữ liệu, phân tích phổ, mô phỏng tín hiệụ Phương án dùng ngôn ngữ VHDL lập trình, tạo mã nguồn, biên dịch và nạp thiết kế vào dòng FPGA qua ISE, hoặc Max+plus II ñã ñược chọn ñể thực hiện ñề tài luận án. Kỹ thuật DSP qua công nghệ FPGA ñược ứng dụng ñể cải thiện các thiết bị về dung lượng bộ nhớ cao, tốc ñộ xử lý nhanh, tính năng ñiều khiển mềm dẻo, khả năng nhập/xuất dữ liệu lớn, và cấu hình ño có nhiều tùy chọn ưu việt xử lý qua phần mềm ñiều khiển.
Phương pháp MWD có khả năng khai thác ñầy ñủ các ñặc trưng của hệ phổ kế hiện ñại, cho phép thực hiện các bộ lọc tạo dạng xung giúp cải thiện về tạp âm, thời gian phân giải, ñộ hụt biên ñộ, nâng tỷ số S/N khi hoạt ñộng ở các tốc ñộ ñếm caọ Nhờ MWD, phân bố ñiện tích ban ñầu của tín hiệu ñầu dò ñược tái lập từ ngõ ra PA và biên ñộ thực của ñiện tích toàn phần ñược ño, làm tăng ñặc trưng phân giải lẫn khả năng nhập/xuất của các hệ phổ kế bán dẫn, trích xuất ñúng thông tin nguyên thủy của ñầu dò khi tiến hành lượng tử hóa tín hiệu PA bởi bộ A/D nhanh. Thay cho bộ APS, phương pháp thiết kế bộ DPP chất lượng cao ñược trình bày gồm: bộ APP và biến ñổi A/D, bộ DPS, logic chọn lựa xung và bộ nhớ phổ, hình thành xung có
40
các kênh chậm-nhanh, mạch hồi phục ñường cơ bản (BLR), chống chồng chập (PUR), khóa xóa và phân biệt thời gian tăng. Để xây dựng ñược bộ DPP, các thuật toán ñệ quy cho phép hình thành và xử lý xung theo thời gian thực trong các phép ño chiều cao xung ñược trình bày; thực chất là các thuật toán tạo ngõ ra dạng tam giác hoặc hình thang và ñiều khiển thuần số các tham số hình thành tín hiệụ Ngoài ra, biến ñổi A/D dựa trên phép khử tích chập trong cửa sổ ñộng ở ñó các tham số bộ lọc và tốc ñộ-tạp âm ñược biểu diễn theo mô hình tương ñương qua các máy phát DNL, INL và sai số lượng tử hóa dùng ADC nhanh cũng ñược ñề cập ñến. Phương pháp liên kết cổng logic dùng vi mạch FPGA trong môi trường Max+Plus II với dòng EPM7160E ñược trình bày với các thủ tục chính: hình thành dự án và các ñiều kiện ban ñầu của thiết kế, xử lý dự án, tạo tập tin thiết kế ñồ họa, biên dịch và nạp dữ liệu vào vi mạch ñặc chủng; kết quả, FPGA chứa toàn bộ nội dung thiết kế và hoạt ñộng như bộ µC. Các sơ ñồ cấu trúc của DPP và APS cùng ưu-nhược ñiểm của chúng giúp khẳng ñịnh việc ứng dụng DSP và FPGA là hữu ích. Các thuật toán xử lý số liệu thực nghiệm theo Ortec, Genie (hoặc tài liệu khác) cho phép tính toán ñịnh lượng các ñại lượng vật lý liên quan ñến phổ gamma thu ñược từ các khối ñiện tử ñã ñược thiết kế, chế tạo trong luận án.
41
Chương 2 THIẾT KẾ, CHẾ TẠO CÁC KHỐI ĐIỆN TỬ CHỨC NĂNG
CHO HỆ GHI-ĐO BỨC XẠ GAMMA VÀ NƠTRON
Trong chương này, các thiết bị ñược thiết kế-chế tạo gồm: các khối FPGA- MCA8K, DSP-MCA1K, DSP-MCA8K và hệ ñếm nơtron. Để xây dựng thiết bị theo hướng DSP qua FPGA, yêu cầu kết hợp giữa phần cứng với phần mềm khi áp dụng các phương pháp và thuật toán xử lý tín hiệu kiểu số ñã trình bày trong chương 1 là thực sự cần thiết. Do ñó, các phần sau ñây ñược trình bày: thiết kế-chế tạo phần cứng; phát triển phần mềm ứng dụng ñể thu nhận và ñiều khiển gồm chương trình VHDL cho phép thực hiện các thuật toán DSP, chương trình thu nhận dữ liệu trên nền Windows XP viết bằng VC++, LabView; vi chương trình cho bộ µC viết bằng C của Ckeil hoặc CCS Compiler. Mặt khác, các thiết bị ñược chế tạo ñều ghép máy tính nên vai trò của kỹ thuật giao diện qua các ñường truyền-nhận dữ liệu giữa ngoại vi với máy tính nhờ các cổng nối tiếp và song song là không thể thiếụ
2.1. Thiết kế, chế tạo các khối thiết bị dùng FPGA, DSP ghép PC 2.1.1. Thiết kế-chế tạo khối FPGA-MCA8K
2.1.1.1. Phương pháp ứng dụng và sơñồ tích hợp các bộ phận ñiện tử
Khối FPGA-MCA8K ñược xây dựng qua ứng dụng FPGA, trong ñó bộ xử lý logic là vi mạch EPM7160E thuộc họ FPGA MAX7000 loại CMOS với tốc ñộ liên kết cổng logic-logic nhanh 5 ns [24] của hãng Altera dùng môi trường phần mềm Max+plusII khi ứng dụng phương pháp liên kết cổng logic ñã trình bày trong mục 1.4.5, chương 1 qua phương án tải dữ liệu bằng phương pháp thiết kế chuyên nghiệp ñược ñề cập trong phụ lục Ạ2. Trong thiết kế, vi mạch FPGA EPM7160E ñóng vai trò bộ xử lý dữ liệu nội bộ và ñiều khiển logic [32], [33]. Để thực hiện ñược thiết kế này, các khối logic tích hợp MAC (mục 1.2.2.2)ñã ñược ứng dụng. Khối này ñược chế tạo nhờ kết hợp hai khối: khối FPGA-based ADC8K [13] có sử dụng vi mạch AD7899 kiểu xấp xỉ liên tiếp với thời gian biến ñổi 2.2 µs [45] của hãng Analog Devices và bản mạch giao diện FPGA-based MCD8K, trình ứng dụng thu nhận dữ liệu ñược phát triển theo ngôn ngữ VC++ trên nền Windows XP. Sơ ñồ cấu trúc khối ñược trình bày trong hình 2.1. Phần biến ñổi tương tự của khối A/D bao gồm bộ ñệm và lặp lại tín hiệu ngõ vào, kéo dài xung nhờ quá trình nạp - xả ñiện tích qua tụ
42
Hình 2.1: Sơ ñồ cấu trúc khối FPGA-MCA8K ghép máy tính.
KĐ tuyến tính Kéo dài xung Phát hiện ñỉnh Khối A/D 13 bit D/A dòng 2 byte ñệm ñịa chỉ 2 byte chốt ñịa chỉ Đệm dữ liệu Cộng ñầy Chốt trung gian Đọc/ Viết 2 chiều Thời gian chết 2 byte Thời gian sống 2 byte Chốt nội bộ B ộ ñệ m B ộ ñế m C 2 Bộ cộng 8 bit So LL Đổi I/V D/A Dao ñộng 24 MHz Bộ nhớ ngoài SRAM Bộñiều khiển logic Bộ giải mã Bộ ñếm H Bộ ñếm L + So UL Đổi I/V D/A Bộ chia 1s A2- A9 Tuyến dữ liệu PC[IOD0-D7] M[A0-A15] M IO [D 0- D 7] Tuyến ñịa chỉ PC[A0-A9] Tuyến ñiều khiển C S3 C S2 C S1 C S0 D I R PSEL BUSY A0- A1 R D W R Vào Y1 Y0 DR ACC ECON UL Track LL DT PD A D C L P C L C I C O O E R W A D C * C Vcc Gnd +
43
nhớ C sau khi ñỉnh ñược phát hiện, các bộ so ngưỡng dưới (LL) và trên (UL). Khi tương quan logic hỏi-ñáp giữa hai phía ADC và MCD theo nguyên tắc phân nhịp ñược ñáp ứng, chu trình biến ñổi bắt ñầu và dữ liệu ñược lưu vào bộ nhớ.
Nhiệm vụ chính của FPGA EPM7160E là tích hợp toàn bộ thành phần vi mạch số và logic ñiều khiển của cả hai phía vào tập tin thiết kế bằng phần mềm Max+plusIỊ Do tính ñặc thù kỹ thuật số của dòng EPM7160E là không ñược phép nhúng các loại vi mạch tương tự truyền thống nên các thành phần sau ñây không thể tích hợp ñược vào bên trong: bộ dao ñộng phát tần số 24 MHz có ngõ ra liên kết với EPM7160E ñể tạo xung nhịp 1 giây ñiều phối hoạt ñộng của bản mạch; các bộ biến ñổi D/A tạo tín hiệu dòng I, dòng I chuyển sang thế V nhờ khuếch ñại thuật toán I/V, thế ngõ ra I/V cùng các ngưỡng LL và UL tạo cửa sổ phân biệt biên ñộ và phát hiện ñỉnh xung trong chế ñộ lấy mẫu-giữ ñỉnh (T/H) của bộ biến ñổi A/D; tầng khuếch ñại tuyến tính ñệm và lặp lại thế ngõ vào khi thỏa mãn ñiều kiện ngưỡng cùng logic hỏi-ñáp, ñỉnh ñược phát hiện (PD) và gửi tới bộ ñiều khiển logic trong FPGA ñể xử lý; ngoài ra khi kết thúc quá trình nạp-xả ñiện tích trên tụ C, bộ cộng tương tự sẽ phối thế (từ mạch kéo dài xung) với dòng (từ thành phần D/A) tạo ra biên ñộ thực ở ngõ vào khối biến ñổi A/D 13 bit; bộ A/D tiến hành chu trình chuyển tín hiệu tương tự thành chữ số nhị phân và khối cuối là bộ nhớ ngoài SRAM ñể chứa dữ liệu phổ. Về nguyên tắc có thể hình thành DPRAM trong FPGA, tuy nhiên vì dung lượng của EPM7160E không ñủ lớn nên phải dùng SRAM ngoàị
2.1.1.2. Bộ xử lý trung tâm (CPU) và hoạt ñộng của khối FPGA-MCA8K
Tất cả thành phần vi mạch rời ñược tích hợp trong FPGA EPM7160E, bao bởi ñường vạch-chấm gọi là thực thể (entity) của FPGẠ Thực thể này có các cổng nhập/xuất cho phép FPGA giao tiếp với các tín hiệu ngoài cùng mọi giao tác hoặc ở dạng số nhị phân, hoặc tín hiệu TTL. Dựa vào nguyên tắc của các phiên bản ñã thiết kế bằng vi mạch rời, bản mạch MCA8K ñược chế tạo trên cơ sở FPGA, ở ñó thực thể EPM7160E bao gồm các thành phần như sau: bộ ñiều khiển logic ñảm nhiệm các giao tác trao ñổi tín hiệu hỏi-ñáp giữa hai phía ADC với MCD và ñiều kiện ngưỡng qua chuỗi tín hiệu: DR (từ ADC) báo trạng thái sẵn sàng ñể MCD thu dữ liệu, lúc ñó MCD ñáp tín hiệu chấp nhận ACC cùng tín hiệu cho phép biến ñổi
44
ECON khi các ngưỡng LL, UL xác lập cửa sổ phân biệt ñể tiến hành tác vụ thu nhận. Lúc tín hiệu track (dò ñỉnh) xuất hiện, dòng bù của chu trình biến ñổi A/D ñảm nhiệm vai trò ổn thế DC và tín hiệu DT (thời gian chết) cho phép bộ ñiều khiển logic gửi tín hiệu BUSY tới bộ ñếm DT trong FPGA nhằm tính thời gian (theo phần trăm). Song song với các logic nhận dạng tín hiệu và hỏi-ñáp giao tiếp, các tác vụ
ñiều khiển quá trình ñọc-viết bộ nhớ, ñịnh thời gian sống (LT), thời gian chết và thời gian thực (RT) của bản mạch ñược thực hiện qua chuỗi tín hiệu còn lại trong thành phần ñiều khiển logic. Để ñịnh vị ñịa chỉ cho SRAM thuộc chu trình viết, tín hiệu ADC mở hai byte ñệm ñịa chỉ của 13 bit ngõ ra từ ADC8K. Nội dung biên ñộ ñỉnh (phản ánh thông tin năng lượng) tồn tại trong DR sẽ ñược viết vào từng ô nhớ của SRAM khi các tín hiệu OE ñược kích hoạt thấp và RW hiệu lực caọ Dữ liệu hiện hữu trên tuyến trao ñổi nội bộ MIO[D0-D7] ñược viết từng byte nhờ tổ hợp bộ ñệm dữ liệu-bộ cộng ñầy-bộ chốt nội bộ hoạt ñộng qua ñiều khiển của các xung logic ADCL, CI, CO và ADC*. Để tải nội dung chứa trong SRAM, chu trình ñọc bộ nhớ ñược tiến hành bằng cách phát các ñịa chỉ thấp và cao (qua hai byte chốt ñịa chỉ) với tín hiệu giải mã CS3. Khi hai byte ñịa chỉ của chu trình ñọc ñã ñịnh vị SRAM, các nội dung ô nhớ RAM sẽ ñược ñọc ra qua bộ chốt trung gian nhờ tín hiệu liên kết cổng (PLL) và ñịa chỉ ñọc byte dữ liệu CS2. Dữ liệu từ ngoại vi truyền-nhận tới PC qua bộ ñệm hai chiều khi tín hiệu chọn cổng (ñọc hoặc viết) PSEL và tín hiệu chọn hướng DIR có hiệu lực. Các bộ ñịnh thời gian lập trình ñược (mỗi bộ 2 byte) sẽ tính DT từ xung BUSY, LT nhờ xung nhịp 1 giây, cộng DT với LT sẽ ñược RT của hệ thống. Tất cả thành phần vi mạch khác ñều ñược tích hợp trong FPGẠ Chính vì lẽ ñó nên FPGA EPM7160E ñóng vai trò là bộ xử lý dữ liệu trung tâm ñiều khiển hoạt ñộng của bản mạch nhờ phần mềm ứng dụng MCANRỊexẹ
2.1.1.3. Đặc trưng kỹ thuật của khối FPGA-MCA 8K ñã chế tạo
+ Khối FPGA-MCA8K giao diện máy tính qua cổng song song (LPT), + Độ phân giải: 8192 kênh,
+ Thời gian biến ñổi: 2.2µs,
+ Độ phi tuyến tích phân INLFPGA-MCA8K ≈ 0.607% của toàn dải ño, + Độ phi tuyến vi phân DNLFPGA-MCA8K ≈ 1.27% trên toàn dải ño,
45
+ Dung lượng tối ña trên một kênh là 16777215 số ñếm, + Thời gian ño cực ñại 65535 s,
+ Các xác lập ngưỡng dưới và trên cho ADC ñược ñiều khiển bằng phần mềm, + Lối vào nhận xung ñơn cực dương có biên ñộ ñỉnh 0 ÷ 10 V,
+Chương trình thu nhận dữ liệu MCANRỊexe viết bằng VC++ trên nền Windows XP. Mã nguồn của chương trình này ñược trình bày trong phụ lụcD.
2.1.2. Thiết kế-chế tạo khối DSP-MCA1K dùng FPGA nhờ VHDL 2.1.2.1. Sơñồ tổng thể của thiết kế 2.1.2.1. Sơñồ tổng thể của thiết kế
Trong khi bản mạch FPGA-MCA8K dùng phương pháp liên kết cổng logic của FPGA qua Max+PlusII-Altera thì DSP-
MCA1K sử dụng kỹ thuật DSP qua FPGA nhờ ISE 9.2i-Xilinx với bản mạch Spartan- 3E (dùng ñể chế tạo thiết bị) ñược chỉ ra trong hình 2.2. Việc thiết kế-chế tạo khối DSP-MCA1K ñược thực hiện qua công trình [16], ở ñó lần ñầu tiên phương pháp DSP qua ứng dụng FPGA dùng VHDL ñược thực thi tại Viện NCHN. Thông qua VHDL, bộ nhớ kép (DPRAM) và bộ xử lý
trung tâm (CPU) ñược hình thành trong FPGA, trình ứng dụng thu dữ liệu ñược viết bằng ngôn ngữ LabView. Khối DSP-MCA1K có sơ ñồ tổng thể ñược biểu diễn
Hình 2.2: Bản mạch DSP-Spartan- 3E, Xilinx. Dò xung Chỉ số Bộ nhân (Ký tự Ascii) Ký tự Điều khiển tinh thể lỏng (LCD) ADC_A Nhịp I/O S3E I/O DAC_A +1 Cho phép 10 20 16 8 8 12 Đỉnh Max Nhập_A Xuất_A Giao tiếp PC LCD Dữ liệu A-B DAC _B ADC DAC CLK Xóa tự ñộng Nhịp Xóa tay PC Địa chỉ cổng A Địa chỉ cổng B RS-232 Bộñếm 24 bit Bộ chốt 16 bit Xung hình thang/tam giác Thanh ghi 24 bit Bộñệm 24 bit Bộñệm