Is it possible to use a UART chip without programming control registers? In other words, with Factory Default configuration? If yes, which ones?

UART - SPI mode.

I have examined the datasheet for the SC16IS741A as an example. I'm not saying I have to use this one. I just downloaded the datasheet to explore the possibilities of this type of device. I can use other chips as long as they are affordable and widely available.

If you already thought about an MCU as an answer or wanted to ask what type of MCU I use, forget about it. If there were any MCU involved, the question would be irrelevant. And I have several reasons why I don't want or need an MCU. Thanks for understanding. ;)

The goal is to send short streams of data between daisy chained 74HC595 shift registers, back and forth in a non-synchronous serial communication and over long distances (more than 10 meters) between one of several identical modules (one at a time) and one master module of similar design.

The number of bytes to be transmitted will be 4 or 5 (see further why), with possibly an extention to sent 6, 7 or 8 bytes. But that's not a requirement.

I still don't know the baudrate. It will depends how accurate the clock frequency will be to match all the 32 or 40 bits without readjusting, and without the UART. I didn't test that yet.

It's important that the modules remains very low cost, and could work without UART if possible. And I do think it's possible without an UART. (Please note that the cost is not the reason why I don't use a MCU.)

In any case it won't be more than 9600 bauds but it will be nice to have at least 1200 bauds. Clocking accuracy to achieve that, is another question. But failing to do so might be a reason why I will need an UART.

Now an UART is perhaps necessary if I want to communicate with more advanced systems, like a PC or any device used to standard protocols.

To transmit my 4 bytes of data, I can easily insert start bits and stop bits in order to complete the 8N1 format with two additional shift registers (one to receive, to other to send). That's not a big issue since these parts are very cheap but it will add to complexity, board size, minor cost addition etc. The problem is that I don't know yet if I will be able to synchronise the clock properly for 40 bits in a row without adjustment.

The ideal solution would be to find a chip which would do the 8N1 formatting. That's what a UART would do, on top of resynchronizing.

So why I don't want to write into the UART control registers? Because it would be much more simple to just solder them, and here you go. I plan to produce at least 100 modules for a first batch, and later in the hundreds. Avoiding this software programming would simplify the process greatly and the circuitry too.

The UART output should be SPI, not parallel, not I²C. It's not a requirement but it will be much more simple. An 8 bit parallel output, updating four times to output a total of 32 bits would make very complicated to re-translate the data over 32 output pins (or at least 16 of them) of subsequent ics. The same complication would apply in the opposite direction, while sending data from 16 input lines. The SPI allows me to directly ram the data into the shift registers and their 32 I/Os.

Your comments are welcome.

  • 3
    \$\begingroup\$ One: I suspect the answer is no. Two: it's going to be hard these days just to find a stand-alone UART, much less one that happens to do exactly what you want. Three: in the time it took you to write that post, you could write the software for a six-pin PIC12xxx or TinyAVR to do what you want, and then never touch it again. \$\endgroup\$ – TimWescott Jan 23 '19 at 22:30
  • \$\begingroup\$ Thanks for your reply. Yes, there are several stand alone UART chips, new and old, of various types and flavors. About writing the software for a PIC or similar, I agree with you. And maybe one day I'll do it. Or ask somebody to do it because I'm not a programmer. I can't do everything. Yet it's still easier to get one logic ic if it exists. \$\endgroup\$ – Fredled Jan 23 '19 at 22:43
  • \$\begingroup\$ The day I use an MCU, I'll redesign the whole concept, not just using it to format the data stream. So far I can manage the necessary logic with simple and inexpensive ic's. That's why using an MCU would not be a simple and quick process. \$\endgroup\$ – Fredled Jan 23 '19 at 22:58
  • \$\begingroup\$ If you are already using SPI, why do you need a UART? \$\endgroup\$ – Bruce Abbott Jan 23 '19 at 23:11
  • \$\begingroup\$ I agree 100% with @TimWescott The U in UART is Universal, so that implies control registers. No company would make a standalone ART. Simplify your hardware and embrace some form of embedded controller. It may take you a little longer to figure it out, but in the long run, you will have a better product. Embrace the dark side. \$\endgroup\$ – StainlessSteelRat Jan 24 '19 at 2:06

No, I don't believe any part like this exists.

The SPI UARTs I've seen are all UARTs which use SPI as a control interface. They are not simple bridges between SPI and serial interfaces -- you cannot use them to pass a SPI signal over a serial bus, no more than a pair of USB wireless adapters can be used to transmit USB data over radio.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.