Hệ thống thông tin di động toàn cầu (Global System for Mobile Communications; viết tắt: GSM) là một công nghệ dùng cho mạng thông tin di động. Dịch vụ GSM được sử dụng bởi hơn 2 tỷ người trên 212 quốc gia và vùng lãnh thổ. Các mạng thông tin di động GSM cho phép có thể roaming với nhau do đó những máy điện thoại di động GSM của các mạng GSM khác nhau có thể sử dụng được nhiều nơi trên thế giới. GSM là chuẩn phổ biến nhất cho điện thoại di động (ĐTDĐ) trên thế giới. Khả năng phát sóng rộng khắp nơi của chuẩn GSM làm cho nó trở nên phổ biến trên thế giới, cho phép người sử dụng có thể sử dụng ĐTDĐ của họ ở nhiều vùng trên thế giới. GSM khác với các chuẩn tiền thân của nó về cả tín hiệu và tốc độ, chất lượng cuộc gọi. Nó được xem như là một hệ thống ĐTDĐ thế hệ thứ hai (second generation, 2G). GSM là một chuẩn mở, hiện tại nó được phát triển bởi 3rd Generation Partnership Project (3GPP) Đứng về phía quan điểm khách hàng, lợi thế chính của GSM là chất lượng cuộc gọi tốt, giá thành thấp. Thuận lợi đối với nhà điều hành mạng là khả năng triển khai thiết bị từ nhiều người cung ứng. GSM cho phép nhà điều hành mạng triển khai các dịch vụ ở mọi nơi, vì thế người sử dụng có thể sử dụng điện thoại của họ ở khắp nơi trên thế giới.
Trang 1Phần I: Giới Thiệu
Phân công cán bộ hướng dẫn và phản biện
Nhiệm Vụ Đồ Án Tốt Nghiệp
Lời cảm ơn
Lời nói đầu
Nhận Xét Của Giáo Viên Hướng Dẫn
Nhận Xét Của Giáo Viên Phản Biện
Phần II: Nội Dung MỤC LỤC 1
LIỆT KÊ HÌNH 2
CHƯƠNG I: DẪN NHẬP 2
1.1 Đặt vấn đề: 2
1.2 Ý nghĩa của đề tài: 3
1.3 Mục đích đề tài: 3
1.4.Giới hạn đề tài: 3
1.5.Lập kế hoạch nghiên cứu: 4
CHƯƠNG II: TỔNG QUÁT VỀ HỆ THỐNG THÔNG TIN DI ĐỘNG GSM VÀ SMS 5
2.1.Sơ lược về mạng điện thoại di động GSM: 5
2.2.Giới thiệu về SMS: 7
CHƯƠNG III: GIỚI THIỆU MODULE SIM300CZ, TẬP LỆNH AT COMMAND 11
3.1 Giới thiệu module SIM300CZ: 11
3.2 Khảo sát tập lệnh AT của Module SIM300CZ: 15
CHƯƠNG IV: GIỚI THIỆU PIC 16F877A 22
4.1 Giới thiệu chung: 22
4.2 PIC16F877A: 26
CHƯƠNG V: GIỚI THIỆU VỀ LCD 42
5.1.Hình Dạng Và Kích Thước: 42
5.2.Chức năng các chân: 43
5.3.Sơ đồ khối của HD44780: 44
5.4 Tập Lệnh Của LCD: 46
5.5.Khởi tạo LCD: 48
5.6 LCD tutorial: 49
CHƯƠNG VI: THIẾT KẾ VÀ THI CÔNG 54
6.1 Phương án thiết kế: 54
6.2 Sơ đồ khối tổng quát của toàn hệ thống: 55
6.3 Sơ đồ nguyên lí các khối và tính toán lựa chọn linh kiện: 56
6.4 Nguyên tắc hoạt động : 60
CHƯƠNG VII: LƯU ĐỒ GIẢI THUẬT 63
7.1.Lưu đồ giải thuật: 63
CHƯƠNG VIII: KẾT LUẬN 69
Kết luận: 69
Trang 2Kết quả: 70
71 TÀI LIỆU THAM KHẢO 85
LIỆT KÊ HÌNH Hình 1: Cấu trúc của công nghệ GSM 6
Hình 2: Cách thành phần mạng GSM 6
Hình 3: Cấu trúc tin nhắn SMS 9
Hình 4: Module Sim300CZ 13
Hình 5: Sơ đồ chân của Module Sim300CZ 14
Hình 6: Kiến trúc Harvard và kiến trúc Von-Neumann 23
Hình 7: điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân 26
Hình 8: Sơ đồ khối vi điều khiển PIC16F877A 27
Hình 9: Sơ đồ bộ nhớ dữ liệu của PIC16F877A 29
Hình 10: Sơ đồ khối của timer 0 33
Hình 11: Sơ đồ khối của Timer1 34
Hình 12: Sơ đồ khối của Timer 2 35
Hình 13: Sơ đồ các chế độ reset của PIC16F877A 40
Hình 14: Sơ đồ logic của tất cả các ngắt trong vi điều khiển PIC16F877A 41
Hình 15: Hình dáng của hai loại LCD HD44780 thông dụng.1> 42
Hình dáng vHình 16: Sơ đồ chân của LCDà kích thước 42
Hình 17: Sơ đồ khối của HD44780 44
Hình 18: Giản đồ xung cập nhật AC 46
Hình 19: Giao diện LCD 4-bit 49
Hình 20: Kết nối phần cứng cho LCD 50
Hình 21: Giao thức phần mềm LCD 51
Hình 22: Sơ đồ khối hệ thống điều khiển thiết bị điện qua SMS 55
Hình 23: Sơ đồ nguyên lý mạch nguồn cung cấp cho toàn mạch 56
Hình 24: Sơ đồ nguyên lý Module Sim300CZ 57
Hình 25: Sơ đồ nguyên lý khối xử lí trung tâm 58
Hình 26: Lưu đồ giải thuật chương trình nội dung sms 66
Phần III: Phụ Lục 73
Trang 3PHẦN I
Trang 4ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
Trang 5Sinh viên thực hiện: Đỗ Quang Vịnh
Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01
I TÊN ĐỀ TÀI: ĐIỀU KHIỂN THIẾT BỊ QUA SMS
II NHIỆM VỤ VÀ NỘI DUNG:
1 Tìm hiểu và nghiên cứu Module SIM300CZ
Trang 6III NGÀY GIAO NHIỆM VỤ: 10/09/2012
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/01/2013
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS.Trần Thu Hà
LỜI CẢM ƠN
&
Nhóm thực hiện đề tài xin chân thành cảm ơn cô Trần Thu Hà đã tận tình hướng dẫn,
chỉ bảo, kinh nghiệm quý báu cũng như hỗ trợ phương tiện thí nghiệm trong suốt quá trìnhtìm hiểu, nghiên cứu đề tài
Đồng thời cũng chúng em xin cảm ơn các thầy cô trong Khoa Điện - Điện Tử đã tạo
điều kiện, cung cấp cho nhóm những kiến thức cơ bản, cần thiết để chúng em có điều kiện
và đủ kiến thức để thực hiện quá trình nghiên cứu
Đồng thời, nhóm cũng xin cám ơn các thành viên trong lớp 103010 đã có những ý kiếnđóng góp, bổ sung, giúp nhóm hoàn thành tốt đề tài
Ngoài ra, nhóm cũng đã nhận được sự chỉ bảo của các anh (chị) đi trước Các anh (chị)cũng đã hướng dẫn và giới thiệu tài liệu tham khảo thêm trong việc thực hiện nghiên cứu
Trân trọng
Trang 7Đỗ Quang Vịnh
Nguyễn Văn Thịnh
LỜI NÓI ĐẦU
Bước ngoặc quan trọng nhất trong lịch sử phát triển của ngành điện tử là sự phát hiện rabóng bán dẫn, với sự có mặt của linh kiện nhỏ bé này tương ứng với trạng thái bật – tắt, đã tạo
ra hàng loạt các thiết bị điện tử hiện đại như điện thoại di động, máy tính, máy nghe nhạc …Công nghệ chế tạo linh kiện bán dẫn trong những năm gần đây đã có những phát triển hết sứcmạnh mẽ, làm tiền đề cho sự bùng nổ của công nghệ thông tin, và sự tự động hóa trong côngnghiệp …
Ngày nay điện tử trở thành một ngành khoa học đa nhiệm vụ, đa chức năng Công nghệđiện tử trở thành một lĩnh vực không thể thiếu trong nền công nghiệp hiện đại Nó đáp ứng chonhững nhu cầu, những đòi hỏi ngày càng cao và không ngừng từ tất cả các lĩnh vực công-nông-ngư-nghiệp cho đến những nhu cầu thiết yếu trong đời sống hàng ngày của con người.Một trong những ứng dụng rất quan trọng và khá đặc trưng của công nghệ điện tử là kỹthuật tự động điều khiển từ xa Nó đã góp phần rất lớn trong việc điều khiển các thiết bị từ xa,được ứng dụng rộng rãi trong các lĩnh vực của đời sống Hiện nay, do nhu cầu sử dụng các hệ
Trang 8triển rộng khắp và các thiết bị điện thoại di động ngày càng có mức giá phù hợp với người dân.
Đó là những mặt thuận lợi của việc hình thành ý tưởng điều khiển các thiết bị bằng cách sử dụng tin nhắn SMS Đây là một hình thức điều khiển thiết bị thuận lợi, tiết kiệm được nhiều thời gian cho việc điều khiển thiết bị, và đặc biệt là tiết kiệm được chi phí khá cao
Xuất phát từ ý tưởng và tình hình thực tế nêu trên, chúng em đã quyết định tìm hiểu và thực hiện đề tài “ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA SMS”
TP.Hồ Chí Minh, ngày….tháng….năm 2013
Sinh viên thực hiện
Đỗ Quang Vịnh Nguyễn Văn Thịnh
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 9
Tp HCM, ngày tháng năm 2013 Giáo viên phản biện NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 10
Tp HCM, ngày tháng năm 2013
Giáo viên hướng dẫn
PHẦN II
Trang 12CHƯƠNG I: DẪN NHẬP
1.1 Đặt vấn đề:
Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật,công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai tròquan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấpthông tin Do đó là một sinh viên chuyên ngành Điện tử - Viễn thông chúng taphải biết nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sựphát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuậtđiện tử nói riêng
Như chúng ta cũng đã biết, gần như các thiết bị tự động trong nhà máy, trongđời sống của các gia đình ngày nay đều hoạt động độc lập với nhau, mỗi thiết bị cómột quy trình sử dụng khác nhau tuỳ thuộc vào sự thiết lập, cài đặt của người sửdụng Chúng chưa có một sự liên kết nào với nhau về mặt dữ liệu Nhưng đối với
hệ thống điều khiển thiết bị từ xa thông qua tin nhắn SMS thì lại khác Ở đây, cácthiết bị điều khiển tự động được kết nối với nhau thành một hệ thống hoàn chỉnhqua một một thiết bị trung tâm và có thể giao tiếp với nhau về mặt dữ liệu
Điển hình của một hệ thống điều khiển thiết bị trong nhà từ xa thông qua tinnhắn SMS gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến cácthiết bị tinh vi, phức tạp như tivi, máy giặt, hệ thống báo động … Nó hoạt độngnhư một ngôi nhà thông minh Nghĩa là tất cả các thiết bị này có thể giao tiếp vớinhau về mặt dữ liệu thông qua một đầu não trung tâm Đầu não trung tâm ở đây cóthể là một máy vi tính hoàn chỉnh hoặc có thể là một bộ xử lí đã được lập trình sẵntất cả các chương trình điều khiển Bình thường, các thiết bị trong ngôi nhà này cóthể được điều khiển từ xa thông qua các tin nhắn của chủ nhà Chẳng hạn như việctắt quạt, đèn điện … khi người chủ nhà quên chưa tắt trước khi ra khỏi nhà Haychỉ với một tin nhắn SMS, người chủ nhà có thể bật máy điều hòa để làm mátphòng trước khi về nhà trong một khoảng thời gian nhất định Bên cạnh đó nócũng gửi thông báo cho người điều khiển biết khi có người lạ đột nhập vào nhàthông qua hệ thống báo động dùng led thu phát hồng ngoại hay các bộ cảm biếnkhác bằng một tin nhắn cảnh báo Ngoài ra, hệ thống còn mang tính bảo mật.Nghĩa là chỉ có chủ nhà hay người biết mật khẩu của hệ thống thì mới điều khiểnđược
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộngvới sự hợp tác, phát triển mạnh mẽ của mạng di động nên chúng em đã chọn đề tài
" Điều khiển thiết bị điện qua SMS " để đáp ứng nhu cầu ngày càng cao của con
người và góp phần vào sự tiến bộ, văn minh, hiện đại của nước nhà
Trang 131.2 Ý nghĩa của đề tài:
Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử rađời ngày càng nhiều về chủng loại cũng như tính năng sử dụng Bên cạnh đó nhucầu sử dụng các thiết bị một cách tự động ngày càng cao, con người ngày càngmuốn có nhiều thiết bị giải trí cũng như các thiết bị sinh hoạt với kỹ thuật và côngnghệ cao Có thể ở Việt nam chưa phát triển mạnh mẽ trong lĩnh này nhưng hiệnnay ở trên thế giới, nhất là các quốc gia thuộc Châu Âu hay Mĩ thì mô hình ngôinhà tự động được điều khiển từ xa đã phát triển rất mạnh mẽ
Từ những nhu cầu thực tế đó, nhóm em muốn đưa một phần những kỹ thuậthiện đại của thế giới áp dụng vào điều kiện thực tế trong nước để có thể tạo ra một
hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắn SMS nhằm đápứng nhu cầu ngày càng cao của con người Đề tài lấy cơ sở là tin nhắn SMS đểđiều khiển thiết bị Việc sử dụng tin nhắn SMS để điều khiển thiết bị có thuận lợi
là tiết kiệm chi phí, mang tính cạnh tranh và cơ động cao (nghĩa là ở chỗ nào cóphủ sóng mạng điện thoại di động ta cũng có thể điều khiển thiết bị được) Ngoài
ra, sản phẩm của đề tài này có tính mở, có thể áp dụng cho nhiều đối tượng khácnhau trong dân dụng cũng như trong công nghiệp
1.3 Mục đích đề tài:
Đồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng nhữngkiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống điều khiển
tự động từ xa bằng tin nhắn SMS hoàn chỉnh Trước mắt là để hoàn thành nhiệm
vụ do nhà trường đề ra, đây là điều kiện để chúng em hoàn thành khóa học, đồngthời qua đề tài này chúng em cũng muốn kiểm tra lại kiến thức, khả năng tựnghiên cứu của bản, bước đầu tiếp xúc với thực tế, để chúng em tìm được mộtcông việc phù hợp sau khi tốt nghiệp
1.4 Giới hạn đề tài:
Do quỹ thời gian có hạn cũng như kiến thức còn nhiều hạn chế nên nhóm emchỉ tập trung nghiên cứu và thi công các phần sau:
- Điều khiển các thiết bị điện trong nhà (cụ thể là điều khiển một thiết bị
công suất trung bình) bằng tin nhắn SMS tại ví trí có phủ sóng của mạng điệnthoại di động như: Viettel, Mobile Phone, Vina Phone …
- Hiển thị nhiệt độ lên LCD.
- Giám sát trạng thái bật / tắt của các thiết bị.
- Tự động gửi tin nhắn cảnh báo đến người điều khiển khi có người đột
nhập hoặc là nhiệt độ lên cao
Trang 141.5 Lập kế hoạch nghiên cứu:
Để thực hiện đề tài này nhóm đã kết hợp sử dụng nhiều phương pháp vàphương tiện gồm có:
- Tham khảo tài liệu: kỹ thuật xung, kỹ thuật số, điện tử căn bản, vi điều
khiển…
- Tổng kết kinh nghiệm.
- Phương tiện: máy tính, internet, thư viện…
Kế hoạch nghiên cứu:
- Tuần 1: nhận đề tài, lập đề cương tổng quát, thu thập tài liệu và lập đề
cương chi tiết
- Tuần 2, 3, 4: thiết kế, thi công và viết báo cáo.
Trang 15CHƯƠNG II: TỔNG QUÁT VỀ HỆ THỐNG THÔNG TIN DI
ĐỘNG GSM VÀ SMS
2.1 Sơ lược về mạng điện thoại di động GSM:
2.1.1 Giới thiệu chung:
Hệ thống thông tin di động toàn cầu (Global System for MobileCommunications; viết tắt: GSM) là một công nghệ dùng cho mạng thông tin diđộng Dịch vụ GSM được sử dụng bởi hơn 2 tỷ người trên 212 quốc gia và vùnglãnh thổ Các mạng thông tin di động GSM cho phép có thể roaming với nhau do
đó những máy điện thoại di động GSM của các mạng GSM khác nhau có thể sửdụng được nhiều nơi trên thế giới GSM là chuẩn phổ biến nhất cho điện thoại diđộng (ĐTDĐ) trên thế giới Khả năng phát sóng rộng khắp nơi của chuẩn GSMlàm cho nó trở nên phổ biến trên thế giới, cho phép người sử dụng có thể sử dụngĐTDĐ của họ ở nhiều vùng trên thế giới GSM khác với các chuẩn tiền thân của
nó về cả tín hiệu và tốc độ, chất lượng cuộc gọi Nó được xem như là một hệthống ĐTDĐ thế hệ thứ hai (second generation, 2G) GSM là một chuẩn mở, hiệntại nó được phát triển bởi 3rd Generation Partnership Project (3GPP) Đứng vềphía quan điểm khách hàng, lợi thế chính của GSM là chất lượng cuộc gọi tốt, giáthành thấp Thuận lợi đối với nhà điều hành mạng là khả năng triển khai thiết bị từnhiều người cung ứng GSM cho phép nhà điều hành mạng triển khai các dịch vụ
ở mọi nơi, vì thế người sử dụng có thể sử dụng điện thoại của họ ở khắp nơi trênthế giới
2.1.2 Đặc điểm của công nghệ GSM:
- Cho phép gởi và nhận những mẫu tin nhắn văn bản bằng kí tự dài đến
126 kí tự
- Cho phép chuyển giao và nhận dữ liệu, FAX giữa các mạng GSM với
tốc độ hiện hành lên đến 9.600 bps
- Tính phủ sóng cao: Công nghệ GSM không chỉ cho phép chuyển giao
trong toàn mạng mà còn chuyển giao giữa các mạng GSM trên toàn cầu màkhông có một sự thay đổi, điều chỉnh nào Đây là một tính năng nổi bật nhất củacông nghệ GSM(dịch vụ roaming)
- Sử dụng công nghệ phân chia theo thời gian TDM (Time Division
Multiplexing ) để chia ra 8 kênh full rate hay 16 kênh haft rate
- Công suất phát của máy điện thoại được giới hạn tối đa là 2 watts đối
với băng tần GSM 850/900Mhz và tối đa là 1 watts đối với băng tần GSM1800/1900Mhz
- Mạng GSM sử dụng 2 kiểu mã hoá âm thanh để nén tín hiệu âm thanh
3,1khz đó là mã hoá 6 và 13kbps gọi là Full rate (13kbps) và haft rate (6kbps)
Trang 162.1.3 Cấu trúc mạng GSM:
2.1.3.1 Cấu trúc tổng quát:
Hình 1: Cấu trúc của công nghệ GSM
Hệ thống GSM được chia thành nhiều hệ thống con như sau:
- Phân hệ chuyển mạch NSS (Network Switching Subsystem)
- Phân hệ trạm gốc BSS (Base Station Subsystem)
- Phân hệ bảo dưỡng và khai thác OSS (Operation Subsystem)
- Trạm di động MS (Mobile Station)
2.1.3.2 Thành phần của mạng GSM:
Hình 2: Cách thành phần mạng GSM
Trang 17
2.1.4 Sự hình thành và phát triển GSM ở VN:
Công nghệ GSM đã vào Việt Nam từ năm 1993 Hiện, ba nhà cung cấp diđộng công nghệ GSM lớn nhất của Việt Nam là VinaPhone, MobiFone và Viettel,cũng là những nhà cung cấp chiếm thị phần nhiều nhất trên thị trường với sốlượng thuê bao mới tăng chóng mặt trong thời gian vừa qua
Hiện nay có đến hơn 85% người dùng hiện nay đang là khách hàng của cácnhà cung cấp dịch vụ theo công nghệ GSM
Cho tới thời điểm này, thị trường thông tin di động của Việt Nam đã cókhoảng 70 triệu thuê bao di động Khi mà ba “đại gia” di động của Việt Nam làVinaPhone, MobiFone và Viettel đều tăng trưởng rất nóng với số lượng thuê baomỗi ngày phát triển được lên tới hàng trăm ngàn thuê bao
2.2 Giới thiệu về SMS:
SMS là từ viết tắt của Short Message Service Đó là một công nghệ cho phépgửi và nhận các tin nhắn giữa các điện thoại với nhau SMS xuất hiện đầu tiên ởChâu Âu vào năm 1992 Ở thời điểm đó, nó bao gồm cả các chuẩn về GSM(Global System for Mobile Communications) Một thời gian sau đó, nó phát triểnsang công nghệ wireless như CDMA và TDMA Các chuẩn GSM và SMS cónguồn gốc phát triển bởi ETSI ETSI là chữ viết tắt của EuropeanTelecommunications Standards Institute Ngày nay thì 3GPP (Third GenerationPartnership Project) đang giữ vai trò kiểm soát về sự phát triển và duy trì cácchuẩn GSM và SMS
Như đã nói ở trên về tên đầy đủ của SMS là Short Message Service, từ cụm
từ đó, có thể thấy được là dữ liệu có thể được lưu giữ bởi một tin nhắn SMS là rấtgiới hạn Một tin nhắn SMS có thể chứa tối đa là 140 byte (1120 bit) dữ liệu Vìvậy, một tin nhắn SMS chỉ có thể chứa :
- 160 kí tự nếu như mã hóa kí tự 7 bit được sử dụng (mã hóa kí tự 7 bit
thì phù hợp với mã hóa các kí tự Latin chẳng hạn như các kí tự Alphabet của tiếngAnh)
- 70 kí tự nếu như mã hóa kí tự 16 bit Unicode UCS2 được sử dụng (các
tin nhắn SMS không chứa các kí tự Latin như kí tự chữ Trung Quốc phải sử dụng
mã hóa kí tự 16 bit)
Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau Nó có thể hoạtđộng tốt với nhiều ngôn ngữ mà có hỗ trợ mã Unicode, bao gồm cả Arabic, TrungQuốc, Nhật bản và Hàn Quốc Bên cạnh gửi tin nhắn dạng text thì tin nhắn SMScòn có thể mang các dữ liệu dạng binary Nó còn cho phép gửi nhạc chuông, hìnhảnh cùng nhiều tiện ích khác … tới một điện thoại khác
Một trong những ưu điểm nổi trội của SMS đó là nó được hỗ trợ bởi các điệnthoại có sử dụng GSM hoàn toàn Hầu hết tất cả các tiện ích cộng thêm gồm cảdịch vụ gửi tin nhắn giá rẻ được cung cấp, sử dụng thông qua sóng mang wireless
Trang 18Không giống như SMS, các công nghệ mobile như WAP và mobile Java thì khôngđược hỗ trợ trên nhiều model điện thoại.
Sử dụng tin nhắn SMS ngày càng phát triển và trở lên rộng khắp:
- Các tin nhắn SMS có thể được gửi và đọc tại bất kỳ thời điểm nào.
Ngày nay, hầu hết mọi người đều có điện thoại di động của riêng mình vàmang nó theo người hầu như cả ngày Với một điện thoại di động , bạn có thể gửi
và đọc các tin nhắn SMS bất cứ lúc nào bạn muốn, sẽ không gặp khó khăn gì khibạn đang ở trong văn phòng hay trên xe bus hay ở nhà…
- Tin nhắn SMS có thể được gửi tới các điện thoại mà tắt nguồn.
Nếu như không chắc cho một cuộc gọi nào đó thì bạn có thể gửi một tin nhắnSMS đến bạn của bạn thậm chí khi người đó tắt nguồn máy điện thoại trong lúcbạn gửi tin nhắn đó Hệ thống SMS của mạng điện thoại sẽ lưu trữ tin nhắn đó rồisau đó gửi nó tới người bạn đó khi điện thoại của người bạn này mở nguồn
- Các tin nhắn SMS ít gây phiền phức trong khi bạn vẫn có thể giữ liên
lạc với người khác
Việc đọc và viết các tin nhắn SMS không gây ra ồn ào Trong khi đó, bạnphải chạy ra ngoài khỏi rạp hát, thư viện hay một nơi nào đó để thực hiện mộtcuộc điện thoại hay trả lời một cuộc gọi Bạn không cần phải làm như vậy nếu nhưtin nhắn SMS được sử dụng
- Các điện thoại di động và chúng có thể được thay đổi giữa các sóng
mang Wireless khác nhau
Tin nhắn SMS là một công nghệ rất thành công và trưởng thành Tất cả cácđiện thoại mobile ngày nay đều có hỗ trợ nó Bạn không chỉ có thể trao đổi các tinnhắn SMS đối với người sử dụng mobile ở cùng một nhà cung cấp dịch vụ mạngsóng mang wireless, mà đồng thời bạn cũng có thể trao đổi nó với người sử dụngkhác ở các nhà cung cấp dịch vụ khác
- SMS là một công nghệ phù hợp với các ứng dụng Wireless sử dụng
cùng với nó
Nói như vậy là do:
- Thứ nhất, tin nhắn SMS được hỗ trợ 100% bởi các điện thoại có sử
dụng công nghệ GSM Xây dựng các ứng dụng wireless trên nền công nghệ SMS
có thể phát huy tối đa những ứng dụng có thể dành cho người sử dụng
- Thứ hai, các tin nhắn SMS còn tương thích với việc mang các dữ liệu
binary bên cạnh gửi các text Nó có thể được sử dụng để gửi nhạc chuông, hìnhảnh, hoạt họa …
- Thứ ba, tin nhắn SMS hỗ trợ việc chi trả các dịch vụ trực tuyến
2.2.1 Cấu trúc của 1 tin nhắn:
Nội dung của một tin nhắn SMS khi được gửi đi sẽ được chia làm 5 phần nhưsau:
Trang 19Hình 3: Cấu trúc tin nhắn SMS.
- Instructions to air interface: Chỉ thị dữ liệu kết nối với air interface (giao
diện không khí)
- Instructions to SMSC: Chỉ thị dữ liệu kết nối với trung tâm tin nhắn
SMSC (Short Message Service Centre)
- Instructions to handset: Chỉ thị dữ liệu kết nối bắt tay
- Instructions to SIM (optional) : Chỉ thị dữ liệu kết nối, nhận biết SIM
(Subscriber Identity Modules)
Message body: Nội dung tin nhắn SMS
2.2.2 Tin nhắn chuỗi-tin nhắn SMS dài:
Một trong những trở ngại của công nghệ SMS là tin nhắn SMS chỉ có thểmang một lượng giới hạn các dữ liệu Để khắc phục trở ngại này, một mở rộng của
nó gọi là SMS chuỗi (hay SMS dài) đã ra đời Một tin nhắn SMS dạng text dài
có thể chứa nhiều hơn 160 kí tự theo chuẩn dùng trong tiếng Anh Cơ cấu hoạtđộng cơ bản SMS chuỗi làm việc như sau: điện thoại di động của người gửi sẽchia tin nhắn dài ra thành nhiều phần nhỏ và sau đó gửi các phần nhỏ này như mộttin nhắn SMS đơn Khi các tin nhắn SMS này đã được gửi tới đích hoàn toàn thì
nó sẽ được kết hợp lại với nhau trên máy di động của người nhận
Khó khăn của SMS chuỗi là nó ít được hỗ trợ nhiều so với SMS ở các thiết bị
có sử dụng sóng wireless
2.2.3 SMS CENTER/SMSC:
Một SMS Center (SMSC) là nơi chịu trách nhiệm luân chuyển các hoạt độngliên quan tới SMS của một mạng wireless Khi một tin nhắn SMS được gửi đi từmột điện thoại di động thì trước tiên nó sẽ được gửi tới một trung tâm SMS Sau
đó, trung tâm SMS này sẽ chuyển tin nhắn này tới đích (người nhận) Một tinnhắn SMS có thể phải đi qua nhiều hơn một thực thể mạng (netwok) (chẳng hạnnhư SMSC và SMS gateway) trước khi đi tới đích thực sự của nó Nhiệm vụ duynhất của một SMSC là luân chuyển các tin nhắn SMS và điều chỉnh quá trình nàycho đúng với chu trình của nó Nếu như máy điện thoại của người nhận không ởtrạng thái nhận (bật nguồn) trong lúc gửi thì SMSC sẽ lưu trữ tin nhắn này Và khi
Trang 20máy điện thoại của người nhận mở nguồn thì nó sẽ gửi tin nhắn này tới ngườinhận.
Thường thì một SMSC sẽ họat động một cách chuyên dụng để chuyển lưuthông SMS của một mạng wireless Hệ thống vận hành mạng luôn luôn quản líSMSC của riêng nó và vị trí của chúng bên trong hệ thống mạng wireless Tuynhiên hệ thống vận hành mạng sẽ sử dụng một SMSC thứ ba có vị trí bên ngoàicủa hệ thống mạng wireless
Bạn phải biết địa chỉ SMSC của hệ thống vận hành mạng wireless để sửdụng, tinh chỉnh chức năng tin nhắn SMS trên điện thoại của bạn Điển hình mộtđịa chỉ SMSC là một số điện thoại thông thường ở hình thức, khuôn mẫu quốc tế.Một điện thoại nên có một thực đơn chọn lựa để cấu hình địa chỉ SMSC Thôngthường thì địa chỉ được điều chỉnh lại trong thẻ SIM bởi hệ thống mạng wireless.Điều này có nghĩa là bạn không cần phải làm bất cứ thay đổi nào cả
2.2.4 Nhắn tin SMS quốc tế:
Các tin nhắn SMS giữa các nhà điều hành được chia ra làm hai hạng mụcgồm tin nhắn SMS giữa các nhà điều hành cục bộ và tin nhắn SMS giữa các nhàđiều hành quốc tế với nhau Tin nhắn SMS giữa các nhà điều hành cục bộ là tinnhắn mà được gửi giữa các nhà điều hành trog cùng một quốc gia còn tin nhắnSMS giữa các nhà điều hành quốc tế là tin nhắn SMS được gửi giữa các nhà điềuhành mạng wireless ở những quốc gia khác nhau
Thường thì chi phí để gửi một tin nhắn SMS quốc tế thì cao hơn so với gửitrong nước Và chi phí gửi tin nhắn trong nội mạng thì ít hơn so với gửi cho mạngkhác trong cùng một quốc gia
Khả năng kết hợp của tin nhắn SMS giữa hai mạng wireless cục bộ hay thậmchí là quốc tế là một nhân tố chính góp phần tới sự phát triển mạnh mẽ của hệthống SMS toàn cầu
Trang 21CHƯƠNG III: GIỚI THIỆU MODULE SIM300CZ, TẬP
LỆNH AT COMMAND.
3.1 Giới thiệu module SIM300CZ:
Các modem được sử dụng từ những ngày đầu của sự ra đời máy tính TừModem là một từ được hình thành từ hai từ Modulator và Demodulator Và địnhnghĩ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àmcá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ế theocái cách mà nó có thể được truyền dữ liệu qua các đường dây truyền dẫn Ở mộtmặt khác của đường dây, một modem khác thứ hai điều chế dữ liệu đến và xúctiến, duy trì nó
Các modem ngày xưa chỉ tương thích cho việc gửi nhận dữ liệu Để thiết lậpmột kết nối thì một thiết bị thứ hai như một dialer được cần đến Đôi khi kết nốicũng được thiết lập bằng tay bằng cách quay số điện thoại tương ứng và một khimodem được bật thì kết nối coi như được thực thi Các máy tính loại nhỏ ở cácnăm 70 thâm nhập vào thị trường là các gia đình, cùng với chi phí thì sự thiếu hụt
về kiến thức kỹ thuật trở thành một vấn đề nan giải
Một modem GSM là một modem wireless, nó làm việc cùng với một mạngwireless GSM Một modem wireless thì cũng hoạt động giống như một modemquay số Điểm khác nhau chính ở đây là modem quay số thì truyền và nhận dữ liệuthô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 có 1 thẻsim với một mạng wireless để hoạt động
Module Sim300CZ là một trong những loại modem GSM Nó sử dụng côngnghệ GSM/GPRS hoạt động ở băng tần EGSM 900Mhz, DCS 1800 Mhz và PCS1900Mhz, tính năng GPRS của Sim 300CZ có nhiều lớp:
- 8 lớp điện dung
- 10 lớp điện dung
Và hỗ trợ GPRS theo dạng đồ thị mã hóa CS-1, CS-2, CS-3 và CS-4
3.1.1 Đặc điểm module SIM300CZ:
- Nguồn cung cấp khoảng 3,4 – 4,5V
- Nguồn lưu trữ
- Băng tần
• EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, Sim300CZ cóthể tự động tìm kiếm các băng tần
• Phù hợp với GSM Pha 2/2+
Trang 22• 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 300CZ hổ trợ giao thức PAP, kiểu sử dụng kết nối PPP
• Sim 300CZ 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
• 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: 7 Cổng nối tiếp( ghép nối)
• Cổng kết nối có thể sử dụng với CSD Fax, GPRS và gửi lệnh
AT Command tới mudule điều khiển
• Cổng nối tiếp có thể sử dụng chức năng giao tiếp
Trang 23• Hỗ trợ tốc độ truyền 1200bps tới 115200bps
• 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
- Sim Application toolkit:
Trang 243.1.2 Khảo sát sơ đồ chân và chức năng từng chân của module
Hình 5: Sơ đồ chân của Module Sim300CZ
- Chân 1, 3,5,7,9: được dành riêng để kết nối tới nguồn cung cấp, nguồncung cấp của Sim300CZ là nguồn đơn VBAT là 3,4 V – 4,5 V
- Chân 2,4,6,8,10: các chân nối đất
- Chân 11 (VCHG): điện áp ngõ vào cho mạch sạc pin.
- Chân 12 (ADC): Chân vào của bộ chuyển đổi tín hiệu tương tự sang số
- Chân 13 (TEMP-BAT):
- Chân 14 ( VRTC): điện áp cho bộ thời gian thực khi không có nguồn
cung cấp
- Chân 15 (VCC-EXT): chân cấp nguồn 2.93V, được dùng trong chức
năng bật hoặc là tắt SIM
- Chân 16 ( NETLIGHT): đầu ra dùng để chỉ báo mạng kết nối được hệ
thống
- Chân 17 (PWRKEY): chân này dùng để điều khiển hệ thống bật/tắt
- Chân 18, 20, 22, 24, 26 (KBC): bàn phím.
- Chân 19 (STATUS): báo trạng thái hoạt động.
- Chân 21, 35 (GPIO):Normal input/output port
- Chân 23 (BUZZER): đầu ra chuông
- Chân 25 ( SIM VCC): nguồn cung cấp cho thẻ sim.
- Chân 27 ( SIM RST):chân reset cho mạch sim
- Chân 28, 30, 32, 34, 36 ( KBR ):chân kết nối với bàn phím
Trang 25- Chân 29 ( SIM DATA) : đầu ra dữ liệu chân sim
- Chân 31 ( SIM CLK ): chân thời gian của sim
- Chân 33 (SIM PRESENCE ):chân dò tìm mạng
- Chân 37 (DCD): đưa dữ liệu ra sóng mang
- Chân 38 (DISP CS): hiển thị giao diện
- Chân 40 (DISP CLK): hiển thị giao diện
- Chân 42 (DISP DATA ): hiển thị giao diện
- Chân 44 (DISP D/C ): hiển thị giao diện
- Chân 46 ( DISP RST ): chân ra giao tiếp với màn hình
- Chân 39 ( DTR ): chân đầu cuối dữ liệu
- Chân 41 (RXD ): chân nhận dữ liệu
- Chân 43 (TXD ): chân truyền dữ liệu.
- Chân 45 ( RTS ): chân yêu cần gửi liệu.
- Chân 47 ( CTS ): Chân hủy gửi dữ liệu
- Chân 49 ( RI ): chỉ báo chuông
- Chân 48 ( DBG RXD ): đầu ra dùng để điều chỉnh trong nhận dữ liệu
- Chân 50 ( DBG TXD ): đầu ra dùng để điều chỉnh trong truyền dữ liệu
- Chân 51, 51 ( AGND ): chân nối đất
- Chân 53 ( SPK1P), 55 ( SPK1N ): chân output MIC.
- Chân 54 ( MIC1P ), 56 ( MIC1N ): chân input MIC.
- Chân 57 ( SPK2P ), 59 ( SPK2N): chân output MIC.
- Chân 58 ( MIC2P ), 60 ( MIC2N ):chân input MC.
3.2 Khảo sát tập lệnh AT của Module SIM300CZ:
Các modem được sử dụng từ những ngày đầu 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à địnhnghĩ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àmcá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ế theocái cách mà nó có thể được truyền dữ liệu qua các đường dây truyền dẫn Ở mộtmặ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, duytrì nó
Khi chúng ta xem trong RS232 thì chuẩn RS232 miêu tả một kênh tryuềnthông với bộ kết nối 25 chân DB25, nó được thiết kế để thực thi quá trình truyềncá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 quaymột số điện thoại nào đó Đó 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ềnthô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
Trang 26nhất Dennis Hayes đã đưa ra giải pháp cho vấn đề này trong năm 1977 Modemthông minh( Smartmodem ) của ông sử dụng chuẩn truyền thông RS232 đơn giảnkế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 đầuvới chữ AT trong chữ Attention nên ngôn ngữ điều khiển được định nghĩa bởiHayes nhanh chóng đượcc 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ứcnă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 chongôn ngữ lệnh Hayes AT càng phức tạp Vì thế nhanh chóng mỗi nhà sản xuấtmodem đã 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
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 nố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ư: 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( 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 pin và mức sạc của pin
- Đọc, viết và tìm kiếm về các mục danh bạ
3.2.1 Các lệnh khởi tạo GSM Module Sim300CZ:
- Lệnh AT<cr>
Nếu lệnh thực hiện đựợc thì trả về:
Ok
Trang 27Bắ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 textNế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 Sim300CZ
Nếu lệnh không thực hiện được thì trả về dạng:
Trang 28<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 textNếu như lệnh được thực hiện thì kiểu dữ liệu trả về dưới dạng text ( mode=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>
- Lệnh viết tin nhắn rồi lưu vào ngăn nhớ:
AT+CMGW
Trang 29Nếu viết tin nhắn dưới dạng text:
AT+CMGW=[<oa/da>[,<tooa/toda>[,<stat>]]]<CR>text is entered 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>]
OKDạng PDU: +CMGS: <mr> [,<ackpdu>]
OK Nếu lệnh bị lỗi:
- AT+CGQMIN: chất lượng dich vụ ở mức thấp nhất
- 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
Trang 30<IP address> : địa chỉ IP của người điều khiển từ xa
3.2.7 Các lệnh kiểm 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ạngthái đăng kí mạng mobile (AT+CREG), chiều dài sóng radio (AT+CSQ), mức sạcpin và trạng thái sạc pin (AT+CBC)
- Đọc (AT+CPBR), viết (AT+CPBW) hay tìm kiếm (AT+CPBF) các mục
về danh bạ điện thoại (phonebook)
Trang 31- 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óahay 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ềntin (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)
- Lưu và phục hồi các cấu hình của điện thoại di động hay modem
GSM/GPRS Ví du, lưu (AT+COPS) và phục hồi (AT+CRES) các thiết lập liên quan tới tin nhắn SMS chẳng hạn như địa chỉ trung tâm tin nhắn SMS
Trang 32CHƯƠNG IV: GIỚI THIỆU PIC 16F877A
4.1 Giới thiệu chung:
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là
“máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điềukhiển đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho
vi điều khiển CPU1600 Vi điều khiển này sau đó được nghiên cứu phát triển thêm
và từ đó hình thành nên dòng vi điều khiển PIC ngày nay
4.1.1 Sự phổ biến của vi điều khiển PIC:
Trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC,AVR, ARM Tuy nhiên, hiện nay PIC đang được sử dụng rộng rãi ở Việt Nam vìnhững nguyên nhân sau:
- Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam
- Giá thành không quá đắt
- Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập
- Là sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điềukhiển mang tính truyền thống: họ vi điều khiển 8051
- Hiện nay tại Việt Nam cũng như trên thế giới, PIC được sử dụng khárộng rãi Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển cácứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở đã được phát triểnthành công, dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khókhăn…
- Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạpchương trình từ đơn giản đến phức tạp…
- Các tính năng đa dạng của vi điều khiển PIC không ngừng được pháttriển
4.1.2 Kiến trúc PIC:
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiếntrúc: kiến trúc Von-Neumann và kiến trúc Harvard
Trang 33Hình 6: Kiến trúc Harvard và kiến
trúc Von-Neumann
Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Harvard Điểm khácbiệt giữa kiến trúc Harvard và kiến trúc Von-Neumann là cấu trúc bộ nhớ dữ liệu
và bộ nhớ chương trình
Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằmchung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộnhớ chương trình và bộ nhớ dữ liệu Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ
xử lí của CPU phải rất cao,vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ
có thể tương tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình Như vậy có thể nóikiến trúc Von-Neumann không thích hợp với cấu trúc của một vi điều khiển Đối với kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình tách rathành hai bộ nhớ riêng biệt Do đó trong cùng một thời điểm CPU có thể tương tácvới cả hai bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể.Một điểm cần chú ý nữa là tập lệnh trong kiến trúc Harvard có thể được tối ưu tùytheo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu
Ví dụ, đối với vi điều khiển dòng 16Fxxx, độ dài lệnh luôn là 14 bit (trong khi dữliệu được tổ chức thành từng byte), còn đối với kiến trúc Von-Neumann, độ dàilệnh luôn là bội số của 1 byte (do dữ liệu được tổ chức thành từng byte) Đặc điểmnày được minh họa cụ thể trong hình 4.1
4.1.3 RISC và CISC:
Như đã trình bày ở trên, kiến trúc Harvard là khái niệm mới hơn so với kiếntrúc Von-Neumann Khái niệm này được hình thành nhằm cải tiến tốc độ thực thicủa một vi điều khiển Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữliệu, bus chương trình và bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộnhớ chương trình và bộ nhớ dữ liệu, giúp tăng tốc độ xử lí của vi điều khiển lêngấp đôi Đồng thời cấu trúc lệnh không còn phụ thuộc vào cấu trúc dữ liệu nữa mà
có thể linh động điều chỉnh tùy theo khả năng và tốc độ của từng vi điều khiển Và
để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh của họ vi điều khiển PIC được
Trang 34thiết kế sao cho chiều dài mã lệnh luôn cố định (ví dụ đối với họ 16Fxxxx chiềudài mã lệnh luôn là 14 bit) và cho phép thực thi lệnh trong một chu kì của xungclock ( ngoại trừ một số trường hợp đặc biệt như lệnh nhảy, lệnh gọi chương trìnhcon … cần hai chu kì xung đồng hồ) Điều này có nghĩa tập lệnh của vi điều khiểnthuộc cấu trúc Harvard sẽ ít lệnh hơn, ngắn hơn, đơn giản hơn để đáp ứng yêu cầu
mã hóa lệnh bằng một số lượng bit nhất định Vi điều khiển được tổ chức theokiến trúc Harvard còn được gọi là vi điều khiển RISC (Reduced Instruction SetComputer) hay vi điều khiển có tập lệnh rút gọn Vi điều khiển được thiết kế theokiến trúc Von-Neuman còn được gọi là vi điều khiển CISC (Complex InstructionSet Computer) hay vi điều khiển có tập lệnh phức tạp vì mã lệnh của nó khôngphải là một số cố định mà luôn là bội số của 8 bit (1 byte)
4.1.4 PIPELINING :
Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC Một chu kì lệnhcủa vi điều khiển sẽ bao gồm 4 xung clock Ví dụ ta sử dụng oscillator có tần số 4MHZ, thì xung lệnh sẽ có tần số 1 MHz (chu kì lệnh sẽ là 1 us) Giả sử ta có mộtđoạn chương trình như sau:
2 MOVWFPORTB
3 CALL SUB_1
5 instruction @ address SUB_1
Ở đây ta chỉ bàn đến qui trình vi điều khiển xử lí đoạn chương trình trênthông qua từng chu kì lệnh Quá trình trên sẽ được thực thi như sau:
TCY0: đọc lệnh 1
TCY1:thực thi lệnh 1, đọc lệnh 2
TCY2: thực thi lệnh 2, đọc lệnh 3
TCY3: thực thi lệnh 3, đọc lệnh 4
- TCY4: vì lệnh 4 không phải là lệnh sẽ được thực thi theo qui trình thực
thi của chương trình (lệnh tiếp theo được thực thi phải là lệnh đầu tiên tại label
Trang 35SUB_1) nên chu kì thực thi lệnh này chỉ được dùng để đọc lệnh đầu tiên tại labelSUB_1 Như vậy có thể xem lệnh 3 cần 2 chu kì xung clock để thực thi
- TCY5: thực thi lệnh đầu tiên của SUB_1 và đọc lệnh tiếp theo của
4.1.5 Các dòng PIC và cách lựa chọn PIC:
Các kí hiệu của vi điều khiển PIC:
- PIC12xxxx: độ dài lệnh 12 bit
- PIC16xxxx: độ dài lệnh 14 bit
- PIC18xxxx: độ dài lệnh 16 bit
- C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)
Cách lựa chọn PIC:
Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng
Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điềukhiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44 … chân
Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trìnhđược nhiều lần hơn Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵntrong vi điều khiển, các chuẩn giao tiếp bên trong Sau cùng cần chú ý đến bộ nhớchương trình mà vi điều khiển cho phép Ngoài ra mọi thông tin về cách lựa chọn
vi điều khiển PIC có thể được tìm thấy trong cuốn sách “Select PIC guide” do nhàsản xuất Microchip cung cấp
Trang 364.1.6 Ngôn ngữ lập trình PIC:
Ngôn ngữ lập trình cho PIC rất đa dạng Ngôn ngữ lập trình cấp thấp cóMPLAB (được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lậptrình cấp cao hơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữlập trình được phát triển dành riêng cho PIC như PICBasic, MikroBasic…
4.2.2.1 Một vài thông số về PIC:
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạt độngtối đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương trình8Kx14 bit, bộ nhớ dữ liệu 368 byte RAM và bộ nhớ dữ liệu EEPROM với dunglượng 256 byte Số PORT I/O là 5 với 33 pin I/O
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
- Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng
đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
- Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
- Hai bộ Capture/so sánh/điều chế độ rông xung.
- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.
- Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
Trang 37- Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều
khiển RD, WR, CS ở bên ngoài
Các đặc tính Analog:
- 8 kênh chuyển đổi ADC 10 bit.
- Hai bộ so sánh.
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.
- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân
- Watchdog Timer với bộ dao động trong.
- Chức năng bảo mật mã chương trình.
- Chế độ Sleep.
- Có thể hoạt động với nhiều dạng Oscillator khác nhau.
4.2.2.2 Sơ đồ khối của PIC16F877A:
Hình 8: Sơ đồ khối vi điều khiển PIC16F877A
Trang 38Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h(Reset vector) Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h(Interrupt vector) Bộ nhớ chương trình không bao gồm bộ nhớ stack và khôngđược địa chỉ hóa bởi bộ đếm chương trình.
- Bộ nhớ dữ liệu
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank.Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank Mỗi bank có dunglượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFG (SpecialFunction Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chungGPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank Các thanhghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ởtất cà các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làmgiảm bớt lệnh của chương trình Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A nhưsau:
Trang 39Hình 9: Sơ đồ bộ nhớ dữ liệu của PIC16F877A
- Thanh ghi chức năng đặc biệt SFR:
Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập vàđiều khiển các khối chức năng được tích hợp bên trong vi điều khiển Có thể phânthanh ghi SFR làm hai lọai: thanh ghi SFR liên quan đến các chức năng bên trong(CPU) và thanh ghi SRF dùng để thiết lập và điều khiển các khối chức năng bênngoài (ví dụ như ADC, PWM …)
Thanh ghi STATUS (03h, 83h, 103h, 183h):thanh ghi chứa kết quả thực hiệnphép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy xuất trong
bộ nhớ dữ liệu
Trang 40Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và ghi,cho phép điều khiển chức năng pull-up của các chân trong PORTB, xác lập cáctham số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Timer0.
Thanh ghi INTCON (0Bh, 8Bh,10Bh, 18Bh):thanh ghi cho phép đọc và ghi,chứa các bit điều khiển và các bit cờ hiệu khi timer0 bị tràn, ngắt ngoại viRB0/INT và ngắt interrputon- change tại các chân của PORTB.
Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của các khốichức năng ngoại vi
Thanh ghi PIR1 (0Ch) chứa cờ ngắt của các khối chức năng ngoại vi, cácngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1.
Thanh ghi PIE2 (8Dh): chứa các bit điều khiển các ngắt của các khối chứcnăng CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM
Thanh ghi PIR2 (0Dh): chứa các cờ ngắt của các khối chức năng ngoại vi,các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2
Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế độ resetcủa vi điều khiển
- Thanh ghi mục đích chung GPR:
Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông quathanh ghi FSG (File Select Register) Đây là các thanh ghi dữ liệu thông thường,