版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
F男FF 概 編寫說 名詞定 縮略 系統(tǒng)總 系統(tǒng)組 RS485通口電 超聲波發(fā)射電路的硬件設(shè)計(jì) 超聲波發(fā)射電路的工作原 超聲波發(fā)射電路的參數(shù)選 噪聲問 超聲波接收電路的硬件設(shè)計(jì) 超聲波接收電路的工作原 限幅電 第一級放大電 檢波電 第二級放大電 波形整形電 脈沖間隔測量系統(tǒng)的FPGA實(shí) FPGA整體設(shè) 脈沖間隔測量工作原 單片機(jī)控制部分軟件設(shè) 設(shè)計(jì)總 問題探 致 參考文 附 程序...................................................前言其原理與原理基本相同,利用超聲波在空氣中的速度為已知的特點(diǎn),測量聲波在發(fā)射后遇到物反射回來的時間根據(jù)發(fā)射和接收的時間差計(jì)算出發(fā)射點(diǎn)到物的實(shí)際距將得到的關(guān)注和提高。 ::Today,ultrasonicdetectionandmeasurementhasbeenwidelyusedinvariousareasofdetectionandmeasurement.Thispaper,useofultrasoundtodetecttheproductionofblockthicknessasthebackground,givesabriefingintroduceofthebasiccomposition,structureandfunctiononultrasonicsendingcircuitandreceivingcircuit,timingcircuits,MCUcontrolcircuit,anddescribesindetailtheentireproductionprocess.Inaddition,thepaperalsodescribesthebasicframeworkofcommunicationstrategybetweentheultrasoundmeasurementsubsystemandthelocalmachinesystem.Asanorganicwhole,thispapercanprovidesomehelpinunderstandingtheworkingprincipleofultrasonicmeasuringcircuitandthecommunicationofthewholesystem.:Ultransonicsendingcircuit,ultransonicreceivingcircuit,FPGA,AVRchip overallcontrolandcommunication概本文檔為交通大學(xué)電子信息與電氣科技創(chuàng)新[6]課程復(fù)雜電子線路系統(tǒng)的聲波測量子系統(tǒng)的設(shè)計(jì)與制作過程并介紹了該子系統(tǒng)與本系統(tǒng)和全局主系統(tǒng)之間通信作者或者電子者閱讀。單片機(jī):包括CPU(進(jìn)行運(yùn)算、控制)、器、輸入/輸出設(shè)備(串行并行輸入輸出口等)等結(jié)構(gòu),利用Harward結(jié)構(gòu)組合的一塊集成處理器;、超聲波:頻率高于20kHz的聲波即為超聲波。超聲波具有方向性好能力強(qiáng),易于獲得較集中的聲能,在水中距離遠(yuǎn)的特點(diǎn),可以用于測距、測速、、碎石等領(lǐng)域;、放大、濾波、檢波、比較等;RS-485接口標(biāo)準(zhǔn)串行通信的一種半雙工網(wǎng)絡(luò)接口標(biāo)準(zhǔn)采用平衡驅(qū)動和差分,10Mbps;萬用:測量電阻,電容,電壓等關(guān)于電學(xué)物理量的儀器;系統(tǒng)總超聲波測量從機(jī)子系統(tǒng)主要包含超聲波發(fā)射電路、超聲波接收電路、AVR單片機(jī)控制電路、實(shí)現(xiàn)脈沖發(fā)射與測量的FPGA電路,以及RS485通口電路等幾部分組成。系統(tǒng)2.1所示。2.1超聲波發(fā)射電路包括直流升壓電源,窄脈沖發(fā)生電路,RC充放電回路和超聲波傳感器RC電路的充放電過程,利用AVR單片機(jī)控制FPGA工作,F(xiàn)PGA反饋回來的負(fù)脈沖信號的間隔數(shù)利用FPGA產(chǎn)生發(fā)射電路所需的窄脈沖信號,并測量接收回路輸出的負(fù)脈沖信號RS485通口電RS485通口電路是超聲波測量從系統(tǒng)與本系統(tǒng)相連的接口電路其主要功能使用MAX483實(shí)現(xiàn)該通信電路將本系統(tǒng)發(fā)送的測試和查詢信號傳至單片機(jī)子系統(tǒng),從而啟動超聲波測量或?qū)y量結(jié)果送回本系統(tǒng)。超聲波發(fā)射電路的硬件設(shè)計(jì)DC-DC250V左右。3.1所示。3.1FPGA74HC1233.174HC12374HC123datasheet(3.2)和輸出脈沖寬度與外接電阻和電容的關(guān)系(3.3)。為使輸出的脈沖寬度控制在μs等級,取????????=10??Ω,????????=100????3.274HC123方在圖3.1所示的電路圖中,250V電壓源由DC-DC升壓模塊提供。當(dāng)74HC123未被觸發(fā)時,輸出為低電平,經(jīng)IR4227不變,此時高耐壓場效應(yīng)管IRFP840處于截止?fàn)顟B(tài),電路通C1250V74HC1233.43.3意3.4超聲波傳感器兩端負(fù)脈沖波由于??1很大,因而電阻????過大,否則??13.13.1 我們考慮可以在升壓電源????+端并聯(lián)一個合適的電容,實(shí)現(xiàn)對噪聲的濾除。超聲波接收電路的硬件設(shè)計(jì)限限限放檢后比4.1路4.2限幅電路電路限幅電路主要由開關(guān)二極管1N4148電路的輸出被限制在±0.8V之內(nèi)。參 取 說??1 與后級放大器輸入阻抗大小有關(guān),取值一般為 4.3所示。30倍。4.3由于超聲波信號頻率高,因此需要使用高速運(yùn)算放大器AD818來構(gòu)成這級放大電路。AD818與普通的運(yùn)算放大器相比,其最主要的特點(diǎn)在于可以對較高速的信號進(jìn)行放大,其截止頻率可達(dá)130MHz。AD818的引腳封裝如圖4.3所示。AD818存在零漂,零漂將影響后級電路的工作,檢波得到的回波信號出現(xiàn)較大的誤差,因此需對AD818AD8184.4所示。4.3AD818封4.4AD818方的方形。這里使用二極管包絡(luò)檢波電路,2AP94.5所示。4.5電成多個脈沖。經(jīng)過多次嘗試,選定C=810pF,R=600Ω。4.6第二級放大電4.7NE5532這里選取??1為1kΩ,??2為20kΩ214.8所示。4.9??1??2??1??21kΩ2.5V。4.8LM393引腳封4.9脈沖間隔測量系統(tǒng)的FPGA實(shí)FPGAbug,給調(diào)試造成了不變。5.1入脈沖時清零,并將清零前的結(jié)果傳送給fifo,data_rdy置位,單片機(jī)從fifo數(shù)據(jù),當(dāng)FPGA模塊清零,用于下一次測量。單片機(jī)控制部分軟件設(shè)FPGA模塊進(jìn)行通信,循環(huán)完成從啟動FPGA到數(shù)據(jù)的工作,包含了自動的層數(shù)判斷。手動模式則通遇到的主問題便單片機(jī)能夠穩(wěn)的A的數(shù),造成在層次斷上的A模塊的復(fù)雜度太高導(dǎo)致的邏輯錯誤,但是由于時間關(guān)系還是沒有能夠在檢測前找出這個錯致、、過程中,得到了老師老師老師等各位科技創(chuàng)新[6]課程指導(dǎo)老師、多位、、座引導(dǎo)我們學(xué)習(xí)相關(guān)知識,讓我們打下了堅(jiān)實(shí)的基礎(chǔ)。老師辛苦了!為我們答解惑僅們存在錯誤而且引我們思考正錯誤方法謝!特別是耿師在實(shí)過程中常耐心了制作的系存在的題并且檢測非常熱心地詢問我們實(shí)驗(yàn)時遇到的問題與我們交流,讓我們了解了很多實(shí)驗(yàn)時學(xué)不到的知,各組的工作,督促各小組及時完成各自的任務(wù)地為整個大組服務(wù),讓整個大組有條不,解,得到的幫助令我們組更加順利地完成實(shí)驗(yàn)。參考文[1]交通大學(xué)電子工程系.科技創(chuàng)新[6]課程任務(wù)要求、課件及相關(guān)資料RichardE.HaskellDarrinM.HannaFPGA數(shù)字邏輯設(shè)計(jì)ATMEL.8BITMICROCONTROLLERWITH8KBYTESIN-SYSTEMPROGRAMMABLEFLASHAT89S52,2001Philips,NS,SGS-THOMSON, ,Atmel等公司相關(guān)附libraryuseIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;use mentthefollowinglibrarydeclarationif----anyXilinxprimitivesinthis--library-- entitySTOPWATCHPortClk En: Rst Startin 開始工作Rd:in --信Modeinstd_logic_vector(1downto Tin 手動觸發(fā)Add_showin 增加顯示Runout 發(fā)射超聲Pulse Result:out STD_LOGIC_VECTOR(7downto0); Ctrout:outstd_logic_vector(3downto0); Data:outstd_logic_vector(7downto0); Data_rdy:outstd_logic); --數(shù)據(jù)準(zhǔn)備endarchitectureBehavioralofSTOPWATCHissignalTriggle:std_logic;signalTriggle_reg:std_logic;signalTrst:std_logic;signalRun_reg:signalClkfd:std_logic_vector(20downto0);signalCount:std_logic_vector(15downto0);signalCount1:std_logic_vector(15downtosignalData_shreg:std_logic_vector(127downto0);signalCtr:std_logic_vector(3downto0); t:std_logic_vector(2downto0); t:std_logic_vector(2downto0);signalRd_ptr:std_logic;signalRd_reg:signalData_ptr:std_logic_vector(2downto0);signalData_mux:std_logic_vector(15downto0);signalFst_:std_logic;signalRun_temp:signalShow_ptr:std_logic_vector(2downto0);signalAs_reg:std_logic;signalData_reg:std_logic_vector(127downtowithModeTriggle<=PulsewhennotPulsewhen"00",Clkfd(11)whennotClkfd(11)whenothers;Run_temp<=StartorT;Ctrout<=Freqdiv:process(Clk)if(Clk='1'andClk'event)thenendendSsig:process(Clkfd(5),Run_temp)if(Clkfd(5)='1'andClkfd(5)'event)thenif(Run_reg='0'andRun_temp='1')endendendStategen:process(Clk,Triggle,Rst,En)if(Rst='1')if(Clk='1'andClk'event)thenif(En='1')thenif(Triggle_reg='0'andTriggle='1')endif;endif;endif;endendCnt:process(Clk,En,Rst,Trst,Data_ptr)if(Rst='1') if(Clk='1'andClk'event)thenif(En='1')thenif(Trst='1')if ='0')Data_shreg<=Data_shreg(111downto0)&Count; endif;endif;endif;endif;endendMcuread:process(Rst,En,Clk,Rd)if(Rst='1')-
if(Clk='1'andClk'event)thenif(En='1')thenif(Rd_reg='0'andRd='1')thenif(Rd_ptr='0')thenData<=Data_mux(7downtoData<=Data_mux(15downto8); endRd_ptr<=notRd_ptr;endif;endif;endif;endendMux:process(Rst,Clk,En,Data_ptr,Data_shreg)if(Clk='1'andClk'event)thencaseData_ptriswhen"000"=>Data_mux<=Data_shreg(15downtowhen"001"=>Data_mux<=Data_shreg(31downtowhen"010"=>Data_mux<=Data_shreg(47downtowhen"011"=>Data_mux<=Data_shreg(63downtowhen"100"=>Data_mux<=Data_shreg(79downtowhen"101"=>Data_mux<=Data_shreg(95downtowhen"110"=>Data_mux<=Data_shreg(111downto96);whenothers=>Data_mux<=Data_shreg(127downto112);endcase;endend-- --withData_ptr- Data_mux<=Data_reg(15downto0)when- Data_reg(31downto16)when- Data_reg(47downto32)when- Data_reg(63downto48)when- Data_reg(79downto64)when- Data_reg(95downto80)when- Data_reg(111downto96)when- Data_reg(127downto112)whenwithShow_ptr "0"&Show_ptr&Data_reg(11downto0)when"0"&Show_ptr&Data_reg(27downto16)when"0"&Show_ptr&Data_reg(43downto32)when"0"&Show_ptr&Data_reg(59downto48)when"0"&Show_ptr&Data_reg(75downto64)when"0"&Show_ptr&Data_reg(91downto80)when"0"&Show_ptr&Data_reg(107downto96)when"110","0"&Show_ptr&Data_reg(123downto112)whenothers;t:if(Rst='1')thenif(Clk='1'andClk'event)thenif(As_reg='0'andAdd_show='1')thenendif;endif;endenddata_latch:process(Clk,En)if(Clk='1'andClk'event)thenif(En='1')thenendif;endif;endprocess;LED:process(Clkfd(9),Rst,Count1)if(Clkfd(9)='1'andClkfd(9)'event)thencaseCtriswhen"1110"caseCount1(3downto0)when"0000"=>when"0001"=>when"0010"=>when"0011"=>when"0100"=>when"0101"=>when"0110"=>when"0111"=>when"1000"=>when"1001"=>when"1010"=>when"1011"=>when"1100"=>when"1101"=>when"1110"=>whenothers=>endwhen"0111"caseCount1(7downto4)when"0000"=>when"0001"=>when"0010"=>when"0011"=>when"0100"=>when"0101"=>when"0110"=>when"0111"=>when"1000"=>when"1001"=>when"1010"=>when"1011"=>when"1100"=>when"1101"=>when"1110"=>whenothers=>endwhen"1011"caseCount1(11downto8)when"0000"=> when"0001"=> when"0010"=>when"0011"=>when"0100"=>when"0101"=>when"0110"=>when"0111"=>when"1000"=>when"1001"=>when"1010"=>when"1011"=>when"1100"=>when"1101"=>when"1110"=>whenothers=>endwhenotherscaseCount1(15downto12)when"0000"=>when"0001"=>when"0010"=>when"0011"=>when"0100"=>when"0101"=>when"0110"=>when"0111"=>when"1000"=>when"1001"=>when"1010"=>when"1011"=>when"1100"=>when"1101"=> when"1110"=> whenothers=>Result<=" endcase;endcase;endif;endend #include<avr/io.h>#include 常量定 //1s軟件定時器溢出值,200個5ms#defineV_T1s #defineSBIT(val,bitn)(val|=(1<<bitn))#defineCBIT(val,bitn)(val&=~(1<<bitn))#defineGBIT(val,bitn)(val&(1<<bitn))#defineBAUDRATE 9600//?ê#defineMAX_INFO_LENGTH_SEND3 變量定 charstr_received[14+(MAX_INFO_LENGTH_RECEIVE<<1)];intcursor_receive=0;intreceive_length=0;intis_recieved=0;intreset=0;//unsignedchar//unsignedchar//unsignedchar//unsignedchar//unsignedint//unsignedcharvolatileunsignedchardata[18]={0};unsignedchar unsignedcharvolatilemode;unsignedcharvolatileunsignedchar unsignedchar unsignedchar unsignedcharvolatile unsignedcharvolatile intvolatilei=0; 函數(shù)定 7 DATA 7D7~0PGFEDCBAunsignedcharNUMTOSEG7(unsignedchar{unsignedcharAA;switch(DATA){case0: //case1: //case2: //case3://case4://case5://case6://case7://case8://case9://case10:AA=0x88;break;//‘A’case11:AA=0x83;break;//‘B’case12:AA=0xc6;break;//‘C’case13:AA=0xa1;break;//‘D’case14:AA=0x86;break;//‘E’case15:AA=0x8e;break;//‘F’caseAA=0xdf;break;//case_':AA=0xf7;break;//caseAA=0xff;break;//default:}}voiddisplay_led(unsignedcharseg,unsignedchar{unsignedchar//selPORTA&= //PA7=0;for{if((sel&0x80)== //最送U2SERPORTA&= //PORTA|= PORTA&= PORTA| sel //sel}//seg74hc595for(i=0;i<8;i++){if((seg&0x80)== //最送U2SERPORTA&= PORTA|= PORTA&= PORTA| seg //seg}PORTA|= PA7=1;PORTA&= PA7=0rclk=0}void{PORTA= 0xFF;PAPA7、PA6、PA5PORTB= 0x00;//PBPORTC0xFF;PCPC7、PC6、PC5、PC4 0x00PCPORTD=0x00; =}//TIMER0initialize-//WGM://desiredvalue://actualvalue:200.321Hz(0.2%)voidtimer0_init(void){TCCR0=0x00;//stopTCNT0=0x64;//setcount =0x9C; //setcompareTCCR0=0x04;//starttimer} //05ms{TCNT0=0x64;//reloadcounterif{}{if {SBIT(PORTA,PA0);//8位數(shù)據(jù){for}}}***檢測到按鍵被按下(0)時,相應(yīng)的指示燈亮(0使燈亮//SW1ifPINC&(1<<PC4))==0)PC4,C5{led1=}{led1=}//SW2ifPINC&(1<<PC5))==0)PC5,C6{led2=if {if}}{led2=}//ifPINC&(1<<PC6))==0)PC6,C7{led3=if {if(++show_ptr>=9)}}{led3=}//ifPINC&(1<<PC7))==0)PC7,C8{}{
led4=if{}led4=}//145ms20msif(++digi_scaner>=5)digi_scaner=1;output_sel=led1*16+led2*32+led3*64+led4*128四個發(fā)光管送高四位switch(digi_scaner){case1://output_sel+=output_8seg=NUMTOSEG7(digi[0]);case2://output_sel+=output_8seg=NUMTOSEG7(digi[1]);case3://output_sel+=output_8seg=NUMTOSEG7(digi[2]);case4://output_sel+=output_8seg=} }void{//USART96008, PC上位機(jī)軟件(超級終端等)//UCSRC=(1<<URSEL)|UBRRH與UCSRC共用I/O地址。因此該地址時需注意以下問題。當(dāng)在該地址執(zhí)行寫時,USART寄存器選擇位(URSEL)控制被寫入的寄存器。URSEL0UBRRHURSEL1UCSRC設(shè)置更新讀對UBRRH或UCSRC寄存器的讀則較為復(fù)雜。但在大多數(shù)應(yīng)用中,基本UBRR16UBRRL(0x09)/UBRRH(0x20)的地址不連續(xù)UBRRHUCSRC//U2X=0UBRRL=(F_CPU/BAUDRATE/16-1)%256;UBRRH=(F_CPU/BAUDRATE/16-1)/256;//U2X=1//UBRRL=0x2F;//setbaudrate//UBRRH=0x00;//setbaudrate//UCSRA=//UDRE1sei()UDRIE=1//MCMP1/*#defineUCSRC #defineUCPOL #define #define #define #define #define #define #define //avrgcc中斷向量表在<iom16.h> UCSRA=UCSRB=//UCSRB=(1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN);UCSRC=(1<<URSEL)|0x06;//UCSZ2:1:00118}//callthisroutinetoinitializeallperipheralsvoidinit_devices(void){//stoperrantinterruptsuntilsetupcli();//disableallinterruptsMCUCR=0x00; =0x00;TIMSK=0x01;//timerinterruptsourcessei();//re-enable//allperipheralsarenow}voidmoter_parse_cmd(int{structInfoFrameframe_received;structInfoFrameframe_to_send;//char//char//buildInfoFrame(&frame_received0x00,0x00,0x00,0x00,0x00,a);//{buildInfoFrame(&frame_to_send,0x11,0x00,frame_received.cmd1_rspd,errorinfo,0x00,a);//encode(&frame_to_send,str_to_send)send_rspd(&frame_to_send);}{buildInfoFrame(&frame_to_send,0x11,0x00,0x00,0x04,0x00,a);}buildInfoFrame(&frame_to_send,0x11,0x00,0x00,0x00,0x00,a);}{//1&0{buildInfoFrame(&frame_to_send,0x11,0x00,0x01,0x04,0x01,a);}buildInfoFrame(&frame_to_send,0x11,0x00,0x01
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024二手房屋買賣合同書,二手房買賣合同范本
- 2024校園零散維修年度服務(wù)合同
- 2024解除勞動合同的勞動爭議仲裁申請期限如何起算問題批復(fù)
- 2024上海市勞動合同常用條款解讀
- 完整美縫施工合同書范文三篇
- 2024裝飾外包合同范本常用版本
- 《召公諫歷王彌謗》課件
- 建筑裝飾建筑工程分包商管理案例考核試卷
- 腎部疾病的診斷與治療
- 化學(xué)礦物的利用與市場發(fā)展前景的研究考核試卷
- 公路工程施工圖審查管理辦法
- 幼兒園園本教研的途徑與方法
- 《認(rèn)識水果蔬菜》ppt課件
- 典型草原割草場技術(shù)規(guī)范-編制說明-內(nèi)蒙古
- 中國農(nóng)業(yè)銀行商業(yè)用房抵押貸款合作合同
- 阿壩藏族羌族自治州羌族文化生態(tài)保護(hù)實(shí)驗(yàn)區(qū)實(shí)施方案 - 阿壩州羌族
- 精細(xì)化工——洗滌劑的合成PPT課件
- 第三章無人機(jī)結(jié)構(gòu)PPT課件
- 最新Tcpdump格式文件分析
- 二級甲等綜合醫(yī)院創(chuàng)建情況匯報(bào)
- 小學(xué)縮句(課堂PPT)
評論
0/150
提交評論