Nền tảng nhiều FPGA

Một phần của tài liệu Cấu hình lại phần cứng trong kiến trúc hệ thống nhúng như một khả năng tăng tính linh hoạt của hệ thống tự động (Trang 51 - 53)

Hình 3.9: Chịu lỗi trong nền tảng nhiều FPGA

Nhƣ hình 3.9, hệ thống này bao gồm bốn FPGA kết nối với nhau bằng cách sử dụng hai mạng Ethernet (trong tƣơng lai có thể dựa trên giao diện PLC, trong khi đề án khác đƣợc xây dựng trên các kết nối RF nhƣ nghiên cứu trong dự án CIFAER [78]). Mạng đầu tiên đƣợc định tuyến thông qua một chuyển đổi mạng, các mạng khác tạo thành một cấu trúc liên kết vòng cho mục đích chịu lỗi. Các giao thức Ethernet đƣợc xây dựng bởi bộ điều khiển Ethernet nhƣ các phần cứng thiết bị ngoại vi MicroBlaze và các LightWeight IP [35] nhƣ các thƣ viện phần mềm. LwIP là một gói mã nguồn mở bằng cách sử dụng giao thức TCP / IP, có thể dễ dàng thích nghi với PLC và modem không dây. Mỗi FPGA có chứa một hệ thống FT-DyMPSoC.

Trên hệ thống tổng thể, mỗi FPGA giao tiếp với một bộ nhớ có thể đƣợc truy cập bởi tất cả các bộ vi xử lý bên trong cùng một FPGA. Bộ nhớ này đƣợc phân chia thành ba phân đoạn (hình 3.9):

Một cho lƣu trữ tất cả các bitstream và các bối cảnh của tất cả các bộ vi xử lý FPGA cụ thể.

Một cho lƣu trữ tất cả các bitstream của FPGA tiếp theo trong mạng vòng. Một dành riêng và đƣợc sử dụng trong trƣờng hợp xảy ra thất bại trong hệ

thống. Phân khúc này sẽ giúp chuyển các bitstream và các bối cảnh giữa FPGA khác nhau.

Các phân đoạn bộ nhớ đảm bảo sự tồn tại của ít nhất một bản sao của tất cả các bitstream trên toàn bộ mạng lƣới.

Nguyễn Viết Hiếu – K16D2

Hình 3.10: Chiến lược phục hồi lỗi

Nhƣ chúng ta có thể nhìn thấy trong hình 3.10 (a), bitstream của mỗi FPGA hiện tại trong bộ nhớ nội của nó và cũng có trong bộ nhớ nội của FPGA trƣớc đó trong cấu trúc liên kết vòng. Ví dụ, FPGA1 lƣu trữ bitstream của 1 và các bitstream 2, FPGA2 lƣu trữ của bitstream 2 và bitstream 3 và tiếp tục. Những sao chép sẽ đƣợc sử dụng trong trƣờng hợp lỗi hệ thống, và cho phép bối cảnh chuyển đổi nhanh chóng.

Độ chịu lỗi đƣợc duy trì ở hai cấp độ trong hệ thống. Mức Intra-FPGA tƣơng ứng với các chiến lƣợc chịu lỗi mỗi bên trong FPGA, và có liên quan đến việc thiết kế các hệ thống FT-DyMPSoC. Chiến lƣợc giảm thiểu lỗi đƣợc thực hiện bằng cách sử dụng thuật toán ma trận kết nối, và lỗi đƣợc giảm nhẹ bằng cách sử dụng cấu hình lại linh động ở cấp độ bộ vi xử lý. Cấp độ thứ hai đƣợc gọi là Inter-FPGA mức độ tƣơng ứng với hệ thống tổng thể trình bày trong hình 3.9. Để phát hiện lỗi trong mạng tổng thể, tất cả các các FPGA trao đổi thƣờng xuyên trong khung phát hiện. Những khung chứa các bối cảnh phần mềm của bốn MicroBlazes của mỗi FPGA. Một mặt, điều này sẽ giúp phát hiện lỗi trong mạng. Mặt khác, bao gồm các bối cảnh trong khung phát hiện sẽ giúp đỡ để tiếp tục nhiệm vụ của một FPGA bị lỗi trên FPGA khác. Trong quá trình trao đổi nếu bối cảnh của một FPGA (tức là FPGA3 hình 3.10) không nhận đƣợc từ các mạch khác, FPGA3 đƣợc tuyên bố bị lỗi. Có 2 khả năng: các MicroBlaze 1 (hỗ trợ các giao diện mạng) của FPGA3 là bị lỗi, gây ra các thông tin liên lạc bị mất của FPGA này, hoặc toàn FPGA3 là bị lỗi. Để phân biệt 2 khả năng này, các liên kết ethernet thứ cấp đƣợc sử dụng. FPGA2 và FPGA4 cố gắng để giao tiếp với MicroBlaze 2 và 3 của FPGA3. Nếu những thông tin liên lạc không thành công, toàn bộ FPGA3 đƣợc khai báo là lỗi, nếu không, chỉ các MicroBlaze 1 là tỗi.

Nếu chỉ có một MicroBlaze bên trong 1 FPGA thất bại, lỗi này đƣợc quản lý nhờ vào cấu hình lại linh động của bộ vi xử lý này hoặc bằng cách sử dụng chuyển đổi nhiệm vụ trong hệ thống MPSoC. Lỗi này đƣợc quản lý ở cấp FPGA. Nếu toàn bộ FPGA không di chuyển nhiệm vụ liên quan đến các mạch tổng thể. Trong trƣờng hợp này, nhiệm vụ của FPGA3 cần phải đƣợc gửi đi qua các mạch còn lại. Nếu hệ thống không thể quản lý tất cả các nhiệm vụ với FPGA mất tích, nhiệm vụ ƣu tiên cần đƣợc xác định và đƣợc sử dụng để duy trì các dịch vụ quan trọng. Trong trƣờng hợp này, trọng tài trên các nhiệm vụ đang chạy cần đƣợc thực hiện, và tái cấu hình của FPGA còn lại đƣợc đƣa ra. Nếu FPGA bị mất, chúng ta cần phải duy trì hai các bitstream bản đƣợc lƣu trữ trong FPGA bị lỗi. Ví dụ, nếu FPGA3 bị mất (hình 3.10), bản sao của

Nguyễn Viết Hiếu – K16D2

bitstream 3 và 4 là không thể tiếp cận yêu cầu một bản sao của bitstream 3 và bitstream 4. Chúng tôi đề xuất ở đây 2 chiến lƣợc cung cấp các bitstream 3 và 4 FPGA khác:

1. Chiến lƣợc đầu tiên chỉ sử dụng các phƣơng tiện truyền thông thứ phát. Chúng tôi cần phải sử dụng FPGA1 phân khúc dành riêng nhƣ một phƣơng tiện trung gian. Đầu tiên bitstream4 đƣợc sao chép từ FPGA 4 đến đoạn dành FPGA1, sau đó tới FPGA2. Sau đó, bitstream 3 đƣợc sao chép từ FPGA2 tới FPGA1, sau đó tới FPGA4.

2. Chiến lƣợc thứ hai đòi hỏi cả hai phƣơng tiện truyền thông. Bitstream 4 đƣợc sao chép từ FPGA4 tới FPGA1 sử dụng liên kết trực tiếp Ethernet. Đồng thời, bitstream 3 đƣợc sao chép từ FPGA2 tới FPGA4 bằng cách sử dụng Ethernet chính thông qua bộ chuyển mạch.

Trong trƣờng hợp chuyển mạch Ethernet thất bại, tất cả các kết nối Ethernet chính là lỗi, điều này dẫn đến mất kết nối giữa tất cả các FPGA. Tại thời điểm này tất cả các mạch chuyển đổi cấu trúc liên kết vòng. Các mạng thứ hai sau đó sẽ đảm bảo hoạt động đúng đắn của hệ thống tổng thể. Việc sử dụng dự phòng của mạng, cùng với các mô hình mới tự động cấu hình lại cho phép để xây dựng hệ thống có độ tin cậy cao.

Một phần của tài liệu Cấu hình lại phần cứng trong kiến trúc hệ thống nhúng như một khả năng tăng tính linh hoạt của hệ thống tự động (Trang 51 - 53)

Tải bản đầy đủ (PDF)

(82 trang)