<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于FPGA與AD5422的PLC模擬量擴展單元的設計 

基于FPGA與AD5422的PLC模擬量擴展單元的設計 

作者:鮑長(cháng)君 時(shí)間:2017-08-29 來(lái)源:電子產(chǎn)品世界 收藏
編者按:本文設計了一種以FPGA為核心,基于A(yíng)D5422實(shí)現多路高精度輸出的PLC模擬量擴展單元模塊。設計先對現有的方案進(jìn)行了分析和討論,之后對FPGA內部相關(guān)處理機制和實(shí)現方案做了詳盡的論述,經(jīng)過(guò)仿真和測試驗證了設計的可行性。相比于傳統的模擬量擴展單元模塊,本系統具有處理速度快、方便、靈活,電路精簡(jiǎn),抗干擾能力強等優(yōu)點(diǎn)。

  表1列舉了模擬量輸出規格,包括量程、用戶(hù)分辨率、用戶(hù)編程的數據范圍等。

本文引用地址:http://dyxdggzs.com/article/201708/363624.htm

  可見(jiàn)因為我們給PLC編程的數據和最終送給芯片的數據有一定的區別,則對于數據處理來(lái)說(shuō),我們需要完成以下幾個(gè)功能:

  1)識別數據有效性:PLC給用戶(hù)1/12000的分辨率和控制字并不能占用0x0000-0xFFFF全部范圍內的數據,也就是說(shuō)存在一部分的輸入數據是非法的無(wú)效的,需要在經(jīng)過(guò)處理前識別出來(lái),避免后續處理出錯,設計通過(guò)數據比較輸出數據有效或者無(wú)效判斷,當然設計可以選擇無(wú)效數據丟失或者輸出報警信號。

  2)雙極性轉換:對應雙極性輸出數據中的-10~+10V的數據范圍是十六進(jìn)制的0xE890到0x1770 對應十進(jìn)制的-6000到+6000,而的-10V-+10V對應的數據范圍是十六進(jìn)制的0x000-0xFFFF是單極性的,所以先要給雙極性的原始數據加上十進(jìn)制的6000,統一輸入為十六進(jìn)制的0x0000-0x2EE0,對應十進(jìn)制的0-12000。

  3)數據擴充:通過(guò)乘法器實(shí)現輸入數據的擴充,從給用戶(hù)的十六進(jìn)制0x0000-0x2EE0需要對應轉換到十六進(jìn)制0x0000-0xFFFF。特別地,對于1~5V量程來(lái)說(shuō)因為輸出有個(gè)1V的基準量,在適用的0~5V量程時(shí)通過(guò)擴展到AD5422對應的0~4V量程,即十六進(jìn)制的0x0000-0xCCCC,當然,這一步的處理需要在內部設計硬件乘法器,使得每個(gè)量程都能乘上響應的系數完成數據擴充工作。

  4)添加偏移量:對于1~5V量程來(lái)說(shuō)這個(gè)1V的基準量是始終存在的,這就需要在完成數據擴充后添加偏移量,其他量程則不需要這個(gè)偏移量的添加。

2.2 其余需要添加的功能塊還包括

  1)控制字識別模塊:針對獲得的命令控制字,需要能甄別,并且分離出每個(gè)通道的量程和使能信息,在獲得合法的控制字后才能通知初始化模塊開(kāi)始正常的數據運行。對于非法的控制字信息也能報錯并停機。

  2)初始化模塊:在上電后初始化每一個(gè)DAC芯片,包括復位芯片,開(kāi)啟菊花鏈使能,清空輸出數據寄存器等操作[1]。

  3)SPI接口模塊:該模塊能自動(dòng)的將處理完成的數據添加字頭地址并發(fā)送,而且能夠配合初始化模塊完成DAC的初始化工作。在完成數據發(fā)送后最好還可以自動(dòng)回讀DAC的狀態(tài)信息了解DAC是否過(guò)熱,電流環(huán)開(kāi)路等信息。在處理完成所有工作后,自動(dòng)的提供一個(gè)幀復位信號給狀態(tài)機完成一幀數據的處理工作。

  4)時(shí)鐘控狀態(tài)機:該模塊能協(xié)調每個(gè)模塊的工作順序,使這個(gè)機制在數據幀能順利工作并且自動(dòng)復位。

  5)通道識別模塊:對于多通道數據使用同一個(gè)數據處理線(xiàn)來(lái)說(shuō),要有效的識別通道,通知各模塊裝載對應的量程控制字和控制SPI模塊的菊花鏈數據裝載順序。 圖4是FPGA內部整體處理機制的結構圖。

3 FPGA仿真測試

  通過(guò)Verilog HDL語(yǔ)言編寫(xiě)相關(guān)的硬件描述語(yǔ)言模塊,并綜合生成實(shí)例。圖5是FPGA內部實(shí)現DAC數據轉換處理的實(shí)例模塊,也是本設計的核心模塊,其相應的輸入端口包括:模塊復位rst_n;模塊主時(shí)鐘輸入mclki;通道1的總線(xiàn)送來(lái)的十六位數據BUSdata1[15:0];通道2的總線(xiàn)送來(lái)的十六位數據BUSdata2[15:0];2個(gè)DAC通道的配置數據(包括量程和使能信號)configdata[7:0] ;轉換使能信號start;相應的輸出信號包括送往SPI通信模塊發(fā)送給DAC1的數據Txdata1[15:0];發(fā)送給DAC2的數據Txdata2[15:0],以及轉換完成的使能信號TXok。

  使用ModelSim軟件對FPGA內部的處理機制進(jìn)行仿真測試,圖6是SPI端口對DAC進(jìn)行初始化的時(shí)序仿真結果。包括發(fā)送0x560001 進(jìn)行復位功能,發(fā)送0x560000 取消復位功能,發(fā)送0x550008 開(kāi)啟菊花鏈使能等操作。

  圖7顯示了FPGA內部數據轉換的仿真測試結果,我們先預設了DAC工作在-10~10V量程下,并在該模式下給FPGA送入十進(jìn)制的6000 對應0x1770 代表要求DAC輸出正10V滿(mǎn)量程,計算結果輸出是有符號數的0x7FFF,說(shuō)明和預期結果一致,即這部分功能模塊可以正常工作。

  樣機測試使用Microsemi的FPGA為處理核心,使用Libero SoC開(kāi)發(fā)平臺下移植了以上設計進(jìn)行實(shí)體電路的運行,圖8為樣機的實(shí)物照片,左邊為頂層FPGA板,右邊為底層模擬量輸出板。其中模擬部分的硬件設計可以參考EVAL-AD5422[3]。另外,注意要做好輸出ESD保護對策。圖9顯示了該樣機輸出0~10V階躍信號的實(shí)測波形,驗證了設計的可行性,完成了相關(guān)產(chǎn)品的開(kāi)發(fā)任務(wù)。

4 結論

  本設計憑借FPGA強大的硬件可編程能力,在硬件設計方面直接省略了一顆MCU處理器及相關(guān)配套的硬件,既可以極度的精簡(jiǎn)物料表。提升整體硬件可靠性,降低系統功耗,又不用擔心MCU會(huì )存在死機等實(shí)際運行的風(fēng)險。

  對于數據處理交由FPGA來(lái)實(shí)現,既可更嚴格的管理完善整體系統運行的時(shí)序。而且輸入輸出數據的關(guān)聯(lián)性更差,這樣整個(gè)設計具有更好的保密性。利用FPGA的靈活性,使電子設計能夠在很短的周期內完成[4],而且FPGA內部設計硬件乘法器,加法器等硬件模塊可以極大的提升數據處理速度,從而提升系統響應時(shí)間[5]。

  參考文獻:

  [1]AD5422 Datasheet[Z] Analog Devices, Inc.

  [2]于笑凡,費樹(shù)岷.基于FPGA 與AD5422 的多功能信號發(fā)生器的設計[J].信息技術(shù)與信息化,2013(6): 53-55.

  [3]UG-422:Evaluating the AD5422 Single Channel,16Bit,Current Source and Voltage Output DAC,HART Connectivity.[Z] Analog Devices, Inc.

  [4]王玨文,金偉信,蔡一兵,等.基于FPGA的SPI總線(xiàn)接口的實(shí)現[J].現代電子技術(shù),2010(14):102-104.

  [5]周維龍.基于FPGA 的智能變送器的設計與開(kāi)發(fā)[D].長(cháng)沙:湖南大學(xué),2010:18-22.

  本文來(lái)源于《電子產(chǎn)品世界》2017年第9期第61頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA AD5422 串行外設接口 201709

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>