Forum: Mikrocontroller und Digitale Elektronik Oszillator / Bootloader Einstellungen beim dsPIC30F4011


von Andreas G. (beastyk)


Lesenswert?

Moin Leute,

ich habe einen externen Quarz mit 20MHz für meinen dsPIC spendiert.
Sehe ich das richtig das ich dann als Einstellung etwas in dieser Art 
wählen sollte:

HS/3 w/PLL 16x mit (20MHZ/3)* 16 = 106,667 MHz internen Takt (max. 
intern Takt ist 120 MHz)

Wie müßte denn der Bootloader für den dsPIC30F 
(AN1094/Bootloader_SW_022409) umgeschrieben werden und wie schaut das in 
der HEX-Datei (Programm) aus?

Habe mit dem Bootloader selber noch nichts gemacht.

Jede Hilfe ist willkommen!

gruß
Andi

von Andreas G. (beastyk)


Lesenswert?

Moin Leute,

seh ich das (nach Studium einiger Datenblätter) richtig das der 
dsPIC30F4011 zwar HS unterstützt aber nicht HS/3 w/PLL 16x?
Dann kann ich meinen dsPIC ja nur bei 20 MHz laufen lassen grummel.

gruß
Andi

von Andreas G. (beastyk)


Lesenswert?

Ich nochmal:

Zum Thema Bootloadereinstellungen, wenn main.c (aus 
Bootloader_SW_022409)mit XT 7,2738MHz im Original so aussieht
1
#include "p30fxxxx.h"
2
3
4
//Defines for System Clock Timing -
5
//For oscillator configuration XT x PLL8 mode,
6
//Device Throughput in MIPS = Fcy = 7372800*8/4 = ~14.74 MIPS
7
//Instruction Cycle time = Tcy = 1/(Fcy) = ~68 nanoseconds
8
9
#define XTFREQ          7372800         //On-board Crystal frequency
10
#define PLLMODE         8               //On-chip PLL setting
11
#define FCY             XTFREQ*PLLMODE/4        //Instruction Cycle Frequency
12
13
#define BAUDRATE         115200       
14
#define BRGVAL          ((FCY/BAUDRATE)/16)-1 
15
16
#define COMMAND_NACK     0x00
17
#define COMMAND_ACK      0x01
18
#define COMMAND_READ_PM  0x02
19
#define COMMAND_WRITE_PM 0x03
20
#define COMMAND_READ_EE  0x04
21
#define COMMAND_WRITE_EE 0x05
22
#define COMMAND_READ_CM  0x06

müßte ich dann den Code mit einem 20MHz Quarz (HS) so schreiben
1
#include "p30fxxxx.h"
2
3
4
//Defines for System Clock Timing -
5
//For oscillator configuration XT x PLL8 mode,
6
//Device Throughput in MIPS = Fcy = 7372800*8/4 = ~14.74 MIPS
7
//Instruction Cycle time = Tcy = 1/(Fcy) = ~68 nanoseconds
8
9
#define HS          20000000         //On-board Crystal frequency
10
//#define PLLMODE         8               //On-chip PLL setting
11
#define FCY             HS/4        //Instruction Cycle Frequency
12
13
#define BAUDRATE         115200       
14
#define BRGVAL          ((FCY/BAUDRATE)/16)-1 
15
16
#define COMMAND_NACK     0x00
17
#define COMMAND_ACK      0x01
18
#define COMMAND_READ_PM  0x02
19
#define COMMAND_WRITE_PM 0x03
20
#define COMMAND_READ_EE  0x04
21
#define COMMAND_WRITE_EE 0x05
22
#define COMMAND_READ_CM  0x06
23
#define COMMAND_WRITE_CM 0x07
24
#define COMMAND_RESET    0x08

Und ist das das einzige was ich ändern muß und muß ich das Programm das 
ich später über den Bootloader laden will  noch verändern?

Gruß
Andi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.