- Nếu tình trạng sóng không cho phép thực hiên việc gửi tin nhắn thử bằng cách tháo antenna, hoặc chức năng RF của modem không được cho phép hoạt động do sử dụng các lệnh AT+CFUN=0 hoặ
Trang 1621.382 TRƯỜNG ĐẠI HỌC VINH
KHOA ĐIỆN TỬ - VIỄN THÔNG
Sinh viên thực hiện: ĐỖ TUẤN VŨ
Giảng viên hướng dẫn: Th.S TẠ HÙNG CƯỜNG
NGHỆ AN - 2015
Trang 2MỤC LỤC
LỜI CẢM ƠN 4
MỞ ĐẦU 5
TÓM TẮT ĐỒ ÁN 6
ABSTRACT 6
DANH MỤC HÌNH VẼ 7
Chương 1 GIỚI THIỆU MODULE BREAKOUT SIM900A VÀ ỨNG DỤNG 9
1.1 Giới thiệu Module Breakout SIM 900 9
1.1.1 Giới thiệu Module Breakout SIM 900 9
1.1.2 Đặc điểm của module SIM 900 9
1.2 Khảo sát tập lệnh AT Command của Module SIM 900 12
1.2.1 Khởi tạo cấu hình mặc định cho modem 13
1.2.2 Delete tin nhắn trong SIM 15
1.2.3 Thực hiện cuộc gọi 16
1.2.4 Nhận cuộc gọi đến 17
1.2.5 Đọc tin nhắn 17
1.2.6 Gửi tin nhắn 18
1.2.7 Các lệnh khác 19
1.3 Kết luận 19
Chương 2 VI ĐIỀU KHIỂN PIC 30F4011 21
2.1 Giới thiệu chung về vi điều khiển PIC 30F4011 21
2.2 Cấu trúc của vi điều khiển DsPIC 30F4011 21
2.2.1 Khối xử lý trung tâm 21
2.2.2 Các cổng vào ra I/0 Port 24
2.2.3 Bộ chuyển đổi tương tự sang số ADC 25
2.2.4 Tổ chức bộ nhớ dữ liệu và bộ nhớ chương trình 26
2.3 Một số đặc điểm đặc biết khác của dòng DsPIC 29
Trang 32.4 Kết luận 29
Chương 3 THIẾT KẾ VÀ THI CÔNG HỆ THỐNGĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRÊN CƠ SỞ ỨNG DỤNG MODULE BREAKOUT SIM900 30
3.1 Sơ đồ khối 30
3.1.1 Chức năng của mỗi khối 30
3.1.2 Cách thức điều khiển Module Sim900A 31
3.2 Thiết kế và thi công phần cứng 32
3.2.1 Khối nguồn 32
3.2.2 Khối mạch điều khiển 33
3.2.3 Khối hiển thị 35
3.2.4 Module Sim 900A 38
3.2.5 Khối Relay 39
3.3 Thiết kế và thi công phần mềm……… 40
3.3.1 Sơ đồ thuật toán toàn mạch 40
3.3.2 Chương trình thực hiện 41
3.4 Kết quả thực hiện 41
3.5 Kết luận 42
3.5.1 Ưu điểm và khuyết điểm của hệ thống 42
3.5.2 Khả năng ứng dụng thực tế của đề tài 43
3.5.3 Hướng phát triển của đề tài 43
KẾT LUẬN 45
TÀI LIỆU THAM KHẢO 46
PHỤ LỤC 47
Trang 4LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn quý thầy, cô trường Đại Học Vinh đã tận tình dạy dỗ trong suốt những năm qua Trong đó phải kể đến quý thầy, cô trong Khoa Điện tử - Viễn thông đã hết sức tạo điều kiện cho chúng em học tập chuyên ngành và thực hiện đồ án tốt nghiệp này
Đặc biệt, em xin chân thành cảm ơn giáo viên hướng dẫn Th.S Tạ Hùng Cường đã tận tình giúp đỡ chúng em trong quá trình lựa chọn đề tài và hỗ trợ chúng em trong quá trình thực hiện đề tài
Bên cạnh đó, em cũng xin cảm ơn các bạn sinh viên trong khoa đã đóng góp ý kiến cho em để thực hiện đề tài đạt hiệu quả hơn
Với thời gian thực hiện đề tài ngắn, kiến thức còn hạn hẹp, dù em đã rất cố gắng nhưng vẫn không tránh khỏi những sai sót, em rất mong nhận được lời chỉ dẫn thêm của quý thầy cô và bạn bè
Nghệ An, ngày21 tháng 01 năm 2015
Sinh viên thực hiện
Đỗ Tuấn Vũ
Trang 5MỞ ĐẦU
“Nhà thông minh” là một cụm từ không còn xa lạ đối với nền công nghệ phát triển hiện nay Những người đưa ra ý tưởng được thực hiện nhờ vào tia hồng ngoại để điều khiển từ xa, nhưng khoảng cách bị hạn chế Sau rất nhiều thời gian và ý kiến xây dựng, nhiều nghiên cứu cải tiến khoảng cách điều khiển mang đã lại nhiều thành công và có ý nghĩa thực tiễn như điều khiển thông qua đường dây điện, đường dây điện thoại…Khi công nghệ wireless phát triển, người ta lại nghĩ đến điều khiển qua mạng không dây_điều khiển
từ xa dùng máy tính ra đời Không dừng lại ở đó, khi mà các mạng điện thoại đang cạnh tranh gay gắt, chiếc điện thoại trở nên vật dùng không thể thiếu của mỗi cá nhân, người ta lại nghĩ về một chiếc điện thoại tích hợp khả năng điều khiển từ xa
Đi cùng xu hướng phát triển đó, em đã chọn đề tài: “Nghiên cứu, thiết kế
và chế tạo hệ thống điều khiển các thiết bị điện trên cơ sở ứng dụng Module Breakout SIM900A”
Nội dung chính của đề tài gồm 3 chương:
Chương 1: Giới thiệu Module Breakout SIM900A và ứng dụng
Chương 2: Vi điều khiển PIC 30F4011
Chương 3: Thiết kế và chê tạo hệ thống điều khiển các thiết bị điện trên
cơ sở ứng dụng Module Breakout SIM900A
Với đề tài này, em muốn sử dụng điện thoại di động điều khiển thiết bị điện dân dụng, dùng Module Sim900A trên nền mạng GSM để thu SMS điều khiển
Em hi vọng với đề tài này sẽ làm cơ sở nghiên cứu cho các nhóm khác sau này có thể mở rộng, phát triển hơn nữa
Trang 6TÓM TẮT ĐỒ ÁN
Đồ án này nghiên cứu, thiết kế và chế tạo hệ thống điều khiển các thiết bị điện trên cơ sở ứng dụng Module Breakout SIM900A Module SIM900A có nhiệm vụ nhận tin nhắn SMS từ điện thoại của người điều khiển sau đó gửi tín hiệu về khối vi xử lý trung tâm Khối xử lý trung tâm sử dụng vi điều khiển PIC30F4011nhận tín hiệu từ Module SIM900A sau đó gửi lệnh điều khiển tới các thiết bị ngoại vi Các thiết bị ngoại vi sử dụng nguồn điện 220V, được điều khiển thông qua relay và hiển thị trạng thái làm việc qua LCD
ABSTRACT
This thesis research, design and manufacturing control system devices based applications SIM900A Breakout Module SIM900A Module is responsible for receiving SMS from phone operator then sends a signal to the central processor unit Central processing unit using PIC30F4011 microcontroller receives the signal from the module SIM900A then send control commands to the peripherals The peripherals using 220V power, is controlled via relay and work status display via LCD
Trang 7DANH MỤC HÌNH VẼ
Hình 1.1 Module SIM 900 11
Hình 1.2 Breakout của Module SIM 900 11
Hình 1.3 Cấu hình mặc định cho SIM 900 14
Hình 1.4 Cấu hình xóa tin nhắn SIM 900 15
Hình 1.5 Cấu hình gọi điện cho SIM 900 16
Hình 1.6 Cấu hình gửi tin nhắn 18
Hình 2.1 Sơ đồ khối DsPIC30F4011 23
Hình 2.2 Các cổng I/O của DisPic30F4011 24
Hình 2.3 Bản đồ không gian bộ nhớ chương trình 27
Hình 2.4 Truy cập dữ liệu từ không gian chương trình 28
Hình 3.1 Sơ đồ khối toàn mạch 30
Hình 3.2 Khối nguồn nuôi vi điều khiển và các thiết bị ngoại vi 32
Hình 3.3 Ảnh thực tế và sơ đồ chân của IC7805 33
Hình 3.4 Khối vi điều khiển 33
Hình 3.5 Khối tạo xung dao động thạch anh 34
Hình 3.6 Sơ đồ mạch in khối vi điều khiển 34
Hình 3.7 Hình ảnh thực tế khối vi điều khiển 34
Hình 3.8 Sơ đồ nguyên lý khối hiển thị màn hình LCD 16x2 35
Hình 3.9 Hình ảnh thực tế LCD 16x2 35
Hình 3.10 Sơ đồ thiết kế của Module Sim900A 38
Hình 3.11 Hình ảnh thực tế của Module Sim900A 38
Hình 3.12 Sơ đồ nguyên lý mạch Relay 41
Hình 3.13 Mạch thực tế Module Relay 5VDC 39
Hình 3.14 Sơ đồ thuật toán toàn mạch 40
Hình 3.15 Thực tế toàn mạch 42
Trang 8nhiên
EEPROM Electrically Erasable Programma
ble Read-Only Memory
Bộ nhớ không mất dữ liệu
GSM Global System for Mobile
Communication
Hệ thống thông tin di động toàn cầu thế hệ thứ 2 (2G)
SIM Subscriber Identity Module Thẻ nhớ thông minh sử
dụng trên thiết bị di động GPRS General Packet Radio Service Dịch vụ vô tuyến thổng
hợp
Trang 9Chương 1 GIỚI THIỆU MODULE BREAKOUT SIM900A VÀ ỨNG DỤNG
Trong chương này ta có thể tìm hiểu, nắm bắt trang bị đầy đủ kiến thức về phần cứng của Module SIM, tìm hiểu rõ tập lệnh AT phục vụ cho quá trình làm đồ
án
Nội dung chính của chương bao gồm:
Giới thiệu về Module SIM 900, các chân vào ra
Giới thiệu các tập lệnh cấu hình cho Module SIM
1.1 Giới thiệu Module Breakout SIM 900
1.1.1 Giới thiệu Module Breakout SIM 900
Một modem GSM là một modem wireless, nó làm việc cùng với một mạng wireless GSM Một modem wireless thì cũng hoạt động giông như một modem quay số Điểm khác nhau chính ở đây là modem quay số thì truyền và nhận dữ liệu thông qua một đường dây điện thoại cố định trong khi đó một modem wireless thì việc gửi nhận dữ liệu thông qua sóng
Giống như một điện thoại di động GSM , một modem GSM yêu cầu 1 thẻ sim với một mạng wireless để hoạt động
Module SIM 900 là một trong những loại modem GSM Nhưng Module SIM
900 được nâng cao hơn có tốc độ truyền dữ liệu nhanh hơn Nó sử dụng công nghệ GSM/GPRS hoạt động ở băng tầng GSM 850Mhz, EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, có tính năng GPRS của Sim 900 và hỗ trợ GPRS theo dang
đồ thị mã hóa CS-1, CS-2, CS-3 và CS-4
1.1.2 Đặc điểm của module SIM 900
- Nguồn cung cấp khoảng 3,4 – 4,5V
- Băng tần: GSM 850Mhz, EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz
SIM900 có thể tự động tìm kiếm các băng tần
Trang 10- Hạn chế : - 400C tới -300C và +800C tới +850C
- Nhiệt độ bảo quản: -450C tới 900
C
- Dữ liệu GPRS: GPRS dữ liệu tải xuống: Max 85.6 kbps
GPRS dữ liệu úp lên: Max 42.8 kbps
- Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
- Sim 900 hổ trợ giao thức PAP ,kiểu sử dụng kết nối PPP
- Sim 900 tích hợp giao thức TCP/IP
- Chấp nhận thông tin được điều chỉnh rộng rãi
- SMS: MT, MO, CB, Text and PDU mode
- Bộ nhớ SMS: Sim card
- Sim card: Hỗ trợ sim card: 1,8v ; 3v
- Anten ngoài:
Kết nối thông qua anten ngoài 500km hoặc đế anten
- Âm thanh: Dạng mã hóa âm thanh
Mức chế độ (ETS 06.20)
Toàn bộ chế độ (ETS 06.10)
Toàn bộ chế độ tăng cường (ETS 06.50/ 06.06/ 06.80)
Loại bỏ tiếng dội
- Giao tiếp nối tiếp và sự ghép nối:
Cổng nối tiếp: 8 Cổng nối tiếp( ghép nối)
Cổng kết nối có thể Sd với CSD Fax, GPRS và gửi lệnh
- ATCommand tới module điều khiển
Cổng nối tiếp có thể Sd chức năng giao tiếp :Hỗ trợ tốc độ truyền 1200 BPS tới
115200 BPS
- Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
- Cổng hiệu chỉnh lỗi chỉ sử dụng sữa lỗi
- Quản lý danh sách: Hỗ trợ mẫu danh sách: SM, FD, LD, RC,ON, MC
- Đồng hồ thời gian thực: Người cài đặt
- Times function: Lập trình thông qua AT Command
- Đặc tính vật lý (đặc điểm): Kích thước 24mmx24mmx24mm> Nặng 3.4g
Trang 11Hình 1.1 Module SIM 900
1.1.3 Khảo sát sơ đồ chân và chức năng từng chân của Breakout SIM 900
Hình 1.2 Breakout của Module SIM 900
Trong đồ án đã sử dụng Breakout SIM 900 tức là SIM 900 đã được thế kế thành module để tiện sử dụng cho đồ án
Bảng 1.1 Sơ đồ chân Breakout SIM900
ON/OFF LED VRTC ADC SPK1N SPK1P MIC1N MIC1P VCC VCC
Trang 12- Chân 1: Chân ON/OFF ta cần kích 1 xung có mức tích cực dương vào khoảng 1s, lúc này đèn status sẽ sáng, sau đó chớp nháy với tần suất nhanh báo hiệu SIM900 đang khởi động và tìm mạng Sau 10s sau Led Status nhấp nháy chậm báo hiệu SIM900 đã hoạt động bình thường
- Chân 2: Request to send
- Chân 3: đầu ra dùng để chỉ báo mạng kết nối được hệ thống
- Chân 4:Clear to send
- Chân 5:đầu vào pin dự phòng cho module
- Chân 6:Data carrier detection
- Chân 7:Chân vào của bộ chuyển đổi tín hiệu tương tự sang số
- Chân 8: Ring chân ra loa báo hiệu có cuộc gọi đến
- Chân 9, 11: chân loa nghe cuộc thoại
- Chân 13,15: chân MIC
- Chân 10: chân đầu cuối dữ liệu
- Chân 12: chân truyền dữ liệu
- Chân 14: chân nhận dữ liệu
- Chân 16: chân RESET SIM900
- Chân 17,19: chân nguồn cấp cho sim hoạt động
- Chân 18,20: chân max
1.2 Khảo sát tập lệnh AT Command của Module SIM 900
Các lệnh AT là các hướng dẫn được sử dụng để điều khiển một modem.AT là một cách viết gọn của chữ Attention.Mỗi dòng lệnh của nó bắt đầu với “AT” hay
“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ạnh 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ư:
Trang 13- 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
- 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
- Đọ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
Trong khuôn khổ của đồ án em chỉ tìm hiểu 1 số tập lệnh cơ bản phục vụ cho công việc của mình Sau đây em xin giới thiệu 1 số tập lệnh cơ bản để thao tác dùng cho dịch vụ SMS,bao gồm:
- <LF> : Line Feed (0x0A)
- MT : Mobile Terminal :Thiết bị đầu cuối mạng (chính là module)
- TE : Terminal Equipment: Thiết bị đầu cuối(chính là vi điều khiển)
1.2.1 Khởi tạo cấu hình mặc định cho modem
ATZ<CR> reset modem, kiểm tra modem đã hoạt động bình thường chưa Gửi nhiều lần cho chắc ăn, cho đến khi nhận được chuỗi
ATZ<CR><CR><LF>OK<C><LF>
Trang 14ATE0<CR> tắt chế độ echo lệnh Chuỗi trả về có dạng
ATE0<CR><CR><LF>OK<CR><LF>
Hình 1.3 Cấu hình mặc định cho SIM 900
AT+CLIP=1<CR>định dạng chuỗi trả về khi nhân cuộc gọi Thông thường, ở chế
độ mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:
Trang 15AT+CMGF=1<CR> Thiết lập quá trình truyền nhận tin nhắn được thực hiện ở chế
Lưu cấu hình cài đặt được thiết lập bởi các lệnh AT+CMGF và AT+CNMI
1.2.2 Delete tin nhắn trong SIM
AT+CMGD=1
Xóa tin nhắn ở vùng nhớ 1 trong SIM
Chuỗi trả về sẽ có dạng: <CR><LF>OK<CR><LF>
AT+CMGD=2
Lệnh này được dùng để xóa tin nhắn được lưu trong ngăn số 2
Hình 1.4 Cấu hình xóa tin nhắn SIM 900
Có thể hình dung bộ nhớ lưu tin nhắn trong SIM bao gồm nhiều ngăn Mỗi ngăn được đại diện bằng một số thứ tự
Khi nhận được tin nhắn mới, nội dung tin nhắn sẽ được lưu trong một ngăn trống có số thứ tự nhỏ nhất có thể
Việc xóa nội dung tin nhắn ở hai ngăn 1 và 2 cho phép tin nhắn nhận được luôn được lưu vào trong hai ô nhớ này, giúp dễ dàng xác định vị trí lưu tin nhắn vừa nhận được, và giúp cho việc thao tác với tin nhắn mới nhận được trở nên dễ dàng
Trang 16và đơn giản hơn, giảm khả năng việc tin nhắn mới nhận được bị thất lạc ở vùng nhớ nào đó mà ta không kiểm soát được
Ngoài ra, khi bộ nhớ chứa tin nhắn đầy, MT sẽ không được phép nhận thêm tin nhắn mới nào nữa Những tin nhắn được gửi đến MT trong trường hợp bộ nhớ chứa tin nhắn được gửi đến MT trong trường hợp bộ nhớ chứa tin nhắn của MT đã được đầy sẽ được lưu trên tổng đài, và sẽ được gửi đến MT sau khi bộ nhớ chứa tin nhắn của MT có xuất hiện những ngăn trống dùng để chứa tin nhắn Việc xóa nội dung tin nhắn trong các ngăn 1 và 2 sẽ giúp đảm bảo khả năng nhận thêm tin nhắn mới của MT
1.2.3 Thực hiện cuộc gọi
Hình 1.5 Cấu hình gọi điện cho SIM 900
ATDxxxxxxxxxx;<CR>Quay số cần gọi
Chuỗi trả về sẽ có dạng:<CR><LF>OK<CR><LF>
Chuỗi này thông báo lệnh trên đã được nhận và đang được thực thi
Sau đó là những chuỗi thông báo kết quả quá trình kết nối ( nếu như kết nối không được thực hiện thành công)
- Nếu MT không thực hiện được kết nối do sóng yếu, hoặc không có sóng ( thử bằng cách tháo antenna của modem GSM), chuỗi trả về sẽ có dạng:
- <CR><LF>NO DIAL TONE<CR><LF>
Trang 17- Nếu cuộc gọi bị từ chối bởi người nhận cuộc gọi, hoặc số máy đang gọi tạm
thời không hoạt động ( chẳng hạn như bị tắt máy ) chuỗi trả về có dạng:
- <CR><LF>NO CARRIER<CR><LF>
- Nếu cuộc gọi không thể thiết lập được do máy nhận cuộc gọi đang bận ( ví dụ
như đang thông thoại với một thuê bao khác), chuỗi trả về sẽ có dạng:
- <CR><LF>BUSY<CR><LF> (4s) Tổng thời gian từ lúc modem nhận lệnh
cho đến lúc nhận được chuỗi trên thông thường là 4 giây
- Nếu sau 1 phút mà thuê bao nhận cuộc gọi không bắt máy, chuỗi trả về sẽ có
dạng: <CR><LF>NO ANSWER<CR><LF> (60s) Trong trường hợp quá trình thiết lập cuộc gọi diễn ra bình thường, không có chuỗi
thông báo nào được trả về, và chuyển sang giai đoạn thông thoại
Quá trình kết thúc cuộc gọi diễn ra trong 2 trường hợp:
- Đầu nhận cuộc gọi gác máy trước chuỗi trả về có dạng:
- Nếu số điện thoại gọi đến không hợp lệ, từ chối nhận cuộc gọi bằng lệnh ATH,
và chuỗi trả về sẽ có dạng: <CR><LF>OK<CR><LF> Cuộc gọi kết thúc
- Nếu số điện thoại gọi đến là hợp lệ, nhận cuộc gọi bằng cách gửi lệnh ATA, và
chuỗi trả về sẽ có dạng: <CR><LF>OK<CR><LF>
- Giai đoạn thông thoại
- Kết thúc cuộc gọi.Đầu còn lại gác máy trước
- Kết thúc cuộc gọi, chủ động gác máy bằng cách gửi lệnh ATH
1.2.5 Đọc tin nhắn
Mọi thao tác liên quan đến quá trình nhận tin nhắn đều được thực hiện trên hai
ngăn 1 và 2 của bộ nhớ nằm trong SIM
- Đọc tin nhắn trong ngăn 1 bằng lệnh AT+CMGR=1
- Nếu ngăn 1 không chứa tin nhắn, nội dung tin nhắn sẽ được gửi trả về TE với
định dạng như sau:
<CR><LF>+CMGR: ”REC
Trang 18UNREAD”,”+841683833823”,,”07/05/15,09:32:05+28” <CR><LF>
<CR><LF>NỘI DUNG<CR><LF>
<CR><LF>OK<CR><LF>
Các tham số trong chuỗi trả về bao gồm trạng thái của tin nhắn (REC UNREAD),
số điện thoại gửi tin nhắn (+841683833823) và thời gian gửi tin nhắn (07/05/15,09:32:05+28) và nội dung tin nhắn
Đây là dạng mặc định của module SIM508 lúc khởi động, dạng mở rộng có thể được thiết lập bằng cách sử dụng lệnh AT+CSDH=1 trước khi thực hiện đọc tin nhắn
Sau khi đọc, tin nhắn được xóa đi bằng lệnh AT+CMGD=1
Thao tác tương tự đới với tin nhắn chứa trong ngăn thứ 2, 3
Trang 19Gửi nội dung tin nhắn và kết thúc bằng kí tự có mã ASCII 0x1A
- Gửi kí tự ESC ( mã ASCII là 27) nếu không muốn tiếp tục gửi tin nhắn nữa Khi đó TE sẽ gửi trả về chuỗi <CR><LF>OK<CR><LF>
Chuỗi trả về thông báo quá trình gửi tin nhắn Chuỗi trả về có định dạng như sau:
<CR><LF>+CMGS :62<CR><LF>
<CR><LF>OK<CR><LF>
Trong đó 62 là một số tham chiếu cho tin nhắn đã được gửi.Sau mỗi tin nhắn được gửi đi, giá trị của tham chiếu này sẽ tăng lên 1 đơn vị.Số tham chiếu này có giá trị nằm trong khoảng từ 0 đến 255
Thời gian gủi một tin nhắn vào khoảng 3-4 giây (kiểm tra với mạng Viettel)
- Nếu tình trạng sóng không cho phép thực hiên việc gửi tin nhắn ( thử bằng cách tháo antenna), hoặc chức năng RF của modem không được cho phép hoạt động ( do sử dụng các lệnh AT+CFUN=0 hoặc AT+CFUN=4), hoặc số tin nhắntrong hàng đợi phía tổng đài vượt qua giới hạn cho phép, hoặc bộ nhớ chứa tin nhắn của MT nhận được tin nhắn bị tràn, MT sẽ gửi thông báo lỗi về và có định dạng như sau:
<CR><LF>+CMS ERROR:193<CR><LF>
<CR><LF>+CMS ERROR:515<CR><LF>
Chức năng truyền nhận tin nhắn và chức năng thoại được tách biệt.Khi đang thông thoại vẫn có thể truyền nhận được tin nhắn.Khi truyền nhận tin nhắn vẫn có thể tiến hành thiết lập và kết thúc cuộc gọi
1.2.7 Các lệnh khác
Ngoài ra còn có các lệnh khác cho GPRS, các tập lệnh khởi tạo kiểm tra…người dùng có thế tra datasheet của SIM 900 để biết nhiều thêm các lệnh mình cần Trong khuôn khổ đồ án chỉ đưa ra một số tập lệnh cơ bản phục vụ cho công
việc của mình
1.3 Kết luận
Chương 1 đã giới thiệu về đặc điểm, cách sử dụng và tập lệnh AT Command của Module Sim900.Breakout SIM900 là cầu nối giữa hệ thống với điện thoại di động, nhiệm vụ là tiếp nhận tin nhắn từ điện thoại và chuyển bản tin đến vi điều
Trang 20khiển xử lí đồng thời nhận nội dung tin nhắn từ vi điều khiển và phát đến điện thoại người dùng thông qua mạng GSM Người dùng dể có thể sử dụng hết các chức năng của Module SIM900 cần phải có một quá trình tìm hiểu lâu dài, kỹ lưỡng Những thông tin, kiến thức được đưa ra trong đồ án chủ yếu phục vụ cho đề tài
Trang 21Dòng vi điều khiển DsPIC là một chíp xử lý mạnh mẽ có khả năng xử lý những
dữ liệu có độ dài 16bit DsPIC có tốc độ xử lý cao dựa trên kiến trúc RISC, kết hợp với các chức năng điều khiển của một vi điều khiển hiệu năng cao 16bit (highperformance 16bit microcontroller) Nó có thể thực hiện chức năng của một
bộ xử lý tín hiệu số (DSP) nên DsPic còn có thể được xem là một bộ điều khiển tín hiệu số (Digital Signal Controller – DSC)
Họ vi điều khiển DsPIC có thể đạt tới tốc độ xử lý 40 MIPS (Mega Instruction Per Second - triệu lệnh trên một giây) Ngoài ra dsPic còn được trang bị bộ nhớ Flash, bộ nhớ dữ liệu EEPROM và các ngoại vi hiệu năng cao và rất đa dạng các thư viện phần mềm cho phép thực hiện các giải thuật nhúng với hiệu suất cao một cách dễ dàng trong một khoảng thời gian ngắn Chính vì vậy DsPic được ứng dụng rất rộng rãi trong các ứng dụng xử lý tín hiệu số, đo lường và điều khiển tự động, v v
Họ vi điều khiển DsPIC được chia ra làm ba loại tùy theo mục đích của người sử dụng chúng :
- Bộ điều khiển số cho điều khiển motor và biến đổi nguồn (DSC Motor Control
& Power Conversion Family)
- Bộ điều khiển số cho sensor (DSC Sensor Family)
- Bộ điều khiển số đa mục đích (DSC General Purpose Family)
2.2 Cấu trúc của vi điều khiển DsPIC 30F4011
2.2.1 Khối xử lý trung tâm
Một số đặc điểm khối xử lý trung tâm của vi điều khiển DsPIC30F4011:
- Tập lệnh cơ bản gồm có 84 tập lệnh
- Chế độ định địa chỉ linh hoạt
- Độ dài lệnh 24-bit, độ dài dữ liệu 16-bit
Trang 22- Bộ nhớ chương trình Flash lên tới 24 Kbytes
- Bộ nhớ RAM độ lớn 1Kbytes
- Bộ nhớ EEPROM
- Mảng 16 thanh ghi làm việc 16-bit
- Tốc độ làm việc lên tới 40 MIPS
Khối xử lý trung tâm CPU của DsPIC30F4011 được thiết kế trên kiến trúc RISC, nhân của CPU có một bộ xử lý lệnh 24-bit và bộ đếm chương trình độ rộng 23-bit với bit ý nghĩa thấp nhất luôn bằng 0, còn bít ý nghĩa cao nhất thì được bỏ qua trong suốt quá trình thực hiện chương trình bình thường, chỉ trừ khi thực hiện các lệnh đặc biệt Do đó, bộ đếm chương trình có thể định địa chỉ lên tới 4 triệu từ lệnh của không gian bộ nhớ chương trình được sử dụng
Vi điều khiển DsPIC30F chứa 16 thanh ghi làm việc 16-bit Mỗi thanh ghi làm việc có thể có thể làm việc với vai trò như dữ liệu, địa chỉ hoặc thanh ghi địa chỉ Thanh ghi thứ 16 hoạt động như là con trỏ mềm ngăn các hoạt động ngắt và gọi ngắt
Các lớp lệnh của DsPIC30F4011 gồm 2 lớp sau: Lớp MCU và Lớp DSP Hai lớp lệnh này được kết hợp đồng nhất với nhau trong kiến trúc của khối xử lý trung tâm Các câu lệnh bao gồm nhiều chế độ địa chỉ và được thiết kê nhằm tương thích với trình biên dịch của ngôn ngữ lập trình C
Không gian bộ nhớ có thể được địa chỉ hóa thành 32K words hoặc 64 KB Được chia thành hai khối, bộ nhớ dữ liệu X và bộ nhớ dữ liệu Y Mỗi khối đều có khối tạo địa chỉ - AGU riêng biệt của nó Khối AGU qui định sự xuất hiện của một vùng dữ liệu thống nhất Lớp thanh chứa phép nhân - MAC của tập lệnh DSP hoạt động thông qua cả hai khối AGU của bộ nhớ X và bộ nhớ Y, nó chia địa chỉ dữ liệu thành hai phần Mỗi từ dữ liệu gồm 2-Bytes và tất cả các lệnh có thể định địa chỉ
dữ liệu theo Bytes hoặc words
Phương thức để truy xuất dữ liệu từ bộ nhớ chương trình:
- 32Kbytes của vùng nhớ dữ liệu có thể được sắp xếp trong nửa thấp của không gian chương trình tại biên của 16K từ chương trình bất kỳ và nó được định nghĩa bởi thanh ghi PSVPAG 8-bit Do đó các lệnh có thể truy cập vào không gian chương trình một cách giới hank như không gian dữ liệu và nó cần thêm một chu
kỳ lệnh nữa Chỉ có 16Bit thấp của mỗi tập lệnh mới có thể sử dụng phương thức truy cập này
Trang 23- Việc truy cập trực tiếp không tuyến tính các dữ liệu trong không gian chương trình cũng có thể sử dụng các thanh ghi làm việc, thông qua bảng lệnh đọc và ghi Bảng lệnh đọc và ghi có thể được sử dụng để truy cập cả 24 bit của một từ lệnh
- Khối AGU của bộ nhớ X cũng hỗ trợ việc đảo bit địa chỉ trên địa chỉ đích kết quả nhằm đơn giản hoá tối đa dữ liệu vào hoặc ra để chúng thích hợp cho thuật toán FFT hệ nhị phân
Với tất cả các câu lệnh cần thực thi, bộ xử lý trung tâm của dsPIC30F có khả năng thực hiện việc đọc bộ nhớ dữ liệu hoặc bộ nhớ chương trình, đọc thanh ghi làm việc, ghi vào thanh ghi làm việc và đọc bộ nhớ chương trình mỗi chu kì lệnh
Hình 2.1.Sơ đồ khối DsPIC30F4011
Trang 242.2.2 Các cổng vào ra I/0 Port
Đặc điểm của các cổng vào ra I/O của vi điều khiển DsPIC30F4011:
- Dòng ra, vào ở các chân I/O lớn: 25 mA
- Timer 16-bit, có thể ghép 2 Timer 16-bit thành Timer 32-bit
- Chức năng Capture 16-bit
- Các bộ so sánh/PWM 16-bit
- Module SPI 3 dây (hỗ trợ chế độ Frame)
- Module I2C, hỗ trợ chế độ đa chủ tớ, địa chỉ từ 7-bit đến 10-bit
- Chân UART có khả năng địa chỉ hoá, hỗ trợ bộ đệm FIFO
- Các cổng vào ra của DsPic40F4011 đều có thiết kế có đầu vào là mạch Trigger Schmitt nhằm cải tiến khả năng chống nhiễu
- Tất cả các cổng vào ra đều có ba thanh ghi kết hợp với nhau điều khiển trực tiếp hoạt động của các cổng vào ra
Thanh ghi dữ liệu trực tiếp (TRISx) xác định cổng đó là Input hay Output Nếu bit dữ liệu trực tiếp là ‘1’, thì cổng đó là Input và ngược lại nếu bit dữ liệu là “0” thì
đó là cổng Ouput Các cổng được định nghĩa lại là Input sau khi Reset lại
Thanh ghi cổng (PORT): dữ liệu ở một cổng I/O được truy xuất thông qua thanh ghi PORTx Đọc giá trị của thanh ghi PORT cổng nào sẽ có được giá trị của cổng đó Ghi vào thanh ghi PORT của cổng tương đương việc xuất dữ liệu ra cổng
đó
Thanh ghi LAT, kết hợp với một cổng I/O sẽ loại bỏ được các vấn đề có thể xuất hiện khi đọc, thay đổi hay ghi vào cổng đó Đọc giá trị thanh ghi LAT sẽ trả về giá trị được giữ ở đầu ra của bộ chốt cổng đó, thay cho giá trị ở cổng I/O Việc ghi vào thanh ghi LATx cũng tạo ra hiệu quả như ghi vào thanh ghi PORTx
Hình 2.2.Các cổng I/O của DisPic30F4011
Trang 252.2.3 Bộ chuyển đổi tương tự sang số ADC
Các đặc điểm bộ chuyển đổi tương tự sang số ADC của DsPIC30F4011:
- Bộ chuyển đổi tương tự - số (ADC) 10-bit
- Tốc độ lấy mẫu tối đa 1 Msps (Mega samples per second)
- Tối đa 10 kênh lối vào ADC
- Thực hiện biến đổi cả trong chế độ Sleep và Idle
- Chế độ nhận biết điện thế thấp khả lập trình
- Tạo Reset bằng nhận diện điện áp khả lập trình
Vi điều khiển DsPIC30F4011 cung cấp bộ chuyển đổi tương tự số 10-bit cho phép biến đổi tín hiệu tương tự đầu vào sang số độ dài 10-bit Module này dựa trên thanh ghi SAR (Successive Approximation Register – thanh ghi xấp xỉ) và cung cấp tốc độ lấy mẫu tối đa lên tới 100 ksps Bộ chuyển đổi tương tự sang sô ADC của dsPIC30F4011 có tới 10 kênh tương tự lối vào được kết hợp cả lấy mẫu và giữ mẫu Lối ra của bộ lấy và giữ mẫu là lối vào của bộ chuyển đổi tạo ra kết quả biến đổi Điện thế tương tự chuẩn có thể là điện thế nguồn cung cấp (AVDD/AVSS) hoặc mức điện thế của các chân VREF+/VREF-
Bộ chuyển đổi tương tự sang số ADC của DsPIC30F4011 gồm 6 thanh ghi:
- Ba thanh ghi điều khiển A/D: ADCON1, ADCON2, ADCON3 Có chức năng điều khiển hoạt động của ADC
- Thanh ghi lựa chọn lối vào ADCHS Dùng để lựa chọn kênh vào để biến đổi
- Thanh ghi cấu hình cổng ADPCFG Để cấu hình cổng trở thành lối vào tương
tự hoặc vào ra số
- Thanh ghi lựa chọn quét
- Bộ đệm kết quả biến đổi A/D: Module ADC sử dụng RAM để làm bộ đệm lưu kết quả biến đổi A/D Có tất cả 16 vị trí trong RAM được sử dụng để làm việc này,
đó là: ADCBUF0, ADCBUF1, ADCBUF2, , ADCBUFE, ADCBUFF RAM chỉ
có độ rộng 12-bit nhưng dữ liệu chứa trong nó lại là một trong bốn dạng số 16-bit
đó là: nguyên, nguyên có dấu, phân số, và phân số có dấu
Các bước để thực hiện việc biến đổi ADC:
Trang 261 Thiết lập cấu hình cho Modul A/D
2 Cấu hình các chân lối vào tương tự, điện thế chuẩn và vào ra số
3 Chọn các kênh lối vào cần biến đổi
4 Chọn cung nhịp cho biến đổi
5 Cho phép modul ADC có thể hoạt động
6 Cấu hình ngắt cho ADC
7 Xóa cờ ngắt ADIF
8 Lựa chọn mức ưu tiên ngắt chi biến đổi A/D
9 Bắt đầu lấy mẫu
10 Thời gian chờ hoàn thành lấy mẫu
11 Kết thúc lấy mẫu, bắt đầu biến đổi
Biến đổi kết thúc khi thỏa mãn một trong hai điều kiện sau:
- Ngắt từ ADC
- Đợi bit DONE được set
Đọc kết quả từ bộ đệm biến đổi A/D và xóa các bit ADIF nếu cần
2.2.4 Tổ chức bộ nhớ dữ liệu và bộ nhớ chương trình
Không gian địa chỉ chương trình
Không gian địa chỉ chương trình có độ lớn tối đa 4M ký tự lệnh Bản đồ tổ chức bộ nhớ chương trình của DsPic30F4011 được thể hiện trong hình sau
Bộ nhớ chương trình có thể được địa chỉ hóa bởi một giá trị 24 bit của bộ nhớ chương trình, hoặc bảng lệnh địa chỉ hiệu dụng, hoặc không gian dữ liệu EA khi không gian chương trình được sắp xếp và địa chỉ hóa
Việc truy cập không gian chương trình người sử dụng bị giới hạn trong dải 4M địa chỉ của ký tự lệnh (từ 0x000000 tới 0x7FFFFE) với tất cả các lệnh truy cập, trừ hai lệnh TBLRD/TBLWT, sử dụng bít thứ 7 của thanh ghi TBLPAG để xác định người sử dụng hoặc thiết lập cấu hình truy cập cho bộ nhớ
Trang 27Data EEPROM (1KB) 7FFFFF
800000
Reserved
8005BE 8005C0
Hình 2.3 Bản đồ không gian bộ nhớ chương trình
Truy xuất dữ liệu từ bộ nhớ chương trình sử dụng các lệnh bảng
Kiến trúc của dsPIC cho phép nạp dữ liệu rộng 24-bit tới bộ nhớ chương trình,
do đó các lệnh luôn luôn được xếp hàng tuy nhiên kiến trúc của nó có cải tiến so với kiến trúc máy tính Hadvard nên dữ liệu cũng có thể được đưa ra ở trong không gian chương trình
Có hai phương pháp truy cập không gian chương trình:
- Thông qua các lệnh đặc biệt về bảng hoặc thông qua việc định địa chỉ và sắp xếp lại 16K trang từ không gian chương trình trong nửa cao của không gian dữ liệu Các lệnh TBLRDL và TBLWTL cung cấp phương pháp đọc và ghi trực tiếp từ ít ý nghĩa nhất (LS Word) tại một địa chỉ bất kỳ trong không gian chương trình mà không cần thông qua không gian dữ liệu Hai lệnh TBLRDH và TBLWTH chỉ là