微機大作業(yè)基于fpga對step motor的控制等_第1頁
微機大作業(yè)基于fpga對step motor的控制等_第2頁
微機大作業(yè)基于fpga對step motor的控制等_第3頁
微機大作業(yè)基于fpga對step motor的控制等_第4頁
微機大作業(yè)基于fpga對step motor的控制等_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

--1 任課教師: 張 基于 : --PAGE10LEDPC1,8255LED21,同時步進電機按預(yù)先設(shè)定PC2,8255LED21,同時步進電機按預(yù)先設(shè)定PC3,8255LED21,同時步進電機按預(yù)先設(shè)定PC4,8255LED21,同時步進電機按預(yù)先設(shè)定CPULED模塊、UART8255+LED+按鍵模塊。在所有實驗中總線模塊處于中心位置不變,基礎(chǔ)模塊根據(jù)實驗內(nèi)容不同任意組合??偩€模塊和基礎(chǔ)模塊程序固定。CPU模塊程序根據(jù)實3項82558255(2)step(3)PCUARTstep4位地址總線、8位數(shù)據(jù)總線、3位控制總線(復(fù)位、讀、寫)4bank0CPU模塊連接,bank1、bank2、bank3與基礎(chǔ)模塊連接。CPU1與基礎(chǔ)3122CPU向數(shù)據(jù)總線寫數(shù)據(jù)時,3個基礎(chǔ)模塊的數(shù)據(jù)總線都會得到數(shù)據(jù)。但當(dāng)CPU想要數(shù)據(jù)時,int_bank1int_bank2[0]int_bank3CPU1001或bank3。當(dāng)CPU輸出數(shù)碼管地址,數(shù)據(jù)總線輸出—— 示1——8。復(fù)位信號使能,數(shù)碼管熄滅。bank0bank1bank3sw7——sw2中任CPU模塊輸出按鍵模塊地址,數(shù)據(jù)總線輸出— UARTJ26(TXD、RXD、GND三個管腳DIGICUBEvision1.1232J25TXDRXD232USB接口是無法使用的,作者在實驗J26PC1011,通過bank1bank2CPUUART地址,wr信號使能,TXDPC8tx_done中斷信號。PC端發(fā)送數(shù)據(jù),UARTRXD8位數(shù)據(jù)傳輸?shù)綌?shù)據(jù)總線,rx_done中斷信號。圖2驅(qū)動與電機實物連接MP28GA5.625360640.33r/s11MP28GA°比5KULN2003APG的驅(qū)動驅(qū)動原理圖如下圖所示3LUN2003uln2003主要用于驅(qū)動步進電機工作,因為步進電機的工作電壓高電流大,F(xiàn)PGA是不uln2003來提供。即為實現(xiàn)功率放大的作用。2分配順序123456785紅4橙110000013黃011100002粉000111001藍00000111紅線接+5Vpin1至pin45.625度需88pin1至pin40001-0011-0010-0110-0100-1100-1000-1001,則步進電機轉(zhuǎn)過一格(5.625度,如果需要轉(zhuǎn)過多格,8pin1至pin4:依1001-1000-1100-0100-0110-0010-0011-0001即可倒轉(zhuǎn)一格(-5.625度。 CPUCPU輸入緩沖器,每次輸入數(shù)據(jù)都到這個緩沖CPU18.432MHz全局復(fù)位輸入/(1.2)8255DBD0~D78255CPU8ABA0~A1A、B、C根據(jù)定義,82553A、B、C8825524(1)APA0~PA782558(2)BPB0~PB782558(3)CPC0~PC7825589600bit/s為例。波特率是每秒發(fā)送/0116個時鐘周期等于接收/120個UCLK時鐘周期。1618018(2)stepmotorstepmotor的原理知,讓轉(zhuǎn)一格(5.625度pin1pin4依次給信0001-0011-0010-0110-0100-1100-1000-1001(正轉(zhuǎn))1001-1000-1100-0100-0110-代碼如下,各端口作用為stepmotor按鍵輸入緩沖,每次輸入數(shù)據(jù)都到這個緩沖中,以控制motorFPGAmodulemotor(rst,clk,out);input[3:0]rst;inputclk;wire[3:0]rst;output[3:0]out;wirenewclk,clk;reg[3:0]out;reg[3:0]reg[6:0]diviu1(clk,newclk);always@(posedgenewclk)if(rst==4'b1000||rst==4'b0100||rst==4'b0010||elsealways@(posedgenewclk)if(rst==4'b1000||rst==4'b0100||rst==4'b0010|| else always@(posedgenewclk)4'b0000:beginout<=4'b1000;end4'b0001:beginout<=4'b1100;end4'b0010:beginout<=4'b0100;end4'b0011:beginout<=4'b0110;end4'b0100:beginout<=4'b0010;end4'b0101:beginout<=4'b0011;end4'b0110:beginout<=4'b0001;end4'b0111:beginout<=4'b1001;end4'b1000:beginout<=4'b1000;end :beginout<=4'b1000; :beginout<=4'b1100; :beginout<=4'b0100; :beginout<=4'b0110; :beginout<=4'b0010; :beginout<=4'b0011; :beginout<=4'b0001; :beginout<=4'b1001; :beginout<=4'b1000;end4'b0000:beginout<=4'b1001;end4'b0001:beginout<=4'b0001;end4'b0010:beginout<=4'b0011;end4'b0011:beginout<=4'b0010;end4'b0100:beginout<=4'b0110;end4'b0101:beginout<=4'b0100;end4'b0110:beginout<=4'b1100;end4'b0111:beginout<=4'b1000;end4'b1000:beginout<=4'b1001;end :beginout<=4'b1001; :beginout<=4'b0001; :beginout<=4'b0011; :beginout<=4'b0010; :beginout<=4'b0110; :beginout<=4'b0100; :beginout<=4'b1100; :beginout<=4'b1000; :beginout<=4'b1001;endmoduledivi(clk,newclk);//分頻器inputclk;outputnewclk;regnewclk;reg[24:0]count;always@(posedgeclk)if(count==6067)//實際應(yīng)該為18.432e6/177=~.n/2-1=52066beginnewclk<=~newclk; (3)PCUARTstepmotormotor的運行。PC8255。`timescale1ns///////Create 15:04:15//Design//Module //Project//Target//Tool////////Revision0.01-File//Additionalmoduletop(///////////////Portdeclarations/////////////////////inputgclk;inputrst;input[7:0]sw;inputwr,rd;output[3:0]output[7:0]output[7:0]led2;outputint_btn;input[3:0]inout[7:0]wire[7:0]data_8255;wirecs_n,wr_n,rd_n,a1,a0,cs_8255,cs_button,cs_led1,cs_led2,rst_n;wire[7:0]pa;wire[7:0]wire[3:0]wire[3:0]wire[7:0]wire[7:0]wire[3:0]wire[7:0]assigncs_8255=(addr_bus[2]&&!addr_bus[3])?1:0;assigna0=addr_bus[0];assignassigncs_led1=(addr_bus[3]&&!addr_bus[2]&&!addr_bus[1]&&!addr_bus[0])?1:0;assigncs_led2=(addr_bus[3]&&!addr_bus[2]&&!addr_bus[1]&&addr_bus[0])?1:0;assigncs_button=(addr_bus[3]&&!addr_bus[2]&&addr_bus[1]&&!addr_bus[0])?1:0;assignwr_n=~wr;assignrd_n=~rd;assignled1_in=pa;assignled2_in=pb;assignmotor1=pb[3:0];assignpch=sw_out[7:4];assignpcl=sw_out[3:0];assignrst_n=~rst;assigncs_n=~cs_8255;assigndata_bus=(!wr&&rd)?data_8255:8'hzz;assigndata_8255=(wr&&!rd)?top_8255top_8255(.cs_n(cs_n),.a1(a1),.a0(a0),_btn(int_btn),ledledmotorstepmotor`timescale1ns///////Create 01:07:53//Design//Module //Project//Target//Tool////////Revision0.01-File//Additionalmodulemotor(motor1,clk,out);input[3:0]motor1;inputclk;wire[3:0]motor1;output[3:0]out;wirenewclk,clk;reg[3:0]out;reg[3:0]reg[6:0]diviu1(clk,newclk);always@(posedgenewclk)if(motor1==4'b1000||motor1==4'b0100||motor1==4'b0010||elsealways@(posedgenewclk)if(motor1==4'b1000||motor1==4'b0100||motor1==4'b0010|| else always@(posedgenewclk)4'b0000:beginout<=4'b1000;end4'b0001:beginout<=4'b1100;4'b0010:beginout<=4'b0100;end4'b0011:beginout<=4'b0110;end4'b0100:beginout<=4'b0010;end4'b0101:beginout<=4'b0011;end4'b0110:beginout<=4'b0001;end4'b0111:beginout<=4'b1001;end4'b1000:beginout<=4'b1000;end :beginout<=4'b1000; :beginout<=4'b1100; :beginout<=4'b0100; :beginout<=4'b0110; :beginout<=4'b0010; :beginout<=4'b0011; :beginout<=4'b0001; :beginout<=4'b1001; :beginout<=4'b1000;end4'b0000:beginout<=4'b1001;end4'b0001:beginout<=4'b0001;end4'b0010:beginout<=4'b0011;end4'b0011:beginout<=4'b0010;end4'b0100:beginout<=4'b0110;end4'b0101:beginout<=4'b0100;end4'b0110:beginout<=4'b1100;end4'b0111:beginout<=4'b1000;end4'b1000:beginout<=4'b1001;end :beginout<=4'b1001; :beginout<=4'b0001; :beginout<=4'b0011; :beginout<=4'b0010; :beginout<=4'b0110; :beginout<=4'b0100; :beginout<=4'b1100; :beginout<=4'b1000; :beginout<=4'b1001;moduledivi(clk,newclk);inputclk;outputnewclk;regnewclk;reg[24:0]count;always@(posedgeclk)if(count==6067)//實際應(yīng)該為18.432e6/177=~.n/2-1=52066beginnewclk<=~newclk; :子上LED模塊內(nèi)的現(xiàn)象;而板子和微機之間也可以通訊。見1。(2)單板如1234控制。具體效果見2。截圖如上。(3)P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論