日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]1.概述近年來作為數(shù)據(jù)存儲介質(zhì)的硬盤,其接口智能化程度越來越高,容量不斷增大,反而體積在變小,并可脫離系統(tǒng)主機,控制起來比較方便,已經(jīng)受到人們的普遍重視?,F(xiàn)今,在許多以單片機為核心的持續(xù)數(shù)據(jù)采集存儲應用

1.概述

近年來作為數(shù)據(jù)存儲介質(zhì)的硬盤,其接口智能化程度越來越高,容量不斷增大,反而體積在變小,并可脫離系統(tǒng)主機,控制起來比較方便,已經(jīng)受到人們的普遍重視?,F(xiàn)今,在許多以單片機為核心的持續(xù)數(shù)據(jù)采集存儲應用系統(tǒng)中,數(shù)據(jù)存儲是一項關鍵技術(shù),因此,若能將脫機高速大容量硬盤應用到此類系統(tǒng)中,則可提高讀寫速度、降低單位成本、具有很大優(yōu)勢。但是,硬盤讀寫是一個復雜的過程,它涉及到硬盤的接口方式、尋址方式、控制寄存器模型等。這樣以來,我們就急需找到一種方案,占用較少的單片機資源,卻能比較方便的控制硬盤.本文通過8255[1]對單片機進行I/O擴展,驅(qū)動IDE硬盤,成功的解決了上述問題,從而使硬盤可以應用到許多智能系統(tǒng)中。

2. 系統(tǒng)硬件結(jié)構(gòu)

如圖1所示,本系統(tǒng)由單片機(W78E52)、地址鎖存器(74HC373)、8255、施密特反向器(74HC04)、IDE硬盤驅(qū)動器組成。單片機通過8位數(shù)據(jù)總線、A0、A1、CS、WR、RD與8255相連。單片機將8255作為I/O口擴展,8255的端口A和端口B與IDE接口的16位數(shù)據(jù)線相連;端口C產(chǎn)生IDE總線的控制信號。IDE接口的DASP腳所接的LED作為指示燈,類似PC機,當硬盤忙時,指示燈亮。

IDE[2][5]接口是將ST506控制器集成到驅(qū)動器中,從處理器角度看,IDE接口可被描述成一系列I/O端口----一組8/16位的I/O端口,兩根片選線(CS1FX和CS3FX),讀寫控制線(RD和WR),三根地址線(DA0,DA1,DA2)和一個中斷請求(INTRQ)以及用來設置數(shù)據(jù)傳輸模式的控制線。IDE接口在硬盤的存取采用16位數(shù)據(jù)總線方式。在ATA[3]標準中,IDE接口對硬盤的輸入輸出操作均是通過對相應寄存器的讀寫來實現(xiàn)的,這些端口寄存器統(tǒng)稱為命令塊寄存器,是由片選線和地址線進行統(tǒng)一編址的,其功能如表1所示:

IDE接口的硬盤驅(qū)動器提供兩種數(shù)據(jù)傳輸模式:PIO模式和DMA模式。由于采用PIO模式控制相對容易,并且提供了一種可編程控制輸入/輸出的快速傳輸方法,所以本系統(tǒng)使用PIO模式。該模式采用高速的數(shù)據(jù)塊I/O,以扇區(qū)為單位,用中斷請求方式與CPU進行批量數(shù)據(jù)交換。通常情況下,在扇區(qū)讀寫操作時,每次按16位長度通過內(nèi)部的高速PIO數(shù)據(jù)寄存器進行傳輸,每傳輸一扇區(qū)數(shù)據(jù)就產(chǎn)生一次中斷。

系統(tǒng)不能直接用8255的輸出口控制IDE接口,是由于8255有一個不良特性:當切換芯片I/O口的輸入/輸出模式時,將重新復位所有的引腳狀態(tài),當然也包括所有的輸出信號。這對于作為數(shù)據(jù)總線的信號影響不大,但對控制信號卻有不小的沖擊,尤其是它會將IDE接口的復位線使能(IDE的控制引腳都是低電平有效),這樣就不能正常控制硬盤。因此,本系統(tǒng)通過74HC04將8255的控制端口接到IDE接口上。此時,當8255改變I/O口的工作模式時,所有的輸出全部復位為“0”,經(jīng)74HC04后所有的控制信號被拉成高電平,IDE驅(qū)動器就不會處于使能狀態(tài)。

3. 系統(tǒng)軟件設計

本系統(tǒng)的軟件設計采用程序結(jié)構(gòu)化和功能模塊化的設計方法,以便于此設計具有良好的可移植性。系統(tǒng)軟件包括主程序和任務子程序。任務子程序由讀扇區(qū)  (Read_sector),寫扇區(qū) (Write_sector),錯誤處理 (Process_error),邏輯塊地址寫(wr_lba),IDE讀 (ide_rd),IDE寫 (ide_wr)等組成。主程序流程圖如圖2所示:

單片機上電后對8255以及IDE驅(qū)動器進行初始化,并不停查詢鍵盤,以判斷是否有任務到達,如有任務,則根據(jù)命令進入到相應任務子程序。在進入任務子程序之前,必須先檢測IDE驅(qū)動器的狀態(tài),IDE驅(qū)動器的狀態(tài)寄存器如表2所示:

在PIO[4]工作模式下,向硬盤發(fā)出命令前,必須先檢測驅(qū)動器是否忙(BSY)。如果在規(guī)定時間內(nèi)硬盤驅(qū)動器一直忙碌,置超時錯,否則表示硬盤驅(qū)動器空閑,可接受命令,對硬盤進行相應操作。IDE接口通過兩個協(xié)議來執(zhí)行命令:PI協(xié)議(讀扇區(qū))和PO協(xié)議(寫扇區(qū))。

3.1 讀扇區(qū)操作

處理器在接收到讀扇區(qū)的命令后,首先調(diào)用ide_rd線程,將8255數(shù)據(jù)線端口配置成輸入模式,然后讀出IDE的狀態(tài),查詢硬盤是否準備好(DRDY=1?);若準備好則調(diào)用wr_lba線程,把邏輯塊地址寫入到相應寄存器;調(diào)用ide_wr線程,將8255數(shù)據(jù)線端口配置成輸出模式,把命令代碼寫入命令寄存器,讀扇區(qū)命令開始執(zhí)行。此時對驅(qū)動器狀態(tài)寄存器的BSY位置1,同時將硬盤上指定扇區(qū)上的數(shù)據(jù)送入扇區(qū)緩沖區(qū)。當扇區(qū)緩沖區(qū)準備好時,置位DRQ位,清除BSY位,發(fā)中斷請求INTRQ信號。

而后處理器讀取狀態(tài)寄存器,若DRQ=1,則將扇區(qū)緩沖區(qū)中的數(shù)據(jù)讀走,完畢后,驅(qū)動器置BSY,準備讀下一個扇區(qū),直到請求的扇區(qū)全部讀完。

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

其程序流程圖如圖3:

3.2 寫扇區(qū)操作

如圖4所示,處理器在接收到寫扇區(qū)的命令后,讀IDE的狀態(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ù)寫入硬盤,當寫盤結(jié)束,清除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)生,則跳入錯誤處理子程序。

3.3邏輯塊尋址操作

IDE可以用兩種方法來尋址即物理尋址方式(CHS)和邏輯尋找方式(LBA)。由于LAB是將物理參數(shù)轉(zhuǎn)換成線性地址,對用戶來說驅(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硬盤的寄存器進行讀寫操作,控制IDE讀寫周期。


讀周期(ide_rd):
ide_rd:
push acc
mov dptr, #cfg8255
mov a, #rd_ide_8255
movx @dptr, a                   ;配置8255的 工作方式為讀模式
mov dptr, #ide_8255_ctl
pop acc
movx @dptr, a                   ;選中所需寄存器
orl a, #ide_rd_line
movx @dptr, a                   ;使能讀引腳
mov dptr, #ide_8255_msb
clr a
movc a, @a+dptr                 ;讀寄存器高字節(jié)
mov r3,a
mov dptr, #ide_8255_lsb
clr a
movc a,@a+dptr                  ;讀寄存器低字節(jié)
mov r2, a
mov dptr, #ide_8255_ctl
clr a
movx @dptr, a                   ;將控制端口復位
ret                             ;子程序返回
寫周期(ide_wr):

寫周期與讀周期類似,首先將8255配置為寫模式,選中所所要操作寄存器,將寄存器高8位和低8位數(shù)據(jù)分別送到端口A、B,激活IDE總線的寫信號;寫完畢,通過復位端口的相應位清除IDE總線的寫信號。

3.5錯誤處理操作

在對硬盤讀寫操作時,需要查詢狀態(tài)寄存器的ERR位,判斷是否有錯。若有錯,查詢IDE的錯誤寄存器,判斷錯誤類型,進行相應的錯誤處理:在寫扇區(qū)操作中,當檢測到壞扇區(qū)(BBK)錯誤時,跳過并標記壞扇區(qū),重新分配扇區(qū);在讀寫操作中,如果沒有發(fā)現(xiàn)0磁道,將調(diào)用驅(qū)動器重校命令來使驅(qū)動器從錯誤中恢復出來;在讀扇區(qū)過程中,若發(fā)生錯誤,驅(qū)動器將重讀出錯扇區(qū),若仍有錯誤,操作將被終止。

4. 結(jié)束語

本系統(tǒng)提出了一種單片機控制硬盤的方法,能夠比較簡潔方便對硬盤進行讀寫等操作,并成功的應用實際產(chǎn)品中,具有良好的可靠性和穩(wěn)定性,可以應用到許多要求大容量數(shù)據(jù)存儲的系統(tǒng)中,并可取得了良好的社會效益。

參考文獻
[1]. 李華 MCS—51系列單片機實用接口技術(shù)[M] 北京 北京航空航天大學出版社 1993 P98-120
[2]. 陳利學 孫彪 趙玉連 微機總線與接口設計[M] 成都 電子科技大學出版社 1988 P45-90
[3].AT Attachment with Packet Interface Extension (ATA/ATAPI-5) ANSI NCITS 1998  P317
[4].Maury Wright. Disk Drivers at 40 Lean . Mean Storage Machines .1996  P41
[5]. 徐厚俊 IDE接口和IDE硬盤驅(qū)動器 新浪潮 1996  P17
 

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

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠通信宣布,其自研藍牙協(xié)議棧DynaBlue率先通過藍牙技術(shù)聯(lián)盟(SIG)BQB 6.1標準認證。作為移遠深耕短距離通信...

關鍵字: 藍牙協(xié)議棧 移遠通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實黨中央、國務院和上海市委、市政府關于加快發(fā)展人力資源服務業(yè)的決策部署,更好發(fā)揮人力資源服務業(yè)賦能百業(yè)作用,8月29日,以"AI智領 HR智鏈 靜候你來&quo...

關鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達成合作,為其自主研發(fā)的"旗馭車管"車輛運營管理平臺提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺對百余家企業(yè)客戶的運營管理效率...

關鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟和信息化委員會、上海市發(fā)展和改革委員會、上海市商務委員會、上海市教育委員會、上海市科學技術(shù)委員會指導,東浩蘭生(集團)有限公司主辦,東浩蘭生會展集團上海工業(yè)商務展覽有...

關鍵字: 電子 BSP 芯片 自動駕駛

推進卓越制造,擴大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車系統(tǒng)與蘇州工業(yè)園區(qū)管委會正式簽署備忘錄,以設立耐世特亞太總部蘇州智能制造項目。...

關鍵字: 智能制造 BSP 汽車系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團宣布,新世代首款量產(chǎn)車型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車展。中國專屬版車型也將在年內(nèi)與大家見面,2026年在國內(nèi)投產(chǎn)。 寶馬集團董事...

關鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領創(chuàng)新的核心驅(qū)動力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車...

關鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應用發(fā)展大會"。會議以"破界?融合...

關鍵字: ETHERNET 智能未來 BSP 工業(yè)通信
關閉