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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > USB讀數(shù)裝置及上位機的設(shè)計

          USB讀數(shù)裝置及上位機的設(shè)計

          作者: 時間:2012-04-16 來源:網(wǎng)絡(luò) 收藏

          SETUPDAT[1]中存儲著發(fā)出的請求碼。在固件程序中使用switch-case語句對不同的請求碼進行分析,分別進行相應(yīng)的響應(yīng)。
          對于標(biāo)準(zhǔn)請求,在CY3684開發(fā)包內(nèi)已有完善的函數(shù)框架,本設(shè)計在保持其默認(rèn)狀態(tài)下,修改其中的處理函數(shù),使其符合本設(shè)計的要求。在Fw.c文件中,最主要的兩個函數(shù)為Main( )函數(shù)和SetupCommand( ),其中Main( )函數(shù)控制整個68013A的程序流程,SetupCommmad( )則對不同的設(shè)備請求進行分析,并調(diào)用響應(yīng)的執(zhí)行程序。
          e.JPG
          f.JPG
          在本設(shè)計需要使用自定義請求來介紹的FLASH操作命令,因此需要在固件程序中聲明自定義請求。自定義請求和標(biāo)準(zhǔn)USB請求放在一起,但不能和已有的請求號相沖突。同時還需要編寫自定義請求對應(yīng)的處理函數(shù)。程序框架如下:
          g.JPG
          此請求包處理放在SetupCommand(vdd)函數(shù)內(nèi)。
          對于對應(yīng)的處理函數(shù)則在Pefiph.c文件中進行定義。所有的USB設(shè)備請求響應(yīng)函數(shù),中斷函數(shù)都在此文件中定義。同時設(shè)備初始化函數(shù)TD_Init( ),用戶功能函數(shù)TD_Poll( ),掛起函數(shù)TD_Suspend( )和USB復(fù)位函數(shù)( )也都在此文件中定義。
          本設(shè)計采用在發(fā)送自定義請求A1,并在自定義請求中包含對FLASH操作的命令字,68013A在分析得到自定義請求A1后,在自定義請求A1中把命令字保存入一個全局變量,在用戶功能函數(shù)TD_Poll( )中執(zhí)行對命令字的分析并調(diào)用相應(yīng)的FLASH操作函數(shù)。對于傳輸?shù)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/上位機">上位機上的數(shù)據(jù)通過自定義請求A2、A3來執(zhí)行。

          3 結(jié)論
          本設(shè)計根據(jù)USB總線技術(shù)、FPGA技術(shù)及面向?qū)ο蟪绦蛟O(shè)計方法,對電路的組成原理、接口電路設(shè)計、系統(tǒng)控制信號的設(shè)計及USB上位機程序的設(shè)計做出詳細(xì)的說明,設(shè)計出基本符合課題要求的USB及上位機程序,基本完成了工作要求。當(dāng)然本設(shè)計在USB接口的速度方面還需考慮更完善的方案。希望在以后的學(xué)習(xí)工作中能夠改進。

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

          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: USB 讀數(shù)裝置 上位機

          評論


          相關(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); })();