Làm thế nào để một MCU ARM chạy nhanh hơn tinh thể bên ngoài?


12

Vì vậy, trước đây tôi chỉ làm việc với các MCU 8 bit đơn giản và tôi nhận ra trên sơ đồ bảng phát triển của mình, nó chỉ có một tinh thể 12Mhz, nhưng MCU hoạt động ở tốc độ lên đến 100 MHz. (Tôi nghĩ mặc định là 80 MHz. Tôi chỉ làm cho nó cao hơn một lần cho vui. Nó chỉ là một dòng đơn giản trong mã.)

sao làm được vậy? Tại sao một Atmega328, ví dụ, chạy ở tốc độ tinh thể được sử dụng?


5
1) mHz có nghĩa là milli Hertz nên 1/1000 của Hertz, sử dụng MHz (viết hoa M) khi bạn có nghĩa là Mega Hertz. 2) MCU 8 bit là gì? 3) Ban phát triển gì? 4) ATMega 328 không phải chạy ở tốc độ tinh thể, hãy đọc phần đồng hồ trong biểu dữ liệu để xem những gì có thể. 5) Một số IC có PLL có thể được sử dụng để nhân tần số xung nhịp ngoài.
Bimpelrekkie

1
@Bimpelrekkie: Hầu hết bình luận đó là câu trả lời. Bạn có muốn đưa ra một câu trả lời của nó?
JRE

Bộ chia VCO để so sánh với 12 MHz kết thúc nhân với f. Đó là những gì một PLL freq synth làm.
Tony Stewart Sunnyskyguy EE75

@Bimpelrekkie trông giống như ai đó đã sửa nó cho tôi. Tôi đã đề cập đến Atmel và atmega328. nhưng nó không thành vấn đề vì đó là một ví dụ. afaik atmega328p không có PPL? Tôi chủ yếu tò mò về cách bạn có thể chỉ cần nhân nó. rất may Marcus Muller đã giải thích nó rất tốt.
dùng3033693

bộ xử lý trong máy tính bạn đang đọc này có khả năng sử dụng đồng hồ tham chiếu 100Mhz hoặc chậm hơn nhưng lõi chạy trong ghz.
old_timer

Câu trả lời:


28

Điều này không liên quan gì đến lõi là bộ xử lý ARM; đó là về cách thức hoạt động của mạch xung nhịp:

Trong nhiều hệ thống như vi điều khiển, chip RF, chip âm thanh, bạn cần tạo ra đồng hồ nhanh hơn là bội số chính xác của một số đồng hồ tham chiếu (ví dụ: tinh thể ngoài).

Bạn làm điều đó bằng cách có một bộ dao động điều khiển điện áp (VCO) mà bạn có thể điều chỉnh tần số bằng cách giảm hoặc giảm điện áp điều khiển.

Bây giờ, bằng cách chỉ cần đặt bất kỳ điện áp điều khiển nào, bạn có thể mang nó đến dao động với tần số gần đúng trong "sân bóng", nhưng không phải là bội số chính xác của tần số đầu vào. Đặc biệt, VCO có thể hơi khô hạn, do đó tần suất cũng sẽ liên tục "đi lang thang" khắp nơi. Bạn cần điều khiển bộ dao động đó bằng cách so sánh nó với bộ dao động tham chiếu.

Cách để làm điều đó là sử dụng Vòng khóa bị khóa . Ý tưởng rất đơn giản:

  1. Chia tần số phát ra từ VCO cho hệ số N ; đó là yếu tố mà chúng tôi muốn VCO nhanh hơn tham chiếu. Làm điều đó thật dễ dàng: Chẳng hạn, bạn có thể chỉ cần sử dụng bộ đếm kỹ thuật số đếm đến N và chỉ sau đó thay đổi đầu ra.
  2. fVCO/Nftham chiếu

Trên đây là một vòng điều khiển, được khóa với pha của - do đó là tên.

Đối với các bộ vi điều khiển "giàu", có nhiều thiết bị ngoại vi và do đó được hưởng lợi từ việc có nhiều đồng hồ bên trong, thông thường có ít nhất 1 PLL. ATMega328 có một chút kỳ lạ ở khía cạnh đó: Đó là một bộ vi điều khiển tương đối giàu năng lượng, tương đối giàu thiết bị ngoại vi mà vẫn không có PLL.


1
Cảm ơn bạn :) điều này giải thích nó rất tốt! Thay vì chọc cho vui hoặc tập trung vào những sai lầm ngớ ngẩn của tôi, bạn chỉ nói với tôi những gì tôi rõ ràng đang hỏi. Một số điều RẤT khó để tôi chú ý đến với Chứng khó đọc của tôi. Ngay cả khi tôi đọc máng bài viết của mình 2-3 lần, tôi vẫn bỏ lỡ rất nhiều lần thực hiện hoặc vô tình đặt viết hoa ở nơi tôi không cần. Chưa kể tiếng Anh không phải là ngôn ngữ đầu tiên của tôi.
dùng3033693

7
@AmyGamble Tiếng Anh của bạn rất tốt, tuy nhiên! Tôi nghĩ rằng nhận xét đầu tiên bạn nhận được dưới bài đăng của mình là vì rất nhiều kỹ sư trẻ đơn giản quên đi việc viết hoa của các đơn vị - điều này có thể trở nên rất rắc rối sau này :) Tôi hy vọng bạn không bao giờ cảm thấy nản lòng!
Marcus Müller

9

Một số thiết bị có PLL trong đó có thể nhân tần số tinh thể lên tần số cao hơn. ATMega328 không có PLL, nó sử dụng pha lê trực tiếp.

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.