NGUYỄN ĐỨC MINH Trang 2 LỜI CAM ĐOANTôi tên: Nguyễn Khắc ThànhLớp: KTTT-2011B Đơn vị: Viện Điện tử Viễn thông Trường Đại học Bách khoa Hà Nội - – Đề tài luận văn của tôi là: Nghiên cứu
Trang 1TRƯỜNG ĐẠ I H C BÁCH KHOA HÀ N I Ọ Ộ
Chuyên ngành: K thu t truy ỹ ậ ề n thông
LU ẬN VĂN THẠC SĨ KỸ THU T Ậ
K THU T TRUY N THÔNG Ỹ Ậ Ề
NGƯỜI HƯỚ NG D N KHOA H C Ẫ Ọ
TS NGUY ỄN ĐỨ C MINH
HÀ N I – 2014 Ộ
Trang 2LỜI CAM ĐOAN
sử dụng giao thức LIN (Local Interconnect Network)
Tôi xin cam đoan nội dung của luận văn hoàn toàn do tôi tự tìm hiểu
và nghiên cứu, không có sự sao chép bất cứ tài liệu nào, mọi tài liệu sử dụng
dựa trên cơ sở tham khảo để tìm hiểu thêm vấn đề
Nếu phát hiện ra bất cứ sự sao chép nào Tôi xin hoàn toàn chịu trách
nhiệm trước hội đồng kỷ luật của Nhà trường.
Ký tên
Nguyễn Khắc Thành
Trang 3L I C Ờ ẢM ƠN
và hoàn thành luân văn
Hà N ội, ngày 30 tháng 3 năm 2014 Nguyễ n Kh ắ c Thành
Sinh viên lớ p KTTT2 – K2011B Viện Điện Tử - Vi ễ n Thông
Trường Đạ ọ i h c Bách Khoa Hà N i ộ
Trang 4thuật đồng kiểm tra 41.1.2.1 Ki m tra ph n c ng: 5ể ầ ứ1.1.2.2 Ki m tra ph n m m 14ể ầ ề1.1.2.3 Hardware/Software Co-Verification 161.2 LIN Protocol và thực hiệ ủn c a nó 221.2.1 T ng quan v ổ ềLIN Protocol 231.2.2 Đặc tả giao th c 24ứ1.2.2.1 Khung trong giao thức LIN 241.2.2.2 C u trúc khung 24ấ1.2.2.3 Khe khung 271.2.2.4 L p l ch khung và truy n 27ậ ị ề1.2.3 Tri n khai giao th c LIN 29ể ứ
State Machine) 311.3 Ch và ủ đề đề cương của lu n ậ văn 34
CHƯƠNG 2 : KI M TRA HÌNH TH C C A MÔ HÌNH TRI N KHAI LIN Ể Ứ Ủ Ể
C TH 37 Ụ Ể
2.1 Mô hình c th c a Node ch LIN 38ụ ể ủ ủ
Trang 52.1.2 Thành ph n ph n cầ ầ ứng của node ch LIN 41ủ2.1.2.1 Aquarius 412.2 Ki m th hình thể ử ức của mô hình thực tế 472.2.1 Phân tách chương trình 47
chủ LIN 612.3 Khuôn kh ki m tra mô hình c c a Node ch LIN 69ổ ể ụthể ủ ủ
CHƯƠNG 3 : KI M TRA HÌNH TH C C A TH C HI N LIN D A TRÊN Ể Ứ Ủ Ự Ệ Ự PHƯƠNG PHÁP TRỪU TƯỢ NG ITL 73
3.1 T t p h p thu c tính từ ậ ợ ộ ới đồ ị th thu c tính 75ộ3.1.1 Đồ ị th thu c tính 76ộ3.1.2 Đồ ị th thu c tính cộ ủa node chủ LIN 853.2 T biừ ểu đồ thuộc tính đến mô hình máy hữu hạ ạn tr ng thái 883.2.1 Máy h u h n tr ng thái 88ữ ạ ạ
3.3 T ừ PFSM đến mô hình ừ ượtr u t ng 94
3.4.1 S tri n khai c a node ch LIN v i trự ể ủ ủ ớ ừu tượng d a trên ITL 95ự3.4.2 Ki m tra chính thể ức của mô hình tr u t ng 97ừ ượ
nh ng thu c tính dài, chung 100ữ ộ
CHƯƠNG 4 : K T QU VÀ PHÂN TÍCH K T QU THÍ NGHI M 102 Ế Ả Ế Ả Ệ
trừu tượng hóa d a trên ITL 108ự
CHƯƠNG 5 : K T LU N VÀ CÁC NGHIÊN C U SAU NÀY 114 Ế Ậ Ứ
5.1 K t lu n 114ế ậ5.2 So sánh v i các nghiên cớ ứu trước đây 1155.3 Các nghiên c u ti p theo 116ứ ế
TÀI LI U THAM KH O Ệ Ả
Trang 6DANH M C B NG Ụ Ả
B ng 1.1: Các k thuả ỹ ật kiểm tra cho HW, SW, HW/SW 6
B ng 4.1 Nh ng công c trong ki m th mô hình c th c nả ữ ụ ể ử ụ ể ủa ode chủ LIN 103
B ng 4.2ả Những thu c tính c a Mô hình C c nộ ủ ụthể ủa ode chủ LIN 104
B ng 4.3ả Tập thu c tính c node ch ộ ủa ủ LIN được trừu tượng hóa dựa trên ITL 107
B ng 4.4 S biả ố ến trạng thái của mỗi mô đun 108
B ng 4.5ả Những thu c tính dài, chung 112ộ
DANH M C HÌNH V Ụ Ẽ
Hình 1.1 Lu ng thi t k h thồ ế ế ệ ống phầ ứn c ng/ph n m m 3ầ ềHình 1.2 Sơ đồ kh i h th ng Hardware/Software 4ố ệ ốHình 1.3 Ki m tra hình th c 5ể ứ
Hình 1.5: Counterexample Guided Abstraction Refinement Framework 14
Hình 1.7: Mô hình đồng mô ph ng không ng nh t 19ỏ đồ ấHình 1.8: M t c m LIN v i 1 node master và 2 node slave 23ộ ụ ớHình 1.9: Ki n trúc layer cế ủa một node LIN 24
Hình 1.11: C u trúc khung 25ấHình.1.12 Cấu trúc c a một trườủ ng byte 25Hình 1.13: Trường ngắt đồng b 26ộHình 1.14: Trường đồng b 26ộHình.1.15: ID được b o v 27ả ệHình 1.16: Tám byte d li u trong m t khung 27ữ ệ ộHình 1.17 L ch trình LIN và khe khung 28ịHình 1.18: M t ví d v chuy n giao khung 28ộ ụ ề ểHình 1.19: Các l p trong tri n khai phớ ể ần mềm c a LIN 30ủ
Trang 7Hình 1.20 Máy tr ng thái h u h n cạ ữ ạ ủa trình điều khi n thi t b LIN 33ể ế ị
Hình 2.1: Sơ đồ kh i c a node ch LIN 40ố ủ ủ
Hình 2.2: Sơ đồ RTL c a Aquarius 41ủ
Hình 2.3: Sơ đồ kh i c a core CPU Aquarius 42ố ủ
Hình 2.3 Sơ đồ RTL c a b nh 43ủ ộ ớ
Hình 2.5: Ánh x ạ địa chỉ ủ c a RAM và ROM trên Aquarius 45
Hình 2.6: Sơ đồ RTL c a UART 45ủ Hình 2.7 Sơ đồ RTL c a IRQCTL 46ủ Hình 2.8: Quá trình t ừ chương trình C đến chương trình disassembly 49
Hình 2.9: Chương trình C 52
Hình 2.10: Chương trình assembly của chương trình C 52
Hình 2.11: CFG của chương trình tách r i cờ ủa chương trình C đơn giản 55
Hình 2.12: Tính ch t gi 71 ấ ả Hình 2.13: Tính ch t th t 58ấ ậ Hình 2.14: M t ph n c a hàm chính cộ ầ ủ ủa trình điều khiển thiế ịt b LIN 61
Hình 2.15: Chương trình tách rờ ủa LIN trình điềi c u khi n thi t b 61ể ế ị Hình 2.16 CFG của node chủ LIN được hình thành d a trên CFG 63ự Hình 2.17: Một mẫu tính ch t c a node ch N 66ấ ủ ủLI Hình 2.18: Chia m t chuyộ ển đổi dài thành 4 chuyển đổi ng n 68ắ Hình 2.19: Khuôn khổ đồ ng ki m tra hình th c mô hình c th c a node ch LIN 71ể ứ ụ ể ủ ủ Hình 3.1 Thuộc tính start_new_frame 78
Hình 3.2.B ph n c a CEG cho thu c tính khung mộ ậ ủ ộ ới khởi động 79
Hình 3.3 Macro ITL cpu_at_Label26_In _main_sh 80
Hình 3.4 Một đỉnh trong CEG ánh x hai node trên biạ ểu đồ thu c tính 81ộ Hình 3.5.Thu c tính reset c a node ch LIN 82ộ ủ ủ Hình 3.6.Xây dựng đồ ị th thu c tính t t p h p thu c tính 84ộ ừ ậ ợ ộ Hình 3.7 th thu c tính cĐồ ị ộ ủa node chủ LIN 87
Hình 3.8 T th thuừ đồ ị ộc tính đến mô FSM thu c tính 89ộ
Hình 3.9 PFSM 93ư
Trang 8Hình 3.10 Sơ đồ kh i c a mô hình trố ủ ừu tượng 94
Hình 3.11 Sơ đồRTL của mô hình trừu tượng 95
Hình 3.12 Node ch LIN qua mô hình trủ ừu tượng 96
Hình 3.13 M t thu c tính c th n m t thu c tính trộ ộ ụ ể đế ộ ộ ừu tượng 99
nh ng thu c tính dài, chung 101ữ ộ
c a thu c tính 105ủ ộ Hình 4.2 M t nhóm LIN 109ộ Hình 4.3 M t ví d c a thu c tính dài, chung trong node ch LIN 110ộ ụ ủ ộ ủ Hình 4.4 M u thu c tính cho thu c tính chung, dài 111ẫ ộ ộ
Trang 9L I M Ờ Ở ĐẦ U
đó, đồng ki m th hình th c h th ng ph n c ng/ph n m m th c hi n m t giao th c ể ử ứ ệ ố ầ ứ ầ ề ự ệ ộ ứ
ph n c ng/ph n m m ầ ứ ầ ề
Để vượt qua kho ng cách gi a ki m tra ph n c ng và ph n m m, m t ả ữ ể ầ ứ ầ ề ộ
giản hóa nút chính LIN mới Phương pháp trừu tượng của chúng tôi đã được áp
dụng thành công để ể ki m th m t tính ch t toàn c c i v i ử ộ ấ ụ đố ớ các node chủ LIN m i ớ
Trang 10CHƯƠNG 1: GIỚ I THI U T NG QUAN Ệ Ổ
1.1 Đồ ng kiểm tra hình thức hệ ống phần cứng/phần mề th m
1.1.1 T ổ ng quan về ệ ống phần cứng/phần mề h th m
1.1.1.1 Lý thuy ế t về ệ thống phần cứ h ng/ph ầ n mề m
d ng ụ được thi t k c hi n m t ho c m t vài ế ế để thự ệ ộ ặ ộ chức năng chuyên dụng
m m Mề ột hệ ống th hoàn toàn th c hi n trong ph n c ng ự ệ ầ ứ có tốc độ hi u qu và ệ ả năng
m m thu n túy ề ầ
HW / SW đã tăng đều k t khi ể ừ xuất hiện, c v phả ề ạm vi ủa các ứng dụ c ng và tính
Trang 11lượng và độ tin c y ậ cao chi phí, và nhu c u b o trì th p, và thầ ả ấ ời gian đưa ra th ịtrường ng n Trong lu n ắ ậ văn này, h th ng ệ ố HW / SW a chúng tôi là m t h th ng củ ộ ệ ố
điệ ửn t ô tô
1.1.1.2 Lu ồ ng thi t k h th ng HW/SW ế ế ệ ố
Để ể hi u rõ h th ng HW / ệ ố SW hơn, luồng thi t k ế ế được gi i thiớ ệu đầ tiên trướu c khi
được gọi là đồng thi t k h th ng ph n c ng/ph n m m, là m t nhi m v thách ế ế ệ ố ầ ứ ầ ề ộ ệ ụ
• Mô hình hệ ố th ng: đặc điểm k thu t và các đi u ki n ràng bu c h th ng ỹ ậ ề ệ ộ ệ ốđược phân tích để cung c p m t ấ ộ mô hình p h th ng c a thi t k H th ng t i c p cấ ệ ố ủ ế ế ệ ố ạ ấ
được s dử ụng để mô hình hình thức h th ng ệ ố Đối v i mớ ục đích mô phỏng,
vào một kiến trúc để đạt được mô hình m c thứ ực hiệ trong đón, quy t đế ịnh nh ng gìữcông việc s ẽ được th c hiự ện bởi ph n cầ ứng và nh ng gì công viữ ệc s ẽ được thực hi n ệ
đó SW sẽ được n p vào thi t b l p trình đư c gi ng như các t p tin ạ ế ị ậ ợ ố ậ đối tượng Ngôn ng lữ ập trình điể n hình là C hoặc C++
Trang 12hình bus, giao thức bus và driver thiết bị Driver thiết bị để ẩ các thành phầ HW n n
System specification and
constraints System modeling System level design
HW model
HW/SW partitioning Architecture mapping
SW model Transactional level
SW source
SW Compilation
Behavioral Synthesis and IP resuse
Object code
RT-level design Logic Synthesis Gate-level design
Hardware/Software System Hình 1.1 Lu ng thi ồ ế t kế ệ thố h ng ph n c ầ ứ ng/ph n m m ầ ề
Trang 13Hình 1.2 Sơ đồ kh i h th ng ố ệ ố Hardware/Software
liên kế các chương trìnht trong ngôn ngữ ậ l p trình b c ậ cao, ch ng hẳ ạ nhưn C, C + +
và ph n c ngầ ứ , giúp ầ ph n m m truy c p ph n c ng ề ậ ầ ứ
h p v i giao th c bus nhợ ớ ứ ất định
1.1.2 T ổ ng quan về các kỹ thuật kiểm tra hardware, software và các kỹ thuật
Trang 14của nó Một mô hình hình th c ứ là mộ mô hình ừu tượng củt tr a việc thực thi Các
xác minh hình th c th o lu n trong ph n ứ ả ậ ầ sau đây ẽ đượ s c mô t t ba ph n này ả ừ ầ
kiểm tra đặc tính khoảng cách, kiểm tra đặc tính
Abstraction Refinement Framework
Trang 15Hardware/
HW/SW miêu t ảtrong các ngôn
?
1.1.2.1.1 Simulation và Emulation
FPGA
n u chúng ta c n t o ra m t nhóm th x p x toàn di n ho c t i cho chế ầ ạ ộ ử ấ ỉ ệ ặ ồ ất lượng thiết
Trang 16và emulation được phân loại vào nhóm các phương pháp không chính th c Tuy ứnhiên, gi l p b sung t t cho ki m tra hình th c vì nó vả ậ ổ ố ể ứ ẫn có tác dụng phát hiện lỗ i.
1.1.2.1.2 Ki m tra mô hình và ki ể ểm tra mô hình tượng trưng
dụng các phương pháp chứng minh toán học chính xác Kiểm nghiệm mô hình
đượ ử ục s d ng ph bi n nhổ ế ất trong thương mại
Ví dụ ộ m t vài thi t k logic tu n t M t hế ế ầ ự ộ ệ ố th ng tu n tầ ự thường được mô
mô hình Kripke tăng theo cấp s ố mũ theo s tr ng thái có th c a các thi t k Theo ố ạ ể ủ ế ế
trong một vài trường h p Tợ ừ đây, nó có thể ẫ v n chịu ảnh hưởng từ ớ gi i hạn bộ ớ nh
có th x lý m t vài thi t k công nghi p nh ểchỉ ử ộ ế ế ệ ỏ
Trang 171.1.2.1.3 Ki m tra mô hình gi i h n (BMC) và ch ể ớ ạ ứ ng minh quy nạp.
1
1 0
T(Vj, Xj, Vj+1) là quan hệ chuyển ti p cho th y m t quá trình chuyế ấ ộ ển đổ ừi t
Trang 18Tính chất trong BMC được xây dựng trong Linear Temporal Logic (LTL) Để
để liên k t các đư ng d n b t đ u t trế ờ ẫ ắ ầ ừ ạng thái ban đầu Liên kết này được bi u ể
0
0
( , , ) ( ) j k ( ,j j, j )
p j
= −
=
kh i t o ở ạ
được tìm th y ho c k lấ ặ ần đạ đột sâu tu n t c a thi t k ho c BMC h t các ngu n tài ầ ự ủ ế ế ặ ế ồ
Trang 19Chứng minh quy nạp [9] giải quyết vấn đề không đầy đủ ủa BMC Chứ c ng
1.1.2.1.4 Một cách tiếp cận Interval Property Checking (IPC) và IPC bất biến
đầu Nó gi nh r ng mô hình tr i ra bả đị ằ ả ắt đầu v i m t s tr ng thái tùy ýớ ộ ố ạ và sau đó
t tử ạm thờ có nghĩa là "i globally và p là m" ột mệnh đề Boolean Xem xét ộ m t tính chấ điểt n hình trong đó mô tả ệ ố h th ng ởthanh ghi chuyển m c nh p đ ng h trong ứ ị ồ ồ
m t khoộ ảng ờ th i gian nhất định có độdài n
như sau:
1
1 0
Để ả gi m s ph c t p c a BMC, chúng tôi cho r ng b ki m tra tính ch t b t ự ứ ạ ủ ằ ộ ể ấ ắ
đầu ki m tra t m t s tr ng thái tùy ý ch không ph i bể ừ ộ ố ạ ứ ả ắt đầ ừ ạu t tr ng thái ban đầu,
Trang 20tức là nó ả định mô hình ải ra ắt đầu vớ ột số ạng thái tùy ýgi tr b i m tr và sau đó bắt
đầu ki m tra tính ch t ể ấ
đăng thức 1.3 b i m t b t bi n và chúng ta c n kh o sát ch m t th hiở ộ ấ ế ầ ả ỉ ộ ể ện SAT đơn
I(Vt), gọi là bất biến, bao gồ ràng buộc có thể đạt tớ cho việc thiết kế ại một m i t
không c n l p l i ầ ặ ạ cho đến khi theo trình t thi t k độsâu ự ế ế được đạt t ới
Định nghĩa 1.2 (Interval Property Checking): Interval Property Checking
1
1( , , ) ( ) j t n ( , ,j j j )
bao gi có thờ ể ễ di n ra trong thi t k Lý do cho viế ế ệc ph nh gi ủ đị ảlà: nếu bất biến là không đủ, m t s tr ng thái bộ ố ạ ắt đầu có th không th t t i Và ể ể đạ ớ các ng thái trạ
được g i là ph n ví d gi ọ ả ụ ả
Trang 21cục bộ, tuy nhiên, trong vài trường hợp đặc biệt như các tác vụ truyền thông, I(Vt) =
phương pháp ự d a trên IPC, bất bi n có th t t i ế ể đạ ớ được s d ng đ lo i b các tr ng ử ụ ể ạ ỏ ạthái không th ểtruy cập Nh ng bữ ất biế có thể đạt tớ thườ xác địn i ng nh th công bủ ởi
phân vùng c hai mả ối quan hệ chuyển ti p và không gian tr ng tháiế ạ phđể độ ức tạp tính toán được gi m m nh ả ạ Phân tích TBT tiết ki m h u h t công vi c th công t ệ ầ ế ệ ủ ẻ
nh t c a k ạ ủ ỹ sưxác minh ất ít công vi R ệc thủ công là c n thi cho vi c tìm kiầ ết ệ ế đủm liên k t có th t t i ế ể đạ ớ
năng lực c a b ki m tra IPC tiên ti n nh t bủ ộ ể ế ấ là h n ch b i tính ch t và ph c ị ạ ế ở ấ độ ứ
t p c a thiạ ủ ết kế ủ Ví dụ hành vi ổ ế ủa các hệ ố HW / SW có thể c a , ph bi n c th ng kéo
tính ch có thất ể ừ ỏ t b do tài nguyêntính toán n ch hạ ế Do đó, chúng ta nênnghĩ đến
m t mô hình trộ ừu tượng
1.1.2.1.5 Counterexample Guided Abstraction Refinement Framework (CEGAR)
tập hợp các ạng thái củ ệ ống ực tế đế tr a h th th n m t trộ ừu tượng, và nhỏ hơn, ập hợ t p
khi trừu tượng hóa chúng ta gọi là ệ thống cũ "mô hình ụ thể và ệ ống mớ, h c " h th i
Trang 22sau khi trừu tượng "mô hình trừu tượng" Thay vì sử ụ d ng h thệ ống cũ, ụ ể c th , tính chấ đượt c ki m traể trên, nhỏ hơn n a, h th ng tr u ữ ệ ố ừ tượng m i thông qua các công ớ
hình c th ụ ể Có hai ỹ k thu t chính tậ để ạo ra mô hình trừu tượng xấp xỉ ừ mô hình t
c th : ụ ể
Các kỹ thu t suy gi m cậ ả ục bộ ạ t o ra m t trộ ừu tượng ban đầu c a thi t k ủ ế ế
được xây d ng t t p h p các bi n có th nhìn th y, k t qu là m t s trự ừ ậ ợ ế ể ấ ế ả ộ ự ừu tượng
mối quan hệ ị ắm bắ ở các xác nhậ ừu tượng xác nhận tóm tắ ữ ệu bằ b n t b i n Tr t d li ng cách ch ỉ theo dõi các xác nhận nhất định trên các dữ ệ li u M i ỗ xác nhậ đượn c đại
hình trừu tượng [3] Sau đó, cáctính chât s ẽ được kiểm tra đố ới v i cácmô hình trừu
đúng dương v i mô hình c th c a thi t k ớ ụ ể ủ ế ế Điều này cho th y n u tính ch t n m ấ ế ấ ắ
Trang 23ph i ả được xử lý Các trường hợ khác là các ản ví dụ ạo rap ph t không th ể được mô
ph ng ỏ trên mô hình ụ ể Điều này có nghĩa c th là một kết quả false negative", có "
và chỉ có thể ảy ra x trong các mô hình trừu tượng Lý do false negative" " là trừu tượng x p x ấ ỉ dương Do đó, m t s h n ch c n ộ ố ạ ế ầ được b ổ sung vào mô hình tr u ừ
được g i là sàng lọ ọ Sau đó,c các tính ch t s ấ ẽ được kiểm tra đối v i mô hình tr u ớ ừtượng m i này Vòng l p này s k t thúc cho đ n khi tính ch t n m gi ho c m t l i ớ ặ ẽ ế ế ấ ắ ữ ặ ộ ỗ
(CEGAR) [2, 3, 11] (Hình 1.5)
b mà thay b i b ng ch ng ỏ ở ằ ứ được cung c p b i b gi i ấ ở ộ ả SAT
Property holds Design errors
Concrete Model
Counterexample Guided Abstraction Refinement
Verify Property on Abstract Model Abstract Model
Check Counterexamp
le on concrete model
Trang 24hiệu quả ủa mô hình ểm tra ủa hệ thố SW đã ị ạn chế ởi vấn đề bùng nổ c ki c ng b h b
li u, trệ ừu tượng củ chương trình ụ thể ở nên cần thiế trong khi áp dụ các kỹa c tr t ng
ki m tra quyể để ết định xem nó thuộc về ỗ l i sai ho c lặ ỗi hệ ố th ng thật sự Tr u từ ượng
ch a.ữ
Hình 1.6: CEGAR k ế t hợ ới trừu tượ p v ng xác nh n trong ki ậ ể m tra phầ n m m [3] ề
Ngược l i, ạ phân tích động kh o sát không gian trả ạng thái c a ph n m m ủ ầ ề
lịch trình run-time Nó tự độ thu thập thông tin ề cái ạt động trong mỗi quá ng v " ho
Trang 25trình của các đối tượng truyền thông có thể ự th c hiệ trong tương lai"n [7] T thu t ừ ậ
reduction có vẻ là k thuỹ ật hiệu quả ất để ảm kích thước củ không gian trạng nh gi a thái c a h ng phủ ệthố ần mề đồng thờm i
1.1.2.3 Hardware/Software Co -Verification
l nh "in" vệ ới máy in Máy in ắt đầ b u in và sau khi kết thúc , máy in ẽ ửi mộ in s g t
nơi mà các driver thường được đặ trình điềt, u khi n truy c p vào thi t b và thi t b ể ậ ế ị ế ị
không đảm bảo chu i ỗ các hành động không l ỗi
• Ki m tra giao ti p ể ế
Trang 26của các mạch ố ội bộ ủ máy in là mộ s n c a t tác v kiụ ểm tra tính toán, đó hiển nhiên là
s k thu t ố ỹ ậ đã được li t kê trong ệ phần trước
giao thức là rất quan trọng đặc bi t là khi thành phệ ần s hở ữu trí tuệ ( cores) tIP ừ các
được g i là hành vi m c h th ng ọ ứ ệ ố
Tóm lại, c kiả ểm tra tính toán và gia ếo ti p đư c đưa vào kiợ ểm tra h thệ ống
tra hình th c ứ
1.1.2.3.1 Các ph ương pháp không chính thứ c
cho h thệ ống HW / SW ẽ là mộ ự ựa chọn tố , rấ ễ ảnh hưởng bở sai lệch s t s l t t d i Tuy
bao gồm mô phỏng giao ti p giế ữa phần cứng và ph n mầ ềm Vì vậy, để phân biệ ớt v i
Trang 27dụng để ể ki m tra toàn bộ ệ ố HW / SW h th ng dù trước hoặc sau khi phân vùng HW /
SW
và SW bằng cách ừu tượ đi ự phân biệ ữtr ng s t gi a ph n c ng và phầ ứ ần mềm ph n ầ
ph ng ph n c ng ỏ ầ ứ điều khiể ự ện s ki n
gi m tả ốc độ mô ph ng ỏ
các ch ức năng đơn giản mà ch ra ỉ thông tin th i gian yêu c về ờ ầu c a giao ti p ủ ế Cách
Trang 28nhất và ố ộ t c đ mô phỏ nhanh hơn so vớ phương pháp tiếp cậng i n không đồng nhất
SW Description HW Description
Communication Interface
Communication Interface
Co-Simulation Bus
Simulater Simulater
lý do: tập các giá trị ự d kiến s ẽcho kết quả đầ u ra là thườ ng không có sẵn, và tập các
không gian V i ớ yêu c u ầ cao v ề ất lượch ng và độ tin cậy củ ệa h th ngố HW / SW,
1.1.2.3.2 Các phương pháp hình thứ c
đề xu t ch ng minh nh thấ để ứ hì ức s tuân th giao th c cho các kh i giao ti p trong ự ủ ứ ố ế
Trang 29xác minh hình thức c a h th ng ủ ệ ố HW / SW khác v i là ớ xác minh SoC vì một trong
dàng
• Bùng nổ ạ tr ng thái Bùng n ổ ạ tr ng thái là m t y u t quan tr ng ộ ế ố ọ chung n hạ
b ki m tra tính ch t d dàng ộ ể ấ ễ vượt quá kh ả năng ủ c a b m tra tính ch t ngày nay ộkiể ấ
• Phức tạ ớ gây ra bở các khoảng thời gian dài ủa các thuộc tính ủ ệp l n i c c a h
khi chi u dài tính chề ất n tăng Do đó, nó có thể ẫn đế d n hi u suấ ấ ủệ t th p c a b kiộ ểm
Trang 30K t khi ng kiể ừ đồ ểm tra hình thứ ủ ệ ố HW / SW ặp phải nhữc c a h th ng g ng
m c trứ ừu tượng cao hơn ằ b ng cách sử ụ d ng ngôn ngữ mô tả ứ ộ m c đ h th ngệ ố ,
giàu v i ớ sơ đồ mô hình thích h p cho phép ợ bi u di n hiể ễ ệu quả ế ế thi t k HW / SW
phát triển phầ ứn c ng Thi ết kế phần mềm s không ẽ trì hoãn cho đến khi mô hình hệ
th ng và l p bố ậ ản đồ ph n c ng k t thúc ầ ứ ế
như ử s a ch a m s h c Bên cữ điể ố ọ ạnh đó, SystemC n m gi m c ắ ữ ở ứ cao hơn ủ c a tr u ừ
th i ờ
hi n b ng phân vùng ệ ằ phầ ứn c ng / ph n m m t ng [4] ầ ề ự độ Khung công vi c [4] là: ệ
ghi nhãn c hai trả ạng thái v i ớ các mệnh đề và các ệ ứ hi u ng chuy n tiể ếp v i hành ớ
động ng b hóa để đồ ộ
Trang 312 T ng ự độ phân vùng ết kế thi vào từng phần của phần cứng và ần mề ph m
kiểm tra nhất quán đối vớ các tính chấi t Kiểm tra tính chất này thực hiện các
SW
hình thức c a h th ng HW/ SW ong đó ầủ ệ ố , tr ph n mềm và ph n cầ ứng được mô tả ở
1.2 LIN Protocol và th ự c hiện của nó
tháng B y 1999 LIN ả là một hệ ố th ng giao ti p n i ti p chi phí cế ố ế ạnh tranh được thi t ế
Trang 32k ế cho các mạng xe điện nội bộ ổ sung cho ạng lướ ô tô phức tạ, b m i p hiện tại,
thích hợ ở ấp độ ấp c th p c a m ng c a mộ ạng lưới xe ủ ạ ủ t m phân cấ để đạt đượp c ch t ấ
1.2.1 T ổ ng quan về LIN Protocol
trên bus LIN
trong một giớ ại h n
Interface (SCI)
4 Truy n tín hi u ề ệ xác định ớ v i tín hi u th i gian lan truy n tính toán ệ ờ ề trước
mô t ả dưới đây:
Trang 33Nhiệm vụ chủ quyế ịt đnh khi nào và khung được chuyển trên bus Nhiệm vụ
Hình 1.9: Ki n trúc layer c ế ủ a mộ t node LIN
đó là c u n i l p ng d ng cầ ố ớ ứ ụ ủa ngườ ử ụi s d ng và bus v t lý ậ Frame handler li u dữ ệ
t bus, x lý chúng ừ ử và sau đó ử g i chúng t i l p ng d ng d a trên ớ ớ ứ ụ ự tương tác tín hi u ệ
1.2.2 Đặ c tả giao th c ứ
1.2.2.1 Khung trong giao th c LIN ứ
hướng t i nhi m v l thu c mà c node ch và node l thuớ ệ ụ ệ ộ ả ủ ệ ộc có Header được phát
1.2.2.2 C ấ u trúc khung
Trang 34header khung và m t ph n hộ ả ồi khung Header khung luôn được gử ởi b i node chủ và
chủ đích
được phần đầu c a d li u trên bus LIN, m t bit khủ ữ ệ ộ ởi đầu c a giá tr tr i "0" c n ủ ị ộ ầ
phải đặt trước LSB Để thông báo v m cu i c a m t byte, bit k t thúc c a giá tr ề điể ố ủ ộ ế ủ ị
Trang 35truyền header khung Sau khi một node trên bus LIN phát hiện ra sự ất hiện của xu
và chính xác ph n còn l i cầ ạ ủa dữ ệ li u
h i t i bus và nhi u node có th nh n phồ ớ ề ể ậ ản hồi này
bit khởi đầu, sau đó là mộ ất d u cách với độ dài t i thi u là m t bit l ố ể ộ ặn
Hình 1.13: Trườ ng ng ắt đồ ng b ộ
rằng node nhận được phần còn lại của khung một cách chính xác (Xem hình 1.14)
Hình 1.14: Trường đồ ng b ộ
là ID được b o vả ệ 60 ID đầu tiên luôn sẵn có để truy n d li u m t cách h u d ng ề ữ ệ ộ ữ ụ
B n ID cuố ối cùng là để ự ữ d tr
Trang 36Hình.1.15: ID đượ c b o v ả ệ
M t phộ ản hồi khung ch a hai ph n: ứ ầ
nh n) ậ
Hình 1.16: Tám byte dữ liệ u trong m t khung ộ
c u hình ấ
1.2.2.3 Khe khung
Header khung và phản hồi khung, nó phải lớn hơn hoặc bằng thời gian tối đa của
1.2.2.4 L ậ p lịch khung và ruyề t n
Trang 37Sau khi t t c các truy n d n trên mấ ả ề ẫ ột nhóm LIN được kh i phát bở ởi tác v ụ
M t ví d v vi ộ ụ ề ệ c chuyể n giao khung đư ợ c thể hiệ n dư ới đây:
Slave 1 Master Slave 2
ID=0x30
Hình 1.18: M ộ t ví dụ ề v chuy n giao khung ể
Khi đế n lư ợ t msg 0x30 , master sẽ phát ra header
có ID=0x30 Msg 0x30 là mộ t yêu c u t master ầ ừ
đế n slave1, và sau đó slave1 phả ồ ế n h i đ n master
Khi đế n lư ợ t msg 0x31 , master sẽ phát ra header có ID=0x31 Msg 0x32 là một yêu cầu từ slave1 đến slave2, và sau đó master phả n h i đ n slave1 và ồ ế
Khi đế n lư ợ t msg 0x32 , master sẽ phát ra header
có ID=0x32 Msg 0x32 là mộ t yêu c u t slave2 ầ ừ đến slave1, và sau đó slave2 phả n h i đ n slave1 ồ ế
Trang 381.2.3 Tri n khai giao th ể ứ c LIN
tri n khai d a trên ASIP và tri n khai dể ự ể ựa trên vi điều khi n ể
giao thức được triển khai giống như một thành ph n ph n cầ ầ ứng đã mô tả trong
phương thức tri n khai d a trên ASIP (Bể ự ộ ử x lý t p l nh chuyên d ng), m t bậ ệ ụ ộ ộ ử x
lý đặc bi t s ệ ẽ đượ ạo đểc t ch y giao th c B x ạ ứ ộ ử lý này là hướng t i ng d ng do có ớ ứ ụ
m t t p l nh chuyên d ng, m t kênh liên lộ ậ ệ ụ ộ ạc và mộ ết ki n trúc phù h p ợ
LIN_driver.c, and LIN_InitNode.h
Dựa trên việc phân chia lớp của một node LIN, (Xem hình 1.9), kiến trúc
Trang 39TX/RX IRQ_RX_ENIRQ_TX_EN UARTBG0UARTBG1
ASC_BAURATE0_REG ASC_BAURATE1_REG
main.c
LIN_InitNode.h LIN_driver.h LIN_driver.c
common.c
RX_IRQ
Hình 1.19: Các l p trong tri n khai ph n m ớ ể ầ ề m của LIN
user_rx_data / user_tx_data và stLinTransceiveBuffer
nhận các byte dữ ệu, Nó cơ bản là một Máy ạng thái hữu hạn (Finite Sta li tr te
Trang 40Common.h có m t struct trong ngôn ngộ ữ ậ l p trình C, có cùng nội dung như
phần cứng bằng cách truy cập struct này trong common.h do phần cứng có một địa
1.2.4 Trình điề u khiển thiết bị LIN dựa trên máy trạng thái hữu hạn (Finite State Machine)
độ dài c a t ng ph n là 1 byte Trong quá trình truy n header khung, node chủ ừ ầ ề ủ
Sau đó, lịch trình c a node ch s s p x p khung ti p theo trong khe khung s p t i ủ ủ ẽ ắ ế ế ắ ớ
điều ki n truy n d n FSM mà node ch tuân theo có th ệ ề ẫ ủ ể được sinh tra ừ trình điều khi n thiể ết bị LIN