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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP與CPLD的多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

          基于DSP與CPLD的多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2011-07-06 來源:網(wǎng)絡(luò) 收藏
          3 軟件
          TMS320LF2407A是C2000平臺(tái)的,提供兩種編程語言:C/C+十語言或匯編語言。其中,C語言編寫的程序可讀性、可移植性強(qiáng),且大大縮短了開發(fā)周期,但執(zhí)行效率低,程序出錯(cuò)時(shí)不易診斷。匯編語言程序效率高,但編寫比較繁瑣。通常做法是程序核心部分(即經(jīng)常調(diào)用部分)采用匯編語言編寫,以提高整個(gè)的執(zhí)行效率,對(duì)實(shí)時(shí)性要求不高的部分采用C語言編寫以降低程序的復(fù)雜度,提高程序的可讀性和可修改性。本文采用C語言和匯編語言混合編寫的多文件結(jié)構(gòu),主要包括主程序、讀取A/D轉(zhuǎn)換結(jié)果的中斷程序的。
          軟件流程如圖4所示。主要分成三部分:SPI配置部分,模擬開關(guān)控制部分,A/D轉(zhuǎn)換控制和轉(zhuǎn)換結(jié)果的讀取。
          3.1 SPI配置部分
          對(duì)于LF2407A,串行SPI外設(shè)接口有9個(gè)寄存器,用于控制其操作。在本中將LF2407A的SPI接口設(shè)定在主模式下,在該模式下,采用主控制器發(fā)送偽數(shù)據(jù),從控制器發(fā)送數(shù)據(jù)。主控制器可在任何時(shí)刻啟動(dòng)數(shù)據(jù)傳送,因?yàn)樗刂浦鳶PICLK信號(hào)。但軟件決定了主控制器如何檢測(cè)從控制器何時(shí)準(zhǔn)備發(fā)送數(shù)據(jù)。SPI接口模塊的初始化程序如下:
          3.2 模擬多路開關(guān)選通部分
          由于多路模擬開關(guān)映射到的I/O空間中的0X8000-0XFFFF之間,所以在程序中,對(duì)0X8000-0XFFFF之間進(jìn)行一個(gè)讀操作,由的GPIO選擇的就被選通,信號(hào)由CD4067輸出到A/D轉(zhuǎn)換器MAXl94。
          讀地址產(chǎn)生的低電平信號(hào)CS的保持時(shí)間由訪問I/O空間的等待時(shí)間決定的,通過設(shè)置等待狀態(tài)寄存器來保證獲得有效的延時(shí)時(shí)間。
          3.3 MAX194轉(zhuǎn)換控制部分
          由于A/D映射DSP的I/O空間的0x0000~0x7fff之間,類似于模擬多路開關(guān),也需要對(duì)該空間進(jìn)行一個(gè)讀操作。
          4 結(jié)語
          多路在嵌入式測(cè)控中具有很強(qiáng)的實(shí)用價(jià)值。本文設(shè)計(jì)了一個(gè)TMS320LF2407A與EPM570T100C5N的MAX194的多采集系統(tǒng),詳細(xì)描述了MAX194,與DSP之間的硬件與軟件設(shè)計(jì),該系統(tǒng)在筆者參與的嵌入式測(cè)量控制系統(tǒng)中得到了成功的應(yīng)用。
          上一頁 1 2 下一頁

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