The State of the Art

O

_OuzO_

Guest
Hi, aku newbye pada mata pelajaran tersebut.
Aku punya pertanyaan seperti saya punya beberapa pengalaman di Majelis pemrograman untuk prosesor Pentium.
Apakah prosesor Pentium yang digunakan untuk sistem kontrol atau aplikasi DSP?
Atau itu hanya masalah Microcontrollers atau dedicated chip FPGA?
Pentium memiliki arsitektur untuk komputasi "floating point" yang
bisa dieksploitasi.Apa Negara Seni saat ini?

Terima kasih,
_OuzO_

_Bad_ & _BreakFast_

 
Pentium dapat digunakan untuk Kontrol atau aplikasi DSP, meskipun mungkin bukan prosesor optimal untuk aplikasi baik.Sederhana dengan sedikit conrol sistem operasi matematika yang diperlukan mungkin lebih baik dilayani oleh simnple mikrokontroler (biaya lebih rendah, kekuasaan, dewan daerah, dll).Sejauh aplikasi DSP concered, DSPs biasanya memiliki hardware dan instruksi yang secara khusus dirancang untuk melakukan operasi DSP cepat.Sebagai contoh; floating point multiply-menumpuk (kalikan diikuti oleh tambahan) yang melaksanakan operasi dalam satu siklus mesin.Aturan yang baik untuk mengikuti adalah "tidak menentukan lebih dari yang Anda butuhkan".
Salam,
Jon

 
PC adalah sebuah alat kontrol universal yang sangat baik.Ada banyak contoh di web bagaimana digunakan untuk Computer Numeric Control dan aplikasi lain, yang seringkali jauh lebih murah, daripada perangkat khusus.
By the way, pendekatan terbaik untuk menguasai pemrograman adalah dengan menggunakan bahasa C dengan assembler kecil untuk sementara waktu bagian kode kritis.Sayangnya Windows dan Linux bukan sistem waktu nyata.Ada komersial Real Time Systems, tetapi ada tidak murah.Atau yang dapat menggunakan DOS untuk program pengendalian.

Varuzhan

 
Kedengarannya menarik.
Di mana saya dapat menemukan beberapa contoh kode sumber dari program berbasis Dos tersebut?
Maksud saya program Dos DSP Control atau aplikasi.Lebih baik jika ditargetkan ke Pentium.
Akan jauh lebih baik jika kode Majelis, tetapi kode C akan baik.

Thanx a lot.

_OuzO_

 
Kontrol dengan masalah PC terdiri dari dua bagian.
1.Kode.Bahkan bekerja di 16-bit mode DOS PC cukup cepat dibandingkan dengan banyak prosesor DSP berdedikasi.Di bawah ini Anda dapat melihat kode untuk cirular intepolation untuk PC berbasis mesin CNC.Tidak pernah direncanakan untuk umum, jadi hanya untuk examlpe - sebagaimana yang.
2.Yang kedua, lebih rumit adalah I / O masalah jika seseorang tidak menggunakan papan khusus, hanya konfigurasi PC standar.Pendekatan yang terbaik adalah dengan menggunakan LPT (paralel) port.Hal ini dilakukan dalam contoh di StepProc () function.Anda dapat menemukan port paralel informaton tentang penggunaan di
http://www.beyondlogic.org/index.htm # Legacy

Varuzhanstatic void Arc (lama Xt, Yt panjang, double Bulge)
(

register int DeltaX, DeltaY;
int FastX, C;
Rad panjang, X, Y, X0, Y0, SX, SY;

panjang DX = Xt - CoordX;
panjang DY = Yt - CoordY;
double Chord = hypot (DX, DY);

double B1 = 1/Bulge;
double BB = (Bulge - B1) / 4.0;
Rad = Beatles (Chord * (Bulge B1) / 4.0) 0.5;
if (Rad <4)
return;

X0 = Round (DY * BB (Xt CoordX) / 2.0);
Y0 = Round (-DX * BB (Yt CoordY) / 2.0);

X = CoordX - X0;
Y = CoordY - Y0;
Xt -= X0;
Yt -= Y0;

FastX = absl (Xt) <absl (Yt);

C = Bulge <0?-1: 1;

if (hword (Y) <0) DeltaX = C;
else if (Y> 0) DeltaX =-C;
else if (hword (X) <0) DeltaX = 1;
lain DeltaX = -1;

if (hword (X) <0) DeltaY =-C;
else if (x> 0) DeltaY = C;
else if (hword (Y) <0) DeltaY = 1;
lain DeltaY = -1;

SX = absl (Y);
SY = absl (X);

Langkah & = ~ (DirX | DirY | StepX | StepY);
if (DeltaX == 1)
Langkah | = DirX;
if (DeltaY == 1)
Langkah | = DirY;

if (ShowProc! = noshow)
ShowStart ();

do (
Langkah & = ~ (StepX | StepY);

SX = Y;
if (SF)
SX = Rad;
else if (SX> Rad)
SX -= Rad;
lain
goto TestXE;
Langkah | = StepX;
CoordX = DeltaX;
X = DeltaX;
TestXE:

SY = X;
if (SF)
SY = Rad;
else if (SY> Rad)
SY -= Rad;
lain
goto TestYE;
Langkah | = StepY;
CoordY = DeltaY;
Y = DeltaY;
TestYE:

StepProc ();
ShowProc ();

if ((Langkah & StepX) & & (x == 0)) (
Y = hword (Y) <0?-Rad: Rad;
DeltaY =-DeltaY;
Langkah ^ = DirY;
)
if ((Langkah & StepY) & & (Y == 0)) (
X = hword (X) <0?-Rad: Rad;
DeltaX =-DeltaX;
Langkah ^ = DirX;
)

if (ESCFlag ())
Jeda ();

) While (FastX? (X - Xt) | | ((hword (Yt) ^ hword (Y)) <0):
(Y - Yt) | | ((hword (Xt) ^ hword (X)) <0));

)

 

Welcome to EDABoard.com

Sponsor

Back
Top