Download miễn phí Đồ án Thiết kế, tích hợp và phát triển phần cứng, phần mềm hệ nhúng Armadillo-300 cho phép truyền video trên mạng WLAN và mạng Ad-hoc





Mục lục
Lời nói đầu 1
Tóm tắt công trình 2
Abstract 3
Mục lục 4
Danh mục hình vẽ 7
1.Đặt vấn đề 9
1.1 Giới thiệu về mạng Ad-hoc 9
1.2 Giới thiệu về hệ nhúng 11
1.2.1 Định nghĩa hệ nhúng (Embedded System) 11
1.2.2 Lịch sử 12
1.2.3 Đặc điểm 13
1.2.4 Giao diện 14
1.2.5 Kiến trúc CPU 14
1.2.6 Thiết bị ngoại vi 15
1.2.7 Công cụ phát triển 15
1.2.8 Độ tin cậy 16
1.2.9 Xu hướng phát triển của hệ nhúng 17
1.2.8 Thách thức và các vấn đề tồn tại của hệ nhúng 17
1.2.9 Hệ nhúng có hệ điều hành 18
1.3 Nhu cầu thực tiễn 21
1.4 Mục tiêu đề tài 21
2. Thiết kế hệ thống 22
2.1 Mô hình và cấu trúc 22
2.2 Board nhúng sử dụng 25
2.2.1 Giới thiệu Armadillo-300 25
a. Chíp vi xử lý 26
b. IEEE802.11a/b/g WLAN and Ethernet 26
c. Hệ điều hành 26
d. Bảo mật và IPv6 26
e. Giao tiếp USB, CompactFlash và LCD 26
2.2.2 Cách boot board mạch 28
2.2.3 Cách nạp file image vào board mạch 30
3. Môi trường phát triển ứng dụng cho bo nhúng (ATDE) 31
3.1 Giới thiệu về ATDE 31
3.2 Biên dịch file image cho board nhúng trên ATDE 32
3.3 Cross-compile trên ATDE 33
3.3.1 Giới thiệu Cross-compile trên Linux 33
3.3.2 Biên dịch chương trình “Hello world” 34
3.3.3 Nạp các ứng dụng xuống Armadillo-300 35
3.4 Kiến trúc chức năng hệ thống 36
3.5 Mô tả chức năng và hoạt động 36
4. Triển khai thực hiện. 37
4.1 Tiến trình nghiên cứu triển khai 37
4.2 Cấu hình mạng Ad-hoc cho hệ nhúng 39
4.3 Triển khai phần mềm định tuyến trên hệ nhúng 39
4.3.1 Giới thiệu về OLSRD 39
4.3.2 Triển khai OLSRD trên hệ nhúng 40
4.4 Triển khai driver cho webcam trên hệ nhúng 42
4.4.1 Tiến trình thực hiện 42
4.4.2 Giới thiệu gói phần mềm GSPCA 42
4.4.3 Triển khai GSPCA 42
4.5 Triển khai phần mềm truyền video 45
4.5.1 Giới thiệu về các phần mềm truyền video 45
4.5.2 Triển khai mjpeg-streamer trên hệ nhúng 45
4.6 Phát triển giao tiếp cổng COM cho hệ nhúng 46
4.6.1 Cổng COM trên bo nhúng Armadillo-300 46
4.6.2 Lập trình nối tiếp trên Linux 48
a. Cơ sở giao tiếp nối tiếp 48
b. RS 232 48
c. Định nghĩa mức tín hiệu 48
d. Lập trình với cổng nối tiếp 49
e. Cấu hình cho cổng COM 52
4.6.3 Phát triển chương trình điều khiển độ phần giải video qua cổng COM 55
4.7 Các module chính 57
4.7.1 Module Nghiên cứu về hệ nhúng và xây dựng mạng ad-hoc trên hệ nhúng. 57
4.7.2 Module triển khai video streaming trên server. 57
4.7.3 Triển khai kết nối mạng. 57
4.8 Giao diện người - máy 57
4.9 Tích hợp hệ thống 58
5. Kết quả đạt được 59
5.1 Phần cứng 59
5.2 Phần mềm 61
6. Kết luận 64
Tài liệu tham khảo 65
 
 
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

đượ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. Nó là máy hướng dẫn Autonetics D-17, được xây dựng sử dụng những bóng bán dẫn và một đĩa cứng để duy trì bộ nhớ. Khi Minuteman II được đưa vào sản xuất năm 1996, D-17 đã được thay thế với một máy tính mới sử dụng mạch tích hợp. chức năng thiết kế chủ yếu của máy tính Minuteman là nó đưa ra thuật toán có thể lập trình lại sau đó để làm cho tên lửa chính xác hơn, và máy tính có thể kiểm tra tên lửa, giảm trọng lượng của cáp điện và đầu nối điện.
Từ những ứng dụng đầu tiên vào những năm 1960, các hệ thống nhúng đã giảm giá và phát triển mạnh mẽ về khả năng xử lý. 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 chip 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 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 chip 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.
Cho đến nay, khái niệm hệ thống nhúng được nhiều người chấp nhận nhất là: hệ thống thực hiện một số chức năng đặc biệt có sử dụng vi xử lý. Không có hệ thống nhúng nào chỉ có phần mềm.
Đặc điểm
Hệ thống nhúng thường có một số đặc điểm chung như sau:
Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng. Một số hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn và tính ứng dụng; một số hệ thống không đòi hỏi hay ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất.
Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống phức tạp nằm trong thiết bị mà nó điều khiển.
Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được lưu trữ trong các chip bộ nhớ chỉ đọc (read-only memory) hay bộ nhớ flash chứ không phải là trong một ổ đĩa. Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hay có nhưng với kích thước nhỏ, bộ nhớ hạn chế Sau đây, ta sẽ đi sâu, xem xét cụ thể đặc điểm của các thành phần của hệ thống nhúng
Giao diện
Các hệ thống nhúng có thể không có giao diện (đối với những hệ thống đơn nhiệm) hay 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. Đối với các hệ thống đơn giản, thiết bị nhúng sử dụng nút bấm, đèn LED và hiển thị chữ cỡ nhỏ hay chỉ hiển thị số, thường đi kèm với một hệ thống menu đơn giản.
Còn trong một hệ thống phức tạp hơn, một màn hình đồ họa, cảm ứng hay 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 mà tối thiểu hóa được khoảng không gian cần sử dụng; ý nghĩa của các nút bấm có thể thay đổi theo màn hình và các lựa chọn. 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 việc 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, cài đặt vĩnh viễn. Ví dụ, các router là các thiết bị đã ứng dụng tiện ích này
Kiến trúc CPU
Các bộ xử lý trong hệ thống nhúng có thể được chia thành hai loại: vi xử lý và vi điều khiển. Các vi điều khiển thường có các thiết bị ngoại vi được tích hợp trên chip nhằm giảm kích thước của hệ thống. Có rất nhiều loại kiến trúc CPU được sử dụng trong thiết kế hệ nhúng như ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8 … Điều này trái ngược với các loại máy tính để bàn, thường bị hạn chế với một vài kiến trúc máy tính nhất định. Các hệ thống nhúng có kích thước nhỏ và được thiết kế để hoạt động trong môi trường công nghiệp thường lựa chọn PC/104 và PC/104++ làm nền tảng. Những hệ thống này thường sử dụng DOS, Linux, NetBSD hay các hệ điều hành nhúng thời gian thực như QNX hay VxWorks. Còn các hệ thống nhúng có kích thước rất lớn thường sử dụng một cấu hình thông dụng là hệ thống on chip (System on a chip – SoC), một bảng mạch tích hợp cho một ứng công cụ thể (an application-specific integrated circuit – ASIC). Sau đó nhân CPU được mua và thêm vào như một phần của thiết kế chip. Một chiến lược tương tự là sử dụng FPGA (field-programmable gate array) và lập trình cho nó với những thành phần nguyên lý thiết kế bao gồm cả CPU.
Thiết bị ngoại vi
Hệ thống nhúng giao tiếp với bên ngoài thông qua các thiết bị ngoại vi, ví dụ như:
Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485...
Synchronous Serial Communication Interface: I2C, JTAG, SPI, SSC và ESSI
Universal Serial Bus (USB)
Networks: Controller Area Network, LonWorks...
Bộ định thời: PLL(s), Capture/Compare và Time Processing Units
Discrete IO: General Purpose Input/Output (GPIO)
Công cụ phát triển
Tương tự như các sản phẩm phần mềm khác, phần mềm hệ thống nhúng cũng được phát triển nhờ việc sử dụng các trình biên dịch (compilers), chương trình dịch hợp ngữ (assembler) hay các công cụ gỡ rối (debuggers). Tuy nhiên, các nhà thiết kế hệ thống nhúng có thể sử dụng một số công cụ chuyên dụng như:
Bộ gỡ rối mạch hay các chương trình mô phỏng (emulator)
Tiện ích để thêm các giá trị checksum hay CRC vào chương trình, giúp hệ thống nhúng có thể kiểm tra tính hợp lệ của chương trình đó.
Đối với các hệ thống xử lý tín hiệu số, người phát triển hệ thống có thể sử dụng phần mềm workbench như MathCad hay Mathematica để mô phỏng các phép toán.
Các trình biên dịch và trình liên kết (linker) chuyên dụng được sử dụng để tối ưu hóa một thiết bị phần cứng.
Một hệ thống nhúng có thể có ngôn ngữ lập trình và công cụ thiết kế riêng của nó hay sử dụng và cải tiến từ một ngôn ngữ đã có sẵn.
Các công c
 

Các chủ đề có liên quan khác

Top