久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

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

作者: 時間:2012-03-29 來源:網絡 收藏

3.2 寫扇區操作

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

在寫的過程中查詢狀態寄存器的ERR位,若有錯誤產生,則跳入錯誤處理子程序。

55.jpg

3.3邏輯塊尋址操作

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

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

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

3.4 ide_rd線程和ide_wr線程

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



評論


相關推薦

技術專區

關閉