1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế phần mềm thiết bị đo và hiển thị dạng sóng lên màn hình máy tính

107 260 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 107
Dung lượng 1,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Luận văn cao học Nguyễn Trường Thọ USB-Osilloscope 6 Giúp cho người đo vừa quan sát định tính được hình dạng của tín hiệu vừa có thể cùng một lúc đo được nhiều thông số của tín hiệu vì

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SỸ

NGÀNH: ĐIỆN TỬ-VIỄN THÔNG

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PHẠM VĂN BÌNH

HÀ NỘI – 2008

Trang 2

MỤC LỤC LỜI NÓI ĐẦU Error! Bookmark not defined CHƯƠNG 1: TỔNG QUAN VỀ OSCILLO VÀ PC OSCILLO Error!

Bookmark not defined

1.1 Giới thiệu chung Error! Bookmark not defined 1.1.1 Oxilo tương tự Error! Bookmark not defined 1.1.2 Oxilo điện tử số Error! Bookmark not defined 1.2 Tổng quan về PC Oscillo Error! Bookmark not defined

CHƯƠNG 2 GIỚI THIỆU CHUNG VỀ USB Error! Bookmark not

defined

2.1 Giới thiệu Error! Bookmark not defined

2.2 Kiến trúc tổng quan của hệ thống USB.Error! Bookmark not defined 2.2.1 Host: Error! Bookmark not defined 2.2.2 Thiết bị USB: Error! Bookmark not defined 2.2.3 Mô hình Bus vật lý Error! Bookmark not defined 2.2.4 Mô hình Bus logic Error! Bookmark not defined 2.2.5 Mối quan hệ Client software và function.Error! Bookmark not defined

2.2.6 Luồng dữ liệu USB Error! Bookmark not defined 2.3 Kiến trúc chi tiết Error! Bookmark not defined 2.3.1 Dây cáp USB Error! Bookmark not defined 2.3.2 USB Connecter Error! Bookmark not defined 2.3.3 Đặc tính điện Error! Bookmark not defined

Trang 3

Phụ lục 1: Giao diện phần mềm

Trang 4

Phụ lục 2: Mã nguồn thuật toán smooth

Public Sub smooths(ByRef dsx1() As Long, dsy() As Long, ByVal dem1 As

Long, ByVal color As ColorConstants) Dim kt As Boolean

Dim dsy1(1000) As Long

Dim batdongbo As Boolean

Dim moi As Double

Dim moi1 As Double

Dim J As Long

Dim bien As Double

If chuky < 4 And chuky > 0 Then

d = Int(4 / chuky)

bien = 4 - d * chuky

If bien <> 0 Then

bien = chuky / bien

bien = chuky / bien / 4

Trang 5

If redraw = True Then

moi = gain * voltdiv

moi1 = timediv * 4 * bien

tgtgt = 4500

Else

moi = gain * 2 * voltdiv

moi1 = timediv * 8 * bien

Trang 6

If dsy1(TG1) = dsy1(TG2) Then

d = fx(dsy1(), dsx1(), TG1 - 1, TG2, i) End If

Else

d = fx(dsy1(), dsx1(), TG1, TG2 + 1, i) End If

Trang 7

If d = triggery And Not batdongbo Then

If d > 120 And d < tgtgt And batdongbo Then

frmMain.Picture1.PSet (i - ofset, d), color

End If

End If

Next

Trang 8

Else

If Not batdongbo And ((frmMain.optf.value And triggery < dsy1(TG2) And triggery > dsy1(TG1)) Or (frmMain.optr.value And triggery > dsy1(TG2) And triggery < dsy1(TG1))) Then

ofset = dsx1(TG1) + (dsy1(TG1) - triggery) * (dsx1(TG2) - dsx1(TG1)) / (dsy1(TG1) - dsy1(TG2)) - 120

batdongbo = True

End If

If batdongbo Then

frmMain.Picture1.Line (dsx1(TG1) - ofset, dsy1(TG1))-(dsx1(TG2)

- ofset, dsy1(TG2)), color

Trang 9

If TG2 < dem1 Then

tgtg1 = fx(dsy1(), dsx1(), TG1 - 1, TG2 + 1, i - 1) tgtg2 = fx(dsy1(), dsx1(), TG1 - 1, TG2 + 1, i + 1) Else

tgtg1 = fx(dsy1(), dsx1(), TG1 - 1, TG2, i - 1) tgtg2 = fx(dsy1(), dsx1(), TG1 - 1, TG2, i + 1) End If

Trang 10

If d > 120 And d < tgtgt And batdongbo Then

frmMain.Picture1.PSet (i - ofset, d), color

Trang 11

If d > 120 And d < tgtgt And batdongbo Then

frmMain.Picture1.PSet (i - ofset, d), color

Trang 12

If d > 120 And d < tgtgt And batdongbo Then

frmMain.Picture1.PSet (i - ofset, d), color

End If

End If

Next

Else

Trang 13

If Not batdongbo And ((frmMain.optf.value And triggery <

dsy1(TG2) And triggery > dsy1(TG1)) Or (frmMain.optr.value And triggery > dsy1(TG2) And triggery < dsy1(TG1))) Then

ofset = dsx1(TG1) + (dsy1(TG1) - triggery) * (dsx1(TG2) - dsx1(TG1)) / (dsy1(TG1) - dsy1(TG2)) - 120

batdongbo = True

End If

If batdongbo Then

frmMain.Picture1.Line (dsx1(TG1) - ofset, dsy1(TG1))-(dsx1(TG2)

- ofset, dsy1(TG2)), color

Trang 14

Phụ lục 3: Thuật toán Smooth_add

Public Sub smooth_add(ByRef dsx1() As Long, dsy() As Long, ByVal dems As

Long, ByVal dem1 As Long, ByVal color As ColorConstants) Dim kt As Boolean

Dim dsy1(1000) As Long

Dim batdongbo As Boolean

Dim calculared As Boolean

Dim ris As Boolean

Dim star As Long

Dim moi As Double

Dim moi1 As Double

Dim J As Long

Dim max, min As Long

max = frmMain.sld6.value - dsy(dems)

min = frmMain.sld6.value - dsy(dems)

If redraw = True Then

moi = gain * voltdiv

Trang 15

For i = dems To dem1

dsx1(i) = dsx1(dems - 1) + (i - dems) * moi1

dsy1(i) = frmMain.sld6.value - moi * dsy(i)

Trang 17

End If

End If

End If

End If

If d > dsx1(dems - 1) And d < tgtgt And batdongbo Then

frmMain.Picture1.PSet (i - ofset, d), color

Trang 18

ofset = dsx1(TG1) + (dsy1(TG1) - star) * (dsx1(TG2) -

dsx1(TG1)) / (dsy1(TG1) - dsy1(TG2)) - dsx1(dems - 1)

Trang 19

frmMain.Picture1.Line (dsx1(TG1) - ofset, dsy1(TG1))-(dsx1(TG2)

- ofset, dsy1(TG2)), color

Trang 20

tgtg1 = fx(dsy1(), dsx1(), TG1, TG2 + 1, i + 1) End If

If (ris And d > tgtg1) Or (Not ris And d < tgtg1) Then ofset = i - dsx1(dems - 1)

Trang 21

tgtg1 = fx(dsy1(), dsx1(), TG1, TG2 + 1, i + 1) End If

If (ris And d > tgtg1) Or (Not ris And d < tgtg1) Then ofset = i - dsx1(dems - 1)

Trang 22

tgtg1 = fx(dsy1(), dsx1(), TG1, TG2 + 1, i + 1) End If

If (ris And d > tgtg1) Or (Not ris And d < tgtg1) Then ofset = i - dsx1(dems - 1)

batdongbo = True

End If

Trang 23

ofset = dsx1(TG1) + (dsy1(TG1) - star) * (dsx1(TG2) -

dsx1(TG1)) / (dsy1(TG1) - dsy1(TG2)) - dsx1(dems - 1)

Trang 24

If dsy1(TG2) < min Then

min = dsy1(TG2)

End If

If batdongbo Then

frmMain.Picture1.Line (dsx1(TG1) - ofset, dsy1(TG1))-(dsx1(TG2)

- ofset, dsy1(TG2)), color

End If

End If

End If

Loop

For i = dems To dem1

dsx1(i) = dsx1(i) - ofset

Next

End Sub

Trang 25

Phụ lục 4 : Thuật toán FFT cơ số 2

Public Function FFT(ByVal dir As Integer, ByVal m As Integer, ByRef y() As Double) As Boolean

Dim n, i, i1, j, k, i2, l, l1, l2 AsInteger

Dim c1, c2, ty, t1, t2, u1, u2, z As Double

'/* Calculate the number of points */

Trang 26

Loop

j += k

Next

' /* Compute the FFT */ c1 = -1.0

Trang 27

'/* Scaling for forward transform */ For i = 0 To n - 1

Trang 28

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

2.3 Kiến trúc chi tiết 26

2.3.1 Dây cáp USB 26 2.3.2 USB Connecter .26 2.3.3 Đặc tính điện .27 2.3.4 Định nghĩa tốc độ 28

Trang 29

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

2

2.3.5 Giao thức USB .28 2.3.6 Các phương thức trao đổi dữ liệu .32

CHƯƠNG 3: PHẦN MỀM 41

3.1 Lý thuyết chung 41

3.1.1 Phương pháp xây dựng đường cong .41 3.1.2 Phân tích phổ tín hiệu .51

3.2 Phương Pháp khôi phục dạng tín hiệu và phân tích phổ 57

3.2.1 Phương pháp khôi phục dạng tín hiệu 57 3.2.2 Thuật toán phân tích phổ ( FFT cơ số 2) 75

CHƯƠNG 4: KẾT LUẬN 78

4.1 Độ chính xác 78 4.2 Hạn chế và hướng nghiên cứu tiếp theo 78

TÓM TẮT LUẬN VĂN 80 TÀI LIỆU THAM KHẢO 81

Trang 30

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

3

LỜI NÓI ĐẦU

Trong những năm vừa qua, ngành Điện tử - Viễn thông đã góp một phần không nhỏ vào công cuộc xây dựng và kiến thiết đất nước So với lịch sử phát triển của ngành điện tử trên thế giới thì ngành điện tử của ta vẫn còn non trẻ và chủ yếu là phân phối và gia công lắp ráp các sản.Tuy đã có các sản phẩm thiết kế song vẫn còn nhỏ, lẻ Để bắt kịp với sự phát triển của thế giới và đáp ứng nhu cầu thực tế chúng ta cần từng bước tự cường về công nghệ và tự chủ về quy trình sản suất, xây dựng những nền tảng cơ bản, phát huy hết nguồn lực về con người Trong điều kiện đất nước còn khó khăn, các trang thiết bị còn thiếu vì vậy việc thiết kế các công cụ phục vụ cho công tác nghiên cứu và đào tạo là cần thiết Việc trang bị lại các thiết bị phục vụ thí nghiệm sẽ giúp ích cho sinh viên có cơ hội tiếp xúc với thực tế để tự tin hơn khi bước vào môi trường làm việc Một trong các công cụ về xử lí tín hiệu rất cần thiết cho ngành điện tử là máy hiện sóng (Oscilloscope) Phần nhiều các máy này trong phòng thí nghiệm hiện nay là các oscillo tương tự với màn hình hiện thị CRT Một số phòng thí nghiệm mới

đã có Oscillo số nhưng số lượng còn hạn chế Oscillo số có những tính năng tốt hơn rất nhiều so với Oscillo tương tự như xử lí tín hiệu, lưu trữ các tín hiệu đã đo từng thời điểm quan sát, phân tích phổ, xử lí và gia công tín hiệu (FFT,FIR…) nhưng giá thành còn rất cao Với mong muốn có thể tạo ra một chiếc Oscillo số

đa tính năng phục vụ một phần trong công tác thực hành thí nghiệm trong trường

và công tác nghiên cứu với chi phí nhỏ hơn rất nhiều… Đề tài “Thiết kế phần mềm thiết bị đo và hiển thị dạng sóng lên màn hình máy tính” được tôi chọn trong luận văn tốt nghiệp của mình

Trang 31

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

Trang 32

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

5

CHƯƠNG 1: TỔNG QUAN VỀ OSCILLO VÀ

PC OSCILLO 1.1 Giới thiệu chung

1.1.1 Oxilo tương tự

1.1.1.1 Khái niệm

Oxilo là máy đo tín hiệu đa năng Oxilo là đọc tắt của:

+ Oscilloscope: Máy xem dạng sóng, hiện sóng

+ Oscillograph: Máy vẽ sóng, dao động kí

Trang 33

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

6

Giúp cho người đo vừa quan sát định tính được hình dạng của tín hiệu vừa

có thể cùng một lúc đo được nhiều thông số của tín hiệu vì vậy nên nó có thể thay thế được nhiều thiết bị đo các thông số riêng rẽ của tín hiệu

+ Đo nhanh: Tiết kiệm được thời gian và tài chính

1.1.1.4 Sơ đồ khối tối thiểu cần có

Kªnh Z

Hình 1.1 Sơ đồ khối tối thiểu của một oxilo tương tự

Kênh Z: Tạo ra màn hình, bút ghi, lực Fz (mục đích: làm cho màn hình phát sáng)

Kênh Y: Là nơi đưa tín hiệu cần quan sát, đo đạc và dùng để điều khiển bút ghi lên trên, xuống dưới nhờ lực Fy

Kênh X: Tạo ra lực Fx kéo bút ghi chuyển động theo phương ngang Yêu cầu hàm Fx(t) phải là hàm tuyến tính theo thời gian nếu không sẽ gây ra hiện tượng méo dao động đồ

Nếu 3 kênh X, Y, Z được tạo ra bằng các mạch điện tử thì ta có oxilo điện

tử, còn nếu tạo ra từ năng lượng cơ thì ta có oxilo cơ trong nội dung của bản báo cáo này ta chỉ tập trung vào oxilo điện tử

Trang 34

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

7

1.1.1.5 Sơ đồ khối tổng quát dạng của 1 oxilo tương tự 1 kênh

Trong mục này chỉ giới thiệu khái quát về các phân hệ chính của 1 oxilo tương tự 1 kênh Gồm có 4 phân hệ:

Lưu ý: Điện áp cắt là điện áp một chiều đặt vào G và tại điện áp này không có điện tử nào lọt qua lỗ của G để bắn lên màn hình

+ Hệ thống lái tia điện tử bằng điện áp

Trang 35

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

Cặp tấm Y1, Y2 đặt song song nhau, cách nhau một khoảng dy và cùng song song với mặt phẳng ngang Khi có điện áp từ đầu ra của khuếch đại đối xứng Y đặt vào (chính là điện áp của tín hiệu cần quan sát, đo đạc), do có sự chênh lệch điện áp giữa Y1, Y2 sẽ hình thành lực Fy kéo bút ghi theo đường sáng dọc

Bộ tạo tín hiệu có Tch để đánh dấu thời gian: Khối này thường là khối tự dao động đưa ra tín hiệu điều hoà hoặc xung vuông đều có chu kì chuẩn để đánh dấu thời gian

b, Phân hệ kênh Y

Có nhiệm vụ đưa tín hiệu cần đo, cần quan sát vào nó để tạo ra lực Fy kéo bút ghi lên trên hay xuống dưới tạo nên trục hàm số hay biên độ

Các khối chức năng:

Trang 36

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

Hình 1.2 Sơ đồ khối chức năng phân hệ kênh Y

Khối chuẩn biên độ có tác dụng chuẩn lại thang khắc độ của chuyển mạch phân áp Y trước khi oxilo thực hiện phép đo biên độ điện áp của tín hiệu cần đo Khối cáp đo: Là 1 cấu kiện chuẩn, trên đó có bộ chia cáp theo 2 thang 1:10 và 1:1 Nếu để thang 1:10 thì kết quả đọc ra trên oxilo phải x10

Khối chuyển mạch phân áp Y: Gồm 1 chuỗi mạch (R // C) tạo thành hệ số chia áp Kpa = Uvào/Ura Khi Uy vào càng lớn thì cần điều chỉnh sao cho Kpa càng lớn Khối này đưa ra mặt máy để điều chỉnh

Khối mạch vào và tiền khuếch đại Y

+ Mạch vào thường là 1 tầng khuếch đại có hồi tiếp âm lớn, thường hệ số khuếch đại mạch vào ≤1 (để mạch vào có Zvào lớn, Zra nhỏ) Mạch vào đóng vai trò tầng đệm, thực hiện phối hợp trở kháng giữa mạch cần đo và oxilo

+ Tầng tiền khuếch đại Y đảm bảo hệ số khuếch đại đủ lớn đồng thời phải đảm bảo dải thông của kênh Y

Dây trễ: Là chuỗi các mạch LC mắc song song, liên tiếp nhau Các LC này

có thể được tạo từ các phần tử thụ động hay tích cực

Trang 37

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

10

Tầng khuếch đại Y đối xứng: Tạo ra 2 điện áp ngược pha nhau đưa vào 2 tấm lái tia Y1, Y2 làm cho độ nhạy của cặp tấm (hay của kênh Y) tăng lên gấp đôi

* Quét đợi: Là tín hiệu xung răng cưa chỉ được tạo ra khi trên kênh Y tồn tại xung hay nói cách khác đầu vào Y là tín hiệu xung

+ Quét X ngoài:

Khi đó để quét X cần phải từ ngoài oxilo đến đầu vào X, qua chuyển mạch phân áp X, mạch vào và tiền khuếch đại X, khuếch đại đối xứng X, vào cặp lái tia X1, X2

Chế độ này được sử dụng khi oxilo thực hiện các phép đo các thông số bằng cách so sánh tín hiệu đó với tín hiệu chuẩn thông qua dao động đồ litxagiu (là một đường cong khép kín)

Đồng bộ: Có ba chế độ đồng bộ

+ Đồng bộ ngoài: Tín hiệu đồng bộ đưa vào điều khiển đồng bộ được lấy từ một nguồn ngoài oxilo, thường để đồng bộ tín hiệu xung, dao động đồ của tín hiệu có độ rộng hẹp và có chu kỳ dài

Trang 38

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

11

+ Đồng bộ trong: Tín hiệu đồng bộ đưa xuống được lấy từ Uy (lấy 1 phần tín hiệu Uy cần quan sát, đo đạc) Được sử dụng để đồng bộ dao động đồ trên màn hình khi tín hiệu vào Uy là tương tự hay là xung vuông đều

+ Đồng bộ 50Hz: Tín hiệu đồng bộ được lấy từ một cuộn thứ cấp của biến áp nguồn nuôi oxilo Thường để đồng bộ các tín hiệu vào là điều hoà có tần

- Tốc độ có thể thay đổi trong giới hạn rộng

- Các đoạn hình ảnh lưu giữ có thể xem lại được ở tốc độ thấp hơn nhiều, tốc độ quét có thể lên tới 1cm/1h

- Tạo được hình ảnh dao động đồ tốt hơn, tương phản hơn loại oxilo tương

tự

- Đơn giản hơn trong sử dụng và vận hành

- 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ố, ghép trực tiếp với máy tính hay được xử lí trong oxilo

Trang 39

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

12

1.1.2.2 Sơ đồ khối cấu tạo của oxilo số (dạng có nhớ)

H1.3 Cấu tạo oxilo số có nhớ

Trang 40

Luận văn cao học

Nguyễn Trường Thọ USB-Osilloscope

13

- 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 (cố định) nên nó có thể lưu trữ lượng thông tin lớn các 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 sắp xếp theo chuỗi theo thứ tự đã xác định và được đưa tới bộ chuyển đổi DAC Bộ biến đổi

số - tương tự DAC sẽ biến đổi 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 và tới cặp phiến làm lệch Y của ống tia điện

tử

- Do bộ nhớ được liên tiếp quét nhiều lần trong 1 giây nên màn hình được phát sáng liên tục và hiển lên dạng sóng là hình vẽ các điểm sáng, biểu thị dạng sóng cần quan sát

- Để đạt được một đường sáng liên tục còn có thêm 1 mạch nội suy (làm mượt) giữa bộ DAC và bộ khuếch đại Y

- Một nhược điểm của oxilo có nhớ là dải tần bị hạn chế, do tốc độ biến đổi của bộ ADC thấp (thông thường hiện nay, oxilo có nhớ số có dải tần 1-10 MHz)

- Gần đây, các oxilo có nhớ số có dải tần rộng được phát triển nhờ có cài đặt microprocessor, các bộ biến đổi ADC có tốc độ nhanh hơn, kĩ thuật số hoá mới hơn, cách nội suy và phương pháp thể hiện tín hiệu

Ngày đăng: 22/07/2017, 23:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Cypress Semiconductor(2005), EZ-USB Technical Reference Manual , San Jose Sách, tạp chí
Tiêu đề: EZ-USB Technical Reference Manual
Tác giả: Cypress Semiconductor
Năm: 2005
2. Michelle Schatzman(2002), A Mathematical Introduction , Clarendon Press Sách, tạp chí
Tiêu đề: A Mathematical Introduction
Tác giả: Michelle Schatzman
Năm: 2002
3. Janet L.Axelson(2005), USB Complete , Lakeview Research,Madison 4. SYBEX(2002), Mastering Visual Basic.Net, SYBEX, San Francisco Sách, tạp chí
Tiêu đề: USB Complete", Lakeview Research,Madison 4. SYBEX(2002), "Mastering Visual Basic.Net
Tác giả: Janet L.Axelson(2005), USB Complete , Lakeview Research,Madison 4. SYBEX
Năm: 2002
5. Richard Mansfield(2006), Visual Basic 2005 Express Edition For Dummies , Wiley Publishing, Hoboken Sách, tạp chí
Tiêu đề: Visual Basic 2005 Express Edition For Dummies
Tác giả: Richard Mansfield
Năm: 2006
6. A.Wojtkiewicz(1996), Elementy syntezy filtrów cyfrowych , WNK Warszawa Sách, tạp chí
Tiêu đề: Elementy syntezy filtrów cyfrowych
Tác giả: A.Wojtkiewicz
Năm: 1996
7. J.Szabatin(2000), podstawy teorii sygnalów , WkiL Warszawa Sách, tạp chí
Tiêu đề: podstawy teorii sygnalów
Tác giả: J.Szabatin
Năm: 2000
8. Nguyễn Quốc Trung, Xử lý tín hiệu và lọc số , Nhà xuất bản Khoa học kỹ thuật, Hà nội Sách, tạp chí
Tiêu đề: Xử lý tín hiệu và lọc số
Nhà XB: Nhà xuất bản Khoa học kỹ thuật

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w