Design pulse generator, frequency divider based on FPGA and VHDL
Bạn đang xem tài liệu "Design pulse generator, frequency divider based on FPGA and VHDL", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- design_pulse_generator_frequency_divider_based_on_fpga_and_v.pdf
Nội dung text: Design pulse generator, frequency divider based on FPGA and VHDL
- TNU Journal of Science and Technology 226(16): 253 - 260 DESIGN PULSE GENERATOR, FREQUENCY DIVIDER BASED ON FPGA AND VHDL Nguyen Thanh Tung*, Pham Van Ngoc TNU - University of Information and Communication Technology ARTICLE INFO ABSTRACT Received: 24/9/2021 Pulse generator is a measuring device widely used in many industries such as education, satellite television, manufacturing, repair and Revised: 29/11/2021 maintenance in the fields of electricity, electronics, and Published: 30/11/2021 telecommunications. Function generators that are limited by hardware and scale will not be able to respond to diverse signals in waveforms KEYWORDS and resolutions in measurement, survey, analysis, testing and verification. The article presents the results of the research and FPGA application process of FPGA and VHDL to create a number of VHDL flexible, reconfigurable pulse generators when upgrading, tuning, and Pulse generator programmable. to create microchips without using additional peripherals and electronic components. The results of the article Frequency division contribute solutions to the application of technology in life, and at the Wave generator same time can be used as a knowledge base and reference material in learning, research and teaching in the field of information technology. news and communication. THIẾT KẾ BỘ PHÁT XUNG, CHIA TẦN TRÊN NỀN TẢNG FPGA VÀ VHDL Nguyễn Thanh Tùng*, Phạm Văn Ngọc Trường Đại học Công nghệ Thông tin và Truyền thông – ĐH Thái Nguyên THÔNG TIN BÀI BÁO TÓM TẮT Ngày nhận bài: 24/9/2021 Máy phát xung là thiết bị đo được sử dụng rộng rãi trong nhiều ngành như giáo dục, truyền hình vệ tinh, sản xuất, sửa chữa và bảo dưỡng Ngày hoàn thiện: 29/11/2021 thuộc lĩnh vực điện, điện tử, viễn thông. Các bộ tạo hàm bị giới hạn Ngày đăng: 30/11/2021 bởi phần cứng và thang đo sẽ không đáp ứng được tín hiệu đa dạng về dạng sóng, độ phân giải trong công tác đo lường, khảo sát, phân TỪ KHÓA tích, thử nghiệm và kiểm định. Bài báo đưa ra kết quả của quá trình nghiên cứu, triển khai ứng dụng của FPGA và VHDL vào việc tạo ra FPGA một số bộ phát xung linh động, có khả năng tái cấu hình khi cần nâng VHDL cấp, hiệu chỉnh, có thể lập trình để tạo ra vi mạch mà không cần sử dụng thêm các ngoại vi, linh kiện điện tử. Kết quả của bài báo đóng Phát xung góp giải pháp ứng dụng công nghệ vào cuộc sống, đồng thời có thể Chia tần được sử dụng làm nền tảng kiến thức, tài liệu tham khảo trong học Máy tạo sóng tập, nghiên cứu, giảng dạy thuộc lĩnh vực công nghệ thông tin và truyền thông. DOI: * Corresponding author. Email: nttung@ictu.edu.vn 253 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 253 - 260 1. Giới thiệu Máy phát xung hay còn gọi là máy tạo sóng đo lường là bộ nguồn tạo ra các tín hiệu chuẩn về biên độ, tần số và dạng sóng trong thử nghiệm hoặc đo lường thực tế. Máy phát xung là công cụ đắc lực được sử dụng rộng rãi trong nhiều ngành như giáo dục, truyền hình vệ tinh, sản xuất, sửa chữa và bảo dưỡng thuộc lĩnh vực điện, điện tử, viễn thông. Ở giảng đường, máy phát xung cũng có vai trò quan trọng, dùng để kiểm tra các thông số kỹ thuật điện tử để tăng tính khách quan, thực tế và dễ hiểu cho học sinh, sinh viên [1]. Trên thị trường hiện nay, có nhiều thiết bị phát xung đa dạng về kiểu dáng, tính năng, có thể kể đến như DDS Koolertron 60MHz, HanTek DSO4072C, Koolertron DDS, Rigol DG1022Z, Siglent SDG2042X, Waveform Generator Fluke 290 series 294-U 115V, TTi TGA12104, v.v. Đặc điểm chung của các bộ tạo sóng đo lường này là đều tạo ra tín hiệu chuẩn về các dạng sóng phổ biến là vuông, tam giác, sine, răng cưa, v.v. Tuy nhiên, do là máy chuyên dụng nên giá thành khá cao, được sản xuất từ các nước có nền công nghiệp phát triển, kích thước cồng kềnh nên thường để cố định, không thuận lợi khi cần di chuyển, đồng thời các bộ phát xung luôn bị giới hạn bởi phần cứng qua các thông số kỹ thuật ghi trên thiết bị [2]. Điều này sẽ gặp trở ngại trong trường hợp khi cần sử dụng các nguồn tín hiệu nằm trong vùng không được máy hỗ trợ để lắp đặt, khảo nghiệm như dạng sóng, thang đo, góc pha, tần số, chu kỳ, biên độ, v.v. Bên cạnh đó, lập trình viên không thể can thiệp được vào hệ thống điều khiển của các sản phẩm thương mại để hiệu chỉnh, sửa đổi, nâng cấp, v.v qua cách tiếp cận về phần mềm, mã chương trình, bởi các yếu tố về bản quyền, hoặc dạng đóng gói bảo mật. Để có thể tạo ra các bộ phát xung, chia tần mang tính mềm hơn, linh động hơn phục vụ cho công tác đo lường, khảo sát, phân tích, thử nghiệm, kiểm định, v.v đã có một số nghiên cứu về hướng này như bộ tạo sóng tam giác và sóng vuông với tần số, biên độ có thể điều khiển độc lập ứng dụng cho máy phát dạng sóng răng cưa [3] – [6], bộ tạo tín hiệu sóng hình sine, vuông và tam giác dựa trên lõi vi điều khiển MSP430 [7], máy tạo dao động hình sine có thể cung cấp hai sóng sine với độ lệch pha 90° sử dụng một điện trở, hai tụ điện nối đất, hai phần tử tích cực, bộ khuếch đại chênh lệch điện áp sai lệch (VDDDA) là hai IC thương mại [8], [9], hệ thống tạo sóng tùy biến dựa trên bus VXI, có thể tạo ra sóng sine chất lượng cao, sóng vuông, sóng tam giác, sóng hàm độ dốc, sóng hàm độ dốc âm, có thể điều chế biên độ, điều tần, điều chế cụm, tần số quét [10], thiết bị tạo sóng tam giác, vuông dải tần kép công suất thấp (WFG) có thể điều chỉnh được với đầu ra 16 kênh được chế tạo bằng quy trình CMOS 8RF-DM 130-nm của Global Foundries, lõi WFG (dải I) có thể được điều chỉnh trong khoảng 6,44÷1003 KHz và tần số thấp hơn (dải II) trong đoạn 0,1 Hz÷502 KHz [11]-[13]. Tuy nhiên, các công trình được triển khai từ các hệ thống phần cứng chuyên dụng, chi phí cao, cần phối hợp sử dụng nhiều linh kiện điện tử, chip điều khiển và chương trình phần mềm từ nhiều nhà cung cấp khác nhau. Từ đây, đặt ra một hướng nghiên cứu về cách tạo ra một bộ nguồn phát sóng tuỳ chỉnh, nhỏ gọn, đồng bộ về phần cứng, phần mềm, ngôn ngữ thiết kế, có khả năng tái cấu hình, có thể lập trình để tạo ra vi mạch mà không nhất thiết cần sử dụng thêm các ngoại vi, linh kiện điện tử, IC số, v.v. Cùng công cụ phần mềm mô phỏng trực quan cho phép kiểm thử thiết kế trước khi đi vào triển khai sản xuất, giúp tối ưu thời gian thành phẩm, tiết kiệm chi phí và thuận lợi cho quá trình đồng bộ hoá dữ liệu. Field-programmable gate array (FPGA) cho phép tích hợp số lượng lớn các phần tử bán dẫn vào 1 vi mạch, dùng cấu trúc mảng phần tử logic mà người dùng có thể tái lập trình được, không phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn. Tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài ra nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏi khối lượng tính toán lớn và dùng trong các hệ thống làm việc theo thời gian thực. Thiết kế, lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ mô tả phần cứng HDL như VHDL, Verilog, AHDL, v.v. Các hãng sản xuất FPGA lớn như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình thiết kế, cũng có một số các hãng thứ ba 254 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 253 - 260 cung cấp các gói phần mềm kiểu này như Synopsys, Synplify, v.v. Các gói phần mềm này có khả năng thực hiện tất cả các bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL (mã RTL) [14]. Xuất phát từ những phân tích trên, nhóm tác giả đề xuất triển khai FPGA để tổng hợp số trực tiếp DDS (Direct Digital Synthesis) sử dụng mã VHDL, nhằm tạo ra bất kỳ dạng sóng nào với biên độ, tần số, góc pha tuỳ biến từ một xung nhịp CLOCK tham chiếu. DDS có nhiều lợi thế trong việc cải thiện nhiễu pha và có khả năng điều khiển chính xác pha đầu ra qua các quá trình chuyển đổi tần số. Trong Hình 1 thể hiện hoạt động của ba khối chức năng chính của dự án là: Nguồn xung nhịp CLOCK, FPGA và bộ DAC. Đầu ra của FPGA sẽ là dữ liệu số cấp cho Bộ chuyển đổi số sang tương tự DAC (Digital Analog Converter), để tạo ra tín hiệu đa năng, linh hoạt. DAC và FPGA sử dụng một nguồn xung nhịp CLOCK duy nhất. Vì sử dụng FPGA làm phần cứng, nên trong tương lai có thể dễ dàng sửa chữa hoặc nâng cấp bộ tạo tín hiệu bằng cách thay đổi thiết kế phần mềm. Không cần thêm chi phí để đầu tư thêm bộ tạo sóng đo lường mới. Hình 1. Sơ đồ hoạt động của các khối chức năng tạo các bộ phát sóng, chia tần 2. Thiết kế bộ tạo nguồn phát xung các dạng sóng Nhóm tác giả sử dụng mã VHDL để tổng hợp nhằm tạo ra các dạng sóng cơ bản khác nhau như sóng vuông, sóng tam giác, sóng răng cưa, sóng sine, đồng thời có thể tạo ra các sóng kết hợp từ các sóng chuẩn này, hay nguồn phát với sóng có dạng bất kỳ. Như trong Hình 2, chúng tôi sử dụng các khối logic riêng biệt để tạo từng dạng sóng và một bộ chọn tín hiệu (tương tự như bộ ghép kênh) được sử dụng để chọn dạng sóng đầu ra cần thiết. Hình 2. Sơ đồ tạo các dạng sóng của các khối logic và chọn kênh Việc triển khai DDS được chia thành hai phần riêng biệt như Hình 3, một bộ tạo pha thời gian rời rạc (bộ tích lũy) - Phase Generator (The Accumulator) xuất ra giá trị pha ACC và một bộ chuyển đổi pha thành sóng - Phase to Waveform Converter để xuất ra tín hiệu DDS mong muốn. 255 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 253 - 260 Hình 3. Quy trình DDS cơ bản Phase Generator (The Accumulator): Bộ tích lũy pha hoạt động tương tự như bộ đếm được đặt lại định kỳ sau n xung nhịp CLOCK, ở đây sử dụng n = 512. Do đó chu kỳ của mỗi dạng sóng sẽ bằng n xung đồng hồ. Đầu vào cho Phase Generator là xung 1 bit và giá trị n tương ứng là 8 bit. Đầu ra The Accumulator là bộ đếm 16 bit. Nếu tăng giá trị n, tần số sóng tạo ra có thể giảm xuống. Bộ tích lũy pha này là chung cho tất cả các khối. Phase to Waveform Converter: Bộ chuyển đổi pha sang dạng sóng sẽ biến đổi giá trị pha (số đếm) thành biên độ dạng sóng. Đây cũng được gọi là bộ chuyển đổi pha sang biên độ. Khối này sẽ khác nhau đối với mỗi sóng. Đầu vào cho bộ chuyển đổi dạng sóng sang pha là bộ đếm 16 bit và giá trị n. Và đầu ra là độ lớn biên độ ‘wave_out’ 8 bit. Giá trị của bộ tạo tín hiệu DDS [15], [16]: - Độ phân giải điều chỉnh có thể được thực hiện nhỏ tùy ý để đáp ứng hầu hết mọi đặc điểm của kỹ thuật thiết kế. - Có thể kiểm soát pha và tần số của dạng sóng trong một chu kỳ mẫu. - Việc triển khai DDS luôn ổn định, ngay cả với các từ điều khiển có độ dài hữu hạn, không cần điều khiển độ lợi tự động. - Tính liên tục của pha được duy trì bất cứ khi nào tần số được thay đổi. - DDS trong FPGA tiêu thụ rất ít điện năng so với bộ tạo tín hiệu thông thường. Các dạng sóng được thiết kế như sau: - Sóng vuông: Biên độ của sóng cao (logic 1) và sóng thấp (logic 0) tương ứng với n/2 chu kỳ. - Sóng răng cưa: Biên độ được tăng lên tối đa cho n mẫu và sau đó đặt lại ở mức thấp. Tốc độ tăng tỷ lệ nghịch với giá trị n. - Sóng hình tam giác: Biên độ phải tăng lên tối đa đến n/2 chu kỳ đầu và sau n/2 chu kỳ, giá trị lại phải giảm dần đến logic thấp. - Sóng hình sine: Việc tạo ra sóng sine là phần quan trọng nhất trong việc tạo ra một bộ tạo tín hiệu DDS. Có nhiều phương pháp có sẵn để tạo ra sóng sine, như: Xấp xỉ chuỗi Taylor và Tra cứu bảng logic - Table lookup. Trong phương pháp xấp xỉ chuỗi Taylor thì chuỗi Taylor của hàm sine là: sin (x) = x - (x3)/3! + (x5)/5! - (x7)/7! + (1) Với x tính bằng radian, là một giá trị động, loại tiếp cận này có thể được thực hiện bằng phần cứng. Một nhược điểm của phương pháp này là chi phí thực hiện cao. Ở phương pháp tra bảng logic - Table lookup, cần tạo tất cả các giá trị sine cho n mẫu và lưu trữ trong một bộ nhớ. Cách triển khai này tạo ra rất ít lỗi so với các phương pháp khác và việc thực hiện bằng phần cứng cũng đơn giản hơn. Nhóm tác giả lựa chọn phương án này để thực nghiệm nghiên cứu. Yêu cầu bộ nhớ: Sử dụng n = 512, nên cần lưu trữ 512/4 = 128 giá trị sóng sine mẫu. Ta chỉ cần lưu trữ các giá trị từ 0 đến π/2, còn các dữ liệu khác được tạo ra bởi tính chất đối xứng của sóng sine. Với các giá trị trung gian, chúng ta có thể nội suy giữa hai mẫu. Số bit được sử dụng để lưu trữ các giá trị mẫu là 8 bit. Vì vậy bộ nhớ cần 8x128 bit = 1024 bit = 128 byte. Dựa vào các yếu tố đầu vào (giá trị mẫu n), đầu ra cho các thiết kế (các dạng sóng), cùng với phương án để triển khai thực nghiệm (Sử dụng Table lookup, DDS trong FPGA), tiến hành viết mã VHDL [17], ta thu được các kết quả là bộ phát các dạng sóng như sau: Sóng vuông (Hình 4a); sóng răng cưa (Hình 4b); sóng tam giác (Hình 5a); sóng hình sine (Hình 5b); sóng vuông kết hợp với sóng răng cưa (Hình 6a); sóng vuông kết hợp với sóng sine (Hình 6b); sóng vuông kết hợp với sóng tam giác (Hình 7a); sóng một chiều DC (Hình 7b); bộ tạo đồng thời 4 sóng: sóng vuông, 256 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 253 - 260 sóng răng cưa, sóng tam giác và sóng sine (Hình 8a); Bộ tạo đồng thời các sóng: Sóng sine, sóng vuông kết hợp với sóng răng cưa, sóng sine kết hợp với sóng vuông, sóng vuông kết hợp với sóng tam giác và sóng 1 chiều DC (Hình 8b); Bộ tạo sóng bất kỳ (Hình 9). (a) (b) Hình 4. Bộ phát (a): sóng vuông, (b): sóng răng cưa (a) (b) Hình 5. Bộ phát (a): sóng tam giác, (b): sóng hình sine (a) (b) Hình 6. Bộ phát (a): sóng vuông kết hợp sóng răng cưa, (b): sóng vuông kết hợp với sóng sine (a) (b) Hình 7. Bộ phát (a): sóng vuông kết hợp sóng tam giác, (b): sóng một chiều DC 257 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 253 - 260 (a) (b) Hình 8. Bộ phát (a): đồng thời sóng vuông, sóng răng cưa, sóng tam giác và sóng sine, (b) đồng thời sóng sine, sóng vuông kết hợp với sóng răng cưa, sóng sine kết hợp với sóng vuông, sóng vuông kết hợp với sóng tam giác và sóng 1 chiều DC Hình 9. Bộ phát xung bất kỳ 3. Thiết kế bộ chia tần Mô tả thiết kế: Một tín hiệu đồng hồ CLOCK có tần số 10 Hz muốn tạo ra các xung tín hiệu có tần số 1 Hz thì ta sử dụng mạch chia 10 hay còn gọi là mạch đếm mod-10, xung tạo ra có độ đầy 50% (Còn gọi là hệ số công tác 50%; Xung thấp = Xung cao = 1/2 Chu kỳ). Trong phạm vi triển khai thực nghiệm nghiên cứu, nhóm tác giả xét riêng cho trường hợp xung vuông, các sóng khác quá trình được thực hiện tương tự. (a) (b) Hình 10. Bộ chia tần xung vuông (a): sơ đồ khối, (b): kết quả của bộ chia tần mod-10 Tiến hành viết mã VHDL cho thiết kế với 3 phần như trong sơ đồ khối Hình 10a như sau: + Phần mạch tuần tự: Khi có xung ckht thì giá trị d1hz_reg được cập nhật giá trị kế d1hz_next. + Phần mạch tổ hợp tạo trạng thái kế: So sánh giá trị d1hz_reg nếu bằng N thì gán giá trị bắt đầu lại là 1 để bắt đầu lại 1 chu kỳ mới, nếu chưa bằng N thì giá trị kế d1hz_next bằng giá trị hiện 258 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 253 - 260 tại d1hz_reg cộng thêm 1. Cả 2 phần này chính là mạch đếm xung mod-N và đếm xung ckht. Giá trị N bằng tần số xung clock ckht của KIT FPGA. Nếu tần số xung clock của KIT FPGA là 50 MHz thì mỗi chu kỳ xung clock là 20 ns. Khi đó mạch đếm sẽ đếm xung 20 ns này và giá trị đếm của mạch là N = 50000000. Chu kỳ của mạch đếm là 20ns*50000000 = 1000000000 ns = 1s. Nếu tần số xung clock của KIT FPGA là 100 MHz thì mỗi chu kỳ xung clock là 10 ns. Khi đó mạch đếm sẽ đếm xung 10 ns này và giá trị đếm của mạch là N=100000000. Chu kỳ của mạch đếm là 10ns*100000000 = 1000000000ns = 1s. Trong chương trình sử dụng hằng số N để dễ dàng thay đổi theo đúng tần số của KIT, N được gán là 100000000 là do KIT đang dùng có tần số là 100 MHz. Nếu KIT đang dùng có tần số khác là 50 MHz thì hiệu chỉnh lại cho đúng bằng 50000000. + Phần thứ 3 là xử lý tín hiệu ngõ ra: Ngõ ra ck1hz lên mức 1 khi giá trị đếm của mạch đếm mod-N nhỏ hơn nửa chu kỳ N/2 và xuống mức 0 khi giá trị đếm lớn hơn nửa chu kỳ N/2, mạch cứ thế lặp lại nên ta được xung 1 Hz. Sau khi biên dịch mã VHDL ta thu được kết quả của bộ chia tần mod-10 như Hình 10b, với mạch chia này thì tần số ngõ ra Q3 là 1 Hz nhưng xung không đối xứng mà theo tỷ lệ là 80% và 20%. Nếu hệ thống yêu cầu tín hiệu có hệ số chu kỳ là 50% thì ta không thể dùng tín hiệu Q3 được, khi đó ta phải thêm mạch để tạo ra tín hiệu có hệ số chu kỳ 50%, đó là mạch so sánh: lấy giá trị của mạch đếm mod-10 so sánh với hằng số là 5: nếu nhỏ hơn 5 (từ 0 đến 4) thì tín hiệu ra bằng 1, lớn hơn 5 (từ 5 đến 9) thì tín hiệu ra bằng 0, hoặc đảo lại. Do đó nếu tín hiệu có tần số là N, muốn chia và tạo ra tín hiệu có tần số là 1 Hz với hệ số chu kỳ là 50% thì ta dùng mạch đếm mod-n để đếm xung có tần số n. Lấy kết quả của mạch đếm mod-n đem so sánh với hằng số n/2: nếu nhỏ hơn n/2 thì tín hiệu xung 1 Hz bằng 1, ngược lại tín hiệu xung 1 Hz bằng 0. 4. Kết luận và đánh giá Để tạo ra các bộ phát xung với các dạng sóng, với tần số (chu kỳ), biên độ và pha khác nhau, nhóm tác giả đã áp dụng một phương pháp bảng tra cứu logic Table lookup trên nền tảng phần cứng FPGA và ngôn ngữ lập trình VHDL. Mặc dù sẽ cần sử dụng một ít bộ nhớ, nhưng nó là một phương pháp hiệu quả để tạo ra nguồn phát xung. Đồng thời không chỉ có thể tạo ra các tín hiệu tiêu chuẩn mà còn có thể đạt được các dạng sóng, loại điều chế và trộn tín hiệu bằng cách sử dụng DDS trong FGPA như trong Mục 2, loại tạo dạng sóng tùy biến này có thể bị giới hạn khi thực hiện bởi các bộ tạo hàm hay máy phát thương mại thông thường. Trước khi gửi các giá trị đến DAC, ta có thể xử lý kỹ thuật số, mang lại sự linh hoạt và sức mạnh cho các thiết kế dựa trên FPGA của bộ tạo tín hiệu. Biên độ của dạng sóng đầu ra được thực hiện bởi bộ khuếch đại và được điều chỉnh bằng chiết áp. Khi được triển khai bằng DDS cùng với các kỹ thuật xử lý, chúng ta có thể điều chế, mã hóa, bất kỳ tín hiệu. Hơn nữa, nó cũng có thể giao tiếp với máy tính, cho phép người dùng xem hoặc truy cập các dạng sóng do FPGA tạo ra. Thiết kế FPGA này có thể được triển khai cho các ASIC có chất lượng tín hiệu, nhiễu pha, nhiễu thiết bị rất thấp, tiêu thụ năng lượng thấp, kích thước nhỏ gọn khi sử dụng 1 board mạch tích hợp. Đồng thời có thể băm xung, chia tần với chu kỳ (thời gian) khác nhau như Mục 3 bằng cách thay đổi xung clock ckht của KIT FPGA (N) hoặc điều chỉnh giá trị cần chia (n), giúp tăng độ phân giải (chính xác) cho các phép đo yêu cầu độ chính xác cao, mà các sản phẩm thương mại sẽ gặp phải giới hạn trên thang đo. Kết quả của nghiên cứu có thể được sử dụng làm tài liệu nền tảng cho các ngành, chuyên ngành liên quan đến lĩnh vực điện, điện tử, tin học, tự động hoá và hệ thống nhúng. Cùng với sản phẩm là các bộ mã nguồn, sẽ giúp cho các kỹ sư thiết kế, nghiên cứu viên khi muốn tạo ra các nguồn phát mong muốn, chỉ cần gọi các chương trình con với các thông số là dạng sóng, chu kỳ, biên độ (đồng nghĩa với tần số, pha sẽ thay đổi) để có thể thu được các bộ phát xung với giá trị tuỳ biến hoặc thích nghi. Từ đó sẽ có được bộ kiểm định, phân tích, dự đoán và cảnh báo lỗi trong qua trình đo lường các hệ thống. 259 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 253 - 260 Lời cám ơn Kết quả nghiên cứu này là sản phẩm của đề tài nghiên cứu khoa học cấp cơ sở có mã số T2021- 07-06, được tài trợ bởi kinh phí của Trường Đại học Công nghệ Thông tin và Truyền thông. TÀI LIỆU THAM KHẢO/ REFERENCES [1] J. D. Bass and J. S. Zhang, Treatise on Geophysics 2nd Edition. Elsevier B.V, 2015. [2] Lidinco. ltd, “Take a look at the 10 best pulse generator lines,” Jun. 21, 2019. [Online]. Available: [Accessed Sept. 09, 2021]. [3] W. S. Chung et al., "Triangular/square-wave generator with independently controllable frequency and amplitude," IEEE Transactions on Instrumentation and Measurement, vol. 54, no. 1, pp. 105-109, 2005. [4] V. Valimaki, "Discrete-time synthesis of the sawtooth waveform with reduced aliasing," in IEEE Signal Processing Letters, vol. 12, no. 3, pp. 214-217, March 2005. [5] A. Karnal, K. C. Tripathi and V. Prakash, "Inexpensive sawtooth wave; Adjustable and frequency- independent duty-cycle square-wave oscillator," in IEEE Transactions on Instrumentation and Measurement, vol. IM-36, no. 1, pp. 120-123, March 1987. [6] H. E. Kallmann, "High-Power Sawtooth Current Synthesis from Square Waves," in Proceedings of the IRE, vol. 38, no. 1, pp. 60-64, Jan. 1950. [7] L. Limin and Suzhihua, "Function Signal Generator," Fourth International Conference on Digital Manufacturing & Automation, Shinan, China, 2013. [8] D. Satipar et al., “Electronically Tunable Quadrature Sinusoidal Oscillator Using VDDDAs,” in 2021 9th International Electrical Engineering Congress (iEECON), Pattaya, Thailand, 2021. [9] S. Tuntrakool, M. Kumngern, R. Sotner, N. Herencsar, P. Suwanjan, and W. Jaikla, "High input impedance voltagemode universal filter and its modification as quadrature oscillator using VDDDAs," Indian Journal of Pure & Applied Physics, vol. 55, pp. 324-332, May 2017. [10] W. Fujun, “Design of arbitrary wave generator based on VXI bus,” in 14th IEEE International Conference on Electronic Measurement & Instruments (ICEMI), Changsha, China, 2014. [11] S. M. Rezaul Hasan, "Dual-Band Waveform Generator With Ultra-Wide Low-Frequency Tuning- Range," IEEE Access, vol. 4, pp. 3169-3181, April 2016. [12] S. Malik et al., “A CCII-Based Wide Frequency Range Square/Triangular Wave Generator,” in Proc. IEEE 2nd Int. Conf. on Recent Trends in Information Systems (ReTIS), 2015, pp. 446-449. [13] Z. N. Zafar, M. A. Maktoomi, and M. S. Hashmi, “A New Adjustable Square/Triangular-Wave Generator using CCII/CCCII and OTA,” in Proc. IEEE 26th Int. Conf. on Microelectronics (ICM), 2014, pp. 104-107. [14] S. Churiwala, Designing with Xilinx® FPGAs. Springer International Publishing, 2017. [15] L. Cordesses, "Direct digital synthesis: a tool for periodic wave generation (part 1)," IEEE Signal Processing Magazine, vol. 21, no. 4, pp. 50-54, 2004. [16] L. Cordesses, "Direct digital synthesis: a tool for periodic wave generation (part 2)," IEEE Signal Processing Magazine, vol. 21, no. 5, pp. 110-112, 2004. [17] V. A. Pedroni, Circuit Design and Simulation with VHDL. The MIT Press, Cambridge, Massachusetts, London, England, 2010. 260 Email: jst@tnu.edu.vn