Giao tiếp máy tính với vi điều khiển bằng công nghệ USB điều khiển led ma trận đồ án tốt nghiệp ngành công nghệ thông tin - Pdf 31

Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

I-Mở bài:
1) Vị trí của đề tài: Ngày nay với sự phát triển của nền công nghiệp điện tử thì
vấn đề giao tiếp đơn giản, tốc độ truyền và xử lý dữ liệu ngày càng được chú
trọng. Chuẩn giao tiếp USB ngày càng được sử dụng rộng rãi để đáp ứng những
yêu cầu trên để thay thế dần cho giao tiếp cổng com, lpt có tốc độ thấp hơn.
2) Tình hình nghiên cứu hiện nay:
- Ở Việt Nam:
+ Tại các trường đại học có nhiều đề tài giao tiếp máy tính với vi điều
khiển AVR bằng cổng usb, còn với PIC thì có rất ít đề tài và chủ yếu giao tiếp
qua lớp HID.
+ Trên thị trường có các doanh nghiệp đã giao tiếp thành công và tự viết
driver cho thiết bị và truyền với tốc độ cao.
- Trên thế giới: vấn đề giao tiếp máy tính với vi điều khiển qua cổng usb đã
được nghiên cứu rất lâu, và có rất nhiều sản phẩm như các kit thí nghiệm, mạch
nạp cổng usb...
3) Tiếp cận đề tài:
-Có các kiến thức cơ bản về kỹ thuật số, vi điều khiển PIC, điện tử cơ bản,
kiến thưc cơ bản về chuẩn usb, lập trình C (hoặc ngôn ngữ lập trình khác)...
*Hướng giải quyết đề tài:
- Tìm hiểu các linh kiện liên quan đến đề tài, so sánh tính ưu việt của các
linh kiện tương quan nhằm lựa chọn linh kiện thiết kế cho phù hợp.
- Thiết kế mạch.
- Chạy mô phỏng.
- Thi hành mạch.
II- Lựa chọn phương án :
Phương án 1: sử dụng vi điều khiển có hổ trợ giao tiếp USB
 Ưu điểm: giá thành rẽ, có nhiều phần mềm hổ trợ

-Bộ nhớ dữ liệu EEPROM: 256 bytes.
-Bộ nhớ chương trình : 32768 bytes.
-Có giao tiếp nối tiếp MSSP, ENHANCED UART.
-Giao tiếp song song PSP.
-Có 19 nguồn ngắt.
- Tần số hoạt động: 0-48MHz.
 PIC 18F4550 có các thông số như 18F2550:
-Có 5 port xuất nhập A,B,C, D,E.
-13 kênh chuyển đổi tương tự sang số 10 bit.
-Có 4 timers: 3 timer 16 bit, 1 timer 1 bit.
-Có hỗ trợ giao tiếp USB.
-Bộ nhớ dữ liệu EEPROM: 256 bytes.
-Bộ nhớ chương trình: 32768 bytes.
-Có giao tiếp nối tiếp MSSP, ENHANCED UART.
-Giao tiếp song song PSP.
-Có 20 nguồn ngắt.
- Tần số hoạt động: 0-48MHz.
 AVR: có nhiều dòng hỗ trợ giao tiếp usb như tiny2313
* Đề tài chọn PIC 18F2550 vì:
- Có những kiến thức cơ bản về 16F877A.
- Do yêu cầu của đề tài và giá thành.
2) Lựa chọn khối hiển thị:
- Led ma trận hiển thị được nhiều thông tin hơn led 7 đoạn phù hợp với
việc điều khiển hiển thị từ máy tính.
-LCD cũng hiển thị đựợc nhiều thông tin nhưng cở chữ nhỏ. Do đó đề
tài chọn led ma trận
3) Lựa phần mềm:

SVTH : Nguyễn Văn Trung



Nút nhấn (mở
rộng)

Máy tính

usb

Vi điều khiển
PIC18F4550

Hiển thị led ma
trận

b) Phần mềm: Lưu đồ
SVTH : Nguyễn Văn Trung

3


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

Bắt đầu

Bắt đầu

Gởi
data từ

Lưu đồ trên máy tính

III- Giới thiệu linh kiện và phần mềm
A-Vi điều khiển PIC 18F2550:
1-Giới thiệu sơ lược về PIC 18F2550
-Có 3 port xuất nhập A,B,C.

SVTH : Nguyễn Văn Trung

4


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

-10 kênh chuyển đổi tương tự sang số 10 bit.
-Có 4 timers: 3 timer 16 bit, 1 timer 1 bit.
-Có hỗ trợ giao tiếp USB.
-Bộ nhớ dữ liệu EEPROM: 256 bytes.
-Bộ nhớ chương trình: 32768 bytes.
-Có giao tiếp nối tiếp MSSP, ENHANCED UART.
-Giao tiếp song song PSP.
-Có 19 nguồn ngắt.
- Tần số hoạt động: 0-48MHz.
2- Sơ đồ chân và chức năng các chân.
Sơ đồ chân:

- Chân MCLR\/Vpp/RE3 (chân 1):
+ MCLR\: là ngõ vào reset tích cực mức thấp.

4-Các thanh ghi:
- Chế độ hoạt động của USB được cài đặt và quản lý bởi các thanh ghi
điều khiển:
+USB control register (UCON).
+USB configuration registor (UCFG).
+USB transfer status register (USTAT).
+USB device Address register (UADDR).
Thanh ghi UCON: chứa các bit cần thiết để điều khiển hoạt động của
module trong quá trình chuyển đổi. Thanh ghi chứa các bit có thể điều khiển:
-Cho phép thiết bị ngoại vi USB.
- Reset Ping-Pong buffer pointer
- Điều khiển chế độ suspend.
-Cấm chuyển đổi gói.

Ngoài ra còn chứa các bit trạng thái.

SVTH : Nguyễn Văn Trung

6


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

-Thanh ghi UCFG: chứa hầu hết các bit điều khiển hoạt động của module
USB:
+Tốc độ bus.
+Cho phép điện trở kéo lên trong chip.
+Cho phép chuyển đổi trong chip.

như là: flash, card âm thanh…
Usb là một chuẩn kết nối tốc độ cao với nguồn cung cấp 5v được cung cấp
cho thiết bị được kết nối đến chúng, 1 bus kết nối usb có thể kết nối đến 127 thiết
bị usb được nối qua 1 cáp 4 dây và có thể truyền thông tin qua khoảng cách từ
3m đến 5m chiếu dài. Nhiều thiết bị usb có thể kết nối như nhau đến 1 thiết bị
gọi là hub có thể có đến 4, 8 hay thậm chí 16 port. Một hub lại được kết nối vào 1
hub khác, cứ như thế, số lượng tầng lớp cho phép là 6 .Trên lý thuyết khoảng
cách cực đại đến 1 trạm chủ là 30 mét, sử dung 5 hub.
Trên lý thuyết usb có 2 phiên bản- phiên bản trước đó là 1.1 có thể hỗ trợ tốc
độ truyền thông lên đến 11Mbps. Trong khi đó phiên bản 2.0 hỗ trợ đến
480Mbps được định nghĩa với 3 tốc độ dữ liệu:
Low-speed: 1.5 Mbps
Full-speed: 12 Mbps

SVTH : Nguyễn Văn Trung

9


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

High-speed: 480 Mbps
Usb bus có thể cung cấp nguồn tối đa cho thiết bi đến 100mA với nguồn 5v.
Cáp usb sử dụng dây có 4 lõi với 2 đầu cáp được che kín, có 2 loại đầu nối usb
kiểu A và kiểu B.

Đầu nối kiểu A (trái)- đầu nối kiểu B (phải)


Idle: bus ở trạng thái chờ khi đó một đường dữ liệu được kéo lên ở mức cao
còn đường dữ liệu còn lại xuống thấp.Đây là trạng thái của dây trước và sau khi
truyền xong gói dữ kiệu.
Detached: khi không có thiết bị nào kết nối, host biết cả hai đường dữ liệu
điều ở mức thấp.
Attached: trạng thái mà có một trong hai dây tín hiệu đã được nối với điện
trở treo lên 3.3v báo có thiết bị cắm vào bus.
J state: giống idle
K state: ngược lại với J state
SE0: kết thúc trạng thái 0. Cả 2 dây tín hiệu được kéo xuống mức 0
SE1: kết thúc trạng thái 1. Hai dây tín hiệu ỏ mức 1. Đây là trạng thái cấm
không bao giờ xuất hiện trên bus.
Reset: trạng thái mà khi host bắt đầu kết nối với một thiết bị. Một tín hiệu
reset đựơc gởi đến bằng cách kéo 2 dây tín hiệu xuống mức thấp (SE0) trong ít
nhất 10ms.

SVTH : Nguyễn Văn Trung

11


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

EOP: (end of pakaged state) đại loại là trạng thái SE0 cho thời gian truyền
hai bit và trạng thái k state trong thời gian truyền một bit
Keep alive: trạng thái được gởi bằng EOP. Trang thái này được gởi mổi 1
mili giây để giữ thiết bị không bị gián đoạn.
Suspend: chế độ đình chỉ dùng để tiết kiệm năng lượng. Sẽ không truyền bất

Có 4 cách truyển dữ liệu lên bus usb: truyển dữ liệu khối lớn (bulk transfer),
truyển dữ liệu qua ngắt (interupt transfer), truyền dữ liệu điều khiển (control
transfer) và truyền dữ liệu đẳng thời (isochronus transfer).
-Bulk transfer: được thiết kế để truyền 1 số lượng lớn dữ liệu mà không có
sửa lỗi và không đảm bảo băng thông. Nếu một out endpoint được định nghĩa
như sử dụng bulk transfer thì host sẽ gửi dữ liêu ra sử dung out transaction. Nếu
một in endpoint được định nghĩa sử dụng bulk transfer thì host sẽ nhận dữ liệu in
transaction. Nói chung, bulk transfer được sử dụng những nơi mà không truyền
dữ liệu tốc độ thấp. Kích thước tối đa của nó là từ 8 đến 64 bytes ở tốc độ full
speed và 512 gói ở high speed (bulk transfer không sử dụng ở chế độ low speed).
-Interupt transfer: được thiết kế để truyền những mẫu nhỏ dữ liệu với 1 băng
thông lớn, dữ liệu cần được truyền đi càng nhanh càng tốt mà không có thời gian
trì hoãn. Interupt transfer có thể truyền từ 1 đến 8 byte ở chế độ low speed, 1-64
byte full speed ,và lên đến 1024 byte high speed.
-Isochonous transfer: phải bảo đảm về băng thông, nhưng không đảm bảo về
lỗi dữ liệu khi đến nơi. Kiểu này thường được dùng trong những ứng dụng mà tốc
độ truyền thì rất quan trọng nhưng việc có hỏng hóc 1 hay 1số ít dữ liệu thì chẳng
có vấn đề gì. Kiểu truyền dữ kiệu này thì có thể truyền đến 1023 byte ở chế độ

SVTH : Nguyễn Văn Trung

13


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

full-speed, và 1024 với chế độ full-speed. (kiểu này không hỗ trợ chế độ low
speed).

-Tất cả các usb đều có 1 sự phân cấp các mô tả cho các đặt tính khác nhau
của từng thiết bị: số hiệu sản phẩm, phiên bản thiết bị, phiên bản usb mà nó hỗ
trợ.
Những mô tả chung nhất:
+ Mô tả thiết bị
+ Mô tả cấu hình
+ Mô tả giao tiếp
+ Mô tả HID
SVTH : Nguyễn Văn Trung

14


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

+ Mô tả endpoint.

3.4.1 Mô tả thiết bị (device descriptor)
-Một thiết bị usb chỉ có 1 bản mô tả thiết bị, bởi vì nó biễu diễn cho cả thiết
bị, nó cung cấp các thông tin cơ bản như là nhà sản xuất, số hiệu sản phẩm, lớp
thiết bị …

-blenght là chiều dài của bản mô tả thiết bị.
-bdescritortype là loại descriptor.
-bcdusb là số phiên bản cao nhất được hỗ trợ.

SVTH : Nguyễn Văn Trung


SVTH : Nguyễn Văn Trung

16


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

Blenght: chiều dài của mô tả thiết bị
bdescriptortype: kiểu mô tả.
binterfacenumber: số của giao diện.
balternatesetting: chỉ rõ những giao diện xen kẽ, có thể đặt bởi host bằng
cách sử dụng lệnh setinterface.
bnumendpiont: chỉ ra số endpoint dùng trong gao diện
binterfaceclass: chỉ ra mã số lớp thiết bị.
binterfacesubclass: chỉ ra mã số lớp phụ thiết bị.
binterfaceprotocol: chỉ ra mã số giao thức của thiết bị.
iinterface: chỉ tới dịa chỉ chuỗi mô tả giao diện.
3.4.4- HID DESCIPTOR (bản mô tả HID)
Bản mô tả này luôn đi sau bản mô tả giao diện, khi giao diện thuộc lớp HID.

Blenght: chiều dài của bản mô tả.
Bdescriptor: kiểu bản mô tả.
Bcdhid: mô tả lớp hid.
Bcountrycode: mã nước.
Bnumdescriptor: chỉ ra những mô tả thêm có liên hệ với lóp này.
SVTH : Nguyễn Văn Trung

17

18


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

2.Cấu tạo và phương pháp điều khiển led ma trận:
Led ma trận là một tập hợp các led đơn với cách kết nố như sau: theo hàng thì
các anode nối chung, theo cột thì các cathode nối chung, với led ma trận 5x7 thì
có 7 hàng và 5 cột. Anode nối với mức H và cathode nối mức L thì led sáng, các
trường hợp còn lại thì led tắt. Có hai cách điều khiển led ma trận
Cách 1: dữ liệu gởi ra hàng, mã quét gởi ra cột:
Ưu điểm:
 Khi mở rộng thêm led thì chỉ cần kết nối song song 8 hàng và cột dùng
thanh ghi dịch rất đơn giản do số lượng đường điều khiển ít
 Mỗi một thời điểm chỉ có 1 cột sáng nên dòng tiêu thụ thấp
 Mạch điện đơn giản
Khuyết điểm:
Bị giới hạn số cột vì khi mở rộng càng nhiều cột thì thời gian tắt của led tăng
thêm => tăng dòng quá lớn nguy hiểm cho led và led sáng không rõ sinh ra hiện
tượng chập chờn. Giả sử có 100 cột thì cho dù quét nhanh hay quét chậm thì thời
gian sáng của mỗi cột vẫn không đổi bằng 1/100 thời gian tắt bằng 99/100.
Cách 2: dữ liệu gởi ra cột, mã quét gởi ra hàng:
Với cách quét theo hàng thì thời gian sáng của led là 1/8 thời gian tắt là 7/8

SVTH : Nguyễn Văn Trung

19


Điện áp cấp cho IC: 5v.

SVTH : Nguyễn Văn Trung

21


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

G\: chân cho phép ngõ ra.
SER IN: chân dữ liệu.
SRCK: chân dịch dữ liệu tầng thứ nhất.
RCK: chân chốt dữ liệu ngõ ra.
SRCLR\: chân xoá ngõ ra.
3- Transistor D468:

SVTH : Nguyễn Văn Trung

22


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

Dòng Ic=1A.
Hệ số khuếch đại: 85 – 170.
Điện áp đánh thủng Vce=20V; Vcb= 25V.

4
5
6
7
8
9
10
11
12
13
14

MCLR
RB7
RA0
RB6
RA1
RB5
RA2
RB4
RA3
RB3
RA4
RB2
RA5
RB1
VSS
RB0
OSC1/CLKIN
Vdd


1
2
3
4
USB

2-Khối điều khiển và hiển thị
RA0-RA4 dùng để điều khiển quét cột (led màu xanh). RC0- RC3 và RC6RC7 dùng để quét cột (led màu đỏ). RB0- RB7 xuất dữ liệu.
Bình thường led làm việc từ 10mA -20mA, áp là 2V.
Khi làm việc bình thường (không dùng phương pháp quét) chọn dòng làm
việc 20mA. Khi đó điện trở trên mỗi led là:
Rled=2/20=0.1(k  )=100(  ).
Khi dùng phương pháp quét thì dòng tức thời phải bằng 32 lần dòng làm việc
bình thường tức bằng 640mA (do sử dụng 4 led ma trận 8x8), khi đó dòng trung
SVTH : Nguyễn Văn Trung

23


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA

bình Iled-tb=640/32=20(mA). Do dòng tức thời lớn hơn 500mA, nên dùng D468
khuếch đại dòng. Chọn sat =90, khi đó dòng IB=640/90=7mA. Do đó chọn giá
trị điện trở như sơ đồ.
12V
R16
CH0

4
5
6
7
8

9 8 7 6 5 4 3 2

U6

RB0-RB7

12V

1
2
3
4
5
6
7
8
10

IN1
IN2
IN3
IN4
IN5
IN6

ULN2803

12V

R26
H1
H2
H3
H4
H5
H6
H7
H8

1
2
3
4
5
6
7
8
DATA

CH5

D468
4.7K

H6

CH2
CH3
CH4
CH5
CH6
CH7

18
17
16
15
14
13
12
11

CH2

H8

24


Đồ án môn học 2

GVHD: NGUYỄN VĂN NGA
5V
U5

DSER IN 3

DRAIN0
VCC
DRAIN1
RCK
DRAIN2
SRCK
DRAIN3
DRAIN4
G
DRAIN5
SRCLR
DRAIN6
DRAIN7
NC0
SDO
NC1 GNDGNDGND
10 11
TPIC6595

4
5
6
7
14
15
16
17
18

M1_D0

DRAIN3
DRAIN4
G
DRAIN5
SRCLR
DRAIN6
DRAIN7
NC0
SDO
NC1 GNDGNDGND
10 11
TPIC6595

4
5
6
7
14
15
16
17
18

M2_D0
M2_D1
M2_D2
M2_D3
M2_D4
M2_D5
M2_D6

DRCK 12
DSRCK13
DG\
9
DSRCLR\ 8
1
20

U8
2

SER IN

DRAIN0
VCC
DRAIN1
DRAIN2
DRAIN3
DRAIN4
G
DRAIN5
SRCLR
DRAIN6
DRAIN7
NC0
SDO
NC1 GNDGNDGND
RCK
SRCK


9
DSRCLR\ 8
1
20

2

SER IN

DRAIN0
VCC
DRAIN1
RCK
DRAIN2
SRCK
DRAIN3
DRAIN4
G
DRAIN5
SRCLR
DRAIN6
DRAIN7
NC0
SDO
NC1 GNDGNDGND
10 11
TPIC6595

19


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status