chip DSPIC chạy ở một phần tốc độ bình thường


9

Tôi có hai PCB. Một cái có một DSPIC30F6012a, cái còn lại là một DSPIC30F6015. Cả hai đều được lập trình từ các dự án HEX độc lập riêng biệt trong MPLAB X, sử dụng PICkit 3. Cả hai phần cứng đã được áp dụng cho hàng chục đơn vị trước thời điểm này mà không gặp khó khăn. Hiện tại, phần sụn đang hoạt động chính xác khi được lập trình từ tất cả các PC trừ một. Trên một PC đó, bắt đầu từ ngày hôm qua , cả hai chương trình phần cứng đều không có lỗi rõ ràng, nhưng thực thi ở tốc độ xấp xỉ 1/20. Trước ngày hôm qua, PC đó cũng đã lập trình các bảng này mà không gặp vấn đề gì.

Màn hình Splash mất hai phút thay vì năm giây, đèn nhấp nháy rất chậm, và bên cạnh đó mọi thứ hoạt động chính xác. Gần như là các bit cấu hình dao động đã bị thay đổi, nhưng tôi không biết bất cứ nơi nào trong MPLAB X có thể được thực hiện cho một dự án độc lập.

Vì vậy, hai phần mềm khác nhau, trên hai chip khác nhau, trên nhiều phiên bản của cùng một thiết kế PCB, chạy ở tốc độ khác nhau, chỉ phụ thuộc vào PC được sử dụng để lập trình chúng. Lập trình lại một bảng chậm trên PC "tốt" khắc phục vấn đề; tái lập trình lại cùng một bảng trên PC "xấu" mang nó trở lại. Tất cả những gì tôi có thể hình dung là trên một PC, ai đó nhấn nút "làm cho nó đi chậm", nhưng tôi không thể tìm thấy bất cứ thứ gì được dán nhãn đó. (Tuy nhiên, công nghệ của chúng tôi khá sáng tạo.) Tôi hiện đang gỡ cài đặt MPLAB X, xóa cài đặt người dùng và cài đặt lại phiên bản mới hơn. (Đi từ 1.3 đến 1.6.) Nhưng ngay cả khi điều đó khắc phục được, tôi vẫn không vui khi không biết chuyện gì đang xảy ra. Có ai có cái nhìn sâu sắc về vấn đề này?


PC có xác minh sau khi lập trình không? Bạn có thể kiểm tra các bit cấu hình với điều đó, vì có vẻ như đó là vấn đề.

Xác minh là chạy, có. Không có lỗi nào được đưa ra, vì vậy tôi giả sử bao gồm các bit cấu hình, nhưng tôi đã không kiểm tra thủ công. Có lẽ nên có, chỉ để có thêm dữ liệu, nhưng tôi đã bị ép thời gian và đi thẳng vào giải pháp gỡ cài đặt / cài đặt lại. Chờ đợi từ trên nếu điều đó làm việc hay không!
Stephen Collings

Một bảng được lập trình bởi một PC gây chậm sẽ xác minh trên PC "tốt"?
Chris Stratton

Thật không may (ha!) Việc cài đặt lại đã khắc phục sự cố, vì vậy tôi không thể thu thập thêm dữ liệu ... khiến bạn khó có được câu trả lời dứt khoát!
Stephen Collings

Câu hỏi này đọc giống như một thứ gì đó từ The Onion có chủ đề công nghệ .
Kevin Chen

Câu trả lời:


1

Trong MPLAB X, các bit cấu hình không thể được đặt tách biệt với mã (như MPLAB 8 được sử dụng để cho phép bạn làm). Cách duy nhất các bit cấu hình có thể là 'sai' là nếu ai đó sửa đổi mã. Vì bạn đang sử dụng một dự án tệp HEX độc lập, điều này là không thể.

Bạn chưa nói nếu lập trình lại một trong những bảng 'xấu' trên PC 'đang hoạt động' thực sự khắc phục được sự cố. Hãy thử xem.

Một điều khác bạn có thể làm (nếu bạn không sử dụng mã bảo vệ) là đọc lại tệp HEX từ thiết lập 'làm việc' và đưa nó vào một trong các bảng bị hỏng. Điều này sẽ loại bỏ thay đổi mã là một trong những điều không chắc chắn.

Một kịch bản (không thể) khác là cổ phiếu DSPIC của bạn bao gồm nhiều lần sửa đổi và một thay đổi từng bước đã làm mất hiệu lực mã của bạn. Đảm bảo số phần của IC là chính xác và khi PICkit3 kết nối, bạn sẽ thấy mã sửa đổi mà bạn có thể tham chiếu chéo đến bản sửa đổi silicon.

EDIT: Bây giờ là lúc để đảm bảo rằng các bản cài đặt MPLAB X khác nhau phù hợp trên tất cả các PC - chúng có phải là bản sửa đổi không? Có phải họ là phiên bản mới nhất?

Bất cứ khi nào có phiên bản MPLAB X mới, phần sụn PICkit3 có xu hướng được nâng cấp - có thể có lỗi hoặc không tương thích với phần sụn PICkit3 cũ hơn và tệp HEX của bạn.

Gần đây tôi đã gặp một tình huống tương tự (bây giờ nó mới phát hiện ra tôi - duh) trong đó một tệp HEX mà tôi đã tạo trên máy của mình với MPLAB X và XC16 sẽ lập trình chính xác trên máy của tôi, nhưng sẽ không trên máy khác sử dụng MPLAB 8 v8. 50 - mã dường như chạy chậm hơn (đèn LED khởi tạo có vẻ chậm chạp). Khi PC đó được cập nhật với MPLAB 8 v8.88, sử dụng cùng một lập trình viên và cùng một tệp HEX, mọi thứ bắt đầu hoạt động trở lại. Kỳ dị.


Tôi đã lập trình lại cùng một bảng trên PC "tốt" và "xấu", và vấn đề đã xảy ra và đi theo PC được sử dụng để lập trình bảng. Tôi đã chỉnh sửa câu hỏi để phản ánh điều này.
Stephen Collings
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.