| ??? 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 |
| Topic | Author | Date |
| 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 |



