色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FAS446處理器的軟件設計和應用實例分析

電子設計 ? 來源:國外電子元器件 ? 作者:王忠寶,李變俠, ? 2020-05-29 08:01 ? 次閱讀

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

1、FAS466的結構和原理

FAS466的內部結構如圖1所示,該器件由SCSI控制器、微控制器、FIFO以及連接它們的總線和信號線組成,并通過它們為外部提供微處理器接口、DMA接口和SCSI總線接口。

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

1.1 SCSI控制器操作原理

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

基于FAS446處理器的軟件設計和應用實例分析

SCSI控制器內部有五個狀態階段:復位狀態、斷開(空閑)狀態、選擇和重選允許狀態、目標器空閑狀態和啟動器空閑狀態。其狀態轉換圖如圖2所示。

(1)復位狀態

上電復位后,SCSI控制器處于復位狀態,此時SCSI控制器不能驅動任何SCSI總線信號,也不響應任何信號,命令寄存器中的命令被忽略?而且只要FAS466外部復位信號有效,SCSI控制器始終保持在這個狀態。在操作過程中,外部微處理器可以通過給SCSI控制器模塊的復位位寫1(微處理器接口模塊復位寄存器1位)使SCSI控制器處于復位狀態,寫0使SCSI控制器進入空閑狀態。

(2) 斷開(空閑)狀態

當SCSI總線復位信號(RST)有效,且SCSI控制器不處于復位狀態或者SCSI控制器與SCSI總線斷開時,SCSI控制器進入該狀態,此狀態不能進行選擇和重選操作。

(3)選擇和重選允許狀態

當斷開模式命令允許SCSI控制器響應選擇和重選信號時,系統進入此狀態,所有參與仲裁使用SCSI總線的命令都必須經過此狀態。該狀態下,SCSI控制器響應總線發出選擇和重選事件。除非進入目標器或啟動器空閑狀態,或者RST信號有效,否則SCSI控制器將一直保持這個狀態。

(4)目標器空閑狀態

當SCSI控制器響應總線發起事件或者作為其它SCSI設備重選的結果時,系統進入該狀態。此狀態下,SCSI控制器將作為目標器連接到SCSI總線,且當BSY(總線忙)信號有效時,系統將驅動SCSI階段流水線。此狀態承認目標器模式和混合命令。除非SCSI控制器目標器斷開(總線空閑)或者RST信號有效,否則SCSI控制器將一直保持該狀態。

(5)啟動器空閑狀態

當SCSI控制器響應總線重選事件或者作為其它SCSI設備選擇的結果時,系統進入該狀態。此狀態下,SCSI控制器將作為啟動器連接到SCSI總線上,而FAS466并不使BSY信號有效,也不驅動SCSI階段流水線。SCSI控制器將一直保持這個狀態、直到SCSI總線空閑(目標器斷開)或者RST信號有效。

SCSI控制器根據當前狀態,總線發起事件和命令寄存器中的命令來決定各個狀態階段之間的轉換,以實現SCSI總線的仲裁作用,并響應總線發起選擇或者重選事件以及進行命令、消息、數據、狀態在SCSI總線上的傳輸等任務。

1.2 FAS466微控制器操作原理

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

FAS466微控制器有三種操作狀態:復位狀態,空閑狀態和運行狀態,其狀態轉換圖如圖3所示。

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

2、FAS466的軟件解決方案

基于FAS466的系統可通過外部微處理器、FAS466微控制器和SCSI控制器的協調工作來實現系統功能。根據FAS466的內部結構和原理分析,這里給出如圖4所示的基于FAS466的系統整體軟件設計流程。其軟件工作過程如下:

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

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

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

(4)FAS466位控制器檢查 LoadTBS位,確認請求。

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

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

(7)FAS466微控制器向SCSI控制器發送命令(一般用EXEC #k),SCSI控制器執行命令并在命令完成后產生一個中斷。

(8)FAS466微控制器進行中斷處理得到SCSI操作的邏輯結果后,產生一個中斷給外部微處理器。

(9)外部微處理器根據命令的執行情況進行中斷處理。

重復執行(2)~(9)步實現系統的連續操作。

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

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

3、應用實例

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

4、軟件設計中的注意事項

在設計基于FAS466的系統軟件時,應注意以下一些問題:

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

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

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

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

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19399

    瀏覽量

    230727
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    120921
  • 微處理器
    +關注

    關注

    11

    文章

    2273

    瀏覽量

    82644
收藏 人收藏

    評論

    相關推薦

    嵌入式實時操作系統uCOS II經典實例:基于STM32處理器

    嵌入式實時操作系統uCOS II經典實例:基于STM32處理器.part1
    發表于 10-18 23:59

    FOC是否支持F401和F411處理器

    嗨, 電機控制軟件套件(STM32 PMSM FOC LIBv4.2)是否支持STM32F401,'411和'446處理器?當我嘗試它時,它不允許CPU時鐘的另一個選項超過168,據我所知,上述
    發表于 02-26 10:56

    32位處理器的開發與8位處理器的開發有哪些明顯的不同?

    32位處理器的開發與8位處理器的開發有哪些明顯的不同?開發一個32位的嵌入式系統需要哪些工具和環境呢?32位嵌入式系統的開發過程中存在哪些技術難點?有什么方法去應對呢?
    發表于 04-19 08:11

    MSM8940處理器有哪些特點

    MSM8940處理器是什么?MSM8940處理器有哪些特點?
    發表于 11-09 07:09

    RK3399處理器與AR9201處理器有哪些不同之處呢

    RK3399處理器與AR9201處理器有哪些不同之處呢?hi3559A處理器與RV1126處理器有哪些不同之處呢?
    發表于 02-21 07:29

    Sitara AM62處理器的資料分享

    和預測性維護),有助于賦予HMI全新的意義,而不是僅限于實現人機交互的界面。AM62處理器能夠以低功耗實現邊緣器件的分析功能(掛起狀態功耗低至7mW且無需特殊考慮散熱設計),支持工程師靈活地在尺寸受限
    發表于 11-03 06:11

    Arm Cortex-R82處理器技術參考手冊

    使用。 在本手冊中,NUM_CORES指的是Cortex?-R82處理器內的核數,指的是核實例數。 集群在Cortex?-R82處理器的上下文中,集群指的是CPU網橋(系統端)(CBS)、共享網橋
    發表于 08-17 08:02

    基于ARM的PC/104處理器模塊設計

    提出了一種低成本的PC/104處理器模塊的設計。該模塊硬件上以ARM處理器為核心實現了PC/104處理模塊的基本結構、總線接口,軟件上構建了嵌入式Linux操作系統。以ARM
    發表于 08-25 10:36 ?20次下載

    Intel 64位處理器,Intel 64位處理器結構原理

    Intel 64位處理器,Intel 64位處理器結構原理 現在人們廣泛使用的是由32位微處理器構成的計算系統,但是32位的計算和操作系統不能支持
    發表于 03-26 15:07 ?3325次閱讀

    蘋果a6處理器怎么樣_a6處理器參數

    蘋果正式發布iphone5,iphone5采用A6處理器,那么A6處理器怎么樣?a6處理器參數是什么呢?a6處理器四核的嗎?帶著這些疑問,我們來一起了解下A6
    發表于 09-13 14:29 ?2.6w次閱讀

    嵌入式實時操作系統μCOS-Ⅱ經典實例——基于STM32處理器-

    嵌入式實時操作系統μCOS-Ⅱ經典實例——基于STM32處理器-光盤資料
    發表于 01-14 12:04 ?25次下載

    分析Cortex-A7處理器與Cortex-A15處理器各自的優勢及區別

    Cortex處理器一直都是很受歡迎的,許多用戶也喜歡將其以往的產品進行比較,Cortex-A7與Cortex-A15之間的優勢與區別也是大家熱衷討論的,那么下面則為大家進行對Cortex-A7處理器與Cortex-A15處理器
    發表于 10-31 10:23 ?6880次閱讀
    <b class='flag-5'>分析</b>Cortex-A7<b class='flag-5'>處理器</b>與Cortex-A15<b class='flag-5'>處理器</b>各自的優勢及區別

    麒麟9000處理器和高通驍龍875處理器相比如何?

    隨著華為mate10系列的發布,華為最后一代旗艦處理器,麒麟9000也就此亮相,大家對于麒麟9000處理器十分的看好。因為麒麟9000處理器在安兔兔的跑分竟然高達72萬分,較上一代麒麟990
    的頭像 發表于 11-03 11:31 ?5946次閱讀

    “硬件軟件化”,32位處理器的開發與8位處理器的開發資料下載

    電子發燒友網為你提供“硬件軟件化”,32位處理器的開發與8位處理器的開發資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-22 08:55 ?6次下載
    “硬件<b class='flag-5'>軟件</b>化”,32位<b class='flag-5'>處理器</b>的開發與8位<b class='flag-5'>處理器</b>的開發資料下載

    rk3566處理器屬于什么檔次?

    rk3566處理器屬于什么檔次? RK3566處理器是一款由瑞芯微公司推出的高性能處理器,在硬件配置和性能上都表現出了很強大的實力。目前市場上已經有了很多的RK3566處理器,相信大多
    的頭像 發表于 08-15 17:25 ?3.3w次閱讀
    主站蜘蛛池模板: 国产呻吟久久久久久久92| 国产精品www视频免费看| 亚洲精品无码一区二区三区四虎 | 野花日本韩国视频免费高清观看| 桃花论坛POWERED2019| 三级黄色高清视频| 青娱国产区在线| 秋霞伦理手机在线看片| 欧美视频 亚洲视频| 琪琪SEE色原网色原网站18| 欧美丝袜女同| 日本熟妇乱妇熟色A片蜜桃| 色情www日本欧美| 微福利92合集| 香蕉99久久久久成人麻豆| 贤妻良母电影日本| 亚洲AV 中文字幕 国产 欧美| 无码AV精品一区二区三区| 午夜亚洲WWW湿好爽| 亚洲AV午夜福利精品香蕉麻豆| 亚洲精品国产自在在线观看| 亚洲香蕉视频在线播放| 在线涩涩免费观看国产精品| 91区国产福利在线观看午夜| a圾片目录大全| 成人区在线观看免费视频| 国产成人综合在线视频| 国产视频这里只有精品| 精品一卡2卡三卡4卡乱码精品视频| 精品欧美一区二区三区四区| 久久久久久久久女黄9999| 末班车动漫无删减免费| 日本免费xxx| 性欧美videosex18嫩| 野花视频在线观看免费| 97公开超碰在线视频| 大桥未久在线看| 和I儿媳妇激情| 美女露出乳胸扒开尿口| 日本人的xxxxxxxxx69| 小舞被爆操|