Jump to content

Display options


Duggle
 Share

Recommended Posts

Yes, this will be the only way to analyze it further.

 

Just use two probes, and compare the signals at the D0 and D1 pins (e.g. compare with Display 1)

And also check, that the CS lines are strobed from the 74HC595

 

Best Regards, Thorsten.

Link to comment
Share on other sites

I tryed with a 100Ohm from SDA to ground. All Disp. dark.

I tryed with a 100Ohm from SCLK to ground. no change.

I tryed with a 220Ohm from SDA to Ground. All Disp. dark.

I tryed with a 220Ohm from SCLK to Ground. no change.

Have you tried series termination? This would be more likely to improve things in my experience. I've had great success resolving issues with DOUT chains by doing this.

Start by trying a 100Ohm at the driver (core) in series with SCLK.   

Link to comment
Share on other sites

Thats what i have in my DIN/OUT just after the IC1 (HC541). But its quite difficult to ad those resistors because the core has to much pins...

i try...

 

WORKED!

I dont have any iluminosity problems anymore. And the Fliping over and Spreading is gone. Disp. 9-12 don't work yet but i think that that is a layout problem. Disp. 13-16 work but show the wrong SSD1306#xy number. (because 9-12 does not work i think.)

 

but that is a major leap now. Il take a beer over that. and you guys deserve one as well!

Thanks a lot!

novski

Link to comment
Share on other sites

Great! When you get hold of a CRO you will be able to "fine tune" the value of resistor. Also take a look at SDA as well.

Basically when you see "ringing" increase the termination resistor. 

When you see "slow edges" try by decreasing the resistor.

In fact, even before you have a CRO to look with, you can try a few different values, say in about 50Ohm increments. At a certain point you will lose all communication.

An easy place to solder the resistor is by cutting the wire close to the IDC connector at the core and soldering the resistor in there. 

Link to comment
Share on other sites

Wow, good catch Duggle! I haven't expected that a serial termination makes a big difference in this case.

 

 

Disp. 9-12 don't work yet but i think that that is a layout problem. Disp. 13-16 work but show the wrong SSD1306#xy number. (because 9-12 does not work i think.)

 

I just have noticed, that the test application doesn't support more than 12 displays, because it has been developed before I added the J28 SR extension.

This means, that actually Display 13-16 should be black!

 

(Shame on me that I only tested the CS 9 and 10 yesterday, and not all pins...)

 

So, could you please check this new build: http://www.ucapps.de/tmp/mios32_test_app_lcd_ssd1306_LPC1769_16OLEDs.zip

 

MBNG should already allow you to access all displays.

You can try this by entering following LCD commands:

lcd @(1:1:1)OLED1
lcd @(2:1:1)OLED2
lcd @(3:1:1)OLED3
lcd @(4:1:1)OLED4
lcd @(5:1:1)OLED5
lcd @(6:1:1)OLED6
lcd @(7:1:1)OLED7
lcd @(8:1:1)OLED8
lcd @(9:1:1)OLED9
lcd @(10:1:1)OLED10
lcd @(11:1:1)OLED11
lcd @(12:1:1)OLED12
lcd @(13:1:1)OLED13
lcd @(14:1:1)OLED14
lcd @(15:1:1)OLED15
lcd @(16:1:1)OLED16

into MIOS terminal while the MBNG firmware is running

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Douggle, do you think its necessary to fine adjust that resistor? Because getting a scope is quite expensive and the one i can maybe use is far away...

If things are set up so it is easy change the R, then simply experimenting with different values may be enough to terminate optimally.

The last time I went through a similar situation I considered putting a 500R trimpot on the clock line wired as a rheostat (variable resistor). I didn't need to in the end.

The advantage of using a CRO is that you can see why a termination is working, and how well, possibly resulting in better margin of error (less likely to start seeing artifacts/failure in unusually hot or cold temperatures, for example).

If you cannot see the waveforms (i.e. no CRO) then I would establish the minimum and maximum R that works (based on say 50R increments, as I suggested earlier) then settle for the midpoint (min+max)/2

Link to comment
Share on other sites

Its a hard call to make as you may not end up using it very much. However, if you experiment and build electronic hardware from time to time they can be very valuable! 

I bought a tektronics compact LCD one for about $1600 all the way back in 2000. It still works perfectly. I have used it for work as a contractor and of course electronics, music and midibox projects very much over the years. Coincidentally it's the same type as what TK uses. Sorry I've forgotten the model number, it's actually at my work at the moment and I'll not be back there for a few days.

As far as bandwidth is concerned: the rule of thumb is 5x the sample rate of the highest frequency signal you want to observe. So if there is a 10MHz clock you may want to be able to see ringing that is at 100MHz so that the scope samples at 500MHz. Probably a CRO quoted as 200MHz BW would be adequate. I do remember that my CRO does Gigasamples per second.

So it's really hard to provide general advice.

I can say if you really love electronics and want to do a lot more in the future they're a great investment and actually essential for serious work in this area.

The laptop or computer connected dongle may be a cheap way out and get results in the short term, but in the long run you want a dedicated tool.

Link to comment
Share on other sites

@TK. the demo app with 16 seams to me as it wold work. But i can't guarantee because the problems that seamed solved yesterday are back today... There is one thing i can say that is not god. Else my schematic or your program is wrong in the attempt of numbering the displays. Its the same issue i had as newbee to midibox. I soldered the LEDs to the DOUT and they lit in oposite direction. Now i have Display #16 showing SSD1306 #9 and Display #15 showing SSD1306 #10 and so on...

So ether i have to change QA.. with QH.. in my schematic or you have to program it in opposite direction... for me it doesn't mater because im getting to make me a new prototype anyway... but i think it cold prevent many mis-takes and posts if it wold be QA for Display 9...

 

best regards

novski

Link to comment
Share on other sites

You are right, your schematic is wrong there: the CS line of the 9th display has to be connected to the leftmost data output of a MBHP_DOUT module, accordingly to D7 (in your schematic called QH)

 

This is consistent to the typical mapping of LEDs: the first LED is located at the leftmost output pin of a MBHP_DOUTX4 module.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Corrected. So i changed my schematic and made a box like al other schematics of have. Just for the case you wold like to link it in the LCD Hardware Options of Midibox NG Project, feel free to use it anywhere. I will test more displays in Dezember. I will inform you if one integrity cap 100nf is not enough..

https://www.dropbox.com/s/qazomvvtft7440v/mbhp_lcd_ssd1306_multiple-schematic_mios32.pdf

Thanks for your Help

novski

Link to comment
Share on other sites

I assume novski found them necessary to make his displays work. I've found that this sort of thing can make a difference, but it really depends on the layout.

It won't hurt to keep them for  displays 1..8. It may even be necessary in your particular layout.

I found that they reduced display corruption when I built a Midibox NG with 24 off  character LCDs recently. It is a large panel with a lot of wiring and for reasons I won't go into here they were at one point only marginally functioning and the resistors in series with the CS lines improved matters. This does makes sense from a noise coupling viewpoint.

Link to comment
Share on other sites

@Duggle, i didn't insert 220Ohm in the CS lines of the first 8 Displays. Just in the CS of 9-16. What i did is i inserted 100Ohm to D0 and D1 Line. Also called SCLK and SDA i think.

If i now break up the CS lines of Display 1-8, will it influence the availability for LCDs hooked to J15A/B later?

 

best regards

novski

Link to comment
Share on other sites

Hi All,

 

Adding 220 ohm resistors in series with lcd 1-8 stabilized the first 8. I was still having issues with all 16 connected. I added 100ohm resistors between the two boards 1-8 and 9-16 on lcd pin D0, D1, and DC. This seems to have stopped the corruption on the  1- 8 when 9-16 are connected.

 

The only issue I am having is this.

When powering up the core displays 1-8 initialize properly. I get no display on 9-16. If I unplug the usb cable and quickly plug it back in and all 16 displays initialize and everything looks great and is stable.

 

I am feeding the 9-16 cs lines from a 4dout module. Thoughts? Is the dout module not coming up to power quickly enough?

 

 

Thanks

KUI



Here is a pic of all 16 displays functioning.

Still working on the final issue of power up.

 

Thanks

 

KUI

post-8647-0-38213200-1383773693_thumb.jp

Link to comment
Share on other sites

Did you activate the "fastboot" option in the bootloader?

It would be interesting, if it works better if you toggle this setting.

 

It would also be interesting if you've buffered the OLED supply inputs with 100nF caps. See also this posting: 

 

Best Regards, Thorsten.

Link to comment
Share on other sites

I have added 100nF caps between 3.3v and gnd to every oled, no change:(

 

When I power the core cold I only get the first 8 displays, unplug count to 5 and replug I get all 16, unplug count to 5 replug all 16 displays again, unplug count to 10 and replug only the first 8, I can repeat this cycle over and over.

 

 

 

Also I am having weirdness on display 16.

the second lines seems to be scrolling?

with some kind of wraping issue.

 

I have attached an image of both display 15 and 16 after sending store from the bootloader aswell.

 

Hope this info helps to sort out the problem.

 

 

Thanks

KUI

post-8647-0-85176300-1383851051_thumb.jp

post-8647-0-74751400-1383851453_thumb.jp

Edited by KUI
Link to comment
Share on other sites

KUI can you make a test with the Test app. http://www.ucapps.de/tmp/mios32_test_app_lcd_ssd1306_LPC1769_16OLEDs.zip

I had the same today. I did not recognize that fact that i can repower within a short time to make them work...

I wold like to know if you have spreading text or flipping over top edge like i have with this app...

 

https://www.dropbox.com/s/rxliw8hf98g84sy/2013-10-31%2007.35.42.jpg

https://www.dropbox.com/s/gj4u8a8o4oqhp19/2013-10-31%2007.36.24.jpg

 

Thanks

novski

Link to comment
Share on other sites

Novski I only have corruption with the 16oled app on display 16 see pic in post above, no spreading text or flipping

 

I fixed the corruption issue by moving the 100ohm resistors you have on the D0 and D1 lines to after the first 8 displays. I also added a 100 ohm resistor to the DC line as well. This seems to suppress the noise that comes after I added display 9-16.

 

Still looking for a solution to the power cycle issue.

 

Thanks

 

KUI

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...