Hệ Thống Nhúng - ĐH Kỹ thuật công nghệ pot - Pdf 12

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.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.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 93Bà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


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

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

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ày do các chíp vi xử lý, các hệ nhúng
ñã thay thế. Phần mềm ñiều khiển ngày càng tinh sảo tạo nên ñộ thông minh của thiết
bị và ngày càng chiếm tỉ trọng lớn trong giá thành của thiết bị.
Điểm qua về chức năng xử lý tin ở PC và ở các thiết bị nhúng có những nét
khác biệt. Đối với PC và mạng internet chức năng xử lý ñang ñược phát triển mạnh ở
các lĩnh vực quản lý và dịch vụ như thương mại ñiện tử, ngân hàng ñiện tử, chính phủ
ñiện tử, thư viện ñiện tử, ñào tạo từ xa, báo ñiện tử các ứng dụng này thường sử
dụng máy PC ñể bàn, mạng WAN, LAN hoạt ñộng trong thế giới ảo. Còn ñối với các
hệ nhúng thì chức năng xử lý tính toán ñược ứng dụng cụ thể cho các thiết bị vật lý
(thế giới thật) như mobile phone, quần áo thông minh, các 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ơ
cấu chấp hành thông minh, các 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ò của hệ thống nhúng trong sự phát triển của lĩnh vực công nghệ cao

Các tủ rơle ñiều khiển chiếm diện tích lớn trong các phòng ñiều khiển nay ñược
co gọn trong các PLC(programble Logic Controller).
Các bàn ñiều khiển với hàng loạt các ñồng hồ chỉ báo, các phím, núm ñiều
khiển, các bộ tự ghi trên giấy cồng kềnh nay ñược thay thế bằng một vài PC.
Hệ thống cáp truyền tín hiệu analog 4-20mA, ± 10V từ các ñầu ño, cơ cấu chấp
hành về trung tâm ñiều khiển nhằng nhịt trước ñây ñã ñược thay thế bằng vài cáp ñồng
trục hoặc cáp quang truyền dữ liệu số
Ta có thể nói các hệ nhúng ñã “thay thế và chiếm phần ngày càng nhiều” trong
các phần tử, hệ thống thuộc lĩnh vực công nghệ cao “3C”.
Vào những năm 30 các hệ thống tự ñộng bằng cam chốt cơ khí thường hoạt
ñộng ñơn lẻ với một chức năng xử lý. Các hệ thống tự ñộng dùng rơle ñiện từ xuất
hiện vào những năm 40 có mức xử lý khoảng 10 chức năng. Các hệ thống tự ñộng
dùng bán dẫn hoạt ñộng theo nguyên lý tương tự (Analog) của thập kỷ 60 có mức xử
lý khoảng 30 chức năng. Vào những năm 70 các thiết bị ñiều khiển khả trình PLC ra
ñời với mức ñộ xử lý lên hàng trăm và vào những năm 80 với sự tham gia của các máy
tính ñiện tử main frame mini ñã hình thành các hệ thống ñiều khiển phân cấp với số
chức năng xử lý lên tới hàng chục vạn (105). Sang thập kỷ 90 với sự phát triển của
công nghệ phần cứng cũng như phần mềm, các hệ thống ñiều khiển phân tán ra
ñời(DCS) cho mức xử lý lên tới hàng trục triệu (107). Và sang thế kỷ 21, những hệ
thống tự ñộng có tính tự tổ chức, có tư duy hợp tác sẽ có mức xử lý lên tới hàng
tỷ(109). Tuy nhiên ñể ñạt ñược ñộ thông minh như những sinh vật sống còn cần nhiều
thời gian hơn và các hệ thống tự ñộng còn cần tích hợp trong nó nhiều công nghệ cao
khác như công nghệ cảm biến, công nghệ vật liệu mới, công nghệ quang và laser v.v
Đây cũng là xu thế phát triển của các hệ thống tự ñộng là ngày càng sử dụng nhiều
công nghệ mới hơn trong cấu trúc và hoạt ñộng của mình.
Trong ñiều khiển quá trình công nghệ, việc áp dụng các hệ nhúng ñã tạo ra khả
năng tự ñộng hóa toàn bộ dây chuyền sản xuất. Kiến trúc hệ thống ñiều khiển trước kia
tập trung về xử lý tại một máy tính thì nay các ñầu ño, cơ cấu chấp hành, giao diện với
người vận hành ñều ñược thông minh hóa có nhiều chức năng xử lý tại chỗ và khả
năng 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ế ñộ

(HW) rồi sau ñó các bước thiết kế chi tiết ñược tiến hành một cách ñộc lập ở hai khối.
Hiện nay ña số các 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 hiện nay sử dụng ñồng thời nhiều công nghệ như vi xử
lý, DSP, mạng và các chuẩn phối ghép, protocol, do vậy xu thế thiết kế các hệ nhúng
hiện nay ñòi hỏi có khả năng thay ñổi mềm dẻo hơn trong quá trình thiết kế 2 phần
HW và SW. Để có ñược thiết kế cuối cùng tối ưu, quá trình thiết kế SW và HW phải
phối hợp với nhau chặt chẽ và có thể thay ñổi sau mỗi lần thử chức năng hoạt ñộng
tổng hợp. Thiết kế các hệ nhúng ñòi hỏi kiến thức ña ngành về ñiện tử, xử lý tín hiệu,
vi xử lý, thuật ñiều khiển và lập trình thời gian thực.
Phần mềm trong các hệ 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, hoạt ñộng tin cậy ổn ñịnh hơn, có khả năng hội
thoại cao, có khả năng kết nối mạng, có 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.
Và 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 ) ñể tạo nên các hệ thống tự tiếp nhận năng lượng
trong quá trình họat ñộ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
10

Tuy nhiên hệ thống nhúng hiện nay còn phải ñối mặt với nhiều thách. Độ phức
tạp của hệ thống tăng cao do nó kết hợp nhiều lĩnh vực ña ngành, kết hợp phần cứng -
mềm, trong khi các phương pháp thiết kế và kiểm tra chưa chín muồi. Khoảng cách
giữa lý thuyết và thực hành lớn và còn thiếu các phương pháp và lý thuyết hoàn chỉnh
cho khảo sát phân tích toàn cục của 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ác công nghệ hỗ trợ khác. Mặt
khác các hệ nhúng còn nhiều vấn ñề cần giải quyết với ñộ tin cậy và tính mở của 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

cao “3C”.

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
11

1.6. Các hệ ñiều hành nhúng và 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 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 Embedded linux, VxWorks, WinCE, Lynyos,
BSD, Green Hills, QNX và DOS, Embeddde linux hiện ñang phát triển mạnh. Năm
2001 hệ ñiều hành này chiếm 12% thị phần các hệ ñiều hành nhúng thì năm 2002
chiếm 27% và chiếm vị trí số 1. Hiện nay 40% các nhà thiết kế các hệ nhúng cân nhắc
ñầu tiên sử dụng Embedded linux cho các ứng dụng mới của mình và sau ñó mới ñến
các hệ ñiều hành nhúng truyền thống như VxWorks, WinCE. Các ñối thủ cạnh tranh
của Embedded linux hiện nay là các hệ ñiều hành nhúng tự tạo và windows CE. Sở dĩ
Embedded linux có sự phát triển vượt bậc là do có sức hấp dẫn ñối với các ứng dụng
giá thành thấp và ñòi hỏi thời gian ñưa sản phẩm ra thị trường nhanh. Mặt khác Linux
là phần mềm mã nguồn mở nên bất kỳ ai cũng có thể hiểu và thay ñổi theo ý mình.
Linux cũng là một hệ ñiều hành có cấu trúc module và chiếm ít bộ nhớ trong khi
windows không có các ñặc tính ưu việt này. Do thị trường của các sản phẩm nhúng
tăng mạnh lên các nhà sản xuất ngày càng sử dụng các hệ ñiều hành nhúng ñể ñảm bảo
sản phẩm có sức cạnh tranh và Embedded linux ñang là sản phẩm hệ ñiều hành nhúng
có uy tín chiếm vị trí số 1 trong những năm tới.
1.6.2. Phần mềm nhúng
Phần mềm nhúng là phần mềm tạo nên phần hồn, phần trí tuệ của các sản phẩm
nhúng. Phần mềm nhúng ngày càng có tỉ lệ cao trong giá trị của các sản phẩm nhúng.
Hiện nay phần lớn các phần mềm nhúng nằm trong các sản phẩm truyền thông và các
sản phẩm ñiện tử gia dụng (consumer electronics) tiếp ñến là trong các sản phẩm ô tô,
phương tiện vận chuyển, máy móc thiết bị y tế, các thiết bị năng lượng các thiết bị

trước ñó ở các ứng dụng khác, và ñã ñược kiểm ñịnh.
Trong thực tế chúng ta sẽ thấy, bản chất hay mấu chốt của quy trình là vấn ñề
tìm hiểu và xác ñịnh bài toán, làm sao ñể xác ñịnh ñược chính xác và ñầy ñủ nhất các
yêu cầu cũng các rằng buộc mà hệ thống phải ñạt ñược.
Sơ ñồ khối quy trình kế top-down ở hình 2
2.1.1. Pha phân tích
Pha này là pha quan trọng nhất quyết ñịnh hệ thống có ñạt yêu cầu hay không.
Một hệ thống nhúng cụ thể phải ñược ñặt vào (nhúng vào) một hệ thống lớn cụ thể. Vì
thế ta cần phải biết có những yêu cầu nào cho nó, môi trường hay ñiều kiện làm việc
của nó. Thông tin này gọi là các yêu cầu và các ñiều kiện rằng buộc cho hệ thống, nó
giúp cụ thể hoá ñược việc chọn giải pháp công nghệ và thiết bị cho các kỹ sư thiết kế ở
pha sau.
- Các yêu cầu: Các thông tin chi tiết về nhiệm vụ mà hệ thống phải giải quyết
ñược, các tham số ñầu vào ñầu ra, các giới hạn trong hệ thống cụ thể,
- Các rằng buộc: Điều kiện làm việc và các hạn chế như thời tiết, ñộ ẩm, ñộ
nhiễu, ñộ chính 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 bài toán thiết kế hệ thống ñiều khiển cho 1 cửa tự ñộng
Giả sử qua quá trình khảo sát thực tế và yêu cầu của bên khác hàng ta phải xác ñịnh
ñược các thông số tối thiểu sau:
a) Yêu cầu:
1) Hệ thống áp dụng cho 1 cửa hai chiều (vào/ra)
2) Cửa cao 2,5m rộng 3m
3) Có người trong phạm vi 2m trước và sau cửa là cửa phải mở
4) Thời gian mở và ñóng cửa 3s 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
13


Xây dựng hệ thống
(Impl
eme
ntation)

Các yêu cầu và ñiều kiện
rằng buộc cho hệ thống mới
Các yêu cầu và các ñiều kiện rằng buộc
ñã ñược xác ñịnh cụ thể
Sơ ñồ khối và các biểu ñồ luồng dữ liệu
- Các cấu trúc dữ liệu
- Các giao tiếp vào ra
- Biểu ñồ quan hệ giữa
các khối chức năng
- Phần cứng
- Phần mềm
Đạt yêu cầu
Không Đạt
yêu cầ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
14

Trong các bài toán cụ thể, với các hệ thống mẹ cụ thể, mỗi hệ thống nhúng sẽ có
các yêu cầu khác nhau. Tuy nhiên vẫn có những tiêu chuẩn và yêu cầu chung mà hầu
hết các hệ thống phải tính ñến như:
- Tính ñến chi phí bảo trì ñịnh kỳ
- Kích thước và trọng lượng
- Khả năng thực thi: Thời gian ñáp ứng, ñộ chính xác, ñộ phân giải,
- Nguồn nuôi

kế phải ñưa ra các bản thiết kế như:
1. Sơ ñồ khối, sơ ñồ thuật toán.
2. Cấu trúc dữu liệu, dữ liệu chia sẻ.
3. Sơ ñồ nguyên lý mạch, chi tiết về các ñầu vào/ra, loại tín hiệu hay giao thức
giao tiếp.
4. Thông số linh kiện ñược chọn hoặc có thể thay thế.
5. Các tham số vào/ra cho hệ thống.
6. Lựa chọn thiết bị, công cụ phát triển hệ thống, các tài nguyên sẽ sử dụng.
7.
• Xây dựng sơ ñồ quan hệ giữa các module và các hàm trong hệ thống (call graph),
sơ ñồ này mô tả cách thức tương tác giữa phần cứng và phần mềm trong hệ thố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
16Ví dụ: Sơ ñồ Call graph của hệ thống ñiều khiển ñộng cơ

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ơ
Để phát hiện và hạn chế tối ña các lỗi mà hệ thống sẽ gặp phải sau khi ñược xây
dựng, ta có thể mô hình hóa các thành phần hoặc toàn bộ hệ thống nếu có thể, nhằm
thử nghiệm hoạt ñộng của hệ thống với các ñầu vào và tình huống giả lập, ñồng thời
thử nghiệm tính thân thiện của giao diện người dùng.
2.1.4. Pha xây dựng hệ thống
Từ các bản thiết kế, bước này tiến hành xây dựng hoàn thiện hệ thống trên cả
phân mềm và phần cứng. Trong suốt quá trình xây dựng phải tuân thủ theo các bước
và sơ ñồ công nghệ từ các bản thiết kế kỹ thuật. Đặc biệt là các tham số vào ra giữa
các hàm, ñiều này ảnh hưởng ñến việc tích hợp các module giữa các nhóm làm việc
khác nhau hay sự kế thừa từ các module khác. Các linh kiện và thiết bị sử dụng phải

phân tích bao gồm các thông tin mới thu thập ñược từ bước này.
2.2. Quy trình Bottom-Up
Quy trình Bottom-Up trong thực tế thường áp dụng trong các bài toán chưa lựa
chọn hay chưa tìm ra ñược giải pháp công nghệ. Mấu chốt của quy trình tập trung chủ
yêu và quá trình thử nghiệm với hệ thống và tín hiệu thực, từ ñó chọn ra giải pháp
công nghệ và linh kiện phù hợp nhất cho bài toán. Sơ ñồ tổng quát của quy trình như
hình 5.
Quy trình Bottom-Up bắt ñầu từ các ý tưởng ñơn lẻ, sau ñó xây dựng luôn thiết
kế kỹ thuật. Như ta thấy quy trình hoàn toàn ngược so với Top-Down. Quy trình này
thường áp dụng có các bài toán chưa lắm chắc về lời giải, người thiết kế mới chỉ có ý
tưởng về một vấn ñề nào ñó và muốn tìm một giải pháp hoặc giải pháp tốt nhất ñể giải
quyết vấn ñề. Việc giải quyết các ý tưởng có thể 1 hoặc nhiều ñể có một sản phẩm
hoàn chỉnh. Ở quy trình này ta cần chú ý có 2 khâu test nhằm kiểm ñịnh chính xác lại
các thiết kế kỹ thuật và thiết kế nguyên lý trước khi lựa chọn 1 giải pháp tối ứu nhất.
Chính từ việc thí nghiệm và thiết kế thử hệ thống trước, sau ñó mới có thể phân
tích nguyên lý ñể chọn các ñặc tính mới, rằng buộc mới cho một hệ thống mới. Với
quy trình này khâu thiết kế kỹ thuật và Test sau khi xây dựng hệ thống là quan trọng
nhất. Vì với Top-Down việc xây dựng một sản phẩm là theo nhu cầu của người dùng
và môi trường ñặt hệ thống. Còn với Bottom-Up có thể người ta còn chưa tìm ra cách
ñể thiết kế ra sản phẩm ñó, hoặc sản phẩm ñó chưa hề có trên thị trường, khi ñó cả
người dùng và người thiết kế chưa thể có thông tin gì về các yêu cầu cho sản phẩm hay
các ñặt tính kỹ thuật của sản phẩm, vì vậy khâu thiết kế kỹ thuật và Test sau thực thi
các kỹ sư phải tìm ra các ñặt tính ñó, nhằm xác ñịnh ñược các ưu việt cũng như các
hạn chế của sản phẩm mới.
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 một hệ thống, module hay sản phẩm cần phải
làm gì, nhưng không mô tả nó phải làm thế nào. Nghĩa là ñặc tả chỉ tập trung vào việc

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.3.2. Tại sao cần ñặc tả
Việc ñặc tả là rất cần thiết trước khi xây dựng một hệ thống bất kỳ trong lĩnh
vực nào bời vì: 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
19Hình 5: Sơ ñồ khối quy trình Bottom-Up• Đặc tả mang tính hợp ñồng: Mô tả ñầy ñủ và chi tiết sự thống nhất giữa người
sử dụng và người phát triển, chính vì thế ñây là cơ pháp lý và khoa học ñể
người phát triển thiết kế, còn người sử dụng thì giám sát và kiểm ñịnh.
• Giúp sản phẩm hợp thức hoá: Sản phẩm ñược phát triển theo các yêu cầu ñã
thoả thuận, vì thế sản phẩm ñương nhiên sẽ ñặt yêu cầu với người sử dụng.
• Đặc tả là công cụ ñể trao ñổi: Ngôn ngữ ñặc tả là một ngôn ngử ñược quy ñịnh
chung và thống nhất vì thế các ñặc tả có thể ñược trao ñổi giữa các người thiết
kế với nhau. Đồng thời thông qua ñó người sử dụng cũng có thể có cái nhìn
tổng quát về sản phẩm.
• Tái sử dụng: Một ñặc tả có thể ñược lưu giữ ñể phát triển tiếp hoặc ñược bổ
sung nâng cấp về sau.
2.3.3. Phân loại các kỹ thuật ñặc tả
a) Đặc tả phi hình thức: Sử dụng 1 trong các công cụ sau ñể mô tả hệ thống
Phân tích vấn ñề

(Analyze)
Thiết kế nguyên lý
(High level design)

Kiểm tra
(Test)

Xây dựng hệ thống

(Implementation)
Xây dựng hệ thống

(Implementation)
Đạt yêu cầu
Đạt yêu cầu
Đạt yêu cầu
Phần cứng
Phần mềm
Phần cứng
Phần mềm
Phần cứng
Phần mềm
Thiết kế kỹ thuật
(Engineering design)

Thiết kế kỹ thuật
(Engineering design)

Không Đạt
yêu cầu
Không Đạt
yêu cầu
Ý tưởng
Ý tưởng

• Thiếu sự chính xác và ñầy ñủ do
hạn chế của ngôn ngữ và mang tính
chủ quan.
• Nhập nhằng.

2.3.4. Ứng dụng và ưu việt khỉ sử dụng ñặc tả
a) Ứng dụng
• Đặc tả thường sử dụng trong giai ñoàn ñầu của tiến trình phát triển sản phẩm
• Nhằm hạn chế lỗi trong quá trình phát triển phần mềm, thông qua việc ñặc tả
chi tiết và ñầy ñủ các chức năng, nhiệm vụ và tính chất cho tất cả các thành
phần của sản phẩm
• Kỹ thuật ñặc tả thường dùng khi phát triển các hệ thống
o Hệ thống ñiều khiển
o Hệ thống nhúng
o Hệ thống thời gian thực
b) Ưu việt khi sử dụng ñặc tả
Ưu ñiểm khi sử dụng ñặc tả ñược thể hiện rõ nhất qua qua chi phí phát triển hệ
thống, ta có thể thấy rõ qua biểu ñồ sau:

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
21Hì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

Qua biểu ñồ ta dễ dành nhận ra tổng chi phí khi sử dụng ñặc tả giảm ñi rất
nhiều, ñiều nay sẽ là cho giá thành sản phẩm ñạt ñược tính cạnh tranh.
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)”
Trong thực tế có một số phương pháp ñặc tả như:

phương pháp thể hiện lời giải bài toán nên cũng phải tuân theo một số quy tắc nhất
ñịnh. Ðể có thể truyền ñạt thuật toán cho người khác hay chuyển thuật toán thành
chương trình máy tính, ta phải có phương pháp biểu diễn thuật toán. Có 3 phương
pháp biểu diễn thuật toán :
1. Dùng ngôn ngữ tự nhiên.
2. Dùng lưu ñồ-sơ ñồ khối (flowchart).
3. Dùng mã giả (pseudocode)
2.4.1. Ngôn ngữ tự nhiên
Trong cách biểu diễn thuật toán theo ngôn ngữ tự nhiên, người ta sử dụng ngôn
ngữ thường ngày ñể liệt kê các bước của thuật toán . Phương pháp biểu diễn này
không yêu cầu người viết thuật toán cũng như người ñọc thuật toán phải nắm các quy
tắc. Tuy vậy, cách biểu diễn này thường dài dòng, không thể hiện rõ cấu trúc của thuật
toán, ñôi lúc gây hiểu lầm hoặc khó hiểu cho người ñọc. Gần như không có một quy
tắc cố ñịnh nào trong việc thể hiện thuật toán bằng ngôn ngữ tự nhiên. Tuy vậy, ñể dễ
ñọc, ta nên viết các bước con lùi vào bên phải và ñánh số bước theo quy tắc phân cấp
như 1, 1.1, 1.1.1
Ví dụ: Biểu diễn thuật toán giải phương trình bậc hai dùng ngôn ngữ tự nhiên
(không xét ñến nghiệm phức)

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
23

Đầu vào: Phương trình ax
2
+ bx + c =0
Đầu ra: Nghiệm
Bước 1: Xác ñịnh hệ số a,b,c
1.1. Nếu a≠0 chuyển ñến bước 2
1.2. Nếu a=0 không thực hiện vì la phương trình bậc nhất
Bước 2: Tính ∆ = b


c) Ðường ñi (route)
Khi dùng ngôn ngữ tự nhiên, ta mặc ñịnh hiểu rằng quá trình thực hiện sẽ lần
lượt ñi từ bước trước ñến bước sau (trừ khi có yêu cầu nhảy sang bước khác). Trong
ngôn ngữ lưu ñồ, do thể hiện các bước bằng hình vẽ và có thể ñặt các hình vẽ này ở vị
trí bất kỳ nên ta phải có phương pháp ñể thể hiện trình tự thực hiện các thao tác.

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
24

Hai bước kế tiếp nhau ñược nối bằng một cung, trên cung có mũi tên ñể chỉ
hướng thực hiện. Chẳng hạn trong hình dưới, trình tự thực hiện sẽ là B1, B2, B3.
Từ thao tác chọn lựa có thể có ñến hai hướng ñi, một hướng ứng với ñiều kiện
thỏa và một hướng ứng với ñiều kiện không thỏa. Do vậy, ta dùng hai cung xuất phát
từ các ñỉnh hình thoi, trên mỗi cung có ký hiệu Ð/Ðúng/Y/Yes ñể chỉ hướng ñi ứng
với ñiều kiện thỏa và ký hiệu S/Sai/N/No ñể chỉ hướng ñi ứng với ñiều kiện không
thỏa. 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
25d) Ðiểm cuối (terminator)
Ðiểm cuối là ñiểm khởi ñầu và kết thúc của thuật toán, ñược biểu diễn bằng
hình ovan, bên trong có ghi chữ bắt
ñầu/start/begin hoặc kết thúc/end. Ðiểm


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status