I develop firmware for small embedded devices with ARM CPUs. Most of these devices run some flavor of Linux. An important device for Linux machines is the console interface. Older PCs had physical serial ports available. Modern PCs lack serial ports but they usual direct the console interface to the monitor/keyboard combination. Small embedded systems usually don't have a dedicated monitor or keyboard and they often don't have a physical serial port. The devices I work with have a USB serial interface which provides a serial interface over a USB A to USB micro cable.
Once in a while it becomes necessary to interface via a physical serial port, often using a DB-9 connector. When that's the case, I'm always asked to make it work since none of the younger engineers have much experience with older technologies while I spent a few years at the beginning of my lengthy career as a field engineer for mini and mainframe computers where serial ports were common.
Last week, one of the younger engineers was hooking up a couple devices via DB-9 serial connectors and wanted to hook 2 male DB-9 connectors (the ones where the pins are visible) together. He came to see me because my office tends to be a graveyard for old cables and connectors as well as test equipment. He asked about whether a null modem cable would be required. I took a little time to explain when null modem cables are required but it quickly became obvious that I was providing more information than needed and that he just wanted to solve a problem. My theory has always been that I can solve problems faster if I develop a mental model of how a given technology works.
I was trying to explain that null modem cables allow terminal type equipment to be connected together. There are two types of serial equipment, data terminal equipment (aka DTE) and date circuit-terminating equipment (aka DCE).
On some of the smaller devices, there's only a serial port available for data transfer. In those cases, I choose ZMODEM to securely transfer binary data files between machines. Back when I used to connect to bulletin board systems (aka BBSes), terminal emulator programs which supported ZMODEM used to be plentiful but now there's only a few options. I've been using Tera Term because I find its ZMODEM implementation easier to use. Here's what a file transfer looks like using it.


No comments:
Post a Comment