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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 安全認(rèn)證系統(tǒng)中嵌入U(xiǎn)SB接口技術(shù)

          安全認(rèn)證系統(tǒng)中嵌入U(xiǎn)SB接口技術(shù)

          作者: 時(shí)間:2009-03-26 來源:網(wǎng)絡(luò) 收藏

          3 硬件設(shè)計(jì)

          中,從圖1和圖2可以看出,二者的時(shí)序不匹配,不能直接連接,因此在硬件上要進(jìn)行時(shí)序匹配設(shè)計(jì),其硬件原理如圖3所示。首先將地址和片選信號(hào)展寬一個(gè)周期。對(duì)于寫時(shí)序,將寫信號(hào)往后延遲一個(gè)時(shí)鐘周期,即能滿足寫時(shí)序要求;對(duì)于讀時(shí)序,因?yàn)樽x信號(hào)有效時(shí),數(shù)據(jù)必須已出現(xiàn)在數(shù)據(jù)總線上。從圖1(a)可看出,FIFO的數(shù)據(jù)在地址有效一個(gè)時(shí)鐘周期后才出現(xiàn)在數(shù)據(jù)總線上,也就是說,微處理器必須先給出一個(gè)周期的地址,然后讀信號(hào)有效,才能得到正確的結(jié)果。為解決這個(gè)問題,采取了讀FIFO時(shí),先寫一次FIFO,緊接著讀FIFO。但此時(shí)要將寫信號(hào)屏蔽掉,以免影響FIFO的狀態(tài)。因此設(shè)立一個(gè)讀控制端口,讀FIFO時(shí),將其置1,其余時(shí)刻清零。假如要從FIFO讀取8個(gè)字節(jié),則程序如下:

          TMOV Z, 01H //讀控制端口98置1

          ZOUT 98H

          MOV I, 7

          TMOV MD, bmRequestType //讀FIFO的數(shù)據(jù)到bmRequestType[...]

          LX1: ZOUT FIFO0

          ZIN FIFO0

          MOV T, Z

          MOV T, MD

          MOV I, T

          TMOV [I], T

          MOV T, MD

          INC

          MOV MD, T

          NEXT LX1

          TMOV Z, 00H //數(shù)據(jù)讀完,98端口清0;

          ZOUT 98H

          4 軟件設(shè)計(jì)

          通過一個(gè)列舉過程來識(shí)別和配置一個(gè)新接入的設(shè)備,這個(gè)過程分5步來完成:

          (1)用默認(rèn)0地址取得設(shè)備描述;

          (2)設(shè)置設(shè)備地址;

          (3)用新地址取得設(shè)備描述;

          (4)取得配置描述;

          (5)設(shè)置配置。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();