標籤: 暫無標籤

在微機原理中,匯流排分為地址線、數據線和控制線,地址線是用來傳輸地址信息用的。舉個簡單的例子:cpu在內存或硬碟裡面尋找一個數據時,先通過地址線找到地址,然後再通過數據線將數據取出來。 如果有32根.就可以訪問2的32次方的空間,也就是4GB.
在地址位多處理器協議中(ADDR/IDLE MODE位為1),最後一個數據位後有一個附加位,稱之為地址位。數據塊的第一個幀的地址位設置為1,其他幀的地址位設置為0。地址位多處理器模式的數據傳輸與數據塊之間的空閑周期無關(參看圖在SCICCR寄存器中的位3——ADDR/IDLE MODE位)。
TXWAKE位的值被放置到地址位,在發送期間,當SCITXBUF寄存器和TXWAKE分別裝載到TXSHF寄存器和WUT中時,TXWAKE清0,且WUT的值為當前幀的地址位的值.因此,發送一個地址需要完成下列操作:
●TXWAKE位置1,寫適當的地址值到SCITXBUF寄存器。當地址值被送到TXSHF寄存器又被移出時,地址位的值被作為1發送。這樣串列匯流排上其他處理器就讀取這個地址。
●TXSHF和WUT載入后,向SCITXBUF和TXWAKE寫入值(由於TXSHF和WUT是雙緩衝的,它們能被立即寫入)。
●TXWAKE位保持0,發送塊中無地址的數據幀。
  
圖 地址位多處理器通信格式
一般情況下,地址位格式應用於11個或更少位元組的數據幀傳輸。這種格式在所有發送的數據位元組中增加了一位(1代表地址幀,0代表數據幀);通常12個或更多位元組的數據幀傳輸使用空閑線格式。
(1)地址位元組
發送節點(Talker)發送信息的第一個位元組是一個地址位元組,所有接收節點(Listener)都讀取該地址位元組。只有接收數據的地址位元組同接收節點的地址位元組相符時,才能中斷接收節點。如果接收節點的地址和接收數據的地址不符,接收節點將不會被中斷,等待接收下一個地址位元組。
(2)Sleep位
連接到串列匯流排上的所有處理器都將SCI SLEEP位置1(SCICTL1的第二位),這樣只有檢測到地址位元組后才會被中斷。當處理器讀到的數據塊地址與用戶應用軟體設置的處理器地址相符時,用戶程序必須清除SLEEP位,使SCI能夠在接收到每個數據位元組時產生一個中斷。
儘管當SLEEP位置1時接收器仍然工作,但它並不能將RXRDY、RXINT或任何接收器錯誤狀態位置1,只有在檢測到地址位且接收的幀地址位是1時才能將這些位置1。SCI本身並不能改變SLEEP位,必須由用戶軟體改變。
(3)識別地址位
處理器根據所使用的多處理器模式(空閑線模式或地址位模式),採用不同的方式識別地址位元組,例如:
●空閑線模式在地址位元組前預留一個靜態空間,該模式沒有額外的地址/數據位。它在處理包含lO個以上位元組的數據塊傳輸方面比地址位模式效率高。空閑線模式一般用於非 多處理器的SCI通信。
●地址位模式在每個位元組中加入一個附加位(也就是地址位)。由於這種模式數據塊之間不需要等待,因此在處理小塊數據時比空閑線模式效率更高。
(4)控制SCI TX和RX的特性
用戶可以使用軟仵通過ADDR/IDLE MODE位(SCICCR,位3)選擇多處理器模式,兩種模式都使用TXWAKE(SCICTL1,位3)、RXWAKE(SCIRXST,位1)和SLEEP標誌位(SCICTL1,位2)控制SCI的發送器和接收器的特性。
(5)接收步驟
在兩種多處理器模式中,接收步驟如下:
①在接收地址塊時,SCI埠喚醒並申請中斷(必須使能SCICTL2的RX/BK INT ENA位申請中斷),讀取地址塊的第一幀,該幀包含目的處理器的地址。
②通過中斷檢查接收的地址啟動軟體常式,然後比較內存中存放的器件地址和接收到數據的地址位元組。
③如果上述地址相吻合表明地址塊與DSP的地址相符,則CPU清除SLEEP位並讀取塊中剩餘的數據;否則,退出軟體子程序並保持SLEEP置位,直到下一個地址塊的開始才接收中斷。
上一篇[指令解碼]    下一篇 [茶陵派]

相關評論

同義詞:暫無同義詞