FPGA DAN VHDL TEORI, ANTARMUKA DAN APLIKASI
Chapter 19
Antarmuka Pada FPGA Xilinx Spartan-3E Ferry Wahyu Wibowo
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
Outlines • Pendahuluan • Analog Capture Circuit • Programmable Pre-Amplifier • Analog-to-Digital Converter (ADC)
• Pemrosesan Sinyal Digital • Digital-to-Analog Converter (DAC) © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
2
Pendahuluan Sistem Perancangan Antarmuka Menggunakan FPGA
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
4
Analog Capture Circuit • Analog capture circuit pada FPGA Spartan-3E Starter Kit terdiri dari programmable scaling pre-amplifier dan ADC
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
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. © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
6
Analog Capture Circuit • Mengubah tegangan analog pada VINA atau VINB dan mengubahnya menjadi representasi digital 14-bit, D[13:0]
Keluaran Digital
( Vin - 1,65) (13 : 0) =
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
x Gain
x 8192
1,25
7
Analog Capture Circuit • Gain merupakan pengaturan bati yang diisikan ke programmable pre-amplifier
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
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. © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
9
Analog Capture Circuit
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
10
Analog Capture Circuit • Nilai digital merupakan representasi signed 14bit 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 © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
11
Analog Capture Circuit
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
12
Analog Capture Circuit • Top level dari amplifier dan ADC
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
13
Programmable PreAmplifier • LTC6912-1 mempunyai dua inverting amplifier dengan gain yang dapat diprogram • Tujuan amplifier adalah untuk menskala tegangan pada VINA dan arus pada VINB
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
14
Programmable PreAmplifier 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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
15
Programmable PreAmplifier • Pengaturan gain untuk pre-amplifier A3 A2 A1 A0
Range tegangan masukan
Gain 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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
16
Programmable PreAmplifier • Komunikasi berbasis SPI antarmuka dengan amplifier • Keluaran AMP_DOUT dari amplifier berulangulang mengatur gain sebelumnya, dalam beberapa aplikasi dapat diabaikan • Antarmuka amplifier relatif lamban dan hanya mendukung sekitar 10 MHz frekuensi clock
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
17
Programmable PreAmplifier
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
18
Programmable PreAmplifier • 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"; © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
19
Programmable PreAmplifier • Deskripsi rangkaian untuk mengendalikan Amplifier ini menggunakan bahasa VHDL dengan metode Finite State Machine (FSM) Moore
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
20
Programmable PreAmplifier • Deskripsi rangkaian untuk mengendalikan Amplifier ini menggunakan bahasa VHDL dengan metode Finite State Machine (FSM) Moore
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
21
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). © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
22
Analog-to-Digital Converter Sinyal
Pin FPGA
Arah
Deskripsi
Spartan-3E SPI_SCK
U16
FPGA → ADC Clock
AD_CONV
P11
FPGA → ADC Active-High shutdown dan reset
SPI_MISO
N10
FPGA → ADC Data
serial:
keluaran
serial
representasi
master,
masukan dan
digital
merupakan nilai
analog
sample sebagai dua 14-bit dua nilai biner komplemen.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
23
Analog-to-Digital Converter
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
24
Analog-to-Digital Converter
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
26
Pemrosesan Sinyal Digital
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
27
Digital-to-Analog Converter • Spartan 3E starter kit mempunyai piranti kompatibel dengan SPI, empat channel, Digitalto-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. © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
28
Digital-to-Analog Converter
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
29
Digital-to-Analog Converter
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
30
Digital-to-Analog Converter Sinyal
Pin FPGA
SPI_MOSI
T4
Arah
Deskripsi
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
DAC_CLR
P8
SPI_MISO
N10
FPGA → DAC Clock FPGA → DAC Asinkron, masukan reset active-low FPGA → DAC Data
serial:
masukan
master,
keluaran slave.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
31
Digital-to-Analog Converter 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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
32
Digital-to-Analog Converter
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
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
VOUT
D[11 : 0] = x VREFERENSI 4096
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
34
Digital-to-Analog Converter • Tegangan referensi terkait dengan keluaran DAC A dan B sekitar 3,3V+5% D[11 : 0] VOUT A atau B = x (3,3V ± 5%) 4096 • Tegangan referensi terkait dengan keluaran DAC C dan D sekitar 2,5V+5% D[11 : 0] VOUT C atau D = x (2,5V ± 5%) 4096 © Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
35
Digital-to-Analog Converter • Pengendali DAC
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved
36
TERIMA KASIH
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All Rights Reserved