DòngCortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống, kết hợp với tiêu thụnăng lượng thấp, Cortex-M3 được thiết kế trên nền kiến trúc mới do đó chi phí sảnsuất đủ thấp để
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH VẼ 3
DANH MỤC BẢNG BIỂU 5
LỜI MỞ ĐẦU 6
CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 7
1.1 Tổng quan về vi điều khiển STM32 7
1.1.1 Giới thiệu chung về ARM Cortex 7
1.1.2 Kiến trúc chung STM32 8
1.1.3 Mô tả pinout của STM32 11
1.1.4 Các giao tiếp trên STM32 12
1.2 Tổng quan về GSM 14
1.3 Tổng quan về Ethernet 15
1.3.1 Giới thiệu chung 15
1.3.2 Môi trường mạng và kỹ thuật truyền dẫn 16
1.3.3 Cấu trúc gói tin truyền nhận trong Ethernet 20
1.4 KẾT LUẬN CHƯƠNG 21
CHƯƠNG 2: PHÂN TÍCH, XÂY DỰNG MÔ HÌNH HỆ THỐNG 22
2.1 Mô hình các khối ADC 22
2.1.1 Khối giám sát cháy, khói 22
2.1.2 Khối giám sát nhiệt độ, độ ẩm 23
2.1.3 Khối giám sát nguồn điện DC, AC 24
2.2 Mô hình các khối IO 26
2.2.1 Sơ đồ khối 26
2.2.2 Khối giám sát mức nhiên liệu 26
2.2.3 Khối giám sát áp suất dầu, ắc quy 27
2.2.4 Khối giám sát bật tắt thiết bị 27
2.2.5 Khai báo tham số 28
2.3 Mô hình khối báo sự cố 28
2.3.1 Sơ đồ khối 28
2.3.2 Nguyên lí hoạt động 28
2.4 Khối hiện thị - LED 7 segment 29
2.5 Linh kiện sử dụng trong mạch 29
Trang 22.5.1 Cảm biến cháy, khói : MC145012 29
2.5.2 Cảm biến nhiệt độ lm35 29
2.5.3 Cảm biến độ ẩm HS1101 30
2.5.4 Cảm biến siêu âm SRF05 32
2.5.5 Cảm biến áp suất 38
2.5.6 Module SIM900 42
2.5.7 Module Ethernet ENC28J60 44
2.6 KẾT LUẬN CHƯƠNG 46
CHƯƠNG 3: PHÂN TÍCH SƠ ĐỒ CỦA HỆ THỐNG 47
3.1 Mạch nguyên lý 47
3.2 Phân tích nguyên lí hoạt động của các khối 47
3.2.1 Khối nguồn 47
3.2.2 Khối khai báo và hiển thị tham số hệ thống 48
3.2.3 Khối do sử dụng ADC 48
3.2.4 Khối đo sử dụng IO 49
3.2.5 Các khối chấp hành điều khiển IO 50
3.3 KẾT LUẬN CHƯƠNG 50
TÀI LIỆU THAM KHẢO 51
Trang 3DANH MỤC HÌNH VẼ
Hình 1.1:Kiến trúc vi xử lí ARM Cortex-M3 8
Hình 1.2: Kiến trúc của STM32 nhánh Performance và Access 9
Hình 1.3 Đặc điểm của bốn nhánh trong họ STM32 10
Hình 1.4 Cấu trúc chân của vi điều khiển STM32F103 11
Hình 1.5 – Mô phỏng trường hợp nhiễu xuyên kênh (crosstalk) 17
Hình 1.6 – Tên gọi dữ liệu ở các tầng trong mô hình OSI 18
Hình 1.7 – Cấu trúc khung Ethernet 20
Hình 2.1: Mô hình khối giám sát cháy, khói 22
Hình 2.2 Mô hình khối giám sát nhiệt độ 23
Hình 2.3 Mô hình hệ thống giám sát nguồn điện AC, DC 24
Hình 2.4: Sơ đồ mạch phân áp 24
Hình 2.5: Sơ đồ mạch chỉnh lưu AC 25
Hình 2.4 Mô hình các khối IO 26
Hình: 2.5 Mô hình khối giám sát mức nhiên liệu 26
Hình 2.6: Mô hình khối giám sát áp suất dầu, ắc quy 27
Hình 2.7: Mô hình khối giám sát bật tắt thiết bị 27
Hình 2.8: Mô hình khối khai báo tham số 28
Hình 2.9: Mô hình khối báo sự cố 28
Hình 2.10: Mô hình khối hiện thị - LED 7 đoạn 29
Hình 2.11: Sơ đồ chân của LM35 29
Hình 2.12: Sơ Đồ Ghép Nối HS1101 với NE555 31
Hình 2.13: Góc quét của SRF05 33
Hình 2.16: Hình ảnh của SRF05 33
Hình 2.17: Sơ đồ chân của SRF05 34
Hình 2.18: Giản đồ định thời SRF05 34
Hình 2.17: Chùm phát sóng của SRF05 36
Hình 2.19: Dạng sóng phát và thu của SRF05 37
Hình 2.20: Vùng phát sóng của SRF05 38
Hình 2.24: Bộ chuyển đổi kiểu cảm ứng 41
Hình 225: Sơ đồ cấu tạo nguyên lý của bộ biến đổi kiểu biến áp vi sai 42
Hình 2.26: Bộ chuyển đổi kiểu điện dung 42
Hình 2.29: Sơ đồ chân của ENC28J60 45
Trang 4Hình 3.1: Sơ đồ mạch nguyên lí 47 Hình 3.2: Sơ đồ mạch ổn áp của STM32 48 Hình 3.3: Sơ đồ thuật toán khối sử dụng ADC 49
Trang 5DANH MỤC BẢNG BIỂUBảng 1.1: Mô tả các giao tiếp và chức năng của STM32F103 12Bảng 2.1: Tính Giá Trị Độ Ẩm Qua Tần Số 32
Trang 6LỜI MỞ ĐẦUNgày nay, điện thoại di động ngày càng khẳng định vai trò quan trọng của mìnhtrong xã hội phát triển Với sự gia tăng nhanh chóng về số lượng khách hàng có nhucầu dịch vụ di động, các nhà cung cấp dịch vụ nhanh chóng bổ sung nhiều trạm BTS.Bài toán đặt ra là quản lí, theo dõi trạm BTS sao cho hợp lí và hiệu quả Vì vậy, việc
có một hệ thống điều khiển, quản lí cảnh báo các thiết bị trạm BTS từ xa là rất cầnthiết và quan trọng
Với mong muốn có thể tìm hiều về hệ thống điện tử của mạch thiết bị cảnh báo
trạm BTS em đã chọn và nghiên cứu đề tài “Nghiên cứu hệ thống giám sát trạm BTS tự động”
Nội dung của đề tài bao gồm 3 chương:
- Chương 1:Cơ sở lí thuyết
- Chương 2: Phân tích, xây dựng mô hình hệ thống
- Chương 3: Lưu đồ thuật toán và phân tích sơ đồ
Em xin gửi lời cảm ơn sâu sắc đến Thầy Lê Xuân Thành đã tận tình hướng dẫn emtrong quá trình thực hiện báo cáo
Trang 7CHƯƠNG 1: CƠ SỞ LÍ THUYẾT
Hiện nay, có rất nhiều vi điều khiển đang được phát triển mạnh mẽ và có nhiều ứng dụng trong khoa học kỹ thuật, cũng như ứng dụng vào sản xuất các thiết bị công nghệ cao phục vụ nhu cầu đời sống của con người Ví dụ như vi điều khiển PIC, AVR, ARM,…
Nội dung chương này tập trung tìm hiểu vi điều khiển ARM và các thiết bị ngoại vi.Từ
đó sẽ làm cơ sở để tìm hiểu chi tiết hoạt động của mạch cảnh báo trạm BTS.
1.1 Tổng quan về vi điều khiển STM32
1.1.1 Giới thiệu chung về ARM Cortex
Trong vài năm trở lại đâu, một trong những xu hướng chủ yếu trong các thiết với
vi điều khiển là sử dụng các chip ARM7 và ARM9 như một vi điều khiển đa dụng.Ngày nay các nhà sản suất IC đưa ra thị trường hơn 240 dòng vi điều khiển sử dụng lõiARM Dòng ARM cortex là một bộ vi xử lí thế hệ mới đưa ra một kiến trúc chuẩn chonhu cầu đa dạng về công nghệ Không giống như các chip ARM khác dòng Cortex làmột lõi xử lí hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung DòngCortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống, kết hợp với tiêu thụnăng lượng thấp, Cortex-M3 được thiết kế trên nền kiến trúc mới do đó chi phí sảnsuất đủ thấp để cạnh tranh với các dòng vi điều khiển 8-bit và 16-bit truyền thống.Các chip ARM7 và ARM9 được các nhà sản suất bán dẫn thiết kế với giải phápriêng của mình, đặc biệt là phần xử lí các ngắt đặc biệt (exception ) và các ngắt thôngthường ( interrupt ) Cortex-M3 đưa ra một lõi vi điều khiển chuẩn nhằm cung caaosphần tổng quát, quan trọng nhất của vi điều khiển, bao gồm hệ thống ngắt ( interruptsystem ), SysTick timer, hệ thống kểm lỗi ( debug system ) và memory map Khônggian địa chỉ 4Gbyte của Cortex M3 được chia thành các vùng cho mã chương trình,SRAM ,ngoại vi và ngoại vi hệ thống Không giống với ARM7 được thiết kế dựa theokiến trúc Von Neumann ( bộ nhờ chương trình và bộ nhớ dữ liệu chung nhau ) ,Cortex-M3 được thiết kế theo kiến trúc Harvard ( bộ nhớ chương trình và bộ nhớ dữliệu tách biệt nhau ) và có nhiều bus cho phép thực hiện các thao tác song song nhau,
do đó làm tăng đáng kể hiệu suất của chip
Không giống với các kiến trúc ARM trước đó, dòng Cortex cho phép truy cập dữliệu không xếp hàng Đặc điểm này cho phép sử dụng hiệu quả SRAM nội DòngCorex 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ằngphương pháp gọi là bit banding Đặc điểm này cho phép truy cập hiệu quả tới cácthanh ghi ngoại vi và các cờ được dung trên bộ nhớ SRAM mà không cần một bộ xử líluận lí ( Boolean processor )
Trang 8Hình 1.1:Kiến trúc vi xử lí ARM Cortex-M3
1.1.2 Kiến trúc chung STM32
Bộ xử lí Cortex-M3 là một vi điều khển được tiêu chuẩn hóa gồm một CPU32bit, cấu trúc bus, đơn vị xử lí ngắt có hỗ trợ tính năng lồng ngắt vào nhau (nestedstructure unit), hệ thống kiểm tra lỗi và tiêu chuẩn bố trí bộ nhớ
Một trong những thành phần chính của lõi Cortex-M3 là NVIC ( Nested VectorInterrupt) NVIC cung cấp một cấu trúc ngắt chuẩn cho tất cả các ngoại vi điều khiểnđược thiết kế dựa trên lỡi Cortex và cách cử lí các ngắt đặc biệt NVIC cung cấp cácvector ngắt chuyên dụng lên tới 240 nguồn ngắt từ ngoại vi mỗi nguồn ngắt có thểđược ưu tiên hóa với các mức riêng biệt NVIC được thiết kế để xử lí các ngắt đòi hỏithời gian đáp ứng cực kì nhanh
Mặc dù Cortex-M3 được thiết kế như là một lõi chi phí thấp nhưng nó vẫn làmột CPU 32bit và vẫn hỗ trợ hau chế độ hoạt động, điều này cho phép thiết kế cácphần mềm phức tạp và hỗ trợ các hệ điều hành thời gian thực Lõi Cortex có hỗ trợmột timer 24bit tự nạp lại giá trị, nó sẽ cung cấp một ngắt timer đều đặn cho mộtRTOS (Real time operating system)
Trang 9ST đã đưa ra thị trường 4 dòng vi điều khiển dựa trên ARM7 và ARM9, nhưngSTM32 là một bước tiến quan trọng trên đường cong chi phí và hiệu suất(price/performance), giá chỉ gần 1 Euro với số lượng lớn, STM32 là sự thách thức thật
sự với các vi điều khiển 8 và 16-bit truyền thống STM32 đầu tiên gồm 14 biến thểkhác nhau, được phân thành hai dòng: dòng Performance có tần số hoạt động của CPUlên tới 72Mhz và dòng Access có tần số hoạt động lên tới 36Mhz Các biến thể STM32trong hai nhóm này tương thích hoàn toàn về cách bố trí chân (pin) và phần mềm,đồng thời kích thước bộ nhớ FLASH ROM có thể lên tới 512K và 64K SRAM
Hình 1.2: Kiến trúc của STM32 nhánh Performance và AccessDòng STM32 có hai nhánh, nhánh Performance hoạt động với xung nhịp lênđến 72Mhz và có đầy đủ các ngoại vi, nhánh Access hoạt động với xung nhịp tối đa36Mhz và có ít ngoại vi hơn so với nhánh Performance
Ngoài hai dòng Performance và Access đầu tiên, hiện nay ST đã đưa ra thị trường thêm hai dòng USB Access và Connectivity như hình sau
Trang 10Hình 1.3 Đặc điểm của bốn nhánh trong họ STM32
Sự tinh vi
Thoạt nhìn thì các ngoại vi của STM32 cũng khá giống với các ngoại vi của viđiều khác như hai bộ chuyển đổi ADC, timer, I2C, SPI, CAN, USB, RTC Tuy nhiênmỗi ngoại vi trên có rất nhiều điểm thú vị như bộ ADC 12bit có tích hợp cảm biếnnhiệt độ để tự động hiệu chỉnh khi nhiệt độ thay đổi Mỗi timer có bốn khối capturecompare, mỗi khối timer có thể liên kết với khối khác để tạo ra một mảng timer tinh
vi Một timer cao cấp hỗ trợ điều khiển động cơ với 6 đầu ra PWM Ngoại vi nối tiếpSPI có một khối riêng kiểm tổng CRC bằng phần cứng cho 8 và 16 worrd hỗ trợ chogiao tiếp thẻ nhớ SD, MMC
STM 32 có hỗi trợ them 7 kênh DMA (Direct Memory Access) Mỗi kênh cóthể dung để chuyền dữ liệu đến các thanh ghi ngoại vi với kích thước từ word dữ liệutruyền đi có thể là 8/16 hoặc 32bit
STM32 là một vi điều khiển tiêu thụ năng lượng thấp và đạt hiệu suất cao Nó
có thể hoạt động ở điện áp tới 2V chạy ở tần số 72Mhz với dòng tiêu thụ chỉ với 36mAvới tất cả các khối bên trong vi điều khiển hoạt động Kết hợp với chế độ tiết kiệmnăng lượng của Cortex, STM32 chỉ tiêu thụ 32uA khi ở chế động standby Nhờ một bộdao động nội RC cho phép chip nhanh chóng thoát khỏi chế độ tiết kiệm năng lượngtrong khi bộ dao động ngoài đang khởi động Khả năng đi nhanh vào và thoát khỏi cácchế độ tiết kiệm năng lượn làm giảm thiểu nhiều sự tiêu thụ năng lượng tổng thể
Sự an toàn
Ngày nay các ứng dụng hiện đại thường phải hoạt động trong môi trường khắcnghiệt, đòi hỏi tính an toàn cao cũng như đòi hỏi sức mạnh xử lí nhiều thiết bị ngoại vimột cách tốt nhất Để đáp ứng các yêu cầu đó STM32 cung cấp một số tính năng phầncứng hỗ trợ cho các ứng dụng một cách tốt nhất Chúng bao gồm một bộ phát hiện
Trang 11điện áp thấp, một hệ thống bảo vệ xung clock và hai bộ watchdog Bộ watchdog đầutiên là một watchdog của sổ, nó phải được làm tươi trong một thời gian nhất định Bộwatchdog thứ 2 là độc lập, có bộ dao động bên ngoài tách biệt với xung nhịp hệ thốngchính Hệ thống bảo vệ xung nhịp có thể phát hiệ lỗi của bộ dao động chính bên ngoài(thường là thạch anh) và tự động chuyển sang dung bộ dao động nội RC 8Mhz.
Tính bảo mật
Một trong những yêu cầu khắt khe của các thiết bị hiện đại là nhu cầu bảo mật
mã chương trình để ngăn chặn sao chép trái phép phần mềm Bộ nhớ Flash củaSTM32 có thể được khóa để chống truy cập đọc Flash thông qua cổng debug Khi tínhnăng bảo vệ đọc được kích hoạt bộ nhớ Flash cũng được bảo vệ chống ghi để ngănchặn mã không tin cậy được chèn vào bảng vector ngắt STM32 cung có một đồng hồthời gian thực và một khu vực nhỏ lưu dữ liệu trên SRAM được nôi nhờ nguồn pin.Khu vực này có một đầu vào chống giả mạo có thể kích hoạt một sự kiện ngắt khi có
sự thay đổi trạng thái ở đầu vào này Ngoài ra một sự kiện chống giả mạo sẽ tự độngxóa dữ liệu được lưu trữ trên SRAM được nuôi bằng nguồn pin
Phát triển phần mềm dễ dàng
ST cung cấp một thư viện điều khiển các thiết bị ngoại vi, một bộ thư viện pháttriểu USB Có rất nhiều RTOS mã nguồn mở và thương mại hỗ trợ cho dòng Cortex.Dòng Cortex M3 cũng đi kèm với một hệ thống gỡ lỗi hoàn toàn mới gọi là CoreSight,truy cập vào hệ thống này thông qua công truy cập Debug, cổng này hỗ trợ kết nốichuẩn JTAG hoặc SWD Ngoài ra ST còn cung cấp trình điều khiển chạy gỡ lỗi Công
cụ này có thể cung cấp them các thông tin gỡ lỗi và có thể được sử dụng trong quátrình thử nghiệm phần mềm
1.1.3 Mô tả pinout của STM32
Hình 1.4 Cấu trúc chân của vi điều khiển STM32F103
1.1.4 Các giao tiếp trên STM32
o 2 kênh ADC ( analog digital converter) 12bit
o 2 kênh I2C (Inter-Integrated Circuit)
Trang 12o 1 cổng CAN (controller area network)
o 4 kênh timer
o 3 đường UART ( Universa synchronous / Asychronous Receiver / Transmitter)
o 1 cổng kết nối USB (ôUniversal Serial Bus)
o 1 cổng kết nối hỗ trợ tính năng debug và nạp chương trình thông qua chuẩnJTAG (Joint Test Action Group) và SWD ( Serial wire debug )
- 48 đầu ra, trong đó có 32 đường IO có thể lập trình được
- Điện áp hoạt động 2V-3.6V
- Tốc độ xung nhịp 0-72MHz
Bảng 1.1: Mô tả các giao tiếp và chức năng của STM32F103
giản 12bit sử dụng chung các chân PA0-PA7, PB0, PB1 Khốinày có tác dụng biến đổi các tín hiệu điện áp ở dạng tương tựthành các tín hiệu số mà vi điều khiển có thể hiểu được Do haikhối dùng chung các chân lên khi kênh ADC1 sử dụng một chânthì kênh ADC2 sẽ không thể sử dụng chân đó nữa
PA12-Tx và PA11-Rx thích ứng cao với việc nhiễu trong côngnghiệp, có khả năng tự phát hiện và sửa lỗi dữ liệu
I2C Chuẩn truyền thông này chủ yếu dùng để giao tiếp hai
phần cứng với nhau (Thường là các microcontroller) hoặc 2 ICvới nhau, sử dụng số dây tối thiểu (2 dây: DATA+CLOCK), dữliệu truyền theo kiểu nối tiếp Trên STM32F103 đã được tíchhợp 2 kênh I2C trong đó I2C1 sử dụng PB6-SCL, PB7-SDA.I2C2 sử dụng 2 chân PB10-SCL, PB11-SDA
SPI SPI (Serial Peripheral Interface, SPI bus — Giao diện
Ngoại vi Nối tiếp, bus SPI) là một chuẩn đồng bộ nối tiếp đểtruyền dữ liệu ở chế độ song công toàn phần Khác với cổng nốitiếp, SPI là giao diện đồng bộ, trong đó bất cứ quá trình truyềnnào cũng được đồng bộ hóa với tín hiệu đồng hồ chung, tín hiệunày sinh ra bởi thiết bị chủ động (bộ vi xử lí) Thiết bị ngoại vibên phía nhận (bị động) làm đồng bộ quá trình nhận chuỗi bitvới tín hiệu đồng hồ Có thể kết nối một số vi mạch vào mỗigiao diện ngoại vi nối tiếp của vi mạch-thiết bị chủ động Thiết
bị chủ động chọn thiết bị bị động để truyền dữ liệu bằng cáchkích hoạt tín hiệu "chọn chip" (chip select) trên vi mạch bịđộng Thiết bị ngoại vi nếu không được chọn bởi bộ vi xử lí sẽkhông tham gia vào quá trình truyền theo giao diện SPI
Trang 13Trên STM32F103 có 2 khối SPI là SPI1 sử dụng SCK, PA6-MISO, PA7-MOSI, SPI2 sử dụng PB13-SCK, PB14-MISO, PB15-MOSI
PA5-TIMER
-COUNTER
Đây là một bộ tạo thời gian, đầu vào của timer là một xung nhịpchuẩn (về tần số) còn đầu ra nó là một số đếm xung nhịp đó.Timer có 4 chế độ hoạt động là định thời, đếm sự kiện, PWM,Input Capture Ở STM32F103 có 4 timer 16bit
USART USART (Universal Synchronous & Asynchronous serial
Reveiver and Transmitter), nghĩa là bộ truyền nhận nối tiếpđồng bộ và không đồng bộ USART hay UART cần phải kếthợp với một thiết bị chuyển đổi mức điện áp để tạo ra mộtchuẩn giao tiếp nào đó Ví dụ, chuẩn RS232 (hay COM) trêncác máy tính cá nhân là sự kết hợp của chip UART và chipchuyển đổi mức điện áp Tín hiệu từ chip UART thường theomức TTL: mức logic high là 5, mức low là 0V Trong khi đó, tínhiệu theo chuẩn RS232 trên máy tính cá nhân thường là -12Vcho mức logic high và +12 cho mức low
Trong UART thì có các khái niệm sau: Baud rate, Frame,Start bit, Data, Parity bit, Stop bits Khung truyền phổ biến hiện
nay: Start bit + 8 Bit Data + Stop bits.
Trong STM32F103 có tích hợp 3 kênh UART trong đóUART1 sử dụng PA9-Tx, PA10-Rx UART2 sử dụng PA2-Tx,PA3-Rx UART3 sử dụng PB10-Tx, PB11-Rx
USB USB (Universal Serial Bus) là một chuẩn kết nối tuần tự
đa dụng trong máy tính USB sử dụng để kết nối các thiết bịngoại vi với máy tính, chúng thường được thiết kế dưới dạngcác đầu cắm cho các thiết bị tuân theo chuẩn cắm-là-chạy màvới tính năng cắm nóng thiết bị (nối và ngắt các thiết bị khôngcần phải khởi động lại hệ thống) Tùy theo người dùng lập trình
mà máy tính sẽ nhận STM32 là chuột, bàn phím hay thiết bịchơi game cầm tay … Trên STM32F103 nó sử dụng 2 chânPA11-DM, PA12-DP để truyền dữ liệu và giao tiếp với máy tínhDEBUG Đây là một chuẩn kết nối để giúp cho lập trình viên có
thể gỡ lỗi và kiểm tra chương trình ngay trong quá trình lậptrình, với các chuẩn SWD(Serial Wire), JTAG(Joint Test ActionGroup) 4Pin hoặc 5Pin giúp cho người dùng có thể viết và kiểmtra chương trình một cách nhanh chóng và dễ dàng nhất
OSC Đây là khối giúp cho người dùng gắn thêm khối dao động bên
Trang 14ngoài với vi điều khiển để cho nó có một tốc độ xử lí nhanhhơn, thông thường thì người ta sẽ sử dụng thạch anh vì nó cho
ra một dao động tương đối chính xác, và giá cả cũng tương đốirẻ
GSM là chuẩn phổ biến nhất cho điện thoại di động trên thế giới Khả năng phúsóng rộng khắp nơi của chuẩn GSM làm cho nó trở nên phổ biến trên thế giới, chophép người sử dụng có thể sử dụng ĐTDĐ của họ ở nhiều vùng trên thế giới GSMkhác với các chuẩn tiền thân của nó về cả tín hiệu và tốc độ, chất lượng cuộc gọi Nó
được xem như là một hệ thống ĐTDĐ thế hệ thứ hai (second generation, 2G) GSM là
một chuẩn mở, hiện tại nó được phát triển bởi 3rd (Generation Partnership Project3GPP) Đứng về phía quan điểm khách hàng, lợi thế chính của GSM là chất lượng cuộcgọi tốt hơn, giá thành thấp và dịch vụ tin nhắn Thuận lợi đối với nhà điều hành mạng
là khả năng triển khai thiết bị từ nhiều người cung ứng GSM cho phép nhà điều hànhmạng có thể sẵn sàng dịch vụ ở khắp nơi, vì thế người sử dụng có thể sử dụng điệnthoại của họ ở khắp nơi trên thế giới
GSM là mạng điện thoại di động thiết kế gồm nhiều tế bào (cell) do đó các máyđiện thoại di động kết nối với mạng bằng cách tìm kiếm các cell gần nó nhất Cácmạng di động GSM hoạt động trên 4 băng tần Hầu hết thì hoạt động ở băng 900 MHz
và 1800 MHz Vài nước ở Châu Mỹ thì sử dụng băng 850 MHz và 1900 MHz do băng
900 MHz và 1800 MHz ở nơi này đã bị sử dụng trước
Và cực kỳ hiếm có mạng nào sử dụng tần số 400 MHz hay 450 MHz chỉ có ởScandinavia sử dụng do các băng tần khác đã bị cấp phát cho việc khác
Các mạng sử dụng băng tần 900 MHz thì đường lên (từ thuê bao di động đếntrạm truyền dẫn uplink) sử dụng tần số trong dải 890–915 MHz và đường xuốngdownlink sử dụng tần số trong dải 935–960 MHz Và chia các băng tần này thành 124kênh với độ rộng băng thông 25 MHz, mỗi kênh cách nhau 1 khoảng 200 kHz.Khoảng cách song công (đường lên & xuống cho 1 thuê bao) là 45 MHz
Ở một số nước, băng tần chuẩn GSM900 được mở rộng thành E-GSM, nhằmđạt được dải tần rộng hơn E-GSM dùng 880–915 MHz cho đường lên và 925–
960 MHz cho đường xuống Như vậy, đã thêm được 50 kênh (đánh số 975 đến 1023
và 0) so với băng GSM-900 ban đầu E-GSM cũng sử dụng công nghệ phân chia theo
thời gian TDM (time division multiplexing), cho phép truyền 8 kênh thoại toàn tốc hay
16 kênh thoại bán tốc trên 1 kênh vô tuyến Có 8 khe thời gian gộp lại gọi là mộtkhung TDMA Các kênh bán tốc sử dụng các khung luân phiên trong cùng khe thời
Trang 15gian Tốc độ truyền dữ liệu cho cả 8 kênh là 270.833 kbit/s và chu kỳ của một khung là4.615 m.
Công suất phát của máy điện thoại được giới hạn tối đa là 2 watt đối với băng GSM850/900 MHz và tối đa là 1 watt đối với băng GSM 1800/1900 MHz
1.3 Tổng quan về Ethernet
1.3.1 Giới thiệu chung
Ethernet là một họ lớn và đa dạng gồm các công nghệ mạng dựa khung dữ
liệu (frame-based) dành cho mạng LAN Tên Ethernet xuất phát từ khái niệm
Ête trong ngành vật lý học Ethernet định nghĩa một loạt các chuẩn nối dây và phát tín
hiệu cho tầng vật lý, hai phương tiện để truy nhập mạng tại phần MAC (điều khiển truy nhập môi trường truyền dẫn) của tầng liên kết dữ liệu, và một định dạng chung
cho việc đánh địa chỉ
Ethernet đã được chuẩn hóa thành IEEE 802.3 Cấu trúc mạng hình sao, hình thức nối
dây cáp xoắn (twisted pair) của Ethernet đã trở thành công nghệ LAN được sử dụng
rộng rãi nhất từ thập kỷ 1990 cho tới nay, nó đã thay thế các chuẩn LAN cạnh tranh
khác như Ethernet cáp đồng trục(coaxial cable), token ring, FDDI (Fiber distributed data interface), vàARCNET Trong những năm gần đây, Wi-Fi, dạng LAN không dây
đã được chuẩn hóa bởi IEEE 802.11, đã được sử dụng bên cạnh hoặc thay thế choEthernet trong nhiều cấu hình mạng
Bộ giao thức TCP/IP, ngắn gọn là TCP/IP( Internet protocol suite hoặc IP
suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng), là một bộ các giao thức
truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng máy tính thươngmại đang chạy trên đó Bộ giao thức này được đặt tên theo hai giao thức chính của nó
là TCP (Giao thức Điều khiển Giao vận) và IP (Giao thức Liên mạng) Chúng cũng là
hai giao thức đầu tiên được định nghĩa
Như nhiều bộ giao thức khác, bộ giao thức TCP/IP có thể được coi là một tậphợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữliệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràngdựa trên việc sử dụng các dịch vụ của các tầng thấp hơn Về mặt lôgic, các tầng trêngần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vàocác giao thức tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thểđược truyền đi một cách vật lý
Mô hình OSI miêu tả một tập cố định gồm 7 tầng mà một số nhà sản xuất lựachọn và nó có thể được so sánh tương đối với bộ giao thức TCP/IP Sự so sánh này cóthể gây nhầm lẫn hoặc mang lại sự hiểu biết sâu hơn về bộ giao thức TCP/IP
1.3.2 Môi trường mạng và kỹ thuật truyền dẫn
Trên một mạng máy tính, các dữ liệu được truyền trên một môi trường truyền dẫn(transmission media), nó là phương tiện vật lý cho phép truyền tải tín hiệu giữa cácthiết bị Có hai loại phương tiện truyền dẫn chủ yếu:
- Hữu tuyến (bounded media)
- Vô tuyến (boundless media)
Trang 16Thông thường hệ thống mạng sử dụng hai loại tín hiệu là: digital và analog.
Các đặc tính của phương tiện truyền dẫn
Mỗi phương tiện truyền dẫn đều có những tính năng đặc biệt thích hợp với mỗikiểu dịch vụ cụ thể, nhưng thông thường chúng ta quan tâm đến những yếu tố sau:
- Chi phí
- Yêu cầu cài đặt
- Độ bảo mật
- Băng thông (bandwidth): được xác định bằng tổng lượng thông tin có thể
truyền dẫn trên đường truyền tại một thời điểm Băng thông là một số xác định, bị giớihạn bởi phương tiện truyền dẫn, kỹ thuật truyền dẫn và thiết bị mạng được sử dụng.Băng thông là một trong những thông số dùng để phân tích độ hiệu quả của đườngmạng Đơn vị của băng thông:
+ Bps (Bits per second-số bit trong một giây): đây là đơn vị cơ bản của băng
thông
+ KBps (Kilobits per second): 1 KBps=103 bps=1000 Bps
+ MBps (Megabits per second): 1 MBps = 103 KBps
+ GBps (Gigabits per second): 1 GBps = 103 MBps
+ TBps (Terabits per second): 1 TBps = 103 GBPS.
- Thông lượng (Throughput): lượng thông tin thực sự được truyền dẫn trên thiết
bị tại một thời điểm
- Băng tầng cơ sở (baseband): dành toàn bộ băng thông cho một kênh truyền, băng tầng mở rộng (broadband):cho phép nhiều kênh truyền chia sẻ một phương tiện
truyền dẫn (chia sẻ băng thông)
- Độ suy giảm (attenuation): độ đo sự suy yếu đi của tín hiệu khi di chuyển trên
một phương tiện truyền dẫn Các nhà thiết kế cáp phải chỉ định các giới hạn về chiềudài dây cáp vì khi cáp dài sẽ dẫn đến tình trạng tín hiệu yếu đi mà không thể phục hồiđược
- Nhiễu điện từ (Electromagnetic interference - EMI): bao gồm các nhiễu điện
từ bên ngoài làm biến dạng tín hiệu trong một phương tiện truyền dẫn
- Nhiễu xuyên kênh (crosstalk): hai dây dẫn đặt kề nhau làm nhiễu lẫn nhau.
Trang 17Hình 1.5 – Mô phỏng trường hợp nhiễu xuyên kênh (crosstalk)
Các kiểu truyền dẫn.
Có các kiểu truyền dẫn như sau:
+ Đơn công (Simplex): trong kiểu truyền dẫn này, thiết bị phát tín hiệu và thiết
bị nhận tín hiệu được phân biệt rõ ràng, thiết bị phát chỉ đảm nhiệm vai trò phát tínhiệu, còn thiết bị thu chỉ đảm nhiệm vai trò nhận tín hiệu Truyền hình là một ví dụ củakiểu truyền dẫn này
+ Bán song công (Half-Duplex): trong kiểu truyền dẫn này, thiết bị có thể là
thiết bị phát, vừa là thiết bị thu Nhưng tại một thời điểm thì chỉ có thể ở một trạng thái(phát hoặc thu) Bộ đàm là thiết bị hoạt động ở kiểu truyền dẫn này
+ Song công (Full-Duplex): trong kiểu truyền dẫn này, tại một thời điểm, thiết
bị có thể vừa phát vừa thu Điện thoại là một minh họa cho kiểu truyền dẫn này
Trang 18Hình 1.6 – Tên gọi dữ liệu ở các tầng trong mô hình OSI
Quá trình đóng gói dữ liệu (tại máy gửi)
Đóng gói dữ liệu là quá trình đặt dữ liệu nhận được vào sau header (và trước trailer) trên mỗi lớp Lớp Physical không đóng gói dữ liệu vì nó không dùng header và
trailer Việc đóng gói dữ liệu không nhất thiết phải xảy ra trong mỗi lần truyền dữ liệu
của trình ứng dụng Các lớp 5, 6, 7 sử dụng header trong quá trình khởi động, nhưng trong phần lớn các lần truyền thì không có header của lớp 5, 6, 7 lý do là không có
thông tin mới để trao đổi
Các dữ liệu tại máy gửi được xử lý theo trình tự như sau:
- Người dùng thông qua lớp Application để đưa các thông tin vào máy tính Các
thông tin này có nhiều dạng khác nhau như: hình ảnh, âm thanh, văn bản…
- Tiếp theo các thông tin đó được chuyển xuống lớp Presentation để chuyển thành
dạng chung, rồi mã hoá và nén dữ liệu
- Tiếp đó dữ liệu được chuyển xuống lớp Session để bổ sung các thông tin về
phiên giao dịch này
- Dữ liệu tiếp tục được chuyển xuống lớp Transport, tại lớp này dữ liệu được cắt
ra thành nhiều Segment và bổ sung thêm các thông tin về phương thức vận chuyển dữ
liệu để đảm bảo độ tin cậy khi truyền
- Dữ liệu tiếp tục được chuyển xuống lớp Network, tại lớp này mỗi Segment
được cắt ra thành nhiều Packet và bổ sung thêm các thông tin định tuyến.
- Tiếp đó dữ liệu được chuyển xuống lớp Data Link, tại lớp này mỗi Packet sẽ được cắt ra thành nhiều Frame và bổ sung thêm các thông tin kiểm tra gói tin (để kiểm
tra ở nơi nhận)
Trang 19- Cuối cùng, mỗi Frame sẽ được tầng Vật Lý chuyển thành một chuỗi các bit, và
được đẩy lên các phương tiện truyền dẫn để truyền đến các thiết bị khác
Quá trình truyền dữ liệu từ máy gửi đến máy nhận.
Bước 1: Trình ứng dụng (trên máy gửi) tạo ra dữ liệu và các chương trình phầncứng, phần mềm cài đặt mỗi lớp sẽ bổ sung vào header và trailer (quá trình đóng gói
dữ liệu tại máy gửi)
Bước 2: Lớp Physical (trên máy gửi) phát sinh tín hiệu lên môi trường truyền tải để
truyền dữ liệu
Bước 3: Lớp Physical (trên máy nhận) nhận dữ liệu.
Bước 4: Các chương trình phần cứng, phần mềm (trên máy nhận) gỡ bỏ header và trailer và xử lý phần dữ liệu (quá trình xử lý dữ liệu tại máy nhận) Giữa bước 1 và
bước 2 là quá trình tìm đường đi của gói tin Thông thường, máy gửi đã biết địa chỉ IPcủa máy nhận Vì thế, sau khi xác định được địa chỉ IP của máy nhận thì lớp Networkcủa máy gửi sẽ so sánh địa chỉ IP của máy nhận và địa chỉ IP của chính nó:
- Nếu cùng địa chỉ mạng thì máy gửi sẽ tìm trong bảng MAC Table của mình để
có được địa chỉ MAC của máy nhận Trong trường hợp không có được địa chỉ MACtương ứng, nó sẽ thực hiện giao thức ARP để truy tìm địa chỉ MAC Sau khi tìm được
địa chỉ MAC, nó sẽ lưu địa chỉ MAC này vào trong bảng MAC Table để lớp Datalink
sử dụng ở các lần gửi sau Sau khi có địa chỉ MAC thì máy gửi sẽ gởi gói tin đi (giaothức ARP sẽ được nói thêm trong chương 6)
- Nếu khác địa chỉ mạng thì máy gửi sẽ kiểm tra xem máy có được khai báo
Default Gateway hay không.
+ Nếu có khai báo Default Gateway thì máy gửi sẽ gởi gói tin thông qua Default
Gateway
+ Nếu không có khai báo Default Gateway thì máy gởi sẽ loại bỏ gói tin và
thông báo "Destination host Unreachable"
Chi tiết quá trình xử lý tại máy nhận
Bước 1: Lớp Physical kiểm tra quá trình đồng bộ bit và đặt chuỗi bit nhận được vào vùng đệm Sau đó thông báo cho lớp Data Link dữ liệu đã được nhận.
Bước 2: Lớp Data Link kiểm lỗi frame bằng cách kiểm tra FCS trong trailer Nếu
có lỗi thì frame bị bỏ Sau đó kiểm tra địa chỉ lớp Data Link (địa chỉ MAC) xem có
trùng với địa chỉ máy nhận hay không Nếu đúng thì phần dữ liệu sau khi loại header
và trailer sẽ được chuyển lên cho lớp Network
Bước 3: Địa chỉ lớp Network được kiểm tra xem có phải là địa chỉ máy nhận hay không (địa chỉ IP) ? Nếu đúng thì dữ liệu được chuyển lên cho lớp Transport xử lý Bước 4: Nếu giao thức lớp Transport có hỗ trợ việc phục hồi lỗi thì số định danh phân đoạn được xử lý Các thông tin ACK, NAK (gói tin ACK, NAK dùng để phản
Trang 20Sau quá trình phục hồi lỗi và sắp thứ tự các phân đoạn, dữ liệu được đưa lên lớpSession.
Bước 5: Lớp Session đảm bảo một chuỗi các thông điệp đã trọn vẹn Sau khi các
luồng đã hoàn tất, lớp Session chuyển dữ liệu sau header lớp 5 lên cho lớp
Presentation xử lý.
Bước 6: Dữ liệu sẽ được lớp Presentation xử lý bằng cách chuyển đổi dạng thức dữ
liệu Sau đó kết quả chuyển lên cho lớp Application
Bước 7: Lớp Application xử lý header cuối cùng Header này chứa các tham số
thoả thuận giữa hai trình ứng dụng Do vậy tham số này thường chỉ được trao đổi lúckhởi động quá trình truyền thông giữa hai trình ứng dụng
1.3.3 Cấu trúc gói tin truyền nhận trong Ethernet
Dạng thức khung trong Ethernet: Ethernet chia dữ liệu thành nhiều khung (frame) Khung là một gói thông tin được truyền như một đơn vị duy nhất Khung trong Ethernet có thể dài từ 64 đến 1518 byte, nhưng bản thân khung Ethernet đã sử dụng ít nhất 18 byte, nên dữ liệu một khung Ethernet có thể dài từ 46 đến 1500 byte.
Mỗi khung đều có chứa thông tin điều khiển và tuân theo một cách tổ chức cơ bản Ví
dụ khung Ethernet (dùng cho TCP/IP) được truyền qua mạng với các thành phần sau:
Hình 1.7 – Cấu trúc khung Ethernet
Các trường trong Frame Ethernet:
- Preamble: 8 byte mở đầu.
- Destination: 6 byte thể hiện địa chỉ MAC đích.
- Source: 6 byte thể hiện địa chỉ MAC nguồn.
- Type: 2 byte thể hiện kiểu giao thức ở tầng trên.
- Data: dữ liệu của Frame.
- CRC: 4 byte dùng để kiểm lỗi của Frame.
Các loại Ethernet với băng tần cơ sở:
Trang 21- 10Base2: tốc độ 10, chiều dài cáp nhỏ hơn 200 m, dùng cáp thinnet (cáp đồng
trục mảnh)
- 10Base5: tốc độ 10, chiều dài cáp nhỏ hơn 500 m, dùng cáp thicknet (cáp đồng
trục dày)
- 10BaseT: tốc độ 10, dùng cáp xoắn đôi (Twisted-Pair).
- 10BaseFL: tốc độ 10, dùng cáp quang (Fiber optic).
- 100BaseT: tốc độ 100, dùng cáp xoắn đôi (Twisted-Pair).
- 100BaseX: tốc độ 100, dùng cho multiple media type.
- 100VG-AnyLAN: tốc độ 100, dùng voice grade.
1.4 KẾT LUẬN CHƯƠNG
Chương 1 đã tập trung tìm hiểu, nghiên cứu về vi điều khiển ARM và các thiết
bị ngoại vi Ethenet và GSM Chương tiếp theo em sẽ đi vào tìm hiểu chi tiết các thiết
bị cảm biến, phân tích và xây dựng mô hình hệ thống của mạch giám sát tổng đài
Trang 22CHƯƠNG 2: PHÂN TÍCH, XÂY DỰNG MÔ HÌNH HỆ THỐNG
Chương này tập trung xây dựng mô hình hoạt động của hệ thống, bao gồm các khối và nguyên lí hoạt động, trên cơ sở đó tập trung xây dựng sơ đồ khối hoàn chỉnh của hệ thống.
2.1 Mô hình các khối ADC
Ở khối này thì các cảm biến cho tín hiệu ra là tín hiệu tương tự lên ta sẽ sử dụngcác chân đầu vào của bộ ADC trong STM32 Do trên STM32 có 2 kênh ADC với rấtnhiều đàu vào lên khả năng mở rộng thêm đầu vào cho mạch là khá thoải mái
ADC của STM32 là 12bit , điện áp tham chiếu là 3.3V lên giá trị điện áp đầuvào sẽ được vi điều khiển đưa ra giá trị là 4095 với điện áp đầu vào ADC là 3.3V và 0với giá trị điện áp đầu vào là 0V, khi đầu vào không có tín hiệu thì giá trị ADC sẽ đưa
ra những giá trị ngẫu nhiên Do giá trị vi điều khiển đưa ra là giá trị mức ADC lên taphải chuyển đổi về giá trị điện áp của tín hiệu vào bởi công thức
Vin = ( giá trị ADC*3.3)/4096
Từ giá trị điện áp tính được này thì chúng ta có thể dễ dàng tính được các thông
số của cảm biến như nhiệt độ, độ ẩm, để giải quết theo từng bài toán cụ thể khác nhau
2.1.1 Khối giám sát cháy, khói
Hình 2.1: Mô hình khối giám sát cháy, khói
Trang 232.1.2 Khối giám sát nhiệt độ, độ ẩm
2.1.2.1 Sơ đồ khối
Hình 2.2 Mô hình khối giám sát nhiệt độ
2.1.2.2 Phân tích nguyên lí hoạt động của hệ thống
Cảm biến nhiệt độ, độ ẩm sẽ đo và xuất giá trị phụ thuộc vào giá trị nhiệt độ, độ
ẩm của môi trường, từ đó ta có thể sử dụng vi điều khiển STM32 để phân tích và xử lí tín hiệu này thành các số liệu cụ thể, để có thể đưa ra các tín hiệu điều khiển thích hợp cho các khối như Ethenet, GSM, Loa…
Trang 242.1.3 Khối giám sát nguồn điện DC, AC
Hình 2.3 Mô hình hệ thống giám sát nguồn điện AC, DC
2.1.3.1 Phân tích nguyên lí hoạt động của hệ thống
Đo nguồn điện DC : Do vi điều khiển có giá trị Vref lớn nhất là 3.3V lên chúng
ta không thể sử dụng phương pháp kết nối trực tiếp giá trị điện áp từ nguồncung cấp có giá trị 12V vào sẽ làm hỏng vi điều khiển Vì thế ta cần thực hiệncho tín hiệu điện áp đi qua 2 điện trở để giảm giá trị điện áp DC đi theo một tỉ
lệ định sẵn, từ giá trị điện áp ta đo được từ bộ ADC thì ta nhân giá trị đó với tỉ
lệ đã giảm thì sẽ thu lại được giá trị chính xác của điện áp DC cần đo
Hình 2.4: Sơ đồ mạch phân áp
Đo nguồn điện AC: Do vi điều khiển không thể đo được giá trị của điện áp xoay
Trang 25một chiều sau đó sẽ thực hiện đo giá trị điện áp này tương tự như đo nguồn điệnDC.
Hình 2.5: Sơ đồ mạch chỉnh lưu AC