From: Uwe B. <bo...@el...> - 2011-09-27 21:02:29
|
>>>>> "Álvaro" == Álvaro Lopes <alv...@al...> writes: Álvaro> Uwe Bonnes wrote: >> Looking at the protocoll in S71296_05.pdf, I think you won't gain >> much. Polling in the 10 us timeframe required for the Byte >> programming time (TBP) is always slow if USB round trips are >> involved. >> >> Combining AAI/ trigger Read software status/ read software status to >> one single USB transfer will probably always return "not ready" as >> the 10 us TBP wait time has not yet elapsed and so you have to go >> another USB round trip for the next poll cycle. >> >> What about adding the hardware poll mechanism to the BSCAN-SPI core? Álvaro> That would add much complexity to the core, I'd prefer to avoid Álvaro> that (of course a specific bscan part can be provided). >> Or perhaps you add dummy SCK cycles with CE high to fullfill the >> "wait TBP" requirement? No need to poll then. Álvaro> This is indeed interesting. The only problem I see right now is Álvaro> that there seems not to be a way to figure out TCK frequency. SCK frequency for the BSCAN SPI core is the TCK frequency. But we have only control on the tck frequency of the FTDI... >> Remember that every POLL needs at least 125 us USB round trip (to my ... Álvaro> I did implement with non-busy check, meaning no wait for tBP Álvaro> (works well for low speeds), and I can erase+program+verify in Álvaro> about 6 seconds (increasing the FTDI JTAG frequency to its Álvaro> maximum). Other approaches (except for TCK one, which adds about Álvaro> 2 seconds) are painfully slow. Álvaro> While doing so, I have found some bugs on read and verify which Álvaro> I'll address later on this mailing list. Álvaro> The current implementation is an exception to the rule, like Álvaro> AT45 parts. I wonder if it would be best to have a separate Álvaro> class, with override-able methods, and implement the generic Álvaro> case on base class, and have AT45 and SST derive from it and Álvaro> implement the specifics on their classes. If you still need to load BSCAN-SPI, it's an exception to the rule. If BSCAN-SPI isn't loaded, it's a seperate class, in my opinion. But at last, it is your implementation... Bye -- Uwe Bonnes bo...@el... Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ---------- |