no more than 6 cog?
devettore
Posts: 2
I was playing for a while with a propeller when I wanted to add a new cog for a counter.
But after many tentatives,· I discovered that I cannot run more than 6 cog toghether.
If I start the 7th cog, the chip goes in a endless reboot loop.
here is the main program:
CON
· _clkmode = Xtal1 + pll16x
· _xinfreq = 5_000_000
'
'
OBJ
· C1 : "Cog_1"
· C2 : "Cog_2"
· C3 : "Cog_3"
· C4 : "Cog_4"
· C5 : "Cog_5"
· C6 : "Cog_6"
PUB start |cog
cog:= C1.start
cog:= C2.start
cog:= C3.start
cog:= C4.start
cog:= C5.start
'cog:= C6.start··
Attached is the simple objectI have used to check the issue.
The other object are a replica with just different test pin out.
I assume that 1 cog is started for the boot, so I should have 7 more cog to run, isn't?
Ps. sorry·,·but I dont·find the instructions on how to show properly the code on the post.
But after many tentatives,· I discovered that I cannot run more than 6 cog toghether.
If I start the 7th cog, the chip goes in a endless reboot loop.
here is the main program:
CON
· _clkmode = Xtal1 + pll16x
· _xinfreq = 5_000_000
'
'
OBJ
· C1 : "Cog_1"
· C2 : "Cog_2"
· C3 : "Cog_3"
· C4 : "Cog_4"
· C5 : "Cog_5"
· C6 : "Cog_6"
PUB start |cog
cog:= C1.start
cog:= C2.start
cog:= C3.start
cog:= C4.start
cog:= C5.start
'cog:= C6.start··
Attached is the simple objectI have used to check the issue.
The other object are a replica with just different test pin out.
I assume that 1 cog is started for the boot, so I should have 7 more cog to run, isn't?
Ps. sorry·,·but I dont·find the instructions on how to show properly the code on the post.
spin
1K
Comments
I can imagine 3 reasons:
(1) The files Cog_2 ... Cog_6 contain funny things
(2) A defect in your propeller
(3) Your battery works marginally and the last COG just draws the rest of current out of it.. (+2 mA!)
your·third suggestion was the right solution.
I· raised the supply from 3 to 3.3 and now· works.
I will further investigate with the oscilloscope to see if was the intervention of the brownout to reset the micro.
I tought that 3V was safe, but maybe it's too close to the 2.7V trip point of the brownout.
thanks again
3V was always too low with 80 MHz.
Setting the supply voltage to 3.6 or even a little bit higher allowed very stable operation at even 100MHz.
A good buffering (100nF between each of the +/- leads) should be also a recommendation from Parallax...