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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > SATA支持ATAPI的設計要點

          SATA支持ATAPI的設計要點

          作者: 時間:2011-05-10 來源:網(wǎng)絡 收藏
          2. Vendor Specific Command Issue(制造商的特有指令問題)

          本文引用地址:http://www.ex-cimer.com/article/191211.htm

            這類問題通常為光驅廠商都有自己的Vendor Specific Command,而此類command并未遵循規(guī)格的規(guī)范,而此種模式在現(xiàn)有的光驅市場是非常普遍的現(xiàn)象。但是也造成了設計上的困難。

            ? Update optical media flash ROM問題

            每一家系統(tǒng)廠商更新flash ROM的程序順序往往都是廠商特有的vendor specific command。而有些廠商的更新程序往往會與傳輸協(xié)議有所出入,這也就會造成了兼容性的問題。

            例如:持續(xù)的寫入sec count register對于PATA及規(guī)格是有意義的,但是對于而言卻是會被忽略的。

            3. Violate Spec Issue(違反ATAPI規(guī)格問題)

            光驅接口反應未遵守規(guī)格的規(guī)定,這在PATA時期即是如此。與硬盤相比,硬盤的Operational Behavior與Command set基本上都相當遵守ATA Spec.的規(guī)范,但是光儲存裝置對于ATAPI Spec.卻往往有違反規(guī)格的情形發(fā)生。而PATA to SATA bridge就必須有能力補償ATAPI裝置違反ATAPI Spec.的運作差異(Operational Variations)。

            所謂的作業(yè)差異,一般來說,許多ATAPI裝置都會在某些地方不符合ATAPI規(guī)格,進而產生所謂的「運作差異」,它們會以不同的形式出現(xiàn),使得事前預測變得極為困難。ATAPI時序差異(timing variations)就是ATAPI裝置常見的一種差異,這是因為隨著ATAPI裝置在PIO或UDMA模式下工作,ATAPI總線Handshaking Signal的寬度也會有所不同,數(shù)據(jù)脈沖訊號(data strobe)就是例子。此時除非PATA to SATA橋接組件在他的SATA/ATAPI實體接口中提供可調整時序,否則采用這種組件的電路板就無法彌補ATAPI裝置的時序差異,系統(tǒng)廠商也將被迫選擇不同的ATAPI裝置或橋接組件;無論廠商采用哪種方式,產品上市的時間與未來的兼容性問題都會受到影響。

            光驅接口反應未遵守規(guī)格的項目還包含以下各點:

            ? Status反應

            ? Interrupt反應

            ? Signature反應是錯誤的

            ? 運作反應違反ATAPI規(guī)格


          上一頁 1 2 下一頁

          關鍵詞: ATAPI SATA

          評論


          相關推薦

          技術專區(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); })();