Terminal emulators

Jan 17, 2009 41 Replies

You can write USB serial device software (we've done it) which requires no drivers for Mac, Linux and Windows (except the INF file). The CDC/ACM model is what we used. However, it was a real pain. Windows requires a .INF file whose rules are obscure, especially for Vista. If you make a composite device, e.g. serial and mass storage, Macs don't understand the IAD descriptor and you need a kluge which both Windows and Linux accept.

Stephen

Stephen Pelc, stephenXXX@mpeforth.com MicroProcessor Engineering Ltd - More Real, Less Time 133 Hill Lane, Southampton SO15 5AF, England tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691 web: http://www.mpeforth.com - free VFX Forth downloads

Escape sequences are notoriously wild, wacky, and variable. You may save yourself a lot of grief by reducing the scope of characters you care about to letters, numbers, and punctuation.

Rob Gaddi, Highland Technology Email address is currently out of order

rts

f

So the customer doesn't have to go out and buy one. But the only customer seems to be Rick, and in Forth KISS is king.

-Brad

In message , rickman writes

The problem depends on your application domain. 90% of MCU have serial port and any one can do serial comms in 10 minutes which both hands tied behind their back.

For this reason many embedded systems have serial comms. My washing machine for example.

The problem is that many modern laptops don't have a serial port. Most desktop PC's still have one AFAIK but lots of USB so many consumer items have USB.

USB is not the easiest thing to just knock up from scratch in an embedded system.

Also serial is universal and things like VT52 or VT100 you can almost do in your sleep for virtually any screen.

If PC's drop the one serial port most AFAIK mother boards have then RS232 is not a good idea. But there is so much industrial use of RS232 that I doubt it will happen for a long time

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

..

About 6 months ago (maybe 9) one of my custoemrs deliberately bought a HP laptop because it had a Serial port and XP.

What was the customer doing?

Customer was setting up a field laptop, for an amateur archealogical group, and their ground resistance meter (very low volume product) had a serial port to dump the data..

Agreed, how long before you need a 32 bit OS on temperature logger, just so it can be connected via USB. If you are not careful you end up with the

"[USB] tail wagging the dog [embedded system]"

Half the rouble is some customers who I know who would rather bit bang via USB from a PC to SPI devices, rather than have an onboard micro. Basically because they believe they have lots of processor ticks on a PC than on an embedded micro.

Paul Carpenter | paul@pcserviceselectronics.co.uk PC Services Timing Diagram Font GNU H8 - compiler & Renesas H8/H8S/H8 Tiny For those web sites you hate

FWIW, we are still using punch cards for storing programs. They have just been virtualized into text files. The same thing seems to have happened to RS232. You can set up a virtual COM port on your PC that talks through USB, Ethernet or Wifi using the appropriate bridge.

Depreciating serial ports on PCs was a good move since peripheral makers needed a nudge to get them all behind USB. Plus, average users don't really need a RS232 port other than for connecting peripherals that ought to be USB anyway.

-Brad

Which USB dongle supports bit banging on RTS, DTR etc. lines at any reasonable speed ?

More importantly, which USB converter controls the RTS control line in a timely way compared to the actual data bytes ? This is important when the RTS signal is used to control the data direction on a half duplex medium such as RS-485 or a half-duples radio transceiver.

There are expensive special USB/RS485 converters that generate the data direction control internally, but this is not of much use when controlling a radio transceiver.

Paul

In message , Paul Carpenter writes

I did exactly the same because I needed a serial port.

Many (most?) mcu , and certainly the smaller ones don't have USB on board. But the all have a serial port (or two)

Interesting.

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

I hate to burst your bubble---there are whole series of MCUs with no hardware serial interfaces. Take a look at the Microchip PIC10 and PIC12 series, for example. I'm sure other processor vendors have low-end chips with no serial interfaces also.

You can usually add a serial interface card to get RS-232 ports on desktop PCs. Sometimes it is just a matter of getting a connector for the onboard port the vendor hasn't bothered to bring out to the back panel. For laptops, you can add a PCMCIA serial port card.

Mark Borgerson

e

y new

s

ed

ms

P

I'm curious, do you know how the serial port is implemented? It used to be that serial and parallel ports were in the South Bridge chip and so were free other than the cost of adding the transceiver chip and the connector. But those chips have gone by the wayside. Someone mentioned that a PCMCIA card they bought had a USB hub chip and two USB serial controllers that provided the same results as using two USB converters! I wonder if the laptops today do this as well.

Rick

In message , Mark Borgerson writes

DO they have USB?

OK apart from a couple of Micro Chip Parts any others? I bet you will find vastly more have serial than have USB

Quite so but

Sorry they are phasing out PCMCIA in favour of USB on a lot of them. This is a pity as PCMCIA is very useful

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

... snip ...

And I bought a used IBM Thinkpad T30 for the same reason.

[mail]: Chuck F (cbfalconer at maineline dot net) [page]: Try the download section.

And it was one of the must-have's when I finally choose a motherboard as a successor to the 90 Mhz Plato board.

--

Albert van der Horst, UTRECHT,THE NETHERLANDS Economic growth -- like all pyramid schemes -- ultimately falters. albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

Not a laptop but I just put together a PC for use in a Linux programming project using the Intel Atom Dual core 330 mother board, it has USB,

1GHz Ethernet, parallel, and a serial port, the whole PC, motherboard, small case, 2GB RAM, 500GB HD, and DVD burner cost me $175. The processor is X64 compatible and has Virtual Technology support. I have Ubuntu X64 version installed and will be using IForth for the project.

It's a nice little quiet machine on the cheap with old port support, sometimes that comes in handy.

Cecil K5NWA www.k5nwa.com www.qrpradio.com < http://parts.softrockradio.org/> "Blessed are the cracked, for they shall let in the light."

I found a USB/RS485 converter for $49.95 at

formatting link
=3D197

It has automatic send control, which probably means the first start bit that comes along triggers a one-shot that turns on the driver.

There is a Win32 call that controls RTS etc. but I don't have the name of it handy. Have you measured the delay between issuing the call and seeing the change in the RTS level?

-Brad

After looking around, I made my own USB/RS485 converter. FTDI's FT232 has a TXDEN-output. This is designed for RS485 Rx/Tx switching. Works perfectly.

I tried the RTS-line as well. The delay was changing, so I found it unusable, as the device, my application was talking to, responded within

The real point is, virtually any micro with a timer and an I/O port can at least bit-bang a PC-acceptable serial port. That isn't true of USB.

--Gene

You don't even need a timer if you're willing to put up with a few restrictions. On some very low-spec uControllers, I've done a "UART" output for debugging/logging purposes that relies on nothing but repeatable instruction timings and takes no more than a couple-dozen lines of code. (Receiving is a bit more work, but still trivial compared to USB.)

Grant

LOL! So many of these threads would be a lot shorter if people would just state their real point properly in the first place!

Mark Borgerson

I've also done a bit-banged uart for debug output on an early small-package 8051-compatible processor. It didn't need a timer or interrupts. Getting input is many times more difficult and is much easier with timers and interrupts.

I don't know of any bit-banged USB output implementations. If there is one, I suspect it takes many KBytes of code and a very fast processor.

Mark Borgerson

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required