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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于多處理器技術(shù)的渦街流量計(jì)

          基于多處理器技術(shù)的渦街流量計(jì)

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

          3 系統(tǒng)軟件設(shè)計(jì)
          3.1 單片機(jī)部分的軟件設(shè)計(jì)
          單片機(jī)部分的任務(wù)是完成參數(shù)設(shè)置、數(shù)據(jù)采樣、為DSP進(jìn)行Bootloader、數(shù)據(jù)顯示、數(shù)據(jù)傳輸?shù)?。程序按照模塊化設(shè)計(jì)思想設(shè)計(jì),主要分為四大模塊:數(shù)據(jù)采樣程序、HPI通信程序、液晶顯示程序、遠(yuǎn)傳程序。主程序流程圖如圖4所示。


          3.2 DSP部分的軟件設(shè)計(jì)
          先使DSP工作在HPI模式的Bootloader狀態(tài)下,準(zhǔn)備接收單片機(jī)傳輸?shù)某绦虼a,程序傳輸完成后,Bootloader狀態(tài)結(jié)束,DSP進(jìn)入正常工作,向單片機(jī)發(fā)出開啟A/D請求,準(zhǔn)備接收單片機(jī)傳來的渦街信號數(shù)據(jù),接收到數(shù)據(jù)后,對接收到的數(shù)據(jù)進(jìn)行數(shù)字信號處理,將處理結(jié)果通過HPI口傳回單片機(jī)。DSP部分的軟件設(shè)計(jì)流程圖如圖5所示。

          3.3 SPC3部分的軟件設(shè)計(jì)
          SPC3通信模塊程序采用了結(jié)構(gòu)化、模塊化的方法,包括四個(gè)部分:主程序、中斷模塊、子程序模塊和程序的頭文件。通信接口主程序流程圖見圖6所示。主程序中對SPC3的初始化是非常重要的,關(guān)系到它是否能正常工作。初始化過程如下:復(fù)位看門狗,設(shè)置SPC3允許中斷,寫入從站識別號和地址,設(shè)置方式寄存器,設(shè)置診斷緩沖、參數(shù)、組態(tài)緩沖區(qū)長度,設(shè)置地址緩沖區(qū)長度,計(jì)算各個(gè)緩沖區(qū)的指針及輔助緩沖區(qū)的指針,根據(jù)輸入輸出的數(shù)據(jù)長度,確定輸入和輸出緩沖區(qū)的指針。

          4 結(jié)束語
          針對傳統(tǒng)渦街的缺點(diǎn),結(jié)合單片機(jī)的強(qiáng)大控制功能與DSP的強(qiáng)大計(jì)算能力及其低功耗特性,構(gòu)建了一套低功耗數(shù)字渦街信號處理系統(tǒng)。降低了功耗,提高了其在現(xiàn)場環(huán)境下的精度。并設(shè)計(jì)了PROFIBUS-DP總線的通信接口,實(shí)現(xiàn)了遠(yuǎn)距離的數(shù)據(jù)傳輸。此外配有的液晶顯示模塊,提供了友好的人機(jī)界面。該系統(tǒng)為實(shí)現(xiàn)現(xiàn)場總線儀表的自主開發(fā)提供了借鑒,具有廣闊的市場應(yīng)用前景。


          上一頁 1 2 3 下一頁

          評論


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