Infineon XC164 setup

have a Infineon Demo Board with the XC164 here but the bus speed seems wrong. I have 2 boards with same behavior and there is also a version with the XC161. Wrote asm example to tx a serial char at asc0 and this appears to have about

1,9 kbaud of speed while I expect 9,6kbaud with 40Mhz bus speed. Rx input interrupt triggers well but rx character is wrong.

This way I assume I do not have the 40Mhz CPU speed with a 8 Mhz external crystal. I changed this to a 40 Mhz canned oscillator and nothing happens. Even if I remove the crystal completely it is the same slow speed. Therefore I assume the CPU operates in PLL emergency mode.

I tried to make some PLL initialisation code using DAVE, but this throws more new questions to me than explaining old questions. Anybody already has some experience with setup of that uC ?

Reply to
Janvi
Loading thread data ...

Janvi, which tools do you use for programming ?

which XC164 step do you use ?

I would recommend to leave the CPU PLL stuff alone an run it in cold start reset configuration before attempting anything else.

grtnx /jan

Janvi schrieb in im Newsbeitrag: bu8ogt$7n7$01$ snipped-for-privacy@news.t-online.com...

about

I

CPU

Reply to
Jan Homuth

wrong.

XC161.

about 1,9 kbaud

triggers well

Heh - I recently saw something similar with a newly-spun H8 board. Not sure if it's relevant, but just in case: our H8 was programmable for various bus speeds, wait states, and execution speeds. Sensibly, it defaulted to the slowest everything. Booting the board with minimum code meant a board that was running at a fraction of the designed clock speed - once we added the code to fully initialise all of the various bus/clock mode registers our board ran at full whack. (BTW, this also affected the UART clock source.)

Hope this helps in some way,

Steve

formatting link
formatting link

Reply to
Steve at fivetrees

If you run the board in stand-alone mode (program located in internal flash memory) you need to initialize the PLLCON SFR register _before_ the EINIT instruction is executed to set desired frequency. After EINIT this SFR register can't be modified since it's write protected.

--- Ulrich

"Janvi" schrieb im Newsbeitrag news:bu8ogt$7n7$01$ snipped-for-privacy@news.t-online.com...

about

I

CPU

Reply to
Ulrich Kloidt

made my first attempt with Hitop from

formatting link
what came with a compiled Keil example. Connected PC to the OCDS Port of target board. With this tool I was not able to load my code to internal flash but external bus at address

00:0000 seems to load well. Starting the CPU in uC Mode shows vector base location and CSP with a value of 0x0C but out of dark resons I cannot load my code here. Intentionally I do not use the inter segment JMPS and out of that reason my code should work in both configurations internal and external (?)

Also still have the Altium demo in the drawer for a few month but I recently erased installation again becouse it bothered me with corrupting my handwritten project and makefiles what I used for other HC05 projects with genuine codewright. I am going to try this installation again carefully modifying the windows file extenstion to programm association manually. Maybe this avoids assuming the package that everything at the machine is directed to the special Codewright version what overwrites even strange makefiles to call Altium without any confirmation or warning (lucky I had always backups) Maybe the code examples or runtime startup provided with the demo will solve some questions

My own board is in the drawer for few month now and we already made another version using Motorolas HC12 becouse EBV delayed the ship of the CPU samples for over 6 month. The complete CPU label shows:

INFINEON SAK - XC164CS

-16F40F AC (C) Infineon 01

0312

The 0312 seems not to mean manufactured in december 2003 becouse chips were supplied somewhat before. Assume the "AC" is the silicon mask version. The chips in the demo board what I have in use for this moment show: ...

-16FF ES-AB E21

thats what I do this moment. I simply load Stack and Register base (even they are already at correct HW reset default values) and switch off the watchdog to prevent trigger. Same behaviour with and without EINIT what seems not required if no peripherals connected to Reset-Out.

My own board works only in uC internal flash mode but I decided to start first experiments with Infineon supplied board to avoid extra difficulties with own hardware. Hope I can tackle the internal mode soon. DAVE provides some code for a function what can be called to "unlock" protected registers but all what I understand for that code is, that this unlock is directed to the flash security feature and not the SFR area. And even if the lock would be valid for SFR it would not be active until user programmes the protection keys to seperate flash segment (what I have never done)

Reply to
Janvi

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.