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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 導(dǎo)航計(jì)算機(jī)系統(tǒng)中CPLD配置軟件串口更新研究

          導(dǎo)航計(jì)算機(jī)系統(tǒng)中CPLD配置軟件串口更新研究

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

          DSP在配置器件時(shí),不斷從存儲(chǔ)在SRAM里的XSVF文件中讀出指令和參數(shù),并根據(jù)不同的指令執(zhí)行對應(yīng)的操作。根據(jù)功能特點(diǎn),XSVF文件中的指令主要包括:狀態(tài)轉(zhuǎn)移、指令移入、數(shù)據(jù)移入或移出和空閑等待這4類指令。狀態(tài)轉(zhuǎn)移指令用于控制TAP狀態(tài)機(jī)進(jìn)入與下條XSVF指令操作對應(yīng)的狀態(tài)中,在XSVF文件中,圖2中的每個(gè)狀態(tài)對應(yīng)一個(gè)字節(jié)的編碼;指令移入用于將TDI上的指令代碼移入對應(yīng)的指令寄存器;數(shù)據(jù)移入或移出指令可將TDI上的數(shù)據(jù)移入器件內(nèi)部邏輯中,同時(shí)可以捕獲從TDO上移出的數(shù)據(jù);空閑等待指令可提供移進(jìn)擦出指令或數(shù)據(jù)后等待內(nèi)部邏輯成功響應(yīng)需要的時(shí)間。
          在上述設(shè)計(jì)的基礎(chǔ)上,設(shè)計(jì)通過串行方式的CPLD更新流程如圖5所示。

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

          f.jpg


          圖5中首先通過DSP的串行口接收CPLD的編程配置文件,接收完配置文件后,可在35 s之內(nèi)完成CPLD的軟件更新。在實(shí)際應(yīng)用中,應(yīng)用本文的更新方案,可根據(jù)需要很快實(shí)現(xiàn)不同的配置方案,如可選擇INS和GPS組合?;蚺c地磁組合等,無需重新更改硬件,便可配合多種傳感器,克服了通過常用PC機(jī)與下載線纜進(jìn)行軟件更新的弊端,避免了反復(fù)打開、組裝等一系列的繁瑣工作,提高了現(xiàn)場調(diào)試的效率,從而提高了系統(tǒng)的適應(yīng)性。

          4 結(jié)語
          通過硬件和軟件設(shè)計(jì),本文實(shí)現(xiàn)了基于DSP的CPLD器件軟件更新的串行方式。目前已在本課題組研制的基于DSP和CPLD的嵌入式系統(tǒng)中進(jìn)行了成功應(yīng)用。該串行口更新方式相對常用的基于PC并口的編程方法,解決了并口轉(zhuǎn)JTAG口的下載線纜過長而不能可靠對CPLD更新的問題,同時(shí)可以實(shí)現(xiàn)CPLD器件在系統(tǒng)的遠(yuǎn)端更新,避免了繁瑣的現(xiàn)場拆除板卡進(jìn)行軟件更新和升級(jí)的弊端,提高了系統(tǒng)的可維護(hù)性。另外,通過外加網(wǎng)絡(luò)接口,應(yīng)用本文設(shè)計(jì)的軟件更新方案,還可實(shí)現(xiàn)CPLD器件的遠(yuǎn)程更新。本文的設(shè)計(jì)對于嵌入式系統(tǒng)的更新和升級(jí)具有較好的適用性,提高了系統(tǒng)應(yīng)用的靈活性,可以應(yīng)用到具有不同配置的多種導(dǎo)航系統(tǒng)中,也可以在一種導(dǎo)航計(jì)算機(jī)系統(tǒng)中通過對CPLD的不同配置來適應(yīng)不同的傳感器和接口。


          上一頁 1 2 3 4 下一頁

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