亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 打印文章.htm

?? 硬盤 讀寫 文章 本人在 網上找到的 作為分析用的
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">0</TD>
          <TD align=middle width="17%">176</TD></TR>
        <TR class=main>
          <TD align=middle width="16%">1</TD>
          <TD align=middle width="16%">0</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">177</TD></TR>
        <TR class=main>
          <TD align=middle width="16%">0</TD>
          <TD align=middle width="16%">1</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">0</TD>
          <TD align=middle width="17%">376</TD></TR>
        <TR class=main>
          <TD align=middle width="16%">0</TD>
          <TD align=middle width="16%">1</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">1</TD>
          <TD align=middle width="17%">377</TD></TR>
        <TR class=main>
          <TD align=middle width="16%">0</TD>
          <TD align=middle width="16%">1</TD>
          <TD align=middle width="17%">*</TD>
          <TD align=middle width="17%">*</TD>
          <TD align=middle width="17%">*</TD>
          <TD align=middle width="17%">未用</TD></TR></TBODY></TABLE>
      <P 
      style="TEXT-INDENT: 30px">·數據寄存器(170R/W):這是一個16位PIO數據寄存器,用于對扇區的讀、寫和格式化操作。MCU通過該寄存器向硬盤控制寄存器寫入或從硬盤控制器讀出扇區緩沖區的數據。</P>
      <P 
      style="TEXT-INDENT: 30px">·錯誤寄存器(171R):該寄存器是一個8位的寄存器,它反映控制寄存器在診斷方式或操作方式下的錯誤原因。</P>
      <P 
      style="TEXT-INDENT: 30px">·扇區數寄存器(172R/W):它記錄讀、寫命令的扇區數。當多扇區傳輸時,每完成一個扇區操作,該寄存器自動減1,直至為0。如果初值為0,則表示256;如果有錯誤生,該寄存器包含已經操作成功的扇區數。</P>
      <P 
      style="TEXT-INDENT: 30px">·扇區號寄存器(173R/W):它記錄讀、寫和校驗命令指令起始扇區號。本文用LBA模式。該寄存器記錄邏輯扇區的0字節。</P>
      <P style="TEXT-INDENT: 30px">·柱面號寄存器(174 175 
      R/W):它記錄讀、寫、校驗、尋址和格式化命令指定的柱面號,在LBA尋址方式下,這2個寄存器包含起始扇區的1和2字節。</P>
      <P 
      style="TEXT-INDENT: 30px">·驅動器/磁頭寄存器(176R/W):它記錄讀、寫、校驗、尋道和格式化命令指定的驅動器號、磁頭號和尋址方式。在ATA/ATAPI-4中其定義如表2所示。<BR><BR><B>表2 
      驅動器/磁頭寄存器在ATA/ATAPI-4中的定義</B></P>
      <TABLE borderColorDark=#ffffff width="100%" borderColorLight=#000000 
      border=1>
        <TBODY>
        <TR class=main>
          <TD align=middle width="12%">D7</TD>
          <TD align=middle width="12%">D6</TD>
          <TD align=middle width="12%">D5</TD>
          <TD align=middle width="12%">D4</TD>
          <TD align=middle width="13%">D3</TD>
          <TD align=middle width="13%">D2</TD>
          <TD align=middle width="13%">D1</TD>
          <TD align=middle width="13%">D0</TD></TR>
        <TR class=main>
          <TD align=middle width="12%">1</TD>
          <TD align=middle width="12%">L</TD>
          <TD align=middle width="12%">1</TD>
          <TD align=middle width="12%">DEV</TD>
          <TD align=middle width="13%">HS3</TD>
          <TD align=middle width="13%">HS2</TD>
          <TD align=middle width="13%">HS1</TD>
          <TD align=middle width="13%">HS0</TD></TR></TBODY></TABLE>
      <P style="TEXT-INDENT: 30px">HS0~HS3(磁頭選擇):在LBA方式中,是邏輯扇區的高4位。</P>
      <P style="TEXT-INDENT: 30px">DEV驅動器選擇:0選擇主驅動器,1選擇從驅動器。</P>
      <P style="TEXT-INDENT: 30px">L(LBA方式):L=1,置驅動器為LBA模式;L=0,置驅動器為CHS模式。</P>
      <P style="TEXT-INDENT: 30px">·狀態寄存器(177 
      R);反映了硬盤執行命令后的狀態。讀該寄存器清除中斷請求信號,為避免清除中斷,可以讀輔助狀態寄存器376h。這兩個寄存器的內容完全一樣。在ATA/ATAPI-4中其定義如表3所示。</P>
      <P style="TEXT-INDENT: 30px">BSY:驅動器忙。</P>
      <P style="TEXT-INDENT: 30px">DRDY:驅動器準備好。</P>
      <P style="TEXT-INDENT: 30px">DRQ:請求服務,驅動器請求通過寄存器與處理器交換一個字節數據。</P>
      <P style="TEXT-INDENT: 30px">ERR:命令執行錯誤。</P>
      <P style="TEXT-INDENT: 30px">3.2 硬盤PIO方式下特定區域多扇區讀的操作</P>
      <P 
      style="TEXT-INDENT: 30px">如果想從硬盤的特定扇區讀出碼流信息,首先主機(C8051F015)要對驅動器/磁頭寄存器、柱面號寄存器、扇區號寄存器、扇區數寄存器設置參數。完畢后要等待至少400ns才能去讀狀態寄存器的參數判斷以上設置是否有效。硬盤接收命令后置BSY=1,并開始執行命令。硬盤如果準備好傳送數據包,就置DRQ=1,同時清零BSY。當機循環讀狀態寄存器或輔助狀態寄存器判斷BSY=0&amp;DRQ=1,一旦硬盤狀態符合要求,主機寫參數0x80(128扇區)到數據寄存器(0x170),并寫0x20(PIO讀)到命令寄存器(0x177),表示要求讀出硬盤相應地址里的數據塊。硬盤判斷數據寄存器被置數后立即置BSY=1&amp;DRQ=0。主機讀到置位信息后給硬盤讀時鐘,硬盤輸出數據直到數據包傳完為止。<BR><BR><B>表3 
      狀態寄存器在ATA/ATAPI-4中的定義</B></P>
      <TABLE borderColorDark=#ffffff width="100%" borderColorLight=#000000 
      border=1>
        <TBODY>
        <TR class=main>
          <TD align=middle width="12%">D7</TD>
          <TD align=middle width="12%">D6</TD>
          <TD align=middle width="12%">D5</TD>
          <TD align=middle width="12%">D4</TD>
          <TD align=middle width="13%">D3</TD>
          <TD align=middle width="13%">D2</TD>
          <TD align=middle width="13%">D1</TD>
          <TD align=middle width="13%">D0</TD></TR>
        <TR class=main>
          <TD align=middle width="12%">BSY</TD>
          <TD align=middle width="12%">DRDY</TD>
          <TD align=middle width="12%">#</TD>
          <TD align=middle width="12%">#</TD>
          <TD align=middle width="13%">DRQ</TD>
          <TD align=middle width="13%">obsolete</TD>
          <TD align=middle width="13%">obsolete</TD>
          <TD align=middle width="13%">ERR</TD></TR></TBODY></TABLE>
      <P style="TEXT-INDENT: 0px"><B>4 系統設計方案</B></P>
      <P style="TEXT-INDENT: 30px">4.1 系統硬件構成</P>
      <P 
      style="TEXT-INDENT: 30px">基于8位微控制器的系統設計方案如圖2所示。主系統中以C8051F015為控制核心,C8051F015產生硬盤和FIFO的讀寫時序(為了避免硬盤寄存器參數也被寫入FIFO,在硬件上要把二者的讀寫時鐘分開。);硬盤輸出的16位數據分離低8位分別送入兩片64KB的FIFO緩存。數據經緩存后持續地輸出到CPLD,CPLD對16位數據流進行拆分,同時識別包同步和字節同步。這樣,原始的一路HDTV碼流就被分成3路輸送給解碼器解碼。主系統通過串行總線與前面板相連,采用通用單片機AT89C51為前面板的控制核心。AT89C51接收來自鍵盤的命令并在LCD上以文字和圖形的方式展現在用戶面前,同時通過串口通信,啟動主控制器執行命令。</P>
      <P style="TEXT-INDENT: 30px">4.2 系統軟件設計</P>
      <P style="TEXT-INDENT: 30px">4.2.1 存碼流部分</P>
      <P 
      style="TEXT-INDENT: 30px">本系統沒有引入操作系統和文件格式,所以碼流文件存入硬盤時就不能按文件格式,而只能按二進制流的方式從PC機的碼流文件中讀出數據,再按同樣的方式寫入裸盤。為了解決碼流的總是,試圖調用BIOS中斷,讓BIOS的硬盤服務流程負責把INT13的讀寫請求轉化為ATA界面對硬盤的請求,并執行數據I/O傳輸的物理動作。但由于BIOS本身寄存器的限制,用它去訪問硬盤有8.4G容限的問題。如果想突破這個限制而用擴展的INT13,將是一個比較復雜的過程。可以利用PC機上的Secondary 
      IDE 
      Channel(0x170~0x177)作為硬盤寄存器的端口地址。在這個硬件平臺下,可以直接將fread()函數讀出的碼流按塊寫入目標硬盤,甚至不要求大多地考慮時序問題。</P>
      <P style="TEXT-INDENT: 30px">4.2.2 讀碼流部分</P>
      <P 
      style="TEXT-INDENT: 30px">這部分軟件是在上述硬件系統平臺上直接編程。系統在啟動硬盤前要等待串行中斷,接收由前面板發出的命令,再根據接收的數據信息具體決定應該播放哪幾個節目;隨后對硬盤、FIFO進行初始化,啟動CPLD,FIFO輸出數據時鐘信號,并讓硬盤按命令輸出數據流。數據在總線穩定的時間內給FIFO寫時鐘,以采集正確的碼流信息(這里強調時序)。FIFO有“半滿”(HF)標志,用HF去觸發中斷,有中斷請求,就讓硬盤輸出64KB的數據。如此循環,保證FIFO不空。當FIFO輸出第一個數據時,CPLD開始對數據流進行拆分,并按照HDTV碼流的格式標準對數據流進行判別(HDTV碼流188字節為一個包,每個包頭是0x47),即每計數1次,就輸出一個比特同步,每計數188次并識別下一個數為0x47,就輸出一個包同步。這部分程序流程如圖3。<BR></P>
      <P style="TEXT-INDENT: 30px"><IMG alt="" 
      src="打印文章.files/200753113118986.gif" align=absMiddle border=0><BR><FONT 
      size=3>&nbsp;&nbsp;&nbsp; </FONT><SPAN class=main1>4.2.3 應用程序</P>
      <P 
      style="TEXT-INDENT: 30px">系統設置硬盤寄存器參數時,首先調用SetMode()函數設定硬盤的IDLE狀態和自掉電功能,可以保證硬盤在不工作的情況下,磁頭會復位到“登陸區”;然后調用SetAdress()函數選擇對應的寄存器;接下來可以調用ReadSector()函數進行多扇區讀操作。以下是寄存器選擇子函數和多扇區讀子函數。</P>
      <P style="TEXT-INDENT: 30px">//寄存器選擇子函數;</P>
      <P style="TEXT-INDENT: 30px">void SetAddress(unsigned char cs,unsigned 
      char adr){</P>
      <P style="TEXT-INDENT: 30px">DA0=((adr &amp; 0x01)= =0x01;</P>
      <P style="TEXT-INDENT: 30px">DA1=((adr &amp; 0x02) = =0x02);</P>
      <P style="TEXT-INDENT: 30px">DA2=((adr &amp; 0x04) = =0x04);</P>
      <P style="TEXT-INDENT: 30px">if(cs= =CTRL) {</P>
      <P style="TEXT-INDENT: 30px">nCS1FX=1;</P>
      <P style="TEXT-INDENT: 30px">nCS3FX=0;</P>
      <P style="TEXT-INDENT: 30px">}else {</P>
      <P style="TEXT-INDENT: 30px">nCS1FX=0;</P>
      <P style="TEXT-INDENT: 30px">nCS3FX=1;</P>
      <P style="TEXT-INDENT: 30px">}</P>
      <P style="TEXT-INDENT: 30px">}</P>
      <P style="TEXT-INDENT: 30px">//多扇區讀子函數:</P>
      <P style="TEXT-INDENT: 30px">unsigned char ReadSector(unsigned long 
      point,unsigned char *Buffer){</P>
      <P style="TEXT-INDENT: 30px">unsigned int i,k;</P>
      <P style="TEXT-INDENT: 30px">WriteBYTE(CMD,6,0xe0); //LBA模式</P>
      <P style="TEXT-INDENT: 30px">WriteBYTE(CMD,5,point&gt;&gt;16); 
      //LBA模式下的高16位地址</P>
      <P style="TEXT-INDENT: 30px">WriteBYTE(CMD,4,point&gt;&gt;8); 
      //LBA模式下的高8位地址</P>
      <P style="TEXT-INDENT: 30px">WriteBYTE(CMD,3,point); //LBA模式下的低8位地址</P>
      <P style="TEXT-INDENT: 30px">WriteBYTE(CMD,2,0x80); //一次讀寫的扇區數</P>
      <P style="TEXT-INDENT: 30px">//Issue read sector command...</P>
      <P style="TEXT-INDENT: 30px">WriteBYTE(CMD,7,0x20); //0x20多為扇區讀命令</P>
      <P style="TEXT-INDENT: 30px">Timer 10mSec=10000;</P>
      <P style="TEXT-INDENT: 30px">while((ReadBYTE(CMD,7)&amp;0x08)!=0x08 
      &amp;&amp; Timer 10mSec); //等待DRQ=1或者timeout</P>
      <P style="TEXT-INDENT: 30px">if(Timer 10mSec= =0)return 0xFF;</P>
      <P style="TEXT-INDENT: 30px">//Fetch the sector...</P>
      <P style="TEXT-INDENT: 30px">LSBDATA=ALLINPUT;</P>
      <P style="TEXT-INDENT: 30px">//Select address and activate CS</P>
      <P style="TEXT-INDENT: 30px">SetAddress(CMD,0);</P>
      <P style="TEXT-INDENT: 30px">for(k=0;k&lt;0x80;k++)</P>
      <P style="TEXT-INDENT: 30px">for(i=0;i&lt;512;i+=2){ //一次讀兩字節</P>
      <P style="TEXT-INDENT: 30px">nDIOR=0; //硬盤的讀時鐘</P>
      <P style="TEXT-INDENT: 30px">WCK=1;</P>
      <P style="TEXT-INDENT: 30px">WCK=0;</P>
      <P style="TEXT-INDENT: 30px">nDIOR=1;</P>
      <P style="TEXT-INDENT: 30px">}</P>
      <P style="TEXT-INDENT: 30px">nCS1FX=1; //復位CS</P>
      <P style="TEXT-INDENT: 30px">nCS3FX=1;</P>
      <P style="TEXT-INDENT: 30px">return ReadBYTE(CMD,1); //返回錯誤寄存器的信息</P>
      <P style="TEXT-INDENT: 30px">}</P>
      <P 
      style="TEXT-INDENT: 30px">本文是“第三代碼流回放機研制”課題的一個重要組成部分。本方案利用微控制器對硬盤進行基于LBA模式下的讀寫操作(不用操作系統),硬軟件簡潔可靠,技術上也解決前期產品的兩個難題:</P>
      <P style="TEXT-INDENT: 30px">(1)一些舊機器的BIOS不支持INT 13h 
      Extension,無法訪問8.4G以上硬盤空間;</P>
      <P style="TEXT-INDENT: 30px">(2)WINDOWS操作系統不支持存儲1.2G以上碼流文件。</P>
      <P style="TEXT-INDENT: 30px">將此系統逆向設計,能夠研發出適時錄制TS流和衛星節目的儀器。</P></SPAN>
      <TABLE cellSpacing=0 cellPadding=0 width="98%" border=0>
        <TBODY>
        <TR>
          <TD></TD></TR>
        <TR>
          <TD class=main_title_760 align=right height=20><A class=class 
            href="javascript:window.print()"><IMG alt=打印本文 
            src="打印文章.files/printpage.gif" align=absMiddle 
            border=0>&nbsp;打印本文</A>&nbsp;&nbsp;<IMG alt=關閉窗口 
            src="打印文章.files/pageclose.gif" align=absMiddle border=0>&nbsp;<A 
            class=class href="javascript:window.close()">關閉窗口</A>&nbsp;&nbsp; 
        </TD></TR></TBODY></TABLE></TR></TBODY></TABLE></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情中文不卡| 成人精品国产福利| 成人av中文字幕| 欧美一区二区三区四区高清| 国产精品对白交换视频| 麻豆成人免费电影| 欧美性生活影院| 中文字幕在线不卡一区| 国模少妇一区二区三区| 日韩视频国产视频| 亚洲成人一区二区在线观看| 91美女蜜桃在线| 国产蜜臀97一区二区三区| 久久精品国产亚洲a| 欧美军同video69gay| 亚洲一区二区偷拍精品| 99在线精品观看| 国产精品久久久久天堂| 国产不卡在线一区| 国产亚洲欧美色| 紧缚捆绑精品一区二区| 26uuuu精品一区二区| 久久精品国内一区二区三区| 日韩亚洲欧美成人一区| 五月婷婷激情综合网| 欧美日韩中文另类| 日韩中文字幕区一区有砖一区 | 日韩视频国产视频| 日韩av一区二区在线影视| 欧美精品一卡二卡| 亚洲成a人v欧美综合天堂下载 | 99久久99久久免费精品蜜臀| 欧美国产精品v| 国产成a人亚洲| 国产精品福利在线播放| 色一区在线观看| 亚洲一区二区综合| 欧美一区二区三区在| 精久久久久久久久久久| 久久久精品人体av艺术| a级高清视频欧美日韩| 亚洲日本一区二区| 欧美日韩色一区| 极品瑜伽女神91| 欧美国产精品久久| 欧美在线观看禁18| 青青草国产成人99久久| 久久精品夜夜夜夜久久| youjizz久久| 亚洲国产精品一区二区www在线| 欧美日韩成人高清| 狠狠色综合播放一区二区| 国产视频一区二区在线| 91小视频免费观看| 首页综合国产亚洲丝袜| 久久亚洲捆绑美女| 色哟哟国产精品免费观看| 日韩精品乱码免费| 中文子幕无线码一区tr| 在线观看一区不卡| 久久99国产乱子伦精品免费| 国产精品视频看| 欧美二区在线观看| 国产精品亚洲а∨天堂免在线| 一区二区三区成人| 久久免费美女视频| 欧美丝袜丝交足nylons图片| 久久99热这里只有精品| 一色桃子久久精品亚洲| 日韩一级大片在线观看| 97久久超碰国产精品| 免费在线观看不卡| 亚洲男人的天堂在线观看| 日韩一区二区三区在线观看| 99这里都是精品| 精品在线播放午夜| 午夜精品一区二区三区免费视频| 久久综合五月天婷婷伊人| 欧美日韩一区二区三区免费看| 国产成人精品亚洲午夜麻豆| 天涯成人国产亚洲精品一区av| 中文字幕第一区二区| 日韩情涩欧美日韩视频| 色婷婷综合中文久久一本| 国产精品一卡二| 久久国产精品一区二区| 亚洲自拍偷拍麻豆| 中文字幕一区二区三区av| 精品99一区二区| 日韩欧美国产精品| 欧美三级蜜桃2在线观看| 99精品国产91久久久久久| 国产成人免费在线| 激情丁香综合五月| 日本不卡一区二区| 日韩精品久久久久久| 亚洲电影视频在线| 亚洲自拍偷拍网站| 日韩久久一区二区| 中文字幕制服丝袜一区二区三区| 久久亚洲精精品中文字幕早川悠里| 91精品国产91久久综合桃花 | 国产农村妇女精品| 精品国产百合女同互慰| 欧美一区二区精品在线| 欧美一区二区免费| 日韩免费观看高清完整版 | 中文子幕无线码一区tr | 精品久久久久久无| 欧美电影免费观看高清完整版在线 | 高清久久久久久| 成人激情av网| aaa欧美大片| 在线免费观看成人短视频| 欧美性猛片xxxx免费看久爱| 色av成人天堂桃色av| 欧美在线观看你懂的| 欧美日韩一区中文字幕| 欧美日韩综合不卡| 日韩欧美综合一区| 精品第一国产综合精品aⅴ| 久久久国产精品麻豆| 欧美国产精品v| 亚洲最色的网站| 午夜欧美视频在线观看| 九色综合国产一区二区三区| 国产一区视频导航| 99视频热这里只有精品免费| 色欧美片视频在线观看| 欧美日韩高清在线播放| 欧美一级一级性生活免费录像| 久久久久国产精品人| 国产精品国产a| 亚洲国产视频网站| 九一九一国产精品| 99精品久久免费看蜜臀剧情介绍| 色呦呦一区二区三区| 这里只有精品视频在线观看| 精品国产一区二区三区四区四| 国产精品午夜春色av| 午夜欧美视频在线观看| 国产精品综合一区二区三区| av在线不卡免费看| 欧美一区二区私人影院日本| 国产视频911| 亚洲一区视频在线观看视频| 九色|91porny| 日本韩国欧美在线| 久久男人中文字幕资源站| 亚洲精品视频一区| 国产精选一区二区三区 | 色国产综合视频| 精品国产1区二区| 亚洲激情图片小说视频| 久久超碰97中文字幕| 91黄色激情网站| 久久久美女毛片| 亚洲成人免费观看| 国产suv精品一区二区三区| 欧美挠脚心视频网站| 欧美激情一区在线| 青青国产91久久久久久 | 天天综合天天综合色| 丁香激情综合国产| 91精品在线麻豆| 亚洲婷婷综合久久一本伊一区 | 日本一区二区视频在线观看| 亚洲国产视频网站| 91在线精品一区二区| 久久网站热最新地址| 婷婷国产在线综合| 在线一区二区三区做爰视频网站| 国产日韩欧美综合一区| 免费高清成人在线| 在线播放欧美女士性生活| 亚洲人吸女人奶水| 成人黄色大片在线观看| 久久五月婷婷丁香社区| 美女脱光内衣内裤视频久久网站| 精品视频色一区| 一区二区三区欧美日| 99国产精品久| 最好看的中文字幕久久| 成人亚洲精品久久久久软件| 久久久久久久久久久久久夜| 久久草av在线| 欧美xxxx在线观看| 美女视频一区二区| 欧美一区二区三区免费观看视频 | 亚洲123区在线观看| 欧美日韩一区二区三区在线看| 亚洲欧洲综合另类在线| 成人av电影免费观看| 国产精品免费视频观看| 成人av免费在线播放| 亚洲人成7777| 91高清在线观看| 亚洲成av人片www| 欧美卡1卡2卡| 激情亚洲综合在线|