Sơ ñồ máy trạng thái của bus chủ

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 44 - 47)

Chức năng và hoạt ñộng của mỗi trạng thái có thểñược mô tả như sau. - IDLE: trạng thái này có ñược khi tín hiệu HRESETn ở mức thấp hoặc khi

các quá trình truyền kết thúc và bus chủ rời khỏi bus. ðây là trạng thái khởi ñầu cho một hoạt ñộng mới của bus. Trạng thái này sẽ thiết lập các tín hiệu trở lại giá trị mặc ñịnh khi hệ thống khởi ñộng.

- ADDR: trạng thái tương ứng với pha ñịa chỉ khi bắt ñầu một quá trình truyền. Trong trạng thái này thì chỉ có tín hiệu ñịa chỉ ñược truyền ñi cùng với các tín hiệu ñiều khiển.

- ADDRR và ADDRW: ñây là hai trạng thái tương ứng với pha ñịa chỉ

trong các quá trình truyền. Trong hai trạng thái này thì tín hiệu dữ liệu ñọc hoặc ghi sẽñược truyền ñi cùng với các tín hiệu báo hiệu kiểu truyền. Tín hiệu ñịa chỉ và ñiều khiển của quá trình truyền tiếp theo cũng sẽñược phát

ñi trong hai trạng thái này. Các trạng thái này cùng sẽñảm trách việc tính toán ñịa chỉ của khối truyền tiếp theo nếu bus chủñang thực hiện một quá trình truyền khối. Việc chia quá trình ñọc và ghi ra thành hai trạng thái riêng rẽ là do việc cấp dữ liệu ñọc và ghi xảy ra ở các thời ñiểm khác nhau của pha dữ liệu của quá trình truyền.

- WAITTING: trạng thái này xuất hiện khi HREADY có giá trị ở mức thấp tại xung HCLK trước ñó. Trạng thái này cung cấp thêm một chu kỳñợi ñể

bus tớ có thời gian xử lý dữ liệu ñược truyền. Dữ liệu ñọc có thể ñược truyền cho bus chủ trong chu kỳ này.

- BUSY: ñây là trạng thái ñợi khi lõi IP cần thêm thời gian ñể xử lý dữ liệu truyền. Trạng thái này xuất hiện nếu có tín hiệu Ready_R hoặc Valid_W ở

mức thấp tương ứng với quá trình truyền ñang thực hiện là ñọc hay ghi. - LAST: ñây là trạng thái tương ứng với pha dữ liệu cuối cùng của quá trình

truyền. Nếu quá trình truy cập bus kết thúc thì trong trạng thái này chỉ

truyền tín hiệu dữ liệu của quá trình truyền cuối cùng. Nếu bus chủ vẫn giữ ñược quyền truy cập thì trạng thái này cũng sẽ truyền ñi tín hiệu ñịa chỉ và ñiều khiển của quá trình truyền tiếp sau.

- ERROR: trạng thái này xuất hiện khi ở xung HCLK trước ñó bus tớ có phát ñi một phản hồi truyền ERROR. Trong trạng thái này, tín hiệu ERROR sẽ ở mức cao ñể báo cho lõi IP biết quá trình truyền ñã thất bại. Trạng thái tiếp sau trạng thái này là trạng thái IDLE.

- RETRY: trạng thái này xuất hiện khi ở xung HCLK trước ñó bus tớ có phát ñi một phản hồi truyền RETRY. Trong trạng thái này, nếu bus chủ ñang sở hữu bus là M2 thì nó phải phát lại tín hiệu HBUSREQx ñể yêu cầu quyền truy cập bus trong trường hợp nó bị ngắt khỏi bus do M1 chiếm quyền truy cập.

- BACK_RETRY: trạng thái này xuất hiện sau trạng thái RETRY hoặc sau khi bus chủ bị ngắt khỏi bus do bị chiếm quyền trong quá trình RETRY nhưng nay ñược tái truy cập bus ñể tiếp tục quá trình truyền ñã bị tạm

ngưng trước ñó. Trong trạng thái này, số thứ tự và ñịa chỉ của khối truyền sẽ ñược tính toán lại cho phù hợp. Các khối truyền còn lại sau quá trình RETRY ñược xem như là một quá trình truyền khối mới có ñộ dài không xác ñịnh, do ñó các tín hiệu HTRAN và HBURST cũng ñược thay ñổi lại tương ứng.

- CONST_RETRY: ñây là trạng thái xuất hiện ngay sau trạng thái BACK_RETRY. Trạng thái này gần giống như các trạng thái ADDRR và ADDRW ngoại trừ việc nó không truyền dữ liệu bởi vì dữ liệu ñã ñược

ñưa lên bus và không thể thay ñổi.

- SPLIT: trạng thái này xuất hiện khi ở xung HCLK trước ñó bus tớ có phát

ñi một phản hồi truyền SPLIT. Bus chủ sẽ phát tín hiệu HBUSREQx ở

mức cao khi chuyển qua trạng thái này vì lúc này quyền sở hữu bus ñã

ñược chuyển cho bus chủ kia.

- BACK_SPLIT: bus chủ sẽ chuyển từ trạng thái SPLIT qua trạng thái này nếu bus chủ ñược bộ phân xử cấp lại quyền truy cập bus sau khi gặp một phản hồi truyền SPLIT. Sau quá trình SPLIT, các khối truyền còn lại của quá trình truyền trước ñó sẽñược xem như là một quá trình truyền mới với

ñộ dài không xác ñịnh. Do ñó, trong trạng thái này thì các tín hiệu ñịa chỉ, HTRAN và HBURST cũng ñược thay ñổi tương ứng.

- CONST_SPLIT: trạng thái này xuất hiện ngay sau trạng thái BACK_SPLIT. Mục ñích của trạng thái này là cung cấp thêm một chu kỳ

xung nhịp ñể bus chủ kia có thể hoàn thành pha dữ liệu cuối cùng.

Giản ñồ xung minh họa một quá trình SPLIT ñược thể hiện như trên Hình 25. Trong quá trình này, bus M1 ñang sở hữu bus nhưng bị bus tớ gửi phản hồi SPLIT ở ñịa chỉ A+14 nên nó phải chuyển lại quyền sở hữu bus cho M2 (do M2 có yêu cầu) ñể M2 thực hiện quá trình truyền của nó. Sau khi M2 thực hiện xong quá trình truyền và bus tớ thông báo ñã thực hiện xong SPLIT ñối với M1 (thông qua tín hiệu HSPLITx), thì M1 ñược quay lại bus ñể thực hiện truyền tiếp ở ñịa chỉ A+14.

Hình 26 minh họa giản ñồ xung của một quá trình RETRY. Với quá trình RETRY này, M2 là bus chủ ñang có quyền sử dụng bus. Trong quá trình truyền, bus chủ M2 ñã phát ñịa chỉ A+12 nhưng lúc này bus tớ phát ra phản hồi RETRY

ñối với ñịa chỉ A+8. ðồng thời bus chủ M1 có yêu cầu quyền truy cập bus nên M2 bị tạm ngưng quá trình truyền ñể M1 thực hiện truyền. Sau khi M1 thực hiện xong quá trình truyền, M2 quay trở lại bus tại ñịa chỉ A+8 ñể truyền lại quá trình

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 44 - 47)

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

(87 trang)