Khối giao tiếp máy tính qua USB và RS-232

Một phần của tài liệu Giao tiếp với GSM (Trang 51 - 60)

CHƯƠNG IV: TRIỂN KHAI THỬ NGHIỆM PHẦN CỨNG

4.4 Khối giao tiếp máy tính qua USB và RS-232

Giao tiếp với máy tính là một nhu cầu quan trọng trong thiết kế mạch, đảm bảo thuận lợi trong quá trình truyền dữ liệu giữa máy tính và mạch điều khiển.

Trong mạch em sử dụng cả giao tiếp USB và RS-232.

Giao tiếp máy tính qua USB

Ngày nay chuẩn giao tiếp USB ngày càng đƣợc sử dụng rỗng rãi để truyền dữ liệu, vì vậy trong mạch có sử dụng giao tiếp máy tính qua cổng USB.

R15 1.5K R9

220k R7

220k

VPC C14

Y 1 22pF

12Mhz

VPC

V33

R13 27

L2 10uH R12 220k

TXD_USB

V33

J7

USB 1 2 3 4

C12 10uF V33

VPC

R14 27

V33 C13

22pF

R11 220k

C11 1uF RXD_USB

R10 220k

U5

PL2303 1

2 3 4 5 6 7 8 9 10 11 12 13

14 15

16 17 18 19 20 21 22 23 24 25 26 27 TXD 28

DTR_N RTS_N VDD_232 RXD RI_N GND VDD DSR_N DCD_N CTS_N SHTD_N EE_CLK

EE_DATA DP DM VDD_3V3 GND_3V3 RESET VDD GND TRI_MODE LD_MODE VDD_PLL GND_PLL PLL_TEST OSC1 OSC2

VPC R6

220k VPC

R5 220k

VPC R8

220k

Hình 4.10: Mạch nguyên lý USB

Hình 4.11: Mạch phần cứng USB

- Mạch giao tiếp máy tính qua cổng USB dùng IC PL2303. PL2303 hoạt động nhƣ một cầu nối, chuyển đổi tín hiệu giữa cổng USB và giao diện truyền thông nối tiếp USART, I2C.

- IC PL2303 cho phép truyền dữ liệu song công với tốc độ tương đối cao 1Mbps, với bộ dao động riêng trên chip, có thể hoạt động truyền dữ liệu giữa chuẩn giao tiếp USART của các thiết bị khác với máy tính không qua vi điều khiển. Nguồn nuôi cho cổng USB đƣợc lấy trực tiếp từ cổng USB của máy tính.

Giao tiếp máy tính qua RS-232

Là giao tiếp thường được sử dụng để giao tiếp giữa máy tính và với các thiết bị ngoại vi. Mạch giao tiếp máy tính qua RS-232 dùng để truyền nhận dữ liệu giữa máy tính và vi điều khiển.

R1IN

C9 104 R1IN

C8 104 TX0

U6

MAX232 1

3 4 5 2 6

12 9 11

10 13 8

14 7

C1+

C1- C2+

C2- V+

V-

R1OUT R2OUT T1IN

T2IN R1IN R2IN

T1OUT T2OUT

RX0

C10 104

C6 104

VCC T1OUT

T1OUT P1

CONNECTOR DB9 5 9 4 8 3 7 2 6 1

Hình 4.12: Mạch nguyên lý RS-232

Hình 4.13: Mạch phần cứng RS-232

Các cổng của RS-232 có ngƣỡng điện áp qui ƣớc là -15V (volt) tới -3V, và 3V tới 15V (hoặc -5V, +5V, sự khác biệt giữa hai giá trị 3V, và 5V này đƣợc gọi là noise magin - biên độ dao động của nhiễu).

 Tín hiệu có mức điện áp lớn +3V đƣợc coi có logic 0 hoặc có giá trị cao (H).

 Tín hiệu có mức điện áp nhỏ hơn –3V đƣợc coi có logic 1 hoặc giá trị thấp (L).

 Điện áp từ -3V tới +3V không có ý nghĩa.

IC Max232 đóng vai trò bộ đệm điện áp đảm bảo sự tương thích mức logic giữa vi điều khiển và cổng RS-232 của máy tính.

4.5 Khối rơle đóng ngắt thiết bị.

Để đảm bảo đóng ngắt dòng điện 220V, điều khiển bật tắt thiết bị, đƣợc thiết kế rời để đảm bảo độ linh hoạt trong sử dụng.

Hình 4.14: Phần cứng rơle

4.6 Môđun thu phát GSM

Đây là một môđun quan trọng sử dụng trong việc truyền nhận dữ liệu qua mạng GSM.

Hình 4.15: Môđem SIM300CZ trên mạch điện.

Được thiết kế với mục đích thương mại, làm việc trên 2 dải băng tần EGSM 900MHz và DCS 1800MHz.

Với kích thước nhỏ gọn 50mm x 33mm x 8,8mm, SIM300CZ có thể được sử dụng trong rất nhiều các ứng dụng ví dụ nhƣ: M2M, điện thoại thông minh, điện thoại PDA, thiết bị định vị cầm tay và các thiết bị di động khác hoặc các ứng dụng cho xe hơi, server …

Để SIM300CZ có thể hoạt động, ta chỉ việc cấp nguồn đầy đủ cho nó (dùng nguồn 4,2V). SIM300CZ hỗ trợ các chân cắm SIM, và các đèn báo hiệu trạng thái, báo nguồn.

Tất cả các hoạt động của SIM300CZ đƣợc thao tác qua các câu lệnh AT, giao tiếp với vi điều khiển qua 2 chân theo chuẩn USART với tốc độ Baud tự động từ 1,200bps đến 115,200bps. Giao tiếp giữa SIM300CZ và vi điều khiển là USART1.

Hình 4.16: Giao tiếp giữa SIM300CZ với ATMEGA128

Sim đƣợc giao tiếp với môđun thông qua 4 chân: “Sim_clk, Sim_reset, Sim_data, Sim_vcc” ngoài ra còn 1 chân đất và 1 chân bỏ trống.

Để giao tiếp với môđun SIM300CZ ta điều khiển qua tập lệnh AT, khi tin nhắn đƣợc gửi đến môđun SIM300CZ nó sẽ đƣợc đƣa sang vi điều khiển để phân tích, giải mã và thực thi câu lệnh.

Ngoài ra trong mạch còn thiết kế các môđun mở rộng nhƣ loa, mic, bàn phím tương tác. Chúng ta có thể thực hiện chức năng gọi, nghe, nhắn tin như một điện thoại thông thường.

Hình 4.17: Bàn phím, mic, tai nghe môđun SIM300CZ

4.7 Chương trình cho vi điều khiển.

Vi điều khiển đóng vai trò rất quan trọng trong điều khiển hoạt động của hệ thống. Vi điều khiển ATMEGA128 thuộc họ AVR, trong luận văn này em dùng ngôn ngữ C để lập trình, trình biên dịch sử dụng Codevision.

Codevision là một trong những phần mềm chuyên dụng để lập trình cho vi điều khiển thuộc họ AVR. Codevision dễ thao tác, hỗ trợ nhiều thƣ viện sẵn có nhƣ thƣ viện giao tiếp với LCD, I2C, ADC, USART… ngoài ra nó còn hỗ trợ giao tiếp cổng Com nhận dữ liệu từ vi điều khiển lên hoặc đẩy dữ liệu xuống vi điều khiển.

Đặc điểm trình biên dịch Codevision [2]

- Codevision là một trình biên dịch biên dịch C, đƣợc thiết kế cho dòng vi điều khiển AVR.

- Chương trình có thể chạy dưới hệ điều hành Windows 95, 98, Me, NT4, 2000 và XP.

- Trình biên dịch đƣợc thi hành hầu hết các câu lệnh ngôn ngữ ANSI C, với những ƣu điểm đặc biệt cho cấu trúc AVR và hệ thống nhúng, có khả năng lập trình trên chíp khi chíp đang hoạt động.

- Chương trình hỗ trợ các loại mạch nạp: STK500, AVR910, STK200+/

300… Các loại mạch nạp này được bán khá rộng rãi ở nước ta.

- Bên cạnh thƣ viện chuẩn của ngôn ngữ C, trình biên dịch Codevision cũng xây dựng sẵn một số thƣ viện giúp cho việc giao tiếp dễ dàng hơn:

 Môđun giao tiếp LCD

 Bus Philips I2C

 Cảm biến nhiệt đầu ra tương tự LM75 , LM35 và cảm biến nhiệt đầu ra số DS1820, DS18B20

 IC thời gian thực DS1307, DS1302

 Chuẩn giao tiếp SPI

 Chương trình trễ…

Codevision cũng tích hợp sẵn chương trình phát code tự động, điều này cho ta viết code nhanh hơn, dưới đây là một số tool tự phát code:

 Thiết lập truy nhập bộ nhớ ngoài

 Cài đặt cổng vào ra

 Thiết lập ngắt ngoài

 Thiết lập timers/counters

 Thiết lập Watchdog timer

 Thiết lập và điều khiển ngắt bộ đệm truyền thông nối tiếp UART (USART)

 Thiết lập bộ so sánh analog (Analog Comparator)

 Thiết lập ADC

 Thiết lập giao tiếp SPI

 Thiết lập giao tiếp 2 dây

 Thiết lập môđun LCD…

Nhƣ vậy việc sử dụng Codevision rất tiện lợi cho phát triển ứng dụng AVR. Ngoài ra chúng ta có thể sử dụng một số trình biên dịch khác cho AVR studio, Ponypro2000…

Dưới đây là sơ đồ giải thuật hệ thống giám sát và điều khiển thiết bị điện từ xa.

Trả lại kết quả cho người dùng

Bắt đầu

Kiểm tra có tin nhắn

Đ S

Kiểm tra trạng thái thiết bị S

Đ

Điều khiển thiết bị Kiểm tra

cú pháp

Hình 4.18: Sơ đồ giải thuật hệ thống giám sát, điều khiển thiết bị điện từ xa Ở đây vi điều khiển luôn ở trạng thái kiểm tra tin nhắn, khi có tin nhắn gửi đến vi điều khiển lập tức kiểm tra cú pháp tin nhắn xem có trùng với cú pháp đã đƣợc lập trình không, nếu sai cú pháp thì vi điều khiển sẽ không thực hiện công việc và tiếp tục quay lại kiểm tra tin nhắn đến, nếu đúng với cú pháp đã lập trình thì vi điều khiển sẽ thực thi công việc theo nội dung tin nhắn yêu cầu.

4.8 Một số hình ảnh hoạt động thực tế của hệ thống.

Dưới đây là hình ảnh toàn bộ hệ thống mạch đầu cuối giám sát trạng thái và điều khiển thiết bị điện tử từ xa, hệ thống mô tả bật tắt điện trong nhà

Hình ảnh trạng thái hệ thống khi chƣa có lệnh điều khiển

Để điều khiển bóng đèn, ta gửi tin nhắn theo cú pháp định trước:

ví dụ để bật bóng đèn phòng cắm ở ổ cắm thứ 4, người dùng soạn tin nhắn theo cú pháp “ON RL4” gửi tới số điện thoại đƣợc gắn trên mạch đầu cuối, trong đó ON là bật thiết bị, RL4 là mã số thiết bị thứ 4.

Lệnh điều khiển bật đèn phòng

Khi nhận đƣợc tin nhắn vi điều khiển sẽ phân tích, giải mã lệnh và so sánh với cú pháp đã đƣợc lập trình, nếu tin nhắn đó đúng với cú pháp đã đƣợc lập trình là bật thiết bị 4, vi điều khiển điều khiển Rơle đóng nguồn vào ổ cắm số 4 để bật đèn. Để tắt đèn ta nhắn với cú pháp tương tự “OFF RL4”.

Hình ảnh hệ thống sau khi thực hiện lệnh điều khiển bật đèn phòng

Một phần của tài liệu Giao tiếp với GSM (Trang 51 - 60)

Tải bản đầy đủ (PDF)

(78 trang)