Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/23/11 15:17
Read: times


 
#181632 - IIC "snooper" If anyone have a definite answer
I am making an IIC "snooper" as part of a test board and am in doubt on one thing

I have a guess, but no definite knowledge of the "OR" you see over the highlighted line below.

If anyone have a definite answer, preferable with a document reference, please let me know.

If anyone has nothing better to to, you ar welcome to check it, and let me know.

Erik


//////////////////////////////////////////////
//
// IIC snooper actions
//
// err = error
// ign = ignore
// imp = impossible (equal to entry state)
// HI  = high at entry
// LO  = low at entry
// ^   = low at entry, going high
// v   = high at entry, going low
//
//
// from idle state
//     
// SCL  HI   LO   HI   LO   ^    ^    v    v 
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      err  ign  sb   ign OK   err  err  err
//
// from sb (start begin)
//   
// SCL  HI   LO   HI   LO    ^    ^    v    v     
// SDA   ^    ^    v    v   HI   LO   HI   LO   
//      err  imp  imp  imp  imp  imp  imp  sta          
//
// from sta (start) "collect byte" which is address
// then go to DATACB 
//
// DATACB run ("collect byte") 
// on nak display byte with 'N' goto DATACB ??? OR goto idle

anyone have definite knowledge on the above "OR" ?
// on rtn display byte with 'G' goto DATACB
// on hbx goto hbx
//
// "hbx" collect byte, halt (stop) bit exit
//
// SCL  HI   LO   HI   LO    ^    ^    v    v     
// SDA   ^    ^    v    v   HI   LO   HI   LO   
//      hlt  imp  imp  imp  imp  imp  imp  err
//




////////////////////////////////////////////////////////////////////////
//
// "collect byte" sub description
// assumed (can see no way it is not) SCL is low at entry
//
//
// collect byte, first bit entry
// no action should be needed (impossible or go_on)
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      imp  ign  hbx  ign 1bd  1bd  imp   imp          
//
//
// "1bd" collect byte, first bit duration
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      hbg  imp  err  imp imp  imp  fdb  fdb
//
// "hbg" go to halt (stop) begin
// "fdb" save data bit and go to collect middle bit entry
//
// "mbe" collect byte, middle bit entry
// no action should be needed (impossible or go_on)
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      ign  imp  ign  imp mbd  mbd  imp   imp          
//
// "mbd" collect byte, middle bit
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      err  imp  err  imp imp  imp  mdb  mdb
//     
// "mdb" IF 8 bits collected save the data bit and go to "9be"
// else save the data bit and go to "mbe"
//
// "9be" collect byte, 9th bit entry
// no action should be needed (impossible or go_on)
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      ign  imp  ign  imp 9bd  9be imp   imp          
//
// collect byte 9th bit
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      imp  hbx  nak  imp imp  imp  rtn  rtn









List of 4 messages in thread
TopicAuthorDate
IIC "snooper" If anyone have a definite answer            01/01/70 00:00      
   one more ???            01/01/70 00:00      
      illegal states            01/01/70 00:00      
         thanks, Jan            01/01/70 00:00      

Back to Subject List