Báo cáo môn học Đồ án thiết kế hệ thống nhúng 7 BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA KỸ THUẬT ĐIỆN TỬ I BÁO CÁO MÔN HỌC ĐỀ TÀI SỬ DỤNG CẢM BIẾN R.
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA KỸ THUẬT ĐIỆN TỬ I - BÁO CÁO MÔN HỌC ĐỀ TÀI: SỬ DỤNG CẢM BIẾN RUNG THIẾT KẾ HỆ THỐNG CHỐNG TRỘM CHO XE MÁY VÀ GỬI ĐỊNH VỊ GPS QUA MODUL SIM Môn học: Đồ án thiết kế hệ thống nhúng Giảng viên: Nguyễn Ngọc Minh Hà Nội 3/2022 Mục lục Lời nói đầu Báo cáo môn học: Đồ án thiết kế hệ thống nhúng b Thông số kĩ thuật 11 c Sơ đồ chân 11 d Sơ đồ mạch nguyên li 11 e Các câu lệnh được thông dịch 12 Chuẩn giao tiếp I2C 14 Tổng quan về FreeRTOS 15 a Khái niệm FreeRTOS 15 b Các đặc điểm của FreeRTOS .16 c Các vấn đề bản FreeRTOS 17 III Thiết kế hệ thống 20 Nguyên li hoạt động 20 Sơ đồ khối 20 Mô hình thực tế .21 Chương trình chinh 22 IV Kết luận và hướng phát triển 25 Kết luận 25 a Ưu điểm của đề tài 25 b Nhược điểm của đề tài 25 Hướng phát triển .25 Lời cảm ơn 26 Tài liệu tham khảo .27 Page of 27 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Lời nói đầu Đồ án Thiết kế hệ thống nhúng môn học cần thiết cho sinh viên kĩ thuật nói chung sinh viên ngành Điện – Điện tử nói riêng Nó giúp sinh viên rèn luyện lại kĩ chuyên ngành trước bước vào làm đồ án tốt nghiệp tiến tới mơi trường làm việc Hiện tình hình trộm cắp xe máy diễn ngày phức tạp, chiếc khoá bánh xe hay khoá cổ khơng cịn tác dụng Chính thế nên nhóm em lên ý tưởng thực hiện đề tài chống trộm cảm biến rung Trên sở học các môn hệ thống nhúng, kĩ thuật vi xử lý, điện tử tương tự,… nhóm em quyết định thực hiện đề tài: Sử dụng STM32F103C8T6 thực hiện chống trộm cảm biến rung kết hợp sử dụng modul định vị GPS để gửi vị trí toạ độ tin nhắn điện thoại thông qua Modul SIM800L Chúng em xin cảm ơn thầy Nguyễn Ngọc Minh tạo điều kiện để chúng em hồn thành đề tài Trong quá trình làm đề tài, hạn chế mặt kiến thức kinh nghiệm nên khó tránh khỏi thiếu sót, mong thầy góp ý để nhóm em làm tớt các đề tài kế tiếp Chúng em xin chân thành cảm ơn!! Page of 27 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng I Giới thiệu đề tài Đặt vấn đề Ngày nay, phát triển mạnh mẽ khoa học công nghệ, sống người có thay đổi ngày tớt hơn, với trang thiết bị hiện đại phục vụ công công nghiệp hoá, hiện đại hoá đất nước Đặc biệt góp phần vào phát triển ngành kĩ thuật điện tử góp phần khơng nhỏ nghiệp xây dựng phát triển đất nước Những thiết bị điện, điện tử phát triển mạnh mẽ ứng dụng rỗng rãi đời sống sản suất Từ thời gian đầu phát triển ngành kỹ thuật điện tử cho thấy ưu việt ngày tính ưu việt ngày khẳng định thêm Những thành tựu biến cái tưởng chừng khơng thể thành cái có thể, góp phần nâng cao đời sớng vật chất tinh thần cho người Để góp phần làm sáng tỏ hiệu ứng dụng thực tế ngành kỹ thuật điện tử, nhóm chúng em quyết định chọn đề tài: “Sử dụng STM32F103C8T6 thực chống trộm xe máy cảm biến rung kết hợp sử dụng modul định vị GPS để gửi vị trí toạ độ tin nhắn điện thoại thông qua Modul SIM800L” làm đề tài nghiên cứu Mục tiêu đề tài - Nghiên cứu mơ hình chớng trộm định vị xe máy thơng qua sóng điện thoại - Ứng dụng hệ điều hành thời gian thực Free RTOS - Nghiên cứu sở lý thuyết để xây dựng mô hình dựa các kiến thức học lập trình - Ứng dụng các cơng nghệ gần gũi với sống người để xây dựng lên hệ thống điều khiển từ xa Nội dung đề tài - Sử dụng Kit STM32F103C8T6 để thiết kế hệ thống chống trộm cho xe máy - Sử dụng cảm biến rung kết hợp sử dụng modul định vị GPS để gửi vị trí toạ độ tin nhắn điện thoại thơng qua Modul SIM800L xe bị di chuyển - Ứng dụng dụng hệ điều hành thời gian thực Free RTOS II Cơ sở li thuyết Page of 27 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Tổng quan nội dung Khi bật thiết bị chống trộm xe máy cảm biến rung xe nhận tín hiệu xe bị di chuyển gửi tín hiệu KIT STM32 sau module sim thu thập liệu từ modul GPS Neo 6M ( xử lý) gửi tin nhắn điện thoại Giới thiệu Kit STM32F103C8T6 a Giới thiệu sơ lược STM32 dịng chip thơng dụng ST với nhiều họ thông dụng F0, F1, F2, F3, F4, STM32F103 thuộc họ F1 với lõi ARM COTEX M3 STM32F103 vi tinh chỉnh điều khiển 32 bit, vận tốc tối đa 72M hz Giá thành khá rẻ so với loại vi tinh chỉnh điều khiển có tính tương tự Mạch nạp công cụ lập trình khá phong phú dễ sử dụng Một sớ ứng dụng : dùng cho driver để điều khiển tinh chỉnh ứng dụng, tinh chỉnh điều khiển ứng dụng, thiết bị cầm tay th́c, máy tính thiết bị ngoại vi chơi game, GPS bản, ứng dụng cơng nghiệp, thiết bị lập trình PLC, biến tần, máy in, máy quét, mạng lưới hệ thống cảnh báo nhắc nhở, thiết bị liên lạc nội bộ, Phần mềm lập trình : có khá nhiều trình biên dịch cho STM32 IAR Embedded Workbench, Keil C, Thư viện lập trình: có nhiều loại thư viện lập trình cho STM32 như: STM32snippets, STM32Cube LL, STM32Cube HAL, Standard Peripheral Libraries, Mbed core Mạch nạp: Có nhiều loại mạch nạp như: ULINK, J-LINK, STLINK, Hiǹ h II.2.1 Hình ảnh thực tế Kit STM32F103C8T6 b Cấu hình chi tiết của STM32F103C8T6 - ARM 32-bit Cortex M3 với clock max 72Mhz Bộ nhớ: 64 kbytes nhớ Flash(bộ nhớ lập trình) 20kbytes SRAM Clock, reset quản lý nguồn Điện áp hoạt động 2.0V -> 3.6V Page of 27 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng - Power on reset(POR), Power down reset(PDR) programmable voltage detector (PVD) - Sử dụng thạch anh từ 4Mhz -> 20Mhz - Thạch anh nội dùng dao động RC mode 8Mhz 40khz - Sử dụng thạch anh 32.768khz sử dụng cho RTC Trong trường hợp điện áp thấp: - Có các mode :ngủ, ngừng hoạt động hoạt động chế độ chờ - Cấp nguồn chân Vbat pin để hoạt động RTC sử dụng lưu trữ data nguồn cấp ADC 12 bit với kênh cho - Khoảng giá trị chuyển đổi từ – 3.6V - Lấy mẫu nhiều kênh kênh - Có cảm biến nhiệt độ nội DMA: chuyển đổi giúp tăng tốc độ xử lý khơng có can thiệp quá sâu CPU - kênh DMA - Hỗ trợ DMA cho ADC, I2C, SPI, UART timer - timer 16 bit hỗ trợ các mode IC/OC/PWM - timer 16 bit hỗ trợ để điều khiển động với các mode bảo vệ ngắt input, dead-time - watdog timer dùng để bảo vệ kiểm tra lỗi - sysTick timer 24 bit đếm xuống dùng cho các ứng dụng hàm Delay… Hỗ trợ kênh giao tiếp bao gồm: - I2C(SMBus/PMBus) - USART(ISO 7816 interface, LIN, IrDA capability, modem control) - SPIs (18 Mbit/s) - CAN interface (2.0B Active) - USB 2.0 full-speed interface Kiểm tra lỗi CRC 96-bit ID c Thông số kĩ thuật Page of 27 Báo cáo môn học: Đồ án thiết kế hệ thớng nhúng Hình II.2.2 Hình ảnh sơ đồ chân kết nối Kit STM32F103C8T6 Vi điều khiển: STM32F103C8T6 Điện áp cấp 5VDC qua cổng Micro USB chuyển đổi thành 3.3VDC qua IC nguồn cấp cho Vi điều khiển Tích hợp sẵn thạch anh 8Mhz Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC Ra chân đầy đủ tất các GPIO giao tiếp: CAN, I2C, SPI, UART, USB,… Tích hợp Led trạng thái ng̀n, Led PC13, Nút Reset Kích thước: 53.34 x 15.24mm Sử dụng với các mạch nạp: - ST-Link Mini - J-link - USB TO COM Kết nối chân nạp ST-Link Mini\ Nạp theo chuẩn SWD - TCK — SWCLK - TMS — SWDIO - GND — GND - 3.3V — 3.3V Giới thiệu Module SIM800L a Giới thiệu chung Module sim800L dùng điều khiển thiết bị cảnh báo từ xa thông qua mạng di động gọi điện, nhắn tin, GPRS Dễ giao tiếp với các họ vi điều khiển Pic, 8051, AVR, Arduino… Module Sim 800l ứng dụng rộng rãi thực thế, các phịng thơng minh, ngơi nhà thơng minh, IOT… Điều khiển module sử dụng tập lệnh AT dễ dàng tiêu thụ điện nhỏ phù hợp cho các đồ án dự án cần dùng Pin Acquy Page of 27 Báo cáo môn học: Đờ án thiết kế hệ thớng nhúng Hình II.3.1 Hình ảnh thực tế sơ đồ chân Module SIM800L b Thông số kĩ thuật Datasheet Module sim800L Chân 12 Điện áp hoạt động 4.2v Dòng hoạt động 100mA – 1A (nên chọn ng̀n 1A) Dịng chế độ chờ 10mA Khe cắm Sim MicroSim Kích thước 25mm x 22mm c a Chức các chân của Module SIM800L VCC: Nguồn vào 4.2V TXD: Chân truyền Uart TX RXD: Chân nhận Uart RX DTR : Chân UART DTR, thường không xài SPKP, SPKN: ngõ âm thanh, nối với loa để phát âm MICP, MICN: ngõ vao âm thanh, phải gắn thêm Micro để thu âm Reset: Chân khởi động lại Sim800L (thường không xài) RING : báo có gọi đến GND: Chân Mass, cấp 0V Giới thiệu cảm biến rung SW-420 Giới thiệu chung Page of 27 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Cảm biến rung SW-420 thường cảm biến sử dụng các ứng dụng chống trộm, nhận biết rung động, cảm biến có cấu tạo phía dạng lị xo, tích hợp biến trở chỉnh độ nhạy cảm biến, cảm biến có ngõ dạng Digital dễ giao tiếp lập trình với Vi điều khiển Khi khơng có rung trở kháng ~ Khi có rung động nghiêng trở kháng lớn Hình II.4.1 Cảm biến rung SW-420 Thơng sớ kĩ tḥt Điện áp hoạt động: 3.3V-5V Tín hiệu ngõ ra: Digital Trạng thái ngõ mặc định: LOW Tích hợp LED báo ng̀n LED báo trạng thái cảm biến Kích thướt board 32x14mm Khi khơng có rung động, ngõ (DO) xuất tín hiệu mức thấp đờng thời LED tín hiệu ngõ sáng c Sơ đồ nguyên lý cảm biến rung SW420 b - Page of 27 10 Báo cáo môn học: Đồ án thiết kế hệ thớng nhúng Hình II.4.2 Sơ đồ ngun lí cảm biến rung SW-420 Modul định vị GPS Neo 6M a Giới thiệu chung Mạch định vị GPS GY-NEO 6M V2 module định vị toàn cầu sử dụng hệ thống vệ tinh GPS Mỹ Mạch định vị GPS NEO-6M cho tớc độ xác định vị trí nhanh xác, có nhiều mức lượng hoạt động, phù hợp với các ứng dụng chạy pin Module định vị GPS sử dụng board điều khiển kết nối hãng U-BLOX đến từ Thụy Sĩ có nhiều năm kinh nghiệm lĩnh vực sản xuất module định vị toàn cầu Page 10 of 27 13 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Chunk Sự miêu tả Một Cảnh báo thu điều hướng A = OK, V = cảnh báo 4916,45, N Vĩ độ 49 độ 16,45 phút North 12311.12, W Kinh độ 123 độ 11,12 phút West 000.5 Tốc độ mặt đất, Knots 054,7 Khóa học thực hiện tớt, đúng 191194 Ngày sửa chữa 020.3, E Biến thiên từ tính 20,3 độ Đông * 68 Tổng kiểm tra bắt buộc Ví dụ: $ GPRMC, 225446, A, 4916,45, N, 12311.12, W,000.5,054.7,191194,020.3, E * 68 $GPGSA: GPS DOP các vệ tinh hoạt động Cách thức Sự miêu tả M = Thủ công, buộc phải hoạt động 2D 3D A = Tự động, 3D / 2D = Khơng có sửa lỗi = 2D = 3D 3-14 ID SV sử dụng sửa chữa vị trí (rỗng đới với các trường khơng sử dụng) 15 PDOP 16 HDOP 17 VDOP Ví dụ: $GPGSA, A, 3, 19,28,14,18,27,22,31,39,,,,,1.7,1.0,1.3*35 $GPGSV: Dữ liệu vệ tinh chi tiết $GPGSV,3,1,11,03,03,111,00,04,15,270,00,06,01,010,00,13,06,292,00*74 $GPHDT: Heading, True $ GPRTE: Các tuyến đường Page 13 of 27 14 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng $ GPTRF: Dữ liệu sửa chữa chuyển tuyến, thời gian, ngày tháng, vị trí thông tin liên quan đến Bản sửa lỗi TRANSIT $ GPRMA - Dữ liệu Loran-C cụ thể tối thiểu đề xuất $ GPRMB - Thông tin điều hướng tối thiểu đề xuất$ GPRMC - Dữ liệu GPS / Phương tiện công cộng tối thiểu đề xuất Chuẩn giao tiếp I2C I2C kết hợp các tính tốt SPI UART Với I2C, bạn kết nới nhiều slave với master (như SPI) bạn có nhiều master điều khiển nhiều slave Điều thực hữu ích bạn ḿn có nhiều vi điều khiển ghi liệu vào thẻ nhớ hiển thị văn hình LCD Giống giao tiếp UART, I2C sử dụng hai dây để truyền liệu các thiết bị: SDA (Serial Data) - đường truyền cho master slave để gửi nhận liệu SCL (Serial Clock) - đường mang tín hiệu xung nhịp I2C giao thức truyền thơng nới tiếp, liệu truyền bit dọc theo đường (đường SDA) Giống SPI, I2C đồng bộ, đầu các bit đờng hóa với việc lấy mẫu các bit tín hiệu xung nhịp chia sẻ master slave Tín hiệu xung nhịp ln điều khiển master Cách hoạt động của I2C Với I2C, liệu truyền các tin nhắn Tin nhắn chia thành các khung liệu Mỗi tin nhắn có khung địa chứa địa nhị phân địa slave nhiều khung liệu chứa liệu truyền Thông điệp bao gồm điều kiện khởi động điều kiện dừng, các bit đọc / ghi các bit ACK / NACK khung liệu: Hình II.6.1 Hoạt động I2C Ưu điểm và nhược điểm của I2C Có nhiều điều I2C khiến nghe phức tạp so với các giao thức khác, có sớ lý đáng khiến bạn muốn không muốn sử dụng I2C để kết nối với thiết bị cụ thể: Ưu điểm: Page 14 of 27 15 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng a Chỉ sử dụng hai dây Hỗ trợ nhiều master nhiều slave Bit ACK / NACK xác nhận khung chuyển thành cơng Phần cứng phức tạp so với UART Giao thức tiếng sử dụng rộng rãi Nhược điểm: Tốc độ truyền liệu chậm SPI Kích thước khung liệu bị giới hạn bit Cần phần cứng phức tạp để triển khai so với SPI Tổng quan về FreeRTOS Khái niệm FreeRTOS Thương mại hố Chuẩn IEC 61508 Hình II.7.1: Sơ đồ phát triển FreeRTOS FreeRTOS lõi hệ điều hành thời gian thực miễn phí Hệ điều hành Richard Barry công bố rộng rãi từ năm 2003, phát triển mạnh đến cộng đờng mạng mã ng̀n mở ủng hộ FreeRTOS có tính khả chuyển, mã ng̀n mở, lõi down miễn phí dùng cho các ứng dụng thương mại Nó phù hợp với hệ nhúng thời gian thực nhỏ Hầu hết các code viết ngơn ngữ C nên có tính phù hợp cao với nhiều khác Ưu điểm dung lượng nhỏ chạy mà nhiều hệ khơng chạy Có thể port cho nhiều kiến trúc vi điều khiển công cụ phát triển khác Mỗi port thức bao gờm ứng dụng ví dụ tiền cấu hình biểu hiện riêng biệt lõi, kiến thức hướng phát triển Những hỗ trợ miễn phí cung cấp cộng đồng mạng Hỗ trợ thương mại với dịch vụ phát triển đầy đủ cung cấp FreeRTOS cấp giấy phép chỉnh sửa GPL (General Public License) sử dụng ứng dụng thương mại với giấy phép Ngồi liên quan đến FreeRTOS có OpenRTOS SafeRTOS OpenRTOS thương mại FreeRTOS.org không liên quan đến GPL SafeRTOS dựa FreeRTOS phân tích, chứng minh tài liệu kiểm tra nghiêm ngặt với Page 15 of 27 16 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng chuẩn IEC61508 Và chuẩn IEC61508 SIL3 tạo phát triển độc lập để hoàn thiện tài liệu cho SafeRTOS Miễn phí Có thể sử dụng ứng dụng thương mại? Miễn phí ứng dụng thương mại? Phải đưa mã nguồn code ứng dụng? Phải đưa thay đổi mã nguồn lõi? Phải đưa vào báo cáo nếu sử dụng FreeRTOS.org? Phải cung cấp mã FreeRTOS cho người sử dụng? Có thể nhận hỗ trợ thương mại? FreeRTOS OpenRTOS Có Có Có Khơng Có Có, đường dẫn Có Khơng Khơng Có Có Khơng Khơng Khơng Khơng Có Bảng 1: Các hỗ trợ khác từ FreeRTOS OpenRTOS b Các đặc điểm của FreeRTOS Các chức được cung cấp FreeRTOS FreeRTOS.org lõi hệ điều hành thời gian thực thiết kế cho các hệ thống nhúng nhỏ, với các chức sau: Lõi FreeRTOS hỗ trợ preemptive, cooperative các lựa chọn cấu hình lai hai phần SafeRTOS sản phẩm dẫn xuất, cung cấp mã nguồn riêng mức độ cao Được thiết kế nhỏ, đơn giản dễ sử dụng Cấu trúc mã nguồn linh động viết ngôn ngữ C Hỗ trợ task co-routine Mạnh hàm theo vết Có lựa chọn nhận biết tràn ngăn xếp Khơng giới hạn sớ task tạo ra, phụ thuộc vào tài nguyên chip Không giới hạn số mức ưu tiên sử dụng Không giới hạn số task mức ưu tiên Hỗ trợ truyền thông đồng các task task ngắt: queues, binary semaphores, counting semaphores and recursive mutexes Mutexes với ưu tiên kế thừa Các cơng cụ phát triển miễn phí, port cho Cortex-M3, ARM7, PIC, MSP430, H8/S, AMD, AVR, x86 8051 Miễn phí mã ng̀n phần mềm nhúng Miễn phí ứng dụng thương mại Tiền cấu hình cho các ứng dụng demo, từ dễ dàng tìm hiểu phát triển c Các vấn đề bản FreeRTOS Các vấn đề FreeRTOS [1] nằm các vấn đề RTOS nói chung: Đa nhiệm (Mutiltasking) Page 16 of 27 17 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Bộ lịch trình(Scheduling) Chuyển đổi ngữ cảnh (Context Switching) Ứng dụng thời gian thực (Real Time Application) Lập lịch thời gian thực (Real Time Scheduling) Đa nhiệm Thuật ngữ kernel dùng để đến thành phần cốt lõi bên hệ điều hành Các hệ điều hành Linux sử dụng nhân kernel cho phép nhiều người dùng truy cập vào máy tính dường liên tục mặt thời gian Nhiều người dùng thi hành các chương trình nhìn bề ngoại đờng thời với hệ điều hành Thực ra, chương trình thi hành nhiệm vụ phân chia điều khiển hệ điều hành Nếu hệ điều hành có khả thi hành nhiều tác vụ gọi đa nhiệm (multitasking) Sử dụng hệ điều hành đa nhiệm làm đơn giản quá trình thiết kế toán mà gánh nặng nếu chuyển hết cho phần mềm ứng dụng xử lý Đa nhiệm tính liên lạc nội các tác vụ hệ điều hành cho phép các ứng dụng phức tạp phân chia thành các tác vụ nhỏ hơn, đơn giản hơn, dễ quản lý Các phần chia nhỏ giúp chúng ta dễ dàng có kết quá trình kiểm tra phần mềm, sử dụng lại mã chương trình Những tính toán thời gian phức tạp các quá trình chi tiết tách biệt khỏi chương trình ứng dụng chuyển nhiệm vụ cho hệ điều hành đảm trách Thường các vi xử lý thực hiện tác vụ thời điểm với chuyển đổi cách nhanh các tác vụ hệ điều hành đa nhiệm làm cho chúng dường chạy đồng thời với Điều mô tả sơ đồ với tác vụ giản đồ thời gian chúng Hình II.7.2 Đa nhiệm FreeRTOS Lập lịch Bộ lịch trình phần nhân hệ điều hành chịu trách nhiệm quyết định nhiệm vụ thi hành thời điểm Nhân kernel cho dừng tác vụ phục hồi lại tác vụ sau nhiều lần śt quá trình sớng tác vụ Scheduling policy - chế lập lịch trình thuật toán sử dụng lịch trình để quyết định tác vụ thi hành thời điểm dịnh Cơ chế Page 17 of 27 18 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng hệ thống nhiều người dùng (không phải thời gian thực) gần cho phép nhiệm vụ chiếm lĩnh hoàn toàn thời gian vi xử lý Còn chế hệ thời gian thực hay hệ nhúng mô tả sau đây: Các task 1, 2, có mức ưu tiên giảm dần tác vụ ưu tiên cao yêu cầu các task ưu tiên thấp phải nhường Tại (1), nhiệm vụ thứ thi hành Tại (2), nhân kernel dừng tác vụ Tại (3), phục hồi lại tác vụ Tại (4), tác vụ thi hành, cấm các ngoại vi vi xử lý cho phép thân tác vụ truy cập vào Tại (5), nhân kernel dừng tác vụ Tại (6) phục hồi lại tác vụ Tác vụ cố thử truy cập vào ngoại vi vi xử lý thấy bị cấm, khơng thể tiếp tục tự dừng vị trí (7) Tại (8), nhân kernel phục hời lại task Tại (9), thời điểm tiếp theo tác vụ thi hành kết thúc với ngoại vi vi xử lý cho phép các tác vụ khác truy cập Thời điểm tiếp tác vụ thi hành thấy truy cập vào ngoại vi nên tiếp tục thực thi cho bị dừng nhân kernel Chuyển đổi ngữ cảnh Khi tác vụ thi hành, sử dụng các ghi truy cập vào ROM, RAM các tác vụ khác Những tài nguyên bao gồm : ghi, RAM, ROM, stack, gọi ngữ cảnh thực thi nhiệm vụ tác vụ Một tác vụ đoạn mã liên tục, khơng biết khơng báo trước nếu bị dừng phục hồi kernel Phân tích trường hợp mà tác vụ bị dừng cách tức thực hiện lệnh cộng hai ghi vi xử lý Khi tác vụ bị dừng, các tác vụ khác thi hành thay đổi các giá trị ghi vi xử lý Dựa phục hồi tác vụ không nhận biết các ghi vi xử lý bị thay đổi - nếu sử dụng các giá trị bị thay đổi dẫn đến kết sai Để ngăn chặn kiểu lỗi này, yếu tố cần thiết phục hồi tác vụ phải có ngữ cảnh đờng Nhân hệ điều hành chịu trách nhiệm xác định chắn trường hợp cần chuyển ngữ cảnh thực hiện nhiệm vụ tác vụ bị dừng Page 18 of 27 19 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Khi tác vụ phục hồi, ngữ cảnh lưu lại trao trả cho tác vụ thực hiện tiếp Các ứng dụng thời gian thực Hệ điều hành thời gian thực thực hiện đa nhiệm ới nguyên lý các đới tượng khác so với các đối tượng hệ thời gian thực Sự khác biệt phản ánh chế lập lịch trình Hệ thời gian thực/ hệ nhúng thiết kế cho các đáp ứng mặt thời gian thực đối với các kiện xảy thế giới thật Các kiện xảy thế giới thực có thời điểm kết thúc trước hệ nhúng/hệ thời gian thực phải đáp ứng chế lập lịch hệ RTOS phải xác định thời điểm kết thúc mà phải gặp Để thực hiện mục tiêu trên, kỹ sư lập trình phải gán quyền ưu tiên cho tác vụ Sau chế lập lịch hệ RTOS đơn giản xác định tác vụ có quyền ưu tiên cao phép thi hành thời điểm xử lý Điều dẫn đến cần chia sẻ thời gian xử lý cách cơng các tác vụ có ưu tiên sẵn sàng thực thi Tác vụ điều khiển có quyền ưu tiên cao vì: Thời hạn cho tác vụ điều khiển có yêu cầu nghiêm ngặt tác vụ xử lý bàn phím Hậu việc thời hạn kết thúc (dead line) tác vụ điều khiển lớn tác vụ xử lý phím Bợ lập lịch thời gian thực Sơ đờ trình bày các tác vụ định nghĩa thế phần trước lịch trình hệ thời gian thực Hệ RTOS trước tiên tự tạo cho tác vụ gọi Idle Task, tác vụ thực thi khơng có tác vụ có khả thực thi Tác vụ Idle hệ RTOS trạng thái sẵn sàng hoạt động Hình II.7.3: Sơ đồ phân chia các kiện theo thời gian Với giản đồ trên, ta thấy nếu tác vụ điều khiển yêu cầu hoạt động tác vụ bàn phím buộc phải nhường lập trình ta ln để tác vụ điều khiển có mức ưu tiên cao hơn, lập lịch thời gian thực cho phép các tác vụ có ưu tiên cao chiếm quyền chạy trước Trong lập lịch ln có tác vụ Idle nhằm quản lý phân phối tài nguyên ln mức ưu tiên thấp nhất, chạy khơng có tác vụ III Thiết kế hệ thống Nguyên li hoạt động Khi gửi tin nhắn bật hệ thống đến Modul SIM cảm biến rung SW- 420 chế độ hoạt động Khi có rung nghiêng trở kháng lớn cảm biến rung Modul Page 19 of 27 20 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng SIM gửi tin nhắn toạ độ số điện thoại đăng kí Khi gửi tin nhắn tắt hệ thớng, cảm biến rung Modul SIM không hoạt động, mạch hiển thị toạ độ lên LCD Hình III.1.1 Sơ đồ ngun lí hệ thống Sơ đờ khới Page 20 of 27 21 Báo cáo môn học: Đồ án thiết kế hệ thớng nhúng Hình III.2.1 Sơ đồ khối hệ thống Mô hình thực tế Page 21 of 27 22 Báo cáo môn học: Đồ án thiết kế hệ thớng nhúng Hình III.3.1 Mơ hình thực tế hệ thống Chương trình chinh #include "stm32f10x.h" // Device header Page 22 of 27 23 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng #include "stdio.h" #include "debug.h" #include "gps_neo6m.h" #include "timer.h" #include "delay.h" #include "mcu-i2c.h" #include "sensor_pcf8574.h" #include "sim800l.h" /*Da OKI*/ #define TIMEOUT 5000; char phone[]="+84336932973"; GPS_uart GPS_rx; char svB[1000]; char *Data; char buf[500]; char Data_vd[20]; char Data_kd[20]; char Data_sms[500]; char int int char vrc_Getc; xuong; vri_Stt = 0; vri_Count = 0; vrc_Res[100]; thoi; // bien kieu char, dung de nhan du lieu tu PC gui // bien danh dau trang thai // bien diem //Mang kieu char vrc_Res[MAX]: mang luu tru tam int sr_r; int _gps; void SW420_Init(void); int SW420_Read(void); void SW420_Test(void); void GPS_Data(void); void LCD_GPS(void); int main(void){ int i; I2Cx_Init(I2C_USED, I2C1_B67, I2C_CLOCK_STANDARD); PCF_Init(); PCF_Backlight(1); Fn_UART_Init(USART1, 9600); Fn_UART_Init(USART3, 9600); Page 23 of 27 24 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng SW420_Init(); Fn_Timer2_Init(); Fn_Timer4_Init(); while(1){ GPS_Data(); LCD_GPS(); if(sr_r){ if(SW420_Read()){ sprintf(Data_sms,"Hello, I'm Sim800L! Latitude: %s, Longitude: %s",Data_vd, Data_kd); SIM800x_SendSMS1(phone,Data_sms); } sr_r = 0; } Delay_ms(500); PCF_Clear(); } } void GPS_Data(void){ UART_Receive_DMA(USART3, GPS_rx.buffer, 1000); GPGLL_Parser(GPS_rx.buffer); if(check4String("$GPGLL",1)){ if(copyFarmeGPS("$GPGLL",svB)){ GPGLL_Parser(svB); } } printf("\n\n"); } void LCD_GPS(void){ PCF_Goto(1,0); PCF_Print(Data_vd); PCF_Goto(2,0); PCF_Print(Data_kd); } void SW420_Init(void){ RCC->APB2ENR |= 1IDR)&0x01; } Page 24 of 27 25 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng void SW420_Test(void){ printf("Signal: %d\n",SW420_Read()); Delay_ms(50); } IV Kết luận và hướng phát triển Kết luận a Ưu điểm của đề tài - Mạch nhỏ gọn, tiện lợi - Đáp ứng yêu cầu đề tài - Dễ dàng lắp đặt sử dụng b Nhược điểm của đề tài - Mô hình cịn lớn so với u cầu đặt - Ng̀n cung cấp phải dùng chung với bình ăc-quy theo xe nên hao bình - Vì Modul SIM 800L GPS NEO 6M bắt sóng từ vệ tinh nên không ổn định phải thời gian để hoạt động Hướng phát triển - Mô hình sử dụng để bảo vệ tài sản, định vị thiết bị chuyển động mà chúng ta cần - Giám sát quản lý vận tải, theo dõi vị trí, tớc độ, hướng di chuyển, - Giám sát mại vụ, giám sát vận tải hành khách, - Chống trộm cho ứng dụng thuê xe tự lái, theo dõi lộ trình đồn xe, - Liên lạc, theo dõi định vị cho các ứng dụng giao hàng GPS có nhiều ứng dụng mạnh mẽ quản lý xe ô tô, đặc biệt các loại xe như: Xe taxi, xe tải, xe cơng trình, xe bus, xe khách, xe tự lái, Do thời gian kiến thức cịn hạn hẹp nên khơng thể tránh khỏi thiếu sót quá trình thực hiện đề tài Rất mong nhận góp ý, đánh giá quý báu quý thầy cô các bạn Lời cảm ơn Lời đầu tiên, chúng em xin gửi lời tri ân sâu sắc đến thầy Nguyễn Ngọc Minh Trong quá trình tìm hiểu học tập mơn Đờ án thiết kế hệ thống nhúng, chúng em nhận giảng dạy hướng dẫn tận tình, tâm huyết thầy Thầy giúp chúng em tích lũy thêm nhiều kiến thức hay bổ ích Từ kiến thức mà thầy truyền đạt, chúng em có hướng cách giải qút tới ưu cho đề tài Page 25 of 27 26 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Tuy nhiên, kiến thức môn Đồ án thiết kế hệ thớng nhúng chúng em cịn hạn chế định Do đó, khơng tránh khỏi thiếu sót quá trình hồn thành đề tài Mong thầy xem góp ý để đề tài nhóm em hồn thiện Kính chúc thầy hạnh phúc thành công nghiệp “trồng người” Kính chúc thầy ln dời sức khỏe để tiếp tục dìu dắt nhiều thế hệ sinh viên đến bến bờ tri thức Chúng em xin chân thành cảm ơn! Tài liệu tham khảo Kỹ thuật điện tử (1999) Đỗ Xuân Thụ – NXB giáo dục Giáo trình cảm biến (2000) Page 26 of 27 27 Báo cáo môn học: Đồ án thiết kế hệ thống nhúng Phan Quốc Phô, Nguyễn Đức Chiến – NXB Khoa học kĩ thuật Vi điều khiển cấu trúc lập trình ứng dụng (2008) Kiều Xuân Thực, Vũ Thị Hương, Vũ Trung Kiên – NXB Giáo Dục Website http://alldatasheet.com/ Website http://arduino.vn/ Website http://codientu.org/ Website http://webdien.com/ Website http://www.tailieu.vn/ Website http://wikipedia.com/ Page 27 of 27 ... ứng dụng thực tế ngành kỹ thuật điện tử, nhóm chúng em quyết định cho? ?n đề tài: ? ?Sử dụng STM32F103C8T6 thực chống trộm xe máy cảm biến rung kết hợp sử dụng modul định vị GPS để gửi vị trí... đề tài: Sử dụng STM32F103C8T6 thực hiện chống trộm cảm biến rung kết hợp sử dụng modul định vị GPS để gửi vị trí toạ độ tin nhắn điện thoại thông qua Modul SIM8 00L Chúng em xin cảm ơn... cho xe máy - Sử dụng cảm biến rung kết hợp sử dụng modul định vị GPS để gửi vị trí toạ độ tin nhắn điện thoại thơng qua Modul SIM8 00L xe bị di chuyển - Ứng dụng dụng hệ điều hành thời