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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 便攜式功率分析儀設(shè)計-----硬件設(shè)計(三)

          便攜式功率分析儀設(shè)計-----硬件設(shè)計(三)

          作者: 時間:2013-06-18 來源:網(wǎng)絡(luò) 收藏

          由于使用了流水線技術(shù),處理和存儲系統(tǒng)的所有部分都可連續(xù)工作。通常在執(zhí)行一條指令的同時對下一條指令進行譯碼,并將第三條指令從存儲器中取出。

          ARM7TDMI-S處理器使用了一個被稱為THUMB的獨特的結(jié)構(gòu)化策略,它非常適用于那些對存儲器有限制或者需要較高代碼密度的大批量產(chǎn)品的應(yīng)用。在THUMB后面一個關(guān)鍵的概念是“超精簡指令集”。ARM7TDMI-S處理器基本上具有兩個指令集:標準32位ARM指令集與16位THUMB指令集。

          THUMB指令集的16位指令長度使其可以達到標準ARM代碼兩倍的密度,卻仍然保持ARM的大多數(shù)性能上的優(yōu)勢,這些優(yōu)勢是使用16位寄存器的16位處理器所不具有的。這是因為THUMB代碼和ARM代碼一樣,在相同的32位寄存器上進行操作。THUMB代碼僅為ARM代碼規(guī)模的65%,但其性能卻相當于連接到16位存儲器系統(tǒng)的相同ARM處理器性能的160%.

          如圖3-15所示,由于LPC2138芯片的高速、低功耗和低工作電壓導(dǎo)致其工作噪聲容限較低,對電源的紋波、瞬態(tài)響應(yīng)性能、時鐘源的穩(wěn)定性和電源監(jiān)控可靠性等方面也提出了更高的要求。

          LPC2138可使用外部晶振或時鐘源,內(nèi)部PLL電路可調(diào)整系統(tǒng)時鐘,使系統(tǒng)運行速度更快(CPU最大操作時鐘為60MHz)。倘若不使用片內(nèi)PLL功能及ISP下載功能,則外部晶振頻率范圍是1~30MHz,外部時鐘頻率范圍是1~50MHz;若使用片內(nèi)PLL功能或ISP下載功能,則外部晶振和外部時鐘頻率范圍均為10~25MHz.本設(shè)計使用了12MHz外部晶振,XTAL1和XTAL2為外部時鐘輸入腳,分別接12MHz無源晶震的兩端。由于LPC2138內(nèi)部已經(jīng)集成了反饋電阻,只需要在無源晶振的兩端各接一個電容就可以起振。根據(jù)LPC2138的芯片手冊查表可知,12MHz無源晶振的外接負載電容應(yīng)為18pF.此外,為了使系統(tǒng)更容易起振,在晶振的兩端并接了一個1MΩ的電阻。

          RESET引腳是一個施密特觸發(fā)的復(fù)位端,帶有一個額外的干擾濾波器。復(fù)位干擾濾波器使處理器可以忽略非常短的外部復(fù)位脈沖,它決定了RESET保證LPC2138芯片復(fù)位所必須保持的最短時間不得小于300ns.在本系統(tǒng)中,LPC2138上電后即開始工作,中間不需要進行復(fù)位。而且為了保證系統(tǒng)的穩(wěn)定性,要求LPC2138在工作過程中不得復(fù)位。因此本系統(tǒng)的復(fù)位電路采用了專用微處理器電源監(jiān)控芯片SP708S,以提高系統(tǒng)的穩(wěn)定性。MR是SP708S的復(fù)位脈沖輸入腳,當MR引腳上出現(xiàn)低電平時,SP708S立即輸出復(fù)位信號,RESET引腳輸出低電平使LPC2138復(fù)位。根據(jù)系統(tǒng)實際要求,現(xiàn)將MR引腳懸空,不接任何復(fù)位信號,系統(tǒng)上電后,SP708S的RESET引腳即輸出恒為高(3.3VCC),保證系統(tǒng)在整個工作過程中不復(fù)位。

          LPC2138的47個IO口被分為二組(P0口,P1口),P0組有31個,P1組有16個,均可通過設(shè)置相應(yīng)的管腳功能選擇寄存器來實現(xiàn)第二功能。本設(shè)計中,LPC2138與器件的連接采用雙向I/O方式,將P0口和P1口設(shè)為普通I/O接口,利用P0口的16個I/O口作為數(shù)據(jù)/地址線(低8位數(shù)據(jù)/地址復(fù)用,高8位為地址線)。雖然整個系統(tǒng)中的數(shù)據(jù)最寬為12位(12位的A/D采樣數(shù)據(jù)),但是由于選用了8位A/D芯片AD9480,所以數(shù)據(jù)輸入輸出線也相應(yīng)的設(shè)為8位寬(P0.8~P0.15),LPC2138提供I 2 C總線和串行總線,但在系統(tǒng)實際設(shè)計中,我們利用通用I/O口模擬總線傳輸方式,利用P0.27~P0.30模擬ARM的讀寫控制WR,RD以及ALE,CS.

          JTAG接口電路采用ARM公司提出的標準20腳JTAG仿真調(diào)試接口,JTAG信號的定義及與LPC2138的連接電路如圖3-15所示。LPC2138支持通過JTAG串行端口進行仿真和調(diào)試。跟蹤端口允許跟蹤程序的執(zhí)行。調(diào)試和跟蹤功能只在GPIO的P1口復(fù)用。這意味著當應(yīng)用在嵌入式系統(tǒng)內(nèi)運行時,位于P0口的所有通信、定時器和接口外設(shè)在開發(fā)和調(diào)試階段都可用。同時,ARM的P1.16~P1.23口通過連接JTAG插座,外接控制鍵盤。

          3.3.5.2 D/A轉(zhuǎn)換電路

          本設(shè)計系統(tǒng)中D/A轉(zhuǎn)換電路輸出主要用于調(diào)整通道直流偏置以及為比較器提供外部參考電壓。D/A的轉(zhuǎn)換精度決定了通道偏置調(diào)整的步進的最小值,同時也決定了外部觸發(fā)器的工作精度。因此,應(yīng)當根據(jù)系統(tǒng)的需要選擇適當位數(shù)的D/A。本設(shè)計采用TI公司的4通道,8位D/ATLC5620.其特性如下:

          四路8位電壓輸出D/A轉(zhuǎn)換器;

          5V單電源工作;

          串行總線接口;

          高阻抗參考電壓輸入;

          可編程1至2倍輸出范圍;

          可方便地同時輸出更新;

          內(nèi)部上電復(fù)位;

          低功耗;

          半緩沖輸出。

          本設(shè)計中,TLC5620的外圍連接電路如圖3-16所示。圖中,REFA~REFD為參考電壓輸入端,這里均接到一個穩(wěn)定的2.5V電源上。TLC5620輸出信號(DACA~DACD)的電壓范圍可編程選擇為參考電壓的一倍或兩倍。LOAD、CLK、DATA為TLC5620的串行總線接口,通過這三根總線可對TLC5620編程實現(xiàn)數(shù)字控制。本設(shè)計中這三根總線與FPGA相連,實現(xiàn)由FPGA控制TLC5620相應(yīng)通道的輸出電壓。

          此外,TLC5620的信號輸出端帶有施密特觸發(fā)器,從而使信號輸出端(DACA~DACD)具有較高的噪聲抑制能力。為了進一步減小控制電壓上的噪聲,本設(shè)計中還在每個輸出端DACA~DACD各加了一個0. 1μF的電容進行濾波。由圖3-18可以看出,TLC5620的通道A和通道B分別被用來作為信號通道偏置調(diào)整和外部比較器的比較電平,還需要在這兩個通道的輸出各加一級運放使其輸出V G1和V G2能夠在-2.5V~2.5V之間調(diào)整,本設(shè)計選擇雙通道的運放TL072.其負向輸入端接2.5V,在TL072的兩路輸出端均加了33μF和10μF的電容對此增益控制電壓進行濾波,濾波后的電壓分別送去信號通道和比較器。

          電子管相關(guān)文章:電子管原理


          pos機相關(guān)文章:pos機原理



          上一頁 1 2 下一頁

          評論


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