KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t )
PC INTERACTION TECHNOLOGY
TRƯỜNG ĐẠI HỌC NÔNG LÂM TPHCM KHOA CƠ KHÍ CÔNG NGHỆ
BỘ MÔN CƠ ĐiỆN TỬ
GV: Th.S Nguyễn Tấn Phúc.
Bộ môn : Cơ Điện Tử - Khoa : Cơ Khí Công Nghệ- ĐHNL Tel : 01267102772.
Email: phucpfiev1@gmail.com.
phucnt@hcmuaf.edu.vn
Web: http://www2.hcmuaf.edu.vn/?ur=phucnt.
Face book: dhnl thayphuc
Nắm được các chuẩn giao tiếp thông dụng trên máy tính.
Thiết kế và chế tạo được các vi mạch giao tiếp với máy tính (PC,Laptop ) nhằm thực hiện chức năng đo lường, điều khiển giám sát thiết bị .
2
MỤC ĐÍCH MÔN HỌC
VẬT LIỆU HỌC TẬP
3
1. Hướng Dẫn Sử Dụng Cơ Bản Arduino – Nguyễn Trung Tính .
2. Slide bài giảng – Th.S Nguyễn Tấn Phúc .
3. Taì liệu hướng dẫn cơ bản thực hành giao tiếp máy tính - - Th.S Nguyễn Tấn Phúc
VẬT LIỆU HỌC TẬP
PC :
PROTEUS 7.6. .
VPSE : VIRTUAL COM
ARDUINO- IDE PHẦN CỨNG:
• BOARD arduino – uno chế tạo.
• CÁP USB – type A .(SV được mượn , tự trang bị).
4
ĐÁNH GIÁ SV
• Kiểm tra trên lớp – điểm danh 10%
• Đồ án GTMT : 20%
( làm trong các tuần có lịch thực hành, chia nhóm 8 SV ).
• Thi cuối kỳ : 70%.
• Thời gian bảo vệ đồ án :
1. tuần 10 của học kỳ .
2. theo dõi thông báo trên facebook.
3. Thoi gian thuc hien : tuan 6-9.
5
KIẾN THỨC ĐẠT ĐƢỢC SAU MÔN HỌC
Có khả năng làm được một board mạch có vi điều khiển , có khả năng giao tiếp máy tính.
Có khả năng lập trình để tạo một giao diện từ máy tính để giám sát , điều khiển các thiết bị trong hệ thống cơ điện tử.
Có khả năng làm việc nhóm với tinh thần đoàn kết cao.
Có khả năng tiếp thu các môn HK sau, làm tốt luận văn tốt nghiệp.
6
7
NỘI DUNG MÔN HỌC
1. MỞ ĐẦU - GIỚI THIỆU CÁC CHUẨN GIAO TIẾP . 2. HỌC NHANH ARDUINO – UNO .
3. GIỚI THIỆU PROTEUS - MÔ PHỎNG ARDUINO . 4. LẬP TRÌNH GIAO TIẾP LCD , LED 7-SEGMENT.
5. KIỂM TRA, HƯỚNG DẪN ĐỒ ÁN GIAO TIẾP MÁY TÍNH.
8
ADC
Máy tính
SENSOR
Tín hiệu vật lý
DAC
BỘ TÁI TẠO TÍN HiỆU
Tín hiệu vật lý
Chương 1: Mở đầu
www.themegallery.com 9
1. Kiến trúc máy tính
2. Cấu trúc chung của một khối khép nối 3. Các phương pháp trao đổi tin
1. Kiến trúc máy tính
www.themegallery.com 10
Hình 1: Kiến trúc của hệ máy tính đơn giản
www.themegallery.com 11
*
Các thiết bị nhậpwww.themegallery.com 12
*
Các thiết bị xuất13
MAINBOARD PC
www.themegallery.com 14
*
2. Cấu trỳc chung của một khối ghộp nối/INTR1 /INTR2
BUS máy
tính
Phối hợ
đờng dây
Phối hợ
đờng dây
BUS thiết bị ngoài
Ao An /WR /RD
/WR /RD /CS1 . . /CSn
Xử lý ngắt /INTR
/INTA
Thanh ghi trạng thái
Thanh ghi điều khiển
Thanh ghi
đệm đọc/viết
Do - Dn
Hỡnh 1.1 Cấu trúc chung của một khối ghép nối
Giải mã
địa chỉ
www.themegallery.com 15
*
3. Các phương pháp trao đổi tin3.1 Trao đổi tuần tự theo chương trình
3.2 Trao đổi DMA
www.themegallery.com 16
*
3.1 Trao đổi tuần tự theo chương trìnhASSEMBLY PASCAL Ngôn ngữ C
IN OUT MOV
X:=PORT[Địa chỉ];
PORT[Địa chỉ]:=Y;
X:=import[Địa chỉ];
Outport[Địa chỉ,y];
Ngôn ngữ VB
X =Inp (Địa chỉ) Out Địa chỉ , y
www.themegallery.com 17
*
Trao đổi bằng ngắt*Khi thiết bị có yêu cầu trao đổi sẽ gửi tín hiệu yêu cầu ngắt trên máy tính(yêu cầu in ấn , gửi âm thanh..)
* Máy tính dừng chương trình đang phục vụ và yêu cầu thiết bị ngoài trao đổi tin.
*Máy tính và thiết bị ngoài trao đổi tin theo chương trình.
* Kết thúc trao đổi, máy tính trở lại điểm dừng.
18
GIAO TiẾP CỔNG LPT- SONG SONG
18
www.themegallery.com 19
Cổng song song (Parallel port - LPT)
*
Được thiết kế bởi công ty Centronics*
Mục đích ghép nối máy in với máy tính*
Mức điện áp TTL:* 0v là mức logic LOW.
* 2v→ +5v là mức logic HIGH.
*
Khoảng cách ghép nối:* Tối đa là 8m.
* Thông thường 1,5m – 2m.
* Từ 3m trở lên sử dụng cáp dẹt, hoặc xoắn từng cặp dây tín hiệu và dây nối đất.
*
Tốc độ truyền* Phụ thuộc vào phần cứng
* Lý thuyết 1Mb/s với khoảng cách truyền 1m
20
www.themegallery.com 21
Cổng song song (Parallel port - LPT)
Cấu trúc và cách trao đổi dữ trên cổng song song
Sơ đồ cấu trúc cổng song song
www.themegallery.com 22
Cổng song song (Parallel port - LPT)
Cấu trúc và cách trao đổi dữ trên cổng song song
Sơ đồ nối dây và chiều tín hiệu giữa máy tính và máy in
www.themegallery.com 23
Cổng song song (Parallel port - LPT)
Cấu trúc và cách trao đổi dữ trên cổng song song
Sơ đồ nối dây và chiều tín hiệu giữa máy tính và máy in
www.themegallery.com 24
Cổng song song (Parallel port - LPT)
Cấu trúc và cách trao đổi dữ trên cổng song song
- Các đường điều khiển: Strobe, Auto Linefeed, Reset, Select Input xuất ra từ máy tính và điều khiển máy in
- Các đường trạng thái: Acknowledge, Busy, Paper Empty, Select, Error tín hiệu đưa các thông báo ngược lại từ máy in về máy tính
- Các đường dữ liệu: Truyền các byte kí tự cần in D0 – D7
www.themegallery.com 25
Cổng song song (Parallel port - LPT)
Cỏc thanh ghi ở cổng song song
* Thanh ghi du liệu (có địa chỉ cơ sở)
* Thanh ghi trạng thái (có địa chỉ có sở + 1)
* Thanh ghi điều khiển (có địa chỉ có sở + 2)
www.themegallery.com 26
Cổng song song (Parallel port - LPT)
Các thanh ghi ở cổng song song
Thanh ghi du liÖu (địa chỉ 378H)
27
Cổng song song (Parallel port - LPT)
Các thanh ghi ở cổng song song
Thanh ghi tr¹ng th¸i (địa chỉ 379H)
www.themegallery.com 28
Cổng song song (Parallel port - LPT)
Các thanh ghi ở cổng song song
Thanh ghi ®iÒu khiÓn (địa chỉ 37AH)
29
Cổng song song (Parallel port - LPT)
Giao diện một hướng song song
30
Cổng song song (Parallel port - LPT)
Giao diện một hướng song song:
*
Viết chương trình (sử dụng inpout32.dll)Out32 Val("&H địa chỉ "), x : lệnh xuất dữ liệu x = Inp32 Val("&H địa chỉ ") : lệnh nhập dữ liệu
*
Viết chương trình (sử dụng io.dll)Call PortOut(&H địa chỉ,x) : lệnh xuất dữ liệu x = PortIn(&H địa chỉ): lệnh nhập dữ liệu
31
VÍ DỤ:
C0 C1 C2 C3
D0 D1 D2 D3 D4 D5 D6 D7
LPT VIRTUAL
2 3 4 5 6 7 8 9
LPT1
LPT02
330 330 330 330 330 330 330 330
*
Cổng song song (Parallel port - LPT)32
*
Cổng song song (Parallel port - LPT)www.themegallery.com 33
*
Cổng song song (Parallel port - LPT)Giao diện một hướng song song
* Viết chương trình (sử dụng inpout32.dll)
Private Declare Sub Out32 Lib "inpout32.dll" (ByVal portaddress As Integer, ByVal value As Integer) Private Declare Function Inp32 Lib "inpout32.dll"
(ByVal portaddress As Integer) As Integer Ví dụ: muốn led sáng từ phải sang trái : Private Sub Command1_Click()
Out32 Val(&h378), Val(&01);
Delay_ms(1000);
Out32 Val(&h378), Val(&02);
Delay_ms(1000);
34
Out32 Val(&h378), Val(&01);
Delay_ms(1000);
Out32 Val(&h378), Val(&02);
Delay_ms(1000);
Out32 Val(&h378), Val(&04);
Delay_ms(1000);
Out32 Val(&h378), Val(&08);
Delay_ms(1000);
End Sub
*
Cổng song song (Parallel port - LPT)GIAO TIẾP NỐI TIẾP-
SERIAL COMMUNICATION
35
Chương 3: Ghép nối trao đổi tin nối tiếp
www.themegallery.com 36
2.1. Khối ghép nối song song đơn giản, các vi mạch đệm, chốt
3.2. Cổng nối tiếp
3.1. Khái niệm về truyền tin nối tiếp
3.1 Khái niệm về truyền tin nối tiếp
37
*Khái niệm:
Truyền tin nối tiếp là phương thức truyền tin trong đó các bit mang thông tin được truyền kế tiếp nhau trên một
đường dẫn vật lý. Tại một thời điểm phía bên truyền cũng như bên nhận chỉ có thể truyền/nhận được 1 bit.
38
ƢU ĐIỂM TRUYỀN NỐI TIẾP(so với parallel port )
- Khoảng cách truyền xa hơn song song.
- Sơ Đồ kết nối ít chân.
- Có thể truyền hồng ngoại.
- Có thể ghép với VĐK hoặc PLC.
- Cho phép nối mạng (modem).
- Cho phép tháo lắp đơn giản.
- Có thể cung cấp nguồn cho các thiết bị khác.
39
KHUYẾT ĐIỂM :
* Tốc độ truyền chậm hơn.
* Máy tính xuất dữ liệu kiểu bus song song , các thiết bị thường phải cần các khối chuyển đổi nối tiếp song song, song song nối tiếp khi sử dụng trao đổi tin.
Cổng nối tiếp (
Serial port
)Chƣ̃ viết tắt Chức năng
TD (Chân 3) Transmit Data Serial Data Output (TXD) - Đầu ra của dữ liệu RD (Chân 2)
Receive Data Serial Data Input (RXD) - Dữ liệu được nhập vào CTS (Chân 8)
Clear to Send Báo rằng Modem sằn sàng trao đổi dữ liệu.
DCD(Chân1) Data Carrier Detect
Khi nào modem phát hiện ra tín hiệu mang dữ liệu từ
một modem kết thúc khác của the phone line, thì
Line này trở thành tích cực.
DSR(Chân 6)
Data Set Ready Thông báo với UART rằng the modem sẵn sàng thiết lập một mối liên kết .
DTR(Chân 4) Data Terminal Ready
Đây là sự đối lập với DSR. Báo với the Modem rằng the UART sẵn sàng để liên kết .
RTS(Chân 7) Request To Send
Thông báo cho the Modem rằng the UART sẵn sàng để trao đổi dữ liệu.
RI(Chân 9)
Ring Indicator Goes active when modem detects a ringing signal from the PSTN.
40
Ý nghĩa các chân tín hiệu
3.2 Cổng nối tiếp (
Serial port-RS232
)41
*
Được tích hợp trên máy tính cá nhân từ năm 1990*
Mục đích kết nối các thiết bị ngoại vi:* Bàn phím, chuột
* Modem, máy quét …
*
Mức điện áp :* Mức 0: +3V đến +12V
* Mức 1: -12V đến -3V
*
Khoảng cách ghép nối:* Tối đa là 25m.
* Thông thường 1,5m – 15m.
* Từ 15m trở lên sử dụng bộ đệm, bộ lặp.
*
Tốc độ truyền được quy chuẩn :* 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 56600.
3.1 Khái niệm về truyền tin nối tiếp
42 42
*
Các phương thức truyền tin:*Phương thức đồng bộ:
Các byte chứa các bit thông tin được truyền liên tiếp trên đường truyền và chỉ được ngăn cách (phân biệt) nhau bằng bít đồng bộ khung (Syn).
*Phương thức không đồng bộ:
Các byte chứa các bit thông tin được chứa trong một khung.
Một khung được bắt đầu bằng 1 bit Start, tiếp theo là các bit mang thông tin, kế tiếp là bít kiểm tra chẵn lẻ và kết thúc là bit Stop.
Khoảng cách giữa các khung là 1 bit dừng bất kì, khi đó đường truyền được đặt lên mức cao.
*Phương thức lai: Đây là phương thức kết hợp của 2 phương thức trên.
Dòng cung cấp từ 10 mA đến 20 mA.
KHÁI NiỆM CHUNG
43
Truyền nhận bất đồng bộ (usart)
44
Dạng sóng truyền bất đồng bộ:
LẬP TRÌNH GIAO TIẾP
Sử Dụng :
• VPSE – virtual port serial emulator.
• Advanced serial port terminal.
• Proteus 7.
• ARDUINO-IDE ..
45
46
PHẦN MỀM TẠO CỔNG COM ẢO
47
PHẦN MỀM PROTEUS – CỔNG COM
48
QUAN SÁT CỔNG COM
49
THAM KHẢO CÁC LỆNH ARDUINO CƠ BẢN:
Cấu trúc chương trình chính:
Void setup() {
}: đây là hàm khởi tạo bắt buộc trong các chương trình về arduino.
Void loop(){
}: đây là hàm thực thi chương trình bắt buộc trong arduino.- nơi chứa các câu lệnh thực thi .
50
CHƯƠNG TRÌNH NHẬN KÝ TỰ CỔNG NỐI TIẾP
Void setup(){
Serial.begin(9600); // set tốc độ baud.
}
Void loop(){
if serial.Available() { Char led=Serial.read();
Switch (led) { Case ‘1’: {
digitalWrite(pin,HIGH);
Break;
}
Case ‘0’:{
digitalWrite(pin,LOW);
Break;
} } } }
51
Kết quả nhập ‘1’:
52
Bài tập nhóm: