新四季網

一種基於VerilogHDL的FPGA超高速工業控制系統的製作方法

2024-02-16 16:04:15 1

一種基於Verilog HDL的FPGA超高速工業控制系統的製作方法
【專利摘要】一種基於Verilog?HDL的FPGA超高速工業控制系統,包括:DA上層控制模塊,第一AD底層驅動模塊,第二AD底層驅動模塊,AD上層控制模塊,DA底層驅動模塊,異步串行通信發送接口,異步串行通信接收接口,控制器通信命令字接收控制模塊,控制器信息發送控制模塊,開關量輸出DO邏輯控制模塊,PID算法模塊,PLL鎖相環模塊,正弦數值Rom存儲器,第一AD轉換值模塊Ram,第二AD轉換值模塊Ram,模擬量DA實際輸出值模塊Ram,模擬量閉環PID控制參數模塊Ram,模擬量輸出DA手動設定值模塊Ram,模擬量AI給定值模塊Ram,波形參數模塊Ram。本發明控制周期Ts可以根據需求設置得非常小,可用於超高速控制應用中。
【專利說明】—種基於Ver i log HDL的FPGA超高速工業控制系統
【技術領域】
[0001]本發明涉及一種超高速工業控制系統。特別是涉及一種基於Verilog HDL的FPGA超高速工業控制系統。
【背景技術】
[0002]近年來,隨著計算機技術和電子技術的不斷進步和完善,通用數字控制器作為工業自動化控制類產品,已經被越來越多的產業領域接受,並已達到一個令人矚目的市場規模。在航空航天、大型裝備製造、電子信息等高新領域中,對控制器的快速性、穩定性、抗幹擾性、精度、速度等指標提出了更高的要求,對超高速工業控制器的需求越來越強烈。國內工業控制器近年在追趕國際先進水平方面取得了一定進展,但總體水平仍落後於國外技術先進的國家,發展還不成熟,主要體現在:①控制器難以運用於超高速應用場合,抗幹擾性和穩定性較差。由於控制器軟硬體體系結構設計不合理,導致控制周期大於超高速應用的要求,抗幹擾性和穩定性不好,最終的控制效果較差。②核心控制器沒有獨立智慧財產權。現有的控制系統普遍採用國外PLC控制器及相關軟體組成,所配控制器只有個別國外廠家提供,控制功能專用,不適合我國的應用要求。
[0003]現如今國內工業控制器市場仍是國外產品佔據大部分份額,而高水平的控制器市場幾乎被幾家國外公司壟斷,也就是說我國現在缺乏一種自主智慧財產權的超高速、低成本、高可靠性的工業控制器。
[0004]因此,開發一款具備自主智慧財產權,能夠通用於各種控制系統的超高速、低成本、高可靠性的超高速工業控制器具有重要的意義。
[0005]工業控制系統現場包含各類設備:控制室或現場的上位計算機;測量現場各種生產變量的模擬式傳感器,如流量傳感器、壓力傳感器、位移傳感器、溫度傳感器等;改變管路流體流量的調節閥,如溢流閥、比例雙向閥等;反映生產狀態與人機互動的開關式設備,如警報開關、啟動/停止按鈕等;用於通斷各種生產迴路的電磁閥等。
[0006]超高速工業控制器在工業控制系統中的應用情況,為了與上述工業控制系統現場包含的各類設備交互,超高速工業控制器具有如下接口:RS232和RS422(半/全雙工RS485)總線——用於與上位機通信,16路4?20mA/0?IOV模擬量輸入信號Al——用於採集各種模擬式傳感器信號,8路-1OV?+IOV模擬量輸出信號AO——用於控制調節閥開度,16路開關量輸入信號DI——用於讀取現場的各種開關量輸入狀態,8路開關量輸出信號DO——用於直接驅動生產中的各種電磁閥。

【發明內容】

[0007]本發明所要解決的技術問題是,提供一種能夠通用於各種控制系統的超高速、低成本、高可靠性的可與上位機共同組成控制系統及能夠直接與傳感器和執行機構信號匹配的基於Verilog HDL的FPGA超高速工業控制系統。
[0008]本發明所採用的技術方案是:一種基於Verilog HDL的FPGA超高速工業控制系統,包括:
[0009]DA上層控制模塊,用於在一個控制周期Ts中,根據控制器通信命令字接收控制模塊(8)輸出的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據按下述五種方式中的一種方式進行DA數值的計算,並調用DA底層驅動模塊(5)完成8路模擬量輸出的電壓輸出刷新,並存入模擬量DA實際輸出值模塊Ram (16),所述的五種方式為:
[0010]第一種方式,按照從模擬量輸出DA手動設定值模塊Ram讀出的數值手動設置DA值並進行輸出;
[0011]第二種方式,按照從波形參數模塊Ram讀出的周期相對值、峰值、谷值自動輸出方波;
[0012]第三種方式,按照從波形參數模塊Ram讀出的周期相對值、峰值、谷值自動輸出三角波;
[0013]第四種方式,按照從波形參數模塊Ram讀出的周期相對值、峰值、谷值,並按照從正弦數值Rom存儲器讀出的數值自動輸出正弦波;
[0014]第五種方式,按照從模擬量Al給定值模塊Ram讀出的與8路模擬量輸出的每一路AO通道相對應的模擬量輸入Al的閉環給定值,和從模擬量閉環PID控制參數模塊Ram讀出的相應的閉環PID控制參數,調用用於實現增量式PID算法的PID算法模塊,進行單閉環或雙閉環的PID自動調節,計算DA數值並進行輸出;
[0015]AD上層控制模塊,用於調用第一 AD底層驅動模塊和第二 AD底層驅動模塊完成全部16路模擬量輸入信號的輪詢AD採樣轉換,並將轉換結果存入第一 AD轉換值模塊Ram和第二 AD轉換值模塊Ram,向DA上層控制模塊提供整個系統的控制周期同步信號Ts ;
[0016]第一 AD底層驅動模塊,用於接收AD上層控制模塊發送的16位並行控制字,轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第一片12位8通道A/D轉換器電路,控制該電路進行AD轉換,並將轉換結果的數據並行輸出到AD上層控制模塊;
[0017]第二 AD底層驅動模塊,用於接收AD上層控制模塊(4)發送的16位並行控制字,轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第二片12位8通道A/D轉換器電路,控制該電路進行AD轉換,並將轉換結果的數據並行輸出到AD上層控制模塊;
[0018]DA底層驅動模塊,用於將DA上層控制模塊發來的32位並行控制字轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的14位8通道D/A轉換器電路。
[0019]異步串行通信接收接口,用於接收基於FPGA的超高速工業控制器中的通信數字隔離電路111輸入的信號,並寫入內部的異步串行通信接收FIFO模塊中,供控制器通信命令字接收控制模塊讀取。
[0020]控制器通信命令字接收控制模塊,用於從異步串行通信接收接口讀出數據,每讀出上位機發送的10位元組命令字後都進行校驗和計算,根據設定的控制器通信命令字接收解析表,由收到的第一個字節即功能碼數值解析出上位機命令字的含義,從而進行相應的命令解析與參數設置。
[0021 ] 開關量輸出DO邏輯控制模塊,用於讀入16路開關量輸入狀態信號,並根據控制器通信命令字接收控制模塊設定的模式輸出8路開關量輸出狀態信號。
[0022]控制器信息發送控制模塊,分別:從開關量輸出DO邏輯控制模塊讀取16路開關量輸入狀態和8路開關量輸出狀態的數值,從第一 AD轉換值模塊Ram讀取16路模擬量輸入通道12位AD轉換值,從模擬量DA實際輸出值模塊Ram讀取8路模擬量輸出通道14位DA數值,並將讀取的數值按設定的順序格式寫入異步串行通信發送接口,並將這一發送過程循環往復進行。
[0023]異步串行通信發送接口,利用內部的異步串行通信發送FIFO模塊接收控制器信息發送控制模塊的寫入信息,最終在輸出口上完成異步串行通信數據幀的發送。
[0024]PLL鎖相環模塊,用於接收基於FPGA的超高速工業控制器中的時鐘輸入與自動/手動復位電路單元的48MHz時鐘輸入,並為系統提供全局時鐘信號。
[0025]所述的第一 AD底層模塊和第二 AD底層模塊結構完全相同,其中,所述的第一 AD底層模塊在一個A/D轉換器的讀寫周期4.770833us內,將接收AD上層控制模塊發送的並行控制字轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第一片12位8通道A/D轉換器電路,並將從第一片12位8通道A/D轉換器電路串行讀出的16位包含上一個讀寫周期AD轉換結果的數據並行輸出到AD上層控制模塊;所述的第二 AD底層模塊在一個A/D轉換器的讀寫周期4.770833us內,用於將接收AD上層控制模塊發送的並行控制字轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第二片12位8通道A/D轉換器電路,並將從第二片12位8通道A/D轉換器電路串行讀出的16位包含上一個讀寫周期AD轉換結果的數據並行輸出到AD上層控制模塊。
[0026]所述的AD上層控制模塊,用於在每一個控制周期Ts=0.2896667ms內,調用第一AD底層驅動模塊和第二 AD底層驅動模塊完成全部16路模擬量輸入信號的輪詢AD採樣轉換,每次完成對基於FPGA的超高速工業控制器中的第一片12位8通道A/D轉換器電路和第二片12位8通道A/D轉換器電路中的一個輸入通道連續7次的同步AD轉換後,將第一片12位8通道A/D轉換器電路和第二片12位8通道A/D轉換器電路的7次同步AD轉換結果的後6次進行簡單選擇排序後,再將第一片12位8通道A/D轉換器電路和第二片12位8通道A/D轉換器電路的中間AD轉換值,存入第一 AD轉換值模塊Ram和第二 AD轉換值模塊Ram,向DA上層控制模塊提供整個系統的控制周期同步信號Ts。
[0027]所述的異步串行通信發送接口包括有,異步串行通信底層發送驅動模塊,異步串行通信上層發送控制模塊,異步串行通信發送FIFO模塊,其中,所述的異步串行通信發送FIFO模塊接收控制器信息發送控制模塊寫入的信息;所述的異步串行通信上層發送控制模塊從所述的異步串行通信發送FIFO模塊讀出I字節的待發送數據,調用異步串行通信底層發送驅動模塊完成一幀數據的發送,並循環往復;所述的異步串行通信底層發送驅動模塊將異步串行通信上層發送控制模塊發來的8位並行待發送數據按照異步串行通信中I個起始位+8個數據位+1個停止位、無校驗位的幀格式的時序逐位輸出到輸出口,所述的輸出口配置為I路RS422或全雙工RS485的發送引腳或2路RS232-C的發送引腳。
[0028]所述的異步串行通信接收接口包括有,異步串行通信底層接收驅動模塊,異步串行通信上層接收控制模塊,異步串行通信接收FIFO模塊,其中,所述的異步串行通信上層接收控制模塊調用異步串行通信底層接收驅動模塊完成一幀數據的接收,向異步串行通信接收FIFO模塊寫入I字節的剛剛接收到的8位並行數據,循環往復;所述的異步串行通信底層接收驅動模塊在異步串行通信上層接收控制模塊的控制下,對輸入口狀態按照異步串行通信中I個起始位+8個數據位+1個停止位、無校驗位的幀格式的時序轉換成8位並行數據供異步串行通信上層接收控制模塊讀取,所述的輸入口配置為I路RS422或全雙工RS485的接收引腳或2路RS232-C的接收引腳;所述的異步串行通信接收FIFO模塊接收異步串行通信上層接收控制模塊寫入的信息供控制器通信命令字接收控制模塊讀取。
[0029]所述的控制器通信命令字接收控制模塊中的控制器通信命令字接收解析表設定:
[0030]當第一個字節即功能碼數值為O時,解析命令字中的數值,並進行一路開關量輸出DO手/自動設直;
[0031]當第一個字節即功能碼數值為I時,解析命令字中的數值,並進行一路模擬量輸出AO的DA值手動設置;
[0032]當第一個字節即功能碼數值為2時,解析命令字中的數值,並進行一路模擬量輸出AO自動生成方波的設置;
[0033]當第一個字節即功能碼數值為3時,解析命令字中的數值,並進行一路模擬量輸出AO自動生成三角波的設置;
[0034]當第一個字節即功能碼數值為4時,解析命令字中的數值,並進行一路模擬量輸出AO自動生成正弦波的設置;
[0035]當第一個字節即功能碼數值為5時,解析命令字中的數值,並進行一路模擬量輸出AO切自動PID調節使能;
[0036]當第一個字節即功能碼數值為6時,解析命令字中的數值,並進行一路模擬量輸入Al的閉環給定值設置;
[0037]當第一個字節即功能碼數值為7時,解析命令字中的數值,並進行一路模擬量輸入Al的閉環PID控制參數設置。
[0038]所述的功能碼數值為O時,所述的控制器通信命令字接收控制模塊按照所接收的命令字刷新輸出給開關量輸出DO邏輯控制模塊的數據;所述的功能碼數值為2、3、和4時,所述的控制器通信命令字接收控制模塊按照所接收的命令字將波形參數寫入波形參數模塊Ram,並刷新輸出給DA上層控制模塊的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據;所述的功能碼數值為I時,所述的控制器通信命令字接收控制模塊按照所接收的命令字將模擬量輸出AO的DA手動值寫入模擬量輸出DA手動設定值模塊Ram,並刷新輸出給DA上層控制模塊的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據;所述的功能碼數值為5時,所述的控制器通信命令字接收控制模塊按照所接收的命令字刷新輸出給DA上層控制模塊的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據;所述的功能碼數值為6時,所述的控制器通信命令字接收控制模塊按照所接收的命令字將一路模擬量輸入的閉環給定值寫入模擬量Al給定值模塊Ram ;所述的功能碼數值為7時,所述的控制器通信命令字接收控制模塊按照所接收的命令字將一路模擬量輸入的閉環PID控制參數寫入模擬量閉環PID控制參數模塊Ram。
[0039]所述的控制器信息發送控制模塊向上位機循環發送控制器狀態信息,在每個發送循環中,該控制器信息發送控制模塊共發送52位元組的控制器狀態信息:先發送一字節的0x55作為上位機的接收同步信息,然後從第一 AD轉換值模塊Ram讀取16X 12bit共32位元組的16路Al數值並發送,然後從模擬量DA實際輸出值模塊Ram讀取8 X 14bit共16位元組的8路AO數值並發送,最後從開關量輸出DO邏輯控制模塊讀取16路開關量輸入狀態和8路開關量輸出狀態共3位元組的數值。[0040]本發明的一種基於Verilog HDL的FPGA超高速工業控制系統,因所有控制與採集功能均用現場可編程門陣列FPGA實現,故控制周期Ts可以根據需求設置得非常小,可用於超高速控制應用中。在EP3C16E144I7上完成Verilog代碼的模塊設計,幾乎所有涉及時序的模塊均用Verilog代碼設計成有限狀態機,工作快速、穩定。設計中僅僅使用一片FPGA作為主控晶片,完成工業控制系統的模擬量、開關量的採集與控制,最突出的特點是速度快、超高速,同時具有成本低、通用性好、穩定性高、可靠性好、現場可編程與擴展能力強等優點,一個控制周期Ts中每路Al採集7次的情況下,8個模擬量的PID閉環控制總周期可以低至289us (即0.289ms),如果一個控制周期Ts中每路Al採集少於7次,控制周期可以低至IOOus以下,完全可滿足超高速的控制要求。控制器可通過RS232-C總線接口,RS422總線接口(半/全雙工RS485總線接口),用於連接上位計算機或工控機,並可以作為半雙工RS485總線上的一個控制節點連入工業控制網絡,與工控機、信號調理板、被控對象組成一套完整的控制系統,實現了控制系統的整體化,用戶可根據不同的控制要求擴充各種不同性能的支持RS485接口的控制器使控制系統的功能更加完善。本發明中的控制器使用四層FPGA核心板+信號調理板的設計結構,本發明中的信號調理板與FPGA相連,並可根據不同的需求調換不同的調理板以實現不同的性能(如改變A/D、D/A精度,增加接口數量等)。
【專利附圖】

【附圖說明】
[0041]圖1是基於FPGA的超高速工業控制器的硬體結構圖;
[0042]圖2是本發明系統的頂層方框圖設計中各個虛擬功能模塊的連接示意及對外引腳圖;
[0043]圖3是DA上層控制模塊DA_top_control.V的狀態轉換圖;
[0044]圖4是AD上層控制模塊AD_top_control.V的狀態轉換圖;
[0045]圖5是AD底層驅動模塊AD.V的狀態轉換圖;
[0046]圖6是AD7928的串行接口時序圖;
[0047]圖7是AD7928的12位控制寄存器的位定義圖;
[0048]圖8是DA底層驅動模塊DA.V的狀態轉換圖;
[0049]圖9是DA轉換器(AD5648)的串行接口時序圖;
[0050]圖10是DA轉換器(AD5648)的32位輸入寄存器的位定義圖;
[0051]圖11是異步串行通信接收接口 rx_interface.bdf的方框圖;
[0052]圖12是異步串行通信底層接收驅動模塊rx_module.V的狀態轉換圖;
[0053]圖13是異步串行通信上層接收控制模塊rx_top_control_module.V的狀態轉換圖;
[0054]圖14是控制器通信命令字接收控制模塊rx_control.V的狀態轉換圖;
[0055]圖15是控制器信息發送控制模塊tx_control.V的狀態轉換圖;
[0056]圖16是異步串行通信發送接口 tx_interface.bdf的方框圖;
[0057]圖17是異步串行通信底層發送驅動模塊tx_module.V的狀態轉換圖;
[0058]圖18是異步串行通信上層發送控制模塊tx_top_control_module.V的狀態轉換圖。【具體實施方式】
[0059]下面結合實施例和附圖對本發明的一種基於Verilog HDL的FPGA超高速工業控制系統做出詳細說明。
[0060]本發明的一種基於Verilog HDL的FPGA超高速工業控制系統是用於基於FPGA的超高速工業控制器上的。所述的基於FPGA的超高速工業控制器的結構圖如圖1所示,包括由型號為EP3C16E144I7的Altera Cyclone III系列FPGA構成的FPGA核心主控晶片1,連接在FPGA核心主控晶片I的模擬量信號輸入端的16路模擬量輸入A/D轉換電路單元7,連接在FPGA核心主控晶片I的模擬量信號輸出端的8路模擬量輸出D/A轉換電路單元8,連接在FPGA核心主控晶片I的開關量信號輸入端的16路開關量輸入信號隔離單元9,連接在FPGA核心主控晶片I的開關量信號輸出端的8路開關量輸出信號隔離與驅動單元10,所述的FPGA核心主控晶片I通過RS232/半/全雙工RS485 (RS422)總線通信單元11連接上位機或接入工業網絡,所述的FPGA核心主控晶片I連接FPGA獨立電源(3.3V,2.5V,1.2V)供電單元2,FPGA核心主控晶片I連接時鐘輸入與自動/手動復位電路單元5,FPGA核心主控晶片I連接JTAG調試接口電路3,FPGA核心主控晶片I連接EPCS16程序配置晶片電路4,所述的FPGA核心主控晶片I與所述的2、3、4、5共同構成FPGA超高速工業控制器的四層核心板,調理板電源(5V,± 12V)供電單元6與所述的7、8、9、10、11共同構成FPGA超高速工業控制器的兩層信號調理板。
[0061]本發明中的控制器設計中僅僅使用一片FPGA作為主控晶片,選用Altera公司Cyclone III系列FPGA中的EP3C16E144I7,其內部邏輯資源相當豐富,頻率高、延遲小,用它完成工業控制系統的模擬量、開關量的採集與控制,最突出的特點是速度快、超高速,同時具有速度快、成本低、通用性好、穩定性高、可靠性好、現場可編程與擴展能力強等優點,一個控制周期Ts中每路Al採集7次的情況下,8個模擬量的PID閉環控制總周期可以低至289us (即0.289ms),如果一個控制周期Ts中每路Al採集少於7次,控制周期可以低至IOOus以下,完全可滿足超高速的控制要求。本發明中的控制器具有DI和DO兩大類外部開關量接口,16路DI (24V數字量輸入)與8路DO (30VDC/250VAC、5A數字量輸出)可用於直接與工業控制系統常用設備及其驅動模塊的開關量接口相連以完成工業現場開關量的採集與控制。本發明中的控制器具有A/D和D/A兩大類外部模擬量數據接口,16路A/D(其中8路同時支持4?20mA、0?IOV模擬量採集,另外8路僅支持4?20mA模擬量採集)用於與工業控制系統常用的流量、壓力和位移傳感器的模擬量信號連接以完成工業現場模擬量信號的採集,8路D/A(經信號放大以-10?+IOV輸出,輸出電流不低於IOOmA)用於與工業控制系統常用設備的驅動模塊(交直流電機、伺服閥、溢流閥、衝液閥、換向閥的驅動器)連接以完成工業現場模擬控制量的雙極性輸出。本發明中的控制器具有RS232-C總線接口,RS422總線接口(半/全雙工RS485總線接口),用於連接上位計算機或工控機,並可以作為半雙工RS485總線上的一個控制節點組成DCS (集散控制系統),與網絡內的其他設備共同組成一套完整的控制系統,實現了控制系統的整體化。本發明中的控制器在與工業控制系中Al、A0、D1、D0、總線通信的所有接口均採用了隔離措施與抗幹擾措施,通過光耦、磁耦的隔離,使FPGA與其他各種工業現場信號無任何電氣迴路連接,從而大大增強了控制器的抗幹擾性能,使得FPGA核心板幾乎不可能受到工業現場的幹擾而損壞。本發明中的控制器是真正的工業級超高速控制器,在硬體上所有晶片的選型必須保證是工業級晶片且力求集成度高、處理速度快,如FPGA晶片EP3C16E144I7、DA晶片AD5648、AD晶片AD7928、磁耦晶片ADuM系列、RS422/RS485接口晶片MAX49IESD等,所有晶片的工作範圍寬於_40°C?+85°C,是名符其實的工業級超高速控制器。本發明中的控制器使用四層FPGA核心板+信號調理板的設計結構,本發明中的信號調理板與FPGA相連,並可根據不同的需求調換不同的調理板以實現不同的性能(如改變A/D、D/A精度,增加接口數量等)。本發明中的控制器核心控制晶片選用Altera公司Cyclone III系列FPGA中的EP3C16E144I7,其內部邏輯資源相當豐富,頻率高、延遲小,為編寫狀態機等複雜的邏輯控制程序和複雜的控制算法程序奠定了硬體基礎,使超高速控制成為可能,同時利於今後控制器的軟體升級。
[0062]FPGA超高速工業控制器的FPGA核心主控晶片I選用的是Altera公司CycloneIII系列FPGA中的EP3C16E144I7,因為EP3C16E144I7的內部邏輯資源非常豐富,所以在Quartus II集成開發環境下進行Verilog代碼或方框圖的模塊設計就顯得異常靈活,資源使用綽綽有餘,更有利於今後軟體的升級與更高級控制算法和更複雜控制邏輯在以EP3C16E144I7為核心主控晶片的FPGA超高速工業控制器上的實現。
[0063]FPGA的主要作用是:FPGA通過A/D轉換器將最多16路傳感器採集的模擬量輸入信號Al轉換為FPGA能識別的二進位信息,然後FPGA根據這些信息與控制算法計算出調節閥應有的開度,然後經過D/A轉換器和驅動放大電路,輸出最多8路-1OV?+IOV模擬量給調節閥,從而達到控制目的:同時FPGA可通過RS232和RS422 (半/全雙工RS485)總線向上位機發送所有16路A1、8路AO的數值和16路D1、8路DO的狀態,上位機可向FPGA發送各種控制信息。
[0064]如圖2所示,本發明的一種基於Verilog HDL的FPGA超高速工業控制系統,包括:DA上層控制模塊1、第一 AD底層驅動模塊2、第二 AD底層模塊3、AD上層控制模塊4、DA底層驅動模塊5、異步串行通信發送接口 6、異步串行通信接收接口 7、控制器通信命令字接收控制模塊8、控制器信息發送控制模塊9、開關量輸出DO邏輯控制模塊10、PID算法模塊11、PLL鎖相環模塊12、正弦數值Rom存儲器13、第一 AD轉換值模塊Raml4、第二 AD轉換值模塊Raml5、模擬量DA實際輸出值模塊Raml6、模擬量閉環PID控制參數模塊Raml7、模擬量輸出DA手動設定值模塊Raml8、模擬量Al給定值模塊Raml9和波形參數模塊Ram20。其中,
[0065]DA上層控制模塊1,用於在一個控制周期Ts中,根據控制器通信命令字接收控制模塊8輸出的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據按下述五種方式中的一種方式進行DA數值的計算,並調用DA底層驅動模塊5完成8路模擬量輸出的電壓輸出刷新,並存入模擬量DA實際輸出值模塊Raml6,所述的五種方式為:
[0066]第一種方式,按照從模擬量輸出DA手動設定值模塊RamlS讀出的數值手動設置DA值並進行輸出;
[0067]第二種方式,按照從波形參數模塊Ram20讀出的周期相對值、峰值、谷值自動輸出方波;
[0068]第三種方式,按照從波形參數模塊Ram20讀出的周期相對值、峰值、谷值自動輸出三角波;
[0069]第四種方式,按照從波形參數模塊Ram20讀出的周期相對值、峰值、谷值,並按照從正弦數值Rom存儲器13讀出的數值自動輸出正弦波;
[0070]第五種方式,按照從模擬量Al給定值模塊Raml9讀出的與8路模擬量輸出的每一路AO通道相對應的模擬量輸入Al的閉環給定值,和從模擬量閉環PID控制參數模塊Raml7讀出的相應的閉環PID控制參數,調用用於實現增量式PID算法的PID算法模塊11,進行單閉環或雙閉環的PID自動調節,計算DA數值並進行輸出。
[0071]如圖3所示,DA上層控制模塊DA_top_control.V的狀態轉換圖中,DA上層控制模塊DA_top_control.v完成的主要功能是:在每一個控制周期Ts=0.2896667ms內,對8路模擬量輸出的每一路AO通道,都根據AUT0_HAND_DA[31:0]中與該路AO通道對應的4位數值,按如下5種方式之一進行DA數值的計算,並根據計算出的DA值調用DA底層驅動模塊DA.V完成DA轉換器AD5648的電壓輸出刷新。8路AO的每一路均可通過上位機向控制器發送命令字的方法(命令字格式見表37)配置為以下任何一種輸出方式,且每路AO的輸出方式完全獨立。方式1-M按手動設置的DA值進行輸出;方式2:A0按設置的周期相對值、峰值、谷值自動輸出方波;方式3:A0按設置的周期相對值、峰值、谷值自動輸出三角波;方式4:A0按設置的周期相對值、峰值、谷值自動輸出正弦波;方式5:A0根據與其對應的模擬量輸入Al的閉環給定值和相應的閉環PID控制參數進行單閉環/雙閉環的PID自動調節。
[0072]上述的方式5是控制器AO最重要的輸出方式,可完成最多8路模擬量Al的定值或隨動控制,且控制周期僅為Ts=0.2896667msο
[0073]AOO-A03與Al的單閉環對應關係見下表。
[0074]
【權利要求】
1.一種基於Verilog HDL的FPGA超高速工業控制系統,其特徵在於,包括: DA上層控制模塊(I ),用於在一個控制周期Ts中,根據控制器通信命令字接收控制模塊(8)輸出的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據按下述五種方式中的一種方式進行DA數值的計算,並調用DA底層驅動模塊(5)完成8路模擬量輸出的電壓輸出刷新,並存入模擬量DA實際輸出值模塊Ram (16),所述的五種方式為: 第一種方式,按照從模擬量輸出DA手動設定值模塊Ram (18)讀出的數值手動設置DA值並進行輸出; 第二種方式,按照從波形參數模塊Ram (20)讀出的周期相對值、峰值、谷值自動輸出方波; 第三種方式,按照從波形參數模塊Ram (20)讀出的周期相對值、峰值、谷值自動輸出三角波; 第四種方式,按照從波形參數模塊Ram (20)讀出的周期相對值、峰值、谷值,並按照從正弦數值Rom存儲器(13)讀出的數值自動輸出正弦波; 第五種方式,按照從模擬量Al給定值模塊Ram (19)讀出的與8路模擬量輸出的每一路AO通道相對應的模擬量輸入Al的閉環給定值,和從模擬量閉環PID控制參數模塊Ram(17)讀出的相應的閉環PID控制參數,調用用於實現增量式PID算法的PID算法模塊(11),進行單閉環或雙閉環的PID自動調節,計算DA數值並進行輸出; AD上層控制模塊(4),用於調用第一 AD底層驅動模塊(2)和第二 AD底層驅動模塊(3)完成全部16路模擬量輸入信號的輪詢AD採樣轉換,並將轉換結果存入第一 AD轉換值模塊Ram (14)和第二 AD轉換值模塊Ram (15),向DA上層控制模塊(I)提供整個系統的控制周期同步信號Ts; 第一 AD底層驅動模塊(2),用於接收AD上層控制模塊(4)發送的16位並行控制字,轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第一片12位8通道A/D轉換器電路,控制該電路進行AD轉換,並將轉換結果的數據並行輸出到AD上層控制模塊(4); 第二 AD底層驅動模塊(3),用於接收AD上層控制模塊(4)發送的16位並行控制字,轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第二片12位8通道A/D轉換器電路,控制該電路進行AD轉換,並將轉換結果的數據並行輸出到AD上層控制模塊(4); DA底層驅動模塊(5),用於將DA上層控制模塊(I)發來的32位並行控制字轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的14位8通道D/A轉換器電路。 異步串行通信接收接口(7),用於接收基於FPGA的超高速工業控制器中的通信數字隔離電路111輸入的信號,並寫入內部的異步串行通信接收FIFO模塊中,供控制器通信命令字接收控制模塊(8)讀取。 控制器通信命令字接收控制模塊(8),用於從異步串行通信接收接口(7)讀出數據,每讀出上位機發送的10位元組命令字後都進行校驗和計算,根據設定的控制器通信命令字接收解析表,由收到的第一個字節即功能碼數值解析出上位機命令字的含義,從而進行相應的命令解析與參數設置。 開關量輸出DO邏輯控制模塊(10 ),用於讀入16路開關量輸入狀態信號,並根據控制器通信命令字接收控制模塊(8)設定的模式輸出8路開關量輸出狀態信號。 控制器信息發送控制模塊(9),分別:從開關量輸出DO邏輯控制模塊(10)讀取16路開關量輸入狀態和8路開關量輸出狀態的數值,從第一 AD轉換值模塊Ram (14)讀取16路模擬量輸入通道12位AD轉換值,從模擬量DA實際輸出值模塊Ram (16)讀取8路模擬量輸出通道14位DA數值,並將讀取的數值按設定的順序格式寫入異步串行通信發送接口(6),並將這一發送過程循環往復進行。 異步串行通信發送接口( 6 ),利用內部的異步串行通信發送FIFO模塊接收控制器信息發送控制模塊(9)的寫入信息,最終在輸出口上完成異步串行通信數據幀的發送。 PLL鎖相環模塊(12),用於接收基於FPGA的超高速工業控制器中的時鐘輸入與自動/手動復位電路單元的48MHz時鐘輸入,並為系統提供全局時鐘信號。
2.根據權利要求1所述的一種基於VerilogHDL的FPGA超高速工業控制系統,其特徵在於,所述的第一 AD底層模塊(2)和第二 AD底層模塊(3)結構完全相同,其中,所述的第一 AD底層模塊(2)在一個A/D轉換器的讀寫周期4.770833us內,將接收AD上層控制模塊(4)發送的並行控制字轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第一片12位8通道A/D轉換器電路,並將從第一片12位8通道A/D轉換器電路串行讀出的16位包含上一個讀寫周期AD轉換結果的數據並行輸出到AD上層控制模塊(4);所述的第二 AD底層模塊(3)在一個A/D轉換器的讀寫周期4.770833us內,用於將接收AD上層控制模塊(4)發送的 並行控制字轉換成SPI串行接口時序,寫入基於FPGA的超高速工業控制器中的第二片12位8通道A/D轉換器電路,並將從第二片12位8通道A/D轉換器電路串行讀出的16位包含上一個讀寫周期AD轉換結果的數據並行輸出到AD上層控制模塊(4)。
3.根據權利要求1所述的一種基於VerilogHDL的FPGA超高速工業控制系統,其特徵在於,所述的AD上層控制模塊(4),用於在每一個控制周期Ts=0.2896667ms內,調用第一AD底層驅動模塊(2)和第二 AD底層驅動模塊(3)完成全部16路模擬量輸入信號的輪詢AD採樣轉換,每次完成對基於FPGA的超高速工業控制器中的第一片12位8通道A/D轉換器電路和第二片12位8通道A/D轉換器電路中的一個輸入通道連續7次的同步AD轉換後,將第一片12位8通道A/D轉換器電路和第二片12位8通道A/D轉換器電路的7次同步AD轉換結果的後6次進行簡單選擇排序後,再將第一片12位8通道A/D轉換器電路和第二片12位8通道A/D轉換器電路的中間AD轉換值,存入第一 AD轉換值模塊Ram (14)和第二AD轉換值模塊Ram (15),向DA上層控制模塊(I)提供整個系統的控制周期同步信號Ts。
4.根據權利要求1所述的一種基於VerilogHDL的FPGA超高速工業控制系統,其特徵在於,所述的異步串行通信發送接口(6)包括有,異步串行通信底層發送驅動模塊(63),異步串行通信上層發送控制模塊(62),異步串行通信發送FIFO模塊(61),其中,所述的異步串行通信發送FIFO模塊(61)接收控制器信息發送控制模塊(9)寫入的信息;所述的異步串行通信上層發送控制模塊(62)從所述的異步串行通信發送FIFO模塊(61)讀出I字節的待發送數據,調用異步串行通信底層發送驅動模塊(63)完成一幀數據的發送,並循環往復;所述的異步串行通信底層發送驅動模塊(63)將異步串行通信上層發送控制模塊(62)發來的8位並行待發送數據按照異步串行通信中I個起始位+8個數據位+1個停止位、無校驗位的幀格式的時序逐位輸出到輸出口,所述的輸出口配置為I路RS422或全雙工RS485的發送引腳或2路RS232-C的發送引腳。
5.根據權利要求1所述的一種基於VerilogHDL的FPGA超高速工業控制系統,其特徵在於,所述的異步串行通信接收接口(7)包括有,異步串行通信底層接收驅動模塊(71),異步串行通信上層接收控制模塊(72),異步串行通信接收FIFO模塊(73),其中,所述的異步串行通信上層接收控制模塊(72)調用異步串行通信底層接收驅動模塊(71)完成一幀數據的接收,向異步串行通信接收FIFO模塊(73)寫入I字節的剛剛接收到的8位並行數據,循環往復;所述的異步串行通信底層接收驅動模塊(71)在異步串行通信上層接收控制模塊(72)的控制下,對輸入口狀態按照異步串行通信中I個起始位+8個數據位+1個停止位、無校驗位的幀格式的時序轉換成8位並行數據供異步串行通信上層接收控制模塊(72)讀取,所述的輸入口配置為I路RS422或全雙工RS485的接收引腳或2路RS232-C的接收引腳;所述的異步串行通信接收FIFO模塊(73)接收異步串行通信上層接收控制模塊(72)寫入的信息供控制器通信命令字接收控制模塊(8)讀取。
6.根據權利要求1所述的一種基於VerilogHDL的FPGA超高速工業控制系統,其特徵在於,所述的控制器通信命令字接收控制模塊(8)中的控制器通信命令字接收解析表設定: 當第一個字節即功能碼數值為O時,解析命令字中的數值,並進行一路開關量輸出DO手/自動設置; 當第一個字節即功能碼數值為I時,解析命令字中的數值,並進行一路模擬量輸出AO的DA值手動設置; 當第一個字節即功能碼數值為2時,解析命令字中的數值,並進行一路模擬量輸出AO自動生成方波的設置; 當第一個字節即功能碼數值為3`時,解析命令字中的數值,並進行一路模擬量輸出AO自動生成三角波的設置; 當第一個字節即功能碼數值為4時,解析命令字中的數值,並進行一路模擬量輸出AO自動生成正弦波的設置; 當第一個字節即功能碼數值為5時,解析命令字中的數值,並進行一路模擬量輸出AO切自動PID調節使能; 當第一個字節即功能碼數值為6時,解析命令字中的數值,並進行一路模擬量輸入Al的閉環給定值設置; 當第一個字節即功能碼數值為7時,解析命令字中的數值,並進行一路模擬量輸入Al的閉環PID控制參數設置。
7.根據權利要求6所述的一種基於VerilogHDL的FPGA超高速工業控制系統,其特徵在於,所述的功能碼數值為O時,所述的控制器通信命令字接收控制模塊(8)按照所接收的命令字刷新輸出給開關量輸出DO邏輯控制模塊(10)的數據;所述的功能碼數值為2、3、和4時,所述的控制器通信命令字接收控制模塊(8)按照所接收的命令字將波形參數寫入波形參數模塊Ram (20),並刷新輸出給DA上層控制模塊(I)的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據;所述的功能碼數值為I時,所述的控制器通信命令字接收控制模塊(8)按照所接收的命令字將模擬量輸出AO的DA手動值寫入模擬量輸出DA手動設定值模塊Ram( 18),並刷新輸出給DA上層控制模塊(I)的模擬量DA輸出模式選擇位AUT0_HAND_DA[31:0]數據;所述的功能碼數值為5時,所述的控制器通信命令字接收控制模塊(8)按照所接收的命令字刷新輸出給DA上層控制模塊(I)的模擬量DA輸出模式選擇位AUTO_HAND_DA[31:0]數據;所述的功能碼數值為6時,所述的控制器通信命令字接收控制模塊(8)按照所接收的命令字將一路模擬量輸入的閉環給定值寫入模擬量Al給定值模塊Ram (19);所述的功能碼數值為7時,所述的控制器通信命令字接收控制模塊(8)按照所接收的命令字將一路模擬量輸入的閉環PID控制參數寫入模擬量閉環PID控制參數模塊Ram (17)。
8.根據權利要求1所述的一種基於Verilog HDL的FPGA超高速工業控制系統,其特徵在於,所述的控制器信息發送控制模塊(9)向上位機循環發送控制器狀態信息,在每個發送循環中,該控制器信息發送控制模塊(9)共發送52位元組的控制器狀態信息:先發送一字節的0x55作為上位機的接收同步信息,然後從第一 AD轉換值模塊Ram( 14)讀取16 X 12bit共32位元組的16路Al數值並發送,然後從模擬量DA實際輸出值模塊Ram (16)讀取8X 14bit共16位元組的8路AO數值並發送,最後從開關量輸出DO邏輯控制模塊(10)讀取16路開關量輸入狀態和8路開關 量輸出狀態共3位元組的數值。
【文檔編號】G05B19/418GK103455002SQ201310391220
【公開日】2013年12月18日 申請日期:2013年8月30日 優先權日:2013年8月30日
【發明者】吳愛國, 崔巍, 江濤 申請人:天津大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀