Trong sự phát triển mạnh mẽ của khoa học kĩ thuật với nền kinh tế trí thức và xu hướng hội nhập toàn cầu như hiện nay, thế giới và Việt Nam đang thực hiện việc kết hợp giữa các ngành thuộc lĩnh vực công nghệ cao trong một Khoa hoặc cơ sở đào tạo. Đó là lĩnh vực khoa học dưới 3 ngọn cờ: Máy tính, Điện tử- Viễn thông và Điều khiển tự động mà ta thường gọi là “3 C” (Computer – Communication - Control). Có thể nói, các quá trình sản xuất và quản lí hiện nay như: các hệ thống đo lường điều khiển tự động trong sản xuất công nghiệp; các hệ thống di động và không dây tiên tiến, các hệ thống thông tin vệ tinh, các hệ thống thông tin dựa trên Web, chính phủ điện tử, thương mại điện tử, các cơ sở dữ liệu của nhiều ngành kinh tế và của Quốc gia, các hệ thống thiết bị Y tế hiện đại, các thiết bị điện tử dân dụng, . đều là sản phẩm của sự kết hợp giữa các lĩnh vực khoa học trên.
116 trang |
Chia sẻ: haohao89 | Lượt xem: 2846 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Bài giảng Hệ thống nhúng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
KHOA ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH
BÀI GIẢNG PHÁT CHO SINH VIÊN
(LƯU HÀNH NỘI BỘ)
Theo chương trình 150 TC thay 180 TC hoặc tương ñương
Sử dụng cho năm học 2009 – 2010
Tên bài giảng: Hệ thống nhúng
Số tín chỉ: 03
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
2
Mục lục
Chương I: TỔNG QUAN ........................................................................................................ 5
1.1. Mở ñầu ............................................................................................................................ 5
1.2. Khái niệm về hệ nhúng ................................................................................................... 6
1.3. Vai trò của hệ thống nhúng trong sự phát triển của lĩnh vực công nghệ cao “3C “........ 7
1.4. Đặc tính, phương pháp thiết kế và xu thế phát triển của các hệ nhúng .......................... 9
1.5. Môi trường thông minh................................................................................................. 10
1.6. Các hệ ñiều hành nhúng và phần mềm nhúng .............................................................. 11
1.6.1. Hệ ñiều hành nhúng ............................................................................................... 11
1.6.2. Phần mềm nhúng.................................................................................................... 11
Chương II: LÝ THUYẾT THIẾT KẾ HỆ THỐNG NHÚNG........................................... 12
2.1. Quy trình thiết kế Top-Down........................................................................................ 12
2.1.1. Pha phân tích.......................................................................................................... 12
2.1.2. Pha thiết kế nguyên lý............................................................................................ 14
2.1.3. Pha thiết kế kỹ thuật............................................................................................... 15
2.1.4. Pha xây dựng hệ thống........................................................................................... 16
2.1.5. Pha kiểm tra ........................................................................................................... 16
2.2. Quy trình Bottom-Up.................................................................................................... 17
2.3. Đặc tả hệ thống ............................................................................................................. 17
2.3.1. Khái niệm ñặc tả (specification) ............................................................................ 17
2.3.2. Tại sao cần ñặc tả ................................................................................................... 18
2.3.3. Phân loại các kỹ thuật ñặc tả .................................................................................. 19
2.3.4. Ứng dụng và ưu việt khỉ sử dụng ñặc tả ................................................................ 20
2.3.5. Phương pháp ñặc tả sử dụng “Máy trạng thái hữu hạn FSM(Finite state machine)”
.......................................................................................................................................... 21
2.4. Các phương pháp biểu diễn thuật toán.......................................................................... 22
2.4.1. Ngôn ngữ tự nhiên ................................................................................................. 22
2.4.2. Dùng lưu ñồ ........................................................................................................... 23
2.4.3. Mã giả .................................................................................................................... 26
Chương III: CẤU TRÚC PHẦN CỨNG ............................................................................. 27
3.1. Cấu trúc tổng quát của hệ thống nhúng......................................................................... 27
3.1.1. Kiến trúc cơ bản ..................................................................................................... 27
3.1.2. Cấu trúc phần cứng ................................................................................................ 27
3.2. Một số nền phần cứng thông dụng................................................................................ 34
3.3.1. Họ vi ñiều khiển 8051............................................................................................ 35
3.3.2. Họ vi ñiều khiển AVR ........................................................................................... 36
3.3.3. Họ vi ñiều khiển PsoC ........................................................................................... 36
3.3.4. Họ vi ñiều khiển ARM........................................................................................... 39
3.3.5. Họ vi ñiều khiển PIC.............................................................................................. 41
3.4. Một số vi mạch thường dùng ........................................................................................ 63
3.4.1. Nhóm linh kiện số .................................................................................................. 63
3.4.2. Nhóm linh kiện tương tự ........................................................................................ 71
3.4.4. Nhóm hiển thị......................................................................................................... 74
3.4.4. Nhóm chuyển ñổi dữ liệu....................................................................................... 75
3.4.5. Nhóm IC chức năng ............................................................................................... 77
3.4.6. Một số ví dụ ñiển hình ........................................................................................... 80
3.5. Công cụ thiết kế, mô phỏng và kiểm thử phần cứng .................................................... 85
3.5.1. Công cụ thiết kế phần cứng.................................................................................... 85
3.5.2. Công cụ mô phỏng ................................................................................................. 87
3.5.3. Công cụ kiểm thử ................................................................................................... 89
3.5.4. Một số mạch ví dụ.................................................................................................. 89
Chương IV: PHẦN MỀM NHÚNG ..................................................................................... 93
4.1. Đặc ñiểm phần mềm nhúng .......................................................................................... 93
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
3
4.2. Lập trình nhúng với C ...................................................................................................93
4.2.1. Giới thiệu về CCS...................................................................................................93
4.2.2. Cấu trúc chương trình.............................................................................................94
4.2.3. Các kiểu dữ liệu......................................................................................................94
4.2.4. Một số chỉ thị tiền xử lý..........................................................................................95
4.2.5. Hàm tạo trễ DELAY...............................................................................................97
4.2.6. Hàm truy cập các kênh ADC..................................................................................97
4.2.7. Các hàm truy xuất vào ra........................................................................................99
4.3. Một số kỹ thuật lập trình nhúng ..................................................................................101
4.3.1. Xử lý ngắt .............................................................................................................101
4.3.2. Xử lý TIMER........................................................................................................104
4.3.3. Truyền thông chuẩn RS232 ..................................................................................106
4.4. Hệ ñiều hành nhúng.....................................................................................................108
4.4.1. Khái niệm và yêu cầu chung.................................................................................108
4.4.2. Bộ nạp khởi tao Boot – loader..............................................................................111
4.4.3. Hệ ñiều hành thời gian thực..................................................................................113
Danh mục hình ảnh
Hình 1: Một số ví dụ về các thống nhúng thông dụng ...............................................................6
Hình 2: Sơ ñồ khối quy trình Top-Down .................................................................................13
Hình 3: Sơ ñồ tổng quát của 1 hệ thống ñiều khiển ñộng cơ....................................................15
Hình 4: Sơ ñồ quan hệ (call graph) giữa các module phần cứng và phân mềm trong hệ thống
ñiều khiển ñộng cơ ...................................................................................................................16
Hình 5: Sơ ñồ khối quy trình Bottom-Up.................................................................................19
Hình 6: Biểu ñồ so sánh chi phí phát triẻn hệ thống sử dụng dặc tả và không sử dụng...........21
Hình 7: Đặc tả cách thức làm việc của một máy ñiện thoại sử dụng máy trạng thái hữu hạn .22
Hình 8: Lưu ñồ biểu diễn thuật toán giải phương trình bậc 2 ....................................................1
Hình 9: Kiến trúc cơ bản của 1 HTN..........................................................................................1
Hình 10: Cấu trúc thông dụng của một VXL/VĐK nhúng.......................................................27
Hình 11: Ví dụ về kiến trúc của họ VĐK AVR........................................................................28
Hình 12: Sơ ñồ khối chức năng PIC16F873A..........................................................................29
Hình 13: CPU .............................................................................................................................1
Hình 14: Kiến trúc bộ nhớ Von Newmann và Havard .............................................................30
Hình 15: Nguyên lý cấu tạo và hoạt ñộng xóa của EPROM ....................................................31
Hình 16: Cấu trúc nguyên lý bộ nhớ RAM ..............................................................................32
Hình 17: Nguyên lý ñiển hình của 1 cổng I/O............................................................................1
Hình 18: Nguyên lý kết nối 1 Master và 1 Slave sử dụng SPI .................................................34
Hình 19: Sơ ñồ kết nối SPI 1 Master với nhiều Slaver ..............................................................1
Hình 20: Cấu trúc tông quan của vi ñiều khiển họ 8051 của intel ...........................................35
Hình 21: Một vài sản phẩm công nghệ tiêu biểu ứng dụng bộ xử lý ARM .............................39
Hình 22: Sơ ñồ khối của 1 chip ARM core ARM7 ..................................................................42
Hình 23: Sơ ñồ chân PIC 18F452.............................................................................................45
Hình 24: Cấu trúc bộ nhớ của 18F452......................................................................................47
Hình 25: Sơ ñồ khối PIC18F452 ..............................................................................................48
Hình 26: Sơ ñồ khối gắp nối vào ra số .....................................................................................49
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
4
Hình 27: Sơ ñồ khối timer0 chế ñộ 8bit ................................................................................... 50
Hình 28: Sơ ñồ khối của timer0 ở chế ñộ 16bit ....................................................................... 50
Hình 29: Sơ ñồ khối timer1...................................................................................................... 51
Hình 30: Sơ ñồ khối Timer2 .................................................................................................... 52
Hình 31: Sơ ñồ khối timer3...................................................................................................... 53
Hình 32: Sơ ñồ giao tiếp chuẩn RS232.................................................................................... 53
Hình 33: Sơ ñồ khối truyền dữ liệu UART ............................................................................... 55
Hình 34: Sơ ñồ khối và giản ñồ thời gian nhận dữ liệu ........................................................... 57
Hình 35: Biểu ñồ khối chuyển ñổi ADC.................................................................................. 59
Hình 36: Sơ ñồ khối timer...................................................................................................... 104
Hình 37: Kiến trúc một HĐH................................................................................................. 109
Hình 38: Nguyên lý thực hiện của boot - loader.................................................................... 111
Hình 39: Cấu trúc của một boot - loader................................................................................ 113
Hình 40: So sánh kiến trúc RTOS và OS chuẩn .................................................................... 113
Hình 41: Cấu trúc một RTOS ................................................................................................ 114
Hình 42: Mô hình trạng thái của quá trình............................................................................. 116
Tài liệu tham khảo
1. Bình, N. T. (2008). Bài giảng: Các kỹ thuật ñặc tả. Đại học Bách khoa Đà nẵng.
2. Công, N. H. (2007). Hệ thống nhúng và sự phát triển của lĩnh vực công nghệ cao "3C".
ĐH KTCN Thái Nguyên.
3. John Regehr, Assist.Prof.Dr.Osman Kaan EROL. (2009). Embedded System Design.
4. Việt, T. L. (2008). HỆ THỐNG ĐIỀU KHIỂN NHÚNG. Hà Nội: ĐH BKHN.
5. Wikipedia. (2010). Retrieved from Wikipedia, Bách khoa toàn thư mở:
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
5
Chương I: TỔNG QUAN
Mục tiêu của chương
Giúp sinh viên hiểu ñược khái niệm và nhận diện ñược một hệ thống nhúng,
nắm bắt ñược nhu cầu và vài trò quan trọng của hệ thông nhúng trong sự phát triển của
ngành công nghệ cao.
Tóm tắt
Giới thiệu và nêu khái niệm hệ thống nhúng. Trình bày vai trò của hệ thống
nhúng trong ngành công nghệ cao.
1.1. Mở ñầu
Trong sự phát triển mạnh mẽ của khoa học kĩ thuật với nền kinh tế trí thức và
xu hướng hội nhập toàn cầu như hiện nay, thế giới và Việt Nam ñang thực hiện việc
kết hợp giữa các ngành thuộc lĩnh vực công nghệ cao trong một Khoa hoặc cơ sở ñào
tạo. Đó là lĩnh vực khoa học dưới 3 ngọn cờ: Máy tính, Điện tử- Viễn thông và Điều
khiển tự ñộng mà ta thường gọi là “3 C” (Computer – Communication - Control). Có
thể nói, các quá trình sản xuất và quản lí hiện nay như: các hệ thống ño lường ñiều
khiển tự ñộng trong sản xuất công nghiệp; các hệ thống di ñộng và không dây tiên tiến,
các hệ thống thông tin vệ tinh, các hệ thống thông tin dựa trên Web, chính phủ ñiện tử,
thương mại ñiện tử, các cơ sở dữ liệu của nhiều ngành kinh tế và của Quốc gia, các hệ
thống thiết bị Y tế hiện ñại, các thiết bị ñiện tử dân dụng, ... ñều là sản phẩm của sự kết
hợp giữa các lĩnh vực khoa học trên.
Hiện nay chúng ta ñang ở thời ñại hậu PC sau giai ñoạn phát triển của máy tính
lớn (Mainframe) 1960-1980, và sự phát triển của PC-Internet giai ñoạn 1980-2000.
Giai ñoạn hậu PC-Internet này ñược dự ñoán từ năm 2000 ñến 2020 là giai ñoạn của
môi trường thông minh mà hệ thống nhúng là cốt lõi và ñang làm nên làn sóng ñổi mới
trong công nghệ thông tin nói riêng và lĩnh vực công nghệ cao “3C”, nói chung. Một
thực tế khách quan là thị trường của các hệ thống nhúng lớn gấp khoảng 100 lần thị
trường PC, trong khi ñó chúng ta mới nhìn thấy bề nổi của công nghệ thông tin là PC
và Internet còn phần chìm của công nghệ thông tin chiếm 99% số processor trên toàn
cầu này nằm trong các hệ nhúng thì còn ít ñược biết ñến.
Sức ñẩy của công nghệ ñưa công nghệ vi ñiện tử, công nghệ vi cơ ñiện, công
nghệ sinh học hội tụ tạo nên các chip của công nghệ nano, là nền tảng cho những thay
ñổi cơ bản trong lĩnh vực công nghệ cao “3C, sức kéo của thị trường ñòi hỏi các thiết
bị phải có nhiều chức năng thân thiện với người dùng, có mức ñộ thông minh ngày
càng cải thiện ñưa ñến vai trò và tầm quan trọng của các hệ thống nhúng ngày càng
cao trong nền kinh tế quốc dân.
Phát triển các hệ nhúng và phần mềm nhúng là quốc sách của nhiều quốc gia
trên thế giới, nhất là giai ñoạn hậu PC hiện nay. Ở nước ta ñáng tiếc lĩnh vực này lâu
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
6
nay ñã bị lãng quên, do vậy cần có những ñiều chỉnh phù hợp trong chiến lược phát
triển ñể có thể theo kịp, rút ngắn khoảng cách tụt hậu ñối với các nước trong khu vực
và trên thế giới trong quá trình hội nhập nền kinh tế toàn cầu không thể tránh khỏi hiện
nay.
1.2. Khái niệm về hệ nhúng
Hệ thống nhúng (tiếng Anh: Embedded system) là một thuật ngữ ñể chỉ một hệ
thống có khả năng tự trị ñược nhúng vào trong một môi trường hay một hệ thống mẹ.
Hệ thống nhúng có vai trò ñảm nhận một phần công việc cụ thể của hệ thống mẹ. Hệ
thống nhúng có thể là một hệ thống phần cứng và cũng có thể là một hệ thống phần
mềm. (Wikipedia, 2010)
Ví dụ quanh ta có rất nhiều sản phẩm nhúng như lò vi sóng, nồi cơm ñiện, ñiều
hòa, ñiện thoại di ñộng, ô tô, máy bay, tàu thủy, các ñầu ño, cơ cấu chấp hành thông
minh v.v... ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi trong
cuộc sống của chúng ta.
Hình 1: Một số ví dụ về các thống nhúng thông dụng
Các nhà thống kê trên thế giới ñã thống kê ñược rằng số chip vi xử lý ở trong
các máy PC và các server, các mạng LAN, WAN, Internet chỉ chiếm khoảng 1% tổng
số chip vi xử lý có trên thế giới, 99% số vi xử lý còn lại nằm trong các hệ thống
nhúng.
Như vậy công nghệ thống không chỉ ñơn thuần là PC, mạng LAN, WAN,
Internet phần mềm quản lý ... như nhiều người thường nghĩ. Đó chỉ là bề nổi của một
tảng băng chìm. Phần chìm của công nghệ thông tin chính là các ứng dụng của các hệ
nhúng có mặt trong mọi ngành nghề của ñời sống xã hội hiện nay. Các hệ nhúng ñược
tích hợp trong các thiết bị ño lường ñiều khiển tạo nên ñầu não và linh hồn của sản
phẩm. Trong các hệ nhúng, hệ thống ñiều khiển nhúng ñóng một vai trò hết sức quan
trọng.
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
7
Hệ ñiều khiển nhúng là hệ thống mà máy tính ñược nhúng vào vòng ñiều khiển
của sản phẩm nhằm ñiều khiển một ñối tượng, ñiều khiển một quá trình công nghệ ñáp
ứng các yêu cầu ñặt ra. Hệ thống ñiều khiển nhúng lấy thông tin từ các cảm biến, xử lý
tính toán các thuật ñiều khiển và phát tín hiệu ñiều khiển cho các cơ cấu chấp hành.
Khác với các hệ thống ñiều khiển cổ ñiển theo nguyên lý thủy lực, khí nén, rơle,
mạch tương tự, hệ ñiều khiển nhúng là hệ thống ñiều khiển số ñược hình thành từ
những năm 1960 ñến nay. Trước ñây các hệ ñiều khiển số thường do các máy tính lớn
ñảm nhiệm, ngày nay chức năng ñiều khiển số n