當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]FAS466是Qlogic公司的一款Fast結(jié)構(gòu)的SCSI處理器。而FAS466處理器的開發(fā)難點(diǎn)之一是軟件設(shè)計(jì)。文中通過對(duì)FAS466處理器內(nèi)部結(jié)構(gòu)和操作原理的深入分析,給出了基于FAS466的系統(tǒng)的通用軟件解決方案和應(yīng)用實(shí)例。

    摘要:FAS466是Qlogic公司的一款Fast結(jié)構(gòu)的SCSI處理器。而FAS466處理器的開發(fā)難點(diǎn)之一是軟件設(shè)計(jì)。文中通過對(duì)FAS466處理器內(nèi)部結(jié)構(gòu)和操作原理的深入分析,給出了基于FAS466的系統(tǒng)的通用軟件解決方案和應(yīng)用實(shí)例。

    關(guān)鍵詞:FAS466;SCSI;SCSI控制器;微控制器

FAS466是Qlogic公司生產(chǎn)的一款高性能SCSI處理器,它可提供Fast40 SCSI同步傳輸速率,其高度集成的SCSI核心支持先進(jìn)的SCAM一層和二層協(xié)議,而內(nèi)嵌的微控制器則使用戶可以通過靈活多變的編程方式協(xié)調(diào)SCSI隊(duì)列,簡(jiǎn)明清晰的外部接口使得硬件設(shè)計(jì)更為簡(jiǎn)單,尤其適合于開發(fā)專用SCSI存儲(chǔ)系統(tǒng)。硬件接口的設(shè)計(jì)此前已有文章介紹,而軟件設(shè)計(jì)是基于FAS466系統(tǒng)的開發(fā)難點(diǎn),目前此類文章尚不多見。本文通過對(duì)FAS466處理器內(nèi)部結(jié)構(gòu)和操作原理的深入分析,給出了基于FAS466處理器系統(tǒng)的通用軟件解決方案和應(yīng)用實(shí)例。

1 FAS466的結(jié)構(gòu)和原理

FAS466的內(nèi)部結(jié)構(gòu)如圖1所示,該器件由SCSI控制器、微控制器、FIFO以及連接它們的總線和信號(hào)線組成,并通過它們?yōu)橥獠刻峁?strong>微處理器接口、DMA接口和SCSI總線接口。

FAS466微處理器接口可以連接多種微處理器或DSP;而DMA接口則主要與外部DMA控制器連接?組成DMA通道;SCSI總線接口可以連接各種SCSI設(shè)備。其中,SCSI控制器與微控制器分別是SCSI協(xié)議的執(zhí)行中心和控制核心。

1.1 SCSI控制器操作原理

SCSI控制器為SCSI協(xié)議操作提供了靈活有力的底層硬件支持。它通過32個(gè)8位寬的寄存器與外部微處理器作用。SCSI控制器命令集包括中斷命令、斷開命令、目標(biāo)器模式命令、啟動(dòng)器模式命令和混合命令。外部微處理器或者FAS466微控制器通過向SCSI控制器命令寄存器中寫入代表特定行為的命令代碼來實(shí)現(xiàn)命令的發(fā)送。SCSI控制器將自動(dòng)執(zhí)行命令,通過命令中斷狀態(tài)寄存器和命令狀態(tài)寄存器來反映命令完成的狀態(tài)信息。

SCSI控制器內(nèi)部有五個(gè)狀態(tài)階段:復(fù)位狀態(tài)、斷開(空閑)狀態(tài)、選擇和重選允許狀態(tài)、目標(biāo)器空閑狀態(tài)和啟動(dòng)器空閑狀態(tài)。其狀態(tài)轉(zhuǎn)換圖如圖2所示。

(1)復(fù)位狀態(tài)

上電復(fù)位后,SCSI控制器處于復(fù)位狀態(tài),此時(shí)SCSI控制器不能驅(qū)動(dòng)任何SCSI總線信號(hào),也不響應(yīng)任何信號(hào),命令寄存器中的命令被忽略?而且只要FAS466外部復(fù)位信號(hào)有效,SCSI控制器始終保持在這個(gè)狀態(tài)。在操作過程中,外部微處理器可以通過給SCSI控制器模塊的復(fù)位位寫1(微處理器接口模塊復(fù)位寄存器1位)使SCSI控制器處于復(fù)位狀態(tài),寫0使SCSI控制器進(jìn)入空閑狀態(tài)。

(2) 斷開(空閑)狀態(tài)

當(dāng)SCSI總線復(fù)位信號(hào)(RST)有效,且SCSI控制器不處于復(fù)位狀態(tài)或者SCSI控制器與SCSI總線斷開時(shí),SCSI控制器進(jìn)入該狀態(tài),此狀態(tài)不能進(jìn)行選擇和重選操作。

(3)選擇和重選允許狀態(tài)

當(dāng)斷開模式命令允許SCSI控制器響應(yīng)選擇和重選信號(hào)時(shí),系統(tǒng)進(jìn)入此狀態(tài),所有參與仲裁使用SCSI總線的命令都必須經(jīng)過此狀態(tài)。該狀態(tài)下,SCSI控制器響應(yīng)總線發(fā)出選擇和重選事件。除非進(jìn)入目標(biāo)器或啟動(dòng)器空閑狀態(tài),或者RST信號(hào)有效,否則SCSI控制器將一直保持這個(gè)狀態(tài)。

(4)目標(biāo)器空閑狀態(tài)

當(dāng)SCSI控制器響應(yīng)總線發(fā)起事件或者作為其它SCSI設(shè)備重選的結(jié)果時(shí),系統(tǒng)進(jìn)入該狀態(tài)。此狀態(tài)下,SCSI控制器將作為目標(biāo)器連接到SCSI總線,且當(dāng)BSY(總線忙)信號(hào)有效時(shí),系統(tǒng)將驅(qū)動(dòng)SCSI階段流水線。此狀態(tài)承認(rèn)目標(biāo)器模式和混合命令。除非SCSI控制器目標(biāo)器斷開(總線空閑)或者RST信號(hào)有效,否則SCSI控制器將一直保持該狀態(tài)。

(5)啟動(dòng)器空閑狀態(tài)

當(dāng)SCSI控制器響應(yīng)總線重選事件或者作為其它SCSI設(shè)備選擇的結(jié)果時(shí),系統(tǒng)進(jìn)入該狀態(tài)。此狀態(tài)下,SCSI控制器將作為啟動(dòng)器連接到SCSI總線上,而FAS466并不使BSY信號(hào)有效,也不驅(qū)動(dòng)SCSI階段流水線。SCSI控制器將一直保持這個(gè)狀態(tài)、直到SCSI總線空閑(目標(biāo)器斷開)或者RST信號(hào)有效。

SCSI控制器根據(jù)當(dāng)前狀態(tài),總線發(fā)起事件和命令寄存器中的命令來決定各個(gè)狀態(tài)階段之間的轉(zhuǎn)換,以實(shí)現(xiàn)SCSI總線的仲裁作用,并響應(yīng)總線發(fā)起選擇或者重選事件以及進(jìn)行命令、消息、數(shù)據(jù)、狀態(tài)在SCSI總線上的傳輸?shù)热蝿?wù)。

1.2 FAS466微控制器操作原理

FAS466微控制器是一個(gè)小型的Fast結(jié)構(gòu)(40Million指令每秒)RISC微處理器,內(nèi)部有一個(gè)32位的寄存器文件、一個(gè)五級(jí)深度的堆棧、一個(gè)整型ALU和其它特殊功能寄存器。該微控制器的所有指令都是16位寬,除了子程序在兩個(gè)指令周期(四個(gè)時(shí)鐘周期)內(nèi)完成外,其它所有指令均在一個(gè)指令周期內(nèi)完成。

FAS466微控制器有三種操作狀態(tài):復(fù)位狀態(tài),空閑狀態(tài)和運(yùn)行狀態(tài),其狀態(tài)轉(zhuǎn)換圖如圖3所示。

系統(tǒng)復(fù)位時(shí),微控制器進(jìn)入復(fù)位狀態(tài),在空閑和復(fù)位狀態(tài)下,外部微處理器可以通過I/O口操作微控制器的內(nèi)部寄存器和程序存儲(chǔ)器。首先由外部微處理器通過地址指針寄存器加載寄存器地址,然后再通過內(nèi)部寄存器或者程序存儲(chǔ)器的字節(jié)操作寄存器來進(jìn)行操作。外部微處理器則通過設(shè)置地址指針寄存器和寫程序數(shù)據(jù)到程序存儲(chǔ)器的字節(jié)寄存器來將程序下載到微控制器的程序存儲(chǔ)器中。下載完畢后,外部微處理器向程序計(jì)數(shù)器寫程序開始執(zhí)行的地址,然后寫01h到控制狀態(tài)寄存器,這樣程序就會(huì)從指定的位置開始執(zhí)行以進(jìn)入運(yùn)行狀態(tài)。微控制器運(yùn)行過程中,外部微處理器不能打斷微控制器或者SCSI控制器,直到收到微控制器產(chǎn)生的一個(gè)中斷。在運(yùn)行狀態(tài),外部微處理器可以操作郵箱寄存器但不能操作通用功能寄存器。當(dāng)微控制器已執(zhí)行完當(dāng)前指令又沒有接收到新的指令時(shí),系統(tǒng)將進(jìn)入空閑狀態(tài)以等待新的命令。

2 FAS466的軟件解決方案

基于FAS466的系統(tǒng)可通過外部微處理器、FAS466微控制器和SCSI控制器的協(xié)調(diào)工作來實(shí)現(xiàn)系統(tǒng)功能。根據(jù)FAS466的內(nèi)部結(jié)構(gòu)和原理分析,這里給出如圖4所示的基于FAS466的系統(tǒng)整體軟件設(shè)計(jì)流程。其軟件工作過程如下:

(1)外部微處理器初始化FAS466微控制器和SCSI控制器。(FAS466微控制器初始化包括裝載和執(zhí)行它的固件)。

(2)FAS466微控制器允許SCSI控制器對(duì)SCSI總線選擇隊(duì)列的響應(yīng)。

(3)外部微處理器寫一個(gè)SCSI操作命令給外部命令/設(shè)置郵箱寄存器,然后設(shè)置LoadTBS位(外部 TBS寄存器6位),以通知FAS466微控制器有一個(gè)未響應(yīng)請(qǐng)求。

(4)FAS466位控制器檢查 LoadTBS位,確認(rèn)請(qǐng)求。

(5)FAS466禁止SCSI控制器對(duì)SCSI總線選擇和重選事件的響應(yīng)。

(6)FAS466微控制器復(fù)制外部命令/設(shè)置寄存器的內(nèi)容給存儲(chǔ)器,清除LoadTBS位,以允許外部微處理器在等待一個(gè)微控制器中斷前設(shè)置下一個(gè)命令。

(7)FAS466微控制器向SCSI控制器發(fā)送命令(一般用EXEC #k),SCSI控制器執(zhí)行命令并在命令完成后產(chǎn)生一個(gè)中斷。

(8)FAS466微控制器進(jìn)行中斷處理得到SCSI操作的邏輯結(jié)果后,產(chǎn)生一個(gè)中斷給外部微處理器。

(9)外部微處理器根據(jù)命令的執(zhí)行情況進(jìn)行中斷處理。

重復(fù)執(zhí)行(2)~(9)步實(shí)現(xiàn)系統(tǒng)的連續(xù)操作。

DMA傳輸是基于FAS466系統(tǒng)的主要工作。在傳輸數(shù)據(jù)量確定的情況下,數(shù)據(jù)量可由編程時(shí)寫入的塊數(shù)計(jì)數(shù)器和塊大小寄存器中的值決定。但由于實(shí)際應(yīng)用系統(tǒng)的傳輸數(shù)據(jù)量存在不確定性,在設(shè)計(jì)DMA數(shù)據(jù)傳輸程序時(shí),應(yīng)使SCSI FIFO中始終充滿數(shù)據(jù),或使DMA控制器或SCSI控制器持續(xù)讀寫SC-SI FIFO,以使SCSI總線上的數(shù)據(jù)傳輸不受啟動(dòng)器或目標(biāo)器的限制。FIFO的空、滿門限可由外部微處理器在初始化時(shí)通過編程設(shè)定。

    在傳輸數(shù)據(jù)量不確定的情況下,從外部DMA控制器接收數(shù)據(jù)的子程序如圖5所示。SCSI控制器接收到傳輸命令后即可參與總線仲裁以獲得總線的控制權(quán),而外部微處理器則通過設(shè)置RDATA位來決定數(shù)據(jù)傳送的方向;在FIFO為空而數(shù)據(jù)接收未完成時(shí),SCSI控制器進(jìn)行一次空操作,等待數(shù)據(jù)。數(shù)據(jù)量的不確定性可能使得命令完成后FIFO中仍殘留數(shù)據(jù),此時(shí)可以選擇暫停傳輸進(jìn)入EXFER(表示數(shù)據(jù)傳輸過程中出現(xiàn)錯(cuò)誤)中斷并清空FIFO,也可使其它處理回到傳輸起點(diǎn),或者忽略錯(cuò)誤直接回到傳輸起點(diǎn)。數(shù)據(jù)傳送完畢可以選擇是否斷開與SCSI總線的連接。若選擇斷開則進(jìn)入XFERCMPDSC(表示傳輸完成并與SCSI總線斷開)中斷,以釋放總線的控制權(quán)而讓其它的命令使用總線,此時(shí),如果想要進(jìn)行下一次數(shù)據(jù)傳輸,必須重新獲得總線控制權(quán)。若選擇不斷開總線則進(jìn)入XFERCMPNODSC(表示傳輸完成且不與SCSI總線斷開)中斷,可直接回到數(shù)據(jù)傳輸?shù)钠瘘c(diǎn)。在所有正常情況下,FAS466都將循環(huán)回到數(shù)據(jù)傳輸起點(diǎn),以便進(jìn)行連續(xù)數(shù)據(jù)傳輸。

3 應(yīng)用實(shí)例

基于FAS466的視頻存儲(chǔ)系統(tǒng)可實(shí)現(xiàn)數(shù)字圖像的無壓縮海量存儲(chǔ),該系統(tǒng)硬件框圖如圖6所示。圖中,DSP接收到開拍信號(hào)后將進(jìn)行系統(tǒng)初始化,CCD相機(jī)可將原始圖像信號(hào)經(jīng)過視頻采集卡轉(zhuǎn)換成數(shù)字圖像信號(hào)暫存到緩沖器中,并在DMA控制器的作用下,以DMA方式傳送給FAS466,數(shù)據(jù)在FAS466的控制下存入SCSI硬盤組。這樣,在硬件基礎(chǔ)上,就可通過本文所述的軟件解決方案實(shí)現(xiàn)視頻圖像的持續(xù)高速存儲(chǔ)。

4 軟件設(shè)計(jì)中的注意事項(xiàng)

在設(shè)計(jì)基于FAS466的系統(tǒng)軟件時(shí),應(yīng)注意以下一些問題:

(1)在FAS466支持的多種處理器中,每個(gè)外部微處理器類型都有其相應(yīng)的代碼,因此必須通過芯片配置寄存器選擇正確的微處理器模式。如TMS320C5X系列DSP的模式選擇值就應(yīng)為3Fh。

    (2)SCSI控制器并不允許命令堆棧,因此,每次只能接收和執(zhí)行一個(gè)命令。

(3)DMA傳輸時(shí),塊大小不能為奇數(shù)。

(4)非法寫入命令寄存器的命令將引起非法命令中斷,并設(shè)置非法命令錯(cuò)誤位(錯(cuò)誤中斷狀態(tài)寄存器第2位),因此,在將其它命令寫到命令寄存器前,這個(gè)中斷必須得到處理。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉