Chương 1- Giới thiệu Trình bày về xu hướng công nghệ hiện nay và lý do chọn đề tài. Chương 2 - Cơ sở lý thuyết Trình bày về cơ sở lý thuyết liên quan đến đề tài. Chương 3 - Thiết kế và thi công hệ thống Trình bày các bước thiết kế hệ thống về phần cứng và phần mềm. Chương 4 – Kết quả và phân tích Trình bày kết quả của đề tài và đưa ra những lý giải về kết quả Chương 5 - Kết luận và hướng phát triển Trình bày nhận xét về đề tài và đặt ra hướng phát triển cho đề tài 5 CHƢƠNG 2 CƠ SỞ LÝ THUYẾT 2.
Tổng quan về hệ thống nhúng 2. Khái niệm về hệ thống nhúng Trong những năm gần đây, sự phân chia khái niệm một hệ thống thế nào là nhúng và thế nào là không nhúng ngày càng mờ nhạt, không rõ ràng. Lý do rất đơn giản, vì hầu hết các hệ thống ngày nay đều là hệ thống nhúng. Hệ thống nhúng đã có một số lượng rất lớn các ứng dụng từ nhỏ đến lớn, từ trong dân dụng đến trong công nghiệp, từ điều khiển đơn giản đến xử lý phức tạp.
Một hệ thống nhúng có thể định nghĩa như sau: hệ thống nhúng là một hệ thống chuyên dụng cho một mục đích xác định, bao gồm nhiều thành phần (bộ nhớ, I/O, module chức năng .) xung quanh một vi xử lý cùng với một hệ điều hành nhỏ, gọn, nhanh nhằm mục đích điều khiển vi xử lý, tất cả nằm trên một con chip ( SoC ) hay một bo mạch. Lịch sử hình thành của hệ thống nhúng Theo wikipedia. Giới thiệu về lịch sử hình thành hệ thống nhúng được lấy từ https://vi.org/wiki/Hệ_thống_nhúng, Giới thiệu về hệ thống nhúng: Hệ thống nhúng đầu tiên là Apollo Guidance Computer (máy tính dẫn đường Apollo) được phát triển bởi Charles Stark Draper tại phòng thí nghiệm của trường đại học MIT. Hệ thống nhúng được sản xuất hàng loạt, đầu tiên là máy hướng dẫn cho tên lửa quân sự vào năm 1961 có tên gọi là Autonetics D-17, được xây dựng từ những bóng bán dẫn và một đĩa cứng để duy trì bộ nhớ.
Bộ vi xử lý đầu tiên hướng đến người tiêu dùng là Intel 4004, được phát minh phục vụ máy tính điện tử và những hệ thống nhỏ khác, tuy nhiên, nó vẫn cần các chip nhớ ngoài và những hỗ trợ khác. Vào những năm cuối 1970, những bộ xử lý 8 bit đã được sản xuất, nhưng nhìn chung chúng vẫn cần đến những chip nhớ bên ngoài.Vào giữa thập niên 80, kỹ thuật mạch tích hợp đã đạt trình độ cao dẫn đến nhiều thành phần có thể đưa vào một vi xử lý. Các bộ vi xử lý được gọi là các vi điều khiển và được chấp nhận rộng rãi. Với giá cả thấp, các vi điều khiển đã trở nên rất hấp dẫn để xây dựng các hệ thống 6 chuyên dụng.
Đã có một sự bùng nổ về số lượng các hệ thống nhúng trong tất cả các lĩnh vực thị trường và số các nhà đầu tư sản xuất theo hướng này. Ví dụ, rất nhiều vi xử lý đặc biệt xuất hiện với nhiều giao diện lập trình hơn là kiểu song song truyền thống để kết nối các vi xử lý. Vào cuối những năm 80, các hệ thống nhúng đã trở nên phổ biến trong hầu hết các thiết bị điện tử và khuynh hướng này vẫn còn tiếp tục cho đến nay. Hiện nay có khá nhiều kiến trúc vi xử lý khác nhau sử dụng để xây dựng hệ thống nhúng như: ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8, … Hình 2.
1 - Apollo Guidance Computer Ngày nay, một hệ thống nhúng có các ứng dụng rất rộng rãi trong cuộc sống hàng ngày và có thể tìm gặp ở bất kì các thiết bị điện tử nào. Ví dụ trong các thiết bị điện tử dân dụng (máy giặt, tủ lạnh, TV .), các thiết bị điện tử “thông minh” (điện thoại di động), thiết bị truyền thông, thiết bị y tế, xe hơi, thậm chí cả trong một máy tính cá nhân (card mở rộng). Hệ thống nhúng rất đa dạng, phong phú về chủng loại, có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kỹ thuật số, máy chơi nhạc MP3 hay những sản phẩm lớn như đèn giao thông, các bộ kiểm soát trong nhà máy hay hệ thống kiểm soát các máy năng lượng hạt nhân,….Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều thành phần, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn. 7 Các ví dụ về hệ thống nhúng: Các máy trả lời tự động.
Hệ chuyển mạch. Hệ thống dẫn đường trong không lưu. Các thiết bị y tế. Máy chơi games Máy móc công nghiệp sử dụng các bộ điều khiển logic có thể lập trình được để điều khiển và giám sát các hoạt động của dây chuyền hệ thống.
Đặc trƣng của hệ thống nhúng Sự khác biệt giữa một hệ thống nhúng và hệ thống máy tính PC: Một hệ thống nhúng chính là một hệ thống chuyên dụng với một chức năng cụ thể, trong khi đó hệ thống máy tính là một hệ thống đa dụng với chức năng của nó tại một thời điểm do phần mềm quyết định. Trong một hệ thống nhúng có thể có nhiều chương trình phần mềm chạy cùng lúc với nhau dưới một hệ điều hành nào đó. Bởi vì một hệ thống nhúng còn có thể là một phần nhỏ của một hệ thống lớn hơn, nên nó có thể nằm trên một board mạch với một vi xử lý riêng cùng với phần mềm được lưu trữ trong ROM. Một đặc tính khác cũng khá quan trọng và mang nét riêng của hệ thống nhúng đó chính là thời gian thực.
Một hệ thống nhúng phải có khả năng thực hiện chức năng của mình trong một khoảng thời gian hữu hạn, ngắn nhất và có thể dự đoán trước. Có 2 loại thời gian thực: thời gian thực cứng và thời gian thực mềm. Đối với hệ thống thời gian thực cứng, tất cả các chức năng của nó phải được thực thi chính xác trong một khoảng thời gian xác định, nếu không cả hệ thống sẽ bị lỗi nghiêm trọng. Ví dụ : hệ thống điều khiển không lưu, hệ thống dẫn đường tên lửa, thiết bị y tế, ….
Đối với hệ thống thời gian thực mềm, các chức năng phải được thực hiện trong một khoảng thời gian xác định nhỏ nhất nhưng không bắt buộc. 8 Một hệ thống nhúng bao giờ cũng được “bao bọc” bởi một hệ thống phần cứng mà nó điều khiển, chính vì vậy, đối với người sử dụng cuối, họ không nhận ra sự hiện diện của hệ thống nhúng trong một thiết bị phần cứng. Do đó, đây cũng là sự khác biệt giữa một hệ thống nhúng và một máy tính cá nhân. Một hệ thống nhúng cũng có khả năng tương tác với thế giới bên ngoài, tuy nhiên giao diện người sử dụng của nó lại thường khá đơn giản.
Lĩnh vực hệ thống nhúng đòi hỏi sự kết hợp của nhiều ngành lại với nhau như: kỹ thuật phần mềm, hệ điều hành, thiết kế phần cứng… Vì vậy, một kỹ sư thiết kế hệ thống nhúng phải có khả năng hiểu được nhiều lĩnh vực khác nhau, từ thiết kế phần cứng, xuống layout ra chip, đến lập trình phần mềm, cài đặt hệ điều hành …. Các hệ thống nhúng có thể không có giao diện hoặc có đầy đủ giao diện giao tiếp với người dùng tương tự như các hệ điều hành trong các thiết bị để bàn. Các hệ thống đơn giản sử dụng nút bấm, đèn LED và hiển thị chữ cỡ nhỏ hoặc chỉ hiển thị số. Trong một hệ thống phức tạp hơn, một màn hình đồ họa, cảm ứng hoặc có các nút bấm ở lề màn hình cho phép thực hiện các thao tác phức tạp.
Các hệ thống nhúng thường có một màn hình với một nút bấm dạng cần điểu khiển (joystick button). Sự phát triển mạnh mẽ của mạng toàn cầu đã mang đến cho những nhà thiết kế hệ nhúng một lựa chọn mới là sử dụng một giao diện web thông qua kết nối mạng. Điều này có thể giúp tránh được chi phí cho những màn hình phức tạp nhưng đồng thời vẫn cung cấp khả năng hiển thị và nhập liệu phức tạp khi cần đến, thông qua một máy tính khác. Điều này là hết sức hữu dụng đối với các thiết bị điều khiển từ xa, hoặc các thiết bị cài đặt vĩnh viễn từ khi xuất xưởng.
Các hệ thống nhúng thường nằm trong các cỗ máy được kỳ vọng là sẽ chạy hàng năm trời liên tục mà không bị lỗi hoặc có thể tự động khôi phục hệ thống khi gặp lỗi. Vì thế, các phần mềm hệ thống nhúng cần phải được kiểm thử một cách cẩn thận hơn là phần mềm cho máy tính cá nhân. Ngoài ra, các thiết bị rời không đáng tin cậy như ổ đĩa, công tắc hoặc nút bấm thường bị hạn chế sử dụng. Việc khôi phục hệ thống khi gặp lỗi có thể được thực hiện bằng cách sử dụng các kỹ thuật như watchdog timer nếu phần mềm không đều đặn nhận được các tín hiệu watchdog định kì thì hệ thống sẽ tự khởi động lại.
Trường hợp hệ thống không thể ngừng để 9 sửa chữa một cách an toàn. Ví dụ, ở các hệ thống không gian, hệ thống dây cáp dưới đáy biển, các đèn hiệu dẫn đường, … Giải pháp đưa ra là chuyển sang sử dụng các hệ thống con dự trữ hoặc các phần mềm cung cấp một phần chức năng. Đối với hệ thống phải được chạy liên tục vì tính an toàn. Ví dụ, các thiết bị dẫn đường máy bay, thiết bị kiểm soát độ an toàn trong các nhà máy hóa chất… thì cần phải chuẩn bị sẵn sàng hệ thống khác tương tự để thay thế ngay khi cần thiết.
Hiện nay, các sản phẩm hệ thống nhúng thường được sử dụng trên nền tảng ARM, với tốc độ xử lý cao được ứng dụng nhiều trong các sản phẩm công nghiệp. Môi trường lập trình cho các thiết bị nhúng hiện nay hầu như là trên môi trường Linux và phái phải đáp ứng được tính real-time của sản phẩm. Giới thiệu về kit nhúng Raspberry Pi 2. Tóm lƣợc về Raspberry Pi Raspberry Pi (RPi) là một chiếc “máy tính tí hon” chạy hệ điều hành Linux ra mắt vào tháng 2 năm 2012.
Ban đầu RPi được phát triển dựa trên ý tưởng tiến sĩ Eben Upton tại đại học Cambridge muốn tạo ra một chiếc máy tính giá rẻ để học sinh có thể dễ dàng tiếp cận và khám phá thế giới tin học.