User Tools

Site Tools


software_behav

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
software_behav [2017/06/06 09:09] adminsoftware_behav [2017/06/06 11:20] (current) – [Commands Core Set] admin
Line 125: Line 125:
 |**FLPG**|Program Flash |4|cc|ADD H|ADD L| | | |**FLPG**|Program Flash |4|cc|ADD H|ADD L| | |
  
 +**FLRW** 
 +Reads a program word. The address is (ADD_H:ADD_L)AND(0xFFFE).
 +Word value can be returned in the answer in place of the address.
  
 +**FLCP**
 +Copy a flash page into the internal temporary buffer. The page address is that of the page to which the location specified by ADD_H:ADD_L belongs. 
 +Answer could be the address page in the proper format.
  
 +**FLWW**
 +Writes a word in the temporary buffer. Note that proper care should be paid in addressing, according to the precautions (see devices' Data Sheets) required to avoid corruption of the temporary buffer. 
 +No answer is really needed, a simple "1" would suffice as a sort of "done, send another command" acknowledgement.
  
 +**FLPG**
 +Issue the command for programming flash. 
 +Once again, a simple "1" is sufficient in the answer as acknowledgement.
 +
 +
 +N.B.: In principle, the command FLCP is not strictly required. One can read the content of a flash page using FLRW and write the value in the proper location via FLWW. When programming a large number of flash pages, the time required for communication becomes significant: FLRW require at east 8 ms (transmission of 4 bytes, reception of 4 bytes). FLWW requires at least 7 ms (transmission of 6 bytes and acknowledgment reception) for a total of 15 ms. Reading/Writing 1k-words will therefore require at least 15 seconds. Using FLCP the overall time reduces to about 7 seconds. 
 +
 +
 +
 +===Commands for reading and modifying EEPROM ===
 +
 +Most of the operations required for reading and writing the EEPROM can be accomplished by reading/writing IO registers through the proper command (seeding address, seeting data for write). However actual writing requires a sequence of operation that can only managed by a aproper sequence of code ("arming" the writing mechanism and issuing the writing command within four clock cycles). 
 +
 +Therefore a dedicated command for writing is required, while reading can be accomplished to the data writing commands. However, we can define a specific command for EEPROM reading.
 +
 +^MNEM^Description^byte1^byte2^byte3^byte4^byte5^byte6^
 +|**EERB**|Read a byte from EEPROM |4|cc|ADD H|ADD L | | |
 +|**EEWB**|Write a byte to EEPROM |5|cc|ADD H|ADD L |VAL | |
 +
 +
 +==== Commands Core Set ====
 +Command core set is the minimum sets of commands that need to be implemented and whose action cannot be replicated with a combinations of other commands in the same set. 
 +
 +As we have note before, for instance, the FLCP command, while useful, is not a core command: we can obtain the same effect by using a series of FLRW and FLWW. 
 +
 +At this stage, the commands that appear to belong to the core set are:
 +
 +**RRAM**,**WRAM**,**FLRW**,**FLWW**,**FLPG** and **EEWB**;
 +
 +
 +This means that the minimum length for the CVT should be 16, with a margin for two more core system command (in case we realize we have forgotten something) and a set of 7 user comments. 
 +
 +The other commands listed so far (RPG0, WP0M, FLCP and EERB) can be included in the immediate super-set (len(CVT)=32) together with other commands for ase of use. 
 +
 +The target should be, however, to start in any case with the core command set ( from now on CMN_LVL_0) and to obtain reconfiguration toward richer command sets using the core command set. In short, we should insure that once a SNC is programmed with the core command set (with an external programmer), it can be upgraded by the MNC through ANT. 
 +
 + 
  
software_behav.1496740162.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki