freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

步進電機控制系統(tǒng)設(shè)計與實現(xiàn)-閱讀頁

2024-12-21 18:07本頁面
  

【正文】 tput16[1]=1。 if(Count16[15:0]==1639。 else Output16[0]=0。其中 0utPut16( 15)就是最高位,其頻率最高。由前面的公式可知,在指定的輸出脈沖個數(shù)下,對于這 16 種頻率的脈沖,應(yīng)從其中提取出需要的幾種進行疊加。這個輸出控制可由 16 個兩輸入與門,一端接輸出脈沖,另一端接對應(yīng)的脈沖個數(shù)寄存器。所以,與這些為“ 1”的位相連接的與門打開,讓對應(yīng)頻率的脈沖1/16CLK、 1/32CLK、 1/64CLK、 1/128CLK、 1/256CLK 和 1/1024CLK 輸出到 16 輸入的或門上進行疊加。 else begin key_tmp[0]=KEY[0]amp。 key_tmp[1]=KEY[1]amp。 key_tmp[2]=KEY[2]amp。 key_tmp[3]=KEY[3]amp。 key_tmp[4]=KEY[4]amp。 key_tmp[5]=KEY[5]amp。 key_tmp[6]=KEY[6]amp。 key_tmp[7]=KEY[7]amp。 key_tmp[8]=KEY[8]amp。 key_tmp[9]=KEY[9]amp。 key_tmp[10]=KEY[10]amp。 key_tmp[11]=KEY[11]amp。 key_tmp[12]=KEY[12]amp。 key_tmp[13]=KEY[13]amp。 key_tmp[14]=KEY[14]amp。 key_tmp[15]=KEY[15]amp。 swave_out=key_tmp[0]︳ key_tmp[1]︳ key_tmp[2]︳ key_tmp[3]︳ key_tmp[4]︳key_tmp[5]︳ key_tmp[6]︳ key_tmp[7]︳ key_tmp[8]︳ key_tmp[9]︳ key_tmp[10]︳ key_tmp[11]︳ key_tmp[12]︳ key_tmp[13]︳ key_tmp[14]︳ key_tmp[15]。 控制模塊 步進電機控制系統(tǒng)的控制模塊的主要功能是處理控制系統(tǒng)接收外部信息,如復(fù)位信號,電機轉(zhuǎn)速等信息,控制系統(tǒng)的核心 脈沖產(chǎn)生電路產(chǎn)生控制步進電機的脈沖信號以及系統(tǒng)輸出脈沖的總數(shù)和速度。其原理框圖如圖 。要實現(xiàn)從 8MHZ 的時鐘輸入分頻到65536HZ,至少需要一個 7bit 的計數(shù)器。然而,結(jié)合后續(xù)所需模塊,分析可知,由于需要可調(diào)的加速度,所以,系統(tǒng)每秒鐘都要根據(jù)加速度調(diào)整輸出脈沖的個數(shù)。而通過 23bit 的時鐘,完全可以同時用來實現(xiàn)把輸入8MHZ 時鐘分頻到 65536HZ 的功能,這樣可以節(jié)省一個 8bit 的計數(shù)器,以節(jié)省資源。 count23=839。 end else begin count23=count23+1。b1111_1111) sclkout=1。 end end 程序中, CLK為輸入 8MHZ 的時鐘, sclkout 為每一個周期 (每秒 )的結(jié)束信號,供后面的模塊使用。程序如下 : always(posedge CLK or negedge RESET) //(RESET,WAVE_IN, pulse_counter, iocontrol, max_plus) if(!RESET) begin iocontrol=1。 else pulse_counter=pulse_counter+1。由 iocontrol 來控制輸出到整個系統(tǒng)的輸出 OUTPUT。當 pulse_counter 達到 maxplus 的時候, iocontrol 為‘ 0’, WAVE_IN 被屏蔽掉,系統(tǒng)不輸出脈沖。當加速度不為零的時候,每秒種要輸出的脈沖個數(shù)等于前一秒鐘輸出的脈沖個數(shù)再加加速度 。因此,可以把加速度分為正和負兩種情況,在和前一秒輸出的脈沖個數(shù)相加前先進行判斷。而對于負的加速度,小于 0的結(jié)果則被強制為系統(tǒng)所能輸出的最小脈沖數(shù) 0。 if(SET==839。 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 24 頁 共 41 頁 else if(SET==839。b0000_0000_1000_0000。b0000_0010) speed=1639。 else if(SET==839。b0000_0001_1000_0000。b1111_1111。 else//skeyout=speed。amp。 else skeyout=speed。所以在本設(shè)計中,總輸出脈沖個數(shù)和加速度這兩個參數(shù)預(yù)先設(shè)定在 Verilog 描述的電路之中,修改參數(shù)后重新編譯 Verilog 程序便可實現(xiàn)不同參數(shù)的錄入。本系統(tǒng)能設(shè)定的速度范圍為 0~ 65535pps,不過,由于速度差距不大時示波器上不容易看出區(qū)別,所以,外接的 DPI 開關(guān)只為 8位,設(shè)定的速度為 256 級,這樣可以方便地 觀測輸出波形。 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 25 頁 共 41 頁 5 系統(tǒng)邏輯功能的實現(xiàn) 脈沖產(chǎn)生部分邏輯功能實現(xiàn) 綜合后的 RTL 原理圖如下圖 ( a)和 ( b) 所示: 圖 ( a) RTL原理圖 由上圖可清楚的看到:脈沖產(chǎn)生部分的邏輯功能模塊有三個輸入端,分別為:KEY(15:0), CLK, RESET;兩個輸出端: k_out( 15:0), WAVE_OUT(15:0)。 控制部分邏輯功能的實現(xiàn) 綜合 RTL 原理圖如下圖 ( a), ( b)所示。 圖 ( b)綜合 RTL原理圖內(nèi)部結(jié)構(gòu)部分 由上面的部分內(nèi)部結(jié)構(gòu)圖可知:計數(shù)器 COUNT up 模塊是一個 23bit 計數(shù)器,它和輸出開關(guān) RESET 共同來實現(xiàn)對總脈沖個數(shù)的控制。當 pulse_counter 達到 maxplus 的時候,iocontrol 為‘ 0’, WAVE_IN 被屏蔽掉,系統(tǒng)不輸出脈沖。 圖 ( b)綜合 RTL原理圖內(nèi)部結(jié)構(gòu)部分 上圖顯示出脈沖產(chǎn)生部分和控制部分之間的邏輯關(guān)系,脈沖產(chǎn)生部分經(jīng) WAVE_IN輸出的脈沖輸入到脈沖控制部分,由脈沖控制部分最終輸出控制脈沖給步進電機的脈沖分配器,以此來控制電機。對于模擬電路方法目前已經(jīng)很少采用,最常用的是單片機的方法。 鑒于步進電機具有以脈沖進行控制的特點,使得本設(shè)計用 FPGA 來對其控制具備了一定的可行性。一 臺 PC、一塊 FPGA 芯片以及相關(guān)電路就可以實現(xiàn)很多復(fù)雜的功能。而且,應(yīng)用 FPGA 控制步進電機電路設(shè)計簡單、價格低廉、應(yīng)用方便、系統(tǒng)可靠、靈活性大,運轉(zhuǎn)平穩(wěn),轉(zhuǎn)動誤差小。本系統(tǒng)采用了模塊化的設(shè)計思路,為了實現(xiàn)對步進電機的調(diào)速要求,設(shè)計出了一種符合要求的連續(xù)可調(diào)的脈沖信號發(fā)生系統(tǒng),該脈 沖信號發(fā)生系統(tǒng)由兩個大的模塊組成,最后用一個頂層的模塊將二者連接起來,并且每個子模塊以及頂層的模塊都通過了仿真測試。對于采用的硬件描述語言 Verilog HDL,該語言較容易理解,最大的好處就是不受器件的限制,可以完全無障礙移植到任何其它半導(dǎo)體公司的 FPGA/CPLD 上去使用。 應(yīng)用 FPGA 設(shè)計的步進電機控制系統(tǒng)具有很好 的擴展性,對于以后進一步的升級極為方便,是一種極為實用和新穎的設(shè)計方法。 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 29 頁 共 41 頁 附 錄 ( 1) 脈沖發(fā)生部分總體程序: 39。 input CLK,RESET。 output [15:0]k_out。 wire [15:0]KEY。 wire WAVE_OUT。 reg [15:0]Output16。 reg [15:0]key_tmp。 assign k_out=key_tmp。 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 30 頁 共 41 頁 else Count16=Count16+1。 else Output16[15]=0。b10) Output16[14]=1。 if(Count16[2:0]==339。 else Output16[13]=0。b1000) Output16[12]=1。 if(Count16[4:0]==539。 else Output16[11]=0。b1000_00) 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 31 頁 共 41 頁 Output16[10]=1。 if(Count16[6:0]==739。 else Output16[9]=0。b1000_0000) Output16[8]=1。 if(Count16[8:0]==939。 else Output16[7]=0。b1000_0000_00) Output16[6]=1。 if(Count16[10:0]==1139。 else Output16[5]=0。b1000_0000_0000) Output16[4]=1。 if(Count16[12:0]==1339。 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 32 頁 共 41 頁 else Output16[3]=0。b1000_0000_0000_00) Output16[2]=1。 if(Count16[14:0]==1539。 else Output16[1]=0。b1000_0000_0000_0000) Output16[0]=1。 end always(posedge CLK or negedge RESET) begin if(!RESET) swave_out=0。Output16[0]。Output16[1]。Output16[2]。Output16[3]。Output16[4]。Output16[5]。Output16[6]。Output16[7]。Output16[8]。Output16[9]。Output16[10]。Output16[11]。Output16[12]。Output16[13]。Output16[14]。Output16[15]。 end end endmodule ( 2)控制部分總體程序: 39。 input RESET。 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 34 頁 共 41 頁 input CLK。 output CLKOUT。 output [15:0] KEYOUT。 reg [7:0]count23。 reg [23:0]pulse_counter。 wire [16:0]speedup。 assign CLKOUT=count23[6]。 assign OUTPUT=WAVE_IN amp。 assign speedup=1639。 assign max_plus=2439。 always(posedge CLK or negedge RESET) begin 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 35 頁 共 41 頁 if(!RESET) begin sclkout=0。b0。 if(count23==839。 else sclkout=0。 pulse_counter=0。 else pulse_counter=pulse_counter+1。 if(SET==839。 else if(SET==839。b0000_0000_1000_0000。b0000_0001) speed=1639。 else if(SET==839。b0000_0000_1000_0000。b0000_0011) speed=1639。 else speed=SET*839。 end else//if(sclkout==1) 中北大學(xué) 信息商務(wù)學(xué)院 2021 屆畢業(yè)設(shè)計說明書 第 37 頁 共 41 頁 begin if(speedup[16]==0) skeyout=skeyout+speedup[15:0]。 //end //else begin if((skeyoutspeedup[15:0]=speed)amp。(skeyout=speedup[15:0])) skeyout=skeyoutspeedup[15:0]。 end endmodule ( 3)連接兩個模塊的頂層部分: 39。 input RESET,CLK。 output OUTPUT。 wire [15:0]KEYOUT。 step_wave step_wave1(.CLK(CLKOUT), .RESET(RESET), .KEY(KEYOUT), .k_out(k_out), .WAVE_OUT(WAVE_OU
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1