① ARM,單片機,嵌入式,FPGA有啥區別我想學習FPGA,需要其他單片機,嵌入式等的知識嗎
ARM是一種微處理器的類型。
單片機范圍很廣,其實廣義上講,ARM也是單片機。但是算是比較高級的單片機了。
ARM和單片機的關系就像說 酷睿i3 和 計算機處理器之間的關系。
嵌入式,這個沒有明確的定義的。曾經有個工程師對我說:只要滿足一下兩個條件就屬於嵌入式產品---1.專用性,就是是為了某一項功能或者某一個領域而設計的軟硬體系統.2.可裁剪性,就是陸旅亮說和通用計算機相比,不管是軟體還是硬體都可以根據自己的需要鎮李進行刪減的軟硬體系統。就是嵌入式系統。
嵌入式要說定義沒有,舉例的話很多了,什麼手機,MP3\4,Pad,上班用的打卡機,復印機……
FPGA,FPGA和前面所說的ARM,單片機是有本質區別的。因為ARM屬於處理器,而FPGA不是。FPGA內部沒有運算器,沒有控制器,沒有寄存器。只有許多邏輯門。你可以通過自己的需要控制裡面邏輯門的連通與斷開從而實現不同的電路。打個比方ARM是一把劍,那麼FPGA就是一塊鐵,你可以照著ARM的樣子打一把劍出來用,也可以照著51單片機一樣打一把刀出來用。
單純從學習方面來說,學習FPGA只早寬需要硬體描述語言的知識,比如verilog、VHDL等等。其他可以不管,有了這基礎一定能學會。
如果要是應用的話,還得有單片機、嵌入式的知識才行。因為FPGA獨立使用的話價值不大。成本不低。要和嵌入式處理器或其他器件配合使用才能發揮FPGA最大的用處。
② 學單片機能用什麼樣的筆記本電腦
現在一般的筆記本電腦都可以的
———————————————————————————————
如果你的確是想買一台適合自己用的電腦,那就耐心把我的回答看完。
———————————————————————————————
我推薦的機器都是夠用最劃算的,如果你的預算比較寬可以在外觀和品牌方面在做比較。
如果對你有幫助請【及時採納】,如果沒有幫助只當是多分參考中的一份。
【版權所有:xian86913】謝謝!如轉載請註明,謝謝!
【我不可能為每一個人去整理推薦資料,一般大眾化的購買需求都可以參考。】
對於現在的電腦科技來說,最佳的購機尺寸是14寸,尺寸小一點發揮不出筆記本配置的性能,在大的話就失去了筆記本電腦便攜的優勢。買筆記本電腦前期最好可以多去附近的電腦城看看,看看實體機器到底是否適合自己,【購買時應注意:cpu、內存、硬碟、顯卡等。】
主流配置一般都是cpu:i3 i5或者i7;內存:2G 4G;硬碟:320G 500G 1T;獨立顯卡等
i3與i5同品牌價格相差300到800不等;i5與i7相差500到1200不等(僅供參考)
清華同方、方正、海爾等是一個清察高層次
華碩、戴爾、聯想、惠普、宏基、三星是一個層次
索尼、東芝、蘋果等代表更高一層
我推薦以中層為主:
宏基:4750G-2432G50Mnkk(540M/1GB獨顯) ¥4000 左右
屏幕尺寸:14英寸 1366x768
CPU型號:Intel 酷睿i5 2430M
內存容量:2GB DDR3
硬碟容量:500GB 5400轉
顯卡芯答尺片:NVIDIA Geforce GT 540M
操作系統:Windows 7
惠普:g4-1060TX(LZ776PA) ¥4200左右
屏幕尺寸:14英寸
CPU型號:Intel 酷睿i5 2410M
內存容量:2GB DDR3
硬碟容量:750GB 5400轉
SATA 顯卡晶元:AMD Radeon HD 6470M
操作系統:Windows 7
索尼:EG26EC/W(白) ¥4099左右
屏幕尺寸:14英寸
CPU型號:Intel 酷睿i3 2330M
內存容量:2GB DDR3
硬碟容量:500GB 5400轉
SATA 顯卡晶元:Intel GMA HD 3000
操作系統:Windows 7
戴爾:Inspiron 靈越14RD-718Sw ¥4300左右
屏幕尺寸:14英寸
CPU型號:Intel 酷睿i3 2330M
內存容量:2GB DDR3
硬碟容量:500GB 5400轉
SATA 顯卡晶元:AMD Radeon HD 6470M
操作系統:Windows 7
華碩:A43EI231SV-SL ¥4099左右
屏幕尺寸:14英寸
CPU型號:Intel 酷睿i3 2310M
內存容量:2GB DDR3
硬碟容量:500GB 5400轉
SATA 顯卡晶元:NVIDIA GeForce GT 540M
操作系統:Windows 7
聯想:ThinkPad E420(1141A51) ¥4000左右
屏幕尺寸:14英寸 1366x768
CPU型號:Intel 酷睿i3 2330M
內存容量:2GB DDR3
硬碟容量:320GB 5400轉
SATA 顯卡晶元:AMD Radeon HD 6470M
操作系統:沒襪Windows 7
聯想:G470A-IFI(深棕色) ¥4100 左右
屏幕尺寸:14英寸
CPU型號:Intel 酷睿i5 2410M
內存容量:2GB DDR3
硬碟容量:500GB
顯卡晶元:AMD Radeon HD 6370M
操作系統:Linux
祝你早日選到自己的本本。(有合適的型號追問我也可以幫你參考)
希 望 我 的 回 答 對 你 購 機 有 一 定 的 幫 助 。
③ 為什麼都不建議買i312100
④ 如何用單片機控制直流電機
通過與單片機相連的按鍵控制直流電機停啟的電路如下圖所示,通過P3.6口按鍵觸發啟動直流電機,P3.7口的按鍵觸發停止直流電機的運行。由圖可知,當P1.0輸出高電平「1」時,NPN型三極體導通,直流電機得電轉動;當P1.0輸出低電平「0」時,NPN型三極體截止,直流電機停止轉動。
通過單片機產生PWM波控制直流電機程序
#include"reg52.h"
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetable[10]={0x3f,0x06,0x5b,
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰數碼管顯示碼(0-9)
sbitxiaoshudian=P0^7;
sbitwei1=P2^4;//數碼管位選定義
sbitwei2=P2^5;
sbitwei3=P2^6;
sbitwei4=P2^7;
sbitbeep=P2^3;//蜂鳴器控制端
sbitmotor=P1^0;//電機控制
sbits1_jiasu=P1^4;//加速按鍵
sbits2_jiansu=P1^5;//減速按鍵
sbits3_jiting=P1^6;//停止/開始按鍵
uintpulse_count;//INT0接收到的脈沖數
uintnum=0;//num相當於占空比調節的精度
ucharspeed[3];//四位速度值存儲
floatbianhuasu;//當前速度(理論計算值)
floatreallyspeed;//實際測得的速度
floatvv_min=0.0;vv_max=250.0;
floatvi_Ref=60.0;//給定值
floatvi_PreError,vi_PreDerror;
uintpwm=100;//相當於占空比標志變數
intsample_time=0;//采樣標志
floatv_kp=1.2,v_ki=0.6,v_kd=0.2;//比例,積分,微分常數
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}
voidtime_init()
{
ET1=1;//允許定時器T1中斷
ET0=1;//允許定時器T0中斷
TMOD=0x15;//定時器0計數,模式1;定時器1定時,模式1
TH1=(65536-100)/256;//定時器1值,負責PID中斷,0.1ms定時
TL1=(65536-100)%6;
TR0=1;//開定時器
TR1=1;
IP=0X08;//定時器1為高優級
EA=1;//開總中斷
}
voidkeyscan()
{
floatj;
if(s1_jiasu==0)//加速
{
delay(20);
if(s1_jiasu==0)
vi_Ref+=10;
j=vi_Ref;
}
while(s1_jiasu==0);
if(s2_jiansu==0)//減速
{
delay(20);
if(s2_jiansu==0)
vi_Ref-=10;
j=vi_Ref;
}
while(s2_jiansu==0);
if(s3_jiting==0)
{
delay(20);
motor=0;
P1=0X00;
P3=0X00;
P0=0x00;
}
while(s3_jiting==0);
}
floatv_PIDCalc(floatvi_Ref,floatvi_SpeedBack)
{
registerfloaterror1,d_error,dd_error;
error1=vi_Ref-vi_SpeedBack;//偏差的計算
d_error=error1-vi_PreError;//誤差的偏差
dd_error=d_error-vi_PreDerror;//誤差變化率
vi_PreError=error1;//存儲當前偏差
vi_PreDerror=d_error;
bianhuasu=(v_kp*d_error+v_ki*vi_PreError+v_kd*dd_error);
return(bianhuasu);
}
voidv_Display()
{
uintsu;
su=(int)(reallyspeed*10);//乘以10之後強制轉化成整型
speed[3]=su/1000;//百位
speed[2]=(su00)/100;//十位
speed[1]=(su0)/10;//個位
speed[0]=su;//小數點後一位
wei1=0;//第一位打開
P0=table[speed[3]];
delay(5);
wei1=1;//第一位關閉
wei2=0;
P0=table[speed[2]];
delay(5);
wei2=1;
wei3=0;
P0=table[speed[1]];
xiaoshudian=1;
delay(5);
wei3=1;
wei4=0;
P0=table[speed[0]];
delay(5);
wei4=1;
}
voidBEEP()
{
if((reallyspeed)>=vi_Ref+5||(reallyspeed
{
beep=~beep;
delay(4);
}
}
voidmain()
{
time_init();
motor=0;
while(1)
{
v_Display();
BEEP();
}
if(s3_jiting==0)//對按鍵3進行掃描,增強急停效果
{
delay(20);
motor=0;
P1=0X00;
P3=0X00;
P0=0x00;
}
while(s3_jiting==0);
}
voidtimer0()interrupt1
{
}
voidtimer1()interrupt3
{
TH1=(65536-100)/256;//1ms定時
TL1=(65536-100)%6;
sample_time++;
if(sample_time==5000)//采樣時間0.1ms*5000=0.5s
{
TR0=0;//關閉定時器0
sample_time=0;
pulse_count=TH0*255+TL0;//保存當前脈沖數
keyscan();//掃描按鍵
reallyspeed=pulse_count/(4*0.6);//計算速度
pwm=pwm+v_PIDCalc(vi_Ref,reallyspeed);
if(pwm
if(pwm>100)pwm=100;
TH0=TL0=0;
TR0=1;//開啟定時器0
}
num++;
if(num==pwm)//此處的num值,就是占空比
{
motor=0;
}
if(num==100)//100相當於占空比調節的精度
{
num=0;
motor=1;
}
}
⑤ 單片機實現傅立葉變換
用FPGA這種單片機
在對FFT(快速傅立葉變換)演算法進行研究的基礎上,描述了用FPGA實現FFT的方法,並對其中的整體結構、蝶形單元及性能等進行了分析。
關鍵詞:
FPGA FFT
傅立葉變換是數字信號處理中的基本操作,廣泛應用於表述及分析離散時域信號領域。但由於其運算量與變換點數N的平方成正比關系,因此,在N較大時,直接應用DFT演算法進行譜變換是不切合實際的。然而,快速傅立葉變換技術的出現使情況發生了根本性的變化。本文主要描述了採用FPGA來實現2k/4k/8k點FFT的設計方法。
1 整體結構
一般情況下,N點的傅立葉變換對為:
其中,WN=exp(-2 pi/N)。X(k)和x(n)都為復數。與之相對的快速傅立葉變換有很多種,如DIT(時域抽取法)、DIF(頻域抽取法)、Cooley-Tukey和Winograd等。對於2n傅立葉變換,Cooley-Tukey演算法可導出DIT和DIF演算法。本文運用的基本思想是Cooley-Tukey演算法,即將高點數的傅立葉變換通過多重低點數傅立葉變換來實現。雖然DIT與DIF有差別,但由於它們在本質上都是一種基於標號分解的演算法,故在運算量和演算法復雜性等方面完全一樣,而沒有性能上的優劣之分,所以可以根據需要任取其中一種,本文主要以DIT方法為對象來討論。
N=8192點DFT的運算表達式為:
式中,m=(4n1+n2)(2048k1+k2)(n=4n1+n2,k=2048k1+k2)其中n1和k2可取0,1,...,2047,k1和n2可取0,1,2,3。
由式(3)可知,8k傅立葉變換可由4×2k的傅立葉變換構成。同理,4k傅立葉變換可由2×2k的傅立葉變換構成。而2k傅立葉變換可由128×16的傅立葉變換構成。128的傅立葉變換可進一步由16×8的傅立葉變換構成,歸根結底,整個傅立葉變換可由基2、基4的傅立葉變換構成。2k的FFT可以通過5個基4和1個基2變換來實現;4k的FFT變換可通過6個基4變換來實現;8k的FFT可以通過6個基4和1個基2變換來實現。也就是說:FFT的基本結構可由基2/4模塊、復數乘法器、存儲單元和存儲器控制模塊構成,其整體結構如圖1所示。
圖1中,RAM用來存儲輸入數據、運算過程中的中間結果以及運算完成後的數據,ROM用來存儲旋轉因子表。蝶形運算單元即為基2/4模塊,控制模塊可用於產生控制時序及地址信號,以控制中間運算過程及最後輸出結果。
2 蝶形運算器的實現
基4和基2的信號流如圖2所示。圖中,若A=r0+j*i0,B=r1+j*i1,C=r2+j*i2,D=r3+j*i3是要進行變換的信號,Wk0=c0+j*s0=1,Wk1=c1+j*s1,Wk2=c2+j*s2,Wk3=c3+j*s3為旋轉因子,將其分別代入圖2中的基4蝶形運算單元,則有:
A′=[r0+(r1×c1-i1×s1)+(r2×c2-i2×s2)+(r3×c3-i3×s3)]+j[i0+(i1×c1+r1×s1)+(i2×c2+r2×s2)+(i3×c3+r3×s3)]� (4)
B′=[r0+(i1×c1+r1×s1)-(r2×c2-i2×s2)-(i3×c3+r3×s3)]+j[i0-(r1×c1-i1×s1)-(
i2×c2+r2×s2)+(r3×c3-i3×s3)] (5)
C′=[r0-(r1×c1-i1×s1)+(r2×c2-i2×s2)-(r3×c3-i3×s3)]+j[i0-(i1×c1+r1×s1)+(i2×c2+r2×s2)-(i3×c3+r3×s3)] (6)
D′=[r0-(i1×c1+r1×s1)-(r2×c2-i2×s2)+(i3×c3+r3×s3)]+j[i0+(r1×c1-i1×s1)-(i2×c2+r2×s2)-(r3×c3-i3×s3)]� (7)
看明白了嗎?