Agfianto Eko Putra on December 13th, 2009

Mempelajari Bahasa Assembly atau Bahasa Mesin (untuk prosesor Intel 80×86) bisa dikatakan gampang-gampang susah, tergantung bagaimana cara Anda melakukannya. Pendekatan yang paling baik adalah metode ‘Learning by Doing’, belajar sambil mempraktekannya dan metode inilah yang saya gunakan dalam buku ini.

Segala sesuatu untuk mempelajari Bahasa Assembly dapat Anda peroleh menggunakan perangkat lunak Emu8086 (Emu8086, Inc), yang digunakan dalam buku ini adalah versi 2.58. Program Emu8086 ini mencakup fasilitas editor Bahasa Assembly, Assembler dan Disassembler (pengertian ini akan diterangkan kemudian), perangkat lunak emulator (PC Semu) yang dilengkapi dengan debugger.

Bab 1 Membicarakan tentang pengertian sistem bilangan dalam dunia komputer terutama dalam pemrograman Bahasa Assembly, termasuk operasi aritmetika yang terkait. Bab 2 membicarakan tentang perkembangan prosesor atau CPU pengertian Bahasa Assembly termasuk penggunaan secara umum Emu8086, Emulator dan Drive semu (virtual drive). Bab 3 menjelaskan cara-cara pengaksesan memori dalam pemrograman Bahasa Assembly termasuk pengertian memori stack dan wataknya, dilengkapi dengan contoh-contoh program. Juga diberikan penjelasan tentang variabel dalam permograman Bahasa Assembly serta cara-cara penggunaannya. Termasuk dalam bab ini dibahas tentang larik (array), pengalamatan variabel dan konstanta serta tentang stack.

Pada Bab 4 dibicarakan secara singkat instruksi-instruksi pada prosesor 80×86 yang meliputi instruksi untuk transfer data, aritmetika, manipulasi bit, transfer kontrol, string, interupsi dan kontrol prosesor. Bab 5 diulas berbagai macam interupsi Prosesor 8086 dan cara penggunaannya. Bab 6 dibahas tentang cara membuat dan menggunakan prosedur dan makro dibicarakan pada bab ini. Selain itu program Emu8086 dilengkapi fungsi-fungsi siap pakai yang memudahkan dalam pembuatan program Bahasa Assembly.

Sedangkan pada Bab 7, jika Anda suka dengan elektronika, maka dijelaskan bahwa dengan Bahasa Assembly-pun Anda bisa melakukan pengamatan dan pengendalian perangkat keras di luar komputer (yang biasa juga dikenal sebagai Teknik Antarmuka PC), tentunya bisa disimulasikan dengan piranti semu (virtual devices) yang telah disediakan oleh Emu8086.

Program EMU8086 bisa diunduh disini sedangkan listing program dalam buku bisa diunduh disini. Anda bisa mendownload daftar isi dan/atau contoh bab yang ada di buku ini… monggo…

PESAN SEKARANG JUGA!

Tags: , , , , , ,

Agfianto Eko Putra on December 9th, 2009

versi 1.2 (14 Desember 2009)

Banyak komentar,pertanyaan dan saran masuk melalui SMS, email, omong langsung agar saya membuat sebuah tulisan atau artikel tentang bagaimana cara membuat aplikasi mikrokontroler AVR maupun AT89 dari nol. Okey dech, kali ini saya berikan jawabannya…

Baiklah, untuk memudahkan saya menjelaskan dari ‘nol’, ada baiknya Anda perhatikan dulu diagram alir pada Gambar 1 (jika kurang jelas, silahkan di-klik aja yach)…

Gambar 1

Nach, berdasar diagram alir tersebut, semuanya berawal dari MASALAH, atau bisa juga Anda sebut PROYEK, KASUS atau apa saja yang Anda suka selama artinya adalah sesuatu yang ingin dicari, dibuat solusinya. Lebih tepatnya, pada tahap awal yang perlu dilakukan adalah IDENTIFIKASI MASALAH, persis atau detilnya bagaimana, misalnya…

Read the rest of this entry »

Tags: , , , , , , , , ,

Agfianto Eko Putra on December 5th, 2009

Satellite Subsystems

Irrespective of the intended application, is it a communications satellite or a weather satellite or even an Earth observation satellite, different subsystems comprising a typical satellite include the following:

  1. Mechanical structure
  2. Propulsion
  3. Thermal control
  4. Power supply
  5. Tracking, telemetry and command
  6. Attitude and orbit control
  7. Payload
  8. Antennas

The structural subsystem provides the framework for mounting other subsystems of the satellite and also an interface between the satellite and the launch vehicle.

The propulsion subsystem is used to provide the thrusts required to impart the necessary velocity changes to execute all the maneuvers during the lifetime of the satellite. This would include major maneuvers required to move the satellite from its transfer orbit to the geostationary orbit in the case of geostationary satellites and also the smaller maneuvers needed throughout the lifespan of the satellite, such as those required for station keeping.

The thermal control subsystem is essential to maintain the satellite platform within its operating temperature limits for the type of equipment on board the satellite. It also ensures a reasonable temperature distribution throughout the satellite structure, which is essential to retain dimensional stability and maintain the alignment of certain critical equipments.

The primary function of the power supply subsystem is to collect the solar energy, transform it to electrical power with the help of arrays of solar cells and distribute electrical power to other components and subsystems of the satellite. In addition, the satellite also has batteries, which provide standby electrical power during eclipse periods, during other emergency situations and also during the launch phase of the satellite when the solar arrays are not yet functional.

The telemetry, tracking and command (IT &C) subsystem monitors and controls the satellite right from the lift-off stage to the end of its operational life in space. The tracking part of the subsystem determines the position of the spacecraft and follows its travel using angle, range and velocity information. The telemetry part gathers information on the health of various subsystems of the satellite encodes this information and then transmits it. The command element receives and executes remote control commands to effect changes to the platform functions, configuration, position and velocity.

The attitude and orbit control subsystem performs two primary functions. It controls the orbital path, which is required to ensure that the satellite is in the correct location in space to provide the intended services. It also provides attitude control, which is essential to prevent the satellite from tumbling in space and also to ensure that the antennae remain pointed at a fixed point on the Earth’s surface.

The payload subsystem is that part of the satellite that carries the desired instrumentation required for performing its intended function and is therefore the most important subsystem of any satellite. The nature of the payload on any satellite depends upon its mission. The basic payload in the case of a communication satellite is the transponder, which acts as a receiver, amplifier and transmitter. In the case of a weather forecasting satellite, a radiometer is the most important payload. High resolution cameras, multispectral scanners and thematic mappers are the main payloads on board a remote sensing satellite. Scientific satellites have a variety of payloads depending upon the mission. These include telescopes, spectrographs, plasma detectors, magnetometers, spectrometers and so on.

Antennas are used for both receiving signals from ground stations as well as for transmitting signals towards them. There are a variety of antennas available for use on board a satellite. The final choice depends mainly upon the frequency of operation and required gain. Typical antenna types used on satellites include hom antennas, centre-fed and offset-fed parabolic reflectors and lens antennas.

Read the rest of this entry »

Tags: , , , , , ,

Agfianto Eko Putra on December 3rd, 2009

Tulisan ini sengaja saya buat karena beberapa waktu yang lalu dua mikrokontroler saya (semuanya ATMega32, masing-masing dalam kemasan SMD dan PDIP) menjadi korban ketidak-tahuan saya tentang otak-atik System Clock atau FUSE bit pada mikrokontroler AVR.

Perlu diketahui bahwa setiap mikrokontroler AVR memiliki fasilitas untuk memilih sumber clock atau detak dengan banyak alternatif pilihan. Berbeda dengan keluarga AT89, keluarga AVR memberikan opsi pilihan sumber clock untuk flkesibilitas penggunaan, bukan untuk menyulitkan penggunaan. Jika siapapun Anda yang saat ini sedang terlibat dengan aplikasi-aplikasi mikrokontroler AVR dan tidak pernah peduli dengan system clock, atau dengan kata lain tidak pernah otak-atik FUSE bit, dipastikan kristal yang Anda pasang berapapun aja nilainya tidak ada gunanya sama sekali! Loch kok bisa? Ya karena default dari pabriknya (http://www.atmel.com) adalah sesuai dengan paragraf yang mereka tulis di datasheet-nya:

The device is shipped with CKSEL = “0001” and SUT = “10”. The default clock source setting is therefore the 1 MHz Internal RC Oscillator with longest startup time. This default setting ensures that all users can make their desired clock source setting using an In-System or Parallel Programmer.

Okey? Sudah jelas? Hanya 1 MHz internal saja clock-nya, kalau gak percaya silahkan cabut saja kristal Anda dan biarkan mikrokontroler AVR Anda bekerja dengan baik tanpa kristal (beberapa teman yang saya sarankan hal tersebut sempat kaget juga). Jadi sudah capek-capek ngitung reload, timer dan lain sebagainya ternyata hanya bekerja di 1 MHz saja secara internal. So, bagaimana caranya agar bisa menggunakan kristal eksternal atau internal yang lebih besar dari 1 MHz?

Read the rest of this entry »

Tags: , , , , , ,

Agfianto Eko Putra on November 7th, 2009

Oleh Agfianto Eko Putra dan Nukman Taufik

Telah dilakukan perancangan, dan implementasi sistem pengendali motor servo dalam FPGA FLEX-10K menggunakan VHDL. Sistem terbagi atas 2 macam, yang masing-masing dibatasi dengan ruang putar servo 0-180 derajat. Sistem pertama dirancang secara keseluruhan menggunakan deskripsi VHDL dengan pengontrol 2 tombol-tekan dan penampil sudutnya 3×7-segment. Sistem kedua merupakan kombinasi antara modul driver yang ditulis dalam deskripsi VHDL, dan bagian antarmuka yang dituliskan dalam Delphi 7.0. Sumber daya yang dibutuhkan pada sistem pengendali yang pertama adalah 277 elemen logika dan 63 flip-flop dengan waktu rambat sebesar 12.5 nd. Sedangkan yang kedua membutuhkan 140 elemen logika, dan 33 flip-flop dengan waktu rambatnya 12.4 nd.

Silahkan unduh PDFnya disini.

Tags: , , ,

Agfianto Eko Putra on November 2nd, 2009

Artikel yang saya tulis ini merupakan jawaban detil dari soal yang ada di bukunya Li Tan, 2008, “Digital Signal Processing: Fundamentals and Application“, nomor 4.17 dan 4.18. Intinya diketahui sebuah isyarat yang terdiri dari 3 macam sinusoidal dengan persamaan di bawah ini. Akan dilakukan eksperimen pengaruh penggunaan jendela, panjang data dan frekuensi pencuplikan Fs pada algoritma FFT untuk menemukan spektrum dari sinyal ini.

Matlab-nya sebagai berikut:function p4_17(Fs);

switch nargin
case 0
Fs = 8000;
end

t=[0:1/Fs:0.1];
x1 = 5 * cos(2*pi*500*t);
x2 = 5 * cos((2*pi*1200*t)+(0.25*pi));
x3 = 5 * cos((2*pi*1800*t)+(0.5*pi));

subplot(3,1,1); plot(t,x1);
title(’x1(t)’);
subplot(3,1,2); plot(t,x2);
title(’x2(t)’);
subplot(3,1,3); plot(t,x3);
title(’x3(t)’);

x = x1+x2+x3;
figure;
plot(t,x);
title(’x(t) = x1(t) + x2(t) + x3(t)’);

L = length(x);

NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(x,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2);

figure;
% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2)))
title(’Spektrum Sisi-tunggal dari x(t) tanpa jendela’)
xlabel(’Frekuensi (Hz)’)
ylabel(’|Y(f)|’);

% ———————-TRIANGULAR——————————
x_tri = x .* triang(L)’;

Y = fft(x_tri,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2);

figure;
% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2)))
title(’Spektrum Sisi-tunggal dari x(t) menggunakan jendela Segitiga’)
xlabel(’Frekuensi (Hz)’)
ylabel(’|Y(f)|’);

% ———————-HAMMING——————————
x_ham = x .* hamming(L)’;

Y = fft(x_ham,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2);

figure;
% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2)))
title(’Spektrum Sisi-tunggal dari x(t) menggunakan jendela Hamming’)
xlabel(’Frekuensi (Hz)’)
ylabel(’|Y(f)|’);

% ———————-HANNING——————————
x_han = x .* hann(L)’;

Y = fft(x_han,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2);

figure;
% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2)))
title(’Spektrum Sisi-tunggal dari x(t) menggunakan jendela Hanning’)
xlabel(’Frekuensi (Hz)’)
ylabel(’|Y(f)|’);

wvtool(triang(L),hamming(L),hann(L));
% h=legend(’Triangular’,'Hamming’,'Hanning’);
% set(h,’Interpreter’,'None’);

Berikut ini adalah plot dari masing-masing sinusoidal:

Dan ini adalah penggabungan dari ketiga sinusoidal tersebut:

Berikut ini adalah hasil FFT tanpa menggunakan jendela apapun dan panjang datanya 801, yang masing-masing terdiri dari spektrum tanpa jendela, spektrum dengan jendela Segitiga, Hamming, Hanning dan tampilan wvtool yang membandingkan ketiga jendela serta responnya:

Read the rest of this entry »

Tags: , , , , , ,

Agfianto Eko Putra on October 27th, 2009

Jika selama ini Anda penggemar mikrokontroler keluarga MCS51 (termasuk AT89 dan ahli warisnya yang cukup banyak variannya (http://www.atmel.com) atau barangkali penggemar buku “Belajar Mikrokontroler AT89C51/52/55” yang sangat terkenal itu, maka Anda mungkin bertanya-tanya, adakah downloader, selain easy downloader, yang praktis, portabel, tidak memerlukan catu daya tambahan dan kalau perlu ada fasilitas tambahan lainnya, harganya murah dan dijual di Indonesia?? Saat ini jawaban saya ada adalah: ADA dan baru saja di launch dari ADP Production yang kantornya berpusat di Malang, Jawa Timur - Indonesia.

Min MCS51/AVR

Min MCS51/AVR

Min AVR (tidak termasuk mikrokontroler-nya)

Min AVR (tidak termasuk mikrokontroler-nya)

Read the rest of this entry »

Tags: , , , , , , ,

Agfianto Eko Putra on October 21st, 2009

INSPIRE (Indonesian Nano-Satellite Platform Initiative for Research & Education) is a nonprofit initiative project that aims to build & develop a satellite technology platform (nano-satellites in particular) among universities in Indonesia, by placing students as main participants.

INSPIRE project was created to remind that our country is enough left behind by other developing countries in the field of satellite technology, yet this technology platform can support other sectors such as telecommunications, navigation, marine, environmental, natural resource exploration, as well as early warning system for disaster.

INSPIRE project is expected to raise as well as providing transfer media of knowledge and skills as well as to grow and develop interest in the satellite technology (especially nano-satellites) among the students, and the universities as a center of activity.

Certainly, the final goal of this project does not just stop with the nano-satellite in the university & college students only, but is expected to advance satellite technology in Indonesia, because the technology is very vital existence, either in an academic environment as well as in industrial environments (telecommunication & informatics) .

One early milestone INSPIRE project is convening a national workshop, which brought together the stakeholders in the satellite technology in Indonesia, such as Tubsat LAPAN team, IiNUSAT (Indonesian Inter-University Satellite) team, INASAT team, as well as the experts and the entrepreneurs of nano-satellites from abroad. Moreover, it also invited representatives of students and universities throughout Indonesia as a potential major participant in the next INSPIRE activities. This workshop also bring them together in a forum to discuss strategies and synergies in the future for education and mastering of nano-satellite technology for the welfare of the nation.

Read the rest of this entry »

Tags: , , , , , , , , , , , , ,

Agfianto Eko Putra on October 16th, 2009

Nah sekarang saatnya melakukan pengujian sistem Mini2440 menggunakan berkas pengujian yang sudah dikompilasi menggunakan ADS sebelumnya. Kitapun bisa melakukan kompilasi sendiri tentunya. Intinya program pengujian yang disertakan dalam paket Mini2440 merupakan pengujian dengan tampilan laporan (hasil pengujian) atau interaksi melalui port serial, tidak menggunakan GUI pada touhscreen, karena, menurut saya nich, agar dapat digunakan secara umum terutama yang memiliki Mini2440 tanpa disertai LCD touchscreen.

Setelah dilakukan proses download berkas “2440test.bin” ke sistem Mini2440, maka ditampilkan menu yang ditunjukkan pada gambar berikut:

Pada saat menu tersebut ditampilkan, pada layar LCD 3,5inch ditampilkan gambar bunga matahari:

Read the rest of this entry »

Tags: , , , ,

Agfianto Eko Putra on October 6th, 2009

Pengalaman pertama menggunakan Mini2440 membuat saya kebingungan. Bagaimana tidak? Dokumentasinya sangat minim, kalau mo cari yang agak lengkap masih dalam bahasa China, manual Bahasa Inggris yang disertakan dalam DVD ROM hanya bersifat manual singkat. Lumayan-lah daripada tidak ada sama sekali.

Pertama kali dihidupkan dengan konfigurasi booting dari Nand Flash akan ditampilkan Linux dengan GUI Qtopia…

Berbekal manual China dan Inggris tersebut saya coba untuk melakukan koneksi Mini2440 dengan PC. Disebutkan bahwa perlu dua kabel untuk melalukan koneksi, sekaligus download program ke Mini2440. Untuk urusan komunikasi dengan PC digunakan pre-bootloader yang sudah tersimpan dalam Mini2440 yang diberi nama SuperVivi atau Vivi, ini merupakan program open source yang dimiliki Samsung yang digunakan untuk berkomunikasi antara papan pengembang Mini2440 dengan PC. Sedangkan urusan transfer data menggunakan kabel USB.

Read the rest of this entry »

Tags: , , , ,