chip dsPIC berjalan pada sebagian kecil dari kecepatan normal

9

Saya punya dua PCB. Satu memiliki dsPIC30F6012a, yang lain dsPIC30F6015. Keduanya diprogram dari proyek HEX mandiri yang terpisah di MPLAB X, menggunakan PICkit 3. Kedua firmware telah diterapkan ke puluhan unit sebelum titik ini tanpa kesulitan. Saat ini, firmware beroperasi dengan benar ketika diprogram dari semua PC kecuali satu. Pada satu PC itu, mulai kemarin , keduanya firmware program tanpa kesalahan yang jelas, tetapi dijalankan pada kecepatan normal sekitar 1/20. Sebelum kemarin, PC itu juga memprogram papan ini tanpa masalah.

Layar splash memakan waktu dua menit, bukan lima detik, lampu berkedip sangat lambat, dan selain itu semuanya beroperasi dengan benar. Ini hampir seolah-olah bit konfigurasi osilator telah diubah, tetapi saya tidak mengetahui adanya MPLAB X yang dapat dilakukan untuk proyek mandiri.

Jadi dua firmware yang berbeda, pada dua chip yang berbeda, pada banyak contoh dari desain PCB yang sama, berjalan pada kecepatan yang berbeda tergantung hanya pada PC yang digunakan untuk memprogram mereka. Pemrograman ulang papan lambat pada PC "baik" memperbaiki masalah; memprogram ulang papan yang sama pada PC "jahat" mengembalikannya. Yang bisa saya pikirkan adalah bahwa pada satu PC seseorang menekan tombol "make it go slow", tetapi saya tidak dapat menemukan apa pun yang diberi label itu. (Teknisi kami cukup kreatif.) Saat ini saya mencopot MPLAB X, menghapus pengaturan pengguna, dan menginstal ulang versi yang lebih baru. (Pergi dari 1,3 ke 1,6.) Tetapi bahkan jika itu memperbaikinya, saya masih tidak senang tidak tahu apa yang terjadi. Apakah ada yang punya wawasan tentang masalah ini?

Stephen Collings
sumber
Apakah PC melakukan verifikasi setelah pemrograman? Anda dapat memeriksa bit konfigurasi dengan itu, karena sepertinya itulah masalahnya.
Verifikasi dijalankan, ya. Tidak ada kesalahan yang dilemparkan, jadi saya berasumsi itu termasuk bit konfigurasi, tapi saya tidak memeriksa secara manual. Mungkin seharusnya, hanya untuk lebih banyak data, tetapi saya terdesak waktu dan langsung untuk solusi uninstall / instal ulang. Menunggu kabar jika itu berhasil atau tidak!
Stephen Collings
Akankah papan yang diprogram oleh PC yang merangsang lambat memverifikasi pada PC yang "baik"?
Chris Stratton
Sayangnya (ha!) Instal ulang memperbaiki masalah, jadi saya tidak dapat mengumpulkan lebih banyak data ... membuatnya sulit untuk mendapatkan jawaban yang pasti!
Stephen Collings
Pertanyaan ini berbunyi seperti sesuatu dari Bawang bertema teknologi .
Kevin Chen

Jawaban:

1

Dalam MPLAB X, bit konfigurasi tidak dapat diatur secara terpisah dari kode (seperti MPLAB 8 yang digunakan untuk membiarkan Anda melakukannya). Satu-satunya cara bit konfigurasi bisa 'salah' adalah jika seseorang memodifikasi kode. Karena Anda menggunakan proyek file HEX mandiri, ini tidak mungkin.

Anda belum mengatakan apakah memprogram ulang salah satu papan 'buruk' pada PC 'berfungsi' benar-benar memperbaiki masalah. Cobalah.

Hal lain yang dapat Anda lakukan (jika Anda tidak menggunakan kode proteksi) adalah membaca kembali file HEX dari pengaturan 'berfungsi' dan mem-flash-nya ke salah satu papan yang tidak berfungsi. Ini harus menghilangkan perubahan kode sebagai salah satu ketidakpastian.

Skenario lain (tidak mungkin) adalah bahwa stok dsPIC Anda mencakup banyak revisi, dan perubahan bertahap entah bagaimana membuat kode Anda batal. Pastikan nomor komponen IC sudah benar, dan ketika PICkit3 terhubung, Anda akan melihat kode revisi yang dapat Anda rujuk silang ke revisi silikon.

EDIT: Sekarang saatnya untuk memastikan bahwa berbagai instalasi MPLAB X cocok pada semua PC - apakah mereka revisi yang sama? Apakah ini revisi terbaru?

Setiap kali ada versi baru MPLAB X, firmware PICkit3 cenderung ditingkatkan - mungkin ada bug atau ketidakcocokan dengan firmware PICkit3 yang lebih lama dan file HEX Anda.

Saya memiliki situasi yang sama baru-baru ini (sekarang baru saja saya sadar - duh) di mana file HEX yang saya hasilkan pada mesin saya dengan MPLAB X dan XC16 akan memprogram dengan benar pada mesin saya, tetapi tidak pada mesin lain menggunakan MPLAB 8 v8. 50 - kode tampaknya berjalan lebih lambat (LED inisialisasi tampak lambat). Ketika PC itu diperbarui dengan MPLAB 8 v8.88, menggunakan programmer yang sama dan file HEX yang sama, semuanya mulai berfungsi lagi. Aneh.

Adam Lawrence
sumber
Saya memprogram ulang papan yang sama pada PC "baik" dan "buruk", dan masalahnya datang dan pergi mengikuti PC yang digunakan untuk memprogram papan. Saya telah mengedit pertanyaan untuk mencerminkan hal ini.
Stephen Collings