TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 5 -2006
Trang 21
CHUYỂN ĐỔI MÁY TÍNH THÀNH DAO ĐỘNG KÝ SỐ HAI KÊNH
Nguyễn Trường An, Phạm Thị Thu Phương, Huỳnh Hữu Thuận, Nguyễn Hữu Phương
Trường Đại học Khoa học Tự nhiên, ĐHQG – HCM
(Bài nhận ngày 01 tháng 12 năm 2005, hoàn chỉnh sửa chữa ngày 16 tháng 05 năm 2006)
TÓM TẮT:
Dao động ký hai kênh (Two-channel oscilloscope) là thiết bị đo điện tử quan
trọng và phổ biến, nó hiển thị dạng sóng và một số đặc tính khác của các tín hiệu. Có hai loại
dao động ký: tương tự và số. Dao động ký số ưu việt hơn loại tương tự nhưng ít phổ biến vì giá
cao. Bài báo trình bày cách thức chuyển đổi máy tính PC thành dao động ký số hai kênh, gồm
phần cứng là mạch thu nhận dữ liệu tự thiết k
ế và phần mềm là tập nhiều chương trình viết
bằng ngôn ngữ Visual C
++
.1. GIỚI THIỆU
Dao động ký hai kênh (Two-channel oscilloscope) là thiết bị rất cần thiết và khá phổ biến
trong các phòng thí nghiệm điện tử và các phòng thí nghiệm khác. Nhưng dao động ký số hai
kênh ít phổ biến hơn vì giá cao dù có nhiều ưu điểm, đặc biệt là khả năng đo, lưu trữ và xử lý
dữ liệu. Mặt khác máy tính PC đã sẵn có khả năng cao về xử lý, lưu trữ và hiển thị. Do đó vấn
đề là thiết kế
mạch thu nhận dữ liệu (DAQ) giao tiếp với máy tính và trang bị các phần mềm
cần thiết. Đã có nhiều card DAQ và phần mềm như vậy, điển hình nhất có lẽ là thiết bị và phần
mềm LabView của hãng National Instruments (Mỹ). Ở đây, để giảm giá thành xuống mức thấp
nhất chúng tôi tự nghiên cứu phát triển phần cứng và phần mềm.
Phần còn lại của bài báo như sau. Mục 2: Thu nhận d
lọc
AD
Vi điều khiển kênh
A
Bộ
đệm
B
U
S
I
S
A
Dữ
liệu
Giải mã địa
chỉ
Địa
chỉ
Vi
Kênh B
Phân tầm và
lọc
AD
Vi điều khiển
kênh B
AT89C2051. Dữ liệu ra cùng với mã số phân tầm (2 bit) và bit trạng thái từ vi điều khiển được
đưa đến bộ đệm để vào máy tính qua bus ISA. Bộ giải mã địa chỉ xác định địa chỉ cho các bộ
đệm, đây là địa chỉ đọc dữ liệu.
Hình 2a và 2b là sơ đồ mạch đầ
y đủ.
2.2 Phần mềm giao tiếp
Trước khi vào chương trình, phần mềm yêu cầu xác nhận đã có phần cứng gắn vào bus ISA
chưa. Nếu đã có phần cứng thì bấm OK để vào chương trình chính.
QA
QB
QC
QD
VCC
GND
CHANNEL B
VrefClock
GAINA1
-
+
U6B
TL084
5
6
7
4 11
C19
2.2n
12
R29
20k
21
+12V
DGND
R54
RESISTOR VAR
1 3
2
R24
10k
21
+5V
AGND
-
+
U6D
TL084
12
13
14
4 11
R16
1k
21
C37
1n
1 2
R6
20k
21
AGND
-
+
U6C
TL084
10
9
8
4 11
15
11
1
5
2
4
6
10
9
133
16
8
7
X0
X1
X2
X3
Y0
Y1
Y2
Y3
INH
A
B
XY
VDD
VSS
VEE
C39
104
C42
104
12
-
+
U1B
TL084
5
6
7
4 11
LEVEL SHIFTER
AGND
R34
10k
21
INPUTS
LOW-PASS FILTER
DGND
AGND
-
+
U13B
TL084
5
6
7
4 11
R11
10k
1
4 11
-
+
U13D
TL084
12
13
14
4 11
AGND
C17
150p
1
2
R38
10k
21
AGND
+5V
-12V
-12V
-12V
R32
1 3
2
+12V
+12V
-12V
R8
6
14
7
A
CLR
QA
QB
QC
QD
VCC
GND
AGND
-
+
U7
OP07
3
2
6
7 4
81
R44
1k
21
-
+
U8
OP07
3
2
TL084
3
2
1
4 11
AGND
AGND
R30
4k
21
C45
104
12
AUTORANGING
-12V
C47
1n
12
R26
20k
21
C40
104
1 2
C21
150p
12
+12V
AGND
VrefReset
21
KENHA
-
+
U13C
TL084
10
9
8
4 11
C43
104
1 2
+12V
R4
30k
2 1
R33
10k
21
R39
1k
21
C38
1n
1 2
-12V
-
+
U1C
R27
RESISTOR VAR
1 3
2
+5V
R17
1k
21
R31
1 3
2
AGND
GAINB2
GAINA2
+12V
R2
100k
21
R14
10k
21
AGND
GAINB1
-5V
R18
10k
21
U12
74HC4052
12
ZENERAReset
1 2
AGND
AGND
R7
4k
21
C5
150p
1
2
R25
100k
21
KENHB
D3
ZENERAClock
1 2
AGND
AGND
+12VHình 2a: Khối xử lý số và giao tiếp máy tínhScience & Technology Development, Vol 9, No.5 - 2006
Trang 24
GAINA1
DATA12
ADD6
ADDRESSB
DA10
DA7
RD+CSA
C13
33p
1 2
U10
AT89C2051/SO
1
10
20
5
4
12
13
14
15
16
17
18
19
2
3
6
7
8
9
11
DGND
D8
LEDB
1 2
DA3
AGND
C22
1n
1
2
U4
AT89C2051/SO
1
10
20
5
4
12
13
14
15
16
17
18
19
2
3
6
7
8
12
+5V
DB4
DATA12
ADDRESSA
ADD2
ADDRESSB
BUSYA
C12
104
1
2
GAINB2
AddChan1
DA5
U19
74HC688
1
10
19
20
3
5
7
9
12
14
16
18
2
Vin1
DB8
U9
4053
12
13
2
1
5
3
6
11
10
9
14
15
4
16
8
7
X0
X1
Y0
Y1
Z0
Z1
INH
A
B
C
11
10
9
8
7
6
5
42
19
21
17
12
3
22
23
1
24
VIN
AGND
DB0/DB8
DB1/DB9
DB2/DB10
DB3/DB11
DB4/LOW
DB5/LOW
DB6/LOW
DB7/LOW
DB8/SDATA
DB9/SCLK
DB10/SSTRB
DATA9
MULTIPLEXER
DATA11
DA4
+5V
ADD9
DA11
DB11
-5V
LEDAB2
D9
LEDAB
1 2
C51
2200u
1 2
C56
10u
1 2
-12V
LEDAB1
AddChan1
+5V
C28
104
1 2
C36
1u
1 2
C52
U18D
74LS08
12
13
11
147
NGAT0
IOR
Vin1
DA2
DGND
KENHB
+5V
C33
104
1 2
-5V
DATA7
DATA5
BphatAnhan
DB2
DGND
+12V
DATA3
-12V
R50
1k
21
C48
10u
2 1
U17C
74LS32
9
10
8
147
DB8
ADD7
R48
RESISTOR SIP 9
1 2
3
4
5
6
7
8
9
DA9
DATA8
DATA5
LEDB2
BphatAnhan
ADD1
+5V
DA11
DGND
XTAL2
ADDRESSA
14
12
20
10
11
13
15
17
9
7
5
3
19
A1
A2
A3
A4
1OE
Y1
Y2
Y3
Y4
VCC
GND
A5
A6
A7
A8
Y5
Y6
C
G1
G2A
G2B
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
VCC
GND
C58
1u
1 2
DUTRUB
DATA11
DUTRUA
DATA10
-5V
CONVERTB
RD+CSB
RESETA
+5V
DB6
XTAL2
XTAL
DATA14
7
5
3
19
A1
A2
A3
A4
1OE
Y1
Y2
Y3
Y4
VCC
GND
A5
A6
A7
A8
Y5
Y6
Y7
Y8
2OE
DATA13
DB11
AGND
DGND
ADDRESSA
ADD5
DGND
-5V
XTAL1
C53
10u
1 2
DATA3
DA4
LEDA1
DA6
AGND
DATA8
GAINA2
DB6
ADC
DA9
AEN
ADD0
+5V
DB7
DATA10
SELECTA
ADD9
DB0
IOR
DA3
DA8
+5V
U17D
74LS32
44
46
48
50
52
54
56
58
60
62
64
66
68
70
72
74
76
78
80
82
84
86
88
90
92
94
96
98
1
3
65
67
69
71
73
75
77
79
81
83
85
87
89
91
93
95
97
B01 GND
B02 RESET
B03 +5V
B04 IRQ9
B05 -5V
B06 DRQ2
B07 -12V
B08 SRDY
B09 +12V
B10 GND
B11 SMEMW
B12 SMEMR
B13 IOW
D13 DRQ6
D14 DACK7
D15 DRQ7
D16 +5V
D17 MASTER
D18 GND
IOCHCHK A01
SD7 A02
SD6 A03
SD5 A04
SD4 A05
SD3 A06
SD2 A07
SD1 A08
SD0 A09
IOCHRDY A10
AEN A11
SA19 A12
SA18 A13
SA17 A14
SA16 A15
SA15 A16
SA14 A17
SA13 A18
SA12 A19
SA11 A20
SA10 A21
SA9 A22
SA8 A23
SA7 A24
1
2
XTAL1
DGND
DGND
DATA5
IOCS16
DATA13
RESETA
DB1
U5
AD7875
20
18
16
15
14
13
11
10
9
8
7
6
5
42
19
21
17
12
ADDRESS DECODER
-12V
DATA13
ADDRESSB
DB3
ADD4
BUSYB
U25
74LS244
2
4
6
8
1
18
16
14
12
20
10
11
13
15
17
9
7
5
3
19
A1
1
18
16
14
12
20
10
11
13
15
17
9
7
5
3
19
A1
A2
A3
A4
1OE
Y1
Y2
Y3
Y4
VCC
GND
A5
A6
A7
ADD3
+5V
ISA BUS
DA5
DB0
+5V
DGND
DATA6
RD+CSA
AddLe2
DA7
DA0
D/K_IOCS16
DATASTSA
DUTRUB
ADD1
BUSYA
+12V
IOR
DA6
DGND
XTAL1
SELECTB
RD+CSB
DB5
C34
104
1 2
RESET
DATA4
+5V
Hình 2b. Khối xử lý số và giao tiếp máy tính của mạch thu nhận dữ liệu
TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 5 - 2006
Trang 25
Hình 3 là giao diện Oscilloscope.
Hình 3 Giao diện Oscilloscope
•
Nút Run:
Khi muốn chạy chương trình, xem dữ liệu trên màn hình, ta bấm nút Run, hoặc vào menu
Capture/Run.
•
Nút Stop:
Khi muốn dừng việc lấy dữ liệu vào, bấm nút Stop hoặc vào menu Capture/Stop.
•
Lấy dữ liệu:
Dữ liệu của kênh 1 và kênh 2 được nhập vào hai mảng dữ liệu khác nhau.
3. HIỂN THỊ DẠNG SÓNG VÀ DỮ LIỆU ĐO
Việc vẽ tín hiệu ra màn hình chỉ là việc đưa dữ liệu tương ứng nhận được ra một vị trí xác
định trên màn hình. Để điều khiển, kiểm soát được biên độ, thời gian, ta phải chuyển dữ liệu
vào các giai xác định. Hình 4 là giải thuật.