>> I'm using the MSSP module on a 18F2221 as an I2C slave. The datasheet >> mentions that SMBus specific inputs can be enabled >> when the SMBus Select bit (SSPSTAT,CKE) is set, but it doesn't say how >> this >> affects the input voltage levels. >> >> Does anyone know what the levels change to? >> >> According to version 2.0 of the SMBus spec http://smbus.org/specs/ , >> input >> high is minimum 2.1V and input low is maximum 0.8V, but they might not >> necessarily be the values the PIC uses. > Being a digital input on the PIC, it shouldn't make a difference > whether it is a generic input pin or an I2C input. Therefore, you > would just look at the electrical characteristics charts at the end of > the datasheet to find the min/max voltage thresholds for a digital > input pin. Yes, that was my first thought, but then I read that it was possible to configure the MSSP module in I2C mode for SMBus. I'm sure there is a difference between I2C and SMBus. The datasheet shows that the MSSP module normal I2C input is Schmidt trigger, which has a high threshold of 0.8Vdd, which on a 5V pic is 4V. What it doesn't say is what the high threshold changes to when the SMBus select bit is set. What I need to do is run a master (18f2620) at 3V3, but the slave device at 5V with just ground, SCL and SDA connected. A high threshold of 4V on the slave won't work (because the pullups only pull up to 3V3 on the master), so I'm hoping that setting the SMBus select bit will allow the slave device running at 5V to see a logic high at 3V3. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist