Texas Instruments bq27500 Marine Instruments User Manual


 
www.ti.com
4.3MANUFACTURERINFORMATIONBLOCKS
4.4ACCESSMODES
4.5SEALING/UNSEALINGDATAFLASH
bq27500
bq27501
System-SideImpedanceTrack™FuelGauge
SLUS785SEPTEMBER2007
Thebq27350contains96bytesofuserprogrammabledataflashstorage:ManufacturerInfoBlockA,
ManufacturerInfoBlockB,ManufacturerInfoBlockC.Themethodforaccessingthesememory
locationsisslightlydifferent,dependingonwhetherthedeviceisinUNSEALEDorSEALEDmodes.
WheninUNSEALEDmodeandwhenand“0x00”hasbeenwrittentoBlockDataControl(),accessingthe
ManufacturerInfoBlocksisidenticaltoaccessinggeneraldataflashlocations.First,aDataFlashClass()
commandisusedtosetthesubclass,thenaDataFlashBlock()commandsetstheoffsetforthefirstdata
flashaddresswithinthesubclass.TheBlockData()commandcodescontainthereferenceddataflash
data.Whenwritingthedataflash,achecksumisexpectedtobereceivedbyBlockDataChecksum().Only
whenthechecksumisreceivedandverifiedisthedataactuallywrittentodataflash.
Asanexample,thedataflashlocationforManufacturerInfoBlockBisdefinedashavingaSubclass=
58andanOffset=32through63(32byteblock).ThespecificationofClass=SystemDataisnotneeded
toaddressManufacturerInfoBlockB,butisusedinsteadforgroupingpurposeswhenviewingdata
flashinfointhebq27500/1evaluationsoftware.
WheninSEALEDmodeorwhen“0x01”BlockDataControl()doesnotcontain“0x00”,dataflashisno
longeravailableinthemannerusedinUNSEALEDmode.Ratherthanissuingsubclassinformation,a
designatedManufacturerInformationBlockisselectedwiththeDataFlashBlock()command.Issuinga
0x01,0x02,or0x03withthiscommandcausesthecorrespondinginformationblock(A,B,orC,
respectively)tobetransferredtothecommandspace0x400x5fforeditingorreadingbythesystem.
UponsuccessfulwritingofchecksuminformationtoBlockDataChecksum(),themodifiedblockisreturned
todataflash.Note:ManufacturerInfoBlockAis“readonly”wheninSEALEDmode.
Thebq27500/1providesthreesecuritymodesinwhichcontroldataflashaccesspermissionsaccordingto
Table4-6.PublicAccessreferstothosedataflashlocations,specifiedinTable4-7,thatareaccessibleto
theuser.PrivateAccessreferstoreserveddataflashlocationsusedbythebq27500/1system.Care
shouldbetakentoavoidwritingtoPrivatedataflashlocationswhenperformingblockwritesinFULL
ACCESSmode,byfollowingtheprocedureoutlinedinSection4.2.1.
Table4-6.DataFlashAccess
SecurityModeDFPublicAccessDFPrivateAccess
BOOTROMN/AN/A
FULLACCESSR/WR/W
UNSEALEDR/WR/W
SEALEDRN/A
AlthoughFULLACCESSandUNSEALEDmodesappearidentical,FULLACCESSallowsthebq27500/1
todirectlytransitiontoBOOTROMmodeandalsowriteaccessmodetransitionkeys.TheUNSEALmode
lackstheseabilities.
Thebq27500/1implementsakey-accessschemetotransitionbetweenSEALED,UNSEALED,and
FULL-ACCESSmodes.Eachtransitionrequiresthatauniquesetof2keysbesenttothebq27500/1via
theControl()controlcommand.Thekeysmustbesentconsecutively,withnootherdatabeingwrittento
theControl()registerinbetween.Notethattoavoidconflict,thekeysmustbedifferentfromthecodes
presentedintheCNTLDATAcolumnofTable4-2Control()subcommands.
WheninSEALEDmodetheControlStatus()’s[SS]bitisset,butwhentheUNSEALkeysarecorrectly
receivedbythebq27500/1,the[SS]bitiscleared.WhentheFULL-ACCESSkeysarecorrectlyreceived
thentheControlStatus()[FAS]bitiscleared.
SubmitDocumentationFeedbackGENERALDESCRIPTION17