KHẢO SÁT SƠ ĐỒ CHÂN VÀ CHỨC NĂNG TỪNG CHÂN

Một phần của tài liệu xây dựng hệ thống giám sát và quản lý các trạm xăng từ xa ứng dụng công nghệ SMS trong GSM (Trang 28 - 83)

2.3.5. KHO SÁT TP LNH AT CA MODULE SIM900

Các modem được sử dụng từ những ngày đầu của sự ra đời của máy tính. Từ Modem là một từ được hình thành từ hai từ modulator và demodulator. Và định nghĩa đặc trưng này cũng giúp ta hình dung được phần nào là thiết bị này sẽ làm cái gì. Dữ liệu số thì đến từ một DTE, thiết bị dữ liệu đầu cuối được điều chế theo cái cách mà nó có thể được truyền dữ liệu qua các đường dây truyền dẫn. Ở một mặt khác của đường dây, một modem thứ hai điều chế dữ liệu đến và xúc tiến, duy trì nó.

Khi chúng ta xem trong RS232 port layout thì chuẩn RS232 miêu tả một kênh truyền thông với bộ kết nối 25 chân DB25, nó được thiết kế để thực thi quá trình truyền các lệnh đến modem được kết nối với nó. Thao tác này bao gồm cả các lệnh quay một số điện thoại nào đó. Không máy đó là các quá trình dùng RS232 với chi phí thấp này chỉ thể hiện trên các máy tính ở các hộ gia đình trong những năm 70, và kênh truyền thông thứ 2 không được thực thi. Thế nên nhất thiết phải có một phương pháp được thiết lập để sử dụng kênh dữ liệu hiện tại để không chỉ truyền dữ liệu từ một điểm đầu cuối này tới một điểm đầu cuối khác mà nó còn nhắm tới modem duy nhất. Dennis Hayes đã đưa ra giải pháp cho vấn đề này trong năm 1977. Modem thông minh ( Smartmodem ) của ông sử dụng chuẩn truyền thông RS232 đơn giản kết nối tới một máy tính để truyền cả câu lệnh và dữ liệu. Bởi vì mõi lệnh bắt đầu với chữ AT trong chữ Attention nên ngôn ngữ điều khiển được định nghĩa bởi Hayes nhanh chóng đựoc biết đến với bộ lệnh Hayes AT. Chính vị sự đơn giản và khả năng thực thi với chi phí thấp của nó, bộ lệnh Hayes AT nhanh chóng được sử dụng phổ biến trong các modem của các nhà sản xuất khác nhau. Khi chức năng và độ tích hợp của các modem ngày càng tăng cùng thời gian, nên làm cho ngôn ngữ lệnh Hayes AT càng phức tạp. Vì thế nhanh chóng mỗi nhà sản xuất modem đã sử dụng ngôn ngữ riêng của ông ấy. Ngày nay bộ lệnh AT bao gồm cả các lệnh về dữ liệu, fax, voice và các truyền thông SMS

“at”. Đó là lý do tại sao các lệnh modem được gọi là các lệnh AT. Nhiều lệnh của nó được sử dụng để điều khiển các modem quay số sử dụng dây mối (wired dial-up modems), chẳng hạn như ATD (Dial), ATA (Answer), ATH (Hool control) và ATO (return to online data state), cũng được hỗ trợ bởi các modem GSM/GPRS và các điện thoại di động.

Bên cạch bộ lệnh AT thông dụng này, các modem GSM/GPRS và các điện thoại di động còn được hỗ trợ bởi một bộ lệnh AT đặc biệt đối với công nghệ GSM. Nó bao gồm các lệnh liên quan tới SMS như AT+ CMGS (gửi tin nhắn SMS), AT+CMSS (gửi tin nhắn SMS từ một vùng lư trữ), AT+CMGL (chuỗi liệt kê các tin nhắn SMS) và AT+CMGR (đọc tin nhắn SMS).

Ngoài ra, các modem GSM còn hỗ trợ một bộ lệnh AT mở rộng. Những lệnh AT mở rộng này được định nghĩa trong các chuẩn của GSM. Với các lệnh AT mở rộng này,bạn có thể làm một số thứ như sau:

¾ Đọc,viết, xóa tin nhắn ¾ Gửi tin nhắn SMS

¾ Kiểm tra chiều dài tín hiệu

¾ Kiểm tra trạng thái sạc bin và mức sạc của bin. ¾ Đọc, viết và tìm kiếm về các mục danh bạ

Số tin nhắn SMS có thể được thực thi bởi một modem SMS trên một phút thì rất thấp, nó chỉ khoảng từ 6 đến 10 tin nhắn SMS trên 1 phút.

2.3.4.1. Các lnh khi to GSM Module Sim900

− Lệnh AT<cr> Nếu lệnh thực hiện đựợc thì trả về: Ok

Bắt đầu thực hiện các lệnh tiếp theo.

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

− Lệnh AT+CMGF=[<mode>] <cr> Nếu lệnh thực hiện đựợc thì trả về:

Ok

<mode> : 0 dạng dữ liệu PDU 1 dạng dữ liệu kiểu text Nếu lệnh không thực hiện được thì trả về dạng:

+CMS ERROR <err>

− Lệnh AT&W[<n>] Nếu lệnh thực hiện đựợc thì trả về: Ok

Lưu cấu hình cho GSM Module Sim900 Nếu lệnh không thực hiện được thì trả về dạng:

+CMS ERROR <err> − Lệnh ATE[<value>] Nếu lệnh thực hiện đựợc thì trả về: Ok <value> 0 Tắt chế độ Echo 1 Bật chế độ Echo

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

2.3.4.2. Các lnh x lý cuc gi

− Lệnh quay số:

ATD<cr>

Ví dụ: muốn quay số tới số điện thoại 0912929579 thì ta gõ lệnh ATD0912929579;<cr>

<cr>: Enter

− Lệnh nhấc máy:

Ví dụ: khi có số điện thoai nào đó gọi đến số điện thoại được gắn trên modem Sim900, ta muốn nhất máy để kết nối thì gõ lệnh

ATA <cr>

− Lệnh bỏ cuộc gọi:

ATH<cr>

Ví dụ: khi có số điện thoai nào đó gọi đến số điện thoại được gắn trên modem Sim900, ta không muốn nhấc máy mà từ chối cuộc gọi thì gõ lệnh

ATH<cr>

2.3.4.3. Các lnh v SMS

− Lệnh Xóa tin nhắn

AT+CMGD

Ví dụ: muốn xóa một tin nhắn nào đó được lưu trên sim thì ta thực hiện lệnh sau. AT+CMGD=<index> <cr>

<index>: vị trí ngăn nhớ lưu tin nhắn Nếu lệnh thực hiện đựợc thì trả về:

Ok

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

− Lệnh đọc tin nhắn:

AT+CMGR=<index>[,mode] <cr>

<index> : số nguyên, đó là vị trí ngăn nhớ chứa tin nhăn cần đọc <mode> : 0 dạng dữ liệu PDU

1 dạng dữ liệu kiểu text

Nếu như lệnh được thực hiện thì kiểu dữ liệu trả về dưới dạng text ( mode=1): Từ SMS-DELIVER:

+CMGR:<stat>,<oa>,[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<to sca>,<length>]<CR><LF><data>

Từ SMS-SUBMIT:

osca>,<length>]<CR><LF><data> Từ SMS-STATUS-REPORTs: +CMGR: <stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st> Từ SMS-COMMANDs: +CMGR:<stat>,<fo>,<ct>[,<pid>,[<mn>],[<da>],[<toda>],<length><CR>< LF><cdata>] Từ CBM storage +CMGR:<stat>,<sn>,<mid>,<dcs>,<page>,<pages><CR><LF> <data>

Nếu dữ liệu trả về dạng PDU(mode=0):

+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu> Nếu lệnh bị lỗi thì trả về dưới dạng:

+CMS ERROR: <err>

− Lệnh gửi tin nhắn SMS: AT+CMGS Nếu gửi tin nhắn dưới dạng text: (+CMGF=1):

+CMGS=<da>[,<toda>]<CR> text is entered <ctrl-Z/ESC> Nếu gửi tin nhắn dạng PDU:

(+CMGF=0):

+CMGS=<length><CR> PDU is given <ctrl-Z/ESC> Lệnh được thực hiện thành công thi dữ liệu trả về:

Dạng text : +CMGS: <mr>

OK

Dạng PDU : +CMGS: <mr> OK

Lệnh bị lổi : +CMS ERROR: <err>

Nếu viết tin nhắn dưới dạng text :

AT+CMGW=[<oa/da>[,<tooa/toda>[,<stat>]]]<CR>text is entered <ctrl- Z/ESC> <ESC>

Lệnh được thực hiện đúng thì dữ liệu trả về dạng: +CMGW: <index>

OK Lệnh sai:

+CMS ERROR: <err> Nếu viết tin nhắn dưới dạng PDU:

AT+CMGW=<length>[,<stat>]<CR> PDU is given <ctrl-Z/ESC>

− Lệnh gửi tin nhắn từ một ngăn nhớ nào đó: AT+CMSS=<index>[,<da>[,<toda>]]

Nếu lệnh được thực hiện thành công dữ liệu trả về dạng: Dạng text: +CMGS: <mr> [,<scts>] OK Dạng PDU: +CMGS: <mr> [,<ackpdu>] OK Nếu lệnh bị lỗi: +CMS ERROR: <err>

− Lệnh báo hiệu tin nhắn mới:

AT+CNMI=[<mode>[,<mt>[,<bm> [,<ds>[,<bfr>]]]]] Nếu lệnh được thưch hiện đúng thì dữ liệu trả về dạng:

OK Nếu lệnh bị lỗi:

+CMS ERROR: <err>

2.3.4.4. Các lnh v GPRS

− AT+CGATT : lệnh gán hay tách thiết bị khỏi GPRS

− AT+CGDCONT : định nghĩa dạng PDP

− AT+CGQREQ : chất lượng dich vụ

− AT+CGDATA : trạng thái dữ liệu vào

− AT+CGREG : tình trạng đăng ký của mạng

− AT+CGCOUNT : đếm gói dữ liệu vào

2.3.4.5. Các lnh v TCP/IP

− Lệnh bắt đầu kết nối TCP hay UDP

AT+CIPSTART=<mode>,[<IPaddress>,<domain name>],<port> Trong đó:

<mode> : tham số báo kiểu kết nối TCP hay UDP <IP address> : địa chỉ IP của người điều khiển từ xa <port> :

<domain name> : tên miền của người điểu khiển từ xa Nếu lệnh thực hiện đúng thì lệnh trả về : CONNECT OK Nếu lệnh thực hiện 2.3.4.6. Các lnh khác − Lệnh nghỉ AT+CFUN

Ví dụ muốn tắt hết chức năng liên quan đến truyền nhận sóng RF và các chức năng liên quan đến sim thì gõ lệnh:

AT+CFUN=0 <cr> OK

− Lệnh chuyển từ chế độ nghỉ sang chế độ hoạt động bình thường AT+CFUN

Ví dụ sim đang ở chế độ nghỉ ta muốn chuyển sang chế độ hoạt động bình thường thi gõ lệnh:

AT+CFUN=1 <cr> OK

ATZ <cr> OK

− Lệnh tắt chế độ echo ATE0 <cr>

2.3.4.7. Các lnh kim tra ban đầu

- Lấy thông tin cơ bản về điện thoại di động hay modem GSM/GPRS. Ví dụ như tên của nhà sản xuất (AT+CGMI), số model (AT+CGMM), số IMEI (International Mobile Equipment Identity) (AT+CGSN) và phiên bản phần mềm (AT+CGMR).

- Lấy các thông tin cơ bản về những người kí tên dưới đây. Thí dụ, MSISDN (AT+CNUM) và số IMS (International Mobile Subscriber Identity) (AT+CIMI).

- Lấy thông tin trạng thái hiện tại của điện thoại di động hay modem GSM/GPRS. Ví dụ như trạng thái hoạt động của điện thoại (AT+CPAS), trạng thái đăng kí mạng mobile (AT+CREG), chiều dài sóng radio (AT+CSQ), mức sạc bin và trạng thái sạc bin (AT+CBC).

- Đọc (AT+CPBR), viết (AT+CPBW) hay tìm kiếm (AT+CPBF) cá mục về danh bạ điện thoại (phonebook).

- Thực thi các nhiệm vụ liên quan tới an toàn, chẳng hạn như mở hay đóng các khóa chức năng (AT+CLCK), kiểm tra xem một chức năng được khóa hay chưa (AT+CLCK) và thay đổi password (AT+CPWD).

- Điều khiển hoạt động của các mã kết quả/các thông báo lỗi của các lệnh AT. Ví dụ, bạn có thể điều khiển cho phép hay không cho phép kích hoạt hiển thị thông báo lỗi (AT+CMEE) và các thông báo lỗi nên được hiển thị theo dạng số hay theo dạng dòng chữ (AT+CMEE=1 hay AT+CMEE=2).

- Thiết lập hay thay đổi cấu hình của điện thoại di dộng hay modem GSM/GPRS. Ví dụ, thay đổi mạng GSM (AT+COPS), loại dịch vụ của bộ truyền tin (AT+CBST), các thông số protocol liên kết với radio (AT+CRLP), địa chỉ trung tâm SMS (AT+CSCA) và khu vực lưu trữ các tin nhắn SMS (AT+CPMS).

CHƯƠNG 3

GIỚI THIỆU VỀ PSOC

3.1. GIỚI THIỆU TỔNG QUÁT VỀ PSOC

3.1.1. GII THIU V PSOC

PSoC là một từ viết tắt của cụm từ tiếng anh Programmable System on Chip, nghĩa là hệ thống khả trình trên một chíp. Các chíp chế tạo theo công nghệ PSoC cho phép thay đổi được cấu hình đơn giản bằng cách gán chức năng cho các khối tài nguyên có sẵn trên chíp. Hơn nữa nó còn có thể kết nối tương đối mềm dẻo các khối chức năng với nhau hoặc giữa các khối chức năng với các cổng vào ra. Chính vì vậy mà PSoC có thể thay thế cho rất nhiều chức năng nền của một số hệ thống cơ bản chỉ bằng một đơn chíp. Thành phần của chíp PSoC bao gồm các khối ngoại vi số và tương tự có thể cấu hình được, một bộ vi xử lý 8 bit, bộ nhớ chương trình (EEROM) có thể lập trình được và bộ nhớ RAM khá lớn. Để lập trình hệ thống, người sử dụng được cung cấp một phần mềm lập trình, ví dụ như cho các chíp PSoC của Cypress người lập trình phải có phần mềm PsoC Designer. Ngoài ra để cài được chương trình điều khiển vào chíp thì người lập trình phải có một kit phát triển do hãng chế tạo chip cung cấp (hoặc một bộ nạp). Phần mềm thiết kế được xây dựng trên cơ sở hướng đối tượng với cấu trúc module hóa. Mỗi khối chức năng là một module mềm. Việc lập cấu hình cho chíp như thế nào là tùy thuộc vào người lập trình thông qua một số thư viện chuẩn. Người lập trình thiết lập cấu hình trên chíp chỉ đơn giản bằng cách muốn chíp có những chức năng gì thi kéo chức năng đó và thả vào khối tài nguyên số hoặc tương tự, hoặc cả hai tùy theo từng chức năng (Phương pháp lập trình kéo thả). Việc thiết lập ngắt trên chân nào, loại ngắt là gì, các chân vào ra được hoạt động ở chế độ như thế nào đều tùy thuộc vào việc thiết lập của người lập trình khi thiết kế và lập trình cho PSoC. Với khả năng đặt cấu hình mạnh mẽ này, một thiết bị điều khiển, đo lường có thể được gói gọn trên một chip duy nhất. Chính vì lý do đó, hãng

truyền thống, mà gọi là “thiết bị PSoC” (PSoC device), và họ hy vọng rằng, với khả năng đặt cấu hình mạnh mẽ, người sử dụng sẽ có được những thiết bị điều khiển, những thiết bị đo có giá rẻ, kích thước nhỏ gọn, và sản phẩm PSoC của họ sẽ thay thế được các thiết bị dựa trên vi xử lý hoặc vi điều khiển đã có từ trước đến nay. Chíp PSoC (CY8C29xxx) cung cấp:

¾ Bộ vi xử lý với cấu trúc Harvard. - Tốc độ của bộ vi xử lý lên đến 24 MHz

- Lệnh nhân 8 bit x 8 bit, thanh ghi tích lũy là 32 bit - Hoạt động ở tốc độ cao mà năng lượng tiêu hao ít - Dải điện áp hoạt động từ 3.0 tới 5.25V

- Điện áp hoạt động có thể giảm xuống 1.0 V sử dụng chế độ kích điện áp - Hoạt động trong dải nhiệt độ -400C đến 850C.

¾ Các khối ngoại vi có thể được sử dụng độc lập hoặc kết hợp.

• 12 khối ngoại vi tương tự có thể được thiết lập để làm các nhiệm vụ:

- Các bộ ADC lên tới 14 bit - Các bộ DAC lên tới 9 bit.

- Các bộ khuếch đại có thể lập trình được hệ số khuếch đại. - Các bộ lọc và các bộ so sánh có thể lập trình được.

• 8 khối ngoại vi số có thể được thiết lập để làm các nhiệm vụ:

- Các bộ định thời đa chức năng, đếm sự kiện, đồng hồ thời gian thực, bộ điều chế độ rộng xung có và không có dải an toàn (deadband)

- Các modun kiểm tra lỗi (CRC modunles)

- Hai bộ truyền thông nối tiếp không đồng bộ hai chiều

- Các bộ truyền thông SPI Master hoặc Slave có thể cấu hình được - Có thể kết nối với tất cả các chân vào ra.

¾ Bộ nhớ trên Chip:

- Không gian bộ nhớ chương trình Flash từ 4K đến 16K, phụ thuộc vào từng loại chíp với chu kỳ ghi xóa cho bộ nhớ Flash là 50.000 lần

- Chíp có thể lập trình thông qua chuẩn nối tiếp (ISSP) - Bộ nhớ Flash có thể được nâng cấp từng phần

- Chế độ bảo mật đa năng, tin cậy

- Có thể tạo được không gian bộ nhớ Flash trên chíp lên tới 2,304 byte

¾ Có thể lập trình được cấu hình cho từng chân của chíp. - Các chân vào ra ba trạng thái sử dụng Trigger Schmitt

- Đầu ra logic có thể cung cấp dòng 25mA với điện trở treo cao hoặc thấp bên trong

- Thay đổi được ngắt trên từng chân

- Đường ra tương tự có thể cung cấp dòng tới 40mA

- Đường ra đa chức năng có từ 6 đến 44 tùy thuộc vào từng loại chíp

¾ Xung nhịp của Chip có thể lập trình được.

- Bộ tạo dao động 24/48MHz ở bên trong (độ chính xác là 2,5%, không cần thiết bị ngoài)

- Có thể lựa chọn bộ dao động ngoài lên tới 24MHz - Bộ dao động thạch anh 32,768 kHz bên trong

- Bộ tạo dao động tốc độ thấp bên trong sử dụng cho Watchdog và Sleep

¾ Các khối ngoại vi được thiết lập sẵn.

- Bộ định thời Watchdog và Sleep phục vụ chế độ an toàn và chế độ nghỉ - Module truyền thông I2C Master và I2C Slave tốc độ lên tới 400kHz - Module phát hiện điện áp thấp được cấu hình bởi người sử dụng.

Hình 3.1. Sơđồ khi cu trúc ca PSoC (CY8C27443).

3.2. CẤU TRÚC VI XỬ LÝ

3.2.1. B X

Các họ chíp của PSoC dựa trên bộ vi xử lý mạnh mẽ 8 bit với cấu trúc Harvard (Cấu trúc Harvard là cấu trúc mà bus dữ liệu, bus địa chỉ và tín hiệu điều khiển của bộ nhớ chương trình và bộ nhớ dữ liệu độc lập với nhau). Nó có 5 thanh ghi điều khiển hoạt động chính của CPU. Những thanh ghi này bị tác động bởi những lệnh khác nhau. Người sử dụng không thể truy cập trực tiếp vào các thanh ghi này thông qua không gian bộ nhớ các thanh ghi. Các thanh ghi của CPU được cho trong bảng sau:

Bảng 3.2. Các thanh ghi của CPU.

Thanh ghi Mã gi nh

Flags (thanh ghi cờ) CPU_F

Program Counter (thanh ghi đếm

chương trình) CPU_PC

Accumulator (thanh ghi chứa) CPU_A Stack Pointer (thanh ghi con trỏ Stack) CPU_SP

Bộ đếm chương trình là một thanh ghi16 bit (CPU_PC), nó cho phép người

Một phần của tài liệu xây dựng hệ thống giám sát và quản lý các trạm xăng từ xa ứng dụng công nghệ SMS trong GSM (Trang 28 - 83)

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

(83 trang)