Bagaimana cara MCU ARM berjalan lebih cepat dari kristal eksternal?


12

Jadi sebelum ini saya hanya bekerja dengan Atmel MCU 8 bit sederhana dan saya menyadari pada skema papan pengembangan saya hanya memiliki kristal 12Mhz, namun MCU beroperasi hingga 100MHz. (Saya pikir defaultnya adalah 80MHz. Saya hanya membuatnya lebih tinggi sekali untuk bersenang-senang. Ini hanya garis sederhana dalam kode.)

Bagaimana cara melakukannya? Mengapa Atmega328, misalnya, berjalan pada kecepatan kristal yang digunakan?


5
1) mHz berarti mili Hertz jadi 1/1000 dari Hertz, gunakan MHz (huruf kapital M) ketika yang Anda maksud adalah Mega Hertz. 2) apa MCU 8 Bit? 3) Papan pengembangan apa? 4) ATMega 328 tidak harus berjalan dengan kecepatan kristal, baca bagian pencatatan jam kerja dalam lembar data untuk melihat apa yang mungkin. 5) Beberapa IC memiliki PLL yang dapat digunakan untuk melipatgandakan frekuensi clock eksternal.
Bimpelrekkie

1
@Bimpelrekkie: Sebagian besar dari komentar itu adalah jawabannya. Apakah Anda ingin menjawabnya?
JRE

Pembagi VCO untuk dibandingkan dengan 12 MHz akhirnya mengalikan f. Itulah yang dilakukan synth freq PLL.
Tony Stewart Sunnyskyguy EE75

@Bimpelrekkie sepertinya seseorang sudah memperbaikinya untuk saya. Saya sudah menyebutkan Atmel dan atmega328. tapi itu tidak masalah karena itu adalah contoh. afaik atmega328p tidak memiliki PPL? Saya sebagian besar ingin tahu tentang bagaimana Anda bisa melipatgandakannya. untungnya Marcus Muller sudah menjelaskannya dengan sangat baik.
user3033693

prosesor di komputer yang Anda baca ini kemungkinan menggunakan jam referensi 100Mhz atau lebih lambat namun inti berjalan di ghz.
old_timer

Jawaban:


28

Ini tidak ada hubungannya dengan inti menjadi prosesor ARM; ini tentang bagaimana sirkuit clocking bekerja:

Dalam banyak sistem seperti mikrokontroler, chip RF, chip audio, ... Anda perlu menghasilkan jam yang lebih cepat yang merupakan kelipatan tepat dari beberapa jam referensi (misalnya, kristal eksternal).

Anda melakukannya dengan memiliki osilator yang dikendalikan tegangan (VCO) yang dapat Anda sesuaikan frekuensinya dengan menambah atau mengurangi tegangan kontrol.

Sekarang, dengan hanya mengatur voltase kontrol apa saja, Anda dapat membuatnya berosilasi pada frekuensi yang kira-kira ada di "ballpark" kanan, tetapi tidak pada kelipatan frekuensi input yang tepat. Terutama, VCO bisa sedikit melayang, sehingga frekuensi juga akan terus-menerus "berkeliaran" di semua tempat. Anda perlu mengontrol osilator itu dengan membandingkannya dengan osilator referensi.

Cara untuk melakukannya adalah dengan menggunakan Phase-Locked Loop . Idenya sederhana:

  1. N
  2. fVCO/Nfref

Di atas adalah loop kontrol, dikunci ke fase - maka namanya.

Untuk mikrokontroler "kaya", yang memiliki banyak periferal dan karenanya mendapat manfaat dari memiliki beberapa jam secara internal, biasanya memiliki setidaknya 1 PLL. ATMega328 agak aneh dalam hal ini: Ini adalah mikrokontroler yang relatif haus daya, relatif kaya perangkat yang masih belum memiliki PLL.


1
Terima kasih :) ini menjelaskannya dengan sangat baik! Alih-alih mengolok-olok atau fokus pada kesalahan konyol saya, Anda hanya mengatakan kepada saya apa yang jelas saya tanyakan. Beberapa hal SANGAT sulit bagi saya untuk memperhatikan Disleksia saya. Bahkan jika saya membaca melalui posting saya 2-3 kali saya kehilangan banyak merek atau secara tidak sengaja menempatkan huruf besar di mana saya tidak perlu. Belum lagi bahasa Inggris bukan bahasa pertama saya.
user3033693

7
@AmyGamble bahasa Inggris Anda sangat bagus! Saya pikir komentar pertama yang Anda dapatkan di bawah posting Anda adalah karena sangat banyak insinyur muda melupakan kapitalisasi unit - yang nantinya bisa menjadi sangat bermasalah :) Saya harap Anda tidak pernah merasa putus asa!
Marcus Müller

9

Beberapa perangkat memiliki PLL di dalamnya yang dapat melipatgandakan frekuensi kristal ke frekuensi yang lebih tinggi. ATMega328 tidak memiliki PLL, ia menggunakan kristal secara langsung.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.