Bạn có thể chọn bất kỳ tinh thể cho một vi điều khiển PIC?


8

Tôi đang sử dụng PIC16F690 và tôi biết rằng bộ dao động bên trong có các giá trị nhất định (20,8,4 ...).

Tôi muốn đặt một tinh thể 8 MHz bên ngoài, nhưng tôi chỉ có thể tìm thấy 8,8 MHz hoặc 7,6 MHz.

Tôi muốn biết liệu có thể đưa bất kỳ thứ nào trong số này vào PIC hay nó phải chính xác là 8 MHz? Ngoài ra, tôi nên chọn các tụ điện cho mỗi như thế nào?

Câu trả lời:


10

Bạn có thể sử dụng bất kỳ tinh thể nào miễn là trong phạm vi tần số mà trình điều khiển tinh thể PIC được chỉ định cho.

Trình điều khiển pha lê của hầu hết các PIC (Tôi không tra cứu PIC của bạn, đó là công việc của bạn) có thể được đặt thành ba cấp độ ổ đĩa khác nhau, thường được gọi là LP (công suất thấp), XT (pha lê) và HS (tốc độ cao). Những cái chậm hơn sử dụng ít năng lượng hơn nhưng cũng có tần số tinh thể tối đa thấp hơn mà chúng có thể hỗ trợ. Chế độ HS có thể tăng tốc và làm hỏng các tinh thể tần số thấp 32768 Hz, giống như được sử dụng trong đồng hồ đeo tay. Cả ba cấp độ ổ đĩa tinh thể bao gồm phạm vi từ vài 10 kHz đến 20 MHz, đây là tốc độ nhanh nhất mà PIC có thể được điều khiển bằng mọi cách.

Một điểm khác là bạn muốn sử dụng một tinh thể được chỉ định cho ứng dụng cộng hưởng song song. Điều đó có nghĩa là tần số của nó được chỉ định cho cách trình điều khiển tinh thể PIC sẽ điều khiển tinh thể. Những tinh thể này sẽ được chỉ định với một điện dung tải. Các tinh thể cộng hưởng loạt sẽ hoạt động, nhưng tần số có thể sẽ không nằm trong dung sai.


Cảm ơn rất nhiều . vấn đề của tôi là bộ tạo dao động nội bộ đã cho tôi đồng hồ hướng dẫn 0,47us thay vì 0,5us - cho 8mhz. vì vậy tôi đoán một bộ dao động EXTERNAL sẽ chính xác hơn. điều đó có đúng không một điều nữa, tôi không thể hiểu làm thế nào để đặt cầu chì cho f đó?
Curnelious

4
@Curn: Có, một tinh thể bên ngoài sẽ chính xác hơn bộ dao động bên trong. Ngay cả các tinh thể giá rẻ cũng tốt cho 50 ppm, và 20 ppm thường có sẵn cho không quá nhiều tiền. Đối với các cài đặt cấu hình, tất cả đều được mô tả tốt trong biểu dữ liệu. Đối với tinh thể 8 MHz, bạn sẽ muốn sử dụng chế độ HS.
Olin Lathrop

8

Giả sử bạn không vượt quá thông số clockrate trong silicon, cầu chì được lập trình và mã ứng dụng, bạn có thể sử dụng bất kỳ tinh thể nào bạn muốn. Các datasheets sẽ giải thích các tụ điện để sử dụng.


3
Điều đáng chú ý là việc thay đổi tốc độ xung nhịp cũng sẽ thay đổi các tính toán cho những thứ như tốc độ truyền và bộ định thời gian. Điều này có vẻ hiển nhiên, nhưng thật dễ để quên.
Scott Winder

@Scott: Chỉ khi bạn viết mã vô trách nhiệm với các ước số tốc độ baud và giống như mã hóa cứng. Với mã hóa phù hợp, bạn thay đổi một số là tần số dao động và mọi thứ sẽ tự động được lấy từ số đó tại thời điểm xây dựng, với tất nhiên là kiểm tra lỗi cho các trường hợp không thể hoặc nằm ngoài phạm vi. Bạn đúng ở chỗ bạn phải nhớ thay đổi một số.
Olin Lathrop

1
@OlinLathrop: Tôi đồng ý với bạn trong trường hợp thay đổi tần số một chút. Tuy nhiên, thay đổi tần số mạnh có thể yêu cầu sửa đổi trước và / hoặc sau vô hướng của máy phát tốc độ baud để giữ tần số trung gian trong phạm vi được đề xuất. Về phía bộ hẹn giờ, một số công tắc trong tần số đồng hồ có thể dẫn đến tràn và bất kỳ tần số khác nhau sẽ cung cấp cho bạn độ phân giải đồng hồ khác nhau, do đó, sửa đổi số đếm thời gian (sử dụng macro tần số) chỉ là một phần của giải pháp. Đồng hồ hẹn giờ cũng có thể cần phải được sửa đổi để đạt được độ chính xác và độ dài cần thiết.
Scott Winder

1
@ Hủy bỏ: Nhưng đó là tất cả những thứ được tính toán khi xây dựng hoặc ít nhất là được kiểm tra. Nếu bạn mã hóa một cái gì đó như bộ đếm gộp trước (thường không cần thiết) và tần số hướng dẫn mới không hỗ trợ những gì bạn muốn làm, thì mã thời gian xây dựng sẽ đưa ra lỗi để cảnh báo bạn. Nếu nó có thể xử lý nó, nó âm thầm làm như vậy. Không có lý do gì để thay đổi tần số âm thầm gây ra vấn đề. Đó chỉ là mã hóa xấu.
Olin Lathrop

@OlinLathrop: Tôi không đồng ý. Tôi chỉ chỉ ra rằng không phải lúc nào cũng dễ dàng như thay đổi một số duy nhất, ngay cả trong trường hợp mã hóa tốt. Trong mọi trường hợp, đó là điều cần theo dõi khi thay đổi tần số.
Scott Winder

0

Như bảng dữ liệu đã nói, bạn có thể sử dụng bộ dao động lên đến 20Mhz. Đối với tụ điện, biểu dữ liệu có thể nói với bạn rằng sử dụng loại nào nhưng với số lượng tụ điện bạn nên sử dụng theo kinh nghiệm của mình.


1
Mặc dù "kinh nghiệm" luôn là một điều tốt, nhưng điện dung tải yêu cầu phụ thuộc vào tinh thể và phải được chỉ định trong bảng dữ liệu tinh thể. Điều này phải làm với tần số cộng hưởng song song. Ngoài ra, nên tính đến điện dung đi lạc từ các chân uC và dấu vết.
Rev1.0

@ Rev1.0 Tuyệt vời và cảm ơn! Tôi đã bình chọn cho bạn. ví dụ tôi thấy bảng dữ liệu này: html.alldatasheet.com/html-pdf/236074/CRYSTEKCRYSTAL/CYSDXX/ trên ở bên phải của nó, bạn có thể thấy một bảng (Số phần tiêu chuẩn). tôi nên sử dụng nó để chọn các tụ điện? ví dụ cho 16mhz tôi có nên sử dụng tụ 20pf không?
Roh

1
Không, điện dung tải cho trước là tổng điện dung cần thiết, không phải giá trị cho cả hai tụ. Tính CX = 2 * (CL - Cstray), trong đó CX là tụ điện bạn cần, CL = 20pf và Cstray phụ thuộc vào thiết kế của bạn (khoảng 2-5pf).
Rev1.0

1
Cstray là điện dung của các chân của bộ điều khiển vi mô (bảng dữ liệu) + điện dung ký sinh của các dấu vết trên bảng của bạn (có thể xấp xỉ khi biết chiều dài, chiều rộng và lớp của dấu vết). Nếu đây chỉ là một dự án sở thích, giả sử 5pf và có thể ổn.
Rev1.0

1
Đọc và hiểu điều này :). "Nếu Cin và Cout không được chỉ định, thì giá trị đoán 5 pF cho mỗi loại là một khởi đầu tốt."
Rev1.0
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.