PIC tiếp tục thiết lập lại: Tôi có thấy tác dụng phụ từ việc sử dụng Breadboard không?


11

Tôi đang sử dụng PIC18F4680 và đang gặp sự cố khi chạy nó tạo thành nguồn xung nhịp ngoài 40 MHz hoặc tinh thể 10 MHz ở chế độ HSPLL. Sử dụng tinh thể 10 MHz trong chế độ HS có vẻ ổn và tinh thể 5 MHz ở chế độ HSPLL cũng hoạt động tốt.

Điều xảy ra là PIC khởi động, hoạt động trong vài giây và sau đó tắt một lúc và bắt đầu lại. Tổng thời gian của chu kỳ là khoảng 5 giây trong đó PIC hoạt động ngừng hoạt động sớm trong giây thứ hai.

Tôi cũng nhận thấy rằng đôi khi tôi thêm một tụ phóng điện đủ lớn vào bus điện của bảng mạch, PIC sẽ hoạt động tốt. Điểm thú vị là điều này chỉ xảy ra nếu tôi thêm tụ điện trong khi PIC đang chạy. Nếu tôi cấp nguồn cho bảng mạch với tụ điện ở đó hoặc tôi đặt một tụ điện chưa được xả hoàn toàn thì vấn đề vẫn còn.

Tôi đã đọc trên một số trang web rằng các vấn đề tương tự như của tôi có thể xảy ra do mức tiêu thụ điện năng của PIC tăng lên ở tần số cao hơn và điện áp hoạt động thấp nhất. Trong những trường hợp đó, nếu có sự sụt giảm điện áp ngắn trên nguồn điện, chúng có nhiều khả năng đạt đến điện áp hoạt động thấp nhất của PIC trên tần số đó, vì vậy nên có thêm tụ điện trên bảng mạch để giải quyết vấn đề đó. Kể từ dưới đầy tải tại 40 MHz, toàn bộ sử dụng mạch khoảng 64 mA, ý tưởng đầu tiên của tôi là để đặt một số tụ điện tantali hy vọng rằng họ sẽ có đủ lớn và có đủ ESR thấp để khắc phục vấn đề. Một người không giúp đỡ và người thứ hai cũng không giúp. Vì vậy, tôi đã thêm một 100 μ F10 μF100 μFtụ nhôm và điều đó cũng không giúp được gì. Sau đó, tôi đã thêm một tụ nhôm hoặc không có hiệu lực. Cuối cùng, tôi đã thêm một tụ điện điện phân nhôm 1 mF và sau đó lần đầu tiên mạch hoạt động tốt cho đến khi tắt và bật nguồn. Tôi cũng cần lưu ý rằng với mục đích thử nghiệm, tôi đang sử dụng Vcc 5,5 V, đây là điện áp được đánh giá cao nhất cho vi điều khiển này. Điều này sẽ để lại cho tôi một số phòng cho đến 4.2 V, điện áp hoạt động thấp nhất ở 40 MHz470 μF

Tiếp theo, tôi đã đọc mà đầu ra đôi khi nổi có thể gây ra trục trặc, vì vậy tôi đặt một số kéo xuống điện trở ở tất cả các chân không sử dụng và không làm giúp một trong hai. Sau đó tôi đã đọc mà đôi khi có thể có vấn đề nếu đầu vào dao động đang nổi, vì vậy tôi cố gắng kết nối chúng với GND sử dụng một số 10 M Ω điện trở và điều đó đã không giúp đỡ.10 kΩ10 MΩ

Do chiều dài của dây đi từ đầu ra dao động đến đầu vào dao động ở PIC, tôi đã dự kiến ​​có vấn đề với nó, nhưng tôi không mong đợi vấn đề với tinh thể 10 MHz rất gần với các chân dao động trên PIC. Ngoài ra với tinh thể, tôi cũng mong đợi các vấn đề trong chế độ HS, nếu biến dạng tín hiệu dao động do bảng mạch là vấn đề, nhưng ở chế độ HS, PIC hoạt động tốt.

Tôi thường sử dụng tụ 33 pF cho các tinh thể, nhưng tôi cũng đã thử với 15 pF và tôi không thể phát hiện bất kỳ thay đổi nào.

Tôi cũng cần lưu ý rằng PIC này có màn hình đồng hồ không an toàn và chuyển đổi bộ dao động bên trong / bên ngoài. Tôi đã thử kích hoạt cả hai, hy vọng rằng ít nhất họ sẽ xác nhận rằng sự cố xảy ra với bộ tạo dao động, nhưng họ không giúp đỡ với vấn đề này. Không có sự khác biệt là họ bật hoặc tắt.

Tôi cũng đã vô hiệu hóa cho mục đích kiểm tra bộ đếm thời gian theo dõi, thiết lập lại màu nâu và thiết lập lại chồng lên / xuống. Tôi nghĩ rằng tôi đã tắt tất cả các nguồn thiết lập lại cho chip này. Ngoài ra chương trình là một vòng lặp vô hạn, vì vậy nó không kết thúc.

PCF8583 không có bất kỳ vấn đề nào và nó vẫn tiếp tục hoạt động chính xác ngay cả khi PIC tự đặt lại, nhưng mặt khác, nó có điện áp tối thiểu thấp hơn nhiều.

Thật không may, tôi không có máy hiện sóng, nhưng tôi đã thực hiện một số thử nghiệm với thẻ âm thanh (tốc độ mẫu 96 kHz) và tôi nhận thấy khi RTC bật, có tiếng ồn 25 Hz trên đường dây điện. Chương trình tôi đang sử dụng báo cáo mức cực đại 300 mV đến cực đại, nhưng tôi không biết nên tin tưởng bao nhiêu và tôi không biết liệu điều đó có đủ để gây ra bất kỳ vấn đề nào cho PIC không. Khi mọi thứ đã tắt, tiếng ồn khoảng 100 mV đến cực đại, do đó sẽ ổn.

Trong trường hợp có ích, đây là hình ảnh của chính chiếc bánh mì: (nhấp chuột phải-> xem hình ảnh với kích thước đầy đủ) nhập mô tả hình ảnh ở đây

Vì vậy, có ai có bất cứ ý tưởng những gì đang xảy ra ở đây?

Cuối cùng, tôi chỉ có thể chạy PIC ở 20 MHz, nhưng nếu tôi cần thêm sức mạnh xử lý, tôi muốn có thể chạy nó ở 40 MHz.

CẬP NHẬT

Tôi đã đặt một bộ điều chỉnh khác ở chính bảng điều khiển và tiếng ồn phát ra từ card âm thanh bây giờ thấp hơn nhiều (khoảng 50 mV đến cực đại), nhưng nó không ảnh hưởng đến vấn đề chính.


1
Hmm, tôi sẽ đề nghị WDT và chuyển sang màu nâu, nhưng bạn đã vô hiệu hóa chúng. Bạn có biết rằng có một số lỗi với màu nâu cho PIC đó không? Tôi chưa bao giờ thử chạy PIC nhanh như vậy trên bảng bánh mì. Chúng tôi sử dụng 18F4580 mọi lúc với bộ dao động 10 MHz và HSPLL. Họ làm việc tốt.
Rocketmagnet

2
Quên bánh mì (tôi không bao giờ sử dụng chúng) và sử dụng PCB thích hợp, nó sẽ tiết kiệm rất nhiều thời gian.
Leon Heller

3
@Leon Heller Nó có thể tiết kiệm rất nhiều thời gian, nhưng tại thời điểm này, PCB đắt hơn thời gian của tôi, đặc biệt là vì tôi thậm chí không có danh sách tất cả các thành phần chính tôi sẽ sử dụng.
AndrejaKo

1
@AndrejKo Điều này nghe có vẻ như là một trong những vấn đề khiến tôi muốn cuộn tròn thành một quả bóng và khóc. Bạn có thấy thời gian của mình có giá trị quá ít không? Tôi chỉ muốn tạo ra PCB - nó cũng thường rất thú vị!
AngryEE

1
@AndrejaKo: Nếu bạn không ngại đợi một tuần hoặc lâu hơn, tôi đã thành công lớn với thứ tự PCB của nhóm này: dorkbotpdx.org/wiki/pcb_order . Nếu bạn không muốn làm cho riêng mình, đó là
Chris Laplante

Câu trả lời:


12

Đây là một số lời khuyên khá cũ và tôi không biết liệu nó có phù hợp với micro của bạn không, nhưng khoảng 4 năm trước tôi đã thực hiện một dự án với PIC18F gặp phải các thiết lập giả lạ. Sau khi đọc báo cáo và chạy bộ lại, trí nhớ của tôi ở đây là những gì dường như đã giải quyết nó:

Bạn đã Low Voltage Programming Enablekích hoạt bit cấu hình chưa? Là PGMpin của bạn trên PORTB? Nếu vậy, bạn có thể muốn xem xét việc vô hiệu hóa cả hai Low Voltage Programming EnablePort B A/D Enablecho các đầu vào kỹ thuật số khi thiết lập lại. Theo báo cáo cũ của tôi, những gì đã xảy ra là chúng tôi đã PORTBthả nổi trong khi chúng là đầu vào tương tự và kích hoạt PGMpin. Nhìn lại tôi không biết chẩn đoán này có đúng không, nhưng cuối cùng chúng tôi đã hoàn thành dự án đó thành công để có thể đáng để thử.


Hấp dẫn! Chỉ vài phút trước, tôi nhận thấy rằng việc lập trình viên kết nối đã ảnh hưởng đến vấn đề và bây giờ câu trả lời này. Tôi đã vô hiệu hóa cổng BA / D và LVP và cho đến nay nó vẫn hoạt động tốt. Nó có thể là một số loại tương tác lạ trên pin PGM.
AndrejaKo

@AndrejaKo, nghe có vẻ rất quen thuộc với những gì tôi trải nghiệm. Tôi hy vọng nó vẫn ổn định ... phần cứng khó tính có thể cực kỳ bực bội khi bạn đang cố gắng hoàn thành công việc: S
Jon L

1
Chà, nó đã chạy tốt trong 21 phút và 30 giây. Tôi hy vọng nó vẫn như vậy. Tôi sẽ để nó chạy qua đêm và xem nếu nó đặt lại.
AndrejaKo

Tuyệt quá! Tôi rất vui vì nó đã giải quyết vấn đề.
abdullah kahraman

1
Làm cho ngày của tôi, tôi đã dành cả một ngày để tìm hiểu tại sao trên trái đất PIC 16F887 của tôi lại được đặt lại sau mỗi vài giây. Điện áp thấp trong prog mạch đã được đặt và chân PGM nổi đang chọn nhiễu kích hoạt thiết lập lại. +1 đại diện cho bạn
Gianluca Ghettini

7

Với một thiết lập như thế này, chúng ta sẽ gần như không thể nói chính xác điều gì đang xảy ra. Những gì chúng ta có thể nói, tuy nhiên, là những gì sai. Có rất nhiều điều sai, hoặc ít nhất là không đúng như nó lạnh. Bất kỳ một trong những điều này có thể là nguồn gốc thực sự của vấn đề của bạn, nhưng nó cũng có thể yêu cầu kết hợp các vấn đề mà khi cộng lại bằng với vấn đề bạn đang gặp phải.

Cách thực sự duy nhất để gỡ lỗi này là sửa bất cứ thứ gì bạn biết là sai, bất kể đó có phải là súng hút thuốc hay không. Cuối cùng, vấn đề sẽ được khắc phục bằng cách này hay cách khác.

Khi một MCU như thế này không chạy chính xác, bạn hầu như luôn phải tập trung vào những điều cơ bản: Nguồn, Đồng hồ và Đặt lại. Với một chiếc bánh mì, cả ba người trong số họ đều nghi ngờ!

Nghi ngờ số 1 đối với tôi là đồng hồ 40 MHz. 40 MHz là khá nhanh để chạy trên một dây nổi trong không khí. Nó cũng nhanh chóng được nhồi vào một chiếc bánh mì, nơi "hệ thống phân phối tín hiệu" không thực sự được thiết kế cho tốc độ cao. Nếu đây là PCB tôi sẽ nói với bạn để đảm bảo trở kháng theo dõi của bạn phù hợp và chấm dứt đúng tín hiệu của bạn. Thật không may, bạn không thể thực sự làm điều đó trên một chiếc bánh mì. Điều tốt nhất tôi có thể nói với bạn là giữ cho dây của bạn càng ngắn càng tốt-- và sau đó làm cho chúng ngắn hơn nữa! Sử dụng phạm vi o trên tín hiệu đồng hồ, được thăm dò trực tiếp tại chân PIC, với đầu GND của đầu dò cũng trực tiếp ở chân GND gần nhất trên PIC. Điều đó sẽ cho bạn biết rất nhiều về đồng hồ của bạn.

(Cố gắng mượn một phạm vi o nếu bạn có thể. Sẽ rất khó để gỡ lỗi những thứ không có.)

Nghi phạm số 2 là sức mạnh. Công suất cũng là một vấn đề lớn với bánh mì, vì độ tự cảm và điện trở của dây tương đối cao. Ở đây một lần nữa, giữ cho dây ngắn. Tôi cũng lưu ý rằng bạn không có bất kỳ giới hạn tách nào trên bộ dao động 40 MHz. Đối với OSC tôi sẽ đi song song với 0,1 uF và một cái gì đó lớn hơn (4,7 uF đến 100 uF). PIC của bạn cũng có thể sử dụng một cái gì đó lớn hơn song song với các mũ 0,1 uF. Thông thường những cái mũ lớn hơn sẽ không được yêu cầu, nhưng không có gì là bình thường với một chiếc bánh mì.

Nghi ngờ # 3 được đặt lại. Bạn đã không cung cấp cho chúng tôi bất kỳ thông tin nào về tín hiệu đặt lại và tôi nói rằng đó là mức thấp nhất trong những gì tôi nghi ngờ, nhưng dù sao bạn cũng nên kiểm tra nó. Đặt một o-scope vào nó và xem những gì đang xảy ra. Bạn có thể chỉ cần sử dụng một vôn kế. Nếu điện áp trên chân reset gần với ngưỡng ngưỡng thì bạn cần sửa nó.

Bây giờ, hãy xem qua những điều bạn đã thử:

Bạn đã thực hiện rất nhiều thí nghiệm với việc đặt mũ trên đường dây điện, với một vài kết quả khó hiểu. Đây là một trong những thời điểm mà bạn chỉ cần đặt một số mũ ở đó và đừng lo lắng về việc họ có làm gì tích cực hay không. Nó có thể là sức mạnh của bạn là ồn ào, nhưng chỉ là một trong một số điều gây ra vấn đề. Thêm các mũ lớn hơn song song với các mũ 0,1 uF tại PIC. Thêm mũ vào bộ dao động 40 MHz. Hãy chắc chắn rằng các khách hàng tiềm năng càng ngắn càng tốt. Sau đó chuyển sang điều tiếp theo.

Mũ thêm sức mạnh là một trong những điều không có khả năng gây ra vấn đề. Đó là lý do tại sao bạn có thể đặt một số và không phải lo lắng về chúng quá nhiều. Đặc biệt với mũ 10-100 uF.

Sau đó, một khi mọi thứ đang hoạt động, bạn có thể loại bỏ các nắp này cùng một lúc và xem vấn đề có trở lại không. Nếu nó không trở lại thì mũ không phải là vấn đề. Nhưng bây giờ bạn cần loại bỏ điều này như một vấn đề tiềm năng nhưng thêm mũ.

Mặc dù các chân nổi có thể là một vấn đề, chúng hiếm khi là một vấn đề đủ lớn để khiến MCU gặp sự cố. Nó đáng để sửa chữa, vì nó gây ra các vấn đề khác, nhưng rất khó có thể là vấn đề ở đây. Lưu ý: một cách đơn giản để ngăn chặn pin không sử dụng nổi là đặt chúng làm đầu ra! Cao hay thấp, không thành vấn đề. Nhưng nếu PIC đang lái những chiếc ghim đó thì chúng không thể nổi.


2
Một câu trả lời tốt. Tất cả những sợi dây dài không gọn gàng đó chỉ khiến tôi nghĩ rằng cố gắng để làm việc này trên một chiếc bánh mì khó chịu không đáng là bao nhiêu thời gian và khổ sở.
Rocketmagnet

Danh sách tốt đẹp! Tôi sẽ báo cáo kết quả khi tôi đi qua nó.
AndrejaKo

4

Bạn đã không đề cập đến pin PGM (đôi khi được gọi là LVP). Điều này phải được gắn thấp hoặc LVP bị vô hiệu hóa trong các byte conifig.

Bạn có chắc PIC này có thể mất 40 MHz trực tiếp không? Một số chỉ có thể đạt 40 MHz thông qua PLL nội bộ. Tôi đã không kiểm tra bảng dữ liệu nhưng bạn nên làm. Ngay cả nếu vậy, tôi sẽ không mong đợi 40 MHz trên bảng mạch hoạt động tốt. Tôi nghĩ rằng bạn sẽ có thể khiến PIC chạy với tinh thể 10 MHz và PLL 4x bên trong mặc dù nếu bạn cẩn thận với bảng điều khiển và đặt mũ bypass ở đúng nơi.

Loại câu hỏi này xuất hiện thường xuyên. Thay vì lặp lại tất cả các vấn đề điển hình, hãy xem /electronics//a/29620/4512 .


Có vẻ như chúng ta có hai câu trả lời đúng ở đây :)
abdullah kahraman

2

Tôi phải đồng ý với David. Có rất nhiều dây dài, và 40 MHz trên bảng mạch là khá lạc quan. Tôi không thể tin rằng thời gian của bạn thực sự đáng giá đến mức bạn không đủ khả năng để tạo ra một PCB nguyên mẫu nhỏ . Những thứ này chỉ có giá khoảng £ 30 từ PCB Train . Tôi chắc chắn rằng có ai đó ở gần bạn có thể cung cấp tương tự.

Tại sao không làm điều này. Thiết kế một PCB có PIC, bộ tạo dao động và bộ điều chỉnh như các thành phần SMD, sau đó tải toàn bộ các dải bảng hoàn hảo. Bằng cách này, bạn vẫn có thể tạo mẫu, nhưng hãy chắc chắn rằng PIC đang hạnh phúc.

PC nguyên mẫu ban hoàn hảo


2
À, tôi yêu 3D của Altium! Nhân tiện, £ 30 có thể là cao đối với một sinh viên :) Tốt hơn là sử dụng một bảng hoàn hảo hoặc tốt hơn, một PCB tự chế.
abdullah kahraman

1
Nếu quản lý để tạo ra một PCB sản xuất tại nhà, tôi chắc chắn sẽ thử với ý tưởng này.
AndrejaKo

2
@AndrejaKo - Tuyệt vời. Hãy đánh dấu cho chúng tôi sau đó :) - Hoặc thậm chí chỉ cần đặt hai hàng dải pin, để bạn có thể cắm nó vào bảng.
Rocketmagnet

1

nếu bạn có một bộ tạo F biến ngoài, hãy cân nhắc sử dụng nó để kiểm tra bố cục / chip cho các vấn đề. và tìm F bên ngoài gây ra sự cố. Và hãy nhớ rằng cáp nối đất mở rộng hoạt động như ăng ten để nói chuyện chéo.


0

thăm dò trông giống như bạn cần một đầu dò logic, dvm hoặc phạm vi ... http://search.digikey.com/us/en/products/DP%2052/BKDP52-ND/227492

Đặt nắp trên chip đồng hồ V + / gnd và xem xét cặp xoắn cho 40MHZ nếu ở xa. Pic xtal có đầu vào và đầu ra .. kiểm tra đầu ra đảo ngược mức DC = v / 2? .. Pic có ấm không? ha ..

Tôi đề nghị chế độ XLL PLL 10 MHz @ 40 MHz để tránh các vấn đề về bố cục.

"Chế độ HSPLL sử dụng bộ tạo dao động chế độ HS cho tần số lên đến 10 MHz. PLL sau đó nhân tần số đầu ra của bộ dao động lên 4 để tạo ra tần số xung nhịp bên trong lên đến 40 MHz. PLL chỉ khả dụng cho bộ tạo dao động tinh thể khi FOSC3: Các bit cấu hình FOSC0 được lập trình cho chế độ HSPLL (= 0110). "


Tôi thực sự đã thử sử dụng tinh thể HSPLL và 10 MHz, nhưng trong chế độ HSPLL, nó cho thấy kết quả tương tự như bộ dao động. Nó hoạt động tốt trong chế độ HS.
AndrejaKo

Ngoài ra PIC không ấm lên trong quá trình sử dụng, theo như tôi có thể thấy.
AndrejaKo
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.