Using I2C debugger in Proteus

Thread Starter

Cable Guy

Joined Mar 23, 2012
3
I want to simulate communication with an MCP9801 serial output temperature sensor in Proteus VSM by using the I2C debugger as the bus master.

Below is the schematic and simulation results (link to the image: http://imageshack.us/photo/my-images/543/testcircuit.jpg/):


The command sequence should read temperature from the TA register (timing diagram from datasheet: http://imageshack.us/photo/my-images/9/timingdiagramq.jpg/).

Reference: link to the MCP9801 datasheet:http://www.datasheetcatalog.org/datasheet2/d/0jah5j3yagu1fft7wczs570sskfy.pdf


These are the settings in the "Edit Component" window:

Clock frequency in Hz:10 000 (10 kHz)

Adress byte 1: (Default) // Master mode
Adress byte 2: (Default) // Master mode

Stop on buffer empty?: checked

Advance Properties->Queue stored sequences at startup: NO




The problem might be that I do not understand the role of the TRIG pin of the I2C; here is what I found in the I2C debugger help file:

''The TRIG pin is an input that causes the succesive stored sequence to be placed on the output queue."

From what I understand, this TRIG pin is used to move sequences from the "Predefined Sequence" list to the "Queued Sequences" list. But that can be done by clicking the "Queue" button in the analyzer's pop-up window.

Is it possible to simulate this type of communication (between I2C debugger -master and MCP9801 - slave), or do I have to write code for a microcontroller and just use the I2C debugger to monitor the transfer?
 

Vick77

Joined Oct 14, 2009
1
Hi, I don't know if is useful now, but yes you can use the I2C debugger as master to communicate with I2C devices, simply make a sequence and send to the device, for example to write into an EEPROM memory.

The trigger terminal is used to send the sequences only when you want to, in a specific moment or if you create a list of sequences you can send one by one controlled by the TRIG input.

Hope it helps...
 
Top