Tải bản đầy đủ (.pdf) (71 trang)

Sử dụng máy tính làm dao động kí

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.17 MB, 71 trang )

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Ĩ KHOA HỌC

NGÀNH: CÔNG NGHỆ THÔNG TIN

SỬ DỤNG MÁY TÍNH LÀM DAO ĐỘNG KÍ

TRẦN VIỆT

HÀ NỘI 2008


USB SIGNAL VIEW

LỜI CẢM ƠN

Luận văn đã được thực hiện dưới sự hướng dẫn của PGS.TS Đặng
Văn Chuyết, những đánh giá khoa học của thầy phản biện và sự giúp đỡ của
các thầy cô khoa Công Nghệ Thông Tin trường ĐH Bách Khoa Hà Nội..
Em xin chân thành cảm ơn thầy cô !
Hà nội 4/2008
Trần Việt

1


MỤC LỤC
DANH MỤC CÁC BẢNG BIỂU VÀ HÌNH VẼ


MỞ ĐẦU ....................................................................................................................2
CHƯƠNG 1 TỔNG QUAN ....................................Error! Bookmark not defined.
1.1 Căn bản về máy dao động kí kỹ thuật số ...Error! Bookmark not defined.
1.1.1

Sơ đồ khối của máy dao động kí ký thuật số.........................................4

1.1.2

Nội suy trước khi hiển thị......................................................................5

1.2

Bộ phận thu nhận mẫu của dao động kí số sử dụng máy tính......................6

1.2.1

Dùng Sound Card .................................................................................6

1.2.2

Dùng ngoại vi cắm trên PCI .................................................................7

1.2.3

Dùng ngoại vi gắn ngoài qua cổng USBError! Bookmark not defined.

CHƯƠNG 2 CHỨC NĂNG TỪNG THÀNH PHẦN CỦA BỘ ĐO .................9
2.1 Phần cứng.....................................................................................................9
2.2


Phần mềm...................................................................................................10

CHƯƠNG 3 XÂY DỰNG PHẦN CỨNG..........................................................17
3.1 Giải pháp chọn linh kiện cho phần cứng....................................................17
3.1.1

Sơ đồ chức năng của thiết bị ngoại vi ................................................17

3.1.2

Kết nối USB là sự lựa chọn thích hợp ................................................17

3.1.3

Họ vi điều khiển AVR chi phí thấp,hiệu năng cao..............................18

3.2

Chíp USB-SERIAL Converter FT232BM .................................................19

3.2.1

Cấu hình..............................................................................................19

3.2.2

Sơ đồ chân...........................................................................................20

3.2.3


Sơ đồ nguyên lí của FT232BM ..........................................................21

3.3

Vi điều khiển ATMEGA8535....................................................................21

3.3.1

Cấu hình..............................................................................................21

3.3.2

Sơ đồ chân kiểu PDIP.........................................................................23

3.3.3

Sơ đồ nguyên lí của ATMEGA8535 ...................................................24

3.3.4

Sơ đồ bộ nhớ của ATMEGA8535........................................................25

3.3.5

Hoạt động ADC của ATMEGA8535...................................................26


3.3.5.1 Các thanh ghi cổng thiết lập chế độ hoạt động ........................26
3.3.5.2 Đưa ADC vào hoạt động ............................................................29

3.3.5.3 Hoạt động UART của ATMEGA8535 .......................................31
CHƯƠNG 4 VIẾT FIRMWARE CHO PHẦN CỨNG ...................................33
4.1 Một số lệnh hợp ngữ cho AVR trong môi trường AVR Studio.................33
4.1.1

Nhóm lệnh với các thanh ghi đa năng ................................................33

4.1.2

Nhóm lệnh rẽ nhánh............................................................................34

4.1.3

Nhóm lệnh làm việc với thanh ghi cổng .............................................36

4.1.4

Các lệnh khác......................................................................................37

4.2

Một số thanh ghi cổng của ATMEGA8535 ...............................................37

4.2.1

SREG...................................................................................................37

4.2.2

SPH,SPL .............................................................................................39


4.2.3

DDRB..................................................................................................39

4.2.4

PORTB ................................................................................................39

4.3

Firmware ....................................................................................................40

4.3.1

Khởi tạo ..............................................................................................40

4.3.2

Giải thuật ............................................................................................41

4.3.3

Chương trình.......................................................................................43

CHƯƠNG 5 XÂY DỰNG PHẦN MỀM ...........................................................49
5.1 Giải thuật ....................................................Error! Bookmark not defined.
5.2

Chọn môi trường cài đặt.............................................................................50


5.3

Điều khiển MicroSoft Comm Control của Visual Basic............................50

5.3.1

Đưa điều khiển vào Project ..................Error! Bookmark not defined.

5.3.2

Một số thuộc tính của MicroSoft Comm Control ...............................51
5.3.2.1 Handshaking..............................................................................51
5.3.2.2 Rtheshold ....................................................................................52
5.3.2.3 Settings ......................................................................................53


5.3.2.4 InBufferCount..............................Error! Bookmark not defined.
5.3.2.5 Input............................................................................................53
5.3.2.6 Inputlen ......................................................................................53
5.3.2.7 Output.........................................................................................53
5.3.2.8 Commport...................................................................................53
5.3.2.9 Portopen ....................................................................................54
5.4

Thủ tục để nhận biết thiết bị ngoại vi.........Error! Bookmark not defined.

5.4.1

Kiểm tra xem một cổng có gắn thiết bị khôngError! Bookmark not defined.


5.4.2

Liệt kê tất cả các cổng xem cổng nào gắn thiết bị..............................57

5.5

Một số thủ tục về đồ họa ............................................................................59

5.5.1

Thủ tục vẽ đường thẳng ......................................................................59

5.5.2

Thủ tục vẽ chuỗi đường thẳng ..............Error! Bookmark not defined.
5.5.2.1 Public Sub ve() .............................Error! Bookmark not defined.
5.5.2.2 Public Sub the_line() ..................................................................61

5.6

Chương trình con xử lí ngắt cổng Com......................................................63

CHƯƠNG 6 THỬ NGHIỆM,HƯỚNG PHÁT TRIỂN ...................................64
6.1 Xác định điện áp,tần số ..............................................................................64
6.2

Đo thử tín hiệu điều chế của điều khiển từ xa TiVi Sony..........................64

6.3


Hướng phát triển của đề tài ........................................................................67

6.3.1

Phần cứng ...........................................................................................67

6.3.2

Thêm chức năng cho phần mềm .........................................................69

KẾT LUẬN..............................................................................................................70
TÀI LIỆU THAM KHẢO ......................................................................................71
TÓM TẮT................................................................................................................72


USB SIGNAL VIEW

MỞ ĐẦU
Dao động kí là thiết bị không thể thiếu trong các thử nghiệm điện
tử,nó là thiết bị hiển thị sự biến thiên của điện áp theo thời gian,thợ sửa
chữa dùng nó vào việc dò tìm tín hiệu,căn chỉnh động ,người thiết kế
dung nó để kiểm nghiệm lại những gì vừa xảy ra trên mạch thiết kế, điều
đó còn làm giảm rất nhiều chi phí vì khâu nào cũng phải làm các mạch
chức năng để kiểm tra nếu không thể quan sát bằng trực quan.Dao động
kí cũng có thể thể ứng dụng cho rất nhiều ngành khác nếu biết cách
chuyển các thông tin phi điện sang tín hiệu điện.
Dao động kí hiện có hai loại chính là dao động kí tương tự và dao
động kí số,loại tương tự chỉ thích hợp với thợ sửa chữa vì nó không có
khả năng lưu hình mặc dù vậy giá của nó cũng vài triệu đồng đối với

những máy có dải thông dưới 20Mhz,tốc độ lấy mẫu của dao động kí số
ngày càng cao nên ưu điểm về thời gian thực của động kí tương tự càng
mờ nhạt mặt khác dao động kí số có nhiều chức năng vì trong nó còn có
cả bộ vi xử lí chứ không chỉ đơn thuần là hiển thị như dao động kí tương
tự nhưng nhược điểm của nó chính là giá ,hiện nay dao động kí số loại
dải thông dưới 20Mhz cũng hơn nghìn USD.Các trình bày sau đây của
luận văn này chỉ đề cập đến dao các động kí số.
Không phải thử nghiệm nào cũng cần đến dao động kí cao tần mà
bỏ ra số tiền không nhỏ để đầu tư máy là một sự lãng phí,nên hiện nay
có nhiều công ty đã cho ra đời các phần mềm dùng máy tính để làm dao
động kí như phần mềm “Virtins Sound Card Oscilloscope “ của hãng
Virtins Technology bán với giá 35$ ,bộ đo này có ưu điểm là gọn nhẹ,vì
dùng ngay Sound Card để lấy mẫu tín hiệu , nhược điểm của nó là
không quan sát được điện áp âm và chỉ lấy mẫu được các tín hiệu dưới

2


USB SIGNAL VIEW

20khz. Một loại khác dung máy tính là sử dụng ngoại vi bên ngoài như
“PC USB Oscilloscope DiSco” của hãng HobbyLab dùng ngoại vi bên
ngoài chạy qua cổng USB có 2 kênh đo ,tần số lấy mẫu trên mỗi kênh
đến 200khz và không đo được điện áp âm, bộ này so với lẫy mẫu qua
Sound Card thì có ưu điểm về tốc độ nhưng nhược điểm của nó là giá
của bộ đo này là 169$.
Từ các phân tích trên nên đề tài này với mục đích
“Dùng máy tính làm dao động kí” mặc dù tần số lấy mẫu chưa cao và
chưa đo được điện áp âm nhưng hướng phát triển của đề tài là có khả
quan vì đề tài xây dựng ngoại vi chạy qua cổng USB nên có thể cải thiện

phẩm chất của linh kiện để đạt được mục đích về tốc độ.

3


USB SIGNAL VIEW

CHƯƠNG 1
TỔNG QUAN
1.1

CĂN BẢN VỀ MÁY DAO ĐỘNG KÍ SỐ:

1.1.1

Sơ đồ khối của máy dao động kí số:

+

Tín hiệu cần đo có thể có điện áp cao vượt qua giới hạn đo của

máy cần được phân áp,sau đó được cho qua bộ khuyếch đại thuật toán để
tránh suy giảm tín hiệu.
+

Tiếp theo tín hiệu được đưa đến bộ chuyển đổi tương tự sang số

(ADC) ,tại đây tín hiệu được lấy mẫu rời rạc theo thời gian và chuyển
đổi điện áp tín hiệu lấy mẫu tại những điểm này thành những giá trị số và
chúng được gọi là các điểm mẫu.

+

Tần số lấy mẫu trong hệ thống ngang sẽ quyết định khoảng cách

về thời gian giữa các điểm lấy mẫu.
+

Các điểm mẫu tạo ra từ ADC sẽ được lưu trong bộ nhớ ,được xử

lí và hiển thị trên màn hình.
+

Hệ thống dọc,ngang và Trigger có thể chỉnh được để kích thước

mẫu phù hợp với khả năng quan sát của máy.

4


USB SIGNAL VIEW

1.1.2

Nội suy trước khi hiển thị:

+

Trong trường hợp lẫy mẫu tín hiệu biến đổi chậm,dao động kí số

dễ dàng hợp nhiều điểm mẫu để xây dựng một hình ảnh tương đối chính

xác của dạng song.

+

Với tín hiệu biến đổi nhanh thì dao động kí số không thể hợp đủ

mẫu để xây dựng dạng sóng mà nó nội suy từ các điểm mẫu đã có thì
mới tạo ra hình ảnh chân thực của dạng sóng.

5


USB SIGNAL VIEW

1.2

BỘ PHẬN THU NHẬN MẪU CỦA DAO ĐỘNG KÍ SỐ SỬ
DỤNG MÁY TÍNH:

1.2.1

Dùng Sound Card:

+

Để sử dụng máy tính là thiết bị tín hiệu điện áp biến đổi theo thời

gian thì cách đơn giản là dùng Sound Card vì đường line in và
Microphone của Sound Card đều được nối với bộ ADC có tần số lấy mẫu
là 44,1khz.

+

Cách lấy mẫu này đã được ứng dụng trong nhiều phần mềm như:

-

Konstantin Zelnovich Oscilloscope 2.51

-

Virtins Sound Card Oscilloscope 1.0

+

Đây là phương án tiết kiệm chi phí nhất nhưng Sound Card chỉ có thể

lấy mẫu các tín hiệu có tần số dưới 20khz và không lấy mẫu được điện áp âm.
1.2.2 Dùng ngoại vi cắm trên khe PCI:

6


USB SIGNAL VIEW

+

Thiết kế bộ ADC trên ngoại vi ở khe PCI thì có thể tối ưu về tốc độ vì

dữ liệu qua dao diện PCI là song song mặt khác có sẵn nguồn nuôi từ
mainboard.

+

Nhưng theo cách này thì thiết bị được ứng dụng không cao vì để tránh

tháo lắp thì mỗi PC phải cố định một vỉ mạch ngoại vi và vỉ này này chỉ được
ứng dụng cho Desktop chứ Laptop hay Notebook thay vì có khe PCI thì lại là
khe PCMCIA.
1.2.3 Dùng ngoại vi gắn ngoài qua cổng USB:

7


USB SIGNAL VIEW

+

Thiết bị ngoại vi gắn ngoài cầm tay có thể mang từ máy tính này sang

máy tính khác.
+

Có thể ứng dụng cho cả Desktop và Laptop.

+

Tốc độ USB có thể đạt 480Mb/s và có sẵn nguồn nuôi có thể cấp dòng

tới 500mA.

CHƯƠNG 2

CHỨC NĂNG TỪNG THÀNH PHẦN CỦA BỘ ĐO.

8


USB SIGNAL VIEW

2.1 Phần cứng:

+

Phần cứng có nhiệm vụ lấy mẫu với chu kỳ cố định ( ở đề tài này

chu kỳ lấy mẫu =88µs ) các giá trị điện áp DC nằm trong dải 0-5V đổi
sang giá trị nhị phân 10bit và gửi về phần mềm 8bit cao.
-

Tức một giá trị điện áp Vin nằm trong dải đo sẽ được lấy mẫu
thành một giá trị nguyên 10bit có giá trị bằng:
Round(Vin*$3FF/5)

9


USB SIGNAL VIEW

-

Vd : Vin=2V thì giá trị của mẫu bằng :
Round(2*$3FF/5)=$199=01.1001.1001

Sau đó 8bit cao được truyền vể phần mềm:

0 1 1 0 0 1 1 0 01
Tám bít được truyền về Bỏ
+

Phần cứng kết nối với PC qua cổng USB.

2.2

Phần mềm:

+

Sau mỗi 3000 giá trị phần cứng gửi tới bộ đệm thì thì phần mềm

bắt đầu nạp các giá trị đó vào một mảng và vẽ.
+

Có thể thay đổi độ rộng quan sát nhờ vào khả năng thay đổi số

điểm vẽ trong mỗi khung hình.Tính năng này tương đương với tính năng
Time/div của Oscilloscope thực.

10


USB SIGNAL VIEW

Thời gian một khung hình Số điểm trong một khung

88ms
=100*88µs
100
17.6ms
44ms
88ms
176ms
264ms

=200*88µs
=500*88µs
=1000*88µs
=2000*88µs
=3000*88µs

200
500
1000
2000
3000

11


USB SIGNAL VIEW

12


USB SIGNAL VIEW


+

Trong trường hợp phóng to,có thể xem lại từng đoạn mà trong

lúc chạy ta không kịp quan sát:

13


USB SIGNAL VIEW

+

Có thể nhấn chuột để biết tọa độ điểm hiện tại ( thời gian, điện

áp) và biết được khoảng thời gian giữa 2 điểm vừa nhấn dựa vào đó có
thể tính được tần số của tín hiệu tuần hoàn:

14


USB SIGNAL VIEW

+

Có khả năng lưu để xem lại khi cần thiết.

15



USB SIGNAL VIEW

16


USB SIGNAL VIEW

CHƯƠNG 3
XÂY DỰNG PHẦN CỨNG.
3.1

GIẢI PHÁP CHỌN LINH KIỆN CHO PHẦN CỨNG:

3.1.1

Sơ đồ chức năng của thiết bị ngoại vi:

Xử lí và truyền
nhận dữ liệu

PC

+

ADC

Analog
signal


Các bộ ADC hiện nay rất phổ biến, có khả năng lấy mẫu đến vài

chục Mhz, vd: adc 8 bit ADC0804 , adc 8 bit ADC0831 ,adc 12 bit
TCL2543…
+

Việc xử lí và truyền nhận dữ liệu giữa PC và ADC cần có vi điều

khiển, một vi điều khiển chi phí thấp mà có sẵn ADC là giải pháp hợp lí.

3.1.2
+

Kết nối USB là sự lựa chọn thích hợp :
Đầu ra của các bộ ADC hoàn toàn có thể nối thẳng đến cổng

song song của máy tính để đạt tốc độ cao nhưng cổng song song hiện nay
không còn phổ biến mặt khác nếu dùng cổng này thì vẫn phải dùng
nguồn ngoài cho thiết bị nên khả năng ứng dụng là không cao.
+

Nếu kết nối theo cổng RS232 thì vẫn phải dùng nguồn ngoài cho

thiết bị mà tốc độ lại chậm vì tốc độ của cổng RS232 thực của PC chỉ đạt
tối đa 115200bit/s .
+

Kết nối theo cổng USB là giải pháp thích hợp hơn cả vì ngoài

khả năng tốc độ cao mà nó còn có thể cấp dòng tới 500mA với điện áp

5V nên không cần nguồn ngoài cho mạch ngoại vi.

17


USB SIGNAL VIEW

3.1.3
+

Họ vi điều khiển AVR chi phí thấp, hiệu năng cao :
Để truyền dữ liệu thu được từ ADC về máy tính ta cần một vi

điều khiển , hiện có vài họ vi điều khiển thông dụng như 8051,
PIC,AVR,ARM .Các thành viên trong họ 8051 thì tốc độ thấp do phải
mất ít nhất 12 chu kỳ thạch anh thì mới có thể hoàn thành một lệnh,
ARM thì rất nhiều ngoại vi như ADC và USB nhưng giá thành cao ,PIC
và AVR có những ưu điểm tương đương , với AVR chỉ mất 1 chu kỳ
thạch anh đã có thể hoàn thành một lệnh vì có kiến trúc RISC mặt khác
một số thành viên còn có ADC và có giao tiếp RS232 trên chip .
+

ATMEGA8535 là một thành viên trong họ AVR không có kết

nối USB nhưng có hỗ trợ kết nối RS232 ,có sẵn ADC trên chip và chi
phí thấp.
+

Từ những phân tích trên , đồ án này


chọn vi điều khiển

ATMEGA8535 để xử lí và truyền dữ liệu ra ngoài theo chuẩn RS232
,sau đó dùng chip FT232BM để chuyển đổi từ chuẩn RS232 sang USB
gửi về máy tính.
Chip FT232 kết nối với PC theo giao thức USB, giao thức đó

+

trong suốt với lập trình viên vì Driver của nó làm Windows nhận nó như
một cổng RS232 ảo với tốc độ lên tới 921600bit/s
+

Sơ đồ khối của ngoại vi có thể vẽ lại như sau:
FT232
PC

USB

ATMEGA8535

RS232

RS232

18

ADC

Analog

signal


USB SIGNAL VIEW

3.2

CHIP USB – SERIAL CONVERTER FT232BM:

3.2.1 Cấu hình:
+

Có bộ truyền nhận không đồng bộ nối tiếp ( UART )

+

Có 384 byte bộ đệm nhận,128byte bộ đệm truyền.

+

Tương thích với USB1.1 và USB 2.0

+

Có một EEPROM ngoài để mô tả danh tính tùy từng thiết bị.

+

Driver đi kèm do hãng FTDI cung cấp nhận Chip như là một


cổng Com ảo ,Vitual Com này có thể đạt tốc độ baud tới 921600

3.2.2 Sơ đồ chân:

19


USB SIGNAL VIEW

3.2.3 Sơ đồ nguyên lý của FT232BM trong chế độ không bắt
tay do FTDI cung cấp:

3.3

VI ĐIỀU KHIỂN ATMEGA8535:

3.3.1 Cấu hình:
+ Vi điều khiển ATMEGA8535 là một thành viên của họ AVR ,loại có
kiến trúc RISC(Reduced Intruction Set Computer). Đây là kiến trúc phổ
biến của các bộ vi điều khiển hiện đại. Có chỉ tiêu chất lượng cao và tiêu
thụ năng lượng ít, nhiều bộ phận ngoại vi được thiết kế ngay trên chip.
+ Làm việc với tần số thạch anh đến 16Mhz nhưng thực tế có thể ép
xung đến 20Mhz , 1 chu kỳ máy bằng 1 chu kỳ thạch anh.
+ Có 21 nguồn ngắt.

20


USB SIGNAL VIEW
+ 130 lệnh mạnh, hầu hết được thực hiện trong một chu kỳ xung nhịp.

+ 8 KB bộ nhớ chương trình kiểu ghi xóa được kiểu flash.
+ Bộ nhớ EEPROM 512 bytes.
+ Bộ nhớ SRAM bên trong 512 bytes.
+ 32 thanh ghi 8 bit đa năng.
+ Bộ chuyển đổi ADC 8 kênh,với độ phân giải 10 bit,tần số lấy mẫu tối
đa của mỗi kênh là 200Khz, xung clock để nuôi ADC có thể thay đổi
được,mỗi lần lấy mẫu tốn 13 chu kỳ của xung clock nuôi ADC (nguồn
xung này lấy từ dao động thạch anh qua một bộ chia )
+ Có 2 bộ đếm và định thời 8 bit
+ Có 1 bộ định thời 16 bit
+ Có bộ nhận phát nối tiếp không đồng bộ ( UART ) trên chip.

3.3.2 Sơ đồ chân kiểu PDIP:

21


×