1. Nội dung thiết kế tốt nghiệp:
2.4 Phân tích, đánh giá các giải pháp thiết kế hệ thống
Với các hệ thống được lập trình trực tiếp trên vi điều khiển, việc giao tiếp với các thành phần ngoại vi cần nhiều chương trình xử lý khác nhau, trong đó có những ngoại vi giao tiếp khá phức tạp như Flash USB. Vì thời gian thực hiện đề tài là không nhiều nên nhóm đã nghĩ tới giải pháp sử dụng hệ điều hành nhúng cho việc phát triển lớp ứng dụng và driver giao tiếp với các ngoại vi. Hệ điều hành này phải là mã nguồn mở, nhỏ gọn, là real-time OS, hỗ trợ cho vi xử lý mềm Nios II, một số ngoại vi và các thư viện cần thiết cho đề tài.
uClinux là hệ điều hành phổ biến được sử dụng trong nhiều hệ thống nhúng có tài nguyên phần cứng hạn chế, hoàn toàn đáp ứng được các yêu cầu nêu trên. Do đó,
35
nhóm đã quyết định chọn hệ điều hành này làm môi trường phát triển ứng dụng cho hệ thống.
Về vấn đề xử lý dữ liệu video đầu vào, nếu ta sử dụng file video ở dạng thô thì sẽ không thể hiển thị video từ USB, thẻ nhớ SD hay từ mạng Ethernet 10 Mbps do tốc độ đường truyền băng thông từ các ngoại vi này không thể đáp ứng được dung lượng yêu cầu.
Ví dụ:
Đối với chuẩn USB, tốc độ truyền lớn nhất ở chế độ Full-Speed có băng thông là 12 Mbps hay với Ethernet ở chuẩn 10 Mbps. Trong khi một khung hình thô 24 bit có kích thước là 640x480x24 bit. Do đó, nếu hệ thống truyền file video thô, số khung hình tối đa đạt được trong 1 giây là:
10 Mbps / (640x480x24)bit ~= 1,4 (hình/s)
Từ mâu thuẫn ở trên, nhóm đã quyết định nghiên cứu khối xử lý giải mã JPEG trên phần cứng, để đảm bảo tốc độ xử lý khi xử lý song song, cũng như không can thiệp vào quá trình đọc dữ liệu được xử lý bằng phần mềm. Từ đó, hệ thống có thể xử lý được video Motion-JPEG truyền từ các nguồn kể trên do kích thước một khung hình giảm đi đáng kể so với ảnh thô.
36
Chƣơng 3. Triển khai và ứng dụng hệ điều hành
uClinux trên kit DE2
_* Nguyễn Mạnh Hùng *_ Nội dung chính của chương này trình bày kiến trúc và phương pháp cấu hình uClinux trên kit DE2. Sau đó, chúng ta tiến hành tích hợp các driver cần thiết cho đề tài như driver USB, thẻ nhớ SD và Ethernet. Đồng thời, ta có thể viết thêm các driver và ứng dụng người dùng để giao tiếp với các ngoại vi có sẵn trên kit – từ đó tạo ra khả năng mở rộng dễ dàng hơn cho hệ thống.