Bên cạnh đó, đồng kiểm đó, đồ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 Để vượt qua khoảng cách giữa kiểm tra phần cứng và phần mềm, một vào ITL để giảm kí
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
(LOCAL INTERCONNECT NETWORK)
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
Trang 2LỜI CAM ĐOAN
Tôi tên: Nguyễn Khắc Thành
Lớ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 hình thức đồng kiểm tra hệ thống
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
Hà Nội, 30 tháng 03 năm 2014
Ký tên
Nguyễn Khắc Thành
Trang 3L ỜI CẢM ƠN
Trước hết, em xin gửi lời cám ơn sâu sắc tới các thày cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các thày cô trong Viện Điện Tử - Viễn
tình giúp đỡ, hướng dẫn em trong suốt quá trình thực hiện luận văn này
viên, chăm sóc, đóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu
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 4M ỤC LỤC
DANH M ỤC HÌNH VẼ
DANH M ỤC BẢNG
L ỜI CẢM ƠN
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1
1.1 Đồng kiểm tra hình thức hệ thống phần cứng/phần mềm 1
1.1.1 Tổng quan về hệ thống phần cứng/phần mềm 1
1.1.1.1 Lý thuyết về hệ thống phần cứng/phần mềm 1
1.1.1.2 Luồng thiết kế hệ thống HW/SW 2
1.1.1.3 Kiến trúc hệ thống Hardware/Software 4
1.1.2 Tổng quan về các kỹ thuật kiểm tra hardware, software và các kỹ thuật đồng kiểm tra 4
1.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 16
1.2 LIN Protocol và thực hiện của nó 22
1.2.1 Tổng quan về LIN Protocol 23
1.2.2 Đặc tả giao thức 24
1.2.2.1 Khung trong giao thức LIN 24
1.2.2.2 Cấu trúc khung 24
1.2.2.3 Khe khung 27
1.2.2.4 Lập lịch khung và truyền 27
1.2.3 Triển khai giao thức LIN 29
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) 31
1.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 41
2.2 Kiểm thử hình thức của mô hình thực tế 47
2.2.1 Phân tách chương trình 47
2.2.4 Các mẫu tính chất dựa trên CFG dành cho mô hình cụ thể của node chủ LIN 61
2.3 Khuôn khổ kiểm tra mô hình cụ thể của Node chủ LIN 69
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 85
3.2 Từ biểu đồ thuộc tính đến mô hình máy hữu hạn trạng thái 88
3.2.1 Máy hữu hạn trạng thái 88
3.2.2 PFSM của node chủ LIN ( Node chủ LIN) 92
3.3 Từ PFSM đến mô hình trừu tượng 94
3.4 Kiểm tra hình thức của node chủ LIN với trừu tượng dựa trên ITL 95
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
3.4.3 Framework của đồng kiểm tra hình thức của triển khai LIN dựa vào 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
4.1 Đồng kiểm tra hình thức cho mô hình cụ thể của node chủ LIN 102
4.2 Đồng kiểm tra hình thức node chủ LIN trừu tượng hóa dựa trên ITL 106
4.3 Kiểm thử chính thức của những thuộc tính dài và chung với node chủ LIN 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 115
5.3 Các nghiên cứu tiếp theo 116
Ệ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ủa node chủ LIN 103
Bảng 4.2 Những thuộc tính của Mô hình Cụ thể của node chủ LIN 104
Bảng 4.3 Tập thuộc tính của node chủ 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.4: Mô hình mạch lặp của bộ mã hóa FSM cho BMC 8
Hình 1.5: Counterexample Guided Abstraction Refinement Framework 14
Hình 1.6: CEGAR kết hợp với trừu tượng xác nhận trong kiểm tra phần mềm 15
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.10: Giao tiếp điển hình trên bus LIN qua các khung 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 25
Hì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ời của LIN trình điề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ủ LIN 66
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
ư 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
Hình 3.14 Framework cho đồng kiểm tra hình thức của node chủ LIN dựa trên những thuộc tính dài, chung 101
Hình 4.1 Biểu diễn sơ đồ mạch của mô hình mạch tương tác thỏa mãn chiều dài n 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
năng trong ngành công nghiệp kiểm thử System-on-Chip Bên cạnh đó, đồng kiểm
đó, đồ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
Để vượt qua khoảng cách giữa kiểm tra phần cứng và phần mềm, một
vào ITL để giảm kích thước của node chủ LIN Phương pháp lý thuyết của chúng tôi đã được áp dụng thành công để xác minh một thuộc tính chung đối với node chủ
năng của một bộ kiểm tra thuộc tính chính thức tiên tiến, do đó chúng tôi đề xuất
Trang 10CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1.1 Đồng kiểm tra hình thức hệ thống phần cứng/phần mềm
1.1.1 T ổng quan về hệ thống phần cứng/phần mềm
1.1.1.1 Lý thuy ết về hệ thống phần cứng/phần mềm
ứng dụng khác nhau Trong danh mục của hệ thống phần cứng / phần mềm, thông thường chúng ta có máy tính mục đích chung và hệ thống nhúng Máy tính thông thường, chẳng hạn như máy tính cá nhân, thực hiện nhiều nhiệm vụ khác nhau tùy
lượng tốt hơn so với một hệ thống hoàn toàn thực hiện trong phần mềm Tuy nhiên
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 của chúng tôi là một hệ thống
đ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 đầu tiên trướ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 cấp hệ thống của thiết kế Hệ thống tại cấp
độ này là mô hình kết nối các khối chức năng giao tiếp với nhau bằng các bản tin
được sử dụng để mô hình hình thức hệ thống Đối với mục đích mô phỏng,
đó 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
• Thiết kế phần cứng: Bước này bao gồm mô hình hóa HDL và phân vùng
điển hình là VHDL hoặc Verilog VDL
Trang 12hình bus, giao thức bus và driver thiết bị Driver thiết bị để ẩn các thành phần HW
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ế hệ thống phần cứng/phần mềm
Trang 13Hình 1.2 Sơ đồ khối hệ thống Hardware/Software
• Thiết bị lập trình được: Thiết bị lập trình được sẽ thực hiện SW được lưu
• Mô hình bộ nhớ Bộ nhớ bao gồm hai phần: SW và điều khiển thiết bị
• Kiến trúc truyền thông HW / SW và giao thức bus Thông tin liên lạc giữa
1.1.2 T ổng quan về các kỹ thuật kiểm tra hardware, software và các kỹ thuật đồng kiểm tra
Trang 14của nó Một mô hình hình thức là một mô hình trừu tượng của việc thực thi Các phương pháp hình thức thể hiện quy tắc chính xác để chứng minh rằng các hành vi
Abstraction Refinement Framework
Trang 15
?
1.1.2.1.1 Simulation và Emulation
trước khi xây dựng nguyên mẫu thiết kế bằng cách sử dụng chương trình logic, vd FPGA
ế nếu chúng ta cho phép nhiều trường hợp không được check Như vậy, simulation
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
1.1.2.1.2 Ki ểm tra mô hình và kiểm tra mô hình tượng trưng
được sử dụng phổ biến nhất trong thương mại
hình hóa như một finite state machine (FSM) Trong kiểm tra mô hình, FSM được
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
đó, nó giới hạn dung lượng của các bộ kiểm tra mô hình và các bộ kiểm tra mô hình
Checking) Phương pháp này sử dụng Binary Decision Diagrams (BDDs) để thao tác tượng trưng các nhóm trạng thái và quan hệ chuyển tiếp mà không phải liệt kê rõ
Tuy nhiên, kích thước của BDD có thể tăng theo cấp số mũ theo số mức kết hợp
được yêu cầu để lưu trữ và sử dụng BDD Theo đó, kiểm tra mô hình tượng trưng
Trang 171.1.2.1.3 Ki ểm tra mô hình giới hạn (BMC) và chứng minh quy nạp
đó được trải ra (unroll) k khung thời gian, kết quả tạo ra một mô hình mạch lặp
năng chuyển đổi và chức năng đầu ra Mô hình mạch lặp phục vụ như là mô hình
mã hóa FSM M
Hình 1.4: Mô hình mạch lặp của bộ mã hóa FSM cho BMC
1 1
0
j k M
Trang 18Tính chất trong BMC được xây dựng trong Linear Temporal Logic (LTL) Để
Hơn nữa, BMC kiểm tra mô hình từ các trạng thái ban đầu, do đó là cần thiết
để 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
Định nghĩa 1.1 Chúng ta sử dụng công thức Boolean, ký hiệu BMC(M, p, k) kiểm
1
1 0
= −
=
Đẳng thức 1.2 là thể hiện SAT cho BMC được thông qua bộ giải SAT Khi
đường trong FSM để thực hiện tính chất đảo Khi không có phép gán đáp ứng nào được tìm thấy, có nghĩa là tính chất giữ cho k khung thời gian bắt đầu từ trạng thái
Phương trình 1.2 kiểm tra tính chất p so với thiết kế cho đến k khung thời
đượ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
do đó nó thường là không rõ ràng Hơn nữa, độ sâu tuần tự của thiết kế công nghiệp
là thường đủ lớn để BMC thường không chứng minh được tính chất vì sự phức tạp
Trang 19Chứng minh quy nạp [9] giải quyết vấn đề không đầy đủ của BMC Chứng
1.1.2.1.4 M ột cách tiếp cận Interval Property Checking (IPC) và IPC bất biến
tương tự như BMC ngoại trừ IPC không bắt đầu kiểm tra các thiết kế từ trạng thái đầ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 đó
được mô tả trong công thức CLT hoặc LTL Tuy nhiên, tính chất đó thường dẫn đến
như sau:
1
1 0
đạt đường kính thiết kế Tuy nhiên trong hầu hết các trường hợp của thiết kế công
quá dung lượng của bộ giải SAT
Để 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ó giả định mô hình trải ra bắt đầu với một số trạng thái tùy ý và sau đó bắt đầu kiểm tra tính chất
Do đó, chúng ta có thể thay thế các liên kết cho các trạng thái ban đầu trong đă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
1
1
j t n t
quan đến k trong BMC nữa, tức là để có được một bằng chứng đầy đủ, thủ tục này
Định nghĩa 1.2 (Interval Property Checking): Interval Property Checking
Liên quan đến BMC, IPC đã được chứng minh rất hiệu quả cho một loạt các
không đủ, một số trạng thái bắt đầu có thể không thể đạt tới Và các trạng thái
được gọi là phản ví dụ giả
trường hợp, cách chọn này có thể là đủ vì mô hình mạch lặp có chứa nhiều thông tin
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) =
1 là không đủ Để giảm bớt hoặc tránh khả năng thu được các phản ví dụ giả trong 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
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ẻ
năng lực của bộ kiểm tra IPC tiên tiến nhất là bị hạn chế bởi tính chất và độ phức
1.1.2.1.5 Counterexample Guided Abstraction Refinement Framework (CEGAR)
ừu tượng hóa, chúng ta gọi là hệ thống cũ "mô hình cụ thể" và hệ thống mớ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
thường là quá đắt [11], do đó mô hình trừu tượng là trừu tượng xấp xỉ từ các mô
cụ thể:
đượ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
tượng
Thông thường, các mô hình trừu tượng gần đúng phải được bảo toàn và gần đú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ợp khác là các phản ví dụ tạo ra không thể được mô
nghĩa là những hành vi được mô tả trong phản ví dụ là sai cho các mô hình cụ thể
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 tượng để tinh chỉnh các hành vi được mô tả trong mô hình trừu tượng Bước này được gọi là sàng lọc Sau đó, 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)
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ả của mô hình kiểm tra của hệ thống SW đã bị hạn chế bởi vấn đề bùng nổ
Trang 25trình của các đối tượng truyền thông có thể thực hiện trong tương lai" [7] Từ thuật
1.1.2.3 Hardware/Software Co-Verification
được lưu trữ trong bộ nhớ của máy tính, như các khối phần mềm trong hệ thống
nơi mà các driver thường được đặt, trình điều khiển truy cập vào thiết bị và thiết bị làm gián đoạn chương trình Tính chính xác duy nhất của chỉ máy tính hoặc máy in
Do đó, kiểm tra hệ thống HW / SW có thể được chia thành hai loại có nhiệm
• Kiểm tra tính toán
• Kiểm tra giao tiếp
Trang 26của các mạch số nội bộ của máy in là một tác vụ kiểm tra tính toán, đó hiển nhiên là
phương pháp kiểm tra cho HW hay SW để xác minh các thành phần riêng biệt Một
tương đối thấp Những hành vi giao tiếp giữa các khối trong hệ thống HW / SW được gọi là hành vi mức hệ thống
1.1.2.3.1 Các ph ương pháp không chính thức
thông thường để thích nghi với hệ thống HW / SW
thường có thể được áp dụng để kiểm tra toàn bộ hệ thống trước khi phân vùng HW /
Trang 27dụng để kiểm tra toàn bộ hệ thống HW / SW dù trước hoặc sau khi phân vùng HW /
SW
Môi trường không đồng nhất cho phép chúng ta sử dụng một mức độ trừu tượng thấp hơn so với mức độ hành vi cho HW VHDL hoặc Verilog có lẽ là mức
Trang 28nhất và tốc độ mô phỏng nhanh hơn so với phương pháp tiếp cận không đồng nhất
Communication Interface
Communication Interface
Co-Simulation Bus
Hình 1.7: Mô hình đồng mô phỏng không đồng nhất
mong đợi Tuy nhiên, một đồng mô phỏng toàn diện thường là không thể Nó là vì hai
1.1.2.3.2 Các phương pháp hình thức
đề xuất để chứng minh hình thức sự tuân thủ giao thức cho các khối giao tiếp trong
đã được chứng minh thành công trong nhiều thiết kế công nghiệp Tuy nhiên đồng
Trang 29xác minh hình thức của hệ thống HW / SW là khác với xác minh SoC vì một trong
• Bản chất không đồng nhất nội tại của hệ thống HW / SW Thông thường,
dàng
• Phức tạp lớn gây ra bởi các khoảng thời gian dài của các thuộc tính của hệ
hơn so với các thuộc tính của mô-đun HW hoặc SW riêng biệt Đầu tiên, phần mềm
Trang 30Kể từ khi đồng kiểm tra hình thức của hệ thống HW / SW gặp phải những khó khăn nêu trên, phương pháp kiểm tra thông thường cho HW hay SW không còn
định một ngữ nghĩa sạch cho UML hoặc cung cấp sinh mã tự động đối với ngôn
như sửa chữa điểm số học Bên cạnh đó, SystemC nắm giữ ở mức cao hơn của trừu tượng hóa trên RTL, bao gồm các bộ phận được thực hiện như phần mềm đồng
thời
Đồng xác minh hình thức của hệ thống HW / SW trong SystemC được thực
động để đồng bộ hóa
Trang 312 Tự động phân vùng thiết kế vào từng phần của phần cứng và phần mềm Điều này dẫn đến một mô hình phân vùng trừu tượng
phương pháp tiếp cận trừu tượng xác nhận dựa trên SAT, trong đó sử dụng một chương trình trừu tượng làm mịn hướng dẫn phản ví dụ đầy đủ
đối mặt với hệ thống HW/ SW , nơi phần mềm được viết bằng ngôn ngữ lập trình như C hoặc C++ và phần cứng được mã hoá trong một ngôn ngữ mô tả phần cứng như Verilog HDL hay VHDL Vì vậy, câu hỏi là sự lựa chọn của chúng ta cho đồng
SW
1.2 LIN Protocol và th ực hiện của nó
ả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ộ, bổ sung cho mạng lưới ô tô phức tạp hiện tại,
lượng cao hơn và giảm chi phí hơn
1.2.1 T ổng quan về LIN Protocol
trên bus LIN
Interface (SCI)
Hình 1.8: Một cụm LIN với 1 node master và 2 node slave [5]
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 dữ liệ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
Hình.1.10: Giao tiếp điển hình trên bus LIN qua các khung
1.2.2.2 C ấu trúc khung
Như đã trình bày trong hình 1.11, một khung LIN được tạo nên bởi một
Trang 34header khung và một phản hồi khung Header khung luôn được gửi bởi node chủ và
được nhận có chủ đích bởi mọi node trên bus LIN, còn phản hồi khung có thể được
chủ đích
Hình 1.11: Cấu trúc khung
nghĩa là không có gì diễn ra trên bus, đường dây đơn có giá trị lặn "1" Để bắt
đượ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
Hình.1.12 Cấu trúc của một trường byte
Đồng bộ hóa các node LIN lệ thuộc Mọi khung đều bắt đầu với việc
Trang 35truyền header khung Sau khi một node trên bus LIN phát hiện ra sự xuất hiện của
Synch Break (Ngắt đồng bộ) Được dùng để báo hiệu phần đầu của một
Hình 1.13: Trường ngắt đồng bộ
sau đó là các bit còn lại và cuối cùng là Bit giá trị cao nhất (MSB)
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
Trang 36Hình.1.15: ID được bảo vệ
Dữ liệu Một khung có thể chứa từ một đến 8 byte dữ liệu Số byte cho
Thêm vào đó, số byte sẽ được thống nhất bởi bộ phát và tất cả các thuê bao (bộ
nhận)
Hình 1.16: Tám byte dữ liệu trong một khung
Checksum Checksum sẽ có sau khi hoàn tất việc truyền một trường dữ
1.2.2.3 Khe khung
1.2.2.4 L ập lịch khung và truyề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ụ
Hình 1.17 Lịch trình LIN và khe khung
M ột ví dụ về việc chuyển giao khung được thể hiện dưới đây:
ID=0x30
ID=0x31 ID=0x31
ID=0x32 ID=0x32
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
Trong phương pháp triển khai dựa trên AISC (Mạch tích hợp chuyên dụng),
là đến gate-level netlist Sau đó, nó được chuyển đi để tạo ra một ASIC Trong một 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ẽ được tạo để chạy giao thức Bộ xử lý này là hướng tới ứng dụng do có
C++, sau đó giao thức này sẽ chạy trên kiến trúc vi điều khiển
LIN_driver.c, and LIN_InitNode.h
Trang 39ASC_TRANSMIT _BUFFER
TX/RX IRQ_RX_EN
IRQ_TX_EN
UARTBG0 UARTBG1
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
Main.c là chương trình ứng dụng, nơi mà kỹ sư ứng dụng định nghĩa các byte
user_rx_data / user_tx_data và stLinTransceiveBuffer
Trang 40Common.h có một struct trong ngôn ngữ lập trình C, có cùng nội dung như
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)
trên bus LIN, bus này đã được lên lịch để truyền Header khung bao gồm ba phần:
độ dài của từng phần là 1 byte Trong quá trình truyền header khung, node chủ
header đã hoàn thành truyền và đã nhận được từ bus Sau khi hoàn thành truyền
đầu phản hồi tới header bằng cách đưa dữ liệu khung và checksum lên bus LIN
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
thành cho đến khi tất cả các byte dữ liệu và checksum được nhận bởi note chủ
điều kiện truyền dẫn FSM mà node chủ tuân theo có thể được sinh ra từ trình điều