I am facing some embarrassing problems recently.
After some trouble-shooting, I found that: We have Board-A and Board-B. Board-A and Board-B communicate to each other with a UART TTL Level Communication. The communication cable is around 80cm long. During the communication, I got a lot of UART errors.
My mission is to build a more reliable communication between Board-A and Board-B; but not allowed to modify the hardware design and baud-rate.
To me, it is not wise to use a UART TTL Level Communication between two boards. However, I am being told that, it is very popular to us to use a UART TTL Level Communication between two boards.
I tried to find some articles/documentation to convince the involved people, that, they should not use a UART TTL Level Communication between two boards. But I can not find anything useful. What I could find is something like: The UART usually does not directly generate or receive the external signals used between different items of equipment.
My question is: Where can I find some convincing articles/documentation to convince the involved people? (This is to avoid the future problems.) If I am not allowed to modify the hardware design and baud-rate, what choices do I have to build a more reliable communication?
"in my current company, I don't think 'we' know what is solid and robust"
Clearly not!
So you really need to hire someone who does know - either as a permanent employee, or on a temporary/consultancy basis.
We are a OOXX level-n qualified company.
I believe that, most companies here in Taiwan are very interested in improving the Quality Assurance System / Business Flow / Work Flow / Process Management / Project Management ...... ...... ......
But most companies here in Taiwan are not very interested in improving employees technical ability.
Putting a leopard into a turtle's team, does not change the overall speed.
We already have a consultancy from nearby university, but most universities here in Taiwan do not know much about advanced technology, and the real skills that a engineer would need.
Maybe this is also a common worldwide issue.
www.developer.com/.../what-happened-to-software-engineering.html
Most of the agile methodologies focus mainly on the process management topics and don't discuss construction techniques in their teachings (the main exception is Kent Beck and Extreme Programming). I believe this due to the agile methodologies assuming you are already doing the technical practices!
Unfortunately, in my career as a consultant and an agile coach, I have seen all too often that those engineering practices are being left behind.
When having logic-level communication between boards, or maybe through a ribbon cable, you would normally (unless the distance is very short and you are in good control of emissions etc) use buffer chips.
They have much larger current-drive capability. Sometimes reduced by having EMI filters that slows downs the flanks of the signals. And they have schmitt-trigger inputs that makes sure they don't produce spurious noise if the input signal have a slow flank overlayed with a bit of noise.
I don't know about your distances, but if inside the same enclosure, then you normally do not go for RS-232 or similar. RS-232 is intended for external signals, i.e. basically short-distance (a couple of meters) of box-to-box communication. As covered earlier - with low baudrate and good cables you could even go quite long. But the intention is basically 1-15 meters.
With multiple boards in the same enclosure, you normally have some form of shielding from the box. If not, then you must consider cables with shielding to avoid radiating too much noise. But then - anyone who uses a box without shielding just have to have the skills to make a PCB that doesn't radiate noise. In reality, you design PCB with well-placed ground planes to keep down radiation even if intending to place PCB inside shielded box.
But this is not advanced technology - this is very basic electonics!