999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

遠程測控模塊中有限狀態機的設計*

2018-01-15 06:18:12
單片機與嵌入式系統應用 2018年1期
關鍵詞:指令系統設計

(成都職業技術學院 軟件分院,成都 610041)

引 言

遠程測控系統使人們可以通過計算機網絡隨時隨地查看和控制現場設備的運行狀態,也可以通過無線數據交換的形式把數據信息傳輸到其它工業測控儀器中。在整個控制系統中,上位機(也就是遠程決策系統)通過指令與數據傳輸控制遠端測控裝置通信,測控模塊的響應機制以及其控制系統工作狀態的穩定性、安全性尤為重要,其控制過程可以基于軟件或硬件實現,軟件實現最大的缺點是可靠性不夠高、響應速度較慢[1],因此對實時性可靠性要求較高的系統更多的是采用專用芯片、高速芯片或者可編程邏輯器CPLD/FPGA來設計實施和驗證,并配合易于建立的、以描述控制特性為主的、應用比較廣泛的有限狀態機(Finite_State_Machine,FSM)的建模方法來實施。

有限狀態機基于數字集成電路系統,大部分是時序電路, 時序電路可以用符號化的有限狀態機來模擬[2],不難發現遠程測控系統的各種控制狀態變化和轉移也可以描述系統的行為,而這些狀態的變化和轉移則形成了狀態機[3]。因此,采用基于狀態機的方法來定義和實現遠程測控是一種穩定、可靠、簡潔的實現方案。本文通過基于FPGA的遠程測控模塊,采用有限狀態機為測控模型,利用Verilog HDL描述,實現了有限狀態機在遠程測控模塊及系統穩定可靠地運行。

1 基于FPGA的遠程測控系統的設計

FPGA結合了微電子技術、電路技術、EDA技術,使設計者可以集中精力進行所需邏輯功能的設計,縮短設計周期,提高了設計質量。FPGA己經在計算機硬件、工業控制、遙感遙測、雷達聲納、數據處理、智能儀器儀表、廣播電視、醫療電子和現代通信等多種領域中得到廣泛應用。FPGA開發技術己經成為數字系統的科研試驗、樣機調試和中小批量生產和驗證的首選方案[4]。

對于工作點多、通信距離遠、環境惡劣且實時性和可靠性要求比較高的場合,可以利用無線電波來實現主控站與各個子站之間的數據通信,采用這種遠程測控方式有利于實現復雜連線,無需鋪設電纜或光纜,降低了環境成本[5]。本項目設計中,通信距離為3 000 m,采集點較多,采用的無線模塊可以有256個節點,現場FPGA模塊設計有模擬和數字輸入接口,可以接收大部分經過處理的現場傳感數據,根據遠程控制中心的要求實現現場情況的感知以及控制,模塊的輸出設計有數字驅動電路,可以直接控制繼電器、電機等現場設備;遠程計算機通過無線數字傳輸建立與現場模塊的通信,采集的現場數據經過基于人工智能的決策系統發給遠端模塊執行控制功能。系統框圖如圖1所示。

圖1 系統框圖

圖2 無線測控模塊中的數據流關系

2 有限狀態機模型的建立

2.1 無線測控模塊的數據流設計模型

本文選擇Verilog HDL來對該邏輯設計的硬件電路進行描述,主要包含以下電路模塊:開關量的采樣、異步通信接口、I2C總線接口、自主定義的模塊與決策端通信狀態機、串行ADC的時序接口、硬件電路信號輸出,以及相關的數據和地址控制電路。實驗階段的芯片選用XILINX SPARTAN3S 250E,其基于SRAM工藝,優點是使用標準的CMOS工藝,不需要任何復雜工序[6]。最后通過ISE開發平臺將整個控制電路集成到一個FPGA芯片中,減少了外界對系統的干擾,便于以后系統升級,對現場電路連接方式的控制較靈活。整個模塊核心的時序電路可以用符號化的有限狀態機來模擬,把一個時序邏輯抽象成一個同步有限狀態機是設計Verilog HDL模塊的關鍵[2]。狀態機在本項目基于FPGA的無線測控模塊設計中的數據流關系如圖2所示。

2.2 無線測控模塊的協議與指令

無線測控模塊在測控系統的地位處于從機或執行現場的地位,模塊的所有功能和動作圍繞主機及決策系統的要求來完成。通常情況是在周期性的間歇狀態中,接收主機的查詢、采集轉換現場數據、存儲現場數據以及向主機回傳;接收主機發送的決策控制數據,更新執行的輸出狀態以及保存當前控制狀態,在其他的時間現場模塊處于空閑狀態。本項目中基于FPGA的遠程測控模塊的主要協議與指令如表1所列。

表1 FPGA 遠程測控模塊的主要協議與指令

2.3 基于Verilog HDL的有限狀態機建模

在本系統中,基于FPGA的遠端執行模塊以及上位決策主機屬于從主關系,主從狀態機使用層次狀態機的設計方法來設計決策系統,包含一個主狀態機和多個從狀態機。主狀態機起到仲裁控制作用,決定當前有哪些從狀態機可以運行[7]。可以通過設計不同的主狀態機的狀態轉移關系達到不同的控制策略,如分時復用或基于優先級啟動不同的從狀態機等,在本系統主機中除控制可以并行執行外,其它信息的采集均可采用限時輪流詢問的方式,主機的狀態和行為描述在此不再贅述。

作為遠端模塊的從機,其狀態變化來自于第2.2節所描述的協議指令,由于采用可編程邏輯器件這種靈活的硬件設計,因此用基于Verilog HDL的有限狀態機建模,應該主要考慮以下幾點[2]:編碼方案、FSM的綜合實現、狀態機所有狀態的完備以及邊沿觸發器的設計,滿足速度和面積的設計要求。通過以上協議和指令分析可以基本確定在整個控制過程當中模塊的工作狀態,可以用圖形化的方式描述狀態機各個狀態之間的轉換關系,即該設計的狀態轉移圖如圖3所示(以遠程查詢指令為例)。

圖3 狀態轉移圖

3 Verilog程序的編寫

根據狀態轉移圖編寫有限狀態機程序,由于Verilog具有并行執行的特點[8],一個指令的判斷模塊輸出指令下跳沿給狀態機,即一個指令只執行一次。下面的程序以主機發送查詢指令FF為例。

//------------判斷FF指令下跳沿---------------

reg[2:0] com_ff_neg;

wire neg_ff_com; //采樣判斷FF指令下跳沿后的輸出

always @ (posedge clk or negedge rst_n)

begin

if(!rst_n)

com_ff_neg <= 3'b111;

else //com_ff來自于無線模塊接收數據

com_ff_neg <={com_ff_neg[1:0],com_ff};

end

assign neg_ff_com = ~com_ff_neg[1] & com_ff_neg[2];

//-------------遠程控制命令FF狀態機-------------

//采樣本地控制模塊的轉換數據,來自于4種傳感器

//寫入本地I2C存儲區后(作為斷電或開機后的本地采樣數據)

//通過無線模塊將該原始數據發送給主機

parameter/*WAIT_FF*/ S0 = 3'b000;

parameter/*SAMPLE0*/ S1 = 3'b001;

parameter/*SAMPLE1*/ S2 = 3'b010;

parameter/*SAMPLE2*/ S3 = 3'b011;

parameter/*TX_LOCAL*/ S4 = 3'b101;

parameter/*TX_END*/ S5= 3'b100;

reg[2:0] state_ff; //主機查詢指令狀態機-狀態

always @ (posedge clk or negedge rst_n)

begin

if(!rst_n) //復位狀態

begin

write_data_loc <=8'b00000000; byte_addr_loc <=3'b000;

state_ff <= S0;

inquiry <= 1'b1;

tx_bytes <= 4'b0; //uart 發送數據字節控制

end

else

case(state_ff)

S0: begin

inquiry <=1;

if(neg_ff_com) //inquiry 低電平啟動采樣

begin

state_ff <= SAMPLE0;

inquiry <=0; //1次寫入本地采樣到I2C

write_data_loc <= local_data[3];

byte_addr_loc <= 3'b011; //LOCAL_ADDR0 +3;

end

else state_ff <=S0;

end

S1: if(cstate == STOP2) // 寫入數據完成

begin

state_ff <= S2;

inquiry <=0; //

write_data_loc <= local_data[4];

byte_addr_loc <= 3'b100; //LOCAL_ADDR0 + 4 ;

end

else state_ff <= S1;

S2: if(cnt_20ms==20'hffff0) //寫入數據完成

begin

state_ff <= S3;

inquiry <=0; //

write_data_loc <= local_data[5];

byte_addr_loc <= 3'b101; //LOCAL_ADDR0 + 5 ;

end

else state_ff <= S2;

S3: if(cnt_20ms==20'hffff0) //寫入數據完成

begin

state_ff <= S4;

inquiry <=0; //

write_data_loc <= local_data[6];

byte_addr_loc <= 3'b110; //LOCAL_ADDR0 + 6 ;

end

else state_ff <= S3;

S4: if(cstate == STOP2)

begin tx_bytes <=BYTE_LENGTH; //發送長度載入

state_ff <=S5;

end

else state_ff <= S4;

S5 : begin

if (tx_num == 4'd11) tx_bytes <= tx_bytes - 1'b1;

if(tx_bytes == 0) state_ff <= S0;

end

default : state_ff <= S0;

endcase

end

4 實驗結果

主從機的通信和控制模式核心為遠程模塊根據現場數據接收遠端主機的決策控制信號。在本項目中采用的主機為臺式計算機,從機或遠端的執行機構采用本項目設計的基于FPGA的遠程測控模塊。實驗對象為水產養殖環境的信息測量——溫度、溶氧量,主要執行對象是對現

場水環境進行調節控制,控制對象為充氧機和進出水泵,由于模塊本身的輸出電壓基本為3.3 V,因此需要在輸出端加驅動及保護控制繼電器。

增氧泵是系統的主要控制對象之一,它是否正常工作直接決定了能否為魚塘充氧。增氧能力和動力效率是衡量增氧泵性能的重要指標,增氧能力是指每小時溶解到水中的氧氣的重量,動力效率是指在一定的條件下(如溫度)單位千瓦輸出功率的增氧能力。為了達到良好的增氧效果,系統選用葉輪式增氧泵[9]。在模塊的電路中設有兩片高耐壓、大電流復合晶體管IC——ULN2003,可以輸出14路驅動控制信號,其輸入端與FPGA-I/O口直接相連。

系統初始化后,主機通過采樣指令開始接收傳感器檢測到的各項數據,依次獲取溶氧量、溫度等參數,將獲取值與設定值比較,根據專家決策做出相應的動作從而實現自動控制。溫度傳感器采用 AD590,AD590為電流型溫度傳感器,它有非常好的線性輸出性能。當環境溫度為0 ℃時,其輸出電流為273 μA ,流過AD590的電流與絕對溫度成正比,溫度每增加1 ℃其輸出電流增加1 μA,即電流與溫度的關系是:I=(273+T) μA[10]。本項目現場模塊不對傳感器數值做任何判定和描述,直接根據時序傳遞給后端主機,由主機根據數據庫或專家決策系統做出相應的顯示和控制。

應用測試中,將本地模塊放于浮標桶內,采用干電池供電,在距離1000 m左右的室內對采集數據進行比較分析,時間跨度從早上9點到下午5點,間隔采樣時間為1小時,可以看出,該模塊對水養殖環境信息的檢測與標準參考值的相對誤差基本滿足使用需求。測試結果如表2所列。

表2 無線測控模塊對水產養殖信息的測試 測試時間:2017.08.04

結 語

[1] 唐健隆,梁自澤,蔡麗,等.基于狀態機的巡線機器人控制系統設計[J].機器人技術,2008,24(1-2):247-249.

[2] 陳勇.有限狀態機的建模與優化設計[J].重慶工學院學報:自然科學版,2007,21(5):55-58.

[3] 熊振云,阮俊波,金惠華.嵌入式軟件中狀態機的抽象與實現[J].計算機應用,2003,23(10):84-86.

[4] 孔利東.基于FPGA的數據采集與處理技術的研究[D].武漢:武漢理工大學,2007.

[5] 孫先逵,秦嵐.遠程測控技術的發展現狀和趨勢[J].儀器儀表學報,2004(8):562-564.

[6] Clive Max Maxfield.The Design Warrior’s Guide to FPGAs Devices,Tools and Flows[M].杜生海,等譯.北京:人民郵電出版社,2007:221-225.

[7] 豐平,馬曉川,陳模江.主從并行狀態機用于復雜FPGA控制系統設計[J].微計算機應用,2009,30(6):1-5.

[8] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2003.

[9] 劉海陸.基于 GSM 的魚塘增氧泵的遠程控制研究[D].舟山:浙江海洋學院,2014.

[10] 劉冬香.基于CPLD/FPGA的溫度測控系統的設計[J].機電工程技術,2009,38(12):20-21.

林永宏(高級工程師),主要研究方向為應用電子、嵌入式系統設計;邱紹峰(副教授),主要研究方向為圖像處理、電子技術應用。

猜你喜歡
指令系統設計
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 国产精品浪潮Av| 婷婷六月激情综合一区| 制服丝袜在线视频香蕉| 永久在线播放| 亚洲国产综合精品一区| 亚洲精品无码日韩国产不卡| 欧美国产菊爆免费观看| 黄色网址免费在线| 中文字幕av一区二区三区欲色| 成人va亚洲va欧美天堂| 久久semm亚洲国产| 国产麻豆va精品视频| 午夜限制老子影院888| 91娇喘视频| 精品一区二区三区中文字幕| 国产精品视频a| 欧美成一级| 亚洲区一区| 青青草一区二区免费精品| 综合亚洲网| 欧美一级夜夜爽www| 国产一区亚洲一区| 国产久草视频| 99久久国产综合精品女同| 无码不卡的中文字幕视频| 成人免费网站在线观看| 伊人激情久久综合中文字幕| 亚洲欧美国产五月天综合| 亚洲男人的天堂在线| 国产午夜一级毛片| 超级碰免费视频91| 91日本在线观看亚洲精品| 欧美激情综合一区二区| 亚洲精品777| 亚洲精品综合一二三区在线| 毛片网站观看| 欧美日韩激情在线| 亚洲区欧美区| 最新亚洲av女人的天堂| 成年人久久黄色网站| 日韩精品一区二区深田咏美| 国产亚洲高清在线精品99| av在线手机播放| 伊人久综合| 欧美色视频日本| 夜夜操狠狠操| 国产午夜不卡| 国产精品福利尤物youwu| 国产精品香蕉在线| 久久综合伊人77777| 高清色本在线www| 不卡视频国产| 在线观看欧美国产| 日本精品视频| 国产高清又黄又嫩的免费视频网站| 精品国产亚洲人成在线| 国产精品第| 欧美 亚洲 日韩 国产| 国产白浆一区二区三区视频在线| 婷婷午夜影院| 2048国产精品原创综合在线| 免费一级毛片在线观看| 这里只有精品在线| 亚洲欧洲日韩久久狠狠爱| 国产69囗曝护士吞精在线视频 | 成人亚洲视频| 无套av在线| 午夜精品国产自在| 亚洲成人www| 国产在线观看第二页| 试看120秒男女啪啪免费| 免费视频在线2021入口| 欧美精品v| 亚洲乱码在线播放| 片在线无码观看| 欧美色视频日本| 国产精品va| 国产无码在线调教| 青青草原国产精品啪啪视频| 久久精品丝袜高跟鞋| 亚洲动漫h| 国产波多野结衣中文在线播放|