Berbagai chip mikrokontroler LPC memiliki mode boot yang menerima komunikasi serial dan menulis program yang diterima ke Flash. Saya ingin membuat PCB dengan dan LPC1114 yang harus diprogram dalam sirkuit, dengan hanya sedikit antarmuka antarmuka pada PCB. Apakah ada konektor standar untuk memasok sinyal yang diperlukan (GND, RxD, TxD, Reset, BootModeEnable)?
microcontroller
lpc
icsp
in-circuit
Wouter van Ooijen
sumber
sumber
Jawaban:
Saya menggunakan papan USB to UART Sparkfun. Saya mengeluarkan UART0, mengatur ulang dan isp ke header. Saya menghubungkan reset dan isp ke ground dengan jumper, kemudian gunakan FlashMagic. Ini hanya berfungsi dengan baik jika saya juga menyalakan perangkat dari USB, jadi alasannya umum.
Papan Sparkfun:
https://www.sparkfun.com/products/718
sumber
Jika Anda memasang konektor agar kompatibel dengan versi header dari kabel serial USB FTDI tegangan rendah, Anda memiliki opsi untuk tidak perlu membuat kontrak untuk pembuatan kabel khusus.
Anda dapat mengusir mode boot dari baris status dan memasangkan ulang ke yang dengan topi (pikir saya mungkin menggunakan transistor sebagai inverter ketika saya melakukan ini dengan bagian ST). Kemudian membatalkan pilihan dan memilih kembali mode boot akan mengatur ulang chip dan menyiapkannya untuk diunduh.
sumber
Karena tampaknya tidak ada standar, saya membuat pilihan sendiri: pin header 2x4 sudut kanan untuk papan target, dan konektor perempuan untuk papan 'programmer'. Programmer memiliki FT232RL atau sejenisnya, sebuah regulator 5V-> 3.3V, dan sebuah saklar untuk menonaktifkan daya ke papan target (diperlukan untuk memaksa chip target ke mode pemrograman ketika pin reset telah dirancang ulang sebagai GPIO).
pinout konektor
diagram sirkuit programmer ('dongle')
Programmer dengan papan target LPC1114 berpenduduk minimal.
Saya menggunakan lpc21isp sebagai alat pemrograman pada PC (open source, mudah dikompilasi untuk Windows atau Linux), tetapi saya harus menambahkan satu baris ke kode karena cara memulai aplikasi setelah mengunduh (lompat ke awal kode) tidak bekerja untuk Cortex.
sumber
Saya tidak bekerja dengan LPC1114 sebelumnya tetapi lihat alamat di bawah ini. Di sebelah kiri, Anda akan melihat tautan ke file skematik ...
http://www.keil.com/mcb1000/
sumber
Saya benar-benar membangun sesuatu dengan mikro yang sama. Saya baru saja mengambil salah satu dari ini: http://ics.nxp.com/lpcxpresso/ seharga ~ $ 20 dari digikey, memotong sisi "target" papan, dan memasang konektor khusus pada sisi "tautan LPC" untuk bekerja dengan tajuk pemrograman saya. Lingkungan yang dibuat CodeRed menyebalkan karena berbasiskan Eclipse (saya benci Eclipse) tetapi ia bekerja di Windows, Linux, dan mungkin Mac. Mereka memiliki instruksi untuk semua program baris perintah untuk bekerja dengan antarmuka LPC Link.
Saya memiliki lingkungan yang diatur di linux untuk menjalankan
make dl
dan akan menginisialisasi tautan, memprogramnya, dan mengaktifkan bit keamanan, semua melalui USB dan koneksi SWD ke LCP1114. Bahkan dapat digunakan untuk debug asalkan Anda tidak menggunakan kembali salah satu sinyal SWD.Ini bukan serial seperti yang Anda cari, tetapi bekerja seperti pesona.
sumber
Jika Anda ingin pemrograman serial dengan konektor standar (artinya RS232) mengapa Anda tidak mengimplementasikan UART normal (MAX3232 atau apalah) dengan koneksi DB9 jantan standar di sisi LPC? Daripada Anda hanya menggunakan kabel DB9 extender (pria ke wanita) ke PC (atau menggunakan kabel serial ke usb jika PC Anda tidak memiliki port serial). Bagaimanapun, letakkan DB9 betina di papan PLC Anda, dan Anda tidak pernah harus membuat kabel serial :-). Jangan lupa untuk memasang pin dengan benar, kabel extender lurus (1-1, 2-2, ... 9-9).
Jika ruang di papan adalah masalah (tidak cukup ruang untuk DB9) maka Anda dapat memberikan header 2 x 5 pin saja.
Tentu saja, Anda juga bisa menggunakan pemindah level MAX3232 cadangan untuk memaksa papan Anda ke mode reset / boot seperti yang saya lakukan pada papan berbasis NXP / AT89C51Rx2 saya juga menggunakan Flashmagic. Prinsip yang sama, Falshmagic mengambil kendali atas entri booting melalui jalur serial.
Semua yang dikatakan, saya akan pergi dengan SWD / JTAG dan memiliki debugging yang saya inginkan.
sumber