Đồ án được nghiên cứu và thực hiện với mục đích áp dụng những kiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống thu thập dữ liệu từ RS485 và gửi tín hiệu bằng sóng điện thoại GSMSMS.Nghiên cứu và sử dụng chip vi điều khiển ARM Cortex M3. Chip mà em nghiên cứu sử dụng là STM32F103RCT6 của hãng STMicroelectronics.Nội dung của đồ án bao gồm 5 chương:Chương 1:Đặt vấn đềChương 2: Phân tích chức năng và thiết kế sơ đồ khốiChương 3: Thiết kế phần cứng Mạch nguyên lýMạch layoutChương 4: Thiết kế phần mềmChương 5: Chế tạo thử nghiệm
Trang 1ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
XÂY DỰNG HỆ THỐNG THU THẬP DỮ LIỆU
QUA GIAO DIỆN RS485 VÀ GSM
Sinh viên thực hiện : xxxxxxxxxxxxxxxxx
Giảng viên hướng dẫn: xxxxxxxxxxxxxxxxx Cán bộ phản biện :
Hà Nội, 5-2012
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Độc lập - Tự do - Hạnh phúc -
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: ……….………….…… Số hiệu sinh viên: ………
Khoá:……….Viện: Điện tử - Viễn thông Ngành: ………
1 Đầu đề đồ án: ……… ………
……… ………
2 Các số liệu và dữ liệu ban đầu: ……… ……… …… ………
……….
… ……… ………
3 Nội dung các phần thuyết minh và tính toán: ……… ….………
……… ….……
………
… ….………
4 Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ): ……… ….……
……… ……….…
………
5 Họ tên giảng viên hướng dẫn: ……… ………
6 Ngày giao nhiệm vụ đồ án: ……….………
7 Ngày hoàn thành đồ án: ……… ………
Ngày tháng năm
Sinh viên đã hoàn thành và nộp đồ án tốt nghiệp ngày tháng năm
Cán bộ phản biện
BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 3BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Số hiệu sinh viên:
Ngành: Khoá:
Giảng viên hướng dẫn:
Cán bộ phản biện :
1 Nội dung thiết kế tốt nghiệp:
2 Nhận xét của cán bộ phản biện:
Ngày tháng năm
Cán bộ phản biện
( Ký, ghi rõ họ và tên )
Trang 4Lời nói đầu
Ngày nay, với sự phát triển như vũ bão của khoa học công nghệ, đặc biệt là
sự bùng nổ trong lĩnh vực Công nghệ thông tin và Viễn thông đã tạo ra bước ngoặc quan trọng đáp ứng nhu cầu của con người, biến những đòi hỏi tưởng chừng như không tưởng trước đây thành hiện thực
Với nhu cầu thông tin ngày càng tăng của con người, mạng viễn thông đã ra đời để đáp ứng nhu cầu đó Hiện nay, mạng viễn thông đã trở nên phổ biến trên toàn cầu và gần gũi với con người, không chỉ đáp ứng nhu cầu trao đổi thông tin đơn thuần (nghe gọi, nhắn tin) mà chúng càng ngày càng được ứng dụng rộng rãi vào nhiều lĩnh vực Với sự phát triển nhanh chóng các dịch vụ và ứng dụng việc thông tin qua mạng viễn thông ngày tiện lợi, tiết kiệm thời gian, đảm bảo an toàn và tiết kiệm được chi phí sử dụng Với chất lượng mạng viễn thông như hiện nay đã tạo điều kiện cho các ứng dụng về điều khiển từ xa ra đời và càng ngày càng được ứng dụng rộng rãi
Với sự phát triển của mạng Internet và công nghệ robot, ngành y khoa đã thực hiện được một việc không tưởng đó là “phẫu thuật tim từ xa qua mạng
Internet” Bác sĩ chuyên gia tim mạch người Mỹ Andre Ng đã thực hiện thành công
ca phẫu thuật tim từ xa đầu tiên của thế giới tại Bệnh viện Glenfield ở Leicester thuộc Vương quốc Anh Bằng cách sử dụng thao tác trên bộ điều khiển Remote Catheter được chế tạo bởi công ty Catheter Robotics ở New Jersey, United States
Với điều kiện cơ sở vật chất hiện có ở nước ta và nhu cầu thực tế Thì ứng dụng gửi tin nhắn để quản lý các hệ thống bơm xăng dầu là rất khả thi Ứng dụng này sẽ giúp chúng ta có thể quản lý và điều khiển từ xa một cách nhanh chóng, chính xác, hiệu quả mà không bị giới hạn về khoảng cách, thời gian chỉ cần nơi đó
có mạng Internet hoặc mạng di động phủ sóng
Thực tế nữa là các doanh nghiệp phân phối xăng dầu ở Việt Nam chỉ chú trọng vào kênh phân phối cuối cùng mà ít khi quan tâm đến công tác quản lý Đa số công việc vẫn mang nặng tính thủ công, điều này làm mất nhiều thời gian và gây nhiều khó khăn trong quá trình quản lý
Xuất phát từ thực tiễn đó, em đã quyết định nghiên cứu và thực hiện đề tài
“Xây dựng hệ thống thu thập dữ liệu qua giao diện RS485 và GSM”
Để có thể hoàn thành tốt đề tài này em xin chân thành cảm ơn cô Chi và thầy Minh đã hướng dẫn nhiệt tình và định hướng cụ thể các công việc cần làm trong đồ
án Em cũng xin cảm ơn anh Biên và các bạn đã động viên, giúp đỡ để em hoàn thành đồ án này
Trang 5đã được học trong nhà trường để thiết kế, tạo ra một hệ thống thu thập dữ liệu từ RS485 và gửi tín hiệu bằng sóng điện thoại GSM-SMS
Tìm hiều về hệ thống điện thoại di động GSM hiện nay Nghiên cứu và sử dụng các module GSM/GPRS phổ biến hiện nay Module em thực hiện nghiên cứu
và sử dụng là module SIM900 của hãng SIMCom
Nghiên cứu và sử dụng chip vi điều khiển ARM Cortex M3 Chip mà em
nghiên cứu sử dụng là STM32F103RCT6 của hãng STMicroelectronics
Nội dung của đồ án bao gồm 5 chương:
Chương 1:Đặt vấn đề
Chương 2: Phân tích chức năng và thiết kế sơ đồ khối
Chương 3: Thiết kế phần cứng Mạch nguyên lý-Mạch layout
Chương 4: Thiết kế phần mềm
Chương 5: Chế tạo thử nghiệm
Nội dung các chương 1 và 2 nêu ra các vấn đề cần đặt ra và hướng phát triển của đề tài Phần này tập chung vào việc tìm hiểu chức năng hoạt động và lựa chọn công nghệ để phát triển sản phẩm
Các chương còn lại đi sâu tìm hiểu vấn đề cốt lõi mà đề tài yêu cầu đặt ra.Cụ thể: Chương 3 nghiên cứu tìm hiểu sơ đồ nguyên lý các khối chức năng và lựa chọn linh kiện sao cho phù hợp Chương 4 tìm hiểu phần mềm lập trình để nạp chương trình,gỡ lỗi và test thử kết hợp với phần cứng Chương 5 đưa ra các kết quả đạt được trong quá trình nghiên cứu và thực hiện đề tài
Tuy nhiên vì đề tài phải hoàn thành trong thời gian ngắn nên trong quá trình biên soạn không tránh khỏi thiếu sót Xin chân thành cảm ơn những ý kiến đóng góp phê bình từ thầy cô và bạn đọc những thiếu xót để quyển đồ án ngày càng hoàn thiện hơn Mọi ý kiến đóng góp, phê bình và thắc mắc xin liên hệ qua e-mail:
ducdt4@gmail.com Xin chân thành cảm ơn!
Trang 6Chapter 2:Function and Diagram design analysis
Chapter 3:Principle circuit-circuit layout hardware design
Chapter 4: Software design
The rest will dig deeply to the core of the problem Specifically, chapter 3 studies the principle diagram and proper devices Chapter 4 is about the software to run, debug and test the hardware Chapter 5 reveals the results of the work
Even though I have tried my best, mistake and incompletion are unavoidable
I would be very grateful to have feedbacks from teachers, students or any reader to help me improve this paper All the feedbacks can be sent via email
Trang 7MỤC LỤC
Lời nói đầu 1
Tóm tắt đồ án 2
Abstract 3
MỤC LỤC 4
DANH SÁCH CÁC HÌNH VẼ 6
DANH SÁCH CÁC BẢNG BIỂU 7
Chương 1:Đặt vấn đề 8
1.1 Giới thiệu các hệ thống thu thập dữ liệu 8
1.1.1 Hệ thống thu thập dữ liệu thời tiết 8
1.1.2 Hệ thống giám sát và thu thập dữ liệu mạng cấp nước qua mạng GPRS/EDGE 8
1.1.3 Hệ thống bán lẻ xăng dầu 9
1.2 Yêu cầu hệ thống 10
1.2.1 Yêu cầu chức năng 10
1.2.2 Yêu cầu phi chức năng 11
Chương 2: Phân tích chức năng và thiết kếsơ đồ khối 13
2.1 Phân tích sơ đồ chức năng 13
2.2.1 Vi điều khiển 14
2.2.2 Giao tiếp nối tiếp 19
2.2.3 Giao tiếp GSM-SMS 23
2.2.4 Giao tiếp thẻ nhớ 25
2.2.5 Khối nguồn 28
Chương 3: Thiết kế phần cứngMạch nguyên lý-Mạch layout 30
3.1 Công cụ thiết kế mạch nguyên lý và layout Altium 30
3.2 Kết nối VĐK 31
3.2.1 Nguồn cho STM32 31
3.1.2 Tín hiệu vào ra STM32 31
3.3 Kết nối giao tiếp RS485 33
3.4 Kết nối module sim 34
Trang 8Trang 5
3.5 Kết nối giao tiếp thẻ nhớ 40
3.6 Sơ đồ nguyên lý 42
Chương 4: Thiết kế phần mềm 43
4.1 Tổng quan lập trình cho STM32 43
4.1.1 Các thiết bị ngoại vi của VĐK 43
4.1.2 Công cụ phần mềm biên dịch, gỡ lỗi nạp chương trình của STM32 45
4.2 Thiết kế cấu trúc chung chương trình 47
4.2.1 Khai báo các hàm giao tiếp RS232, RS485 48
4.2.2 Khai báo các hàm điều khiển module sim 48
4.2.3 Khai báo các hàm đọc ghi thẻ nhớ 48
4.3 Triển khai các hàm chương trình 48
4.3.1 Giao tiếp RS232, RS485 48
4.3.2 Câu lệnh AT điều khiển Module Sim900 53
4.3.3 Câu lệnh đọc ghi thẻ nhớ và hàm định dạng FATFS 60
Chương 5: Chế tạo thử nghiệm 65
5.1 Mạch sau khi chế tạo 65
5.2 Đo kiểm 68
5.3 Chạy thử chương trình 69
5.4 Kết luận 70
Tài liệu tham khảo 72
Phụ lục 73
Phụ lục 1: Mã nguồn chương trình 73
Phụ lục 2: Danh sách linh kiện và số lượng sử dụng 81
Trang 9DANH SÁCH CÁC HÌNH VẼ
Hình 1.1 Mô hình hoạt động của Cello [1] 9
Hình 1.2 Mô hình chung hệ thống quản lý trạm xăng [2] 10
Hình 1.3 Giao tiếp thông qua RS485 [3] 11
Hình 2 1 Sơ đồ chức năng hệ thống 13
Hình 2 2 Sơ đồ khối hệ thống 14
Hình 2 3 So sánh bộ nhớ ARM thường và ARM Cortex [4] 15
Hình 2 4 Sơ đồ chân chip STM32F103 [5] 16
Hình 2 5 Sơ đồ chân IC Atmega2560 [6] 18
Hình 2 6 Sơ đồ chân Pic24FJ256GB106 [7] 19
Hình 2 7 Sơ đồ chân và hình dạng cổng com 9 chân [8] 21
Hình 2 8 Sơ đồ chân IC Max485 [9] 22
Hình 2 9 Module Sim548C [10] 23
Hình 2 10 Module Sim900 [11] 24
Hình 2 11 Sơ đồ chân thẻ nhớ SD Card [12] 26
Hình 2 12 Kiến trúc thẻ nhớ SD Card [12] 26
Hình 2.13 Sơ đồ khối thẻ nhớ SD Card [12] 26
Hình 2.14 Cấu trúc bộ nhớ SD Card [12] 27
Hình 2 15 Cấu trúc liên kết các thẻ nhớ SD Card [12] 27
Hình 2 16 IC LM1117 3.3V [13] 28
Hình 2 17 IC LM2576 [13] 28
Hình 3 1 Phần mềm thiết kế mạch Altium Designer 30
Hình 3 2 Khối nguồn cho vi điều khiển STM32F103 31
Hình 3 3 Khối giao tiếp UART 31
Hình 3 4 Giao diện cơ bản giao tiếp SPI [14] 33
Hình 3 5 Khối giao tiếp Flash memory 33
Hình 3 6 Khối nguồn nuôi IC Max485 34
Hình 3 7 Khối giao tiếp vi điều khiển với IC Max485 34
Hình 3 8 Khối nguồn nuôi Module Sim900 34
Hình 3 9 Nối chân VBAT cho module Sim900 [15] 35
Hình 3 10 Điện áp VBAT trong quá trình truyền [15] 35
Hình 3 11 Giao tiếp nâng cấp phần mềm và giao tiếp [15] 40
Hình 3 12 Khối giao tiếp Module Sim900 với vi điều khiển 40
Hình 3 13 Giao tiếp giữa SD Card và SPI [4] 41
Hình 3 14 Khối giao tiếp thẻ nhớ với vi điều khiển 41
Hình 3 15 Sơ đồ nguyên lý mạch thiết kế 42
Hình 4 1 Sơ đồ khối vi điều khiển STM32F103RC [5] 43
Hình 4 2 Sơ đồ bộ nhớ [5] 44
Hình 4 3 Phần mềm lập trình keil ARM 46
Hình 4 4 Phần mềm Source Insight 46
Trang 10Trang 7
Hình 4 5 Độ dài Word lập trình[17] 49
Hình 4 6 Cấu hình các bit Stop [17] 50
Hình 4 7 Phát hiện bit Start [17] 51
Hình 4 8 Thiết lập cấu hình mặc định [17] 55
Hình 4 9 Khởi tạo vùng nhớ [17] 57
Hình 4 10 Nhận và đọc tin nhắn [17] 58
Hình 4 11 Gửi tin nhắn [17] 59
Hình 4 12 Đọc dữ liệu từ thẻ nhớ [5] 61
Hình 4 13 Ghi dữ liệu xuống thẻ nhớ [5] 61
Hình 4 14 Đọc một multi block [18] 62
Hình 4 15 Viết một multi block [18] 63
Hình 4 16 Định dạng một command [18] 63
Hình 4 17 Định dạng response [18] 63
Hình 4 18 Tổ chức FATFS [4] 64
Hình 5 1 Mạch layout mặt trên 65
Hình 5 2 Sơ đồ layout mặt dưới 66
Hình 5 3 Mặt trên của sản phẩm 67
Hình 5 4 Mặt dưới của sản phẩm 68
DANH SÁCH CÁC BẢNG BIỂU Bảng 3 1 Chức năng chân của module SIM300CZ 35
Bảng 3 2 Mô tả chân kết nối DIP 36
Bảng 4 1 Khung lệnh của SD Card 60
Bảng 4 2 Một số lệnh thường gặp của SD Card 60
Bảng 5 1 Điện áp chân IC Max3232 68
Bảng 5 2 Điện áp một số chân IC STM32F103 69
Bảng 5 3 Điện áp một số chân Module sim900 69
Trang 11Chương 1: Đặt vấn đề
1.1 Giới thiệu các hệ thống thu thập dữ liệu
Ngày nay với sự phát triển của lý thuyết về công nghệ thông tin thì các hệ thống thu thập dữ liệu ngày càng được cải thiện và có những tính năng mới Trong cuộc sống hàng ngày chúng ta bắt gặp rất nhiều hệ thống thu thập dữ liệu phục vụ cho lợi ích cho các cá nhân,tổ chức,mỗi quốc gia
1.1.1 Hệ thống thu thập dữ liệu thời tiết
Hầu hết các nước đang phát triển hiện vẫn còn dựa vào các hệ thống lỗi thời trong việc thu thập các dữ liệu thủy văn và chúng ta đưa ra các thông tin hơi khó tin
và rất đáng ngờ.Việc theo dõi lượng nước trong các đám mây và việc có được thông tin chính xác và liên tục về gió sẽ giúp ta quản lý tốt hơn việc dự báo lượng mưa Trong mọi trường hợp việc thu thập dữ liệu bằng tay đã quá lỗi thời cần được thay thế bằng việc theo dõi liên tục và tự động Gần đây nhất CNR và IRD(Cơ quan nghiên cứu và phát triển của Pháp) đã cùng phát triển HYDROMET, một phần mềm chuyên dung cho việc đo từ xa và xử lý các dữ liệu khí tượng-thủy văn theo thời gian thực và lưu giữ các thông tin trong các cơ sở dữ liệu Việc thu thập dữ liệu liên tục trên một vùng lưu vực sông rộng và các khu vực khí hậu liền kề.Tần số của các hiện tượng quá mức giới hạn thông thường không thể xử lý được trong khoảng thời gian ngắn
Việc so sánh giữa các lưu vực giống nhau với một quá trình thu thập dữ liệu dài hơn có thể giúp loại bỏ những rủi ro có thể xảy ra,với điều kiện các thông số khí hậu thay đổi không quá nhiều Một khi có được các dữ liệu khí tượng-thủy văn, địa mạo và đất chính xác việc lập mô hình thời tiết sẽ có ý nghĩa và có thể đưa ra quyết định nhanh chóng và đúng đắn thông qua các mô phỏng
1.1.2 Hệ thống giám sát và thu thập dữ liệu mạng cấp nước qua mạng GPRS/EDGE
Hệ thống cấp nước là cơ sở hạ tầng đặc biệt quan trọng ở các thành thị Hiện nay tại các đô thị lớn của Việt Nam có khá nhiều khu vực dân cư không đủ nước sạch để dùng, nhưng trên thực tế lượng thất thoát nước sạch lại rất lớn, trung bình trong cả nước là vào khoảng 33%, trong đó Tp.HCM, Hà Nội và Tiền Giang là các địa phương có mức độ thất thoát lớn nhất khoảng trên 40% Với các công ty cấp nước, việc giảm thất thoát là một vấn đề trọng yếu, nhất là đối với khu vực các nước đang phát triển đang có hệ số thất thoát cao Hàng triệu USD có thể tiết kiệm nếu có thể giảm tỷ lệ thất thoát vài phần trăm
Để trị căn bệnh thất thoát nước như hiện nay là một nhiệm vụ không hề đơn giản cho các công ty cấp nước Tuy nhiên, đó là nhiệm vụ bắt buộc phải thực hiện trong thời kỳ mới này, thời kỳ của hội nhập và cạnh tranh
Một trong các công việc đầu tiên để có thể đưa ra được các giải pháp giảm thất thoát nước hữu hiệu và mang tính lâu dài là xây dựng trung tâm thu thập và quản lý dữ liệu mạng cấp nước, sau đó từ nguồn dữ liệu này chúng ta mới bắt đầu
Trang 12Hình 1.1 Mô hình hoạt động của Cello [1]
Cello ghi nhận dữ liệu từ các ngõ vào theo thời gian cài đặt (interval), và gởi
dữ liệu về máy tính chủ (host computer) qua mạng GSM/GPRS theo thời gian cài đặt trước Các ngõ vào ghi nhận dữ liệu có thể cấu hình, cài đặt riêng, nếu không sử dụng thì chúng ta không khai báo cấu hình cho ngõ vào đó để tiết kiệm vùng nhớ và tiết kiệm chi phí gởi dữ liệu qua mạng GSM/GPRS (trong mỗi Cello chúng ta lắp đặt 1 simcard)
Các ngõ vào có thể cài đặt các mức cảnh báo cao/thấp, khi có cảnh báo Cello
sẽ ngay lập tức gởi cảnh báo về máy tính host, sau đó cảnh báo có thể cài đặt để gởi đến e-mail hoặc điện thoại cầm tay của những người được khai báo trước
Các thông số cài đặt, cấu hình của cello củng được gởi về máy tính chủ, từ trên phần mềm trên máy tính chủ chúng ta có thể thay đổi các thông số cài đặt này
và sau đó truyền tải xuống Cello qua mạng GSM/GPRS.Ngoài ra, từ máy chủ chúng
ta có thể ra lệnh yêu cầu Cello gởi dữ liệu về khi cần thiết
1.1.3 Hệ thống bán lẻ xăng dầu
Việc áp dụng công nghệ tự động hóa vào lĩnh vực kinh doanh xăng dầu đã được ứng dụng tại rất nhiều quốc gia trên thế giới và mang lại rất nhiều hiệu quả Tại Việt Nam, việc hiện đại công tác quản lý cũng là nhu cầu bức thiết hiện nay của các doanh nghiệp phân phối xăng dầu, để phát triển theo xu hướng chung của hội nhập.Việc ứng dụng công nghệ thông tin vào công tác quản lý phục vụ cho ngành xăng dầu, các bài toán đặt ra gồm có: quản lý tồn nhiên liệu, quản lý bán hàng, tích hợp số liệu cho công tác quản lý của doanh nghiệp xăng dầu,quản lý số lượng bơm,số lít và tiền tại các cột bơm
Đây là những bài toán cơ bản cần phải giải quyết để hướng đến chuyên nghiệp hóa trong công tác quản lý xăng dầu Phía các doanh nghiệp cần phải đầu tư
hạ tầng cơ bản ban đầu về thiết bị cũng như các phần mềm làm nền tảng cho việc cải tiến và phát triển theo mô hình quản lý hiện đại và chuyên nghiệp hơn
Mô hình bán xăng dầu tự động đã được ứng dụng tại nhiều quốc gia trên thế giới vì nó mang lại hiệu quả cao trong quản lý Tại Việt Nam, việc nghiên cứu, ứng dụng mô hình này cũng là nhu cầu bức thiết của các nhà phân phối xăng dầu.Tình hình kinh doanh xăng dầu ở Việt Nam hiện nay còn nhiều điều bất cập Điển hình là
Trang 13một số đơn vị kinh doanh không bán đúng chất lượng và số lượng như báo chí đưa tin Chính điều này đã gây thiệt thòi lớn cho người tiêu dùng và nhất là các cơ quan chức năng không có công cụ để giám sát và quản lý
Trước thực tế đó, đã có rất nhiều đơn vị, công ty nghiên cứu và ứng dụng thành công “Hệ thống quản lý xăng dầu” Hệ thống này có khả năng phát hiện nước trong bồn, cảnh báo nhiệt độ cao, cảnh báo nạp nhiên liệu, cảnh báo rò rỉ bồn Tất
cả đều được kiểm soát bằng các thiết bị tự động hiện đại Hệ thống Quản lý đo bồn
tự động giúp giảm thời gian đo bồn, thao tác ghi chép số liệu ở từng thời điểm, cho phép quản lý biết tức thời số lượng xăng dầu hiện có tại các bồn nhiên liệu mà không cần qua các thao tác thủ công nào
Hình 1.2 Mô hình chung hệ thống quản lý trạm xăng [2]
Hệ thống quản lý trạm xăng được thiết kế và cung cấp phục vụ công tác quản
lý số liệu tồn và số liệu bán hàng tại các trạm xăng Tất cả các số liệu được cập nhật theo thời gian thực và được tích hợp lên một cổng thông tin hỗ trợ ra quyết định
1.2.1 Yêu cầu chức năng
a)Giao tiếp với hệ thống đo, hệ thống bán hàng qua chuẩn giao tiếp RS232 hoặc RS485
Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều khiển, giao tiếp giữa PC với các thiết bị đo lường khác Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết
bị ngoại vi với máy tính Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm
Trang 14Đồ Án Tốt Nghiệp
Trang 11
bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền
Trong công nghiệp ngày nay, chuẩn truyền thông RS232 không thể đáp ứng được nhu cầu truyền thông nữa vì đường truyền không cân bằng (các tín hiệu đều lấy điểm chuẩn là đường mass chung, bị ảnh hưởng của nhiễu tác động) do đó tốc
độ truyền và khoảng cách truyền bị giới hạn (khoảng cách truyền thông tối đa 100m) Vì vậy để đáp ứng nhu cầu truyền thông công nghiệp, người ta sử dụng chuẩn truyền thông RS485 khi cần tăng khoảng cách và tốc độ truyền thông (khoảng cách truyền thông tối đa 1200m và vận tốc truyền lên đến 10 Mbits/s) Nguyên nhân mà RS485 có thể tăng tốc độ và khoảng cách truyền thông là do RS -
485 sử dụng phương pháp truyền 2 dây vi sai (vì 2 dây có đặc tính giống nhau, tín hiệu truyền đi là hiệu số điện áp giữa 2 dây do đó loại trừ được nhiễu chung) Mặt khác do chuẩn truyền thông RS 232 không cho phép có hơn 2 thiết bị truyền nhận tin trên đường dây trong khi đó với chuẩn RS 485 ta có thể nối 32 thiết bị thu phát trên 2 dây
c)Truyền dữ liệu về trung tâm qua SMS
Các dòng sản phẩm không dây mang đến những ưu điểm cho người sử dụng
và khắc phục những nhược điểm về khoảng cách địa lý dùng dây dẫn, cáp nối Chỉ cần một chiếc SIM điện thoại và ở đâu có sóng điện thoại di động là chúng ta có thể truyền thông được
1.2.2 Yêu cầu phi chức năng
a) Giá thành
Khi làm mạch yêu cầu giá thành phải thấp nhất có thể để có thể cạnh tranh được trên thị trường.Với yêu cầu đó thì chi phí để làm mạch đồ án là trong khoảng
từ 1-1,5 triệu đồng
Trang 15d) Khả năng mở rộng
Tính năng có thể mở rộng và phát triển chức năng cũng là một phần rất quan trọng không thể thiếu.Khi khách hàng muốn yêu cầu thêm chức năng hoặc cải thiện các chức năng thì có thể mở rộng và kết nối được
Trang 16Chức năng gửi câu lệnh AT: câu lệnh được gửi từ vi điều khiển đến module Sim900.Cấu hình mặc định cho Sim900 và gửi câu lệnh để module sim gửi tin nhắn SMS tới số điện thoại nhận
Chức năng hiển thị: dùng để hiển thị các trạng thái hoạt động của vi điều khiển.Có thể dùng LCD để hiện thị hoặc dùng phần mềm hyper terminal có trong Windown XP, Win 7
Chức năng lưu trữ: việc lưu trữ dữ liệu khỏi bị thất thoát là rất quan trọng vì nhiều khi ta cần đọc lại dữ liệu khi cần Dữ liệu có thể được lưu trữ trong flash hoặc được lưu trữ trong thẻ nhớ SD Card
2.2 Thiết kế sơ đồ khối và lựa chọn linh kiện cho các khối
Sơ đồ khối:
Quản lý cột bơm xăng
Chức năng Thu thập dữ liệu
Chức năng gửi câu lệnh
Chức năng Hiển thị
Chức năng Lưu trữ
Trang 17Hình 2 2 Sơ đồ khối hệ thống
2.2.1 Vi điều khiển
Ngày nay có rất nhiều loại vi điều khiển được sử dụng trên thị trường như 8051,Pic,atmega và đặc biệt là arm Sau đây sẽ giới thiệu một vài vi điều khiển có thể được lựa chọn cho dự án
a)STM32F103RC
Ngày nay các nhà sản xuất IC đưa ra thị trường hơn 240 dong chip vi điều khiển sử dụng lõi ARM Thì tập đoàn ST Microelectronic thì cho ra mắt dòng chip STM32, vi điều khiển đầu tiên dựa trên nền lõi ARM Cortex M3 thế hệ mới do hãng ARM thiết kế, được cải tiến từ lõi ARM7 truyền thống, từng mang lại thành công vang dội cho công ty ARM Dòng STM32 thiết lập các tiêu chuẩn mới về hiệu suất, chi phí, cũng như khả năng đáp ứng các ứng dụng tiêu thụ năng lượng thấp và tính điều khiển thời gian thực khắc khe
Không gian địa chỉ 4Gbyte của Cortex M3 được chia là các vùng cho bộ nhớ chương trình, SRAM, ngoại vi và ngoại vi hệ thống Cortex M3 được thiết kế dựa theo cấu trúc Harvard (bộ nhớ chương trình và bọ nhớ dữ liệu tách biệt nhau) Có nhiều bus để có thể thực hiện nhiều công việc song song với nhau, do đó là tăng hiệu suất chip Không giống như các dòng ARM trước đây, dòng Cortex cho phép truy cập bộ nhớ không xếp hàng (vì dòng ARM có kiến trúc 32 bit, do đó tất cả dữ liệu và mã chương trình sắp xếp theo bội số của 4byte) nên đặc điểm này cho phép
sử dụng hiệu quả SRAM nội Dòng Cortex còn hỗ trợ việc đặt và xóa các bit bên trong hai vùng 1Mbyte của bộ nhớ bằng phương pháp gọi là bit banding Đặc điểm này cho phép truy cập hiệu quả đến các thanh ghi ngoại vi và các cờ được dùng trên
bộ nhớ SRAM mà không cần một bộ xử lí luận lí
Một trong những thành phần chính của lỗi Cortex M3 là NVIC (Nested Vector Interrupt Controller) NVIC cung cấp một cấu trúc ngắt chuẩn cho tấc cả các
Khối hiển thị
Hyper Terminal
Khối lưu trữ Thẻ nhớ SDCard
Khối câu lệnh gửi tin nhắn SMS
Trang 18Đồ Án Tốt Nghiệp
Trang 15
vi điều khiển được thiết kế trên lõi Cortex và cách xử lí ngắt đặc biệt (exceptional interrupt) NVIC cung cấp các vector ngắt chuyên dụng lên đến 240 nguồn ngắt từ ngoại vi, mỗi nguồn ngắt đó có thể được ưu tiên với các mức khác nhau NVIC được thiết kế để xử lý các ngắt đòi hỏi thời gian đáp ứng cực kỳ nhanh Thời gian từ lúc nhận tín hiệu ngắt cho tới khi thực hiện dòng lệnh đầu tiên trong trình phục ngắt chỉ khoảng 12 chu kỳ xung nhịp Công việc này được thực hiện tự động bởi một vi chương trình cài sẵn trong CPU Trường hợp các ngắt lồng nhau NVIC sử dụng phương thức gọi là “tail chain” cho phép ngắt liên tiếp được phục vụ với độ trễ chỉ
có 6 chu kỳ xung nhịp Trong quá trình thực thi chương trình phục vụ ngắt, một ngắt có mức ưu tiên cao hơn ngắt hiện tại có thể cạnh tranh với ngắt hiện tại mà không chịu bất kỳ sự trì hoãn nào
Đặc điểm nổi bật của STM32 so với các dòng ARM khác chính là khả năng truy cập bộ nhớ không xếp hàng (Unaligned Memory Accesses) Tập lệnh ARM7
và ARM9 có khả năng truy cập các biến có dấu và không dấu có kích thước byte, half word (thường là 2 byte) và word (4byte) Điều này cho phép CPU hỗ trợ các biến số nguyên mà không cần đến thư viện phần mềm hỗ trợ, thường được yêu cầu với vi điều khiển 8bit và 16bit Tuy nhiên, các phiên bản CPU ARM trước đó gặp bất lợi ở chỗ, nó chỉ có thể truy cập dữ liệu có kích thước là word hay half word Điều này hạn chế khả năng của liên kết của trình biên dịch (compiler linker) trong việc đóng gói dữ liệu vào SRAM, như vậy một số SRAM sẽ bị lãng phí Việc lãng phí này có thể lên đến 25% tùy thuộc vào sự kết hợp của các biến được sử dụng Bộ
xử lý Cortex M3 có thể truy cập bộ nhớ không xếp hàng việc đó đảm bảo rằng SRAM được sử dụng một cách hiệu quả
Hình 2 3 So sánh bộ nhớ ARM thường và ARM Cortex [4]
Tính năng chính của Chip STM32F103:
Lõi ARM 32-bit Cortex-M3 CPU
Tần số hoạt động tối đa 72MHz, hiệu suất là mức 0 ở trạng thái chờ truy cập bộ nhớ
Có bộ nhân và chia tần số bằng phần cứng
256 đến 512 Kbyte bộ nhớ Flash ROM
Trang 19 64 Kbyte SRAM
Bộ điều khiển bộ nhớ tĩnh linh hoạt với 4 chip Select Hỗ trợ được các loại bộ nhớ Compact Flash, SRAM, PSRAM, NOR, NAND
Giao tiếp song song LCD
Clock, Reset và quản lý nguồn :
2 đến 3.6V cho guồn cung cấp và các cổng xuất nhập I/O
Dao động thạch anh 4 đến 16 MHz
Dao động nội chuẩn 8 MHz
Dao động RTC chuẩn 32 KHz
Tiêu thụ năng lượng thấp:
3 chế độ hoạt động : SLEEP, STOP và STANDBY
VBAT cung cấp cho RTC và thanh ghi dự phòng
3 x Bộ chuyển đổi A/D 12bit 1us (21 kênh chuyển đổi)
Phạm vi chuyển đổi: 0 - 3.6V
Bộ giữ mẫu
Cảm biến nhiệt độ
2 x Bộ chuyển đổi D/A 12bit, 1us
12 kênh điều khiển DMA
Hỗ trợ các giao tiếp ngoại vi: Timer, ADC, DAC, SDIO, I2S, I2C, SPI
và USART
Với 13 giao tiếp truyền dữ liệu
2 Giao tiếp I2C
5 Giao tiếp USART
3 Giao tiếp SPI (18Mbit/s), 2 giao tiếp đa năng I2S
Giao tiếp CAN
Giao tiếp USB 2.0 full-speed
Giao tiếp SDIO
Hình 2 4 Sơ đồ chân chip STM32F103 [5]
Trang 20Đồ Án Tốt Nghiệp
Trang 17
b)ATMEGA 256
Các tính năng chính:
Hiệu suất cao, điện năng thấp Atmel AVR vi điều khiển 8-Bit
Kiến trúc nâng cao RISC
Độ bền cao ,bộ nhớ phân đoạn
64K/128K/256KBytes hệ thống tự lập trình Flash
4Kbytes EEPROM
8Kbytes SRAM
Viết / Xoá bỏ với chu kỳ: 10.000 Flash/100, 000 EEPROM
Dữ liệu duy trì: 20 năm ở 85 ° C / 100 năm ở 25 ° C
Trong hệ thống lập trình bởi Chương trình khởi động On-chip
Lập trình khóa mã phần mềm
64Kbytes tùy chọn bộ nhớ ngoài
Nút cảm ứng điện dung, thanh trượt
JTAG (IEEE tiêu chuẩn 1.149)
Hỗ trợ gỡ lỗi On-chip mở rộng
Lập trình Flash, EEPROM, bảo vệ và khóa Bits thông qua giao diện JTAG
Thiết bị ngoại vi :
8-bit Timer / Counters với Prescaler riêng biệt và so sánh chế độ
4*16-bit Timer / Counter với Prescaler riêng biệt, so sánh và chế độ Capture
Thời gian truy cập với dao động riêng biệt
4* 8-bit PWM kênh
6/12 PWM với lập trình 2-16 Bits
8/16-channel,10-bitADC(ATmega1281/2561,ATmega640/1280/2560)
4 cổng lập trình nối tiếp USART
Master / Slave SPI Giao diện nối tiếp
Lập trình Watchdog Timer với Oscillator On-chip riêng biệt
Các tính năng vi điều khiển đặc biệt:
Power-on Reset và lập trình phát hiện Brown-out
Các nguồn bên ngoài và nội bộ ngắt
6 chế độ: Idle, ADC giảm nhiễu, Power-save, Power-down, chờ,và
mở rộng chế độ chờ
54/86 lập trình I / O Lines (ATmega1281/2561,
ATmega640/1280/2560)
Trang 21Hình 2 5 Sơ đồ chân IC Atmega2560 [6]
Thiết bị này được sản xuất bằng cách sử dụng công nghệ cao, mật độ Atmel của bộ nhớ non-volatile On-chip ISP Flash cho phép bộ nhớ chương trình được lập trình lại trong hệ thống thông qua một nối tiếp giao diện SPI, bởi một lập trình bộ nhớ không thông thường, hoặc bởi một chương trình khởi động On-chip chạy trên lõi AVR Các chương trình khởi động có thể sử dụng bất kỳ giao diện để tải về các ứng dụng chương trình trong bộ nhớ Flash của ứng dụng Phần mềm trong phần Flash Boot sẽ tiếp tục chạy trong khi phần ứng dụng Flash được cập nhật, cung cấp thực sự hoạt động nghi thức đọc
AVR ATmega640/1280/1281/2560/2561 được hỗ trợ với một bộ đầy đủ các chương trình và các công cụ phát triển hệ thống bao gồm: trình biên dịch C, chương trình debugger / mô phỏng, giả lập trong mạch
c)PIC24FJ256GB106-I/PT
Lý tưởng cho điện năng thấp (<100nA dòng chờ) và các ứng dụng kết nối từ
sự sẵn có của nhiều cổng nối tiếp (3xI2C, 3xSPI), 4xUARTS, và 23 bộ định thời độc lập Với lượng lớn bộ nhớ RAM (16KB) bộ nhớ để đệm và bộ nhớ flash (lên đến 256 KB) Tăng cường bộ nhớ chương trình flash là rất lý tưởng cho các điều khiển nhúng và các ứng dụng giám sát Hỗ trợ việc cấu hình chân vào ra hiệu quả nhất và CTMU cung cấp hỗ trợ cảm ứng lên đến 64 nút riêng biệt Hỗ trợ USB 2.0 Host, thiết bị, và phần mềm đầy đủ, miễn phí bao gồm một loạt các ứng dụng
Các tính năng chính:
Hoạt động lên đến 16 MIPS
16 x 16 nhân phần cứng với một chu kỳ thực hiện lệnh
Tối ưu hóa trình biên dịch
Chế độ nguồn quản lý:
Chạy chế độ Run, Idle và Sleep
Chế độ chạy : 1 mA / MIPS, chủ yếu 2.0V
Tính năng hệ thống:
Trang 22Đồ Án Tốt Nghiệp
Trang 19
Dao động nội hỗ trợ từ 31kHz đến 8MHz và có thể lên đến 32MHz với 4*PLL
Watchdog timer với bộ dao động riêng biệt
Thiết bị ngoại vi:
10-bit ADC ,16 kênh
Giao tiếp USB v2.0
4xUART giao tiếp nối tiếp
3xSPI, 3xI2C
5* 16-bit Timer …
Hình 2 6 Sơ đồ chân Pic24FJ256GB106 [7]
Qua việc tìm hiểu các dòng vi điều khiển có trên thị trường của 3 loại trên thì nhận thấy các dòng vi điều khiển kể trên đều có cấu hình rất mạnh Nhưng trong khuôn khổ của đề tài và giới hạn kinh phí nên em đã chọn IC STM32F103RC làm chức năng chính điều khiển các module và các giao tiếp ngoại vi.Bởi vì với tính năng vượt trội cộng giá thành nhỏ hơn nhiều so với các dòng vi điều khiển khác cùng tính năng
2.2.2 Giao tiếp nối tiếp
a) Giao tiếp RS232
Ưu điểm của giao diện nối tiếp RS232 :
Khả năng chống nhiễu của các cổng nối tiếp cao
Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
Những đặc điểm cần lưu ý trong chuẩn RS232 :
Trang 23 Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là 12V Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000
Các lối vào phải có điện dung nhỏ hơn 2500pF
Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m nếu chúng ta không sử model
Các giá trị tốc độ truyền dữ liệu chuẩn :
50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400 57600,115200 bps
Các mức điện áp đường truyền :
RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất Do đó ngay
từ đầu tiên ra đời nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương thích TTL để mô tả các mức logic 0 và 1 Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát
Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả như sau:
Mức logic 0 : +3V , +12V
Mức logic 1 : -12V, -3V
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến Chính vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBs
Cổng RS232 trên PC : Hầu hết các máy tính cá nhân hiện nay đều được trang
bị ít nhất là 1 cổng Com hay cổng nối tiếp RS232 Số lượng cổng Com có thể lên tới 4 tùy từng loại main máy tính Khi đó các cổng Com đó được đánh dấu là Com
1, Com 2, Com 3 Trên đó có 2 loại đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) hoặc 25 chân (DB25) Tuy hai loại đầu nối này có cùng song song nhưng hai loại đầu nối này được phân biệt bởi cổng đực (DB9) và cổng cái (DB25)
Ta xét sơ đồ chân cổng Com 9 chân:
Trang 24Đồ Án Tốt Nghiệp
Trang 21
Hình 2 7 Sơ đồ chân và hình dạng cổng com 9 chân [8]
Chức năng của các chân như sau:
Chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu
Chân 2: Receive Data (RxD) : Nhận dữ liệu
Chân 3 : Transmit Data (TxD) : Truyền dữ liệu
Chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích hoạt bởi bộ phận khi muốn truyền dữ liệu
Chân 5 : Singal Ground ( SG) : Mass của tín hiệu
Chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu
Chân 7 : Request to Send : yêu cầu gửi, bô truyền đặt đường này lên mức hoạt động khi sẵn sàng truyền dữ liệu
Chân 8 : Clear To Send (CTS) : Xóa để gửi ,bô nhận đặt đường này lên mức kích hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận tín hiệu
Chân 9 : Ring Indicate (RI) : Báo chuông cho biết là bộ nhận đang nhận tín hiệu rung chuông
Quá trình dữ liệu truyền nhận dữ liệu:
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng
bộ Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự)
Bộ truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp the Bit này luôn bắt đầu bằng mức 0 Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng
Tốc độ Baud : đây là một tham số đặc trưng của RS232 Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa
vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit)
Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu
Trang 25được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200,
2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200
Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ Điều này làm giới hạn tốc Baud và khoảng cách truyền
Bit chẵn lẻ hay Parity bit :
Đây là bit kiểm tra lỗi trên đường truyền Thực chất của quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong quá trình truyền Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit "1" được gửi trong một khung truyền là chẵn hay lẻ
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như
1,3,,5,7,9 Nếu như một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp không mắc lỗi vì thế không phát hiện ra lỗi Do
đó trong kỹ thuật mã hóa lỗi này không được sử dụng trong trường hợp có khả năng một vài bit bị mắc lỗi
b)Giao tiếp RS485
Thật ra đây đơn thuần chỉ là 1 bộ chuyển đổi từ tín hiệu của chuẩn giao tiếp
RS 232 sang tín hiệu của chuẩn giao tiếp RS 485 để có thể truyền tín hiệu đi trên đường dây RS 485 và từ đó có thể truyền tín hiệu đi xa và nhanh được
Đây là sơ đồ chân của Max 485:
Hình 2 8 Sơ đồ chân IC Max485 [9]
Max 485 gồm bộ lái và bộ thu, tín hiệu vào bộ lái D logic TTL đổi thành 2 tín hiệu A và A\ , khi tín hiệu điều khiển DE mức thấp thì 2 chân AA\ cách ly với vi mạch Tín hiệu vào bộ thu là A và A\ , tín hiệu ra R logic TTL tùy thuộc hiệu điện
áp giữa A và A\ , khi RE\ logic 1 thì R cách ly với vi mạch
Trang 26SIM900 Quad-band GSM / GPRS mô
núi Công nghệ (SMT) series, cho phép b
phí hiệu quả các giải pháp
Với một giao diện tiêu chu
850/900/1800/1900MHz hi
một yếu tố hình thức nhỏ
p
ng 485 làm việc theo chế độ master-slave, master cho DE m
u, còn các slave có DE=0, RE\=0 chờ nhận dữ liệu Khi master mu
u thì DE=0, RE\=0 còn slave phát sẽ có DE=1, RE\=1 Ta đi
ng tín hiệu RTS hay mạch định thì
p GSM-SMS
–SIM 548C Đây là module GSM/GPRS và GPS của hãng SIMCOM
Hình 2 9 Module Sim548C [10]
Module SIM548 có thể hoạt động với các tần số sau GSM 850MHz, 900 MHz, DCS 1800MHz và PCS 1900MHz và cũng hỗ trợ kỹ thuật GPS đ
c nhỏ 55mm x 34mm x 3.0 mm,module này có th
ng như Smart phone,PDA phone,thiết bị định vị GPS cầ
giao tiếp với module thông qua chuẩn đế 60 chân dành riêng cho module SIM548 Thông qua đế chuẩn 60 chân này,chúng ta có th
c đích : Bàn phím,bảng nút nhấn hay SPI LCD
t port giao tiếp nối tiếp dành cho GSM và hai port ncho GPS giúp cho việc thiết kế và phát triển ứng dụng mdàng hơn thông qua việc giao tiếp bằng tập lệnh AT
band GSM / GPRS mô-đun là một phần của bề(SMT) series, cho phép bạn được hưởng lợi từ kích thư
slave, master cho DE mức 1 để
u Khi master muốn
=1 Ta điều khiển các
sau GSM 850MHz, 900
t GPS định vị vị trí
55mm x 34mm x 3.0 mm,module này có thể sử dụng cho
ầm tay hay điện
p GSM / GPRS
u, và Fax trong
i một cấu hình nhỏ
Trang 27bé của 24mm x 24mm x 3 mm, SIM900 có thể phù hợp với hầu như tất cả các yêu cầu không gian trong ứng dụng M2M của bạn, đặc biệt là cho nhu cầu mỏng và nhỏ gọn
Cung cấp điện áp khoảng 3,4 4,5 V
Tiêu thụ điện năng thấp
Nhiệt độ hoạt động bình thường: -30 ° C đến +80 ° C
Thông số kỹ thuật cho Fax 3 nhóm, lớp 1
Thông số kỹ thuật cho dữ liệu
GPRS class 10: tối đa 85,6 kbps (downlink)
Thông số kỹ thuật cho tin nhắn SMS thông qua GSM / GPRS
Văn bản và chế độ PDU
Trang 28 Giao diện bên ngoài SIM 3V / 1.8V
Giao diện âm thanh analog
SPI giao diện
Hai giao diện nối tiếp
Multi-sẽ dụng cụm từ chung MMC/SD để chỉ chung cho các loại card này.Về phương thúc giao tiếp, MMC và SD card đều có thể được giao tiếp thông qua 2 chế độ (mode) cơ bản làSD/MMC mode và SPI mode
Giao tiếp với bằng mode SD/MMC có tốc độ cao nhưng đòi hỏi chip điềukhiển cũng phải có tốc độ cao Mode này không phù hợp với việc giao tiếp bằng vi điều khiển Ngược lại,mode giao tiếp SPI tuy có tốc độ thấp hơn nhưng phù hợp với các chip điều khiển như AVR Phần giới thiệuvề MMC/SD card trong bài này vì thế chỉ tập trung vào mode SPI.Về hình dáng bên ngoài, MMC và SD có cùng kích thước và cấu trúc chân gần như nhau, như trong hình
Nguồn nuôi MMC/SD card: đây là điểm cần lưu ý khi sử dụng các card MMC/SD, nguồn cho các cardnày phải nằm trong khoảng 2.7V đến 3.6V Điều này thường gây khó khăn khi điều khiển MMC/SD card bằng các vi điều khiển vì các mạch điều khiển thường dùng mức điện áp 5V Vì thế, không giống như cácchip điện tử số thông thường, chúng ta không được phép nối MMC/SD card trực tiếp với các chip điều khiển có nguồn nuôi 5V Chúng ta có thể dùng nguồn 3.3V cho MMC/SD card Nguồn 3.3V có thể được tạo bằng các chip ổn áp như 1084K33, LM317 hoặc bằng các cầu chia áp dùng điện trở Kết nốigiữa mạch điều khiển (5V)
Trang 29và MMC có thể thực hiện gián tiếp thông qua các chip buffer, qua transitor, transistor hay cầu chia áp điện trở,…
Trang 30Đồ Án Tốt Nghiệp
Trang 27
Tổng quát tính năng:
Tương thích chuẩn SD, hỗ trợ chuẩn SPI
Khoảng điện áp hoạt động: 2.7 – 3.6V
Tần số xung nhịp: 0 – 25MHz
Tốc độ dữ liệu: lên tới 12.5MB/s (sử dụng chuẩn SD)
Có thể giao tiếp với tối đa 10 thẻ
Có chế độ write protection, password protection (any model) Cấu trúc bộ nhớ:
Hình 2.14 Cấu trúc bộ nhớ SD Card [12]
Cấu trúc liên kết các thẻ nhớ trong hệ thống:
Hình 2 15 Cấu trúc liên kết các thẻ nhớ SD Card [12]
Trong suốt quá trình sử lý khởi tạo, lệnh gửi cho mỗi thẻ riêng biệt Cho phép ứng dụng phát hiện và thừa hưởng các địa chỉ logic tới các slot kết nối vật lý
Trang 31SD bus cho phép cấu hình linh hoạt số lượng đường tín hiệu Sau khi cấp nguồn thì mặc định thẻ chỉ dùng chân DAT0 để truyền dữ liệu, sau sự khởi tạo thì host có thể thay đổi số chân cho phép truyền (bus width) Tính năng này cho phép cân bằng giữa giá cả phần cứng và sức mạnh phần cứng
Một trở kéo lên ở chân DAT3 có thể dùng để phát hiện thẻ nhớ (insert/remove) và bị ngắt trong suốt quá trình truyền
Độ ổn định tuyến tính hiệu quả cao
Ổn định cho bộ chuyển mạch cung cấp
Trang 32 Đảm bảo điều tiết nhiệt độ
Dòng điện giới hạn không đổi theo nhiệt độ
Nâng cao kiểm tra sản phẩm
c)Nguồn cho giao tiếp RS232, RS485
Giao tiếp RS232 được cung cấp bởi nguồn 3.3V nên dùng chung với nguồn cung cấp cho vi điều khiển STM32
Giao tiếp RS485 thì cần cung cấp nguồn +5V được lấy từ IC ổn áp
LM1117 -5V Cũng tương tự như IC LM1117 3.3V nhưng điện áp đầu ra là khác nhau
Trang 33Chương 3: Thiết kế phần cứng Mạch nguyên lý-Mạch layout
3.1 Công cụ thiết kế mạch nguyên lý và layout Altium
Cùng với sự phát triển nhanh chóng của máy tính, CAD (Computer Aided Design) ngày càng hoàn thiện và được ứng dụng trong hầu hết các lĩnh vực của khoa học kỹ thuật Đối với chuyên ngành Điện tử, nhiều phần mềm CAD cho phép
vẽ mạch, mô phỏng mạch điện và chuyển sang mạch in một cách nhanh chóng và hiệu quả như: OrCAD/PSPICE, EAGLE, Mutisim Workbench, MicroSim, Altium Designer, …
Altium Designer, phiên bản trước kia có tên gọi quen thuộc là Protel DXP, là một trong những công cụ vẽ mạch điện tử mạnh nhất hiện nay Được phát triển bởi hãng Altium Limited, Altium Designer (Altium) mang lại cho người dùng một môi trường làm việc hết sức chuyên nghiệp
Khởi động chương trình từ shortcut trên destop màn hình nền hoặc từ Menu Start >> All programs >>Altium Designer 10>> Altium Designer 10 Khi đó cửa sổ làm việc của Altium Designer có dạng như sau:
Hình 3 1 Phần mềm thiết kế mạch Altium Designer
Để tạo sơ đồ nguyên lý trước hết ta cần tạo 1 dự án mới: Từ menu File >> New >> Project >> PCB Project
Hoặc bằng các phím tắt: F, N, J, B Việc sử dụng phím tắt sẽ giúp bạn thiết
kế nhanh hơn Các phím tắt của menu tương ứng được gạch chân dưới menu hoặc lệnh tương ứng
Trang 34Hình 3 2 Khối nguồn cho vi điều khiển STM32F103
Dòng LM1117 điều chỉnh được áp dương và bộ điều chỉnh cố định được thiết kế để cung cấp nguồn 1A với hiệu quả cao Tất cả các mạch nội bộ được thiết
kế để tác động giảm xuống 1.3V sai lệch đầu vào so với đầu ra Bộ tinh chỉnh điện
áp tham chiếu đến 1%
Chân tín hiệu ra của IC LM1117 là chân số 2 và 4 có điện áp ra là 3.3V được lọc bởi tụ 100nF và tụ phân cực 100uF để tạo dòng và điện áp ổn định dùng cho vi điều khiển
Tín hiệu vào chân 3 của IC LM1117 là nguồn VBAT qua 1 tụ lọc 1uF.Chân
số 1 là chân nối đất
3.1.2 Tín hiệu vào ra STM32
a) Giao tiếp USART
Hình 3 3 Khối giao tiếp UART
Giao tiếp giữa Vi Điều Khiển STM32 và máy tính thông qua cổng com DB9
và dùng IC MAX3232 Thông số của IC MAX3232:
Hoạt động với nguồn đơn 3.3V và tụ không phân cực 100nF
Trang 35 Tốc độ truyền dữ liệu tối đa 120kbit/s
Có hai trình điều khiển và nhận dữ liệu
Áp ngõ vào tối đa ± 30V
Dòng nguồn thấp – loại 8mA
MAX3232 là một trình điều khiển/thu kép bao gồm một nguồn áp kiểu điện dung để cung cấp TIA/EIA-232-F mức điện áp từ một nguồn cung cấp 3.3V duy nhất Mỗi bộ nhận chuyển đổi TIA/EIA-232-F ngõ vào thành mức điện áp 3.3V theo TTL/CMOS Những bộ nhận có một áp giới hạn điển hình là 1.3 V, một độ trễ điển hình là 0.5 V, và có thể chấp nhận ± 30V đầu vào Mỗi trình điều khiển chuyển đổi mức điện áp TTL/ CMOS đầu vào thành mức điện áp TIA/EIA-232-F
Chân số 13 và 14 của IC Max nối với cổng com để giao tiếp với PC,còn chân
số 11 và 12 kết nối với USART2 của vi điều khiển STM32
b) Giao tiếp SPI
Giao tiếp SPI được thực hiện thông qua BUS 4 dây MISO, MOSI, SCK, SS nên đôi khi SPI còn được gọi là giao thức giao tiếp 4 dây
+ MISO: Master Input Slave Output
Chân MISO dùng để truyền dữ liệu ra khỏi Modun SPI khi đặt cấu hình là Slave và nhận dữ liệu khi đặt cấu hình là Master
+ MOSI: Master Output Slave Input
Chân MOSI dùng để truyền dữ liệu ra khỏi Mođun SPI khi đặt cấu hình là Master và nhận dữ liệu khi đặt cấu hình là Slave
SPI là giao thức đồng bộ: Modun SPI cho phép giao tiếp nối tiếp đồng bộ kép giữa MCU hoặc MPU với thiết bị ngoại vi
+Tín hiệu SCK được cung cấp bởi Master nhằm tạo xung đồng bộ cho phép
dữ liệu được truyền đi hoặc khi đọc dữ liệu nhận được
+Khi tín hiệu SCK được phát ra thì tín hiệu này có thể thay đổi nhưng không làm hỏng dữ liệu Lí do là trong giao thức SPI, tốc độ của dữ liệu truyền đi sẽ thay đổi theo sự thay đổi của SCK Điều này rất có lợi nếu như MCU hoặc MPU bị cấp xung đồng hồ không chính xác (VD: bộ dao động RC)
Giao diện cơ bản của giao tiếp SPI:
Trang 36Đồ Án Tốt Nghiệp
Trang 33
Hình 3 4 Giao diện cơ bản giao tiếp SPI [14]
Thiết bị tên ‘Processor’ đóng vai trò Master, thiết bị ‘Peripheral’ là Slave
Cả Master và Slave đều có thanh ghi dịch nối tiếp ở bên trong Thiết bị Master bắt đầu việc trao đổi dữ liệu bằng cách truyền đi một Byte vào thanh ghi dịch của nó, sau đó Byte dữ liệu sẽ được đưa sang Slave theo đường tín hiệu MOSI (SDI), Slave sẽ truyền dữ liệu nằm trong thanh ghi dịch của chính nó ngược trở về Master thông qua đường tín hiệu MISO (SDO) Bằng cách này, dữ liệu của hai thanh ghi sẽ được trao đổi với nhau Việc đọc và ghi dữ liệu vào Slave diễn ra cùng một lúc nên tốc độ trao đổi dữ liệu diễn ra rất nhanh Do đó, giao thức SPI là một giao thức rất có hiệu quả
Khối flash memory dùng giao tiếp SPI1:
Hình 3 5 Khối giao tiếp Flash memory
IC AT45DB041 có chức năng lưu trữ dữ liệu lên đến 4Mbytes.Giao tiếp giữa IC SRAM với vi điều khiển STM32 tuân theo chuẩn giao tiếp SPI
3.3 Kết nối giao tiếp RS485
a)Khối nguồn nuôi
Giao tiếp RS485 sử dụng nguồn +5V được tạo ra bởi IC LM1117 với điện áp đầu vào là VIN lấy từ nguồn cung cấp DC-12V
Trang 37Hình 3 6 Khối nguồn nuôi IC Max485
b)Giao tiếp vi điều khiển với Max485
IC Max 485 giao tiếp với vi điều khiển STM32 qua USART3 Rx và Tx Chân EN_TX kết nối với 1 chân vào ra của STM32F103 để điều khiển quá trình truyền nhận dữ liệu cho IC Max485
Hình 3 7 Khối giao tiếp vi điều khiển với IC Max485
3.4 Kết nối module sim
a)Khối nguồn nuôi
Module Sim900 được cung cấp bởi nguồn tạo ra từ IC LM2576 –ADJ là nguồn điều chỉnh điện áp Từ nguồn vào DC-12V qua Diode bảo vệ và tụ lọc phân cực 100uF vào chân 1 của IC nguồn Điện áp đẩu ra được điều chỉnh bởi điện trở phân áp 4k7 và 2k để tạo ra điện áp mong muốn
Hình 3 8 Khối nguồn nuôi Module Sim900
Nguồn cung cấp điện áp của SIM900 là từ một nguồn điện áp duy nhất VBAT = 3.4V 4.5V Trong một số trường hợp, các đợt sóng bùng nổ trong lúc truyền dữ liệu có thể gây giảm áp khi dòng tiêu thụ tăng lên đến đỉnh điểm điển
Trang 38Hình 3 9 Nối chân VBAT cho module Sim900 [15]
Hình dưới đây là điện áp VBAT gợn sóng ở giai đoạn công suất truyền tải tối
đa, các điều kiện kiểm tra là VBAT = 4.0V, VBAT tối đa sản lượng hiện tại = 2A,
CA = 100μF tantali tụ (ESR = 0.7Ω) và CB = 1μF
Hình 3 10 Điện áp VBAT trong quá trình truyền [15]
b)Giao tiếp với Vi Điều Khiển
Bảng 3 1 Chức năng chân của module SIM300CZ
Trang 39Bảng 3 2 Mô tả chân kết nối DIP
Tên chân I/O Mô tả Đặc điểm DC Power Supply
VBAT 5 chân VBAT của kết nối DIP
được dành riêng để kết nối nguồn
áp Nguồn áp cung cấp cho SIM300CZ phải là một nguồn đơn VBAT = 3.4V 4.5V Nó phải có khả năng cung cấp đầy đủ dòng trong một truyền dữ liệu mà thường tăng lên đến 2A Có thể trong 0.1ms lên đến 3A trong một
số lần, hiện 5 chân là điện áp đầu
vào
Vmin = 3.4V Vmax=4.5V
Vnorm= 4.0V
VRTC I/O Dòng điện ngõ vào cho RTC khi Vmax=2.0V
Trang 40Inorm= 20uA
VDD_EXT O Cung cấp điện áp 2.93V cho
mạch bên ngoài Bằng cách đo pin này, người dùng có thể đánh giá liệu hệ thống điện ON hoặc OFF Khi điện áp thấp, hệ thống tắt nguồn Nếu không, hệ thống
mở nguồn
Vmax=3.0V Vmin=2.75V Vnorm=2.93V
Vnorm=5.1V
Power on or power off
PWRKEY I Điện áp ngõ vào cho các phím
mở nguồn PWRKEY ở mức điện
áp thấp cho người sử dụng mở hoặc tắt nguồn hệ thống Người
sử dụng nên giữ cách nhấn phím cho một thời điểm khi điện mở hoặc tắt nguồn hệ thống Bởi vì
hệ thống cần thời gian để xử lý
phần mềm
VILmax=0.2*VBAT VIHmin=0.6*VBAT
VImax=VBAT
Giao tiếp Audio
MIC1P I Ngõ vào dương và âm của băng