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ấp thông tin.... Do đó là một sinh viên chuyên ngành Điện tử Viễn thông chúng ta phả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ác thiế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ỉnh qua 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.
Trang 1MỞ ĐẦU
1 Lý do lựa chọn đề tài
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ấp
thông tin Do đó là một sinh viên chuyên ngành Điện tử - Viễn thông chúng ta
phả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áttriể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ác thiết bị điềukhiển tự động được kết nối với nhau thành một hệ thống hoàn chỉnh qua 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ác thiết
bị tinh vi, phức tạp như tivi, máy giặt, hệ thống báo động… Nó hoạt động như mộtngôi nhà thông minh Nghĩa là tất cả các thiết bị này có thể giao tiếp với nhau 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ẵn tất cả các chươngtrì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ệc tắt quạt, đèn điện….Khi người chủ nhà quên chưa tắt trước khi ra khỏi nhà Hay chỉ 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át phòng trước khi về nhà trong mộtkhoảng thời gian nhất định 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
"Nghiên cứu, thiết kế, chế tạo bộ điều khiển thiết bị từ xa bằng điện thoại di động, module sim 900, AVR và máy tính" để đá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à
2 Phạm vi nghiên cứu của đề tài
Tập trung nghiên cứu, phân tích bộ điều khiển thiết bị từ xa bằng điện thoại diđộng, đưa ra các phương án và lựa chọn ra phương án tối ưu để thiết kế, chế tạo bộđiều khiển thiết bị từ xa, module sim 900, AVR và máy tính
Nghiên cứu các vấn đề liên quan đến các phương pháp điều khiển thiết bị từ xabằng điện thoại di động, đưa tín hiệu báo về vi điều khiển và từ vi điều khiển đưa ra tínhiệu xử lý
Trang 2Nghiên cứu về module sim 900 và cách lập trình giao tiếp, điều khiển modulethực hiện chức năng bật tắt đèn.
Nghiên cứu, lập trình giao tiếp giữa AVR và máy tính
3 Đối tượng nghiên cứu của đề tài
- Các phương pháp điều khiển thiết bị từ xa bằng điện thoại di động.
- Các tài liệu liên quan đến kỹ thuật vi điều khiển atmega 16.
- Nghiên cứu về giao tiếp vi điều khiển atmega 16 với các thiết bị ngoại vi như
máy tính, cổng truyền thông nối tiếp điều khiển module sim 900
- Nghiên cứu module sim 900, cấu trúc và tập lệnh.
4 Mục đích nghiên cứu của đề tài
- Nhằm trang bị cho bản thân những kiến thức chuyên ngành một cách sâu rộng
về vi điều khiển cũng như về bộ điều khiển thiết bị từ xa bằng điện thoại di động,module sim 900, AVR và máy tính
- Nhằm hệ thống hóa được nhiều kiến thức đã học
- Có cơ hội nâng cao tư duy độc lập cũng như khả năng làm việc nhóm để
nghiên cứu và thiết kế ra những sản phẩm đáp ứng nhu cầu của xã hội
5 Phương pháp nghiên cứu của đề tài
Phương pháp nghiên cứu tài liệu: Tìm hiểu các tài liệu trên sách vở, trên mạnginternet về lĩnh vực điều khiển từ xa bằng điện thoại di động và lập trình vi điều khiển
để đưa ra cơ sở lý thuyết về quá trình thiết kế, chế tạo bộ điều khiển từ xa bằng điệnthoại di động, module sim 900, AVR và máy tính
Phương pháp thực nghiệm: Thiết kế, chế tạo bộ điều khiển thiết bị từ xa bằngđiện thoại di động, module sim 900, AVR và máy tính Xây dựng chương trình điềukhiển hoạt động của hệ thống Chạy thử, hiệu chỉnh, giám sát và đánh giá kết quả của
hệ thống
Tham khảo ý kiến của thầy cô và các anh chị khóa trước về các lĩnh vực thuộcchuyên ngành điện tử
6 Ý nghĩa khoa học 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 đờingày càng nhiều về chủng loại cũng như tính năng sử dụng Bên cạnh đó nhu cầ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àng muốn có nhiềuthiết bị giải trí cũng như các thiết bị sinh hoạt với kỹ thuật công nghệ ngày càng cao
Từ những nhu cầu thực tế đó, chúng em mong muốn đưa một phần 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ị từ xa bằng điện thoại di động nhằm đáp ứng nhu cầu nângcao của con người Đề tài lấy cơ sở là điều khiển thiết bị từ xa bằng điện thoại di động.Việc sử dụng hệ thống này có thuận lợi là giới hạn về khoảng cách bị loại bỏ, mangtí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ể nhận được tín hiệu) Ngoài ra, sản phẩm của đề tài này có tính mở,
có thể mở rộng và áp dụng cho nhiều đối tượng khác nhau trong dân dụng cũng nhưtrong công nghiệp
Trang 3Tài liệu tham khảo
Phụ lục
Trang 4NỘI DUNG CHƯƠNG I: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI
1.1 Vi điều khiển AVR - ATMEGA 16
1.1.1 Giới thiệu tổng quan
Vi điều khiển AVR do hãng Atmel (Hoa Kỳ) sản xuất được giới thiệu lần đầutiên vào năm 1996 AVR có rất nhiều dòng khác nhau bao gồm dòng Tiny (như At tiny
13, At tiny 22…) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi, rồi đến dòng AVR(chẳng hạn AT90S8535, AT90S8515…) có kích thước bộ nhớ vào loại trung bình vàmạnh hơn là dòng Mega (như ATmega 16, ATmega 32, ATmega 128…) với bộ nhớ
có kích thước vài Kbyte đến vài trăm Kb cùng với bộ ngoại vi đa dạng được tích hợp
cả bộ LCD trên chip (dòng LCD AVR) Tốc độ của dòng Mega cũng cao hơn so vớicác dòng khác Sự khác nhau cơ bản giữa các dòng là cấu trúc ngoại vi, còn nhân thìvẫn như nhau
ATmega 16 là một loại vi điều khiển có tính năng đặc biệt thích hợp cho việcgiải quyết những bài toán điều khiển trên nền vi xử lý:
- Các loại vi điều khiển AVR rất phổ biến trên thị trường Việt Nam nên không
khó khăn trong việc thay thế và sửa chữa hệ thống lúc cần
- Giá thành thấp.
- Các phần mềm lập trình và mã nguồn mở có thể tìm kiếm khá dễ dàng trên
mạng Các thiết kế demo nhiều nên có nhiều gợi ý tốt cho người thiết kế hệ thống
1.1.2 Cấu trúc vi điều khiển Atmega 16
Hình 1.1 Hình ảnh thực tế của vi điều khiển Atmega 16
Atmega16 là bộ vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựatrên kiến trúc RISC (Reduced Intruction Set Computer) Vào ra Analog – digital vàngược lại Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xungnhịp, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1Mhz Vi
Trang 5điều khiển này cho phép người thiết kế có thể tối ưu hoá chế độ tiêu thụ năng lượng
mà vẫn đảm bảo tốc độ xử lý
1.1.3 Sơ đồ chân của Atmega 16
Hình 1.2 Sơ đồ chân của Atmega 16
* Atmega 16 gồm có 40 chân:
- Chân 1 đến 8: Cổng nhập xuất dữ liệu song song B (PORTB) nó có thể được
sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 9: RESET để đưa chip về trạng thái ban đầu.
- Chân 10: VCC cấp nguồn nuôi cho vi điều khiển.
- Chân 11, 31: GND 2 chân này được nối với nhau và nối đất.
- Chân 12, 13: 2 chân XTAL2 và XTAL1 dùng để đưa xung nhịp từ bên ngoài
vào chip
- Chân 14 đến 21: Cổng nhập xuất dữ liệu song song D (PORTD) nó có thể
được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 22 đến 29: Cổng nhập xuất dữ liệu song song C (PORTC) nó có thể
được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 30: AVCC cấp điện áp cho bộ so sánh và bộ ADC.
Trang 6- Chân 32: AREF điện áp so sánh tín hiệu vào ADC.
- Chân 33 đến 40: Cổng vào ra dữ liệu song song A (PORTA) Ngoài ra nó còn
được tích hợp bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC (analog to digitalconverter)
PortA (PA7…PA0): Là các chân từ 33 đến 40 PortA nhận vào tín hiệu
Analog và chuyển đổi qua tín hiệu Digital Ngoài ra PortA có thể được tách ra làm 2hướng vào/ra 2 bit nếu bộ chuyển đổi A/D không được sử dụng Khi các chân PA0 đếnPA7 là các lối vào và được đặt xuống chế độ thấp từ bên ngoài, chúng sẽ là nguồndòng nếu các điện trở nối lên nguồn dương được kích hoạt Các chân của Port A ở vàotrạng thái có điện trở cao khi tín hiệu Reset ở chế độ tích cực hoặc ngay cả khi không
có tín hiệu xung đồng hồ Port A cung cấp các đường địa chỉ/dữ liệu vào/ra hoạt độngtheo kiểu đa hợp kênh khi dùng bộ nhớ SRAM ở bên ngoài
PortB (PB7…PB0): Là các chân từ 1 đến 8 Nó tương tự như PORTA khi là
cổng vào ra song song Ngoài ra các chân của PORTB còn có các chức năng đặc biệt
sẽ được nhắc đến sau
PortC (PC7…PC0): Là các chân từ 22 đến 30 Nó cũng giống như PORTA và
PORTB khi là cổng vào ra song song Nếu giao tiếp JTAG được bật, các trở treo ở cácchân PC5 (TDI), PC3 (TMS), PC2 (TCK) sẽ hoạt động khi sự kiện reset xảy ra Chứcnăng giao tiếp JTAG và 1 số chức năng đặc biệt khác sẽ được nghiên cứu sau
PortD (PD7…PD0): Là các chân từ 13 đến 21 Cũng là 1 cổng vào ra song
song giống các PORT khác, ngoài ra nó còn có một số tính năng đặc biệt sẽ đượcnghiên cứu sau
1.1.4 Sơ đồ khối của Atmega16
Atmega 16 có tập lệnh phong phú về số lượng với 32 thanh ghi làm việc đanăng Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU (Arithmetic Logic Unit),cho phép truy cập 2 thanh ghi độc lập bằng một chu kì xung nhịp Kiến trúc đạt được
có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC (ComplexIntruction SetComputer) thông thường
Khi sử dụng vi điều khiển Atmega16, có rất nhiều phần mềm được dùng đểlập trình bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly như AVRstudio của Atmel, trình dịch C như win AVR, CodeVisionAVR C, ICCAVR C -CMPPILER của GNU.… Trình dịch C đã được nhiều người dụng và đánh giátương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu AVR, đó là trìnhdịch CodeVisionAVR C Phần mềm này hỗ trợ nhiều ứng dụng và có nhiều hàm cósẵn nên việc lập trình tốt hơn
Trang 7Hình 1.3 Sơ đồ khối của Atmega16
1.1.5 Ưu điểm của Atmega 16
Là vi điều khiển 8 bit với tiêu thụ điện năng thấp dựa trên kiến trúc RISC(Reduced Instruction Set Computer) Vào ra Analog – digital và ngược lại Vớicông nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp, vì thế tốc
độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1Mhz Vi điều khiểnnày cho phép người thiết kế có thể tối ưu hoá chế độ tiêu thụ năng lượng mà vẫnđảm bảo tốc độ xử lý
AVR có tập lệnh phong phú với số lượng với 32 thanh ghi làm việc chung vớinhau Tất cả 32 thanh ghi đều được nối trực tiếp với ALU (Arithmetic Logic Unit),cho phép 2 thanh ghi truy cập độc lập trong một chỉ lệnh đơn trong một chu kỳ xungnhịp Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC(Complex Instruction Set Computer) thông thường
Atmega 16 được hỗ trợ đầy đủ phần mềm và công cụ phát triển hệ thống bao gồm:Trình dịch Assembly như AVR studio của Atmel, trình dịch C như win AVR,
Trang 8CodeVisionAVR C, ICCAVR C - CMPPILER của GNU… Trình dịch C đã được
nhiều người dùng và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắtđầu tìm hiểu AVR, đó là trình dịch CodeVisionAVR C Phần mềm này hỗ trợ nhiềuứng dụng và có nhiều hàm có sẵn nên việc lập trình tốt hơn
1.1.6 Tính năng của Atmega16
- Được chế tạo theo kiến trúc RISC hiệu suất cao mà điện năng tiêu thụ thấp.
- Tập lệnh gồm 131 lệnh, hầu hết đều chỉ thực thi trong 1 chu kì xung nhịp.
- Bộ nhân hai chu kì.
- 32 x 8 thanh ghi làm việc đa dụng.
- Hoạt động tĩnh.
- 16 MIPS với thông lượng 16MHz.
- 8KB Flash ROM lập trình được ngay trên hệ thống.
- Giao diện nối tiếp SPI có thể lập trình ngay trên hệ thống.
- Cho phép 1000 lần ghi/xóa.
- Bộ EEPROM 512 byte, cho phép 100000 lần ghi/xóa.
- 16 Kbyte bộ nhớ chương trình in-System Self - programmable Flash.
- Chu kì ghi/xóa (Write/Erase): 10000 Flash/ 100000 EEPROM.
- Độ bền dữ liệu 20 năm ở 85°C và 100 năm ở 25°C.
- Tốc độ làm việc: 8MHz đối với Atmega16L, 16MHz đối với Atmega16 tối đa.
- Tốc độ xử lý lệnh đến 8 MIPS ở 8 MHz nghĩa là 8 triệu lệnh trên giây.
- Bộ định thời gian thực (RTC) với bộ dao động và chế độ đếm tách biệt.
- 2 bộ Timer 8 bit và 1 bộ Timer 16 bit với chế độ so sánh và chia tần số tách biệt
và chế độ bắt mẫu
- 4 kênh điều chế độ rộng xung PWM.
- Có đến 13 interrupt ngoài và trong.
- Bộ so sánh Analog.
- Bộ lập trình Watch dog timer.
- 6 chế độ ngủ: Idle, ADC Noise Reduction, Power - save, Power - down,
Standby và Extended Standby
- Giao tiếp nối tiếp Master/Slave SPI.
1.1.7 Bộ định thời (Timer/ Counter)
Là một module định thời/đếm 8 bit, có đặc điểm sau:
Trang 91.1.8 Ngắt của bộ định thời Timer
Hình 1.4 Ngắt của bộ định thời
Ngắt là sự đáp ứng những sự kiện bên trong và bên ngoài nhằm thông báo cho
bộ vi điều khiển biết thiết bị đang cần được phục vụ
Nhìn vào tiến trình của hàm main và có ngắt: Chương trình chính đang chạy,ngắt xảy ra thì sẽ thực hiện hàm ngắt rồi quay lại chương trình chính Thời gian thựchiện hàm ngắt rất nhỏ cho nên thời gian thực hiện hàm ngắt không ảnh hưởng gì đếnchức năng của hàm chính
1.1.9 Giao tiếp USART
USART - Bộ truyền nhận nối tiếp đồng bộ và bất đồng bộ phổ dụng Đây làkhối chức năng dùng cho việc truyền thông giữa vi điều khiển với các thiết bị khác.Trong vấn đề truyền dữ liệu đó, có thể phân chia cách thức truyền dữ liệu ra 2 chế độ
cơ bản là: Chế độ nhận đồng bộ và chế độ nhận bất đồng bộ Ngoài ra, nếu có góc độphần cứng thì có thể phân chia theo cách khác đó là: Truyền nhận dữ liệu theo kiểu nốitiếp và song song
Quá trình truyền USART: Việc truyền dữ liệu nối tiếp ra ngoài thông qua chânTxD Một quá trình truyền dữ liệu từ MCU đi được khởi tạo bằng việc viết dữ liệu vàothanh ghi đệm dữ liệu UDR, sau đó dữ liệu được chuyển tới thanh ghi dịch bộ phát khithanh ghi dịch đã sẵn sàng truyền một byte mới Các bit start và stop được bổ sung vàokhung dữ liệu trong thanh ghi này với thiết đặt từ thanh ghi điều khiển bộ phát Cũngnhư vậy bit thứ 9 (nếu có) có thể được thêm vào TXB8 trong thanh ghi UCSRB trước
Trang 10khi byte thấp của ký tự được viết vào UDR Khi thanh ghi dịch dịch hết dữ liệu (đãđược điều chế) ra thế giới bên ngoài thông qua chân TxD, nó sẽ sẵn sàng nhận dữ liệumới nếu nó đang ở trạng thái rỗi hoặc ngay lập tức sau khi bit stop cuối cùng củakhung trước đó được truyền đi Lưu ý rằng dữ liệu được dịch ra ngoài với bit LSBtrước, cuối cùng là MSB.
Quá trình nhận USART: Phần mềm cho phép thanh ghi dịch nhận dữ liệu nốitiếp từ thế giới bên ngoài thông qua chân RxD (PD0) Bộ đếm bắt đầu tiếp nhận dữliệu khi dò được một bit start Sau khi dò được bit stop đầu tiên dữ liệu được chuyểnđến thanh ghi UDR (bộ đếm dữ liệu bộ thu) không có các Start và Stop bits theo dạngsong song để vào CPU
1.2 Tổng quan về công nghệ GSM
1.2.1 Giới thiệu về công nghệ GSM
GSM (Global System for Mobile communication) là hệ thống thông tin di động
số toàn cầu, là công nghệ không dây thuộc thế hệ 2G (second generation) có cấu trúcmạng tế bào, cung cấp dịch vụ truyền giọng nói và chuyển giao dữ liệu chất lượng caovới các băng tần khác nhau: 400Mhz, 900Mhz, 1800Mhz và 1900Mhz, được tiêuchuẩn viễn thông Châu Âu (ETSI) quy định
GSM là một hệ thống có cấu trúc mở nên hoàn toàn không phụ thuộc vào phầncứng, người ta có thể mua thiết bị từ nhiều hãng khác nhau
Do nó hầu như có mặt khắp mọi nơi trên thế giới nên khi các nhà cung cấp dịch
vụ thực hiện việc ký kết roaming với nhau nhờ đó mà thuê bao GSM có thể dễ dàng sửdụng máy điện thoại GSM của mình bất cứ nơi đâu
Mặt thuận lợi to lớn của công nghệ GSM là ngoài việc truyền âm thanh với chấtlượng cao còn cho phép thuê bao sử dụng các cách giao tiếp khác rẻ tiền hơn đó là tinnhắn SMS Ngoài ra để tạo thuận lợi cho các nhà cung cấp dịch vụ thì công nghệ GSMđược xây dựng trên cơ sở hệ thống mở nên nó dễ dàng kết nối các thiết bị khác nhau từcác nhà cung cấp thiết bị khác nhau
Nó cho phép nhà cung cấp dịch vụ đưa ra tính năng roaming cho thuê baocủa mình với các mạng khác trên toàn thế giới Và công nghệ GSM cũng phát triểnthêm các tính năng truyền dữ liệu như GPRS và sau này truyền với tốc độ cao hơn
1.2.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 trongtoà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ự
Trang 11thay đổi, điều chỉnh nào Đây là một tính năng nổi bật nhất của cô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ăngtần GSM 850/900Mhz và tối đa là 1 watts đối với băng tần GSM 1800/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)
1.2.3 Cấu trúc của mạng 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): Thực hiện chuyển mạch giữa các thuê bao di động và giữa thuê bao di động với các thuê bao của mạng cố định
Hình 1.5 Cấu trúc của mạng GSM
+ Phân hệ trạm gốc BSS (Base Station Subsystem): Điều khiển kết nối vô tuyếnvới trạm di động
+ Phân hệ bảo dưỡng và khai thác OSS (Operation Subsystem): Đảm bảo chứcnăng vận hành và thiết lập mạng
+Trạm di động MS (Mobile Station): Được người thuê bao mang theo
* Các thành phần của công nghệ mạng GSM
AUC (): Trung tâm nhận thức ULR (): Bộ ghi định vị tạm trú
HLR (): Bộ ghi định vị thường trú
EIR (): Bộ ghi nhận dạng thiết bị
MSC (): Trung tâm chuyển mạch các dịch vụ mạng
BSC (): Bộ điều khiển trạm gốc BTS (): Trạm thu phát gốc
Trang 12NSS (): Phân hệ chuyển mạch BSS (): Phân hệ trạm gốc
MS (): Trạm di động
OSS (): Phân hệ khai thác bảo dưỡng
PSPDN (): Mạng số liệu công cộng chuyển mạch gói
CSPDN (): Mạng số liệu công cộng chuyển mạch kênh
PSTN (): Mạng điện thoại chuyển mạch công cộng
PLMN (): Mạng di động mặt đất
ISDN (): Mạng số dịch vụ tích hợp
OMC (): Trung tâm khai thác và bảo dưỡng
Hình 1.6 Các thành phần mạng GSM
1.2.4 Sự phát triển của công nghệ GSM ở Việt Nam
Công nghệ GSM đã vào Việt Nam từ năm 1993 Hiện nay, ba nhà cung cấp diđộng công nghệ GSM lớn nhất của Việt Nam là VinaPhone, MobiFone và ViettelMobile, 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ác nhà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ê bao mỗi ngày pháttriển được lên tới hàng trăm ngàn thuê bao
1.3 Tổng quan về SMS
1.3.1 Giới thiệu về SMS
SMS là từ viết tắt của Short Message Service Đó là một công nghệ chophép gử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 đầutiê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 Communication) Một thời gian sau đó, nó phát triển sang
Trang 13công nghệ wireless như CDMA và TDMA Các chuẩn GSM và SMS có nguồn gốcphát triển bởi ETSI (European Telecommunication Standards Institute).
Ngày nay 3GPP (Third Generation Partnership Project) đang giữ vai trò kiểmsoát về sự phát triển và duy trì các chuẩn GSM và SMS
Như chính tên đầy đủ của SMS là Short Message Service, dữ liệu có thể được lưugiữ bởi một SMS là rất giới hạn Một SMS có thể chứa tối đa là 140 byte (1120 bit) dữliệu Vì vậy, một SMS có thể chứa:
- 160 ký tự nếu mã hóa ký tự 7 bit được sử dụng (phù hợp với mã hóa các ký tự
latin như alphatet của tiếng Anh)
- 70 ký tự nếu như mã hóa ký tự 16 bit Unicode UCS2 được sử dụng (dùng cho
các ký tự không phải mã latin như chữ Trung Quốc…)
SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau Nó có thể hoạt động tốt vớinhiều ngôn ngữ mà có hỗ trợ mã Unicode, bao gồm Arabic, Trung Quốc, NhậtBản, Hàn Quốc…
Bên cạnh gửi tin nhắn dạng text thì tin nhắn còn có thể mang dữ liệu dạng binary
Nó cho phép gửi nhạc chuông, hình ảnh cùng nhiều tiện ích khác…tới điện thoại khác
1.3.2 Cấu trúc một tin nhắn SMS
Nội dung của 1 tin nhắn SMS khi được gửi đi chia làm 5 phần như sau:
Instructions to air interface: Chỉ thị dữ liệu kết nối với air interface (giao diệnkhông gian)
Instructions to SMSC: Chỉ thị dữ liệu kết nối với trung tâm tin nhắn SMSC 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
Message body: Nội dung tin nhắn SMS
Bảng 1.1 Cấu trúc của 1 tin nhắn SMS
Instructions
to air
interface
Instructions to SMSC
Instructions to handset
Instructions to SIM (optional)
Message Body
1.3.3 Ưu điểm của SMS
Tin nhắn có thể được gửi và đọc tại bất kỳ thời điểm nào
Tin nhắn SMS có thể được gửi tới các điện thoại dù chúng đang bị tắt nguồn
Í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
Được sử dụng trên các điện thoại di động khác nhau và có thể gửi cùng mạnghoặc khác mạng đều được
Phù hợp với các ứng dụng wireless sử dụng cùng với nó như: Chức năng SMSđược hỗ trợ 100% bởi các điện thoại sử dụng công nghệ GSM, có thể gửi nhạcchuông, hình ảnh… hỗ trợ chi trả các dịch vụ trực tuyến download nhạc chuông…
1.3.4 Tin nhắn SMS chuỗi/tin nhắn SMS dài
Để khắc phục khuyết điểm mang lượng giới hạn dữ liệu, một mở rộng mới rađời đó là SMS chuỗi (SMS dài) Một SMS dạng text dài có thể chứa nhiều hơn 160 ký
Trang 14tự theo chuẩn dùng trong tiếng Anh SMS chuỗi có cơ cấu hoạt động như sau: Điệnthoại di động 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ư tin nhắn SMS đơn Khi các tin nhắn SMS này đã được gửi tới đích hoàn toànthì 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
1.3.5 SMS center/SMSC (Trung tâm tin nhắn)
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 đó, trungtâm SMS này sẽ chuyển tin nhắn này tới đích (người nhận) Một tin nhắn SMS có thểphải đi qua nhiều hơn một thực thể mạng (netwok) (chẳng hạn như SMSC và SMSgateway) trước khi đi tới đích thực sự của nó Nhiệm vụ duy nhấ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ày cho đú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) tronglúc gửi thì SMSC sẽ lưu trữ tin nhắn này Và khi má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ười nhậ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í SMSCcủa riêng nó và vị trí của chúng bên trong hệ thống mạng wireless Tuy nhiên hệ thốngvận hành mạng sẽ sử dụng một SMSC thứ ba có vị trí bên ngoài của hệ thống mạngwireless
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ả
1.3.6 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ục gồmtin 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ànhquốc tế với nhau Tin nhắn SMS giữa các nhà điều hành cục bộ là tin nhắn mà đượcgửi giữa các nhà điều hành trog cùng một quốc gia còn tin nhắn SMS 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ều hà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 nhỏ hơn hoặc bằng chi phí cho việc gửi tin nhắnSMS quốc tế
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ốngSMS toàn cầu
Trang 151.3.7 SMS gateway (Cửa ngõ SMS)
Một khó khăn của SMS là các SMSC (trung tâm tin nhắn) được phát triển, xâydựng bởi các công ty sử dụng giao thức truyền thông riêng của họ và hầu hết các giaothức này thuộc quyền sở hữu riêng Ví dụ như Nokia có một giao thức SMSC làCIMD, nhà điều hành CMG lại có giao thức SMSC là EMI Chúng ta không thể kếtnối hai SMSC nếu chúng không có cùng giao thức SMSC Để giải quyết vấn đề này,một SMS gateway được đặt giữa hai giao thức SMSC khác nhau Gateway này hoạtđộng ở hai sóng mang khác nhau để có thể gửi SMS cho nhau mà không gặp bất kỳ trởngại nào
Hình 1.7 Giao tiếp SMS Gateway
1.4 Giới thiệu Module SIM900
Hình 1.8 Hình ảnh của Module SIM900
SIMCom giới thiệu Module Sim900 là một module GSM/GPRS cực kỳ nhỏgọn, được thiết kế cho thị trường toàn cầu SIM900 hoạt động được ở 4 băng tần GSM850MHz, EGSM 900MHz, DCS 1800MHz và PCS 1900MHz như là một loại thiết bịđầu cuối với một Chip xử lý đơn nhân đầy sức mạnh, tăng cường các tính năng quantrọng dựa trên nền vi xử lý ARM926EJ-S, cho bạn nhiều lợi ích từ kích thước nhỏ gọn(24x24 mm), đáp ứng những yêu cầu về không gian trong các ứng dụng M2M
Trang 16Hình 1.9 Sơ đồ chân của SIM900
GSM Module SIM900là một sản phẩm do AT-COM phát triển nhằm giúpngười sử dụng có thể khai thác các tính năng của SIM900 một cách dễ dàng Board hỗtrợ khá đầy các ngõ ra của Module SIM900 ( RS232, Audio, ADC, VRTC, PWM,I2C ) Dễ kết nối với các dòng vi điều khiển như PIC, AVR, ARM, Arduino để pháttriển các ứng dụng điều khiển, giám sát qua môi trường mạng GSM, GPRS Ngõ raRS232 giúp giao tiếp máy tính và lập trình cho Module SIM900 thông qua tập lệnh ATCOMMAND
Hình 1.10 Tổng quan Module SIM900
1.4.1 Đặc điểm kĩ thuật của GSM Module SIM900
Trang 17* Điện áp hoạt động:
- Nguồn xung dùng IC LM2596 cho dòng tải 3A, tần số đáp ứng 150Khz
- Điện áp ngõ vào: 7-12V DC.
- Điện áp ngõ ra : 4.5V, 4V, 3.3V chọn bằng “jumper select “ trên mạch.
* Giao tiếp máy tính:
- Cổng USB 2.0 kiểu B cho phép SIM900 giao tiếp máy tính
- Sử dụng IC FT232RL chuyển đổi USB TO UART.
Hình 1.11 Cổng giao tiếp của Module SIM900
GSM Module SIM900A với ngõ ra chuẩn RS232 giúp người sử dụng dễ dànggiao tiếp với Module SIM900A thông qua tập lệnh AT COMMAND Có thể kết nốivới vi điều khiển lập trình ứng dụng trên SIM900A hoặc giao tiếp với máy tính đểkiểm tra SIM900A sử dụng các phần mềm Terminal
Hình 1.12 Cổng giao tiếp của RS232
Dễ dàng kết nối module SIM900A với máy tính sử dụng mạch chuyển đổi USB
TO UART
Trang 18Hình 1.13 Kết nối giao tiếp
1.4.2 Các tính năng chính của SIM900
Bảng 1.2 Mô tả tính năng của SIM900
Nguồn cung cấp Sử dụng điện áp từ 3.4 đến 4.5V
Nguồn tiết kiệm Sử dụng điển hình ở chế độ ngủ với dòng 1,5mA
Các dải tần hoạt động
GSM850, EGSM900, DCS1800, PCS1900 có thể tìmthấy các dải tần một cách tự động Các dải tần
có thểđược thiết lập bởi câu lệnh AT
Tương thích với pha GSM 2/2+
Dải nhiệt độ
Hoạt động bình thường ở -30 đến 80 độ CHoạt động hạn chế ở -40 đến 30 và 80 đến 85 độ CNhiệt độ lưu trữ là -45 đến 90 độ CDữ liệu GPRSCSD
Dữ liệu GPRS - CSD
Truyền dữ liệu xuống lớn nhất là 85.6 kbpsTruyền dữ liệu lên lớn nhất 42.8 kbps
Mã hóa chương trình CS-1, CS-2, CS-3 và CS-4SIM900 hỗ trợ các giao thức PAP( Giao thức xác nhậnmật mã) thường được sử dụng trong các kết nối PPP.SIM900 được tích hợp giao thức TCP/IP
Cung cấp gói chuyển mạch kênh điều khiển quảng bá(PBCCH)
Các tốc độ truyền CSD: 2.4, 4.8, 9.6, 14.4 kbps, khôngtrong suốt
Hỗ trợ dịch vụ dữ liệu bổ xung phi cấu trúc
Trang 19Lớp GMS MS nhỏ
Công suất truyền tải Lớp 4(2W) ở GSM850 và EGSM 900
Lớp 1(1W) ở DCS 1800 và PCS 1900Kết nối GPRSKết nối GPRS
GPRS nhiều khe mặc định trong lớp 10GPRS nhiều khe tùy chọn ở lớp 8GPRS trạm di động lớp BDải nhiệt độ
SMS MODULE, MO, CB, Text và chế độ PDU
Lưu trữ SMS: thẻ SIM
Giao tiếp SIM Cung cấp thẻ SIM: 1.8, 3V
Đồng hồ thời gian thực Được triển khai khi thực hiện
Chức năng định thời Lập trình thông qua lệnh AT
dữ liệu
Hỗ trợ RTS/CTS bắt tay phần cứng và phần mềmđiềukhiển luồng ON/OFF
Kết hợp khả năng theo giao thức hợp kênh GSM 07.10
Hỗ trợ các tốc độ baud tự động từ 1200 bps đến115200bps
Cổng gỡ lỗi (debug)Giao tiếp 2 dây trống DBG_TXD và DBG_RXD
Có thể sử dụng để gỡ lỗi hoặc cập nhật Fireware
Đặc điểm vật lý Kích cỡ: 24mmx24mmx3mm
Trang 20Trọng lượng 3.4gCập nhật Firm ware Cập nhật Firmware bởi cổng gỡ lỗi
An-ten ngoài Bộ đệm an-ten
Quản lý danh bạ Quản lý danh bạCung cấp các kiểu danh bạ:SM, FD,
có không khí và ngắt phần cứng( như ngắt GPIOvà dữliệu trên cổng nối tiếp) Trong các điều kiện nàydòng điệncung cấp sẽ là thấp nhất Trong chế độ ngủ,module vẫn cóthể nhận gói dữ liệu và SMS
GMS IDLE Phần mềm được hiệu hóa Module được đăng ký tới mạng
GMS và các module sẵn sàng để kết nối
GMS TALK
Kết nối giữa hai thuê bao trong tiến trình Trong trườnghợp này công suất tiêu thụ độc lập trên mạng thiết lập nhưDTXon/off FR/EFR/HR, nhảy chuỗi, an-ten
GPRS STANDBY
Module sẵn sàng cho module truyền dữ liệu GPRS, dùkhôngcó dữ liệu trên dòng gửi và nhận Trong trường hợpnày, côngsuất tiêu thụ trên mạng được thiết lập và cấuhình GPRS
GPRSDATA
Có dữ liệu truyền GPRS(PPP hoặc TCP và UDP) trongtiếntrình Trong điều kiện này, công suất tiêu thụ liênquan tới thiếtlập mạng Tốc độ dữ liệu lên, xuống và cấuhình GPRS
Công suất xuống
Bình thường công suất xuống được gửi bởi lệnh AT là
“AT+CPOWD=1” hoặc sử dụng PWRKEY Đơn vị quảnlýcông suất thực hiện bật và tắt module Phần mềm đượckích hoạt khi có kết nối tới nguồn pin và cổng nối tiếp
Trang 21liệu số đế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 đườngdâ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ênhtruyền thông với bộ kết nối 25 chân DB25, nó được thiết kế để thực thi quá trìnhtruyền các lệnh đến modem được kết nối Thao tác này bao gồm 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ôngthứ 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 đầucuối khác mà nó còn nhắm tới modem duy nhất Dennis Hayes đã đưa ra giải pháp chovấn đề này trong năm 1977
Modem thông minh của ông sử dụng chuẩn truyền thông RS232 đơn giản kếtnố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 câu lệnh bắt đầu vớichữ AT trong chữ Attention nên ngôn ngữ điều khiển được định nghĩa bởi Hayesnhanh chóng được 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ệnhHayes AT nhanh chóng được sử dụng phổ biến trong các modem của các nhà sản xuấtkhác nhau Khi chức năng và độ tích hợp của các modem ngày càng tăng theo thờigian nên làm cho ngôn ngữ lệnh Hayes AT cũng phức tạp Vì thế nhanh chóng mỗinhà sản xuất modem đã sử dụng ngôn ngữ riêng của ông ấy Ngày nay bộ lệnh AT baogồ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ệnhcủa nó được sử dụng để điều khiển các modem quay số sử dụng dây nối (wireddial-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
- Đọ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ạ
Trang 22- 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
1.4.5 Các lệnh khởi tạo GMS 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 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 được thực hiện 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 SIM 900
Nếu lệnh không thực hiện được thì trả về dạng:
Ví dụ: Khi có số điện thoại nào đó gọi đến số điện thoại được gắn trên module SIM
900, ta muốn nhấc máy để kết nối thì gõ lệnh
ATA < cr>
Trang 23- Lệnh bỏ cuộc gọi
ATH < cr>
Ví dụ: Khi có số điện thoại nào đó gọi đến số điện thoại được gắn trên module SIM
900, ta không muốn nhấc máy mà từ chối thì gõ lệnh
<index>: Vị trí ngăn nhớ lưu tin nhắn
Nếu lệnh thực hiện được thì trả về:
<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 lệnh thực hiện được thì kiểu dữ liệu trả về dưới dạng text (mode=1)
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:
+CMGS=<da> [,<toda>] <CR> text is entered <ctrl-Z/ESC>
Nếu gửi tin nhắn dưới 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 thì dữ liệu trả về:
Trang 24- AT+CGDCONT: Định nghĩa dạng PDP
- AT+CGQMIN: Chất lượng dịch vụ ở mưc thấp
- AT+CGQREQ: Chất lượng dịch vụ
- AT+CGREG: Tình trạng đăng ký của mạng
- AT+CGCOUNT: Đếm gói dữ liệu vào
1.4.9 Những lệnh cho TCPIP, cho Toolkit
Lệnh bắt đầu kết nối TCP hay UDP
AT+CIPSTART=<mode>, [<IPaddress>, <do main name>], <port>
Trong đó:
<mode>: Tham số báo kiểu kết nối TCP hay UDP
<IPaddress>: Địa chỉ IP của người điều khiển từ xa
<port>: Cổng kết nối
<do main 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
Trang 251.4.11 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 thông tin cơ bản về những người kí tên dưới đây
Ví dụ: MSISDN (AT+CNUM) và số IMS (International Mobile Subacriber Tdentity) (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 pin 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)
- 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 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 độ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).
- 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í dụ như (AT+COPS) và phục hồi (AT+CRES) các thiết lập.
1.5 Giao tiếp cổng kết nối RS232
1.5.1 Giới thiệu về chuẩn RS232
Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại
vi, có các ưu điểm sau:
- Khoảng cách truyền xa hơn truyền song song.
- Số dây kết nối ít.
- Có thể truyền không dây dùng hồng ngoại
- Có thể ghép nối với vi điều khiển hay PLC (Programmable Logic Device)
- Cho phép nối mạng
- Có thể tháo lắp thiết bị trong lúc máy tính đang làm việc
- Có thể cung cấp nguồn cho các mạch điện đơn giản
Các thiết bị ghép nối chia thành 2 loại: DTE (Data Terminal Equipment) vàDCE (Data Communication Equipment) DCE là các thiết bị trung gian như MODEMcòn DTE là các thiết bị tiếp nhận hay truyền dữ liệu như máy tính, PLC, vi điều khiển,
Trang 26… Việc trao đổi tín hiệu thông thường qua 2 chân RxD (nhận) và TxD (truyền) Cáctín hiệu còn lại có chức năng hỗ trợ để thiết lập và điều khiển quá trình truyền, đượcgọi là các tín hiệu bắt tay (handshake) Ưu điểm của quá trình truyền dùng tín hiệu bắttay là có thể kiểm soát đường truyền.
Tín hiệu truyền theo chuẩn RS232 của EIA (Electronics Industry Associations).Chuẩn RS232 quy định mức logic 1 ứng với điện áp từ -3V đến -25V (mark),mức logic 0 ứng với điện áp từ 3V đến 25V (space) và có khả năng cung cấp dòng từ
10 mA đến 20 mA Ngoài ra, tất cả các ngõ ra đều có đặc tính chống chập mạch.Chuẩn RS232 cho phép truyền tín hiệu với tốc độ đến 20.000 bps nhưng nếu cáptruyền đủ ngắn có thể lên đến 115.200 bps
* Các phương thức nối giữa DTE và DCE:
- Đơn công (simplex connection): dữ liệu chỉ được truyền theo 1 hướng.
- Bán song công ( half-duplex): dữ liệu truyền theo 2 hướng, nhưng mỗi thời
điểm chỉ được truyền theo 1 hướng
- Song công (full-duplex): số liệu được truyền đồng thời theo 2 hướng.
Định dạng của khung truyền dữ liệu theo chuẩn RS232 như sau:
Hình 1.14 Khung truyền dữ liệu theo chuẩn RS232
Khi không truyền dữ liệu, đường truyền sẽ ở trạng thái mark (điện áp -10V).Khi bắt đầu truyền, DTE sẽ đưa ra xung Start (space: 10V) và sau đó lần lượt truyền từD0 đến D7 và Parity, cuối cùng là xung Stop (mark: -10V) để khôi phục trạng tháiđường truyền Dạng tín hiệu truyền mô tả như sau (truyền ký tự A):
Hình 1.15 Tín hiệu truyền của ký tự “A”
* Các đặc tính kỹ thuật của chuẩn RS232 như sau:
Trang 27Bảng 1.4 Đặc tính kỹ thuật của RS232
Chiều dài cable cực đại 15mTốc độ dữ liệu cực đại 20 KbpsĐiện áp ngõ ra cực đại + 25VĐiện áp ngõ ra có tải ± 5V đến ± 15VTrở kháng tải 3K đến 7KĐiện áp ngõ vào ± 15V
Độ nhạy ngõ vào ± 3VTrở kháng ngõ vào 3K đến 7K
Các tốc độ truyền dữ liệu thông dụng trong cổng nối tiếp là: 1200 bps, 4800bps, 9600 bps và 19200 bps
* Sơ đồ chân:
Hình 1.16 Sơ đồ chân cổng nối tiếp
Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân) mô
tả như hình
Trang 281.5.2 Ý nghĩa của các chân được mô tả như sau:
Cổng COM có tổng cộng 8 đường dẫn, chưa kể đến đường nối đất Trên thực tế
có hai loại cổng, một loại 9 chân và một loại 25 chân Cả hai loại này đều có chungmột đặc điểm
- Chức năng các chân cổng COM :
+ TxD: Dữ liệu được truyền đi từ chân này
+ RxD: Dữ liệu được thu từ các thiết bị khác về qua chân RxD
- Các đường báo thiết bị sẵn sàng :
+ DSR: Để báo rằng modem đã sẵn sàng
+ DTR: Để báo rằng thiết bị cuối đã sẵn sàng
- Các đường bắt tay bán song công :
+ RTS: Để báo rằng thiết bị cuối yêu cầu phát dữ liệu.
+ CTS: Modem đáp ứng nhu cầu cần gửi dữ liệu của thiết bị đầu cuối, cho thiết
bị đầu cuối có thể sử dụng kênh truyền dữ liệu Các đường trạng thái sóng mang và tínhiệu điện thoại
+ CD: Modem báo cho thiết bị đầu cuối biết rằng đã nhận được một sóng mang
hợp lệ từ mạng điện thoại
+ RI: Các modem tự động trả lời báo rằng đã phát hiện chuông từ mạng điện
thoại đĩa chỉ đầu tiên có thể tới được của cổng nối tiếp được gọi là địa chỉ cơ bản(Basic Addess) Các địa chỉ ghi tiếp theo được đặt tới bằng việc cộng thêm số thanhghi đã gặp của bộ UART vào địa chỉ cơ bản
Bảng 1.5 Chức năng các chân cổng COM
Chân
(Loại 9 chân)
Chân
(Loại 25 chân)
Ký hiệu Vào/Ra Mô tả
Vì tín hiệu cổng COM thường ở mức +12V, -12V nên không tương thích với điện
áp TTL, nên để giao tiếp vi điều khiển với máy tính qua cổng COM ta phải qua một vimạch biến đổi điện áp cho phù hợp với mức TTL, ta chọn vi mạch MAX232 để thựchiện việc tương thích điện áp
1.5.3 Các thuộc tính của MSCom và MSComm trong Visual Basic
Trang 29MSComm là một điều khiển ActiveX dùng trong truyền thông nối tiếp Các tínhchất của điều khiển này được dùng để thiết lập giao tiếp với các thiết bị ngoại vi qua cổngRS232.
Tất cả các tính chất này bạn có thể tìm tại thư viện MSDN July 2001 theo đườngdẫn như sau ở tab contents: MSDN Library - July 2001 / Visual Tools and Languages /Visual Studio 6.0 Documentation / Visual Basic Documentation / Reference/ ControlReference / ActiveX Control / MSComm Control
Các tính chất của MSComm được sắp xếp theo chức năng thiết lập tham số chocổng:
+ CommID: trả lại handles đồng nhất tới thiết bị truyền thông, có kiểu Long.Tính chất này không có lúc thiết kế mà chỉ có khi thi hành, thuộc tính này làReadOnly
+ CommPort: dạng object.CommPort = value Value là chỉ số của cổng Com cógiá trị từ 1 -> 16 và mặc định có giá trị =1 Các bạn cần phải thiết lập thông số nàytrước khi mở cổng Sẽ có lỗi error 68 (Device unavailable) nếu như không mở đượccổng này
+ InBuferSize: thiết lập hoặc trả lại kích thước của bộ đệm nhận, tính = byte Mặcđịnh là 1024 byte Các bạn không được nhầm lẫn với đặc tính InBufferCount là số byte đangchờ trong bộ đệm nhận
+ InputLen: object.InputLen [ = value ] thiết lập hoặc trả lại số byte mỗi lầnthuộc tính Input đọc trong bộ đệm nhận Mặc định giá trị Value=0 tức là thuộc tínhInput sẽ đọc hết nội dung của bộ đệm nhận khi thuộc tính này được gọi Nếu số kí tựtrong bộ đệm nhận không = InputLen thì thuộc tính Input sẽ trả lại kí tự rỗng “” Ví thếbạn cần phải chọn cách kiểm tra InBufferCount để chắc chắn số kí tự yêu cầu đã có đủtrước khi dùng lệnh Input Tính chất này rất là có ích khi đọc dữ liệu một máy mà dữliệu ra được định dạng bằng các khối có kích thước cố định
+ InputMode: object.InputMode[ = value ].Value = 0 hay = comInputModeText
dữ liệu nhận được dạng văn bản kiểu kí tự theo
chuẩn ANSI Dữ liệu nhận được sẽ là một sâu Value=1 hay = comInputModeBinarydùng nhận mọi kiểu dữ liệu như kí tự điều khiển nhúng, kí tự NULL, Giá trị nhậnđược từ Input sẽ là một mảng kiểu Byte
+ NullDiscard: object.NullDiscard [ = value ] tính chất này quyết định kí tựtrống có được truyền từ cổng đến bộ đệm nhận hay không Nếu value= True kí tự nàykhông được truyền value = false kí tự trống sẽ được truyền Kí tự trống được địnhnghía theo chuẩn ASCII là kí tự 0 – chr$(0)
+ OutBuferSize: giống như InBuferSize, mặc định là 512
+ ParityReplace: thiết lập và trả lại kí tự thay thế kí tự không đúng trong lỗigiống nhau
+ PortOpen: thiết lập và trả lại tính trạng của cổng(đóng hoặc mở)
object.PortOpen [ = value ] value = true cổng mở value = false cổng đóng và xóa toàn
bộ dữ liệu trong bộ đệm nhận và truyền Cần phải thiết lập thuộc tính CommPort đúngvới tên của cổng trước khi mở cổng giao tiếp Thêm vào đó, cổng giao tiếp của thiết bị
Trang 30của bạn phải hỗ trợ giá trị trong thuộc tính Setting thì thiết bị của bạn mới hoạt độngđúng, còn không thì nó sẽ hoạt động rất dở hơi nếu không nói là nó chạy không tốt.Đường DTR và RTS luôn giữ lại trạng thái của cổng
+ RthresHold: object.Rthreshold [ = value ] value kiểu số nguyên Thiết lập số
kí tự nhận được trước khi gây lên sự kiện comEvReceive Mặc định = 0 tức là không
có sự kiện OnComm khi nhận được dữ liệu Thiết lập = 1 tức là sự kiện OnComm xảy
ra khi bất kì kí tự nào được chuyển đến bộ đệm nhận
+ Settings: object.Settings [ = value ] thiết lập hoặc trả lại các thông số tần sốbaud, bít dữ liệu, bít chẵn lẻ, bít stop Nếu Value không có giá trị khi mở sẽ gây ra lỗi
380 (Invalid property value)
+ SThreshold: thiết lập và và trả lại số kí tự nhỏ nhất được cho phép trong bộđệm gửi để xảy ra sự kiện OnComm = comEvSend Theo mặc định giá trị này = 0 tức
là khi truyền sẽ không gây ra sự kiện OnComm Nếu thiết lập thông số này =1 thì sựkiện OnComm xảy ra khi bộ đệm truyền rỗng Sự kiện OnComm = comEvSend chỉxảy ra khi mà số kí tự trong bộ đệm truyền nhỏ hơn hoặc = Sthreshold Nếu số kí tựtrong bộ đệm này luôn lớn hơn Sthreshold thì sự kiện này không thể xảy ra
Hình 1.17 Giao diện thuộc tính MSCom – Visua Basic
Trang 311.6 Giới thiệu về vi mạch giao tiếp MAX232
1.6.1 Cấu tạo
Hình 1.18 Vi mạch giao tiếp MAX232
- Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao
diện nối tiếp với máy tính Chúng có nhiệm vụ chuyển đổi mức qua lại giữa tín hiệuTTL và tín hiệu RS232
- Vi mạch MAX 232 có hai bộ đệm truyền và hai bộ đệm nhận Đường dẫn điều
khiển lối vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, đượcnối với chân 9 của vi mạch MAX 232 Còn chân RTS (chân 10 của vi mạch MAX232) nối với đường dẫn bắt tay để điều khiển quá trình nhận Thường thì các đườngdẫn bắt tay được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa cóthể hở mạch các cầu này Cách truyền dữ liệu đơn giản nhất là chỉ dùng ba đường dẫnTxD, RxD và GND (mass)
1.6.2 Phương thức truyền dữ liệu giữa MAX 232 và cổng COM
- Chuẩn RS232 có giao diện kết nối điểm - điểm Chủ yếu sử dụng 2 chân RxD
(chân 2) và TxD (chân 3) để trao đổi dữ liệu Khi máy tính cần truyền dữ liệu đến cácthiết bị thì thông qua chân TxD, máy tính gửi dữ liệu của nó đến các thiết bị khác.Trong khi đó dữ liệu mà máy tính nhận được lại được dẫn đến chân nối RxD Các tínhiệu khác đóng vai trò như là tín hiệu hỗ trợ khi trao đổi thông tin và vì vậy khôngphải trong mọi ứng dụng đều dùng đến
- Các bit dữ liệu được gửi đi theo kiểu đảo ngược, nghĩa là các bit có giá trị ‘1’
sẽ có mức điện áp LOW, các bit có giá trị ‘0’ sẽ có mức điện áp HIGH Mức tín hiệu
nhận và truyền qua chân RxD và TxD thông thường nằm trong khoảng -12V đến