<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的IDE硬盤控制的研究與設計

          基于單片機的IDE硬盤控制的研究與設計

          作者: 時間:2012-03-29 來源:網(wǎng)絡 收藏

          3.2 寫扇區(qū)操作

          如圖4所示,處理器在接收到寫扇區(qū)的命令后,讀的狀態(tài),查詢是否準備好(DRDY=1?);若準備好則把邏輯塊地址寫入到相應寄存器,告之所需要操作的扇區(qū);將寫扇區(qū)命令代碼寫入命令寄存器,同時驅(qū)動器設置狀態(tài)寄存器的DRQ位,表示準備好接收數(shù)據(jù),處理器通過數(shù)據(jù)寄存器將數(shù)據(jù)寫入扇區(qū)緩沖區(qū),當扇區(qū)緩沖區(qū)添滿后,驅(qū)動器清除DRQ位,并置位BSY。驅(qū)動器將扇區(qū)緩沖區(qū)中的數(shù)據(jù)寫入,當寫盤結束,清除BSY位,發(fā)中斷請求信號 INTRQ,CPU接收到中斷信號后,讀驅(qū)動器狀態(tài)寄存器,同時將中斷信號INTRQ清除。而后處理器讀取狀態(tài)寄存器,若DRQ=1,則將扇區(qū)緩沖區(qū)中的數(shù)據(jù)讀走,完畢后,驅(qū)動器置BSY,準備讀下一個扇區(qū),直到請求的扇區(qū)全部讀完。

          在寫的過程中查詢狀態(tài)寄存器的ERR位,若有錯誤產(chǎn)生,則跳入錯誤處理子程序。

          55.jpg

          3.3邏輯塊尋址操作

          可以用兩種方法來尋址即物理尋址方式(CHS)和邏輯尋找方式(LBA)。由于LAB是將物理參數(shù)轉換成線性地址,對用戶來說驅(qū)動器是有由連續(xù)數(shù)據(jù)塊(扇區(qū))組成的存儲介質(zhì),不需要知道驅(qū)動器的磁頭、磁道等參數(shù)。因此,本系統(tǒng)采用LBA,其與CHS影射關系為:

          LBA=(柱面號*磁頭數(shù)+磁頭號)*扇區(qū)數(shù)+扇區(qū)編號1

          在該操作中,處理器根據(jù)上述映射關系通過寫4個字節(jié)LBA地址分別向磁頭號寄存器、柱面號高字節(jié)寄存器、柱面號低字節(jié)寄存器以及起始扇區(qū)號寄存器寫入數(shù)據(jù),以得出需要操作的扇區(qū)。

          3.4 ide_rd線程和ide_wr線程

          處理器通過ide_rd線程和ide_wr線程,設置8255工作模式,對的寄存器進行讀寫操作,IDE讀寫周期。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();