AT+CMGD Xóa tin nhắn sms.
AT+CMGF Định dạng văn bản tin nhắn. AT+CMGL Danh sách tin nhắn đã lưu. AT+CMGR Lệnh đọc tin nhắn.
AT+CMGS Lệnh gửi tin nhắn. AT+CMGW Lưu tin nhắn vào bộ nhớ. AT+CMSS Gửi tin nhắn đã lưu. AT+CMGC Gửi sms lệnh.
AT+CNMI MT gửi thông báo khi có tin nhắn mới. AT+CPMS Các tin nhắn riêng biệt được lưu. AT+CRES Cài đặt lại tin nhắn.
AT+CSAS Lưu các cài đặt cho tin nhắn. AT+CSCA Địa chỉ dịch vu tin nhắn.
AT+CSMP Cài đặt định dạng chữ của tin nhắn. AT+CSMS Lựa chọn tin nhắn dịch vụ.
Bảng 2.4: Lệnh thiết lập và cài đặt cho tin nhắn SMS
- Chi tiết mô tả các lệnh dành cho tin nhắn sms :
AT+CMGD=<index> Lệnh xóa tin nhắn sms đã lưu tron bộ nhớ.
Lệnh thực hiện thành công.MT gửi trả:
<CR><LF>OK<CR><LF>
Nếu lệnh không thực hiện được.MT gửi trả:
Tham số:
<index> Vị trí của tin nhắn lưu trong bộ nhớ. <err> Cho biết lỗi.
AT+CMGF=[<mode>] Lệnh cài đặt định dạng của tin nhắn gửi và nhận. Lệnh thực hiện thành công.MT gửi trả:
<CR><LF>OK<CR><LF>
Tham số:
[<mode>] 0 Dạng PDU 1 Dạng văn bản AT+CMGL=[<stat>] Danh sách tin nhắn đã lưu.
Tham số:
+ Nếu tin nhắn là dạng văn bản:
[<stat>] “_REC UNREAD” tin nhắn chưa đọc. “RED READ” tin nhắn đã đọc.
“STO UNSEND” tin nhắn chưa gửi được. “STO SEND” tin nhắn đã gửi.
“ALL” tất cả tin nhắn + Nếu tin nhắn là dạng PDU:
[<stat>] 0 tin nhắn chưa đọc. 1 tin nhắn đã đọc. 2 tin nhắn chưa gửi. 3 tin nhắn đã gửi. 4 tất cả tin nhắn
Nếu lệnh thực hiện thành công,MT gửi trả chuỗi có định dạng như sau :
+ Nếu tin nhắn là dạng văn bản (+CMGF=1) :
[,<tooa/toda>,<length>] <CR><LF>[<data>]<CR><LF>
<CR><LF>OK<CR><LF>
+ Nếu tin nhắn là dạng PDU (+CMGF=0) :
+CMGL:<index>,<stat>,[<alpha>],<length><CR><LF> <pdu><CR><LF>
<CR><LF>OK<CR><LF>
Nếu lệnh thực hiện không thành công,MT gửi trả: +CMS ERROR: <err>
AT+CMGR=<index>[,<m ode>]
Lệnh đọc tin nhắn sms. Tham số:
<index> Một số nguyên là vị trí của đã lưu tin nhắn. <mode> 0 Chế độ mặc định.
Không thay đổi trạng thái của tin nhắn.
Ví dụ : Tin nhắn sẽ không chuyển từ 'received unread’ sang 'received read’ khi được đọc.
Lệnh thực hiện thành công,MT gửi trả lại chuỗi có dạng: + Nếu tin nhắn là dạng văn bản (+CMGF=1)
+CMGR:<stat>,<sn>,<mid>,<dcs>,<page>,<pages> <CR><LF><data>
<CR><LF>OK<CR><LF>
+ Nếu tin nhắn là dạng PDU (+CMGF=0)
+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu>
Lệnh thực hiện không thành công,MT gửi trả: +CMS ERROR: <err>
Tham số:
<stat> 0 "REC UNREAD" tin nhắn chưa được đọc. "REC READ" tin nhắn đã đọc.
"STO UNSENT" tin nhắn chưa gửi được. "STO SENT" tin nhắn đã gửi.
"ALL" tất cả tin nhắn.
<length> Độ dài của tin nhắn (số ký tự).
<data> Nội dung tin nhắn.
AT+CMGS=<da>[,<toda> ]
<CR>nội dung tin nhắn <ctr-Z/ESC>
Lệnh gửi tin nhắn dạng văn bản.
Gửi <ESC> cho module để hủy bỏ việc gửi tin nhắn khi lệnh đang thực thi.
Tham số:
<da> “số điện thoại gửi tin nhắn”
Nếu lệnh được thực hiện thành công và tin nhắn đã được gửi đi,MT gửi trả:
CR><LF>+CMGS: <mr><<CR><LF> <CR><LF>OK<CR><LF>
Nếu lệnh không thực hiện được,MT gửi trả:
Tham số:
<mr> Một số nguyên là vị trí lưu tin nhắn vào bộ nhớ. AT+CMGW=[<oa/da>[,<t
ooa/ toda>[,<stat>]]] <CR> Nội dung tin nhắn <ctrl-Z/ESC>
<ESC>
Lệnh lưu tin nhắn vào bộ nhớ.
Gửi <ESC> cho module để hủy bỏ việc lưu tin nhắn khi lệnh đang thực thi.
Lệnh thực hiện thành công,tin nhắn đã được lưu vào bộ nhớ.MT gửi trả:
CR><LF>+CMGW: <index><<CR><LF> <CR><LF>OK<CR><LF>
Nếu có lỗi xảy ra,MT gửi trả: +CMS ERROR: <err>
Tham số:
<index> Vị trí lưu tin nhắn. AT+CMSS=<index>[,<da
> [,<toda>]]
Lệnh gửi tin nhắn từ bộ nhớ lưu tin nhắn
Lệnh thực hiện thành công,MT gửi trả:
CR><LF>+CMGS: <mr> [,<scts>]CR><LF> <CR><LF>OK<CR><LF>
Lệnh thực hiện không thành công:
< CR><LF>+CMS ERROR: <err> <CR><LF>
Tham số:
<mr> Vị trí lưu tin nhắn trong bộ nhớ.
t> [,<bm> [,<ds>[,<bfr>]]]]]
được tin nhắn mới.
Lệnh thực hiện thành công,MT gửi trả:
<CR><LF>OK<CR><LF>
Lệnh thực hiện không thành công:
<CR><LF>+CMS ERROR: <err> <CR><LF>
Tham số:
<mt> 0 Không gửi thông báo khi có tin nhắn mới. Gửi thông báo với định dạng:
+CMTI: <mem>,<index> Gửi thông báo có định dạng:
+CMT: <oa>, [<alpha>],<scts>
[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><L F><data>.
Bảng 2.5 Chi tiết các lệnh thiết lập và cài đặt tin nhắn SMS.
2.4.4 Các lệnh đặc biệt dành cho SIM548.
AT+CPOWD Tắt nguồn cung cấp cho module. AT+CMIC Thay đổi đổ lớn của microphone. AT +UART Cầu hình cho truyền thông nối tiếp. AT+CALARM Cài đặt hẹn giờ.
AT+CADC Đọc ADC.
AT+ECHO Cài đặt tiếng vọng cho cuộc gọi. AT+CSMINS Cho biết sim đã gắn vào đế hay chưa. AT+CMTE Đọc nhiệt độ hiện tại của module. AT+CMGDA Xóa tất cả các tin nhắn.
Bảng 2.6: Các lệnh đặc biệt dành cho SIM548c. - Chi tiết về các lệnh đặc biệt dành cho SIM548 :
AT+CPOWD = <n> Lệnh ngắt nguồn cung cấp cho module hoạt động.
Tham số :
<n> 0 Ngắt nguồn khẩn cấp. 1 Ngắt nguồn bình thường. AT+UART=<uart>[,<baud>] Lệnh cấu hình cho truyền thông nối tiếp.
Lệnh được thực hiện thành công,MT gửi trả :
<CR><LF>OK<CR><LF> Tham số: <uart > 1 sử dụng line 1 2 sử dụng line 2 (gprs) 3 sử dụng line 3 <baud> 9600,19200,28800,38400,57600,115200 AT+CALARM=<state>, <time> ,<repeat>,<power> Lệnh cài đặt báo thức.
Lệnh được thực hiện thành công,MT gửi trả :
<CR><LF>OK<CR><LF>
Tham số:
<state> 0 Tắt báo thức.
1 Bật báo thức.
< time > Thời gian báo thức “yy/MM/dd,hh:mm:ss+- zz”
< repeat > 0 Không lặp lại. 1 Lặp lại hàng ngày. 2 Tuần
3 Tháng
<power> 0 Thông báo bình thường. Chỉ gửi “ALARM RING”
Tắt nguồn báo thức.
Gửi “ALARM RING” và ngưng báo thức sau 5s. Bất nguồn báo thức.
Gửi “ALARM MODE và trở về chế độ báo thức. AT+ CADC? Lệnh đọc ADC.
Lệnh thực hiện thành công,MT gửi trả: + CADC: < status>,<value>
<CR><LF>OK<CR><LF>
Tham số:
<status> 1 Đọc thành công. 0 Lỗi khi đọc ADC. <value> Số nguyên từ 0-2400.
AT+CSMINS? Lệnh cho biết sim đã được gắn vào đế sim hay chưa. Lệnh thực hiện thành công,MT gửi trả:
<CR><LF>+CSMINS:<n>,<SIM inserted> <CR><LF>
Tham số:
<n> 0 Không cho phép gắn sim. 1 Cho phép.
<SIM inserted> 0 Sim chưa được gắn vào đế. 1 Sim đã được gắn.
AT+CMGDA=<type> Xóa tất cả các tin nhắn.
Lệnh thực hiện thành công,MT gửi trả:
<CR><LF>OK<CR><LF>
Lệnh thực hiện không thành công:
<CR><LF>+CMS ERROR: NUM<CR><LF>
Tham số:
<type> “DEL READ” xóa các tin nhắn đã đọc. “DEL UNREAD” xóa tin nhắn chưa đọc. “DEL SENT” xóa các tin nhắn đã gửi. “DEL UNSENT” xóa các tin nhắn chưa gửi. “DEL INBOX” xóa các tin nhắn nhận được. “DEL ALL” xóa tắt cả các tin nhắn.
Bảng 2.7:Chi tiết các lệnh đặc biệt dành cho SIM548
2.
4.5. Các thông báo lỗi.
- Một số lỗi thường gặp: <err> Ý nghĩa
0 Module bị lỗi,không thể kết nối với mạng. 1 Không kết nối mạng.
3 Module không cho phép kết nối mạng. 4 Module không hỗ trợ kết nối.
10 Chưa gắn sim.
13 Sim không hoạt động.
14 Sim bận. 15 Sim bị lỗi. 16 Nhập mật mã sai. 20 Bộ nhớ đầy. 22 Không tìm thấy. 23 Bộ nhớ bị lỗi. 24 Chuỗi quá dài. 30 Không có mạng.
32 Mạng không kết nối được. Chỉ thực hiện được các cuộc gọi khẩn cấp. 100 Không nhận ra.
107 Dịch vụ GPRS không được kết nối. 744 Sim đầy.
746 Không nhận được dịch vụ mạng. 770 Không có tín hiệu sim.
772 Không có nguồn cho sim.
Bảng 2.8: Các thông báo lỗi CME.
- Thông báo lỗi có dạng: +CMS ERROR: <err>
300 Module bị lỗi.
302 Module không hoạt động. 303 Không được hỗ trợ. 310 Chưa gắn sim. 313 Sim bị lỗi. 314 Sim bận. 315 Sim gắn sai. 320 Bộ nhớ bị lỗi,không hoạt động. 331 Không có mạng. 512 Sim chưa sẵn sàng. 513 Không nhận ra sim.
Chương III:Thiết kế mạch trên Orcad và Layout
CAPTURE
3.1. Tổng quan về Orcad Capture .
Orcad Capture là phần mềm vẽ mạch nguyên lý của mạch điện, với thư viện phong phú, dễ thao tác và thực hiên.
Capture cho phép người dùng thay đổi, sửa chữa, thậm chí là tạo mới các linh kiện, phục vụ cho việc vẽ mạch nguyên lý. Các linh kiện của Capture được xây dựng một cách rõ ràng, sáng sủa, tính trực quan cao.
3.2. Vẽ mạch nguyên lý bằng Orcad Capture.
3 .2.1 Khởi động phần mềm Orcad Capture .
Để khởi động phần mềm Orcad Capture ta có 2 cách sau:
_Cách 1: Vào Start-> All programs-> Orcad Family Release 9.2-> Capture
_Cách 2: Click vào biểu tượng trên màn hình desktop Ta được giao diện của Capture:
Hình 3.2 : Giao diện của Capture
Tạo một project mới
Để tạo project chọn File-> New-> Project
Môi trường làm việc của orcad capture
Hình3.4 Môi trường làm việc củaorcad capture.
Để thay đổi kích thước bản vẽ:
Option => Schematic Page Properties
Hộp thoại Project hiện ra, ta nhập tên trong Name và nhập đường dẫn đến vị trí lưu Location, nhấp nút Browse để chọn đường dẫn. Để vẽ mạch nguyên lý ta chọn Schematic.
Hình 3.5 Thay đổi kích thước bản vẽ.
Tab colors/Print:
hiện các gam màu dùng để gán cho từng đối tượng, ta có thể thay đổi màu sắc theo
Hình 3.6: Bảng các gam màu.
Tab Grid Display:
tùy chọn có hiển thị ô lưới (mục đích: đặt các linh kiện cho hợp lí và chính xác) trong các trang thiết kế hoặc sửa đổi linh kiện hay không:
Hình 3.7: Tab Grid Display
Tab Pan and Zoom:
hiển thị khung chứa các giá trị thay đổi tỉ lệ (to, nhỏ) của đối tượng:
Hình 3.8 : Tab Pan and Zoom
Tab Select:
hiển thị khung thoại liên thoại liên quan đến việc lựa chọn các thành phần trong sơ đồ nguyên lý:
Tab Miscellaneous:
chứa những thành phần hỗ trợ cho việc gán các thuộc tính các đối tượng trong trang thiết kế. Ngoài ra nó còn có chức năng rất quan trọng là tự động hiển thị số thứ tự của loại linh kiện được lấy ra (Automatic reference placed part ) & bắt tay chéo với Layout ( thẻ Intertool Communication ) rất hữu dụng trong việc sắp đặt các footprint linh kiện tùy thích của người thiết kế nhằm tránh trường hợp các linh kiện sắp xếp không theo ý muốn. Chức năng này chỉ có tác dụng khi mở cả Capture & Layout và xử lý cùng chung thiết kế:
Hình 3.10: Tab Miscellaneous:
Tab Text editor:
tùy chỉnh font chữ hiển thị hiện tại….
Đối tượng thao tác, các phím tắt
Cửa số bên trái là khoảng vẽ mạch còn cửa sổ bên phải là thanh công cụ chứa các thành phần thiết kế mạch:
Con trỏ select thao tác các linh kiện Place Part: đưa thêm linh kiện vào mạch Place wire: nối dây
Place net alias: đặt tên dây nối Tạo Bus
Tạo điểm nối Nguồn
Đất
Các phím và chức năng:
Bảng 3.1: Các phím và chức năng
Phím Chức năng Phím Chức năng
R Xoay linh kiện T Thêm văn bản cho bản vẽ H Lật linh kiện theo chiều ngang F Lấy các khối nguồn V Lật kinh kiện theo chiều dọc Y Vẽ khối chữ nhật
O Thu nhỏ màn hình N Đánh nhãn, tên đường dẫn I Phóng to màn hình B Vẽ đường Bus
W Nối các đường mạch G Lấy các khối mass, chân nối đất P Lấy linh kiện ESC Thoát chế độ đang chọn
Ký hiệu các linh kiện để tìm kiếm trong thư viện:
Bảng 3.2: Ký hiệu các linh kiện tìm kiếm.
Để vẽ được mạch nguyên lý, ta cần phải bổ sung thêm linh kiện:
Hình 3.12: Bổ sung thêm linh kiện.
Đôi khi một số linh kiện ngoài thực tế không có trong thư viện, từ đó ta phải tạo mới một số linh kiện cho mạch.
- Để tạo mới linh kiện, ta mở Capture -> File ->New -> Library -> New project ->OK.
Kí hiệu Tên gọi Kí hiệu Tên gọi
R Điện trở PNP Transistor thuận
CAP NP Tụ không phân cực SW Nút nhấn, chuyển mạch
FUSE Cầu chì CAP Tụ điện
NPN Transistor ngược LED Đèn led
BRIDGE Cầu diode DIODE ZENER Đi ốt ổn áp
RESISTOR VAR Biến trở CRYSTAL Thạch anh
RELAY Rơ le HEADER Chân cắm
Hình 3.13 các bước tạo thêm linh kiện mới.
Để tạo chân linh kiện ta có 2 cách:
+ Tạo từng chân : ta chọn PlacePin… hoặc sẽ xuất hiện bảng Place pin ta gõ tên và số của chân linh kiện rồi nhấn OK và đặt chân linh kiện đó vào vị trí.
Hình 3.14: Cách tạo chân linh kiện.
Điền tên linh kiện và vị trí lưu linh kiện để tiện cho việc add thêm vào thư viện của capture
+ Tạo một dãy chân: ta chọn PlacePin Array… hoặc sẽ xuất hiện bảng Place Pin Array: ta nhập các thông số cần thiết như:
- Starting name: tên bắt đầu của chân linh kiện - Starting number: số bắt đầu của chân linh kiện - Number of pins: số chân muốn tạo
- Increment: thứ tự sắp xếp của các chân, với 1 là sắp xếp thuận, -1 là sắp xếp ngược, 2 là thứ tự chân nhảy cách 1.
-
Hình 3.15: Chỉnh sửa chân linh kiện
Ngoài ra: - vùng Shape để chọn hình dạng
Ví dụ đối với ATmega 32, ban đầu ta phải tìm hiểu được hình dạng và chân của linh kiện ngoài thực tế. Tra cứu trên datasheet, ta có hình dạng của AT mega32 như sau:
Hình 3.17: Ví dụ về tạo linh kiện mới
Để tạo tên linh kiện:
Nhấp vào PlaceText hoặc sẽ xuất hiện bảng Place Text ta gõ tên rồi OK và đặt khung tên vừa gõ vào vị trí thích hợp:
Giao diện để tạo một linh kiện mới trong capture
Hình 3.18: Tạo tên linh kiện.
Sau khi sử dụng các công cụ như đường bao, thêm chân, thêm text, ta được hình vẽ linh kiện ATmega32 như sau:
SƠ ĐỒ MẠCH ĐIỀU KHIỂN THÔNG TIN TRÊN GSM:
1. Khối nguồn.
Hình 3.20 : Sơ đồ khối nguồn.
2. Khối trung tâm ATmega32.
3. Khối module sim 548c.
Hình 3.22 : Khối module sim 548c.
4. Khối điều khiển thiết bị.
5. Khối chân nạp ISP.
Hình 3.24: Khối chân nạp ISP.
6. Khối bàn phím.
Hình 3.25: Khối bàn phím.
7. Khối SD Card.
8. Khối hiển thị LCD.
Hình 3.27: Khối hiển thị LCD.
9. Khối tạo dao động Thạch anh.
Hình 3.28: Khối tạo dao động Thạch anh.
10. Khay cắm sim.
Hình 3.29: Khay cắm sim.
11. Bộ MUX 2 kênh.
12. Đế giữ mạch ( Lỗ khoan 4 góc).
Hình 3.31: Đế giữ mạch.
13. Chân test module.
Hình 3.32: Chân test module.
Hình 3.33. Mạch nguyên lý hoàn chỉnh
3.2.2. Kiểm tra lỗi và tạo file Netlist:
Sau khi đã hoàn thành toàn bộ sơ đồ nguyên lý, chúng ta tiến hành tạo file Netlist để dùng cho việc vẽ layout. Vào Project Manager, click vào file.DSN.
•Kiểm tra lỗi để phát hiện lỗi ở mạch nguyên lý vừa hoàn thành:
Click Design rules check, nhấp chuột vào ô Create DRC markers for warnings để đánh dấu những vị trí lỗi trên bản vẽ. Nhấn OK, nếu phát hiện lỗi nó sẽ hiện ra bảng thông báo lỗi và đánh dấu phần bị lỗi là khoảng màu xanh
Hình 3.34..Kiểm tra lỗi
Sau khi sửa lỗi, ta được mạch nguyên lý hoàn chỉnh và không có lỗi nào. Tiến hành tạo tệp tin Netlist bằng cách vào Project Manager, chọn tên project, kích chuột vào biểu tượng
Create netlist , hộp thoại Create netlist xuất hiện, chọn thẻ Layout sẽ tạo ra một file.MNL. File này dùng để vẽ một file layout mới và tên mặc định chính là tên project đã chọn. Click và Run ECO to layout, khi này có thể cập nhật từ file Schematic sang layout:
Hình 3.35.. Tạo file Netlist
Hình 3.36. Thực hiện Layout
Vậy là đã có file Netlist sẵn sàng cho việc Layout. Dưới đây là thông báo đã
LAYOUT
3.3. Vẽ mạch in bằng Orcad Layout3.3.1 Khởi động Orcad Layout 3.3.1 Khởi động Orcad Layout
Khởi động chương trình:• Start->All Program-> Orcad Family Release 9.2-> Layout
Hoặc Click vào biểu tượng trên màn hình Desktop
Hình 3.37. Giao diện Layout
Giới thiệu thư viện và Footprint trong Layout
Vào Tools –> Library Manager:
Hình 3.38. Tạo thư viện Layout
Hình 3.39. Giao diện lầm việc của Layout
Sau đó add các thư viện của layout tương tự như capture: C:\Program Files\Orcad\Layout\Library
Sau khi add, ta được danh sách các Footprint. Ban đầu cho điện trở R1 10k. Trong thư viện ta chọn Footprint của điện trở:
Hình 3.41. Hình dạng linh kiện trong thư viện Layout