Pemrograman dan simulasi antarmuka SPI berdasarkan Proteus

2020-07-31 12:25:04 72

Saat ini, ada perangkat tertanam di setiap sudut kehidupan orang, seperti DVD, ponsel, MP3, dan komputer genggam. Perangkat tertanam ini sebagian besar menggunakan prosesor tertanam RISC 32-bit sebagai komponen intinya. Di antara mereka, prosesor tertanam berdasarkan inti ARM mendominasi, menempati lebih dari 75% pangsa pasar dalam prosesor RISC 32-bit. Akibatnya, semakin banyak penggemar elektronik telah bergabung dengan jajaran belajar ARM. Dengan membandingkan dengan proses pengembangan sistem chip tunggal umum, tidak sulit untuk menemukan bahwa desain embedded system mencakup desain perangkat keras dan desain perangkat lunak.Proses debugging meliputi debugging perangkat lunak, pengujian perangkat keras, dan debugging sistem. Perangkat lunak debug umumnya lebih mudah untuk dilakukan, tetapi pengujian perangkat keras dan sistem debug lebih sulit, karena dua proses ini harus dilakukan setelah produksi PCB dan penyolderan komponen selesai; Produksi PCB dan penyolderan komponen sangat memakan waktu dan melelahkan Ya, jika alat simulasi ProteuS VSM dapat digunakan, pekerjaan di atas dapat dilakukan tanpa membuat papan sirkuit khusus. Tidak ada keraguan bahwa ini dapat membawa kenyamanan bagi mayoritas pelajar ARM.

1. Menulis kode program

Penulisan kode program terutama dibagi menjadi 4 bagian:

① Kode inisialisasi LPC2106;

②LPC2106 entri vektor pengecualian dan antarmuka antara vektor pengecualian dan kode bahasa C, termasuk kode untuk menginisialisasi tumpukan;

③ kode khusus papan target LPC2106, termasuk program penanganan pengecualian dan program inisialisasi papan target;

④ Tulis kode yang mewujudkan fungsi yang diharapkan sesuai dengan persyaratan contoh dan dikombinasikan dengan diagram skematik, yaitu kode eksekusi yang biasa, dan file kode disimpan sebagai "main.C".

Secara umum, untuk menghemat waktu pengembangan, templat proyek yang dirancang umumnya digunakan, dan templat proyek seri LPC2100 digunakan di sini. Templat berisi file startup mikrokontroler ARM7 seri LPC2100, termasuk STACK.S, HEAP.S, STARTUP.S dan TARGET.C; templat juga berisi file header mikrokontroler LPC2100 seri ARM7, file deskripsi sebaran pemuatan (seperti mem_a .scf, mem_b.scf dan mem_c.scf) dan seterusnya. Dengan cara ini, template proyek ini dapat digunakan secara langsung ketika menulis kode program di masa depan, alih-alih menulis kode program awal dan startup, cukup tulis "main.C" sesuai dengan persyaratan yang berbeda, yang menghemat banyak waktu dan sangat Tingkatkan efisiensi kerja.

    Di sini kita terutama menjelaskan penulisan "main.C". Fungsi yang harus direalisasikan adalah menggunakan antarmuka SPI perangkat keras untuk menampilkan data dari 0 ke F, mengontrol tabung digital LED untuk menampilkan 0 hingga karakter F melalui 74HC595, dan mengontrol 4 LED untuk menampilkan heksadesimal yang sesuai Nomor sistem. Kode sumber program adalah sebagai berikut:



2. Imitasi

    Gunakan lingkungan pengembangan terintegrasi ADS untuk mengkompilasi dan menghubungkan program. Lingkungan pengembangan terintegrasi ADS adalah alat pengembangan terintegrasi untuk mikrokontroler inti ARM yang diluncurkan oleh ARM. Bahasa Inggris lengkapnya adalah ARM Developer Suite, dan versi dewasa adalah ADS1.2. ADS1.2 mendukung semua mikrokontroler seri ARM sebelum ARM10, mendukung debugging perangkat lunak, mendukung perakitan, program sumber C dan C ++, dan memiliki karakteristik efisiensi kompilasi tinggi dan fungsi pustaka sistem yang kuat. Buka lingkungan pengembangan terintegrasi ADS1.2 IDE CodeWarrior, gunakan templat proyek yang ditambahkan sebelumnya untuk membuat spi.mcp proyek baru, dan tambahkan file kode main.c yang dikompilasi di atas ke dalam proyek. Setelah membuat pengaturan yang relevan, pilih Projeet → Buat perintah, kompilasi dan hubungkan proyek, dan hasilkan file spi.hex.

    Klik dua kali mikrokontroler LPC2106 dalam skema, jendela pengaturan properti Edit Komponen muncul, seperti yang ditunjukkan pada Gambar 2. Tambahkan path file spi.hex yang dihasilkan di atas dalam ProgramFile, dan klik OK untuk menyelesaikan pengaturan.



Kesimpulan

    Artikel ini menjelaskan aplikasi ProteuS dalam pengembangan ARM secara rinci dengan percobaan antarmuka SPI sederhana. Dapat dilihat bahwa Proteus sangat kuat, dapat mensimulasikan berbagai sirkuit digital dan analog, dan mudah dioperasikan dan mudah digunakan. Menggunakan Proteus untuk pengembangan virtual ARM tidak hanya dapat mengurangi investasi modal perangkat keras eksperimental, tetapi juga menerobos keterbatasan konten eksperimental di papan pengembangan aktual, yang memungkinkan pengembang untuk memberikan permainan penuh atas inisiatif mereka sendiri. Menggunakan simulasi Pro-teus untuk melakukan produksi aktual setelah pengembangan virtual sistem yang berhasil tidak diragukan lagi dapat meningkatkan efisiensi pengembangan, mengurangi biaya pengembangan, dan meningkatkan kecepatan pengembangan, yang memiliki nilai promosi dan aplikasi yang lebih tinggi.