FPGA DAN VHDLTEORI, ANTARMUKA DAN APLIKASI
Chapter 19
Antarmuka Pada FPGA Xilinx
Spartan-3E
Aqwam Rosadi Kardian
Outlines
• Pendahuluan
• Analog Capture Circuit
• Programmable Pre-Amplifier
• Analog-to-Digital Converter (ADC)
• Pemrosesan Sinyal Digital
• Digital-to-Analog Converter (DAC)
2
Pendahuluan
Sistem Perancangan Antarmuka Menggunakan
FPGA
3
Analog Capture Circuit
• Mencuplik sinyal analog dan mengubahnya
menjadi sinyal digital kemudian diproses sistem
komputasinya oleh FPGA
• DAC digunakan sebagai keluaran hasil
komputasinya yang berupa sinyal analog
4
Analog Capture Circuit
• Analog capture circuit pada FPGA Spartan-3E
Starter Kit terdiri dari programmable scaling
pre-amplifier dan ADC
5
Analog Capture Circuit
• Analog capture circuit terdiri dari Linear
Technology LTC6912-1 pre-amplifier yang dapat
diprogram dengan menskala sinyal analog pada
header J7
• Keluaran pre-amplifier terhubung ke Linear
Technology LTC1407A-1 ADC
• Pre-amplifier dan ADC diprogram secara serial
atau dikendalikan oleh FPGA.
6
Analog Capture Circuit
• Mengubah tegangan analog pada VINA atau
VINB dan mengubahnya menjadi representasi
digital 14-bit, D[13:0]
7
( )8192
25,1
65,1)0:13( x
GainxVinDigitalKeluaran
-=
Analog Capture Circuit
• Gain merupakan pengaturan bati yang diisikan
ke programmable pre-amplifier
8
Analog Capture Circuit
• Tegangan referensi untuk amplifier dan ADC
adalah 1,65V yang dibangkitkan melalui
tegangan pembagi
• Jangkah maksimum ADC adalah +1,25V dari
tegangan referensi 1,65V
• Keluaran ADC merupakan 14-bit keluaran digital
dua komplemen, sehingga nilainya diskala oleh
8192 atau 213.
9
Analog Capture Circuit
10
Analog Capture Circuit
11
• Nilai digital merupakan representasi signed 14-
bit dua komplemen dari jangkah masukan -1,25v
sampai +1,25v
• Jika ingin menghubungkan sinyal alternating
current (AC) ke pin masukan VINA atau VINB
pada FPGA Spartan-3E harus melalui kapasitor
untuk menyaring sinyal direct current (DC),
sehingga hanya sinyal AC saja yang akan
dilewatkan
Analog Capture Circuit
12
Analog Capture Circuit
13
• Top level dari amplifier dan ADC
Programmable Pre-Amplifier
• LTC6912-1 mempunyai dua inverting amplifier
dengan gain yang dapat diprogram
• Tujuan amplifier adalah untuk menskala
tegangan pada VINA dan arus pada VINB
14
Programmable Pre-Amplifier
15
Sinyal Pin
FPGA
Arah Deskripsi
SPI_MOSI T4 FPGA → AD Data serial: keluaran master,
masukan slave. Mempunyai 8-bit
pengaturan gain yang dapat
diprogram sebagaimana
didefinisikan dalam tabel 3.2.
AMP_CS N7 FPGA → AMP Pemilih chip active-low. Bati
amplifier diatur ketika sinyal
kembali tinggi.
SPI_SCK U16 FPGA → AMP Clock
AMP_SHDN P7 FPGA → AMP Active-high shutdown, reset
AMP_DOUT E18 FPGA → AMP Data serial, melakukan
pengulangan pengaturan bati
amplifier sebelumnya, hal ini dapat
diabaikan pada beberapa aplikasi.
Programmable Pre-Amplifier
• Pengaturan gain untuk pre-amplifier
16
A3 A2 A1 A0
Gain
Range tegangan
masukan
B3 B2 B1 B0 minimum maksimum
0 0 0 1 -1 0,4 2,9
0 0 1 0 -2 1,025 2,275
0 0 1 1 -5 1,4 1,9
0 1 0 0 -10 1,525 1,775
0 1 0 1 -20 1,5875 1,7125
0 1 1 0 -50 1,625 1,675
0 1 1 1 -100 1,6375 1,6625
Programmable Pre-Amplifier
• Komunikasi berbasis SPI antarmuka dengan
amplifier
• Keluaran AMP_DOUT dari amplifier berulang-
ulang mengatur gain sebelumnya, dalam
beberapa aplikasi dapat diabaikan
• Antarmuka amplifier relatif lamban dan hanya
mendukung sekitar 10 MHz frekuensi clock
17
Programmable Pre-Amplifier
18
Programmable Pre-Amplifier
• AMP_DOUT selalu aktif sehingga tidak dapat
membagi sinyal SDO yang sama sebagaimana
piranti lainnya
• FPGA perlu mentransmisikan masing-masing
byte MSB yang pertama
• VHDL untuk memilih gain slave LTC 2624-1
constant gain : std_logic_vector(7 downto 0) :=
"00010001";
19
Programmable Pre-Amplifier
20
• Deskripsi rangkaian untuk mengendalikan
Amplifier ini menggunakan bahasa VHDL
dengan metode Finite State Machine (FSM)
Moore
Programmable Pre-Amplifier
21
• Deskripsi rangkaian untuk mengendalikan
Amplifier ini menggunakan bahasa VHDL
dengan metode Finite State Machine (FSM)
Moore
Analog-to-Digital Converter
• Analog Digital Converter (ADC) yang
digunakan adalah LTC 1407A-1 yang
mempunyai dua masukan sinyal, masukan
keduanya berupa sinyal analog yang di-sampling
secara simultan ketika sinyal AD_CONV
diaplikasikan
• ADC ini men-sampling data analog
menggunakan serial peripheral interface (SPI).
22
Analog-to-Digital Converter
23
Sinyal Pin FPGA
Spartan-3E
Arah Deskripsi
SPI_SCK U16 FPGA → ADC Clock
AD_CONV P11 FPGA → ADC Active-High shutdown dan reset
SPI_MISO N10 FPGA → ADC Data serial: masukan master,
keluaran serial dan merupakan
representasi digital nilai analog
sample sebagai dua 14-bit dua nilai
biner komplemen.
Analog-to-Digital Converter
24
Analog-to-Digital Converter
25
Pemrosesan Sinyal Digital
• Proses sinyal digital yang dihasilkan dari ADC
untuk menghasilkan pengukuran daya listrik
bernilai digital dan hasilnya diteruskan ke DAC
menggunakan FPGA Spartan-3E
26
Pemrosesan Sinyal Digital
27
Digital-to-Analog Converter
• Spartan 3E starter kit mempunyai piranti
kompatibel dengan SPI, empat channel, Digital-
to-Analog Converter (DAC) serial
• Piranti DAC yang digunakan adalah Linear
Technology LTC2624 quad DAC dengan resolusi
unsigned 12-bit
• Empat keluaran dari DAC diperlihatkan pada J5
header yang menggunakan format Digilent 6-pin
peripheral module.
28
Digital-to-Analog Converter
29
Digital-to-Analog Converter
30
Digital-to-Analog Converter
31
Sinyal Pin FPGA Arah Deskripsi
SPI_MOSI T4 FPGA → DAC Data serial : keluaran master,
masukan slave
DAC_CS N8 FPGA → DAC Pemilih chip active-low. Konversi
digital ke analog mulai ketika
sinyal kembali high.
SPI_SCK U16 FPGA → DAC Clock
DAC_CLR P8 FPGA → DAC Asinkron, masukan reset active-low
SPI_MISO N10 FPGA → DAC Data serial: masukan master,
keluaran slave.
Digital-to-Analog Converter
32
Sinyal Piranti yang di-disable Nilai disable
SPI_SS_B SPI serial flash 1
AMP_CS Programmable pre-amplifier 1
AD_CONV Analog-to-Digital Converter (ADC) 0
SF_CE0 StrataFlash Parallel Flash PROM 1
FPGA_INIT_B Platform Flash PROM 1
Digital-to-Analog Converter
33
Digital-to-Analog Converter
• Channel A dan B menggunakan tegangan
referensi 3,3V sedangkan channel C dan D
menggunakan referensi 2,5V. Tegangan referensi
itu sendiri mempunyai toleransi +5%, sehingga
akan ada kaitan variansi pada tegangan keluaran
34
REFERENSIOUT VxD
V4096
]0:11[=
Digital-to-Analog Converter
• Tegangan referensi terkait dengan keluaran DAC
A dan B sekitar 3,3V+5%
• Tegangan referensi terkait dengan keluaran DAC
C dan D sekitar 2,5V+5%
35
( )%53,34096
]0:11[±= Vx
DV
BatauAOUT
( )%55,24096
]0:11[±= Vx
DV
DatauCOUT
Digital-to-Analog Converter
• Pengendali DAC
36
TERIMA KASIH