Lời nói đầu ...................................................................................................................................... 3I – GIỚI THIỆU ĐỀ TÀI ................................................................................................ 4II - NỘI DUNG .............................................................................................................. 41.ĐỊNH NGHĨA HỆ THỐNG NHÚNG .............................................................. 41.1 Định nghĩa: ....................................................................................................... 41.2 Lịch sử phát triền Hệ thống nhúng. ............................................................ 52.NHỮNG ĐẶC TRƯNG KIẾN TRÚC THIẾT KẾ ........................................... 62.1 Những đặc trưng của hệ thống nhúng . ............................................................ 62.2 Kiến trúc của hệ thống nhúng . .................................................................... 73.ỨNG DỤNG CỦA HỆ THỐNG NHÚNG ........................................................ 94.XU THẾ PHÁT TRIỂN CỦA HỆ THỐNG NHÚNG ................................... 105.HỆ ĐIỀU HÀNH NHÚNG VÀ PHẦN MỀM NHÚNG. PHÂN BIỆT PHẦNMỀM NHÚNG VỚI PHẦN MỀM THÔNG THƯỜNG. ........................................ 115.1 Hệ điều hành nhúng ...................................................................................... 115.2 Phân biệt phần mềm nhung với phần mềm thông thường ........................ 116 . NHU CẦU HỆ THỐNG NHÚNG TRÊN THẾ GIỚI , .......................................... 126.1 Nhu cầu hệ thống nhúng trên thế giới ............................................................. 126.2 Phân khúc thị trường Hệ thống nhúng. .......................................................... 137 . NHU CẦU HỆ THỐNG NHÚNG TẠI VIỆT NAM ,HƯỚNG PHÁT TRIỂN ....... 147.1 Nhu cầu hệ thống nhúng tại Việt Nam ............................................................ 147.2 Hướng phát triển cho ngành hệ thống nhúng ở Việt Nam .............................. 15KẾT LUẬN ................................................................................................................................... 18Tài Liệu Tham Khảo: ....................................................................................................................
Trang 1Viện Công nghệ thông tin và Truyền thông
************
BÁO CÁO
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Đề tài:
TÌM HIỂU VỀ NGÀNH CÔNG NGHIỆP
HỆ THỐNG NHÚNG
Trang 22
Mục Lục
Lời nói đầu 3
I – GIỚI THIỆU ĐỀ TÀI 4
II - NỘI DUNG 4
1. ĐỊNH NGHĨA HỆ THỐNG NHÚNG 4
1.1 Định nghĩa: 4
1.2 Lịch sử phát triền Hệ thống nhúng 5
2. NHỮNG ĐẶC TRƯNG KIẾN TRÚC THIẾT KẾ 6
2.1 Những đặc trưng của hệ thống nhúng 6
2.2 Kiến trúc của hệ thống nhúng 7
3. ỨNG DỤNG CỦA HỆ THỐNG NHÚNG 9
4. XU THẾ PHÁT TRIỂN CỦA HỆ THỐNG NHÚNG 10
5. HỆ ĐIỀU HÀNH NHÚNG VÀ PHẦN MỀM NHÚNG PHÂN BIỆT PHẦN MỀM NHÚNG VỚI PHẦN MỀM THÔNG THƯỜNG 11
5.1 Hệ điều hành nhúng 11
5.2 Phân biệt phần mềm nhung với phần mềm thông thường 11
6 NHU CẦU HỆ THỐNG NHÚNG TRÊN THẾ GIỚI , 12
6.1 Nhu cầu hệ thống nhúng trên thế giới 12
6.2 Phân khúc thị trường Hệ thống nhúng 13
7 NHU CẦU HỆ THỐNG NHÚNG TẠI VIỆT NAM ,HƯỚNG PHÁT TRIỂN 14
7.1 Nhu cầu hệ thống nhúng tại Việt Nam 14
7.2 Hướng phát triển cho ngành hệ thống nhúng ở Việt Nam 15
KẾT LUẬN 18
Tài Liệu Tham Khảo: 19
Trang 33
Lời nói đầu
Chúng em là những sinh viên học về ngành công nghệ thông tin Đây là một ngành khoa học mới nhưng phát triền rất nhanh do đó chúng em cần có nền tảng vững chắc, những phương pháp nghiên cứu hợp lý mới có thể theo kịp được bước tiến của ngành Với năm đầu tiên chúng em đã được học môn “Nhập môn công nghệ thông tin” mang lại cho chúng em nhưng cái nhìn tổng quan nhất về ngành và sử dụng nhưng công
cụ cơ bản nhất của sinh viên công nghệ thông tin Năm thứ hai chúng em được học tiếp môn học “Nhập môn công nghệ phần mềm”, môn học cho chúng em cái nhìn tổng quan
về ngành công nghệ phần mềm
Đa số các loại phần mềm đều được viết để chạy trên máy tính, bên cạnh đó có những phần mềm viết chạy trên các thiết bị điều khiển hay thiết bị ngoại vi mà chúng ta thường sử dụng hàng ngày đó là “ Phần mềm Nhúng” Một hệ thống nhúng đang được phát triền hiện nay
Trang 44
I – GIỚI THIỆU ĐỀ TÀI
- Đề tài: Tìm hiểu về ngành cống nghiệp hệ thống nhúng
- Mục đích của đề tài:
Đối tượng hướng tới là những người chưa có một khái niệm khái quát
về hệ thống nhúng và những người đang tìm hiều về hệ thống nhúng
Cụ thể ở đây là các bạn sinh viên ngàng CE(Computer Engineering)
Giúp có cái nhìn khái quát nhất về hệ thống nhúng, đặc điểm và hướng phát triển
- Những nội dung chính:
1 Định nghĩa hệ thống nhúng
2 Những đặc trưng, kiến trúc, thiết kế
3 Ứng dụng
4 Xu thế phát triển của các hệ thống nhúng
5 Hệ thống nhúng và phần mềm nhúng, phân biệt phần mềm nhúng với phần mềm thông thường
6 Nhu cầu hệ thống nhúng trên thế giới và phân khúc thị trường hệ thống nhúng
7 Nhu cầu hệ thống nhúng tại Việt Nam và hướng phát triển
II - NỘI DUNG
1. ĐỊNH NGHĨA HỆ THỐNG NHÚNG
1.1 Định nghĩa:
- Theo định nghĩa của IEEE thì hệ thống nhúng là một hệ thống tính toán sản phẩm , tạo thành một phần của hệ thống lớn hơn và thực hiện một số chức năng của hệ thống
- Nói đến hệ thống ta hình dung đến một tập đầy đủ Input, ouput Cho nên hệ thống nhúng dễ hình dung nhất là các hệ thống vi điều khiển (microcotroler)
- Thuật ngữ nhúng, embedded, có nghĩa là ta thực hiện việc lập trình và "nhúng" chương trình của chúng ta lên chip để thực hiện một hoặc một số yêu cầu nào
Trang 55
đó Ví dụ như trong điện thoại di động, trong tủ lạnh, trong lò viba đều có hiện diện của hệ thống nhúng
- Định Nghĩa: Hệ thống nhúng (Embedded System) được định nghĩa là một hệ
thống chuyên dụng, thường có khả năng tự hành và được thiết kế tích hợp và
hệ thống lớn để thực hiện một chức năng chuyên biệt nào đó
- Một số ví dụ điển hình về hệ thống nhúng:
Các hệ thống dẫn đường trong không lưu, hệ thống định vị toàn cầu, vệ
tinh
Các thiết bị gia dụng: tủ lạnh, lò vi sóng, lò nướng,…
Các thiết bị kết nối mạng: router, hub, gateway,…
Các thiết bị văn phòng: máy photocopy, máy fax, máy in, máy scan,…
Các thiết bị y tế: máy thẩm thấu, máy điều hòa nhịp tim,…
Các máy trả lời tự động
Dây chuyền sản xuất tự động trong công nghiệp, robots
Hình 1: Một số hệ thống nhúng thông dụng
1.2 Lịch sử phát triền 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 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 Tính 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
Trang 66
- 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
- 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, …
2. NHỮNG ĐẶC TRƯNG KIẾN TRÚC THIẾT KẾ
2.1 Những đặc trưng của hệ thống nhúng
• 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 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 Các thành phần như: vi xử lý hay bộ nhớ có nhiều kiểu kiến trúc khác nhau
• Việc sản xuất hệ thống nhúng chịu sự ràng buộc lớn về chi phí và năng lượng
• Hệ thống nhúng thường có những yêu cầu về xử lý theo thời gian thực
• Việc xây dựng phần mềm trên hệ thống nhúng gặp phải những khó khăn về công cụ lập trình và debug
• 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 vi xử lý bộ nhớ chỉ đọc (read-only memory) hoặc 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 hoặc có nhưng với kích thước nhỏ, bộ nhớ hạn chế
Xét về mặt giao diện:
Trang 77
• 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) 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
Xét về độ tin cậy của hệ thống nhúng:
• Hệ thống không thể ngừng để sửa chữa một cách an toàn, ví dụ như
ở 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
• Hệ thống phải được chạy liên tục vì tính an toàn, ví dụ như 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,… Giải pháp đưa ra là lựa chọn backup hệ thống
• Nếu hệ thống ngừng hoạt động sẽ gây tổn thất rất nhiều tiền của ví
dụ như các dịch vụ buôn bán tự động, hệ thống chuyển tiền, hệ thống
kiểm soát trong các nhà máy …
2.2 Kiến trúc của hệ thống nhúng
Mỗi hệ thống đều có kiến trúc như sau:
Trang 88
Hình 2:Kiến trúc tổng thể hệ thống nhúng
Hardware:
Vi xử lý, bộ nhớ, tụ điện, điện trở, mạch tích hợp, bảng mạch in, connector, … Tất nhiên, đây là thành phần bắt buột phải có cho tất
cả các hệ thống nhúng
Phần mềm hệ thống:
Không bắt buộc phải có
Device driver: UART, Ethernet, ADC…
Hệ điều hành nhúng: eCos, ucLinux, VxWorks, Monta Vista Linux, BIOS…
Quản lý bộ nhớ, quản lý tiến trình, quản lý chia sẽ tài nguyên
Có thể tái sử dụng trên một hệ thống nhúng khác
Phần mềm ứng dụng
Không bắt buộc phải có
Quyết định hành vi (chức năng) của một hệ thống nhúng
Khó tái sử dụng trên một hệ thống nhúng khác
2.3 Thiết kế hệ thống nhúng
Các giai đoạn thiết kế:
Giai đoạn thiết kế Chi tiết
Các yêu cầu Các yêu cầu chức năng và yêu cầu
không chức năng (kích thước, khối lượng, tiêu thụ công suất và giá) Đặc tả người dùng Các chi tiết giao tiếp người dùng
cùng với các tác vụ thỏa cácyêu cầu của người dùng
Kiến trúc Các thành phần phần cứng (bộ xử
Trang 99
lý, ngoại vi, logic khả lập trình và ASSP[Application Specific Standard Product]), các thành phần phần mềm (các chương trình chính và các tác
vụ của chúng) Thiết kế thành phần Các thành phần được thiết kếtrước,
được sửa đổi và các thành phần mới Tích hợp hệ thống
(Phần cứng và phần mềm)
Sắp xếp kiểm chứng có hệ thống để tìm lỗi nhanh chóng
→ Thiết kế hệ thống nhúng đòi hỏi phải có những hiểu biết đa ngành về
điện tử, xử lý tín hiệu, vi xử lý, kĩ thuật điều khiển và lập trình thời gian
thực
Việc quyết định công nghệ nền cho thiết kế số ở phần kiến trúc phụ thuộc vào một số ràng buộc sau:
Tốc độ cập nhật thời gian thực
Công suất
Giá
Giải pháp đơn chíp
Dễ lập trình
Tính khả chuyển của mã(Portability of Code)
Các thư viện mã có thể tái sử dụng
Các công cụ lập trình
3. ỨNG DỤNG CỦA HỆ THỐNG NHÚNG
• Điện tử ô tô: Ô tô hiện đại chỉ bán được nếu chúng có một lượng đáng
kể các thiết bị điện tử Trong đó có các hệ thống điều khiển túi khí, hệ thống điều khiển động cơ, hệ thống phanh, điều hòa nhiệt độ, hệ thống
GPS, các tính năng an toàn, và nhiều nữa
• Điện tử máy bay: Một phần quan trọng trong tổng giá trị của máy bay
là do các thiết bị xử lý thông tin, trong đó có các hệ thống điều khiển bay, hệ thống chống va chạm, hệ thống thông tin phi công, v.v Độ tin
cậy mang tầm quan trọng tối cao
Trang 1010
• Tầu hỏa: Đối với tầu hỏa, tình huống tương tự như với ô tô và máy
bay Một lần nữa, các tính năng đảm bảo an toàn đóng góp phần quan
trọng trong tổng giá trị của tầu hỏa, và độ tin cậy là cực kì quan trọng
• Viễn thông: Điện thoại di động đã trở trành một trong những thị trường
phát triển nhanh nhất trong những năm gần đây Đối với điện thoại di động, thiết kế tần số radio, xử lí tín hiệu số và thiết kế tiết kiệm năng lượng là các khía cạnh quan trọng
• Y tế: Có một tiềm năng rất lớn cho việc nâng cấp dịch vụ y tế bằng việc
xử lý thông tin ngay trong các thiết bị y tế
• Quân sự: Xử lý thông tin đã được dùng trong các thiết bị quân sự từ
nhiều năm Thực tế, trong số những máy tính đầu tiên là những máy tính
phân tích các tín hiệu radar quân sự
• Các hệ chứng thực: Dùng để chứng thực người dùng Ví dụ
SMARTpen là một thiết bị hình cái bút, có chức năng phân tích các tham số vật lý khi người dùng kí tên Các tham số vật lý gồm độ nghiêng, lực ấn và gia tốc Các giá trị này được truyền cho một PC nơi
nó được so sánh với thông tin có sẵn về người dùng Kết quả là nó có thể so sánh ảnh chữ kí cũng như cách kí với thông tin lưu trữ
Ngoài ra còn các hệ thống nhận dạng khuôn mặt hoặc nhận vân tay
• Điện gia dụng: Các thiết bị audio và video, TV, máy chơi điện tử
• Robotics: Đây là lĩnh vực truyền thống của các hệ thống nhúng Các
khía cạnh cơ khí rất quan trọng đối với robot Hầu hết các đặc điểm đã được mô tả cũng áp dụng cho robotics
4. XU THẾ PHÁT TRIỂN CỦA HỆ THỐNG NHÚNG
♦ Phần mềm Nhúng ngày càng chiếm tỷ trọng cao và đã trở thành một thành phần cấu tạo nên thiết bị bình đẳng như các phần cơ khí, linh kiện điện tử, linh kiện quang học…
♦ Các hệ nhúng ngày càng phức tạp hơn đáp ứng các yêu cầu khắt khe về thời gian thực, tiêu ít năng lượng và hoạt động tin cậy ổn định hơn
Trang 1111
♦ Các hệ nhúng ngày càng có độ mềm dẻo cao, đáp ứng các yêu cầu nhanh chóng đưa sản phẩm ra thương trường, có khả năng bảo trì từ xa,
có tính cá nhân cao
♦ Các hệ nhúng ngày càng có khả năng hội thoại cao, có khả năng kết nối mạng và hội thoại được với các đầu đo cơ cấu chấp hành và với người
sử dụng
♦ Các hệ nhúng ngày càng có tính thích nghi, tự tổ chức cao có khả năng tái cấu hình như một thực thể, một tác nhân
♦ Các hệ nhúng ngày càng có khả năng tiếp nhận năng lượng từ nhiều nguồn khác nhau (ánh sáng, rung động, điện từ trường, sinh học….) trong quá trình hoạt động
5. HỆ ĐIỀU HÀNH NHÚNG VÀ PHẦN MỀM NHÚNG PHÂN BIỆT PHẦN
MỀM NHÚNG VỚI PHẦN MỀM THÔNG THƯỜNG
5.1 Hệ điều hành nhúng
Khác với PC thường chạy trên nền hệ điều hành Windows hoặc UNIX, các
hệ thống nhúng có các hệ điều hành nhúng riêng của m.nh Các hệ điều hành dùng trong các hệ nhúng nổi trội hiện nay bao gồm Android, Embedded Linux, VxWorks, WinCE, Lynyos, BSD, Green Hills, QNX và DOS
5.2 Phân biệt phần mềm nhung với phần mềm thông thường
Thứ nhất: C có rất nhiều hãng sản xuất bộ vi xử lý, phần cứng và
phần mềm trong thị trường hệ thống nhúng và ứng với mỗi nhà sản xuất lại có nhiều dòng sản phẩm, phong phú về chủng loại và giá thành Các nhà thiết kế thường có những sự lựa chọn rất khác nhau
về kiến trúc phần cứng và phần mềm cho các hệ thống của mình
→ Vì vậy, khác với những lập trình viên thông thường như lập trình web hay lập trình ứng dụng (application), chỉ cần thông thạo một vài ngôn ngữ lập trình, hệ điều hành và chương trình khung (framework) là có thể làm việc có hiệu quả, một lập trình viên hệ thống nhúng phải có sự năng động
và khả năng học hỏi tốt để có thể làm việc tối ưu với:
- Những bộ vi xử lý và phần cứng khác nhau: Texas Instrument, Freescale, ARM, Intel, Motorola, Atmel, AVR, Renesas…
Trang 1212
- Những hệ điều hành khác nhau : QNX, uITRON, VxWorks, Windows CE/XP , Embedded, Embedded Linux, Osek, Symbian…
- Những ngôn ngữ lập trình khác nhau : C/C++, B#, Ada, Assembly, PMC, LabView, PLC…
Thứ hai: Bện cạnh sự đa dạng về kiến thức chuyên môn của lập
trình viên, còn có sự đa dạng về sản phẩm đầu ra như: y tế, công nghiệp ô-tô, tự động hóa, điện tử gia dụng, viễn thông, quốc phòng… Điều này đòi hỏi những người làm việc trong ngành hệ thống nhúng phải có khả năng thích ứng cao với nhiều dạng dự án và lĩnh vực hoạt động khác nhau
Thứ ba : Các hệ thống nhúng thường cần có sự kết hợp liền lạc giữa
phần cứng và phần mềm Do đó, lập trình cho hệ thống nhúng cũng đòi hỏi phải có sự giao tiếp và làm việc mật thiết giữa đội ngũ lập trình viên và những người thuộc các lĩnh vực khác như tự động hóa, phần cứng, cơ điện tử… Tùy vào lĩnh vực, bên cạnh những kiến thức
về CNTT thông thường, trong một số trường hợp người lập trình hệ thống nhúng cần phải bổ sung thêm một số kiến thức nhất định về trình biên dịch (compiler), xử lý tín hiệu số, điện tử và sơ đồ mạch (schematics)… để có thể làm việc có hiệu quả với những nhóm khác
→ Tất cả những sự khác biệt đó vừa là thách thức, khiến chỉ có số ít người có thể trụ lại lâu dài, vừa là động lực, giữ chân những người thật sự đam mê, thích khám phá và không thích sự nhàm chán
6 NHU CẦU HỆ THỐNG NHÚNG TRÊN THẾ GIỚI ,
6.1 Nhu cầu hệ thống nhúng trên thế giới
Trong thế giới công nghệ thông tin, các “ông lớn” như IBM, Microsoft, Intel đã chuyển hướng một số bộ phận nghiên cứu phát triển của mình sang làm hệ thống nhúng từ rất sớm Điển hình là Microsoft với các máy chơi game Xbox, hệ điều hành nhúng Windows CE; Intel với các dòng chip xử
lý nhúng như Intel 8008, 8080, 8085, 3000, các thẻ nhớ Nand Flash, các vi