Apakah ada konektor pemrograman In Circuit standar untuk chip LPC?


8

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)?


2
Ada konektor standar untuk JTAG dan SWD, tetapi tidak ada konektor standar untuk pemuatan program melalui koneksi serial.
Leon Heller

Karena kurangnya standar, apakah ada beberapa konektor yang sering digunakan? Atau bahkan satu papan yang memiliki konektor seperti itu ??
Wouter van Ooijen

Cukup gunakan tajuk dengan tiga pin - Gnd, Tx dan Rx.
Leon Heller

Untuk 'lepas tangan' diperlukan satu atau dua pin tambahan: reset dan BootModeEnable (dapat digabungkan dengan mengorbankan beberapa sirkuit tambahan).
Wouter van Ooijen

Jawaban:


3

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


Anda tidak perlu mengambil daya dari usb untuk membangun landasan bersama, itu sudah cukup untuk menyatukannya.
Chris Stratton

1

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.


Saya mempertimbangkan pendekatan itu, tetapi saya lebih suka berpegang pada pendekatan dua garis handshake-standar yang kurang lebih. Itu membuat opsi terbuka untuk memerintahkan reset non-bootload, dan menyimpan beberapa komponen pada papan target.
Wouter van Ooijen

1

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).

masukkan deskripsi gambar di sini pinout konektor

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini diagram sirkuit programmer ('dongle') masukkan deskripsi gambar di sini

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.


0

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/


Papan ini memiliki perangkat keras antarmuka serial (dalam hal ini: chip max232, tetapi bisa berupa FT232RL atau yang lainnya) pada PCB, jadi tidak ada konektor yang membawa sinyal yang ingin saya antarmuka.
Wouter van Ooijen

Di halaman kedua, ada antarmuka JTAG. Anda harus menggunakan adaptor JTAG di sisi PC, tetapi di PCB, tidak ada perangkat keras tambahan seperti RS232 ...
Malkocoglu

Saya ingin menggunakan antarmuka serial, bukan JTAG. Terlalu rumit, terlalu banyak jalur sinyal.
Wouter van Ooijen

SWD hanya membutuhkan dua atau tiga sinyal. Anda mendapatkan debugging, yang sangat berguna.
Leon Heller

2
Benar, tetapi dengan biaya antarmuka yang lebih kompleks di sisi PC. (Dan saya jarang menggunakan debugger, bahkan jika saya punya satu tersedia)
Wouter van Ooijen

0

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 dldan 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.


1
Saya tahu lpcexpresso, saya punya 1114, 1343, 1769 dan alas tiang. Barang-barang bagus (walaupun saya membuang IDE dan tautan LPC dengan jijik), tetapi tidak cocok untuk apa yang saya inginkan. PCB saya akan berukuran 20 x 50 mm.
Wouter van Ooijen

@WoutervanOoijen, saya menggunakan vim dan mengatur semua alat untuk dijalankan melalui baris perintah. Papan saya sedikit lebih besar tetapi harus berfungsi sama. Di masa lalu ketika saya telah melakukan proyek-proyek kecil seperti itu saya membuat pin pemrograman keluar ke bantalan largish, dan kemudian memasang jig kustom untuk menghubungkan mereka melalui pin dimuat musim semi dan tahan di tempatnya. Saya tidak benar-benar tahu ada solusi untuk konektor "umum / standar" untuk terhubung ke PCB Anda.
Kris Bahnsen

0

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.


(komentar sekitar 6 tahun kemudian ...) Saya tidak ingin menggunakan konektor RS232 standar, yang akan menjadi pemborosan sirkuit (di kedua sisi). Saya ingin sirkuit minimal di sisi target (pada dasarnya 0).
Wouter van Ooijen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.