Re: 18f4420 的 PLLEN
|
||||
---|---|---|---|---|
初級會員
|
Hey!版主。您提醒了一件事,寫程式時本來就覺得怪怪的。
當我在引用 mcc18 的 18f4420.h 時,該 header 檔有兩項怪事: 1. 該檔案只將 OSCTUNEbits 定義到 TUN0:TUN5 = OSCTUNE<0:5> ,bit6 & bit7 並未定義。相對的,剛剛查了一下,您提到的編號,例如18f2525,bit6 & bit7 被定義為 PLLEN 及 INTSRC。是不是 18f4420 根本沒有就沒有 PLLEN?但是 DS39631A 確清楚說明 PLL 的處理方式,為何呢? 2. DS39631A 內說 OSCTUNE 的 Frequency Tuning bits 為 <0:4> 5個 bits,為何 18f4420.h 內要將 Frequency Tuning bits 定義成 <0:5> 6個 bits? 您又是依據哪ㄧ個 Data Sheet 發現 18f4420 沒有支援 PLL? 看起來 DS39631A 是錯的了!!!
發表於: 2005/10/4 17:44
|
|||
|
Re: 18f4420 的 PLLEN
|
||||
---|---|---|---|---|
初級會員
|
18F4420文件內確有 x 4 PLL 的說明,請見18F4420 Datasheet 文件編號 DS39631A, Page 28. Fig. 2-8, PIC18F2420/2520/4420/4520 CLOCK DIAGRAM. 及 Section 2.6的 說明。
另,若依說明內容,PLL 是一般 Control Register 而不是 Configuration Register 的事, 應該是程式內設定。如何將 Target Board關電再開?
發表於: 2005/10/4 16:33
|
|||
|
Re: 18f4420 的 PLLEN
|
||||
---|---|---|---|---|
版主
|
還有一點更改 PLL 震盪器的設定後,一定要將Target Board關電再開新的設定值才會有效 (使用 ICD2 時)
發表於: 2005/10/4 10:55
|
|||
|
18f4420 的 PLLEN
|
||||
---|---|---|---|---|
初級會員
|
我使用PIC18F4420,現在需要用到 8MHz (INTOSC) * 4 (By PLL) = 32 MHz來測試另一片PIC184420的 PSP。
依據手冊 PLL 的啟動需符合兩個條件: The PLL is available when the device is, 1. configured to use the internal oscillator block as its primary clock source (FOSC3:FOSC0 = 1001 or 1000). 2. the PLL will only function when the selected output frequency is either 4 MHz or 8 MHz (OSCCON<6:4> = 111 or 110). 當這兩個條件都符合時,可設定 PLLEN (OSCTUNE<6>) = 1,以啟動PLL。 我依此將 configue bits 設成 FOSC3:FOSC0 = 1001, 並於程式起始處加入以下程式 (by C18): OSCCON = 0b01110011; OSCTUNE= 0b01000000; 結果仍是 8M Hz,顯然PLL未被啟動。這是為何呢?期先進們能指導一二。 (注:由於此 PIC18F4420 是透過 UART PORT 與 PC 聯繫,8 M Hz 的確認是透過 RS-232 的收發狀況判斷。曾嘗試用 4 Mhz * 4,結果仍是 4 M Hz,PLL也沒有成功啟動。)
發表於: 2005/10/4 3:21
|
|||
|