Faculty of Electronics & Electrical Engineering Embedded Systems TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA ĐIỆN – ĐIỆN TỬ ******** ĐỀ CƯƠNG BÀI GIẢNG HỆ THỐNG NHÚNG EMBEDDED SYSTEMS Hưng Yên, tháng 01 năm 2010 This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems CHƯƠNG GIỚI THIỆU CHUNG Kỷ nguyên công nghệ tiếp tục phát triển không ngừng nhằm thông minh hóa đại hóa hệ thống Có thể nói đời phát triển hệ nhúng trước tiên phải kể đến đời vi xử lý, vi điều khiển Nó đánh dấu đời Chip vi xử lý 4004 vào năm 1971 cho mục đích tính toán thương mại công ty Busicom sau chắp cánh phát triển vượt bậc INTEL để trở thành siêu xử lý Chip ứng dụng cho PC ngày Thập kỷ 80 coi thời điểm bắt đầu kỷ nguyên bùng nổ thông tin phát triển hệ nhúng Từ khởi nguồn cho sóng đời hàng loạt chủng loại vi xử lý gắn liền hệ nhúng để thâm nhập rộng khắp ứng dụng hàng ngày sống ví dụ thiết bị điện tử sử dụng cho sinh hoạt hàng ngày như: lò vi sóng, TV, tủ lạnh, máy giặt, điều hòa… văn phòng làm việc như: máy fax, máy in, máy điện thoại… vi xử lý phần mềm ngày sử dụng rộng rãi nhiều ứng dụng đa dạng Trong số ứng dụng cho chip bit, 16 bit chủ yếu 32 bit (chiếm khoảng 75%) Gắn với phát triển phần cứng, phần mềm phát triển với tốc độ nhanh không thua chí tăng nhanh nhiều theo phát triển hệ nhúng 1.1 Các khái niệm hệ nhúng Hệ nhúng Hình 1: vài hình ảnh hệ nhúng This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems Trong giới hệ thống điện/điện tử hay thiết bị điện có khả xử lý thông tin điều khiển tiềm ẩn thiết bị hay hệ nhúng, ví dụ thiết bị truyền thông, thiết bị đo lường điều khiển, kể hàng loạt thiết bị hệ thống nhúng tồn quanh ta, chúng hệ nhúng Vậy thực chất hệ nhúng phần hệ thống xử lý thông tin hệ thống lớn, phức hợp độc lập ví dụ ô tô, thiết bị đo lường, điều khiển, truyền thông thiết bị thông minh nói chung Chúng tổ hợp phần cứng phần mềm để thực một nhóm chức chuyên biệt cụ thể (trái ngược với máy tính PC mà thường thấy sử dụng cho chức mà nhiều chức chức năng) PC thực chất hệ thống lớn tổ hợp nhiều hệ thống nhúng ví dụ card hình, âm thanh, ổ cứng, bàn phím… Chính điều làm dễ lúng túng hỏi nên hiểu PC, có phải hệ nhúng hay không Hệ thời gian thực Trong toán điều khiển ứng dụng hay gặp thuật ngữ ”thời gian thực” Real time có phải thời gian phản ánh độ trung thực thời gian hay không? Thời gian thực có phải hiển thị xác đồng theo nhịp đồng hồ thời gian hay không? Không hoàn toàn vậy! Thực chất theo cách hiểu nói hệ thống kỹ thuật đặc biệt hệ thống yêu cầu khắt khe ràng buộc thời gian, thời gian thực hiểu yêu cầu hệ thống phải đảm bảo thỏa mãn yêu cầu tính tiền định hoạt động hệ thống Tính tiền định nói lên hành vi hệ thống thực theo khung thời gian cho trước hoàn toàn xác định vài giây đến vài nano giây nhỏ Ở phân biệt yếu tố thời gian gắn liền với khái niệm thời gian thực Không phải hệ thống thực nhanh đảm bảo thực tính thời gian thực Hơn nhanh không chưa đủ mà phải đảm bảo trì ổn định chế hoạt động tin cậy Chính ví mà hệ thống không kiểm soát hoạt động (bất định) hệ thống đảm bảo tính thời gian thực hệ thống đáp ứng nhanh, chí nhanh nhiều so với yêu cầu đặt Một ví dụ tiêu biểu đường truyền thông liệu qua đường truyền Hình 1-2:Phân bố quan hệ hệ nhúng & thời gian thực This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems Chuẩn Ethernet truyền thống, biết tốc độ truyền nhanh hệ hoạt động thời gian thực không thỏa mãn tính tiền định chế truyền liệu (có thể nhanh chậm có cạnh tranh giao thông đường truyền bị nghẽn) 1.2 Đặc điểm công nghệ xu phát triển hệ nhúng 1.2.1 Đặc điểm công nghệ Các hệ thống có chung số đặc điểm yêu cầu khả thời gian thực, độ tin cậy, tính độc lập hiệu Một câu hỏi đặt hệ thống nhúng lại phát triển phổ biến cách nhanh chóng Câu trả lời nằm các yêu cầu tăng cường không ngừng ứng dụng công nghiệp Một yêu cầu là: Khả độc lập thông minh hóa: điều ghi rõ thông qua thuộc tính yêu cầu cụ thể: - Độ tin cậy - Khả bảo trì nâng cấp - Sự phổ cập tiện sử dụng - Độ an toàn Hiệu quả: Yêu cầu thể thông qua số đặc điểm hệ thống sau: - Năng lượng tiêu thụ - Kích thước phần cứng phần mềm - Hiệu thời gian thực - Kích thước khối lượng - Giá thành Phân hoạch tác vụ chức hóa: Các vi xử lý thực phần điều khiển cho chức thu thập, xử lý hiển thị ô tô hay hệ thống điều khiển trình Khả làm tăng thêm chuyên biệt hóa chức hệ thống lớn dễ dàng cho trình xây dựng, vận hành bảo trì Khả thời gian thực: Các hệ thống gắn liền với việc đảm nhiệm chức phải thực theo khung thời gian qui định Thông thường chức hệ thống phải thực theo khung thời gian qui định Thông thường chức hệ thống phải thực hoàn thành theo yêu cầu thời gian dịnh trước để đảm bảo thông tin cập nhật kịp thời cho phẫn xử lý chức khác ảnh hưởng đến hoạt động xác toàn hệ thống Tùy thuộc vào toán yêu cầu hệ thống mà yêu cầu khả thời gian thực củng khác làm tăng lên tính chuyên môn hóa hệ thống thiết bị nhúng mà thiết bị đa cạnh tranh This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems 1.2.2 Xu phát triển tăng trưởng hệ nhúng Vì phát triển hệ nhúng kết hợp nhuần nhuyễn phần cứng phần mềm công nghệ gắng liền với công nghệ kết hợp với giải pháp cho phần cứng mềm Vì tính chuyên biệt thiết bị /hệ nhúng giới thiệu nên phần cứng chế tạo để ưu tiên đáp ứng cho chức hay nhiệm vụ cụ thể yêu cầu thiết kế đưa Lớp hệ nhúng ưu tiên phát triển theo tiêu chí kích thước nhỏ gọn, tiêu thụ lượng ít, giá thành thấp Các chip xử lý nhúng cho lớp hệ thống ứng dụng thường yêu cầu khả tính toán vừa phải nên hầu hết xây dựng sở đồng xử lý bit- 16 bit 32 bit không hỗ trợ dấu phảy động hạn chế dung lượng khả tính toán Lớp hệ nhúng ưu tiên thực thi khả xử lý tính toán với tốc độ cực nhanh Các chip xử lý nhúng cho hệ thống hỗ trợ This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems CHƯƠNG CẤU TRÚC PHẦN CỨNG HỆ NHÚNG 2.1 Các thành phần kiến trúc 2.1.1 Đơn vị xử lý trung tâm CPU (central processing unit) đóng vai trò não chịu trách nhiệm thực thi chức đơn vị tính thực lệnh Phần CPU đảm nhiệm chức đơn vị logic toán học (ALU arthimeic logic unit) Ngoài để hỗ trợ cho hoạt động ALU có thêm số thành phần khác giải mã decoder, sequencer ghi Thanh ghi trỏ ngăn xếp - Stack pointer Thanh ghi lưu trữ địa ngăn xếp Theo nguyên lý giá trị địa chứa gh trỏ ngăn xếp giảm liệu lưu thêm vào ngăn xếp tăng liệu lấy khỏi ngăn xếp Thanh ghi số - Index register Thanh ghi số sử dụng để lưu địa mode địa sử dụng Nó biết tới với tên gọi ghi trỏ hay ghi lựa chọn tệp Microchip Thanh ghi địa lệnh / đếm chương trình - Program Counter Một ghi quan trọng CPU ghi đếm chương trình Thanh ghi đếm chương trình tăng lên Chương trình kết thúc ghi PC có giá trị địa cuối chương trình nằm nhớ chương trình Thanh ghi tích lũy - Accumulator Thanh ghi tích lũy ghi giao tiếp trực tiếp với ALU sử dụng để lưu giữ toán tử kết phép toán trình hoạt động ALU 2.1.2 Xung nhịp trạng thái tín hiệu Trong VXL nói chung hoạt động hệ thống thực đồng dị theo xung nhịp chuẩn Các nhịp lấy trực tiếp gián tiếp từ nguồn xung chuẩn thường mạch tạo xung dao động thạch anh Để mô tả hoạt động hệ thống, tín hiệu liệu điều khiển thường mô tả trạng thái theo giản đồ thời gian mức tín hiệu Mục đích việc mô tả trạng thái tín hiệu theo giản đồ thời gian mức tín hiệu để phân tích xác định chuỗi kiện hoạt động chi tiết rong chu kỳ bus Nhờ việc mô tả xem xét đến khả đáp ứng thời gian This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems kiện thực thi hệ thống thời gian cần thiết để thực thi hoạt động khả tương thích sự phối hợp cá thiết bị ghép nối hay mở rộng hệ thống Thông thường thông tin nhịp thời gian hoạt động nhưu đặc tính kỹ thuật chi tiết cung cấp qui đinh nhà chế tao Một số đặc trưng thời gian trạng thái hoạt động tín hiệu hệ thống gồm có sau: + Thời gian tăng giảm + Thời gian trễ lan truyền tín hiệu + Thời gian thiết lập + Thời gian giữ + Trễ cấm hoạt động trạng thái treo Tri-state + Độ rộng xung + Tần số nhịp hoạt động Thời gian tăng giảm Thời gian tăng định nghĩa khoảng thời gian để tín hiệu tăng từ 20% đến 80% mức tín hiệu cần thiết Thời gian giảm khoảng thời gian để tín hiệu giảm từ 80% đến 20% mức tín hiệu cần thiết Thời gian trễ lan truyền Là khoản thời gian tính từ thay đổi tín hiệu vào có thay đổi tín hiệu đầu Đặc tính thường cấu tạo khả truyền dẫn tín hiệu vật lý hệ thống tín hiệu Thời gian thiết lập lưu giữ Khoảng thời gian cần thiết để tín hiệu trích mẫu đạt tới trạng thái ổn định trước xung nhịp chuẩn đồng hồ thay gọi thời gian xác lập Thời gian lưu giữ khoảng thời gian cần thiết để trì tín hiệu trích mẫu ổn định sau xung nhịp chuẩn đồng hồ thay đổi Thực chất khoảng thời gian thiết lập thời gian lưu giữ cần thiết để đảm bảo tín hiệu ghi nhận xác ổn định trình hoạt động chuyển mức trạng thái Trong trường hợp hoạt động chuyển trạng thái tín hiệu không đồng không đảm bảo thời gian thiết lập lưu giữ dẫn đến ổn định hay không xác định mức tín hiệu hệ thống Hiện tượng biết tới với tên gọi metastability 2.1.3 Bus địa liệu điều khiển Bus địa đường dẫn tín hiệu logic chiều để truyền địa tham chiếu tới khu vực nhớ liệu lưu giữ đâu không gian nhớ Trong trình hoạt động CPU điều khiển bus địa để truyền liệu khu vực nhớ CPU Các địa thông thường tham chiếu tới khu vực nhớ khu vực vào/ra ngoại vi Dữ liệu lưu khu vực This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems thường bit, 16 bit, hay 32 bit tùy thuộc vào cấu trúc loại vi xử lý/vi điều khiển Hầu hết vi điều khiển thường đánh địa liệu có độ rộng 16,20,24 32 bit Nếu đánh địa theo byte vi xử lý 16 bit đánh địa chỉ địa tăng dần đến 2N-1 Hiện vi xử lý vi điều khiển nói chung chủ yếu sử dụng phổ biến bus liệu có độ rộng Nếu đánh địa theo byte vi xử lý 16 bit địa 216 khu vực nhớ tức 65536 = 64 Kbyte Tuy nhiên số khu vực nhớ mà CPU truy nhập trực tiếp tới tức phải phải sử dụng nhiều nhịp bus để truy cập, thông thường phải kết hợp với điều khiển phần mềm Kỹ thuật chủ yếu sử dụng để mở rộng nhớ thường biết tới khái niệm đánh địa trang nhớ nhu cầu đánh địa khu vực nhớ vượt phạm vi đánh địa truy nhập trực tiếp Ví dụ: CPU có 24 bit địa cho phép đánh địa trực tiếp cho 224 byte(16 Mbyte) nhớ CPU80386 loại vi xử lý mạnh có không gian địa 32 bit đánh tới 32 GB địa trực tiếp Bus liệu Bus liệu kênh truyền tải thông tin theo chiều CPU Tốc độ đường truyền hay trao đổi liệu thương dự tính theo đơn vị byte/s Số lượng đường truyền bit liệu cho phép xác định số lượng bit lưu trữ khu vực tham chiếu trực tiếp Nếu bus liệu có khả thực lần truyền ms, bus liệu bit có băng thông 1Mb/s, bus 16 bit có băng thông mb/s bus 32 bit có băng thông Mb/s Trong trường hợp bus liệu bit với chu kỳ bus T = ms tức truyền 1b/1 chu kỳ truyền Mb 1s hay Mb 2s Bus điều khiển Bus điều khiển phục vụ truyền tải thông tin liệu để điều khiển hoạt động hệ thống Thông thường liệu điều khiển bao gồm cá tín hiệu chu kỳ để đồng nhịp chuyển động hoạt động hệ thống Thông thường liệu điều khiển bao gồm tín hiệu chu kỳ để đông nhịp chuyển động hoạt động hệ thống Bus điều khiển thường điều khiển CPU để đồng hóa nhịp hoạt động liệu trao đổi bus Trong trường hợp vi xử lý sử dụng dồn kênh bus liệu bus địa tức phần toàn bus liệu sử dụng chung chia xẻ với bus địa cần tín hiệu điều khiển để phân nhịp truy nhập cho phép chốt lưu trữ thông tin địa bắt đầu chu kỳ truyền Một ví dụ chu kỳ bus đồng chúng hoạt động hệ thống bus địa liệu dồn kênh Đây hoạt động điển hình họ vi điều khiển 8051 nhiều loại tương tự This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems 2.1.4 Bộ nhớ kiến trúc nhớ Kiến trúc nhớ chia làm loại áp dụng rộng rãi hầu hết chip vi xử lý nhúng theo Von Newman Havard Trong kiến trúc Von Newmann không phân biệt vùng chứa liệu mã chương trình Cả phương trình liệu truy nhập theo đường Điều cho phép đưa liệu vào vùng mã chương trình ROM, lưu mã chương trình vào vùng liệu RAM thực từ Kiến trúc Havard tách /phân biệt vùng lưu mã chương trình liệu Mã chương trình lưu thực vùng chứa ROM liệu lưu trao đổi vùng RAM Hầu hết vi xử lý nhúng ngày sử dụng kiến trúc nhớ Havard kiến trúc Havard mở rộng tức nhớ chương trình liệu tách biệt cho phép khả hạn chế để lấy liệu từ vùng mã chương trình Trong kiến trúc nhớ Havard mở rộng tức nhớ chương trình liệu tách biệt cho phép khả hạn chế để lấy liệu từ vùng mã chương trình Trong kiến trúc nhớ Havard mở rộng thường sử dụng số lượng nhỏ trỏ để lấy liệu từ vùng mã chương trình theo cách nhúng vào lệnh tức thời Một số chip vi điều khiển nhúng tiêu biểu sử dụng cấu trúc Havard 8031, PIC, Atmel AVR90S Nếu sử dụng chip 8031 nhận thấy điều thông qua việc truy nhập lấy liệu từ vùng liệu RAM từ mã vùng chương trình Chúng ta có vài trỏ sử dụng để lấy liệu từ nhớ liệu từ nhớ liệu RAM, có trỏ DPTR sử dụng để lấy liệu từ vùng mã chương trình Ưu điểm bật cấu trúc nhớ Havard so với kiến trúc Von newman có kênh tách biệt để truy nhập vòa vùng nhớ mã chương trình liệu nhờ mà mã chương trình liệu truy nhập đồng thời lam tăng tốc độ luồng trao đổi với vxl Bộ nhớ chương trình PROM programme read only memory Vùng để lưu trữ mã chương trình Có ba loại nhớ PROM thông thường sử dụng cho hệ nhúng giới thiệu sau EPROM Bao gồm mảng trnsistor khả trình Mã chương trình ghi trực tiếp vxl đọc để thực EPROM xóa tia cực tím lập trình lại Bộ nhớ FLASH Cũng giống EPROM cấu tạo mảng transistor khả trình xóa điện nạp lại chương trình mà không cần tách khỏi phần cứng vxl Ưu điểm nhớ flash lập trình trực tiếp mạch cứng mà thực thi This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems Bộ nhớ liệu RAM Vùng để lưu trao đổi liệu trung gian trình thực chương trình Có loại RAM SRAM DRAM Hình 2-1: Mô tả trạng thái tín hiệu lô gic tăng giảm Hình 2-2: Cấu trúc phần tử nhớ DRAM Hình 2-3: Nguyên lý ghép nối (mở rộng) RAM với VXL This Document is Prepared by Dr Bui Trung Thanh ... triển hệ nhúng 1.1 Các khái niệm hệ nhúng Hệ nhúng Hình 1: vài hình ảnh hệ nhúng This Document is Prepared by Dr Bui Trung Thanh Faculty of Electronics & Electrical Engineering Embedded Systems. .. đo lường điều khiển, kể hàng loạt thiết bị hệ thống nhúng tồn quanh ta, chúng hệ nhúng Vậy thực chất hệ nhúng phần hệ thống xử lý thông tin hệ thống lớn, phức hợp độc lập ví dụ ô tô, thiết bị đo... năng) PC thực chất hệ thống lớn tổ hợp nhiều hệ thống nhúng ví dụ card hình, âm thanh, ổ cứng, bàn phím… Chính điều làm dễ lúng túng hỏi nên hiểu PC, có phải hệ nhúng hay không Hệ thời gian thực