Các kiểu truyền trong hệ thống bus AHB

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu, thiết kế và thực hiện bus truyền thông tốc độ cao AMBA AHB (Trang 28 - 31)

HTRANS[1:0] Kiểu Mô tả

00 IDLE Báo hiệu không có quá trình truyền dữ liệu nào ñược thực hiện. Kiểu IDLE ñược dùng khi một bus chủ

mặc ñịnh ñược phép sử dụng bus.

Các bus tớ phải luôn cung cấp một trạng thái ñợi với HREADY ở mức thấp và gửi phản hồi OKAY ñối với một quá trình IDLE.

01 BUSY Kiểu truyền BUSY cho phép bus chủ thêm các chu kỳ trống vào giữa quá trình truyền khối. Kiểu truyền

này báo hiệu rằng bus chủ vẫn ñang tiếp tục với một quá trình truyền khối nhưng khối truyền tiếp theo sẽ

chưa ñược thực hiện ngay lập tức.

Các bus tớ phải luôn cung cấp một trạng thái ñợi và gửi phản hồi OKAY tương tự như ñối với một quá trình IDLE. Lúc này quá trình truyền sẽ bị bus tớ bỏ

qua.

10 NONSEQ Báo hiệu khối truyền ñầu tiên của một quá trình truyền khối hoặc là một quá trình truyền ñơn. Tín hiệu ñiều khiển và ñịa chỉ không liên quan ñến quá trình truyền trước ñó.

11 SEQ Trong chếñộ này, ñịa chỉ khối truyền hiện tại sẽ liên quan ñến ñịa chỉ khối truyền kế trước ñó. Thông tin

ñiều khiển sẽ ñược sử dụng ñể tính ra ñịa chỉ của khối truyền hiện tại. ðịa chỉ của khối truyền sẽ bằng

ñịa chỉ của lần truyền trước cộng với kích thước truyền (tính bằng byte).

2.3.5. Phân chia mt quá trình truyn

ðể sử dụng bus một cách hiệu quả, tránh tình trạng bus rỗi, AHB có thể

phân chia các quá trình truyền ñể tận dụng thời gian bus rỗi khi các bus tớ cần nhiều thời gian hơn ñể xử lý dữ liệu. Có hai phương pháp ñể phân chia các quá trình truyền ñó là truyền RETRY và truyền SPLIT. Hai phương pháp này ñược thực hiện tương tự như nhau. Sự khác nhau giữa hai phương pháp chỉ là ở sự thay

ñổi quyền ưu tiên truy cập bus của bộ phân xử. Một quá trình truyền bị phân chia bao gồm những bước sau:

1. Bus chủ bắt ñầu quá trình truyền theo cùng một cách như các quá trình truyền thông thường khác và phát ñi các tín hiệu ñịa chỉ và ñiều khiển. 2. Nếu bus tớ có thể cung cấp dữ liệu ngay lập tức thì nó sẽ thực hiện quá

trình truyền. Nếu bus tớ quyết ñịnh phải mất một số chu kỳ xung ñể lấy dữ

liệu thì nó sẽ phát ra một phản hồi RETRY hoặc SPLIT ñể bắt ñầu thực hiện việc phân chia quá trình truyền.

3. Trong suốt tất cả các quá trình truyền, bộ phân xử sẽ phát quảng bá số

nhận dạng (tag number) của bus chủ hiện ñang sử dụng bus. Bus tớ phải ghi nhận số này và dùng nó ñể khởi ñộng lại quá trình truyền sau này.

4. Bộ phân xử chấp nhận cho các bus chủ khác ñược truy cập vào bus ñể sử

dụng, tùy thuộc vào sự thay ñổi quyền ưu tiên truy cập ở trong bộ phân xử.

5. Khi bus tớ ñã sẵn sàng ñể hoàn thành quá trình truyền, nó phát ra bit tương ứng của bus HSPLITx ñến bộ phân xử ñể báo hiệu cho bus chủ tái truy cập vào bus.

6. Bộ phân xử sẽ quan sát tín hiệu HSPLITx trong mỗi chu kỳ xung và khi có bất kỳ bit nào của HSPLITx ñược phát ra bộ phân xử sẽ lưu lại quyền

ưu tiên của bus chủ tương ứng.

7. Cuối cùng, bộ phân xử sẽ cho phép bus chủ ñược thực hiện lại quá trình truyền. ðiều này có thể không xảy ra ngay lập tức nếu có một bus chủ có quyền ưu tiên cao hơn ñang sử dụng bus.

8. Khi quá trình truyền lại ñược thực hiện, slave sẽ kết thúc với một phản hồi OKAY. Bus chủ phải xây dựng lại khối truyền phù hợp với quá trình truyền còn lại này.

2.4. Hot ñộng phân x bus

Hoạt ñộng phân xử ñược thực hiện ñể ñảm bảo chỉ có một bus chủ ñược truy cập vào bus ở tại bất kỳ thời ñiểm nào. Bộ phân xử thực hiện chức năng này bằng cách quan sát một số các yêu cầu sử dụng bus khác nhau và quyết ñịnh xem hiện tại bus chủ nào ñang có mức ưu tiên sử dụng bus cao nhất. Bộ phân xử cũng nhận các yêu cầu từ bus tớ cần hoàn tất các quá trình truyền SPLIT ñể thay ñổi lại quyền truy cập của các bus chủ.

Một quá trình yêu cầu quyền truy cập bus có thểñược mô tả như sau: bus chủ cần truy cập bus sẽ sử dụng tín hiệu HBUSREQx ñể yêu cầu ñược truy nhập vào bus và có thể yêu cầu tại bất cứ chu kỳ xung nào. Bộ phân xử sẽ lấy mẫu yêu cầu tại sườn lên của xung và dùng một thuật toán ưu tiên ñể quyết ñịnh bus chủ

kế tiếp ñược truy cập bus. Thông thường, bộ phân xử sẽ chỉ chấp nhận một bus chủ khác khi một quá trình truyền khối ñã hoàn thành. Tuy nhiên, nếu ñược yêu cầu, bộ phân xử có thể ngắt một quá trình truyền khối sớm ñể cho bus chủ có quyền ưu tiên cao hơn truy nhập vào bus. Nếu bus chủ yêu cầu khóa truy cập thì nó phải phát tín hiệu HLOCKx ñể báo cho bộ phân xử ngăn không cho bus chủ

khác truy nhập vào bus.

Bộ phân xử báo hiệu cho một bus chủ ñược phép truy nhập vào bus bằng cách phát tín hiệu HGRANTx tương ứng với bus chủ ñó. Khi quá trình truyền

hiện tại hoàn tất, bus chủ ñó sẽ ñược sở hữu bus và bộ phân xử sẽ thay ñổi tín hiệu HMASTER[3:0] ñể báo hiệu sốñịnh danh của bus chủñó.

2.5. Phn hi truyn ca Slave

Sau khi một bus chủ bắt ñầu một quá trình truyền, bus tớ sẽ quyết ñịnh xem quá trình truyền nên tiến hành như thế nào. Trong cấu trúc của hệ thống bus AHB không cho phép bus chủ hủy một quá trình truyền khi nó ñã diễn ra.

Khi một bus tớñược tham gia vào quá trình truyền, nó sẽ cung cấp các tín hiệu phản hồi ñể báo hiệu tình trạng hiện tại của quá trình truyền. Tín hiệu HREADY ñược sử dụng ñể mở rộng một quá trình truyền và nó hoạt ñộng kết hợp với một tín hiệu phản hồi khác (HRESP[1:0]) ñể cung cấp thêm thông tin về

trạng thái của quá trình truyền. Có bốn loại phản hồi là OKAY, ERROR, RETRY, SPLIT và ñược quy ñịnh bởi tín hiệu HRESP[1:0] như ñược mô tả

trong Bảng 3.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu, thiết kế và thực hiện bus truyền thông tốc độ cao AMBA AHB (Trang 28 - 31)

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

(87 trang)