High Definition, Delay Rendah, Transmisi Video Berbasis SDR dalam Aplikasi UAV Transceiver elastis RF terpadu tidak hanya digunakan secara luas dalam arsitektur radio yang didefinisikan perangkat lunak (SDR) 1 di pangkalan telepon seluler, seperti multiservice distributed access system (MDAS) dan kecil Sel, tapi juga transmisi video HD nirkabel untuk aplikasi industri, komersial, dan militer, seperti kendaraan udara tak berawak (UAV). Artikel ini akan memeriksa implementasi rangkaian sinyal video nirkabel wideband menggunakan AD9361 AD9364 2,3 IC transceiver terintegrasi, jumlah data yang dikirimkan, bandwidth sinyal RF yang sesuai, jarak transmisi, dan daya pemancar. Ini juga akan menjelaskan implementasi lapisan PHY OFDM dan menyajikan hasil uji frekuensi hop hopping untuk menghindari interferensi RF. Akhirnya, kita akan membahas kelebihan dan kekurangan antara Wi-Fi dan transceiver gesit RF pada aplikasi nirkabel wideband. Rantai Sinyal Gambar 1 mengilustrasikan skema transmisi video nirkabel yang disederhanakan menggunakan AD9361AD9364 dan BBIC. Kamera menangkap gambar dan mentransmisikan data video ke prosesor baseband via Ethernet, HDMI reg. USB, atau antarmuka lain. Image codingdecoding dapat ditangani oleh perangkat keras atau FPGA. Bagian depan RF mencakup pengalih, LNA, dan PA ke transceiver terpadu yang dapat diprogram. Berapa Banyak Data Perlu Ditransmisikan Tabel 1 menunjukkan perbedaan ukuran yang signifikan antara kecepatan data yang tidak terkompres dan terkompresi. Dengan menggunakan video coding efisiensi tinggi (HEVC), juga dikenal sebagai H.265 dan MPEG-H Bagian 2, kita dapat menurunkan laju data dan menghemat bandwidth. H.264 saat ini adalah salah satu format yang paling umum digunakan untuk perekaman, kompresi, dan distribusi konten video. Ini menyajikan sebuah langkah maju yang besar dalam teknologi kompresi video dan merupakan salah satu dari beberapa penerus potensial AVC yang banyak digunakan (H.264 atau MPEG-4 Part 10). Tabel 1 merangkum laju data terkompresi dan kompresi dalam format video yang berbeda. Asumsi meliputi kedalaman bit video 24 bit dan frame rate 60 fps. Pada contoh 1080p, data rate adalah 14,93 Mbps setelah kompresi, yang kemudian dapat dengan mudah ditangani oleh prosesor baseband dan lapisan PHY nirkabel. Tabel 1. Bandwidth Bandwidth Rate Compressed Bandwidth AD9361AD9364 mendukung bandwidth saluran dari lt200 kHz sampai 56 MHz dengan mengubah sample rate, filter digital, dan penipisan. AD9361AD9364 adalah transceiver nol-IF dengan kanal I dan Q untuk mentransmisikan data kompleks. Data yang kompleks mencakup bagian nyata dan imajiner, sesuai dengan I dan Q masing-masing, yang menemukan pada bandwidth frekuensi yang sama untuk melipatgandakan efisiensi spektrum bila dibandingkan dengan satu bagian. Data video terkompresi dapat dipetakan ke saluran I dan Q untuk membuat titik konstelasi, yang dikenal sebagai simbol. Gambar 2 menunjukkan contoh QAM 16 di mana masing-masing simbol mewakili empat bit. Untuk sistem pengangkut tunggal, bentuk gelombang digital I dan Q harus melewati filter pembentuk pulsa sebelum DAC membentuk sinyal yang ditransmisikan dalam bandwidth terbatas. Filter FIR dapat digunakan untuk pembentukan pulsa, dan respons filter diilustrasikan pada Gambar 4. Untuk menjaga kesetiaan informasi, ada bandwidth sinyal minimum yang sesuai dengan tingkat simbol. Dan tingkat simbol sebanding dengan kecepatan data video terkompresi seperti yang ditunjukkan pada persamaan di bawah ini. Untuk sistem OFDM, data kompleks harus dimodulasi ke subcarrier menggunakan IFFT, yang juga mentransmisikan sinyal dalam bandwidth terbatas. Jumlah bit yang ditransmisikan dengan masing-masing simbol bergantung pada urutan modulasi. Di mana alpha adalah parameter bandwidth filter. Dari rumus sebelumnya, kita dapat menyimpulkan persamaan ini, Jadi kita dapat menghitung bandwidth sinyal yang diduduki RF seperti yang dirangkum pada Tabel 2. Tabel 2. Bandwidth Sinyal RF yang Diduduki dengan Jenis Order Modulasi (alfa 0,25) AD9361AD9364, dengan sinyal hingga 56 MHz Bandwidth, mendukung semua transmisi video format Tabel 2 dan bahkan frame rate yang lebih tinggi. Modulasi orde tinggi menempati bandwidth yang lebih kecil dan simbol mewakili lebih banyak informasi, namun SNR yang lebih tinggi dibutuhkan untuk melakukan demodulasi. Jarak Transmisi dan Daya Transmitter Dalam aplikasi seperti UAV, jarak transmisi maksimum adalah parameter penting. Namun, sama pentingnya komunikasi tidak terputus bahkan pada jarak yang terbatas. Oksigen, air, dan rintangan lainnya (kecuali atenuasi ruang bebas) bisa menipiskan sinyalnya. Gambar 6 menunjukkan model kehilangan saluran komunikasi nirkabel. Sensitivitas penerima biasanya diambil sebagai sinyal input minimum (S min) yang diperlukan untuk melakukan demodulasi atau pemulihan informasi dari pemancar. Setelah mendapatkan sensitivitas receiver, jarak transmisi maksimum dapat dihitung dengan beberapa asumsi, seperti yang ditunjukkan di sini: (SN) min adalah rasio sinyal-ke-noise minimum yang diperlukan untuk memproses sinyal NF adalah figur noise pada receiver k adalah Boltzmannrsquos Konstan 1,38 kali 10 ndash23 joulek T 0 adalah suhu absolut dari input penerima (Kelvin) 290 KB adalah bandwidth penerima (Hz) Parameter (SN) min tergantung pada urutan modulasidemodulasi. Dengan SNR yang sama, modulasi orde rendah mendapat error simbol yang lebih rendah, dan dengan kesalahan simbol yang sama, modulasi orde tinggi membutuhkan SNR yang lebih tinggi untuk melakukan demodulasi. Jadi ketika pemancar jauh dari receiver, sinyal lebih lemah dan SNR tidak mampu mendukung demodulasi orde tinggi. Agar pemancar tetap online dan mempertahankan format video dengan kecepatan data video yang sama, baseband harus menggunakan modulasi orde rendah dengan mengorbankan peningkatan bandwidth. Ini membantu memastikan gambar yang diterima tidak buram. Untungnya, radio yang didefinisikan perangkat lunak dengan modulasi digital dan demodulasi menawarkan kemampuan untuk mengubah modulasi. Analisis sebelumnya didasarkan pada asumsi bahwa daya RF pemancar konstan. Sementara daya pemancar RF yang lebih besar dengan gain antena yang sama akan menjangkau penerima yang lebih jauh dengan sensitivitas penerima yang sama, daya pemancar maksimum harus sesuai dengan standar radiasi FCCCE. Selain itu, frekuensi pembawa akan memiliki pengaruh pada jarak transmisi. Saat gelombang menyebar melalui ruang angkasa, ada kerugian akibat dispersi. Kehilangan ruang bebas ditentukan oleh Di mana R adalah jarak, lambda adalah panjang gelombang, f adalah frekuensi, dan C adalah kecepatan cahaya. Oleh karena itu, frekuensi yang lebih besar akan memiliki lebih banyak kerugian dari jarak ruang bebas yang sama. Misalnya, frekuensi pembawa pada 5,8 GHz akan dilemahkan lebih dari 7,66 dB dibandingkan dengan 2,4 GHz pada jarak transmisi yang sama. Frekuensi RF dan Switching AD9361AD9364 memiliki rentang frekuensi yang dapat diprogram dari 70 MHz sampai 6 GHz. Ini akan memuaskan sebagian besar aplikasi frekuensi NLOS, termasuk berbagai jenis frekuensi berlisensi dan tidak berlisensi, seperti 1,4 GHz, 2,4 GHz, dan 5,8 GHz. Frekuensi 2,4 GHz banyak digunakan untuk Wi-Fi, Bluetooth reg. Dan komunikasi singkat dari IOD, sehingga semakin ramai. Menggunakannya untuk transmisi video nirkabel dan sinyal kontrol meningkatkan kemungkinan gangguan sinyal dan ketidakstabilan. Ini menciptakan situasi yang tidak diinginkan dan sering berbahaya bagi UAV. Menggunakan frekuensi switching untuk menjaga frekuensi bersih akan menjaga agar data dan koneksi kontrol lebih dapat diandalkan. Saat pemancar merasakan frekuensi yang ramai, otomatis akan beralih ke band lain. Sebagai contoh, dua UAV menggunakan frekuensi dan beroperasi dalam jarak dekat akan mengganggu komunikasi other otherququos. Secara otomatis mengganti frekuensi LO dan memilih ulang pita akan membantu menjaga hubungan nirkabel yang stabil. Adaptif memilih frekuensi pembawa atau saluran selama periode power-up adalah salah satu fitur unggulan UAV high end. Frekuensi Hopping Lompatan frekuensi cepat, yang banyak digunakan dalam electronic countermeasures (ECM), juga membantu menghindari gangguan. Biasanya jika kita ingin hop frekuensi, PLL perlu untuk relock setelah prosedur. Ini termasuk menulis register frekuensi, dan melewati waktu kalibrasi VCO dan waktu penguncian PLL sehingga interval frekuensi hopping mendekati ratusan mikrodetik. Gambar 7 menunjukkan contoh frekuensi pemancar LO dari 816.69 MHz menjadi 802,03 MHz. AD9361 digunakan dalam mode perubahan frekuensi normal dan frekuensi keluaran RF pemancar melonjak dari 814.69 MHz menjadi 800.03 MHz dengan frekuensi referensi 10 MHz. Waktu frekuensi hopping diuji dengan menggunakan E5052B seperti yang ditunjukkan pada Gambar 7. Kalibrasi VCO dan waktu kunci PLL adalah sekitar 500 mikron sesuai dengan Gambar 7b. Alat analisis sumber sinyal E5052B dapat digunakan untuk menangkap respons PLL sementara. Gambar 7a menunjukkan mode pengukuran transient wideband, sedangkan Gambar 7b dan 7d memberikan resolusi resolusi frekwensi dan fase transien yang sangat baik dengan frekuensi hopping. Gambar 7c menunjukkan respons daya output. 500 mikron adalah interval yang sangat panjang untuk aplikasi hopping. Namun, AD9361AD9364 menyertakan mode kunci cepat yang memungkinkan untuk dicapai lebih cepat dari pada perubahan frekuensi normal dengan menyimpan kumpulan informasi pemrograman synthesizer (disebut profil) di register devicersquos atau ruang memori processorrsquos baseband. Gambar 8 menunjukkan hasil pengujian dengan menggunakan mode fast lock untuk mengimplementasikan frekuensi hopping dari 882 MHz ke 802 MHz. Waktunya turun sampai kurang dari 20 mikron, sesuai dengan respons fase Gambar 8d. Kurva fasa ditarik dengan mengacu pada fase 802 MHz. Waktu penulisan SPI dan waktu kalibrasi VCO keduanya dieliminasi dalam mode itu karena informasi frekuensi dan hasil kalibrasi disimpan dalam profil. Seperti yang bisa kita lihat, Gambar 8b menunjukkan kemampuan melompat cepat dari AD9361AD9364. Implementasi divisi multiplexing frekuensi Orthogonal PHY LayermdashOFDM (OFDM) adalah bentuk modulasi sinyal yang membagi arus modulasi data rate tinggi ke banyak subcarrier jarak dekat sempit yang diodulasi dengan lamban. Hal ini membuatnya kurang sensitif terhadap frekuensi frase selektif. Kelemahannya adalah puncak yang tinggi terhadap rasio daya rata-rata dan sensitivitas terhadap carrier offset dan drift. OFDM banyak diterapkan pada lapisan komunikasi nirkabel wideband PHY. Teknologi kritis OFDM meliputi IFFTFFT, sinkronisasi frekuensi, sinkronisasi waktu sampling, dan sinkronisasi simbolframe. IFFTFFT harus diimplementasikan melalui FPGA dengan cara tercepat. Hal ini juga sangat penting untuk memilih interval subcarrier. Interval harus cukup besar untuk menahan komunikasi mobilitas dengan pergeseran frekuensi Doppler dan cukup kecil untuk membawa lebih banyak simbol dalam bandwidth frekuensi terbatas untuk meningkatkan efisiensi spektrum. COFDM mengacu pada kombinasi teknologi pengkodean dan modulasi OFDM. COFDM dengan resistansi tinggi terhadap redaman sinyal dan koreksi kesalahan ke depan (FEC) dapat mengirim sinyal video dari benda yang bergerak. Encoding akan meningkatkan bandwidth sinyal namun biasanya bernilai trade-off. Dengan menggabungkan desain berbasis model dan alat pembuat kode otomatis dari MathWorks dengan Xilinx reg Zynq SoCs dan Analog Devices yang terintegrasi RF transceiver, desain sistem SDR, verifikasi, pengujian, dan implementasi dapat menjadi lebih efektif daripada sebelumnya, yang mengarah ke radio berkinerja lebih tinggi. Sistem dan mengurangi waktu ke pasar. 7 Apa Keuntungan dari Wi-Fi Drones yang dilengkapi dengan Wi-Fi sangat mudah terhubung ke ponsel, laptop, dan perangkat seluler lainnya, yang membuat mereka sangat nyaman digunakan. Tapi untuk transmisi video nirkabel di aplikasi UAV, solusi FPGA plus AD9361 menawarkan banyak kelebihan dibanding Wi-Fi. Pertama-tama, di layer PHY, switching frekuensi tangkas dan hopping cepat dari AD9361AD9364 membantu menghindari gangguan. Sebagian besar chip Wi-Fi terintegrasi juga beroperasi pada pita frekuensi 2,4 GHz yang berkokok dan tidak memiliki mekanisme pemilihan pita frekuensi untuk membuat koneksi nirkabel lebih stabil. Kedua, dengan solusi FPGA plus AD9361, protokol transmisi dapat didefinisikan dan dikembangkan secara fleksibel oleh perancang. Protokol Wi-Fi standar dan berdasarkan jabat tangan dua arah dengan setiap paket data. Dengan Wi-Fi, setiap paket data harus memastikan bahwa paket telah diterima, dan bahwa semua 512 byte dalam paket diterima secara utuh. Jika satu byte hilang, seluruh paket 512 byte harus dikirimkan lagi. 8 Meskipun protokol ini memastikan keandalan data, namun rumit dan memakan waktu untuk membangun kembali tautan data nirkabel. Protokol TCPIP akan menyebabkan latency tinggi yang menghasilkan video dan kontrol nonreal-time, yang dapat menyebabkan kecelakaan UAV. Solusi SDR (FPGA plus AD9361) menggunakan aliran data satu arah, yang berarti dengung di langit mentransmisikan sinyal video seperti siaran TV. Tidak ada waktu untuk mengirim ulang paket saat video real-time menjadi tujuannya. Selain itu, Wi-Fi tidak menawarkan tingkat keamanan yang tepat untuk banyak aplikasi. Dengan memanfaatkan algoritma enkripsi dan protokol yang ditentukan pengguna, solusi FPGA plus AD9361AD9364 jauh kurang rentan terhadap ancaman keamanan. Selanjutnya, salah satu cara menyiarkan aliran data memberikan kemampuan jarak transmisi dua sampai tiga kali pendekatan Wi-Fi. 8 Fleksibilitas dari kemampuan radio yang ditentukan perangkat lunak memungkinkan penyesuaian modulasi digital untuk memenuhi persyaratan jarak atau dan menyesuaikan diri dengan perubahan SNR di lingkungan radiasi ruang yang kompleks. Kesimpulan Artikel ini menggambarkan parameter kritis penggunaan solusi FPGA plus AD9361AD9364 untuk implementasi transmisi video definisi tinggi. Dengan perpindahan pita frekuensi tangkas dan frekuensi melompat cepat, adalah mungkin untuk membuat tautan nirkabel yang lebih stabil dan andal untuk menahan radiasi yang semakin kompleks di luar angkasa dan mengurangi kemungkinan kecelakaan. Di lapisan protokol, solusinya lebih fleksibel, menggunakan transmisi satu arah untuk mengurangi waktu pembentukan nirkabel dan menciptakan koneksi latency yang lebih rendah. Dalam aplikasi industri dan komersial seperti pertanian, inspeksi jalur listrik, dan pengawasan, transmisi yang stabil, aman, dan andal sangat penting untuk kesuksesan. Referensi 2 AD9361 lembar data. Analog Devices, Inc. 3 AD9364 lembar data. Analog Devices, Inc. 4 Ken Gentile. Catatan Aplikasi AN-922, Dasar-Dasar Dasar Pembuatan Pulse Digital. Analog Devices, Inc. 5 Scott R. Bullock. Perancangan Transceiver dan Sistem untuk Komunikasi Digital. Edisi ke-4 SciTech Publishing, Edison, NJ, 2014. Wei Zhou adalah seorang insinyur aplikasi untuk Analog Devices, Inc. yang mendukung desain dan pengembangan produk dan aplikasi transceiver RF, terutama di bidang transmisi video nirkabel dan bidang komunikasi nirkabel. Dia telah bekerja di Pusat Aplikasi Pusat ADI yang berlokasi di Beijing, China, selama lima tahun mendukung berbagai produk termasuk DDS, PLL, DACADC kecepatan tinggi, dan jam. Sebelum bergabung dengan ADI, dia menerima B. S. Gelar dari Universitas Wuhan, Wuhan, China, pada tahun 2006, dan M. S. Gelar dari Institute of Electronics, Chinese Academy of Science (CAS), Beijing, China, pada tahun 2009. Dia bekerja sebagai sirkuit RF dan microwave dan insinyur desain sistem untuk perusahaan teknologi dirgantara dari tahun 2009 hingga 2011. Artikel Terkait Produk Terkait RF Agile TransceiverA Secret atau Top Secret clearance dapat memberikan kenaikan gaji yang signifikan bagi seorang insinyur bila dibandingkan dengan rekan-rekan mereka yang bekerja di sektor komersial. Dengan pembelanjaan meningkat untuk pertahanan, terutama di bidang-bidang seperti Cyber Security, pertumbuhan gaji insinyur didorong oleh permintaan insinyur, ilmuwan, dan manajer teknis berkualitas yang dibebaskan atau quotclearance yang layak. Sebuah izin keamanan bagi karyawan dibutuhkan oleh kebanyakan perusahaan yang bekerja untuk kontrak pemerintah federal, termasuk keamanan militer dan tanah air 151 dan atas inisiatif intelijen CIA atau NSA, seperti: SIGINT, COMINT, ELINT, C4ISR, IMINT, MASINT, kriptanalisis, jaminan informasi, Cybersecurity dan software database. Selain itu, perusahaan yang memiliki karyawan yang bekerja dengan Departemen Energi (DOE), dan banyak departemen federal lainnya, biasanya mewajibkan izin khusus dari otoritas untuk proyek sensitif. Permintaan baru untuk penyelidikan izin telah membanjiri staf Dinas Keamanan Keamanan pemerintah, menghasilkan backlog lebih dari 225.000 orang menunggu izin mereka diproses dan diberikan. Bergantung pada tingkat (Rahasia, Rahasia Teratas, di Atas Rahasia Teratas), penyelidikan mulai dari verifikasi referensi profesional, pribadi, keuangan dan pendidikan dengan pemeriksaan latar belakang kriminal, dan penjelasan tentang perjalanan di luar A. S. for Secret. Untuk penyelidikan gaya hidup yang panjang dan mendalam, termasuk pengujian poligraf untuk Top Secret. Kandidat yang sedang dipertimbangkan harus menjadi warga A. S. DSS mengevaluasi kandidat loyalitas, karakter, kepercayaan dan keandalan, berdasarkan wawancara lapangan pribadi dengan referensi, dan sumber lainnya (termasuk pemeriksaan catatan kriminal negara bagian dan lokal). Ada sekitar 4,4 juta warga A. S.: 1,2 juta warga sipil yang bekerja untuk industri swasta dan pemerintah, dan lebih dari tiga juta personil militer aktif (semua cabang). DSS menyelidiki dan membersihkan personil industri di bawah arahan Program Jaminan Industri Nasional 151 untuk Departemen Pertahanan dan 21 instansi pemerintah lainnya. NISP didirikan untuk memastikan bahwa industri (dan universitas), saat bekerja dalam kontrak pemerintah atau melakukan penelitian, dengan rajin melindungi barang-barang rahasia yang mereka miliki. DSS memiliki pengawasan terhadap hampir 11.000 fasilitas yang bersih. PEDOMAN PEMBERITAHUAN CLEARANCE TIGHTENED Apa yang terlibat dalam mendapatkan izin setelah saya dipekerjakan Ada tiga bagian untuk sebuah izin: Aplikasi 151 Penyelesaian SF-86 (lembar kerja versi EPSQ SF-86). Investigasi 151 Ditangani oleh Security Security Service (DSS). Biasanya selesai dalam waktu sekitar 6 bulan untuk Secret, sampai 18 bulan untuk Top Secret. Ajudikasi 151 Hasil ditinjau ulang, berdasarkan faktor-faktor termasuk kesetiaan kepada Amerika Serikat, perilaku pribadi, dan penemuan penyalahgunaan zat, gangguan jiwa, atau catatan kriminal. Clearance diadili (dikabulkan) setelah evaluasi akhir yang melewati semua kriteria. Apa yang akan menyebabkan penolakan izin (1) Conviction di pengadilan A. S. - dan dijatuhi hukuman penjara lebih dari satu tahun. (2) Pengguna yang melanggar hukum dari zat yang dikendalikan. (3) Mental tidak kompeten, ditentukan oleh dokter yang disetujui oleh DSS. (4) Dilepaskan dari militer dalam kondisi tidak terhormat. Berapa lama jarak bebas berlaku Investigasi ulang diperlukan setiap 5 tahun untuk mendapatkan Secret Secret, 10 tahun untuk Secret. Orang yang telah dibersihkan dapat diinvestigasi ulang secara acak sebelum mereka dijadwalkan. Apakah ujian poligraf selalu diperlukan Ujian poligraf wajib dilakukan oleh NSA dan CIA, dan untuk industri pertahanan Top Secret SCI dan program akses SAP. Hal ini juga digunakan untuk mengatasi informasi penghinaan yang dapat dipercaya. Tidak ada tindakan yang dapat diambil semata-mata atas dasar hasil yang menipu, kecuali oleh arahan Wakil Menteri Pertahanan, jika informasi rahasia memiliki kepekaan ekstrem sedemikian rupa sehingga akses tersebut menimbulkan risiko terhadap keamanan nasional. Apa perbedaan antara interim dan clearance keamanan penuh. Kelonggaran sementara diberikan dalam keadaan luar biasa dimana fungsi resmi harus dilakukan sebelum menyelesaikan proses investigasi dan ajudikasi. Di sini tidak ada perbedaan antara interim dan clearance keamanan penuh (karena berkaitan dengan akses ke materi rahasia). Namun, bila akses langka seperti itu diberikan, penyelidikan latar belakang harus dipercepat. Untuk EngineerSalary 2009 menunjukkan tanda centang 11,6 (turun sedikit dari tahun 2008) untuk insinyur yang dibersihkan di Pantai Timur (menggunakan pengalaman desain 10 tahun, gelar teknik B. S. dan Secret clearance) dibandingkan dengan rekan-rekan mereka yang bekerja di sektor komersial. Tambahkan Top Secret atau lebih tinggi dan perbedaan diferensial ini melonjak menjadi lebih dari 15 rata-rata (semua disiplin ilmu teknik disurvei). Pantai Barat tertinggal sedikit di belakang pada 11,4 dan 14. 2010 diproyeksikan mengikuti data saat ini. Beberapa survei menunjukkan adanya peningkatan gaji 25 tahun di atas gaji ketika bekerja dalam pekerjaan yang memerlukan izin. Angka-angka ini menyesatkan, karena berlaku untuk wilayah daerah kecil. Pengguna survei ini, saat menerapkan pengganda ini ke perhitungan gaji di area lain, mungkin menghalangi penerimaan penawaran - atau menolak tawaran berdasarkan data yang tidak akurat. Memberikan informasi yang dipertanyakan (dan mendorong harapan gaji yang tidak masuk akal bagi pencari kerja) adalah kontraproduktif. Insinyur dan pengelola gaji dengan gaji tertinggi ditempatkan di Washington, DC, diikuti oleh Virginia dan Maryland. Massachusetts, New Jersey, Arizona, Colorado, Texas, California dan New York mencetak gol di posisi 10 besar, karena konsentrasi perusahaan sektor pertahanan di negara bagian tersebut. Dalam gaji DC dan Virginia, dalam beberapa kasus, hampir 22 lebih tinggi daripada posisi dan tingkat tanggung jawab yang sama di lingkungan yang tidak bersih (dikaitkan dengan kombinasi antara biaya pembersihan dan biaya hidup). Permintaan saat ini di sektor pertahanan tinggi untuk perangkat lunak, insinyur listrik dan RF yang berpengalaman dan manajer teknis. Banyak dari para profesional in-demand ini telah menggunakan keterampilan teknis dan izin untuk memanfaatkan pendapatan lebih tinggi saat pindah ke perusahaan baru, atau menegosiasikan kompensasi yang meningkat dengan atasan mereka saat ini. Insinyur dan manajer teknis dengan Secret Secret Secret Secret mendapatkan gaji tertinggi dibandingkan pekerjaan lainnya. Karyawan non-teknis (keuangan, penjualan, administrasi, klerus, manufaktur) dengan Secret clearance dapat diharapkan dibayar sedikit di atas kompensasi lokal yang berlaku (biasanya 3-8), namun perbedaan untuk insinyur dan manajer teknik adalah yang paling signifikan dari profesi. Karena dengan ketat meningkatkan kelangkaan calon yang memenuhi syarat. Permintaan untuk profesional teknis saat ini jauh di depan pasokan. Jumlah insinyur yang lulus dari perguruan tinggi dan universitas Amerika yang merupakan warga negara A. S. yang berhak lolos kuotasi berkurang, yang mengecilkan keseluruhan kolam. Perusahaan pertahanan nasional akan terus bersaing secara agresif bagi warga A. S. dengan gelar teknik. Jangan mengharapkan tawaran untuk pergi dari skala. Namun angka ini ditakdirkan merangkak sedikit lebih tinggi setiap tahun (kenaikan gt0.67yr dari tahun 2000-2010). Pasar dan urgensi menentukan nilainya. Menggunakan prinsip dasar penawaran dan permintaan. Perkiraan EngineerSalary (menggunakan data gaji saat ini yang disesuaikan dengan inflasi) rata-rata diferensial nasional 14 atau lebih tinggi akan ada sampai tahun 2014 (menggunakan data kompensasi dari semua negara bagian kecuali AK dan HI untuk menentukan persentase rata-rata). Jumlah ini akan bergerak ke bawah hanya jika pengeluaran pertahanan menurun secara signifikan di bawah pemerintahan baru. Insinyur tidak dapat mengajukan izin keamanan sebagai cara untuk meningkatkan daya jual mereka. Sebagai gantinya, mereka harus dipekerjakan oleh perusahaan dengan kontrak pemerintah 151 untuk posisi yang memerlukan akses khusus ke materi rahasia untuk melakukan pekerjaan mereka sebelum DSS akan memulai proses pembersihan yang memakan waktu dan mahal (diprakarsai oleh petugas keamanan perusahaan). Akibatnya, pasar bagi insinyur dengan izin aktif sangat ketat sehingga mereka dapat melihat adanya kenaikan gaji yang besar saat pindah ke perusahaan baru. Untuk Top Secret, TSSCI, TS SITK, TSEBI (dan kelonggaran TS lainnya) angka ini bergerak lebih tinggi lagi. Kelonggaran keamanan telah menjadi komoditas yang dapat dinegosiasikan, membantu para insinyur dan manajer yang cerdik memanfaatkan gaji yang lebih tinggi. Prosesnya, bagaimanapun, untuk menguangkan izin biasanya meminta untuk menerima tawaran dari atasan baru dan mengganti pekerjaan. Dalam sebuah survei baru-baru ini, ditemukan bahwa karyawan lama dengan berbagai tingkat izin tidak menerima kompensasi sama dengan insinyur yang kurang berpengalaman yang memilih untuk mengubah majikan mereka. Ini diterapkan pada pengusaha yang mempekerjakan insinyur di tingkat, dalam beberapa kasus, 15 lebih tinggi dari karyawan lama yang ada (dengan pengalaman yang lebih sesuai). Hal ini tidak jarang melihat kenaikan gaji sebesar 7K sampai setinggi 25K dengan pindah ke perusahaan baru. Beberapa perusahaan, untuk mempertahankan modal manusia yang berharga, tetap kompetitif di industri. Banyak lainnya havent. Hal ini telah menciptakan peningkatan wawancara oleh banyak insinyur, untuk mengevaluasi apa yang layak dilakukan di pasar terbuka. Mereka mengambil tawaran ini kembali ke karyawan mereka untuk penyesuaian (dalam beberapa kasus), namun sebagian besar sering berpindah pekerjaan untuk memaksimalkan pendapatan mereka. Profitabilitas perusahaan pertahanan dapat dikaitkan langsung dengan tingkat retensi pegawai teknis mereka yang telah dibersihkan, yang menyebabkan banyak orang memikirkan ulang struktur gaji mereka sesering mungkin, terutama untuk staf teknik. Pengusaha memikat insinyur yang berpengalaman dan berhasil membersihkan diri dari pesaing mereka dengan pekerjaan yang lebih menarik, dan meningkatkan tanggung jawab 151 biasanya dengan gaji yang lebih baik. Banyak perusahaan teknologi pertahanan menawarkan insentif untuk menyewa baru dalam bentuk bonus awal (selain gaji pokok), atau bonus kinerja akhir tahun 151 atau keduanya. Bonus masuk mulai dari 2.000 di akhir rendah hingga lebih dari 20.000 di akhir yang tinggi (tergantung pada urgensi, pengalaman dan keterampilan sebelumnya). Insentif lainnya termasuk menawarkan liburan tambahan, waktu luang yang lebih pribadi, pelatihan profesional (dengan dana untuk tingkat lanjut), bersamaan dengan jam kerja yang fleksibel. Penitipan anak adalah salah satu fasilitas yang sangat dihargai. Beberapa perusahaan bahkan melaporkan bahwa mereka menyewa mobil untuk manajer senior. Paket manfaat dirancang secara individual, dalam beberapa kasus, sesuai dengan kebutuhan spesifik karyawan. Untuk memberi insentif bergerak. Beberapa pengusaha menawarkan perencana keuangan untuk membantu karyawan dalam persiapan pajak, dibayar oleh perusahaan. Beberapa menawarkan layanan kafetaria gratis. Perks arent terbatas pada raksasa industri pertahanan. Bahkan pengusaha terkecil pun semakin kreatif. Dan agresif. Dalam merancang paket untuk bersaing dan menarik para insinyur terbaik. Yang mengerti bahwa mereka bisa bersaing dengan perusahaan besar bila memiliki talenta yang lebih baik. Relokasi yang didanai oleh perusahaan sama dengan 151 dikurangi pembelian rumah. Sebagian besar pengusaha juga menyediakan uang saku untuk biaya hidup sementara yang didanai perusahaan, mulai dari beberapa bulan sampai enam bulan (dalam beberapa kasus bahkan lebih lama). Banyak termasuk perjalanan berburu rumah untuk pasangan (setelah penerimaan tawaran). Sebenarnya, sejak pertengahan 2007, beberapa perusahaan sekarang menawarkan untuk menemani suami dan isteri dalam wawancara awal, sehingga pasangan tersebut dapat bertemu dengan makelar barang (dan melakukan survei di wilayah tersebut) sementara suami atau istri melakukan wawancara. Perusahaan menggunakan pameran pekerjaan khusus untuk bertemu dengan insinyur berpengalaman dengan kuota ticketquot. Iterasi terbaru adalah job fair secara eksklusif untuk profesional yang bersih, memungkinkan kandidat untuk bertemu dan mengevaluasi banyak perusahaan pertahanan dalam satu hari. Perusahaan yang berpartisipasi membawa anggota staf teknik mereka untuk mendiskusikan produk, teknologi, budaya dan lingkungan. Jika kepentingan bersama ditetapkan, perusahaan menjadwalkan wawancara di tempat. Calon dan karyawan melaporkan keberhasilan besar dalam menghadiri acara perekrutan ini. Masa tunggu ini (enam bulan atau lebih dari tanggal sewa Secret baru, sampai 18 bulan untuk Top Secret) telah memaksa perusahaan untuk mencari cara inovatif lainnya untuk menambahkan insinyur yang telah dibersihkan ke pekerja mereka 151 dengan mempekerjakan orang-orang yang telah memiliki hubungan aktif (Atau bahkan baru-baru ini kedaluwarsa). Ada yang membeli perusahaan yang teknisinya sudah memiliki kelonggaran. Kebutuhan akan karyawan dengan kelonggaran memainkan peran dalam beberapa merger industri pertahanan, termasuk akuisisi General Dynamics 1,2 miliar Veridian. Ketika SRA International membeli Orion Scientific, perolehan perusahaan perangkat lunak tersebut mencakup 85 karyawannya dengan izin keamanan. GD memperluas penggajiannya dengan 7.300 pekerja saat membeli Veridian (sekitar 70 di antaranya dengan kelonggaran) dan juga memperoleh Creative Technology Inc. yang sedang mengerjakan kontrak intelijen. Lebih dari 75 karyawan perusahaan tersebut memegang berbagai tingkat kelonggaran. Perusahaan lain memfokuskan upaya rekrutmen mereka pada personil militer yang memisahkan layanan tersebut. Untuk artikel ini, sembilan perusahaan pertahanan Fortune 500 dihubungi oleh EngineerSalary, dan semua mengatakan bahwa mereka mempekerjakan sedikit insinyur mantan militer, karena kebanyakan adalah pengguna teknologi, bukan perancang. Lima pengusaha mengatakan bahwa mereka mempekerjakan teknisi langsung dari militer. Ini menambah lapisan kesulitan dalam menemukan insinyur yang dibersihkan untuk mengisi peran desain dan pengembangan. Manfaat non-gaji dari sebuah izin: persyaratan tersebut mengunci keluar warga negara asing, dan mencegah posisi dilepas. Bahkan kewarganegaraan ganda akan mendiskualifikasi seseorang dari pertimbangan, menurut DSS. Kelalaian keamanan yang paling umum (perusahaan pertahanan mencari insinyur dengan kelonggaran yang disorot dengan warna merah) adalah: DOE-L (Energi, Rahasia) DOE-Q (Rahasia Teratas) DOJ-NACI (Justice) DOJ-Sensitive DOJ-Secret IRS - MBI (Treasury ) NATO - Kosmik (NATO, Bahan Rahasia) NATO - Rahasia NATO - Rahasia ATOMAL (Rahasia Atom) Rahasia (Departemen Pertahanan) Rahasia Top Secret SBI - TSSBI Top Secret SI - TSSI (Intelijen Khusus) Rahasia Terpopuler CISP - TSCISP Top Secret ISSA - Rahasia Terstruktur SMTP - TSSAP Top Secret SCI - Polygraph CI - TSSCICI Poly Top Secret SCI FullScope Lifestyle - TSSCI Gaya Hidup Poly Top Secret SCI - TSSCI (Informasi Kompartemen Sensitif) Rahasia Top SSBI - TSSSBI (Investigasi Latar Belakang Ruang Lingkup) ENGINEERS IN FEDERAL PEMERINTAH LAYANAN Pemerintah federal telah mengalami kesulitan, di masa lalu, merekrut dan mempertahankan karyawan tekniknya karena sistem klasifikasi gajinya tidak bersaing dengan sektor swasta. Untuk memperbaiki ini, pemerintah federal membentuk sistem tingkat upah khusus untuk pekerjaan profesional atau teknis tertentu, termasuk teknik. QuotSpecialty Pay, quot (seperti sistemnya diketahui), dimaksudkan untuk menutup kesenjangan tingkat gaji antara profesional sektor federal dan swasta. Melakukan hal tersebut membantu pemerintah federal dalam mengatasi rintangan kompensasi perekrutan insinyur dan ilmuwan. Pemerintah federal juga telah mengadopsi sistem quotLocality Payquot. Pekerja federal di daerah dengan biaya tinggi diberi kompensasi dengan tarif lebih tinggi, untuk membawa gaji pegawai sesuai dengan gaji sektor swasta di wilayah yang sama. Misalnya, selama dua tahun terakhir, pegawai federal yang tinggal di Washington, D. C. menerima kenaikan gaji lokal, yang mencapai 5,65. Kompetisi diharapkan untuk banyak posisi Federal, terutama selama masa ketidakpastian ekonomi, ketika para profesional teknis mencari stabilitas pekerjaan Federal. Pada tahun 2009, Pemerintah Federal (tidak termasuk Layanan Pos A. S.) mempekerjakan sekitar dua juta pekerja sipil, menjadikannya negara sebagai satu-satunya majikan terbesar. Karena data tentang pekerjaan untuk agen tertentu tidak dilepaskan karena alasan keamanan nasional, jumlah ini tidak mencakup pekerjaan untuk Badan Intelijen Pusat, Badan Keamanan Nasional, Badan Intelijen Intelijen, dan Badan Pencitraan dan Pemetaan Nasional. KONTRAKTOR PEMERINTAH FEDERAL DALAM TEKNIK Menurut statistik yang dihimpun oleh GSA, kuotasi teknis Angkatan Darat memperoleh rata-rata 108.000 pada TA 2006, sementara insinyur sipil Angkatan Darat menghasilkan rata-rata 65.800 dan personil militer memperoleh rata-rata 67.900 (sumber: Pusat Analisis Biaya dan Ekonomi Angkatan Darat) . Figur kontraktor mencerminkan upah saja. Sementara tokoh sipil dan militer mewakili upah ditambah tunjangan, yang berarti kesenjangan antara gaji rata-rata di sektor publik dan swasta bahkan lebih besar daripada yang ditunjukkan angka-angka ini. Pembatasan dan Hak Cipta: Informasi yang dipublikasikan oleh EngineerSalary dapat ditampilkan dan dicetak hanya untuk penggunaan pribadi dan non-komersial Anda. Informasi, data atau komponen lainnya mungkin tidak dipublikasikan ulang, diproduksi ulang, dicetak ulang, diedarkan, disebarluaskan, diduplikasi atau dijual secara keseluruhan atau sebagian, untuk tujuan komersial atau lainnya. Anda tidak boleh memodifikasi, menyalin, mendistribusikan, mentransmisikan, mereproduksi, menerbitkan, melisensikan, membuat karya turunan dari, mentransfer, atau menjual informasi yang diperoleh dari EngineerSalary About Engineering Gaji Kalkulator Informasi gaji teknik disajikan dengan menggunakan data upah dan kompensasi terbaru yang dikumpulkan dari teknologi. Perusahaan yang berlokasi di seluruh Amerika Serikat, dan menghitung hasil gaji teknik dari lebih dari 330.000 catatan gaji. Banyak kategori kalkulator gaji teknik diperbarui setiap hari karena data kompensasi baru ditambahkan ke database gaji kami. Gaji teknik dilacak untuk lebih dari 400 kota dan wilayah di seluruh Amerika Serikat. Kalkulator gaji teknik memberikan gaji pokok (tunjangan gaji tahunan lebih sedikit, bonus awal, bonus kinerja dan insentif lainnya), dan memungkinkan insinyur, insinyur riset, ilmuwan, manajer teknik dan teknis untuk melakukan survei dan mengevaluasi gaji rata-rata rekan mereka untuk beberapa teknik dan Disiplin teknis - berdasarkan tingkat pengalaman, pendidikan, konsentrasi teknik, lokasi geografis dan variabel lainnya, termasuk Secret clearance atau Top Secret clearance. Data gaji teknik sering berubah (dalam beberapa kasus setiap hari), karena catatan ditambahkan, diperbarui atau kadaluarsa. Survei gaji teknik ini memungkinkan insinyur dan manajer teknik untuk secara akurat melakukan survei dan membandingkan pendapatan mereka dengan profil yang sesuai dari profesional sejenis lainnya di lokasi yang sama, dan digunakan untuk melakukan perbandingan survei gaji untuk berbagai disiplin ilmu dan lokasi yang berbeda. Kalkulator Gaji Teknik terus berubah, menawarkan pengguna survei gaji aktual dan teknis tentang gaji teknik dan teknis di seluruh negara. Gaji teknik EngineerSalary mewakili informasi gaji terbaru dari perusahaan teknologi berbasis Amerika yang mempekerjakan insinyur, ilmuwan dan manajer teknik atau teknis. EngineerSalary adalah negara terkemuka dan paling terpercaya sumber data gaji teknik untuk insinyur yang mengkhususkan diri pada Teknik Aerospace, Teknik Biomedis, Rekayasa Perangkat Lunak, Teknik Kimia, Teknik Sipil, Teknik Komputer, Ilmu Komputer, Teknik Elektro, Teknik Fisika, Teknik Lingkungan, Teknik Industri, Rekayasa Perangkat Keras, Teknik RF, Semikonduktor, Teknik Manufaktur, Ilmu Material, Teknik Material, Teknik Mesin, Teknik Mikroelektronika, Teknik Nuklir, Teknik Optik, Optik dan Fisika. EngineerSalary adalah sumber arus yang akurat untuk melakukan survei gaji terperinci tentang beberapa disiplin teknik dan teknik berdasarkan lokasi - untuk membandingkan gaji kompetitif. Lihat quotHow It Works quot untuk penjelasan rinci dan demografi situs. Gaji teknik dilacak untuk insinyur, ilmuwan, manajer teknik dan teknis di semua tingkat pengalaman di: Aerospace, Automation, Robotics, Automotive, Biotechnology, Business Machines, Capital Equipment, Chemicals, Civil, Composites, Computer, Computer Mainframe, Computer Hardware , Enterprise Server, Komputer amp PC workstation, Komputer Server, Supercomputer, Periferal Komputer, Produk Konsumen, Jaringan, Pertahanan, Elektronika, Energi, Kesehatan Lingkungan amp Keselamatan, Industri Ekstraktif, Makanan, Teknik Forensik, Pemerintah, Digital Imaging, Video, Proses Industri Kontrol, Instrumentasi, Kekayaan Intelektual, Layanan Paten, MesinMesin Tools, Ilmu Material, Manufaktur Tahan Lama, Manufaktur Nondurable, Produk Medis, Logam, Kontrol Gerak, Nanoteknologi, Produk Kertas, Petrokimia, Farmasi, Plastik, Peralatan Pembangkit Listrik, Proses, Distribusi, Logistik , Pengembangan Penelitian amp, RampD, Antena, RF Comp Onents, Microwave, RF High Frequency, VLF, VHF, UHF, SHF, LAN Wireless amp WAN, WiMax, Bluetooth, Semikonduktor, ASIC, FPGA, RFIC, disain perangkat lunak, perangkat lunak pengguna akhir, middleware, multimedia, sistem terbuka, operasi perangkat lunak Sistem, BIOS, Radar, Electronic Warfare, Algoritma, DSP, Digital Signal Processing DSP, desain digital, desain analog, telekomunikasi, C4ISR, C3I, C4I, JTRS, SIGINT, ELINT, CRYPTO, FISNT, kriptanalisis dan COMINT. Gaji teknik dilacak untuk semua negara bagian termasuk: AL ALAMA AK ALASKA AZ ARIZONA AR ARKANSAS CA CALIFORNIA CO COLORADO CT CONNECTICUT DE DELAWARE KABUPATEN DC COLUMBIA FL FLORIDA GA GEORGIA HI HAWAII ID IDAHO IL ILLINOIS DI INDIANA IA IOWA KS KANSAS KY KENTUCKY LA LOUISIANA ME MAINE MD MARYLAND MA MASSELUSETTS MI MICHIGAN MN MINNESOTA MS MISSISSIPPI MO MISSOURI MT MONTANA NE NEBRASKA NV NEVADA NH NEW HAMPSHIRE NJ NEW JERSEY NM NEW MEXICO NY NEW YORK NC NORTH CAROLINA ND UTARA DAKOTA OH OHIO OK OKLAHOMA ATAU OREGON PA PENNSYLVANIA RI RHODE ISLAND SC SELATAN CAROLINA SD SELATAN DAKOTA TN TENNESSEE TX TEXAS UT UTAH VT VERMONT VA VIRGINIA WA WASHINGTON WV VIRGINIA BARAT WI WISCONSIN WY WYOMING. Beberapa data kompensasi teknik untuk negara berpenduduk jarang dapat berasal dari negara bagian atau wilayah tetangga. EngineerSalary secara akurat melacak, membandingkan, survei dan laporan gaji teknik untuk tanggung jawab, jabatan, jabatan dan klasifikasi termasuk: Insinyur, Insinyur Senior, Insinyur Utama, Insinyur Utama, Insinyur Utama, Insinyur Aplikasi, Sales Engineer, Engineer Lapangan, Pemimpin Proyek, Arsitek Produk, Arsitek Sistem, Manajer Program, Manajer Produk, Manajer Lokasi Teknik, Manajer Teknik, Direktur Program Teknik, Direktur Teknik, Direktur Teknik, Chief Technical Officer, CTO, VP, Wakil Presiden Teknik. Software Engineer, Senior Software Engineer, Lead Software Engineer, Arsitek Software, Insinyur Kelistrikan, Engineer Firmware, Insinyur Mekanik, Insinyur Komputer, Insinyur Hardware, Chief Hardware Engineer, Insinyur Biomedis, Insinyur Aerospace, Insinyur Lingkungan, Insinyur RF, Insinyur RF Senior, Kepala Sekolah RF Engineer, RF Designer, RF Engineering Manager, Chemical Engineer dan Manufacturing Engineer. Kalkulator gaji teknik melacak gaji teknik untuk sebagian besar industri berteknologi tinggi di Amerika Serikat. Gaji teknik di luar Amerika Serikat tidak dilaporkan, karena sumber data yang kredibel saat ini tidak tersedia untuk EngineerSalary. Kalkulator Gaji Teknik adalah sumber nasional yang pasti dan terpercaya untuk mendapatkan informasi teknik dan teknikal yang akurat di Amerika Serikat. Dan menyediakan pilihan terluas dan paling komprehensif untuk menentukan secara akurat gaji manajer kontributor dan teknikal yang kompetitif - menggunakan informasi upah dan gaji terbaru yang paling akurat yang diperbarui setiap hari. Data gaji disajikan sebagai jumlah dolar tertentu berdasarkan pilihan variabel pengguna, dihitung secara real-time dari database kami, dan bukan perkiraan rentang. Data gaji teknik kami untuk banyak kota dan wilayah diperbaharui setiap jam, berdasarkan catatan yang ditambahkan ke database. Beberapa perusahaan memerlukan insinyur untuk memiliki keamanan DOD: Secret, Top Secret, Top Secret SCI, Top Secret EBI, Top Secret Poly, Top Secret Full Scope, TSEBI, TSSBI, TSSCI, akses SCI, ISSA Lifestyle Poly, SSBI Teratas, Top Rahasia CISP, Rahasia Top SAP, TSSSBI, Top Secret SCI lingkup penuh poligraf, Top Secret STN TSSTN, DOE Q, DOE L, DOJ-NACI. Kalkulator gaji teknik melacak perbedaan upah untuk insinyur dan manajer teknik dengan Departemen Rahasia Pertahanan dan Rahasia Rahasia yang aktif di semua tingkat pengalaman. Pembersihan rahasia teratas dilaporkan secara kolektif sebagai satu kategori, karena catatan EngineerSalary tidak detail diakses di atas Top Secret. Insinyur dan Manajer Teknik dengan kelonggaran keamanan yang melampaui Top Secret harus menambahkan persentase kecil ke jumlah gaji yang dikembalikan oleh kalkulator gaji. Survei gaji EngineerSalarys adalah alat yang sangat bagus yang dirancang khusus untuk para profesional teknik, yang memungkinkan Anda dengan cepat dan akurat mengevaluasi gaji Anda saat ini terhadap rekan-rekan Anda secara nasional, dan menghasilkan laporan survei gaji pribadi dari sumber gaji terpercaya sejak tahun 2000. Survei gaji membantu insinyur mengidentifikasi , Tetaplah mengikuti dan memahami sepenuhnya tren pasar yang berkaitan dengan gaji dan kompensasi - dan izinkan insinyur untuk meninjau gaji rata-rata yang dibayarkan kepada insinyur lain oleh perusahaan teknologi tinggi yang kompetitif di industri (di berbagai industri dan layanan teknis di seluruh Amerika Serikat. EngineerSalary is Digunakan oleh manajer teknik dan departemen sumber daya manusia secara nasional untuk mensurvei, memahami dan mengembangkan strategi untuk mendapatkan gaji yang kompetitif selama proses perekrutan, dan untuk mengevaluasi bagaimana lokasi mereka, pengalaman bertahun-tahun yang dibutuhkan dan keterampilan teknis yang ditentukan mempengaruhi apa yang mereka perlukan untuk tetap bersaing. EngineerSalary Menawarkan tho Penggunaan pekerjaan teknik terbaru dari perusahaan teknologi tinggi A. S. di seluruh negeri, dan berbagai sumber daya karir lainnya bagi pengguna. Pengguna dapat menyortir dan meninjau pekerjaan menurut kata kunci dan lokasi geografis, dan mengirimkan resume atau CV mereka langsung ke perusahaan perekrutan. Sumber daya karir tersedia untuk membantu kandidat dengan segala aspek pengamanan pekerjaan teknis, termasuk saran karir dan tutorial. Semua pekerjaan rekayasa diperbarui setiap hari, dan menampilkan majikan. Calon kontak dengan perusahaan perekrutan tetap benar-benar rahasia. Kami tidak mendukung iklan kerja buta di EngineerSalary. Kebijakan kami adalah bahwa kandidat harus selalu diijinkan untuk membuat keputusan kerja yang tepat, dan dapat meneliti perusahaan sebelum mengajukan resume. Tidak seperti perekrut, kami merasa kandidat harus tahu terlebih dahulu di mana resume akan pergi (dengan nama perusahaan). Pengungkapan penuh diperlukan di EngineerSalary untuk semua iklan kerja. Bagian Pekerjaan EngineerSalarys oleh negara diperbarui setiap hari, untuk menyajikan banyak pilihan peluang teknik dan teknik terkini yang tersedia dari perusahaan teknik dan teknik berteknologi tinggi di seluruh Amerika Serikat. Perusahaan sektor pertahanan mungkin memerlukan izin Rahasia atau Rahasia Rahasia yang ada untuk pertimbangan kandidat. Penerima GPS buatan sendiri Digambarkan di atas adalah mixer mixer depan dan penguat pertama penerima GPS eksperimental. SMA paling kiri terhubung ke antena komersial dengan filter LNA dan SAW integral. Osilator lokal pertama yang disintesis menggerakkan SMA bagian bawah. Pin header ke kanan adalah input daya dan output IF. Yang terakhir terhubung ke FPGA Xilinx yang tidak hanya melakukan DSP, tapi juga menghosting fraksional-N frequency synthesizer. Lebih lanjut tentang ini nanti. Saya termotivasi untuk merancang receiver ini setelah membaca karya Matjax017E Vidmar, S53MV, yang mengembangkan receiver GPS dari nol, menggunakan komponen yang sangat terpisah, lebih dari 20 tahun yang lalu. Penggunaan DSP-nya mengikuti ADC IF dan ADC 1-bit yang sulit membedakan yang menarik perhatian saya. Penerima yang dijelaskan di sini bekerja berdasarkan prinsip yang sama. ADC 1-bitnya adalah IC 6-pin di dekat pin header, sebuah komparator LVDS-output. Tersembunyi di bawah kebisingan tapi tidak dilenyapkan dalam bi-level quantised bubur yang muncul adalah sinyal dari setiap satelit yang di lihat. Semua satelit GPS mentransmisikan pada frekuensi yang sama, 1575,42 MHz, menggunakan spektrum penyebaran sekuens langsung (DSSS). Pembawa L1 tersebar di atas bandwidth 2 MHz dan kekuatannya di permukaan Bumi adalah -130 dBm. Kekuatan thermal noise pada bandwidth yang sama adalah -111 dBm, jadi sinyal GPS pada antena penerima adalah 20 dB di bawah lantai kebisingan. Bahwa salah satu sinyal yang ada, ditumpangkan satu pada yang lain dan dikubur dalam kebisingan, dapat dipulihkan setelah penguapan tingkat dua nampaknya kontra intuitif, saya menulis sebuah simulasi untuk meyakinkan diri saya sendiri. GPS bergantung pada sifat korelasi urutan pseudo-random yang disebut Kode Emas untuk memisahkan sinyal dari kebisingan dan satu sama lain. Setiap satelit mentransmisikan urutan yang unik. Semua sinyal yang tidak berkorelasi adalah kebisingan, termasuk kesalahan kuantisasi satelit dan hard-limiter lainnya. Mencampur dengan kode yang sama pada fase yang benar de-menyebarkan sinyal yang diinginkan dan selanjutnya menyebarkan hal-hal lain. Sempit-band penyaringan kemudian menghapus suara pita lebar tanpa mempengaruhi (sekali lagi mempersempit) sinyal yang diinginkan. Hard-limiting (1-bit ADC) mendegradasi SNR kurang dari 3 dB, sebuah harga layak bayar untuk menghindari hardware AGC. Update Mei 2013 Sekarang ini receiver GPS 12-channel yang benar-benar portabel, bertenaga baterai, dengan perangkat lunak turnkey, yang mengakuisisi dan melacak satelit, dan terus menghitung ulang posisinya, tanpa campur tangan pengguna. Sistem lengkap (di bawah, kiri) terdiri dari: layar LCD 16x2, komputer model Raspberry Pi A, dua papan sirkuit cetak kustom, antena patch komersial dan baterai Li-Ion. Total konsumsi sistem saat ini adalah 0.4A untuk masa pakai baterai 5 jam. Raspberry Pi didukung melalui kabel pita yang menghubungkan header GPIO-nya ke papan FPGA Frac7 dan tidak memerlukan koneksi lain. Saat ini, Pi menjalankan Raspbian Linux. Sebuah distro yang lebih kecil akan memperpendek waktu untuk memperbaiki terlebih dahulu. Setelah melakukan booting dari SD-Card, perangkat lunak aplikasi GPS dimulai secara otomatis. Saat keluar, ini memberi sarana untuk benar mematikan Pi sebelum mematikannya. Pengembangan perangkat lunak Pi dilakukan tanpa kepala melalui SSH dan FTP melalui dongle USB Wi-Fi. Kode sumber dan dokumentasi dapat ditemukan di bagian bawah halaman ini. Both custom PCBs are simple 2-layer PTH boards with continuous ground planes on the bottom. Going clockwise around the Xilinx Spartan 3 on the Frac7 FPGA board: from 12 oclock to 3 oclock are the loop filter, VCO, power splitter and prescaler of the microwave frequency synthesizer bottom right are the joystick and JTAG connector and, at 6 oclock, a pin header for the Raspberry Pi ribbon cable. Far left is the LCD connector. Near left is a temperature-compensated voltage-controlled crystal oscillator (TCVCXO) providing a stable reference frequency, vital for GPS reception. The TCVCXO is good but not quite up to GPS standard when operating un-boxed in windy locations. Blowing on it displaces the 10.000000 MHz crystal oscillator by around 1 part in 10 million or 1 Hz, which is magnified 150 times by the synthesizer PLL. This is enough to momentarily unlock the satellite tracking loops, if done suddenly. The device is also slightly sensitive to infra-red e. g. from halogen bulbs and TV remotes When first posted in 2011, this was a four-channel receiver, meaning it could only track four satellites simultaneously. At least four are required to solve for user position and receiver clock bias but greater accuracy is possible with more. In that original version, four identical instances of the tracker module filled the FPGA. But most of the flops were only clocked once per millisecond. Now, a custom soft-core CPU inside the FPGA serializes the processing and only 50 of the FPGA fabric is required for an 8-channel receiver or 67 for 12-channels. Number of channels is a parameter in the source and could go higher. Positional accuracy is best when the antenna can see 360deg of sky and receive signals from all directions. Generally, the more satellites in view, the better. Two or more satellites on the same bearing can lead to what is termed bad geometry. The best fix so far was plusmn1 metres at a very open location using 12 satellites but accuracy is typically plusmn5 metres in poorer locations with fewer satellites. September 2014 Update The source code for this project has been re-released under the GNU General Public License (GPL). Architecture Processing is split between FPGA and Pi by complexity and urgency. The Pi handles math-intensive heavy-lifting at its own pace. The FPGA synthesizes the first local oscillator, services high-priority events in real-time and tracks satellites autonomously. The Pi controls the FPGA via an SPI interface. Conveniently, the same SPI is used to load the FPGA configuration bitstream and binary executable code for the embedded CPU. The FPGA can also be controlled via a Xilinx Platform USB JTAG cable from a Windows PC and auto-detects which interface is in use. L1 frequencies are down-converted to a 1st IF of 22.6 MHz by mixing with a 1552.82 MHz local oscillator on the GPS3 front-end board. All subsequent IF and baseband signal processing is done digitally in the FPGA. Two proportional-integral (PI) controllers per satellite, track carrier and code phase. NAV data transmitted by the satellites is collected in FPGA memory. This is uploaded to the Pi, which checks parity and extracts ephemerides from the bit stream. When all required orbital parameters are collected, a snapshot is taken of certain internal FPGA counters, from which time of transmission is computed to plusmn 15ns precision. Much of the 1552.82 MHz synthesizer is implemented in the FPGA. One might expect jitter problems, co-hosting a phase detector with other logic, but it works. Synthesizer output spectral-purity is excellent, even though the FPGA core is toggling away furiously and not all on harmonically-related frequencies. This approach was taken because a board similar to Frac7 already existed from an earlier synthesizer project. Adding a front-end was the shortest route to a prototype receiver. But that first version was not portable: it had inconvenient power requirements and no on-board frequency standard. Signal processing up to and including the hard-limiter: The LMH7220 comparator has a maximum input offset voltage of 9.5mV. Amplified thermal noise must comfortably exceed this to keep it toggling. Weak GPS signals only influence the comparator near zero crossings They are sampled by the noise To estimate noise level at the comparator input we tabulate gains, insertion losses and noise figures: In-band noise at the mixer output is -1740.828-1.5-3.920-610log10(2.5e6) -73 dBm or 52microV RMS. The mixer is resistively terminated in 50-ohms and the stages thereafter work at higher impedance. The discrete IF strip has an overall voltage gain of 1000 so the comparator input level is 52mV RMS. The LMH7220 adds 59 dB of gain making a total of 119 dB for the whole IF. Deploying so much gain at one frequency was a risk. To minimise it, balanced circuitry over a solid ground plane was used and screened twisted-pair carries the output to the FPGA. The motivation was simplicity, avoiding a second conversion. In practice, the circuit is stable, so the gamble paid-off. Active decoupler Q1 supplies 5V for the remote LNA. MMIC amplifier U2 provides 20 dB gain (not at IF) and ensures low overall system noise figure, even if long antenna cables are used. L1 and L2 are hand-wound microwave chokes with very high self-resonant frequency, mounted perpendicular to one another and clear of the ground plane. Wind 14 turns, air-cored, 1mm inside diameter from 7cm lengths of 32swg enamelled copper wire. Checked with the tracking generator on a Marconi 2383 SA, these were good to 4 GHz. The Mini-Circuits MBA-15L DBM was chosen for its low 6 dB conversion loss at 1.5 GHz and low 4 dBm LO drive requirement. R9 terminates the IF port. Three fully-differential IF amplifier stages follow the mixer. Low-Q parallel tuned circuits strung between collectors set the -3 dB bandwidth around 2.5 MHz and prevent build-up of DC offsets. L4, L5 and L6 are screened Toko 7mm coils. The BFS17 was chosen for its high (but not too high) 1 GHz f T . I e is 2mA for lowest noise and reasonable betar e . The 22.6 MHz 1st IF is digitally down-converted to 2.6 MHz by under-sampling at 10 MHz in the FPGA. 2.6 MHz lies close to the centre of the 5 MHz Nyquist bandwidth. It is best to avoid the exact centre, for reasons that will be explained later. Several other first IF frequencies are possible: 27.5 MHz, which produces spectrum inversion at the 2nd IF, has also been tried successfully. There is a trade-off between image problems at lower and available BFS17 gain at higher frequencies. Signal detection entails resolving three unknowns: what satellites are in view, their Doppler shifts and code phases. A sequential search of this three-dimensional space from a so-called cold start could take many minutes. A warm start using almanac data to predict positions and velocities still requires a code search. All 1023 code phases must be tested to find the maximum correlation peak. Calculating 1023 correlation integrals in the time-domain is very expensive and redundant. This GPS receiver uses an FFT-based algorithm that tests all code phases in parallel. From cold, it takes 2.5 seconds on a 1.7 GHz Pentium to measure signal strength, Doppler shift and code phase of every visible satellite. The Raspberry Pi is somewhat slower. With over-bar denoting conjugation, the cross-correlation function y(Tau) of complex signal s(t) and code c(t) shifted by offset Tau is: The Correlation Theorem states that the Fourier transform of a correlation integral is equal to the product of the complex conjugate of the Fourier transform of the first function and the Fourier transform of the second function: FFT(y) CONJUGATE(FFT(s)) FFT(c) Correlation is performed at baseband. The 1.023 Mbps CA code is 1023 chips or 1ms long. Forward FFT length must be a multiple of this. Sampling at 10 MHz for 4 ms results in an FFT bin size of 250 Hz. 41 Doppler shifts must be tested by rotating the frequency domain data, one bin at a time, up to plusmn20 bins plusmn5 KHz. Rotation can be applied to either function. The 22.6 MHz 1st IF from the 1-bit ADC is under-sampled by a 10 MHz clock in the FPGA, digitally down-converting it to a 2nd IF of 2.6 MHz. In software, the 2nd IF is down-converted to complex baseband (IQ) using quadrature local oscillators. For bi-level signals, the mixers are simple XOR gates. Although not shown above, the samples are temporarily buffered in FPGA memory. The Pi is not able to accept them at 10 Mbps. 1.023 Mbps and 2.6 MHz are generated by numerically-controlled-oscillator (NCO) phase accumulators. These frequencies are quite large compared to the sampling rate, and are not exact sub-harmonics of it. Consequently, the NCOs have fractional spurs. The number of samples per code chip dithers between 9 and 10. Fortunately, DSSS receivers are tolerant of narrow-band interferers, external or self-generated. Complex baseband is transformed to the frequency domain by a forward FFT which need only be computed once. An FFT of each satellites CA code is pre-computed. Processing time is dominated by the inner-most loop which performs shifting, conjugation, complex multiplication and one inverse-FFT per satellite-Doppler test. The Raspberry Pis Videocore GPU could be leveraged to speed things up. At 10 MHz sampling rate, code phase is resolved to the nearest 100ns. Typical CCF output is illustrated below: Calculating peak to average power over this data gives a good estimate of SNR and is used to find the strongest signals. The following were received at 20:14 GMT on 4 March 2011 in Cambridge, UK with the antenna on an outside North-facing window ledge: From northern latitudes, more GPS satellites will generally be found in the southern sky i. e. towards the equator. Taking longer samples increases SNR, revealing weaker signals but cancellation occurs when the capture spans NAV data transitions. Forward FFT length is an integral number of milliseconds however, the inverse FFT can be shortened, simply by throwing away data in higher frequency bins. SNR is preserved but code phase is not so sharply resolved. Nevertheless, a good estimate of peak position is obtained by weighted averaging the two strongest adjacent bins and off-air tests suggest this could work even down to quite short inverse FFT lengths. Having detected a signal, the next step is locking on, tracking it and demodulating the 50 bps NAV data. This requires two inter-dependent phase locked loops (PLLs) to track code and carrier phase. These PLLs must operate in real-time and are implemented as DSP functions in the FPGA. Pi software has a supervisory role: deciding which satellites to track, monitoring the lock status and processing the received NAV data. The tracking loops are good at maintaining lock, because they have very narrow bandwidths however, this same characteristic makes them poor at acquiring lock without help. They cannot see beyond loop bandwidth to capture anything further away. Initial phases and frequencies must be preset to the measured code phase and Doppler shift of the target satellite. This is orchestrated under Pi control. The loops should be in-lock from the outset and remain so. Code phase is measured relative to the FFT sample. The code NCO in the FPGA is reset at the start of sampling and accumulates phase at a fixed 1.023 MHz. It is later aligned with the received code by briefly pausing the phase accumulator. Doppler shift on the 1575.42 MHz carrier is plusmn5 KHz or plusmn3 ppm. It also affects the 1.023 Mbps code rate by plusmn3 chips per second. The length of the pause is adjusted for code creep in the time since the sample was taken. Fortunately, code Doppler is proportional to carrier Doppler for which we have a good estimate. Hardware software split In the diagram below, colour-coding shows how the implementation of the tracking DSP is now split between hardware and software. Previously, this was all done in hardware, with identical parallel instances repeated for each channel, making inefficient use of FPGA resources. Now, the slower 1 KHz processing is done by software, and twice as many channels can be accommodated in half the FPGA real-estate. The six integrate-and-dump accumulators (Sigma) are latched into a shift register on the code epoch. A service request flag signals the CPU, which reads the data bit-serially. With 8 channels active, 8 of CPU time is spent executing the oprdBit instruction But there is plenty of time, and serial IO uses FPGA fabric economically. Luxuries like RSSI and IQ logging (e. g. for scatter plots) can now be afforded. The F(z) loop filter transfer functions swallow 2 of CPU bandwidth per active channel. These are standard proportional-integral (PI) controllers: 64-bit precision is used and gain coefficients KI and KP, although restricted to powers of 2, are dynamically adjustable. Each channel having to wait its turn, NCO rate-updates can be delayed by tens or hundreds of microseconds after a code epoch but this introduces negligible phase shift at frequencies where phase margin is determined. Thin traces are 1-bit, notionally representing plusmn1. The 2.6 MHz carrier is first de-spread by mixing with early, late and punctual codes. I and Q complex baseband products from the second rank of XOR gate mixers are summed over 10000 samples or 1ms. This low-pass filtering dramatically reduces noise bandwidth and thereby raises SNR. Downsampling to 1 KHz necessitates wider onward data paths in the software domain. Code phase is tracked using a conventional delay-locked loop or early-late gate. Power in the early and late channels is calculated using P I 2 Q 2 which is insensitive to phase. Early and late codes are one chip apart i. e. frac12 chip ahead-of and behind punctual. This diagram helps to get the error sense correct: A Costas Loop is used for carrier tracking and NAV data recovery in the punctual channel. NAV data, m, is taken from the I-arm sign bit with 180deg phase uncertainty. k is received signal amplitude and theta is phase difference between received carrier (sans modulation) and the local NCO. k varies from around 400 for the weakest recoverable signals up to over 2000 for the strongest. Notice how the error term fed back to the F(z) plant controller in the Costas Loop is proportional to received signal power ksup2. Tracking slope, and therefore loop gain, also vary with signal power in the code loop. Below is a Bode plot of open-loop gain for the Costas Loop at k500: Costas Loop bandwidth is around 20 Hz, which is about optimal for carrier tracking. Code loop bandwidth is 1 Hz. Noise power in such bandwidths is small and the loops can track very weak signals. The above kI and kP work for most signals, but need dropping one notch for the very strongest. Scilab predicts, and scatter plots confirm, the onset of instability at kge1500. Parity errors do not occur unless samples stray into the opposite half of the IQ plane. (i) Instability at kge1500 The above are 2 consecutive frames of 5 subframes each. Subframes are 300-bits long and take 6 seconds to transmit. Column 1 is the preamble 10001011. This appears at the start of every subframe but can occur anywhere in the data. The 17-bit counter in column 5 is time-of-week (TOW) and resets to zero at midnight Sunday. The 3-bit counter in column 7 is the subframe ID 1 through 5. Subframes 4 and 5 are subcommutated into 25 pages each and a complete data message comprising 25 full frames takes 12.5 minutes to transmit. I am only using data in subframes 1, 2 and 3 at present. Solving for user position Every GPS satellite transmits its position and the time. Subtracting time sent from time received and multiplying by the speed of light is how a receiver measures distance between itself and the satellites. Doing so with three satellites would yield three simultaneous equations in three unknowns (user position: x, y, z) if the precise time was available. In practice, receiver clocks are not accurate enough, the exact time is a fourth unknown, four satellites are therefore required and four simultaneous equations must be solved: An iterative method is used because the equations are non-linear. Using earths centre (0, 0, 0) and the approximate time as a starting point, the algorithm converges in only five or six iterations. The solution is found even if user clock error is large. The satellites carry atomic clocks but these too have errors and correction coefficients in subframe 1 must be applied to the time of transmission. Typical adjustments can be hundreds of microseconds. The uncorrected time of transmission is formed by scaling and adding several counters. Time-of-week (TOW) in seconds since midnight Sunday is sent every subframe. Data edges mark out 20ms intervals within 300-bit subframes. The code repeats 20 times per data bit. Code length is 1023 chips and chip rate is 1.023 Mbps. Finally, the 6 most significant bits of the code NCO phase are appended, fixing time of transmission to plusmn 15ns. Satellite positions at the corrected transmission time are calculated using ephemeris in subframes 2 and 3. Orbital position at a reference time toe (time of ephemeris) is provided along with parameters allowing (x, y,z) position to be calculated up to a few hours before or after. Ephemerides are regularly updated and satellites only transmit their own. Long term orbits of the entire constellation can be predicted less accurately using Almanac data in subframes 4 and 5 however, this is not essential if a fast FFT-based search is used. Solutions are computed in earth-centred, earth-fixed (ECEF) coordinates. User location is converted to latitude, longitude and altitude with a correction for eccentricity of the earth, which bulges at the equator. The scatter diagrams below illustrate repeatability, the benefit of averaging and the effect of poor satellite choices. Grid squares are 0.001deg on each side. Blue dots mark 1000 fixes. Yellow triangles mark the centres of gravity: (i) North-facing window ledge (ii) Rooftop antenna (iii) East-facing window ledge The tight cluster (ii) was obtained using satellites in four different quarters of the sky. Only the rooftop antenna had a clear view in all directions. But good fixes were obtained by averaging, even when half the sky was obscured. Rooftop fixes also exhibit spreading like (i) and (iii) if the wrong satellites are chosen. The above solutions were generated without compensating for ionospheric propagation delays using parameters in page 18 of subframe 4 which should be applied because this is a single frequency receiver. Ionospheric refraction increases path lengths between users and satellites. In April 2012, I fixed a bug that caused significant errors in user-position solutions. Originally, by not transforming satellite positions from earth-centred-earth-fixed (ECEF) to earth-centred-inertial (ECI) coordinates, I was effectively ignoring Earths rotation during the 60 to 80 ms that signals were in flight. I am now seeing positional solution accuracies of plusmn 5 metres after averaging, even with limited satellite visibility. Ive created an appendix showing how the iterative solution is developed, starting from a geometric range equation, which is linearised using a Taylor Series expansion, and solved by matrix methods, for the special case of four satellites or the general case of more, with the option of using weighted least-squares to control the influence of particular satellites. Youll find this and solution C source code in the links at the bottom of the page. Im grateful to Dan Doberstein for sending me an early draft of his GPS book 2 which helped me understand the solution algorithm. The official US government GPS Interface Specification 3 is an essential reference. Signal monitor The above circuit arrangement, mostly implemented in FPGA, de-spreads by taking the product of the 1-bit IF and punctual code, leaving 50 bps data modulation. A small notch due to BPSK carrier suppression can just be seen: These spectra show the same de-spread transmission at different spans and resolution bandwidths (RBW). Doppler shift was -1.2 KHz. The noise floor is antenna thermal noise amplified and filtered by the IF strip. -3 dB bandwidth looks around 3 MHz, slightly wider than planned. The de-spread carrier is 5 dB above noise at 30 KHz RBW and 25 dB above at 300 Hz RBW. Received signal strength at the antenna can be estimated as -174110log10(30e3)5 -123 dBm. It still amazes me how well frequency domain information is preserved through hard-limiting The LVDS transmitter has a constant output current of 1mW in 100 ohms. Peak power seen at the SA cannot exceed 0 dBm. Here, we see this available power spread across a range of frequencies. Wideband integrated power spectral density must be First local oscillator Ive been building experimental fractional-N synthesizers using general-purpose programmable logic for several years: Xilinx Spartan 3 FPGA Frac7 was built for this purpose but I had no idea Frac5 would be used in a GPS receiver when I originally designed it. The photo below shows how the ROS-1455 VCO output on Frac5 was resistively split between the output SMA and a Hittite HMC363 divide-by-8 prescaler. The 200 MHz divider output is routed (differentially) into the FPGA which phase locks it to a master reference using methods documented in my earlier projects. Microwave circuity on Frac7 is similar but uses a Mini-Circuits 3dB splitter. High stability and low phase noise are achieved, as can be seen in the VCO output spectra shown below. When Frac5 was originally developed, as a dedicated frequency synthesizer, simultaneous toggling on frequencies not harmonically related was avoided to minimise intermodulation spurs. The FPGA was static when clock pulses that toggled phase detector output crossed the fabric. No such luxury is practical when the FPGA is hosting a GPS receiver however, fortunately, the local oscillator output is good enough: The Marconi 2383 spectrum analysers 50 MHz STD OUTPUT was used as the master reference source for Frac5 and all internal GPS receiver clocks. GPS receivers need accuracies better than 1 ppm (parts per million) to measure plusmn5 KHz Doppler shifts on the 1575.42 MHz L1 carrier. Any frequency uncertainty would necessitate a wider search range. Embedded CPU My original GPS receiver could only track 4 satellites. The available fabric was not used efficiently and the FPGA was full. Identical logic was replicated for each channel and only clock-enabled at the 1 KHz code epoch. GPS update rates are quite un-demanding and most of the parallel processing can easily be done sequentially. Embedding a CPU for this task has both increased the number of channels and freed space in the FPGA. This CPU directly executes FORTH primitives as native instructions. Visitors to my Mark 1 FORTH Computer page will already be aware of my interest in the language. FORTH is not mainstream and its use here might be an esoteric barrier however, I could not resist doing another FORTH CPU, this time in FPGA, after seeing the excellent J1 project, which was an inspiration. FORTH is a stack-based language, which basically means the CPU has stacks instead of general purpose registers. Wikipedia has a good overview. FPGA resources: 360 slices 2 BRAMs Single-cycle instruction execution FORTH-like, dual-stack architecture 32-bit stack and ALU data paths 64-bit double-precision operations Hardware multiplier 2k byte (expandable to 4k byte) code and data RAM Macro assembler code development Memory and IO Two BRAMs are used: one for main memory, the other for stacks. Xilinx block RAM is dual ported, allowing one instance to host both data and return stacks. Each stack pointer ranges over half of the array. Dual porting of the main memory permits data access concurrent with instruction fetch. One memory port is addressed by the program counter, the other by T, the top of stack. Writes to the PC-addressed port are also used for code download, the program counter providing incrementing addresses. Code and data share the main memory, which is organised as 1024 (expandable to 2048) 16-bit words. Memory accesses can be 16-, 32- or 64-bits, word-aligned. All instructions are 16-bit. Total code plus data size of the GPS application is less than 750 words, despite all loops being unrolled. IO is not memory-mapped, occupying its own 36 bit-select space (12 in 12 out 12 events). One-hot encoding is used to simplify select decoding. IO operations are variously 1-bit serial, 16- or 32-bit parallel. Serial data shifts 1 bit per clock cycle. Events are used mainly as hardware strobes and differ from writes by not popping the stack. Instruction format 24 instructions out of a possible 32 are currently allocated in the opcode space h80XX - h9FXX. These are mostly zero-operand stack ALU operations. The ret option, which performs return from subroutine, executes in parallel, in the same cycle. Add-immediate is the only one-operand instruction. A carry-in option extends (stack, implied) addition precision. hF0000 - hFFFF is spare. Stack and ALU data paths are 32-bit however, 16-, 32- and 64-bit operations are supported. 64-bit values occupy two places on the stack, with least significant bits on top. Top of stack, T, and next on stack, N, are registered outside the BRAM for efficiency. Apart from the 64-bit left shift (opshl64) which is hard-wired for single-cycle execution, all other double precision functions are software subroutines. Assembly language The GPS embedded binary was created using Microsofts Macro Assembler MASM. This only supports x86 mnemonics but opcodes are declared using equ and code is assembled using dw directives. MASM not only provides label resolution, macro expansion and expression evaluation but even data structures The MASM dup() operator is used extensively to unroll loops e. g. dw N dup(opcall dest) calls a subroutine N times. This fragment gives some flavour of source style. Stack-effect is commented on every line: opfetch16 and opstore16 are primitives. opstore32 and opstore64 are subroutines or compound instructions usable as if they were primitives. T is actually 15:0,31:16 after opswap16 . but we dont care about the upper 16-bits here. opstore16 leaves the address stack depth can only change plusmn1 per cycle. Purists might prefer: dw N addi Host serial interfaces The FPGA can be controlled via SPI by the Raspberry Pi, or by a Windows PC using a Xilinx Platform USB JTAG cable. There are two levels of request priority: Send new command and poll for response to previous New code images are copied to main memory via a third BRAM which bridges the CPU and serial clock domains. Thus downloaded, binary images execute automatically. Host commands are captured in the bridge BRAM and the CPU is signalled to action them. Its responses are collected by the host from the bridge on the next scan. The top-level main loop polls for host service requests. The first word of any host message is a command code. Requests are dispatched through the Commands jump table: optor moves vector to the return stack. Some host requests (e. g. CmdGetSamples) elicit lengthy responses. Data ports on the CPU side of the bridge are 16-bit. The CPU can read and write these via the data stack however, more direct paths exist for uploading main memory and GPS IF samples. The instruction opwrEvt GETMEMORY transfers a memory word directly to the bridge, using T as an auto-incrementing pointer. GETMEMORY is the only event which has stack effect. The instruction opwrEvt GETSAMPLES transfers 16 bits from the IF sampler: Unrolling loops at assembly time with dup() trades code size for performance, avoiding a decrement-test-branch hit and the entire application binary is still tiny however, long loops must be nested, as illustrated above. CHANNEL data structure An array of structures holds state variables and buffered NAV data for the channels. MASM has excellent support for data structures. Field offsets are automatically defined as constants and the sizeof operator is useful. The epoch service routine (labelled Method: ) is called with a pointer to a CHANNEL structure on the stack. Affecting OO-airs, stack-effect comments refer to it as this throughout the routine. A copy is conveniently kept on the return stack for accessing structure members like so: The Chans array is regularly uploaded to the host. Raspberry Pi application software The Raspberry Pi software is multi-tasked using what are variously known as coroutines, continuations, user-mode or light-weight threads. These co-operatively yield control, in round-robin fashion, using the C library setjmplongjmp non-local goto, avoiding the cost of a kernel context-switch: Up to 16 threads can be active:
No comments:
Post a Comment