Dường như mạch PIC18F2550 cơ bản không ổn định


7

Từ công việc của tôi, tôi đã có khá nhiều kinh nghiệm về phát triển phần cứng, nhưng hoàn toàn từ vai trò giám sát, và vì vậy gần đây tôi đã chơi xung quanh với thiết kế mạch MCU để cố gắng hiểu rõ hơn.

Tôi kết hợp các mạch sau để cho phép tôi chơi xung quanh với các thanh ghi MCU một chút và nó hoạt động - chỉ không liên tục.

Đèn LED nhấp nháy như dự định, sau đó dừng trong một thời gian tùy ý, lại nhấp nháy một số lần khác, lại tắt, v.v. Dường như không có bất kỳ hành vi tuần hoàn nào với nó. Nó bắt đầu hoạt động mà không có bất kỳ đầu vào bên ngoài nào (tức là làm lu mờ nó) vì vậy dường như cũng không phải là một kết nối lỏng lẻo. Tôi nhận ra chân Vss thứ hai không có căn cứ trong sơ đồ, nhưng điều này cũng không giúp ích gì cho mạch khi tôi thử. Có thể là do Vusb không có căn cứ? Tôi đã nghĩ rằng điều này sẽ chỉ ảnh hưởng đến hoạt động USB.

Sơ đồ

Mã số:

#include <stdio.h>
#include <stdlib.h>

#include <p18f2550.h>
#include <delays.h>

#pragma config FOSC = INTOSCIO_EC       

#pragma config WDT = OFF                

void main() {

    TRISAbits.TRISA1    = 0;    // Set RA1 as output
    LATAbits.LATA1      = 1;    // Set RA1 as HIGH

    while (1)
    {
        LATAbits.LATA1 = ~LATAbits.LATA1;   // Toggle LED pin
        Delay10KTCYx(25);                   // Delay
    }    
}

Đây là bảng dữ liệu cho phần này.

Câu trả lời:


14

Hai điều:

  1. Một chân Vss không được kết nối. Tất cả các chân Vss, Vdd, AVss và AVdd, khi có, phải được kết nối đúng.

  2. PGM nổi, điều này là xấu nếu LVP được kích hoạt. Điều đó có thể ngẫu nhiên đặt phần trong chế độ lập trình.


3
Chỉ cần sao lưu điều này, một năm trước tôi đã có chính xác những triệu chứng đó với cùng một phần khi tôi rời PGM.
John Burton

1
Cảm ơn vô cùng. PGM với điện trở 10k để gnd giải quyết nó.
njt

1
@njt: Bạn cũng nên tắt LVP trong cấu hình tĩnh trừ khi bạn thực sự sử dụng nó.
Olin Lathrop

Tôi đã phải vật lộn với một mạch điện không ổn định đang khiến tôi phát điên, và mặc dù câu trả lời này khá cũ, nó đã được chứng minh là giải pháp cho vấn đề của tôi. Cảm ơn rất nhiều!
Merlevede

4

Mặc dù bạn không sử dụng pin Vusb, nó vẫn là một thành phần của chip bạn đang sử dụng. Bạn không vô hiệu hóa nó trong mã, vì vậy bạn cần tuân thủ các yêu cầu trong bảng 28-5.

Những yêu cầu này bao gồm một tụ điện 220nF hoặc lớn hơn giữa chân Vusb và mặt đất để đảm bảo rằng bộ điều chỉnh bên trong ổn định. Lưu ý rằng tôi đã nói giữa Vusb và mặt đất, bạn không muốn rút ngắn chân này ra - Đó là đầu ra của một bộ hồi quy điện áp bên trong. Điều này không có khả năng gây ra hành vi bạn đang quan sát, nhưng nó được yêu cầu bởi biểu dữ liệu.

Ngoài ra, bạn không thể kết nối bất cứ thứ gì với kết nối Vss trên chân 8. Điều này có thể được gắn với chân Vss mà bạn được kết nối, nhưng nó không được bảo đảm. Chúng có thể không được gắn với nhau và một nửa số IC của bạn đang trôi nổi. Cũng có thể bạn cần hai chân để giảm trở kháng xuống đất để đạt được tốc độ nhất định hoặc khả năng chìm hiện tại nhất định. Trong mọi trường hợp, bạn cũng nên kết nối pin này với Vss.

Để truy cập meta trong giây lát, bạn cần hiểu rằng biểu dữ liệu giống như một hợp đồng giữa bạn và Microchip. Có lẽ chân Vusb sẽ gây ra sự cố nếu bạn không kết nối nó, có lẽ nó sẽ không, có lẽ nó chỉ gây ra sự cố khi bạn đi trình diễn hoặc khi bạn kết nối một thứ gì đó nguy hiểm. Bạn cần tham khảo bảng dữ liệu để xác định những gì bạn phải làm với mỗi pin. Như bạn có thể nghi ngờ trong một tài liệu trang 428, hầu hết mọi thứ đều được chỉ định. Mỗi chân khác cũng có thể có một đặc điểm kỹ thuật. Rất phổ biến đối với các chân đầu vào không được sử dụng để yêu cầu kết nối với Vcc hoặc Vss. Tôi không phải là chuyên gia PIC, nhưng tôi nghĩ rằng có ít nhất một chân chỉ có đầu vào được sử dụng cho các chế độ gỡ lỗi và lập trình khác.


Tôi nghĩ rằng nắp trên Vusb chỉ cần thiết khi bộ điều chỉnh bên trong tạo ra 3.3V được bật. Về cơ bản, đây là nắp đầu ra cho bộ điều chỉnh đó, đây là thứ không thể đưa vào khuôn. Không cần thiết khi nó tắt bộ điều chỉnh, trừ khi mô-đun USB được bật và ở chế độ phù hợp. Ví dụ, bạn có thể buộc Vusb với Vcc nếu chúng là 3,3V, nếu tôi nhớ đúng.
Olin Lathrop

@OlinLathrop - " đó là trừ khi mô-đun USB được bật và ở chế độ phù hợp " - Tôi đồng ý rằng nó chỉ cần thiết nếu bộ điều chỉnh được bật, nhưng tôi không chắc về trạng thái mặc định. Tôi nghĩ rằng nó đã được bật trừ khi bạn tắt nó đi và mã được đăng không tắt nó.
Kevin Vermeer

@Kevin: Tôi vừa kiểm tra, và có vẻ như bạn đúng. Tôi nghĩ rằng bộ điều chỉnh bật và tắt cùng với mô-đun USB, có thể được bật và tắt trong phần sụn bất cứ lúc nào. Tuy nhiên, có vẻ như bộ điều chỉnh chỉ được điều khiển bởi một bit cấu hình, ở trạng thái kích hoạt sau khi xóa. Vì vậy, có, OP nên cung cấp nắp Vusb thích hợp hoặc vô hiệu hóa bộ điều chỉnh USB trong cấu hình tĩnh.
Olin Lathrop

Tôi không chắc chắn tôi theo lý thuyết đằng sau nắp trên pin Vusb, bất cứ ai có thể đưa ra một lời giải thích nhanh chóng? cảm ơn!
njt

@njt - Bên trong chip, có một bộ điều chỉnh điện áp tuyến tính có đầu ra ở chân 14, Vusb. Bộ điều chỉnh này cảm nhận điện áp đầu ra của nó và điều chỉnh tăng nếu điện áp quá thấp hoặc xuống nếu quá cao. Nếu không có tải, thông thường điều chỉnh nhỏ sẽ dẫn đến dao động lớn. Nếu có tụ điện, những dao động này sẽ nhỏ. Một số bộ điều chỉnh tuyến tính không cần mũ cho sự ổn định, nhưng bảng dữ liệu này cho biết nó cần một tụ điện 220 nF.
Kevin Vermeer
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.