1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

giao trinh lap trinh nhung 0082

20 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 706,9 KB

Nội dung

TRƯỜNG ĐẠI HỌC VĂN HIẾN TPHCM KHOA KỸ THUẬT – CÔNG NGHỆ BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG  LẬP TRÌNH NHÚNG TÀI LIỆU LƯU HÀNH NỘI MỤC LỤC Chương Tổng quan…………………………………………………………………….……1 1.1 Mở đầu…………….……………………………………………….………………….…1 1.2 Khái niệm hệ nhúng………………………………………………… ……….….… 1.3 Vai trò hệ thống nhúng phát triển lĩnh vực công nghệ cao…….…….…3 1.4 Đặc tính, phương pháp thiết kế xu phát triển hệ nhúng………… … 1.5 Môi trường thông minh……………………………………………………………….6 1.6 Các hệ điều hành nhúng phần mềm nhúng……………………………… ………6 1.6.1 Hệ điều hành nhúng………………………………………………… …………6 1.6.2 Phần mềm nhúng……………………………………………………… ………7 Chương Lý thuyết thiết kế hệ thống nhúng………………………………….…………8 2.1 Quy trình thiết kế Top-Down…………………………………………………………8 2.1.1 Pha phân tích…………………………………………………………… ….… 2.1.2 Pha thiết kế nguyên lý………………………………………………….…….…10 2.1.3 Pha thiết kế kỹ thuật…………………………………………………… ….… 11 2.1.4 Pha xây dựng hệ thống………………………………………………… …… 11 2.1.5 Pha kiểm tra……………………………………………………………… … 12 2.2 Quy trình thiết kế Bottom-Up……………………………………………………….12 2.3 Đặc tả hệ thống………………………………………………………….…….….….14 2.3.1 Khái niệm đặc tả (specification)………………………………….……… … 14 2.3.2 Tại cần đặc tả………………………………………………….…….….… 14 2.3.3 Phân loại kỹ thuật đặc tả………………………………………….………….15 2.3.4 Ứng dụng ưu việt khỉ sử dụng đặc tả……………………………….…….….15 2.3.5 Phương pháp đặc tả sử dụng “Máy trạng thái hữu hạn FSM”…………… 16 2.4 Các phương pháp biểu diễn thuật tốn…………………………………………… …17 2.4.1 Ngơn ngữ tự nhiên……………………………………………………… …….18 2.4.2 Dùng lưu đồ……………………………………………………………….……18 2.4.3 Mã giả……………………………………………………………………….… 21 Chương Cấu trúc phần cứng……………………………………….……………………23 3.1 Cấu trúc tổng quát hệ thống nhúng…………………………………….……….23 3.1.1 Kiến trúc bản……………………………………………………………… 23 3.1.2 Cấu trúc phần cứng………………………………………………………… 23 3.2 Một số tảng phần cứng thông dụng………………………………………….… 24 3.2.1 Vi điều khiển Atmega8…………………………………………………… … 24 3.2.2 Kit Arduino Uno R3………………………………………………………… 29 3.2.3 Vi điều khiển MSP430G2553………………………………………………… 33 3.2.4 Kit MSP430 Launchpad…………………………………………………… ….36 3.2.5 Vi điều khiển PIC18F2550……………………………………………… …….38 3.2.6 Kit PIC18F2550 Pinguino………………………………………………… … 40 Chương Phần mềm nhúng……………………………………………… …………… 43 4.1 Đặc điểm phần mềm nhúng………………………………………………………….43 4.2 Lập trình nhúng với ngơn ngữ Arduino……………………………………………… 43 4.2.1 Cấu trúc……………………………………………………………………… ….43 4.2.1.1 setup().…………………………………………………………………….…43 4.2.1.2 loop()……………………………………………………………………… 44 4.2.1.3 Cú pháp mở rộng………………………………………… …………………45 4.2.1.4 Toán tử số học………………………………………………….….…………48 4.2.1.5 Toán tử so sánh………………………………………………… ………… 50 4.2.1.6 Toán tử logic…………………………………………………….………… 50 4.2.1.7 Toán tử hợp nhất…………………………………………………….….… 50 4.2.1.8 Cấu trúc điều khiển………………………………………………….… … 51 4.2.2 Giá trị………………………………………………………………………… ….59 4.2.2.1 Hằng số…………………………………………………………….……… 59 4.2.2.2 Kiểu liệu……………………………………………………….……… 65 4.2.2.3 Chuyển đổi kiểu liệu………………………………………….…… ……73 4.2.2.4 Phạm vi biến phân loại biến………………………………….……….74 4.2.2.5 Hàm hỗ trợ sizeoff()…………………………………………………… … 78 4.2.3 Hàm thủ tục………………………………………………………………… 79 4.2.3.1 Nhập xuất Digital…………………………………………………… ……79 4.2.3.2 Nhập xuất Analog…………………………………………………… … 81 4.2.3.3 Hàm thời gian………………………………………….…….….…….……85 4.2.3.4 Hàm toán học………………………………………….…………… …….88 4.2.3.5 Hàm lượng giác………………………………………….…………… … 93 4.2.3.6 Sinh số ngẫu nhiên………………………………………………… … …93 4.2.3.7 Nhập xuất nâng cao……………………………………………………… 96 4.2.3.8 Bits Bytes……………………………………………………………… 99 4.2.3.9 Ngắt………………………………………………………………… …102 Chương I: Tổng quan Chương 1: TỔNG QUAN 1.1 Mở đầu Trong phát triển mạnh mẽ khoa học kĩ thuật với kinh tế trí thức xu hướng hội nhập toàn cầu nay, giới Việt Nam thực việc kết hợp ngành thuộc lĩnh vực công nghệ cao Khoa sở đào tạo Đó lĩnh vực khoa học cờ: Máy tính, Điện tử- Viễn thơng Điều khiển tự động mà ta thường gọi “3 C” (Computer – Communication - Control) Có thể nói, q trình sản xuất quản lí như: hệ thống đo lường điều khiển tự động sản xuất công nghiệp; hệ thống di động không dây tiên tiến, hệ thống thông tin vệ tinh, hệ thống thơng tin dựa Web, phủ điện tử, thương mại điện tử, sở liệu nhiều ngành kinh tế Quốc gia, hệ thống thiết bị Y tế đại, thiết bị điện tử dân dụng, sản phẩm kết hợp lĩnh vực khoa học Hiện thời đại hậu PC sau giai đoạn phát triển máy tính lớn (Mainframe) 1960-1980, phát triển PC-Internet giai đoạn 1980-2000 Giai đoạn hậu PC-Internet dự đoán từ năm 2000 đến 2020 giai đoạn môi trường thông minh mà hệ thống nhúng cốt lõi làm nên sóng đổi cơng nghệ thơng tin nói riêng lĩnh vực cơng nghệ cao “3C”, nói chung Một thực tế khách quan thị trường hệ thống nhúng lớn gấp khoảng 100 lần thị trường PC, nhìn thấy bề cơng nghệ thơng tin PC Internet cịn phần chìm cơng nghệ thơng tin chiếm 99% số processor tồn cầu nằm hệ nhúng cịn biết đến Sức đẩy công nghệ đưa công nghệ vi điện tử, công nghệ vi điện, công nghệ sinh học hội tụ tạo nên chip công nghệ nano, tảng cho thay đổi lĩnh vực công nghệ cao “3C, sức kéo thị trường địi hỏi thiết bị phải có nhiều chức thân thiện với người dùng, có mức độ thông minh ngày cải thiện đưa đến vai trò tầm quan trọng hệ thống nhúng ngày cao kinh tế quốc dân Phát triển hệ nhúng phần mềm nhúng quốc sách nhiều quốc gia giới, giai đoạn hậu PC Ở nước ta đáng tiếc lĩnh vực lâu bị lãng quên, cần có điều chỉnh phù hợp chiến lược phát triển để theo kịp, rút ngắn khoảng cách tụt hậu nước khu vực giới trình hội nhập kinh tế tồn cầu khơng thể tránh khỏi 1.2 Khái niệm hệ nhúng Hệ thống nhúng (tiếng Anh: Embedded system) thuật ngữ để thống có khả tự trị nhúng vào môi trường hay hệ thống mẹ Hệ thống nhúng có vai trị đảm nhận phần công việc cụ thể hệ thống mẹ Hệ thống nhúng hệ thống phần cứng hệ thống phần mềm (Wikipedia, 2010) Bài giảng lập trình nhúng Chương I: Tổng quan Ví dụ quanh ta có nhiều sản phẩm nhúng 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, đầu đo, cấu chấp hành thông minh v.v ta thấy hệ thống nhúng có mặt lúc nơi sống Hình 1.1 Một số ví dụ thống nhúng thông dụng Các nhà thống kê giới thống kê số chip vi xử lý máy PC server, mạng LAN, WAN, Internet chiếm khoảng 1% tổng số chip vi xử lý có giới, 99% số vi xử lý lại nằm hệ thống nhúng Như công nghệ thông tin không đơn PC, mạng LAN, WAN, Internet phần mềm quản lý nhiều người thường nghĩ Đó bề tảng băng chìm Phần chìm cơng nghệ thơng tin ứng dụng hệ nhúng có mặt ngành nghề đời sống xã hội Các hệ nhúng tích hợp thiết bị đo lường điều khiển tạo nên đầu não linh hồn sản phẩm Trong hệ nhúng, hệ thống điều khiển nhúng đóng vai trị quan trọng Hệ điều khiển nhúng hệ thống mà máy tính nhúng vào vòng điều khiển sản phẩm nhằm điều khiển đối tượng, điều khiển q trình cơng nghệ đáp ứng yêu cầu đặt Hệ thống điều khiển nhúng lấy thông tin từ cảm biến, xử lý tính tốn thuật điều khiển phát tín hiệu điều khiển cho cấu chấp hành Khác với 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 hệ thống điều khiển số hình thành từ năm 1960 đến Trước hệ điều khiển số thường máy tính lớn đảm nhiệm, ngày chức điều khiển số chíp vi xử lý, hệ nhúng thay Phần mềm điều khiển ngày tinh sảo tạo nên độ thông minh thiết bị ngày chiếm tỉ trọng lớn giá thành thiết bị Bài giảng lập trình nhúng Chương I: Tổng quan Điểm qua chức xử lý tin PC thiết bị nhúng có nét khác biệt Đối với PC mạng internet chức xử lý phát triển mạnh lĩnh vực quản lý dịch vụ thương mại điện tử, ngân hàng điện tử, phủ điện tử, thư viện điện tử, đào tạo từ xa, báo điện tử ứng dụng thường sử dụng máy PC để bàn, mạng WAN, LAN hoạt động giới ảo Cịn hệ nhúng chức xử lý tính tốn ứng dụng cụ thể cho thiết bị vật lý (thế giới thật) mobile phone, quần áo thông minh, thiết bị điện tử cầm tay, thiết bị y tế, xe ô tô, tầu tốc hành, phương tiện vận tải thông minh, máy đo, đầu đo, cấu chấp hành thông minh, hệ thống điều khiển, nhà thông minh, thiết bị gia dụng thơng minh v.v 1.3 Vai trị hệ thống nhúng phát triển lĩnh vực công nghệ cao “3C“ Các hệ thống tự động chế tạo nhiều công nghệ khác thiết bị máy móc tự động cam chốt khí, hệ thống tự động hoạt động nguyên lý khí nén, thủy lực, rơle điện, mạch điện tử số thiết bị, hệ thống có chức xử lý mức độ tự động thấp so với hệ thống tự động đại xây dựng tảng hệ thống nhúng Trong hệ thống tin học sử dụng máy tính để hỗ trợ tự động hóa q trình quản lý, hệ thống điều khiển tự động dùng máy tính để điều khiển tự động hóa q trình cơng nghệ Chính thành tựu công nghệ phần cứng công nghệ phần mềm máy tính điện tử áp dụng phát triển cách có chọn lọc hiệu cho hệ thống điều khiển tự động Và phát triển vũ bão công nghệ thông tin kéo theo phát triển không ngừng lĩnh vực tự động hóa Ta thấy q trình hệ nhúng thâm nhập vào phần tử, thiết bị thuộc lĩnh vực tự động hóa đầu đo, cấu chấp hành, thiết bị giao diện với người vận hành chí vào rơle, contactor, nút bấm mà trước hồn tồn làm khí Trước đầu đo gồm phần tử biến đổi từ tham số đo sang tín hiệu điện, mạch khuyếch đại, mạch lọc mạch biến đổi sang chuẩn 4-20mA để truyền tín hiệu đo trung tâm xử lý Hiện đầu đo tích hợp chip vi xử lý, biến đổi ADC, truyền liệu số với phần mềm đo đạc, lọc số, tính tốn truyền kết mạng số thẳng máy tính trung tâm Như đầu đo số hóa ngày thông minh chức xử lý từ máy tính trung tâm trước chuyển xuống xử lý chỗ chương trình nhúng đầu đo Tương tự cấu chấp hành môtơ chế tạo gắn kết hữu với servo với thuật toán điều chỉnh PID chỗ khả nối mạng số tới máy tính chủ Các tủ rơle điều khiển chiếm diện tích lớn phòng điều khiển co gọn PLC(programble Logic Controller) Các bàn điều khiển với hàng loạt đồng hồ báo, phím, núm điều khiển, tự ghi giấy cồng kềnh thay vài PC Bài giảng lập trình nhúng Chương I: Tổng quan Hệ thống cáp truyền tín hiệu analog 4-20mA, ± 10V từ đầu đo, cấu chấp hành trung tâm điều khiển nhằng nhịt trước thay vài cáp đồng trục cáp quang truyền liệu số Ta nói hệ nhúng “thay chiếm phần ngày nhiều” phần tử, hệ thống thuộc lĩnh vực công nghệ cao “3C” Vào năm 30 hệ thống tự động cam chốt khí thường hoạt động đơn lẻ với chức xử lý Các hệ thống tự động dùng rơle điện từ xuất vào năm 40 có mức xử lý khoảng 10 chức Các hệ thống tự động dùng bán dẫn hoạt động theo nguyên lý tương tự (Analog) thập kỷ 60 có mức xử lý khoảng 30 chức Vào năm 70 thiết bị điều khiển khả trình PLC đời với mức độ xử lý lên hàng trăm vào năm 80 với tham gia máy tính điện tử main frame mini hình thành hệ thống điều khiển phân cấp với số chức xử lý lên tới hàng chục vạn (105) Sang thập kỷ 90 với phát triển công nghệ phần cứng phần mềm, hệ thống điều khiển phân tán đời(DCS) cho mức xử lý lên tới hàng trục triệu (107) Và sang kỷ 21, hệ thống tự động có tính tự tổ chức, có tư hợp tác có mức xử lý lên tới hàng tỷ(109) Tuy nhiên để đạt độ thông minh sinh vật sống cần nhiều thời gian hệ thống tự động cần tích hợp nhiều cơng nghệ cao khác công nghệ cảm biến, công nghệ vật liệu mới, công nghệ quang laser v.v Đây xu phát triển hệ thống tự động ngày sử dụng nhiều công nghệ cấu trúc hoạt động Trong điều khiển q trình cơng nghệ, việc áp dụng hệ nhúng tạo khả tự động hóa tồn dây chuyền sản xuất Kiến trúc hệ thống điều khiển trước tập trung xử lý máy tính đầu đo, cấu chấp hành, giao diện với người vận hành thông minh hóa có nhiều chức xử lý chỗ khả nối mạng nhanh tạo thành hệ thống mạng máy điều khiển hoạt động theo chế độ thời gian thực Ngoài chức điều khiển giám sát dây chuyền sản xuất hệ thống cịn có nhiều sở liệu, khả tự xác định khắc phục hỏng hóc, khả thống kê, báo cáo kết hợp hệ thống mạng máy tính quản lý, lập kế hoạch, thiết kế kinh doanh tạo thành hệ thống tự động hóa sản xuất tồn cục Trong lĩnh vực rôbôt, với áp dụng thành tựu hệ nhúng, rơbơt có thị giác xúc giác Việc áp dụng trí khơn nhân tạo vào rơbơt đưa rôbôt từ ứng dụng chủ yếu công nghiệp sang lĩnh vực dịch vụ y tế Kết hợp với thành tựu điện tử, rôbôt ngày uyển chuyển thông minh Trong tương lai rôbôt không thay hoạt động bắp người mà cịn thay thể cơng việc địi hỏi họat động trí não người Lúc hệ thống điều khiển rôbôt khơng vi xử lý mạnh mà cịn có hỗ trợ máy tính mạng nơron nhân tạo, xử lý song song nhúng rôbôt Các nghiên cứu phát triển giai đoạn ban đầu 1.4 Đặc tính, phương pháp thiết kế xu phát triển hệ nhúng Các hệ nhúng hệ kết hợp phần cứng phần mềm cách tối ưu Các Bài giảng lập trình nhúng Chương I: Tổng quan hệ nhúng hệ chuyên dụng, thường hoạt động chế độ thời gian thực, bị hạn chế nhớ, giá thành phải rẻ lại phải hoạt động tin cậy tiêu tốn lượng Các hệ nhúng đa dạng có nhiều kích cỡ, khả tính tốn khác Ngồi hệ nhúng thường phải hoạt động mơi trường khắc nghiệt có độ nóng ẩm, rung xóc cao Ví dụ điều khiển máy diesel cho tàu biển, thiết bị cảnh báo cháy nổ hầm lò Các hệ thống nhúng lớn thường hệ nối mạng Ở máy bay, tàu vũ trụ thường có nhiều mạng nhúng kết nối để kiểm sốt hoạt động điều khiển.Trong tơ đại có đến 80 nút mạng kết nối đầu đo cấu chấp hành để bảo đảm ô tô hoạt động an toàn thoải mái cho người sử dụng Thiết kế hệ thống nhúng thiết kế phần cứng phần mềm phối hợp Cách thiết kế cổ điển cách xác định trước chức phần mềm (SW) phần cứng (HW) sau bước thiết kế chi tiết tiến hành cách độc lập hai khối Hiện đa số hệ thống tự động hóa thiết kế (CAD) thường dành cho thiết kế phần cứng Các hệ thống nhúng sử dụng đồng thời nhiều công nghệ vi xử lý, DSP, mạng chuẩn phối ghép, protocol, xu thiết kế hệ nhúng địi hỏi có khả thay đổi mềm dẻo trình thiết kế phần HW SW Để có thiết kế cuối tối ưu, trình thiết kế SW HW phải phối hợp với chặt chẽ thay đổi sau lần thử chức hoạt động tổng hợp Thiết kế hệ nhúng đòi hỏi kiến thức đa ngành điện tử, xử lý tín hiệu, vi xử lý, thuật điều khiển lập trình thời gian thực Phần mềm hệ nhúng ngày chiếm tỉ trọng cao trở thành thành phần cấu tạo nên thiết bị bình đẳng phần khí, linh kiện điện tử, linh kiện quang học hệ nhúng ngày phức tạp đáp ứng yêu cầu khắt khe thời gian thực, tiêu lượng, hoạt động tin cậy ổn định hơn, có khả hội thoại cao, có khả kết nối mạng, có thích nghi, tự tổ chức cao có khả tái cấu thực thể, tác nhân Và có khả tiếp nhận lượng từ nhiều nguồn khác (ánh sáng, rung động, điện từ trường, sinh học ) để tạo nên hệ thống tự tiếp nhận lượng trình họat động Tuy nhiên hệ thống nhúng phải đối mặt với nhiều thách Độ phức tạp hệ thống tăng cao kết hợp nhiều lĩnh vực đa ngành, kết hợp phần cứng - mềm, phương pháp thiết kế kiểm tra chưa chín muồi Khoảng cách lý thuyết thực hành lớn thiếu phương pháp lý thuyết hồn chỉnh cho khảo sát phân tích tồn cục hệ nhúng bao gồm lý thuyết điều khiển tự động, thiết kế máy, công nghệ phần mềm, điện tử, vi xử lý, công nghệ hỗ trợ khác Mặt khác hệ nhúng nhiều vấn đề cần giải với độ tin cậy tính mở hệ thống Do hệ thống nhúng thường phải hội thoại với mơi trường xung quanh nên nhiều gặp tình không lường trước dễ dẫn đến hệ thống bị loạn Trong trình hoạt động số phần mềm thường phải chỉnh lại thay đổi nên hệ thống phần mềm khơng kiểm sốt Đối với hệ thống mở, hãng thứ đưa module mới, thành phần vào gây nên hoạt động thiếu tin cậy Bài giảng lập trình nhúng Chương I: Tổng quan 1.5 Môi trường thông minh Công nghệ bán dẫn phát triển mạnh theo xu ngày rẻ, tích hợp cao, có khả tính tốn lớn, khả kết nối tồn cầu, khả phối hợp với cảm biến cấu chấp hành vi điện sinh học, khả giao diện khơng qua bàn phím tạo tiền đề sở cho bùng nổ thiết bị vật dụng thông minh xung quanh ta Đây khởi đầu thời đại hậu PC - Môi trường thông minh Các phần mềm nhúng chip vi hệ htống phong phú có độ mềm dẻo, tái sử dụng cao Sức đẩy công nghệ đưa công nghệ vi điện tử tiếp cận cộng với công nghệ sinh học tạo nên công nghệ nano với độ phức tạp giga vào thập niên 2010-2020 Các chip vi hệ thống xử lý hỗn hợp tương tự số MS-SoC (Mixed Signal System on chip) vào giai đoạn có tỷ transistor, 1000 lõi CPU, 100MB nhớ hoạt động tần số 200GHz Với vi hệ thống có khả tính tốn siêu hạng việc thiết kế hệ nhúng gặp khơng thách thức xử lý song song, độ phức tạp phần mềm nhúng khả cung cấp lượng cho thiết bị cầm tay Trong tương lai lượng cho truyền liệu lớn gấp từ đến 30 lần lượng hoạt động CPU Trước hệ thống thường thiết kế phần cứng PC phần mềm Windown Linux, ngày số lượng hệ (platform) cho thiết kế hệ nhúng có khoảng 25 Trong tương lai hệ nhúng thiết kế chip MS-SoC tạo nên platform thiết kế chuyên dụng với số lượng lên đến 500 loại Ta liệt kê số ví dụ điển platform raptor II cho thiết kế camera số, PXA240 cho thiết kế thiết bị PDA, TL850 cho TV số, BLUECORE cho công nghệ không dây Bluetooth, CDMA cho mobile phone 3G hệ MS-SoC có khả tái cấu hình cơng cụ chủ chốt cho sản phẩm công nghệ cao “3C” 1.6 Các hệ điều hành nhúng phần mềm nhúng 1.6.1 Hệ điều hành nhúng Khác với PC thường chạy hệ điều hành windows unix, hệ thống nhúng có hệ điều hành nhúng riêng Các hệ điều hành dùng hệ nhúng trội bao gồm Embedded linux, VxWorks, WinCE, Lynyos, BSD, Green Hills, QNX DOS, Embeddde linux phát triển mạnh Năm 2001 hệ điều hành chiếm 12% thị phần hệ điều hành nhúng năm 2002 chiếm 27% chiếm vị trí số Hiện 40% nhà thiết kế hệ nhúng cân nhắc sử dụng Embedded linux cho ứng dụng sau đến hệ điều hành nhúng truyền thống VxWorks, WinCE Các đối thủ cạnh tranh Embedded linux hệ điều hành nhúng tự tạo windows CE Sở dĩ Embedded linux có phát triển vượt bậc có sức hấp dẫn ứng dụng giá thành thấp đòi hỏi thời gian đưa sản phẩm thị trường nhanh Mặt khác Linux phần mềm mã nguồn mở nên hiểu thay đổi theo ý Linux hệ điều hành có cấu trúc module chiếm nhớ windows khơng có đặc tính ưu Bài giảng lập trình nhúng Chương I: Tổng quan việt Do thị trường sản phẩm nhúng tăng mạnh lên nhà sản xuất ngày sử dụng hệ điều hành nhúng để đảm bảo sản phẩm có sức cạnh tranh Embedded linux sản phẩm hệ điều hành nhúng có uy tín chiếm vị trí số năm tới 1.6.2 Phần mềm nhúng Phần mềm nhúng phần mềm tạo nên phần hồn, phần trí tuệ sản phẩm nhúng Phần mềm nhúng ngày có tỉ lệ cao giá trị sản phẩm nhúng Hiện phần lớn phần mềm nhúng nằm sản phẩm truyền thông sản phẩm điện tử gia dụng (consumer electronics) tiếp đến sản phẩm ô tô, phương tiện vận chuyển, máy móc thiết bị y tế, thiết bị lượng thiết bị cảnh báo bảo vệ sản phẩm đo điều khiển Để tồn phát triển, sản phẩm công nghiệp tiêu dùng cần phải thường xuyên đổi ngày có nhiều chức tiện dụng thơng minh Các chức phần lớn chương trình nhúng tạo nên Phần mềm nhúng lĩnh vực công nghệ then chốt cho phát triển kinh tế nhiều quốc gia giới Nhật Bản, Hàn Quốc, Phần Lan Trung Quốc Tại Mỹ có nhiều chương trình hỗ trợ nhà nước để phát triển hệ thống phần mềm nhúng Hàn Quốc có dự án lớn nhằm phát triển cơng nghệ phần mềm nhúng thiết bị gia dụng nối mạng Internet, hệ thống phần mềm nhúng cho phát triển thành phố thông minh, dự án phát triển ngành công nghiệp phần mềm nhúng, trung tâm hỗ trợ ngành công nghiệp hậu PC v.v Hàn Quốc chấp nhận Embedded linux hệ điều hành chủ chốt việc phát triển sản phẩm nhúng Thụy Điển coi phát triển hệ nhúng có tầm quan trọng chiến lược cho phát triển đất nước Phần Lan có sách quốc gia tích cực cho nghiên cứu phát triển hệ nhúng đặc biệt phần mềm nhúng Những quốc gia thành lập nhiều viện nghiên cứu trung tâm phát triển hệ nhúng Bài giảng lập trình nhúng Chương II: Lý thuyết thiết kế hệ thống nhúng Chương 2: LÝ THUYẾT THIẾT KẾ HỆ THỐNG NHÚNG 2.1 Quy trình thiết kế Top-Down Quy trình Top-Down thường áp dụng cho tốn có giải pháp công nghệ phần mềm phần cứng Các giải pháp phát triển trước ứng dụng khác, kiểm định Trong thực tế thấy, chất hay mấu chốt quy trình vấn đề tìm hiểu xác định toán, để xác định xác đầy đủ yêu cầu buộc mà hệ thống phải đạt Sơ đồ khối quy trình kế top-down hình 2.1 Hình 2.1 Sơ đồ khối quy trình Top - Down 2.1.1 Pha phân tích Pha pha quan trọng định hệ thống có đạt yêu cầu hay không Một hệ thống nhúng cụ thể phải đặt vào (nhúng vào) hệ thống lớn cụ thể Vì ta Bài giảng lập trình nhúng Chương II: Lý thuyết thiết kế hệ thống nhúng cần phải biết có u cầu cho nó, mơi trường hay điều kiện làm việc Thơng tin gọi yêu cầu điều kiện buộc cho hệ thống, giúp cụ thể hố việc chọn giải pháp công nghệ thiết bị cho kỹ sư thiết kế pha sau - Các yêu cầu: Các thông tin chi tiết nhiệm vụ mà hệ thống phải giải được, tham số đầu vào đầu ra, giới hạn hệ thống cụ thể, - Các buộc: Điều kiện làm việc hạn chế thời tiết, độ ẩm, độ nhiễu, độ xác, tính thời gian thực, loại tín hiệu giao tiếp với hệ thống mẹ, Ví dụ: Xét toán thiết kế hệ thống điều khiển cho cửa tự động Giả sử qua trình khảo sát thực tế yêu cầu bên khác hàng ta phải xác định thông số tối thiểu sau: a) Yêu cầu: 1) Hệ thống áp dụng cho cửa hai chiều (vào/ra) 2) Cửa cao 2,5m rộng 3m 3) Có người phạm vi 2m trước sau cửa cửa phải mở 4) Thời gian mở đóng cửa 3s 5) Cửa đóng gặp vật cản phải mở 6) Làm việc điện áp 220v/50Hz 7) Chi phí cho điều khiển khơng 10 triệu VNĐ 8) Hệ thống thống có chế độ làm việc tự động tay 9) Sensor công nghệ tuỳ chọn b) Điều kiện buộc 1) Sử dụng động động lực có sẵn loại AC pha 220V/50Hz 3kW 2) Nơi đặt cửa có nhiều người qua lại, nên hệ thống phải làm việc với tần suất cao 3) Điều kiện môi trường: Trong nhà, nhiệt độ từ 180C đến 360C 4) Bộ điều khiển tay đặt cạnh cửa phía bên nhà 5) Hệ thống điện cấp từ đầu 6) Chịu tải gặp chướng ngại vật khoảng thời gian dài Trong toán cụ thể, với hệ thống mẹ cụ thể, hệ thống nhúng có yêu cầu khác Tuy nhiên có tiêu chuẩn yêu cầu chung mà hầu hết hệ thống phải tính đến như: - Tính đến chi phí bảo trì định kỳ - Kích thước trọng lượng - Khả thực thi: Thời gian đáp ứng, độ xác, độ phân giải, Bài giảng lập trình nhúng Chương II: Lý thuyết thiết kế hệ thống nhúng - Nguồn nuôi - Tính mềm dẻo, khả nâng cấp, khả tương thích, khả phục hồi sau nguồn, - Thời gian thử - Thời gian để thương mại sản phẩm - Độ an toàn - Khả chống lại phá hoại hay xâm nhập 2.1.2 Pha thiết kế nguyên lý Mục tiêu pha xác định giải pháp công nghệ từ yêu cầu đặt pha Phân tích, từ thiết kế mơ hình, sơ đồ ngun lý cho tồn hệ thống bao gồm phần cứng phần mềm Để thực bước thông thường trải qua bước sau: - Trước tiên ta phải xây dựng sơ đồ mơ hình tổng qt tồn hệ thống - Sau phân tách thành module hay hệ thống - Định giá cho hệ thống, lập kế hoạch phát triển ước lượng thời gian phát triển hệ thống - Xây dựng sơ đồ luồng dữu liệu module hay hệ thống hệ thống Ví dụ 2: Xây dựng phân tách module mơ hình tổng qt tốn điều khiển động Hình 2.2 Sơ đồ tổng quát hệ thống điều khiển động Bài giảng lập trình nhúng 10 Chương II: Lý thuyết thiết kế hệ thống nhúng 2.1.3 Pha thiết kế kỹ thuật • Xây dựng thiết kế chi tiết cho phần cứng phần mềm, thiết kế chuyển sang pha thực thi để xây dựng hệ thống Vì pha người thiết kế phải đưa thiết kế như: Sơ đồ khối, sơ đồ thuật toán Cấu trúc dữu liệu, liệu chia sẻ Sơ đồ nguyên lý mạch, chi tiết đầu vào/ra, loại tín hiệu hay giao thức giao tiếp Thông số linh kiện chọn thay Các tham số vào/ra cho hệ thống Lựa chọn thiết bị, công cụ phát triển hệ thống, tài nguyên sử dụng • Xây dựng sơ đồ quan hệ module hàm hệ thống (call graph), sơ đồ mô tả cách thức tương tác phần cứng phần mềm hệ thống Ví dụ: Sơ đồ Call graph hệ thống điều khiển động Hình 2.3 Sơ đồ quan hệ (call graph) module phần cứng phân mềm hệ thống điều khiển động Để phát hạn chế tối đa lỗi mà hệ thống gặp phải sau xây dựng, ta mơ hình hóa thành phần tồn hệ thống có thể, nhằm thử nghiệm hoạt động hệ thống với đầu vào tình giả lập, đồng thời thử nghiệm tính thân thiện giao diện người dùng 2.1.4 Pha xây dựng hệ thống Từ thiết kế, bước tiến hành xây dựng hoàn thiện hệ thống phân mềm phần cứng Trong suốt trình xây dựng phải tuân thủ theo bước sơ đồ công nghệ từ thiết kế kỹ thuật Đặc biệt tham số vào Bài giảng lập trình nhúng 11 Chương II: Lý thuyết thiết kế hệ thống nhúng hàm, điều ảnh hưởng đến việc tích hợp module nhóm làm việc khác hay kế thừa từ module khác Các linh kiện thiết bị sử dụng phải tuân thủ theo thiết kế, nhằm giúp hệ thống thỏa mãn đầy đủ thông số buộc đặt pha phân tích Việc phát triển hệ thống phân tách thành nhiều nhóm, nhiều phần khơng cần tn theo tuần tự, nhiều mơi trường khác đảm bảo việc trao đổi tham số module tương thích đầy đủ Nếu phân tách thiết kế tốt, việc phát triển hệ thống tiến hành song song, kế thừa có sẵn, làm giảm thời gian phát triển hệ thống đáng kể mà đảm bảo yêu cầu đặt Một số kỹ thuật nhằm phát hạn chế lỗi mà người phát triển áp dụng pha Debug hay mô Simulation Tuy nhiên tốn cụ thể việc Debug khó, thơng thường người phát triển ln sử dụng trình mơ (Simulation) với phép thử tín hiệu giả lập 2.1.5 Pha kiểm tra Mục tiêu pha đánh giá khả thực thi hệ thống sau hồn thiện, thơng thường ta thực bước sau:   Đầu tiên ta tiến hành gỡ lỗi (debug) kiểm định cho chức hệ thống Tiếp theo đánh giá khả thực thi hệ thống dựa nhiều tiêu chí khác như: Tốc độ, độ xác, tính ổn định,… Ngày nhiều công ty nhiều lĩnh vực tuyển dụng nhân riêng cho pha gọi testing hay tester Nhiệm của Tester khơng kiểm tính sản phẩm có phù hợp với yêu cầu đề hay khơng, mà cịn phải nghĩ tình huống, mẫu,… để tìm lỗi mà người thiết kế hay người phát triển chưa phát Các thông tin kết bước định sản phẩm thương mại hóa hay không, hay phải bắt đầu chu kỳ với pha pha phân tích bao gồm thông tin thu thập từ bước 2.2 Quy trình Bottom-Up Quy trình Bottom-Up thực tế thường áp dụng toán chưa lựa chọn hay chưa tìm giải pháp cơng nghệ Mấu chốt quy trình tập trung chủ yêu trình thử nghiệm với hệ thống tín hiệu thực, từ chọn giải pháp cơng nghệ linh kiện phù hợp cho toán Sơ đồ tổng quát quy trình hình 2.4 Bài giảng lập trình nhúng 12 Chương II: Lý thuyết thiết kế hệ thống nhúng Hình 2.4 Sơ đồ khối quy trình Bottom - Up Quy trình Bottom-Up ý tưởng đơn lẻ, sau xây dựng ln thiết kế kỹ thuật Như ta thấy quy trình hồn tồn ngược so với Top-Down Quy trình thường áp dụng có toán chưa lời giải, người thiết kế có ý tưởng vấn đề muốn tìm giải pháp giải pháp tốt để giải vấn đề Việc giải ý tưởng nhiều để có sản phẩm hồn chỉnh Ở quy trình ta cần ý có khâu test nhằm kiểm định xác lại thiết kế kỹ thuật thiết kế nguyên lý trước lựa chọn giải pháp tối ứu Chính từ việc thí nghiệm thiết kế thử hệ thống trước, sau phân tích ngun lý để chọn đặc tính mới, buộc cho hệ thống Với quy trình khâu thiết kế kỹ thuật Test sau xây dựng hệ thống quan trọng Vì với Top-Down việc xây dựng sản phẩm theo nhu cầu người dùng môi trường đặt hệ thống Cịn với Bottom-Up người ta cịn chưa tìm cách để thiết kế sản phẩm đó, sản phẩm chưa có thị trường, người dùng người thiết kế chưa thể có thơng tin u cầu cho sản phẩm hay đặt tính kỹ thuật sản phẩm, khâu thiết kế kỹ thuật Test sau thực thi kỹ sư phải tìm đặt tính đó, nhằm xác định ưu việt hạn chế sản phẩm Bài giảng lập trình nhúng 13 Chương II: Lý thuyết thiết kế hệ thống nhúng 2.3 Đặc tả hệ thống 2.3.1 Khái niệm đặc tả (specification) Kỹ thuật đặc tả nhằm định nghĩa hệ thống, module hay sản phẩm cần phải làm gì, khơng mơ tả phải làm Nghĩa đặc tả tập trung vào việc mô tả chức năng, đầu vào đầu ra, giải pháp để từ đầu vào có đầu khơng mơ tả Đồng thời nêu nên tính chất vấn đề đặt Như chất ta sử dụng cơng cụ để mơ hình hố hệ thống thành module, luồng liệu vào ra, u cầu tín hiệu hay liệu, thơng tin trao đổi module, Sao cho toàn quy trình làm việc hệ thống đọc thông qua đặc tả Ở ta không quan tâm đến công nghệ hệ thống, mà quan tâm đến chức năng, nhiệm vụ tính chất mà hệ thống phải có Đặc tả tiến hành nhiều giai đoạn, nhiều lần tiến trình phát triển hệ thống như: • Đặc tả yêu cầu (requirement specification): Nhằm mô tả đầy đủ chi tiết thống người sử dụng tương lai người thiết kế hệ thống Đây thông tin sở để người thiết kế thiết hệ thống mình, nhiệm vụ người thiết kế pahỉ thiết kế đầy đủ hoàn thiện theo yêu cầu thống nhất, người sử dụng tương lại phép đỏi hỏi, giám sát việc thực thi yêu cầu phạm vi thoả thuận • Đặc tả kiến trúc hệ thống (system architect specification): Nhằm mô tả thống người thiết kế người cài đặt Các đặt tả nhằm chức năng, tính chất nhiệm vụ cho thành phần hệ thống chuẩn bị cài đặt Việc xác định yêu cầu từ chuyển thành thiết kế đặc tả ởkhâu đặc tả yêu cầu, khâu người cài đặt quan tầm đến thiết kế buộc thống với người thiết kế • Đặc tả Module (module specification): Mơ tả thống người lập trình cài đặt module người lập trình sử dụng module Quá trình cài đặt hệ thống phân thành nhiều module cài đặt cách song song, hay kế thừa từ module có sẵn hay module đặt hàng, người cài đặt người sử dụng module cần đặc tả chi tiết chức năng, nhiệm vụ đặc biệt giao tiếp hàm, để cho ghép nối tương thích hiệu module vào hệ thống 2.3.2 Tại cần đặc tả Việc đặc tả cần thiết trước xây dựng hệ thống lĩnh vực bời vì: • Đặc tả mang tính hợp đồng: Mô tả đầy đủ chi tiết thống ngườisử dụng người phát triển, pháp lý khoa học để người phát triển thiết kế, cịn người sử dụng giám sát kiểm định • Giúp sản phẩm hợp thức hoá: Sản phẩm phát triển theo yêu cầu thoả thuận, sản phẩm đương nhiên đặt yêu cầu với người sử dụng Bài giảng lập trình nhúng 14 ... Cấu trúc dữu liệu, liệu chia sẻ Sơ đồ nguyên lý mạch, chi tiết đầu vào/ra, loại tín hiệu hay giao thức giao tiếp Thông số linh kiện chọn thay Các tham số vào/ra cho hệ thống Lựa chọn thiết bị, công... chuyền sản xuất Kiến trúc hệ thống điều khiển trước tập trung xử lý máy tính đầu đo, cấu chấp hành, giao diện với người vận hành thơng minh hóa có nhiều chức xử lý chỗ khả nối mạng nhanh tạo thành... tính tốn lớn, khả kết nối tồn cầu, khả phối hợp với cảm biến cấu chấp hành vi điện sinh học, khả giao diện khơng qua bàn phím tạo tiền đề sở cho bùng nổ thiết bị vật dụng thông minh xung quanh

Ngày đăng: 02/12/2022, 23:58

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Một số ví dụ về các thống nhúng thơng dụng - giao trinh lap trinh nhung 0082
Hình 1.1 Một số ví dụ về các thống nhúng thơng dụng (Trang 8)
Sơ đồ khối quy trình kế top-down ở hình 2.1 - giao trinh lap trinh nhung 0082
Sơ đồ kh ối quy trình kế top-down ở hình 2.1 (Trang 14)
- Trước tiên ta phải xây dựng một sơ đồ mô hình tổng qt của tồn hệ thống. -  Sau đó phân tách thành các module hay các hệ thống con - giao trinh lap trinh nhung 0082
r ước tiên ta phải xây dựng một sơ đồ mô hình tổng qt của tồn hệ thống. - Sau đó phân tách thành các module hay các hệ thống con (Trang 16)
Hình 2.3 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ơ  - giao trinh lap trinh nhung 0082
Hình 2.3 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ơ (Trang 17)
Hình 2.4 Sơ đồ khối quy trình Bottom-Up - giao trinh lap trinh nhung 0082
Hình 2.4 Sơ đồ khối quy trình Bottom-Up (Trang 19)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN