Chương 1. TỔNG QUAN ĐỀ TÀI. Giới thiệu tổng quan về nội dung, mục tiêu, giới hạn, đối tượng và phạm vi nghiên cứu của đề tài. Gồm các lý thuyết liên quan đến giao thức, môi trường mô phỏng của bộ chuyển đổi 2 - Chương 3.
THIẾT KẾ HỆ THỐNG. Bao gồm yêu cầu, sơ đồ thiết kế của hệ thống, lưu đồ hoạt động. - Chương 4 KẾT QUẢ. Kết quả mô phỏng của bộ chuyển đổi, đánh giá kết quả đạt được - Chương 5.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN. Đưa ra kết luận về việc thực hiện đề tài, nhận xét các kết quả đạt được, đưa ra những phương hướng phát triển khác cho bộ chuyển đổi. 3 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ AMBA VÀ CHUẨN BUS APB 2.1 Giới thiệu về System on Chip System on Chip hay SoC là mạch tích hợp, trong đó các hệ thống thường bao gồm các thành phần như bộ xử lý, bộ nhớ, cổng ngoại vi được tích hợp vào một con chip. Các thành phần trên được nối với nhau thông qua một hệ thống bus.
Do tần số hoạt động của mỗi thành phần là khác nhau, các bus tại giữa hai thành phần khác nhau tùy theo yêu cầu. Các đặc trưng trên đã tạo nên một thứ được gọi là kiến trúc bus. Kiến trúc bus là một tiêu chuẩn trong việc xây dựng nên một SoC, trong đó, các thành phần, bus được quy định rõ ràng về vị trí kết nối. Các công ty có các kiến trúc riêng trong việc thiết kế chip của họ.
Một số các kiến trúc phổ biến hiện nay có thể kể đến như AMBA của ARM, CoreConnect của IBM. System on Chip cũng được chia làm các loại tùy theo mục đích như: System on Chip được xây dựng quanh bộ vi điều khiển, System on Chip được xây dựng quanh bộ vi xử lý, System on Chip xây dựng quanh một ASIC.2 Tổng quan về AMBA AMBA hay Advanced High-performance Bus là hệ thống đường truyền được phát triển bởi ARM Limited. AMBA là một tiêu chuẩn mở dùng để kết nối và quản lý các khối chức năng trong thiết kế của một System on Chip. AMBA bao gồm nhiều chuẩn con khác nhau theo từng tên gọi cũng như mục đích sử dụng [1].1 thể hiện một sơ đồ khối xây dựng theo AMBA: 4 Hình 2.
Sơ đồ khối của một hệ thống triển khai theo AMBA Theo hình 2.1, các chuẩn như ASB hoặc AHB được sử dụng trong các giao tiếp yêu cầu hiệu suất, băng thông cao, trong khi đó APB được sử dụng trong các giao tiếp với ngoại có tốc độ xử lý thấp như UART [1]. Đây là một đặc trưng của kiến trúc AMBA, Tại giữa hai chuẩn có tốc độ xử lý khác nhau có một cầu chuyển tiếp (Bridge), cầu này đóng vai trò chuyển đổi tín hiệu giữa hai chuẩn, từ đó đồng bộ với nhau trong quá trình hoạt động. AMBA tạo điều kiện thuận lợi cho việc phát triển các thiết kế có đa bộ xử lý với nhiều bộ điều khiển và các thành phần với kiến trúc bus. Nguyên tắc thiết kế bus AMBA gồm các tiêu chí như sau [1, 2, 3]: - Tạo điều kiện thuận lợi cho việc phát triển ngay lần đầu tiên các vi điều khiển nhúng sử dụng một hoặc nhiều CPU, GPU hay bộ xử lý tín hiệu.
- Độc lập về công nghệ, cho phép tái sử dụng lõi IP và hệ thống trên các quy trình IC đa dạng, - Khuyến khích thiết kế hệ thống mô-đun để cải thiện tính độc lập của bộ xử lý và phát triển các thư viện IP hệ thống và ngoại vi có thể tái sử dụng - Giảm thiểu cơ sở hạ tầng silicon đồng thời hỗ trợ giao tiếp trên chip hiệu suất cao và tiêu thụ điện năng thấp. Qua từng các năm, AMBA đã được phát triển thêm nhiều các phiên bản khác để phục vụ cho yêu cầu ngày càng cao về việc thiết kế chip. AMBA có tổng cộng 5 phiên bản tính tới hiện tại bao gồm: AMBA, AMBA 1, AMBA 2, AMBA 3, AMBA 4 và AMBA5. 5 Trong đó, thông số kỹ thuật của AMBA 4 có chuẩn bus như sau: - AXI Coherency Extensions (ACE) - AXI Coherency Extensions Lite (ACE-Lite) - Advanced Extensible Interface 4 (AXI4) - Advanced Extensible Interface 4 Lite (AXI4-Lite) - Advanced Extensible Interface 4 Stream (AXI4-Stream v1.0) - Advanced Trace Bus (ATB v1.1) - Advanced Peripheral Bus (APB4 v2.0) - AMBA Low Power Interfaces (Q-Channel and P-Channel) Đặc biệt, chuẩn ACE được sử dụng rộng rãi trong các bộ xử lý Arm Cortex-A bao gồm Cortex-A7 và Cortex-A15.2 TỔNG QUAN VỀ BUS APB 2.1 Giới thiệu về bus APB APB (Advanced Peripheral Bus) dịch theo tiếng Việt là bus ngoại vi nâng cao là một phần của họ giao thức kiến trúc bus vi điều khiển nâng cao (AMBA).
APB xác định một giao diện được tối ưu hóa để tiêu thụ điện năng ở mức tối thiểu và giảm độ phức tạp của giao diện [4]. APB hoạt động theo mô hình Master - Slave, trong đó slave thường là cầu nối giữa các tín hiệu bên trong với thiết bị ngoại vi. APB không có ống dẫn, đơn giản, thích hợp để giao tiếp với các ngoại vi có tốc độ xử lý và băng thông tương đối thấp so với tốc độ xử lý bên trong. Qua các năm, APB đã được phát triển thêm nhiều phiên bản mới hơn lần lượt là: AMBA APB, AMBA 2 APB, AMBA 3 APB, AMBA 4 APB và AMBA 5 APB.
Trong đó, các tên gọi thường được gọi tắt lại, ví dụ như AMBA 4 APB thành APB4.2 Mô tả các tín hiệu của bus APB4 Các tín hiệu của bus APB4 được mô tả theo bảng 2. Các tín hiệu của bus APB4 Tín hiệu Nguồn tín hiệu Mô tả 6 Là xung hệ thống, trong đó cạnh lên Bộ tạo xung hệ PCLK của xung được sử dụng trong suốt quá thống trình giao tiếp APB. Tín hiệu reset tích cực mức thấp, có tác PRESETn Bus hệ thống dụng khôi phục khối APB trở về trạng thái mặc định. Địa chỉ, nhằm xác định địa chỉ của PADDR APB master thanh ghi trong khối APB trong quá trình đọc và ghi dữ liệu.
Mức độ bảo mật. Tín hiệu cho biết mức độ bảo mật của giao tiếp là PPROT APB master normal, privileged hay secure và liệu giao tiếp là truy cập dư liệu hay là truy cập lệnh. Tín hiệu lựa chọn. Thiết bị chủ APB PSELx APB master quyết định chọn thiết bị tớ APB nào thông qua tín hiệu này.
Tín hiệu này cho biết chu kỳ thứ hai và PENABLE APB master các chu kỳ tiếp theo của quá trình giao tiếp APB. Tín hiệu quyết định quá trình giao tiếp PWRITE APB master là đọc hay là ghi, trong đó mức cao là ghi và mức thấp là đọc dữ liệu. Dữ liệu ghi. Bus này được điều khiển bởi thiết bị APB master trong suốt quá PWDATA APB master trình giao tiếp nếu như PWRITE là mức cao.
Bus có thể mở rộng lên tới 32 bit. Tín hiệu quyết định làn byte nào của PSTRB APB master PWDATA được cập nhật trong quá 7 trình truyền ghi. Mỗi bit của PSTRB tương ứng với 8 bit của PWDATA, như vậy với PSTRB[n] tương ứng với PWDATA[(8n + 7) : n]. Tín hiệu sẵn sàng từ phía slave, APB PREADY APB slave slave có thể quyết định kéo dài giao tiếp hay không thông qua tín hiệu này.
Dữ liệu đọc. Bus này được điều khiển bởi thiết bị APB slave được chọn trong PRDATA APB slave suốt quá trình giao tiếp nếu như PWRITE là mức thấp. Bus có thể mở rộng lên tới 32 bit. Tín hiệu báo lỗi từ phía APB slave, PSLVERR APB slave cho biết quá trình giao tiếp thất bại.3 Quá trình ghi dữ liệu của bus APB4 Việc ghi dữ liệu của bus APB4 được chia làm 2 kiểu là: Quá trình ghi không có trạng thái chờ và quá trình ghi có trạng thái chờ.
• Quá trình ghi không có trạng thái chờ: Quá trình ghi không có trạng thái chờ được mô tả theo hình 2. Quá trình ghi không có trạng thái chờ 8 Tại cạnh lên của chu kỳ T1, đường địa PADDR, đường dữ liệu ghi PWDATA được đưa dữ liệu vào từ phía APB master, tín hiệu PWRITE và PSEL cũng được nâng lên mức cao cho biết quá trình ghi và APB slave được chọn. Do PENABLE còn ở mức thấp, APB slave được chọn không quan tâm đến 2 đường dữ liệu là PADDR và PWDATA. Tại cạnh lên của chu kỳ T2, APB master tiến hành nâng PENABLE lên mức cao, đồng thời, APB slave cũng nâng lên PREADY lên mức cao nhằm cho biết mức độ sẵn sàng.
Khi PREADY được xác nhận, APB master tiến hành điều khiển PENABLE về mức thấp tại chu kỳ tiếp theo. PADDR và PWDATA vẫn giữ nguyên giá trị cho đến chu kỳ tiếp theo. Tại cạnh lên của chu kỳ T3, PENABLE được kéo về mức thấp để kết thúc quá trình truyền. PSEL có thể được giữ ở mức cao để tiếp tục cho quá trình truyền kế tiếp.
• Quá trình ghi có trạng thái chờ: Quá trình ghi có trạng thái chờ được mô tả như hình 2. Quá trình ghi có trạng thái chờ Tại quá trình ghi có trạng thái chờ, PREADY được kéo lên mức cao ở trạng thái không có quá trình truyền. Sau khi xác nhận được mức cao của PSEL tại cạnh lên xung clock T1, PREADY được kéo về mức thấp tại cạnh lên của chu kỳ T2 và duy trì 2 chu kỳ xung. APB master xác nhận mức thấp của PREADY trong quá trình này nên tiếp tục quá trình giao tiếp.
9 Tại cạnh lên của chu kỳ T4, PREADY được kéo lên mức cao, chuẩn bị kết thúc quá trình truyền ở chu kỳ kế tiếp. Tại cạnh lên của chu kỳ T5, khi PREADY được xác nhận, APB master tiến hành kéo PENABLE về mức thấp, PSEL có thể giữ nguyên để chuẩn bị cho chu kỳ kế tiếp.4 Quá trình đọc dữ liệu của bus APB4 Giống như quá trình ghi, quá trình đọc dữ liệu của bus APB cũng được chia làm hai kiểu là: đọc không có trạng thái chờ và đọc có trạng thái chờ. • Quá trình đọc không có trạng thái chờ: Quá trình đọc không có trạng thái chờ được mô tả như hình 2. Quá trình đọc không có trạng thái chờ Khác với quá trình ghi, tín hiệu PWRITE được kéo xuống mức thấp trong suốt quá trình truyền.
Các tín hiệu còn lại đều hoạt động tương tự như quá trình ghi. • Quá trình đọc có trạng thái chờ: Quá trình đọc có trạng thái chờ được mô tả như hình 2. Quá trình đọc có trạng thái chờ Ở quá trình này, các tín hiệu cũng hoạt động tương tự như quá trình đọc không có trạng thái chờ. Riêng tín hiệu PREADY được phía APB slave duy trì khi không có quá trình truyền và kéo xuống mức thấp trong 2 chu kỳ sau khi xác nhận được mức cao ở tín hiệu PSEL nhằm kéo dài quá trình truyền.