2007-02-15 09:46:43 Maximum frame rate on PPI
Mattias K (SWEDEN)
Message: 22499
Hi,
I have a BF537 system where the system clock is 100Mhz and where I have a PPI clock in 48Mhz (Maximum would be 50Mhz (system clock/2) according to data sheet pp33). The PPI ports are connected to an image sensor and the PPI driver simply waits for frames and puts them in the SDRAM. My problem is that when I do nothing else but waiting for the PPI data it all works fine but as soon as I have other processing (that involves reads and writes to the SDRAM) while I'm waiting I get a PPI overflow error. (Acoording to the HRM pp5-46 it says that Accesses to internal or external memory which conflict with core accesses to the same memory limit the actual performance).
So finally my question... Is it possible to have a workaround for this? My goal is to have parallel processing while receving new data through the PPI port. In case it involves reducing the PPI clock rate, what in that case is the maximum ppi clock rate for having stable parallel processing?
as always, any help is appreciated
regards,
/Mattias
QuoteReplyEditDelete
2007-02-16 12:10:42 Re: Maximum frame rate on PPI
Robin Getz (UNITED STATES)
Message: 22527 Mattias:
There is a kernel config which controls the priority on the EBIU - make sure it is set to "DMA has priority".
Do, a " make linux_menuconfig", then select "Blackfin Processor Options", -> " EBIU_AMBCTL Global Control" -> " DMA has priority over core for ext. accesses".
Normally, this it turned on (depending on your kernel version).
Also if possible - increase the CCLK/SCLK as much as possible - it you are using 25MHz crystal - try either 600/120 or 525/131.25 (on a 600MHz part), or 500/125 on a 500MHz part.
-Robin
QuoteReplyEditDelete
2007-02-18 10:46:35 Re: Maximum frame rate on PPI
Mattias K (SWEDEN)
Message: 22568
Hi Robin,
Thanks for the response.
After some more debugging we realized its a hw problem on our side. As soon this fixed I'm now sure it will work on the blackfin side. Sorry for putting our own HW issues on the forum.
regards,
/Mattias
QuoteReplyEditDelete
2008-03-03 06:15:52 Re: Maximum frame rate on PPI
Mattias K (SWEDEN)
Message: 51990 Hi,
Again I have a problem with PPI and "high" frame rates.
I have a BF537 and is running PPI on 24Mhz and I store the received data from PPI in SDRAM (around 300KB per frame) ( I have the CDPRIO flag set (DMA has priority over core for external accesses)).
When running ONE thread only there is no problem, the PPI can run for hours. However as soon as I start to use multithreading I get overflow errors (PPI status 0x1000).
I'm using the built in PPI kernel module, and I have tested bfin clock rates CCLK/SCLK of (500/100) and (600/120). The (600/120) gives better performance but I still see the overflow error with an unacceptable rate.
I have been searching on the forum and found some explanation that it could be related to cache misses but I thought that the CDPRIO flag would fix this? What am I missing, what is really the CDPRIO flag function?
/Mattias