Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - alk

Pages: [1]
Character LCDs / Re: 2x NHD-0420D3Z I2C Problem
« on: July 20, 2016, 09:34:11 PM »
Yes, I've done so and there is again no change in the waveforms. I guess this means that the internal pull-ups on the display's pic16f690 are enabled. I've tried lower termination resistances as well (2Kohm) with no changes. I checked the series resistance on the i2c bus (the resistance of my wiring) and it was about 30 ohms. This seems a little high since the wire (22AWG) should only provide 52 ohms/km and there's only about 1foot of wire.

Could it be that the weak internal pullups are too low value and are dragging the pullup resistance way down?

Character LCDs / Re: 2x NHD-0420D3Z I2C Problem
« on: July 18, 2016, 06:06:37 PM »
No, these are the only two devices on the bus.

The bus waveforms for the case of a single display is almost identical to the case with two displays. I did, however, notice a small difference today. For the latter case, the SDA line only gets pulled down to about 900mV for the ACKs whereas the SDA line gets pulled down to about 400mV when only one display is plugged in. The datasheet says that the the voltage must be below 0.6v to register as a low input. Could it be that the other display (the one not being addressed) is trying interpreting an ACK as a release of the bus?

I tried removing the pullup from one of the displays since I thought that perhaps the parallel combination of the two pullups (5KOhm) could be fudging the voltage levels. However, this changed nothing.

Character LCDs / Re: 2x NHD-0420D3Z I2C Problem
« on: July 11, 2016, 04:18:18 PM »
Both displays are powered by a single 5V rail. My control board has 3.3v outputs connected to a bi-directional level shifter with 10kOhm pullups

Character LCDs / 2x NHD-0420D3Z I2C Problem
« on: July 10, 2016, 06:01:42 PM »

I've used these displays in the past with success, and now I'm using two of them in parallel on the I2C bus and I can't figure out what's wrong. Each of the two displays has been assigned its own I2C address and they both work great if they are individually plugged in. However, when I plug them both in neither screen accepts any command and nothing is displayed. I've checked the waveforms on my scope and they are identical to the waveforms of the individual LCD operations. Therefore, I must conclude that neither slave device is holding any of the lines low. I've tried reducing my clock speeds down to well below 100kHz with no effect... I am completely at a loss as to how to debug this or where the problem even lies. Has anyone experienced this problem before or have any insight?

Character LCDs / Re: Changing the Slave Address with NHD-0420D3Z
« on: January 13, 2015, 01:53:20 PM »
Haha oh wow I feel silly. I did initially note that this command needed a longer delay. When I went back to check my code it turns out I was only delaying for about 2 ms given the clock rate of my controller. Increasing the delay has done the trick and everything works great, thanks Michael!

Character LCDs / Changing the Slave Address with NHD-0420D3Z
« on: January 09, 2015, 02:48:15 PM »
Hello, I am working on a project in which I run two of the specified character LCD displays on a single I2C bus as slaves. The master/controller in this scenario is a KL25z Freedom Platform. I've been able to successfully write text to the LCD, move the cursor around, and execute several of the commands specified in the data sheet. However, in order for my project to work, I need to be able to talk to one LCD and not the other. Obviously, I should just change the I2C slave address of one of the two LCDs. However, when I execute the command specified in the data sheet, nothing happens and the display still responds to the default address. Has anyone had this issue or know what might be wrong?

Pages: [1]