PDA

View Full Version : [] Jolla OtherHalf UART/232 Interface


kimmoli
2014-01-13, 15:32
Originated from other thread....

I'd like to add serial port (UART RX/TX pins at least) capability to Jolla with I2C.



http://www.nxp.com/products/interfac...dges/#products


I have given some toughts to this already...

--> either SC16IS750. Has 3.3V operation, but you'll need I2C levelconverter (e.g. PCA9517) and 1.8V regulator. Easier to interface to the 232 transceiver.

http://talk.maemo.org/attachment.php?attachmentid=34416&stc=1&d=1389602581

--> or SC16IS850L. Has 1.8V operation, no need for I2C level converter, but needs 1.8V regulator. and some tricks to interface to 232 transceiver.

http://talk.maemo.org/attachment.php?attachmentid=34415&stc=1&d=1389602574

nieldk
2014-01-13, 16:18
trying to see if i can get a ssmple, or two. as they have a distributor close by

phenoboy
2014-01-13, 18:41
Looks good! What about the software side - what kind of interface we would have to use with this SC16IS750 ? I mean do we have to write a library from scratch ?

Pardon my ignorance.. I'm not an HW expert and new to Jolla. What is TCVR ?

nieldk
2014-01-13, 18:45
Looks good! What about the software side - what kind of interface we would have to use with this SC16IS750 ? I mean do we have to write a library from scratch ?

Pardon my ignorance.. I'm not an HW expert and new to Jolla. What is TCVR ?

tranciever
the purpose - and interface is rs232/ infrared addition to communicate with serial devices or connect fx to retrieve logs from bootloader

kimmoli
2014-01-13, 23:45
I should have all parts for the -750 version.. and some code ready, as this was used in one project to interface 232 touchscreen via I2C.
Only thing missing is time to tinker it..

nieldk
2014-01-14, 14:38
I should have all parts for the -750 version.. and some code ready, as this was used in one project to interface 232 touchscreen via I2C.
Only thing missing is time to tinker it..

And, I just got a qoute that the connection close here is very interested in this, and wants to help where they can - So, all chips and technical assistance is 'almost' ready :)

kimmoli
2014-01-19, 09:47
Looking for the thinnest D9 -connector (Straight) solution... The WP 425 (http://wppro.com/content/en/products/d-sub-amp-accessories/d-sub-hd-d-sub/product/425.html) was thinnest after 30min go'ogling.

http://wppro.com/content/typo3temp/pics/z425_20130117_237bdb06db.gif


kinda-retro-look

kimmoli
2014-01-20, 23:10
update
V0.02 schematic. ready. then layout.
(The 232 transceiver changed to SP3203E -has separate logic supply for interfacing 1.8V and with more channels)

No leds, should be buffered as there is no outputs with enough drive-strength.
Signals available in connector

TXD -->
RXD <--
DTR -->
RTS -->
CTS <--

kimmoli
2014-01-22, 13:48
I have seen some discussions about IRDA transmitter/receiver things?
Or are they talking just IR transmitters like in remote controllers?
IRDA shold be doable with this uart.

nieldk
2014-01-22, 13:51
Thats what I plan, I believe irda is a thing missing, since N900 ;)

kimmoli
2014-01-22, 14:31
Thats what I plan, I believe irda is a thing missing, since N900 ;)

Ööö . IRDA is serial comms over infrared (RX/TX), afaik N900 is/was only capable of transmitting IR (like with Irreco app)

Hmm... Using just the UART to send IR 'bits' with carrier frequency could be possible. The carrier is about 30...60 kHz, say 40kHz. If this is set to uart bitrate.
The actual datarate is way much lower, say something like 1200 bps. So we need send about 4 bytes of 0xAA for one high bit (and 4 bytes of 0x00 for one low bit (hoping that the STOP bit doesn't cause problems)

Doing it like this would free the phone cpu from low-level timing and lets the uart to do it. just feed the data to fifo over i2c.

Could be doable. Just add buffer and IR led there.
For IRDA something like TFBS4711 could be suitable.

Zeta
2014-01-22, 19:28
Why not use a dedicated IRDA chip, with an I2C interface then ?
Something like this : http://www.nxp.com/products/interface_and_connectivity/bridges/i2c_spi_slave_to_uart_irda_gpio_bridges/

Would solve problems like the stop bit.

By the way this chip seems to also provide RS232/485 interface and GPIO.

kimmoli
2014-01-22, 19:44
Why not use a dedicated IRDA chip, with an I2C interface then ?
Would solve problems like the stop bit.
By the way this chip seems to also provide RS232/485 interface and GPIO.

:confused: Project is already using the SC16IS850L

There is no problem with the IRDA, it will work.

The idea here was to use the IRDA transmitter to mimic the e.g. TV remote control by making the ~40kHz (or 38kHz) carrier signal with bit pattern.
https://learn.sparkfun.com/tutorials/ir-communication/all
and something here
http://youtu.be/BUvFGTxZBG8

nieldk
2014-01-22, 20:16
exactly, main purpose, for me at least ;)
Oh and, yes, I know the N900 have irda :) that was my point. No of the devices i have had since that have had irda interface. So, even better if we can combine this with rs232 as well - and - that OLED / perfect device!

Zeta
2014-01-22, 20:30
:confused: Project is already using the SC16IS850LMy bad... as I didn't remembered you talking of IRDA out before on this topic, I assumed the chip you selected didn't have IRDA and didn't check the previous page...

The idea here was to use the IRDA transmitter to mimic the e.g. TV remote control by making the ~40kHz (or 38kHz) carrier signal with bit pattern.
https://learn.sparkfun.com/tutorials/ir-communication/all
and something here
http://youtu.be/BUvFGTxZBG8Thanks for the link. I think I understand now.

Wouldn't the proper way to do this be that the chip is configured with the expected 1200 bauds and modulate it after (with an ne555 like or an I2C PWM expander if its period needs to be software controlled).
This would reduce the I2C load (probably not a problem anyway), and remove the need for some bit conversions to send data, so something like "cat /dev/xxx" would allow to see directly the received value (and not a list of 0x0 or 0xF for each individual bit) ?

Your solution work, but I always tend to choose hardware when possible to avoid doing tricky stuff in software.

Edit : After second though, there may be problems with the start/stop bits with this proposal. Don't know if they are the same on IR than with say a RS232 line, so that the UART would understand them correctly ?

kimmoli
2014-01-22, 20:51
Wouldn't the proper way to do this be that the chip is configured with the expected 1200 bauds and modulate it after (with an ne555 like or an I2C PWM expander if its period needs to be software controlled).

That is one possiblity... but i like to do things inside-out... (or atleast try)

something like "cat /dev/xxx" would allow to see directly the received value (and not a list of 0x0 or 0xF for each individual bit) ?
no intention to receive "remote control" data here, just transmit.
transmit can be done to work like echo "123" > mytransmitthingy with piece of software.

there may be problems with the start/stop bits with this proposal. Don't know if they are the same on IR than with say a RS232 line, so that the UART would understand them correctly ?

In sending bit '1' there is no problem with start/stop's, but when sending '0', the stop bit gives a pulse of half period of 38kHz every 10th period of that. Hopefully that is filtered out by the IR receiver.
One possibility is to stop transmitting at all when '0' but to get proper timing is pain.

kimmoli
2014-01-22, 20:55
So, even better if we can combine this with rs232 as well - and - that OLED / perfect device!
uf... ....

kimmoli
2014-01-25, 12:24
Stupid question... What would be the best direction of IR ?

This affects the PCB design.


A = USB connector direction (i think it is this)
B = Where the camera points
C = Left
D = Right


The transceiver can be mounted in top view or side view, so the option B will be possible with any other option.

Option B only will make smallest PCB area.
With option A, have to go around the camera...

CLRS530
2014-01-25, 13:31
B would be no option in my opinion. if you think of the theoretically possibilities like playing with a joystick you can't put the phone on a table without any special mounting.
Also I would consider it only if it would shrink into the OH (unlike your render) that would result in a really thick OH.

How would a construction of A/C/D look like? You also would have to have an OH thickness as wide as the R232 or your OH go around the phone on all- or only the upper side(s). Did you think of this idea?

One more effect to consider is the one on the bags for jolla. The only possibility to maybe not break every already existing bag is A. Then only the thickness can still be the problem.
Thats the reason A would be the one I vote for.

Mentioned before and now asked for all options. Are you planning to shrink it into the OH or put it on top?

kimmoli
2014-01-25, 14:35
this was mainly about the Infrared direction... i have not considered yet the D9 Direction yet. maybe it will be facing to dir A or towards you. display direction. making phone little longer

Bundyo
2014-01-25, 16:14
I'm also for A, seems most logical and compatible.

CLRS530
2014-01-25, 16:46
Ah yeah misunderstood then. For infrared it doesn't matter that much in my opinion. If it is easier to build it can be B either.
But only A or B.
Have me in mind for one of these OH. Seems to be really cool - but only if there will be some Calls/Apps supporting the technologies. :/

kimmoli
2014-01-25, 17:36
checked quickly, D9 is wider than there is space between edge and usb connector..
or i need to use completely different connector ...
small, robust, competitive priced, available ...äh

D9 why so big...

kimmoli
2014-01-25, 21:03
couldn't resist make some sketching...

USB micro connector is there to allow charging when this TOH is connected, as the phones own usb connector goes behind d-sub. (it is connected to the 5VIN dc input pogo)

(I have to check does this have effect on handsfree/echo cancellation as the top mems microphone is now located behind the D-sub connector.. small hole close to the jolla -logo)

https://lh4.googleusercontent.com/-Q3NwT5c7Zp4/UuQi8bD8vSI/AAAAAAAAGeU/805BWq_uHfA/w1499-h578-no/tohuart_3d_1_7_r1.jpg

https://lh4.googleusercontent.com/-zlTSOqdy5HM/UuQi8dpllfI/AAAAAAAAGd4/Wo96ajM1boE/w1062-h788-no/tohuart_3d_1_7_r2.jpg

https://lh3.googleusercontent.com/-M0NB4P5w6Kc/UuQi8SnacPI/AAAAAAAAGd0/149vChiCD3Q/w1501-h542-no/tohuart_3d_1_7_r3.jpg

mikecomputing
2014-01-25, 21:52
Why not just use FT232 and connect to already avaible USB and make USB host work on Jolla?

kimmoli
2014-01-25, 22:48
Why not just use FT232 and connect to already avaible USB and make USB host work on Jolla?

I did think about this first... but
I will not even try to get USB host working...

and i would need to get micro usb male connector plugged in while inserting toh...

If and when USB host works, one can use external powered usb hub with ready usb-232 cables. and there is no fun with that.

MaemoUser
2014-01-25, 23:51
Why not integrate a simple micro adapter in the other half to make the rs232 pluggable? I think this would look much better and you can use this adapter with other fancy pluggables.

Kabouik
2014-01-26, 02:49
Have you tried some sketching with the connector on the side, opposed to the hardware volume and power keys? This way, the Jolla would be easy to handle, as the large plug would not be in the palm, nor on fingers holding the Jolla on the left side (if you are right-handed of course). Additionally, it would keep the phone thin, wouldn't block the micro-USB plug nor the microphone, and would be easy to put in a jean's pocket.

Or on the bottom, but the orientation may be an issue for some uses.

minimos
2014-01-26, 08:18
checked quickly, D9 is wider than there is space between edge and usb connector..
or i need to use completely different connector ...
small, robust, competitive priced, available ...äh

D9 why so big...
What about using instead a RJ45 connector, as e.g. in Cisco consoles?
Yes, it would require a RJ45-to-DB9 adapter cable for typical usage, but thinking about the bulkyness of a DB9 male+female when connectors are mated together, that would put a lot of strain on the PCB, and a RJ45 could be a little more on the lightweight side.

kimmoli
2014-01-26, 09:03
Have you tried some sketching with the connector on the side, opposed to the hardware volume and power keys?

now i have..

https://lh4.googleusercontent.com/-doXSC8ueO4E/UuTO9B6LX6I/AAAAAAAAGfE/actU538RjsE/w1090-h557-no/tohuart_3d_1l_1_r1.jpg
https://lh4.googleusercontent.com/-Wdj8J4ovOi4/UuTO9B7DT2I/AAAAAAAAGfI/DvAeHmG9ZSY/w1045-h494-no/tohuart_3d_1l_1_r2.jpg

What about using instead a RJ45 connector, as e.g. in Cisco consoles?

I have some personal issues against RJ45, but i agree about the mechanical issues with bulky D9.

jesper
2014-01-26, 09:30
Does it have to be a DB9?
Better to use a smaller connector type, like micro-D or something.

kimmoli
2014-01-26, 11:19
Does it have to be a DB9?


actually it is DE9 ... but that is another story.

I have given lots of thoughts for another connectors.. then the toh needs to include this adapter cable, but mjaa it shouldn't be a problem.
Micro D is one option, but it is not so Micro afterall..

Maybe then go even more miniature... something like JST SHL or whatever... >10⁷ different connectors out there...
This would keep the TOH slim, no overhangs. IR (and IRDA) usable, fits in pocket, not blocking phones own connectors, and with the adapter cable get access to RS232 pins in standard D9.

You pushed, i iterate.

stb
2014-02-13, 23:09
Would be nice to have a connector to TTL, so I could use my video terminal (https://code.google.com/p/tinyvt/) on it. :)

kimmoli
2015-02-07, 15:19
Long time no update. Actually the design has been frozen for a year now.

Today i managed to progress it to level - order PCB's for first version

https://lh6.googleusercontent.com/-kVqbB3MfYro/VNYqMuoOjOI/AAAAAAAAIEM/EuCbyssnLQw/w817-h820-no/tohuart-leiska.jpg

This is what i ended up with:


RS-232 available in DE-9 connector
Logic level signals in pinheader, external supply 2.5V to 5V, or internal 3.3V
When voltage in VIN pin present, RS-232 disabled
IrDA port (assembly alternative with pinheader)


Then some 3D design...

nieldk
2015-02-07, 15:33
Long time no update. Actually the design has been frozen for a year now.

Today i managed to progress it to level - order PCB's for first version

https://lh6.googleusercontent.com/-kVqbB3MfYro/VNYqMuoOjOI/AAAAAAAAIEM/EuCbyssnLQw/w817-h820-no/tohuart-leiska.jpg

This is what i ended up with:


RS-232 available in DE-9 connector
Logic level signals in pinheader, external supply 2.5V to 5V, or internal 3.3V
When voltage in VIN pin present, RS-232 disabled
IrDA port (assembly alternative with pinheader)


Then some 3D design...

Preorders?
Iam in! :)

kimmoli
2015-02-07, 21:21
built picocom for jolla, made a test driver that creates a pseudo-terminal like /dev/pts/1
works.
hope that the China newyear/spring festival doesnt delay pcb delivery too much.

robthebold
2015-02-08, 00:20
RS-232 available in DE-9 connector



Thank you for not writing DB-9!

robthebold
2015-02-08, 00:23
built picocom for jolla, made a test driver that creates a pseudo-terminal like /dev/pts/1
works.
hope that the China newyear/spring festival doesnt delay pcb delivery too much.

Although the holiday is technically something like 2 weeks long, the production delay never seems to be anywhere that that bad in my experience.

nieldk
2015-03-09, 14:29
Hey kimmoli

Just waiting to purchase this one ;)

kimmoli
2015-03-09, 14:32
Still waiting for PCBs to arrive, shipped during MWC (but not shown on tracking yet :( )

kimmoli
2015-03-28, 12:46
Now waiting for 3D printed toh itself to arrive.
PCB is assembled, software seems to have some work still - atleast need to enable fifos in the uart.
Can communate with e.g. PC terminal, but not with something that has reasonable cps...

https://lh6.googleusercontent.com/-IgvBOoZgRpk/VRaiDAmR-YI/AAAAAAAAIMA/9YwqMm6fySc/w2048-h1155-no/tohuartassembled.jpghttps://pbs.twimg.com/media/CAoygzxU0AEVxVk.jpg

nieldk
2015-03-28, 15:32
Just noticed. IRdA as well :)

Send me one. Now! Hehe

kimmoli
2015-03-28, 16:39
Just noticed. IRdA as well :)
Send me one. Now! Hehe

Sure...

IrDA ill be tested last, i need something to communicate with, prolly build a second one. Then...

You live still in ***terra*** ? (just checking shipping address)

nieldk
2015-03-28, 17:14
Sure...

IrDA ill be tested last, i need something to communicate with, prolly build a second one. Then...

You live still in ***terra*** ? (just checking shipping address)

Yep. I do :)
I will, of course, send you donation ASAP.

kimmoli
2015-04-01, 18:55
3D print arrived.
Fits like glove, 1/2 size too small.

had to shave 0.2 mm out from D-connector plastics.

https://pbs.twimg.com/media/CBf3Kh_UcAI3lg9.jpg:large
https://pbs.twimg.com/media/CBf3KOeUQAA_rNI.jpg:large

philter
2015-06-26, 10:58
Hello! I see the tohkbd project has totally taken you :)
I'm working at "ANT+ toh" and one of my solution is to start from I2C-UART bridge to connect with ANT+ transceiver
See http://talk.maemo.org/showthread.php?p=1474882#post1474882
for details.
Can I ask you to order one pcb for TOH UART? I can buy it from you directly?
See you soon,philter

kimmoli
2015-06-26, 11:08
I have some extra plain PCB's for tohuart, no extra assembled ones.

philter
2015-06-28, 15:39
Thank you very much!
The bare pcb can do the.work, I will buy the components by.myself.
You can write me in pm.

kimmoli
2015-06-28, 17:35
philter has chosen not to receive private messages or may not be allowed to receive private messages. Therefore you may not send your message to him/her.
Maybe make one post more :)

philter
2015-06-30, 13:30
I tried to contact admins and to resend the confirmation email but right now can't use private messaging yet.............sorry :o
For my project I need to use one of yours TOH-usart pcb.
I'm from Naples, Italy: do you think I can send you 20€ for the bare pcb so you can send me one?
I can use paypal.
See ya, Vittorio