Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!sco!deanr From: deanr@sco.COM (Dean Reece) Newsgroups: sci.electronics Subject: Re: UARTs, uControllers, & Serial Data Summary: AY-3-1015 is a good dumb UART & 68701 is a good 1 chip CPU Keywords: dumb UART, micro controller, sync to async, flow control Message-ID: <7515@scolex.sco.COM> Date: 20 Aug 90 20:41:11 GMT References: <21000091@m.cs.uiuc.edu> Sender: news@sco.COM Followup-To: sci.electronics Organization: The Santa Cruz Operation, Inc. Lines: 68 In article <21000091@m.cs.uiuc.edu> totty@m.cs.uiuc.edu writes: > > I am trying to build a circuit to convert a synchronous serial > data line (with no flow control or error detection) into RS-232 > serial data. > > My original idea was to build a finite state machine to take the > synchronous serial data, pack it into a byte, and sent the byte > to a UART, which will send out RS-232 data on the other end. > Unfortunately, most available UARTs I have seen are intended to > be connected to a CPU bus, which make them more complicated to use > (I have to simulate the bus protocol and write initial data to > initialize the UART), and the FSM looks fairly complicated to build. > > Here are my questions: > > (1) What simple UARTs to people recommend, especially simple ones > whose options can be hard-wired and not require writing words > or initialization data to the UARTs? AY-3-1015D 40 pin 25K Baud UART $4.95 (Jameco 1990) AY-3-1013D 40 pin 40K Baud UART $2.95 (Jameco 1990) One (or perhaps both) of these chips are exactly what you need (I forget which one I've used in my past projects). It is a basic register-less UART. This is a neet chip. The transmitter and receiver are so totally independant that they have seperate clocks and data busses. I used one once to bump up the rate on a 232 line (I hooked data out to data in, set the clocks right and tied the data available pin to the start transmit pin and viola') The options for parity, start bits, stop bits, and word size are strapable. The error & status codes are also available at the pins (parity error, framing error, over-run, and data available). Really the chip is only somewhat smarter than a shift register. > (2) Are there any chips to do what I want (synchronous serial to > RS-232)? Well, If you have some way of accumulating bytes from your sync line and providing a pulse every time a byte is ready, just pick the next higher baud rate and hook up one of the AY-3-101?? chips above and, unless you need flow control on your RS-232 side, things will work nicely. If you HAVE TO HAVE Xon/Xoff or DTR/DSR CTS/RTS type handshaking, a uProcessor is probably your best bet. > (3) Would it make sense to use a microcontroller instead? If so > what microcontrollers are recommended, how wide are their I/O > paths, and what support circuitry do they need? Are they > easily programmable? If you decide for a uProcessor, I think the 68701 would do a nice job for you. It has a serial port built in (which can be clocked from the CPU clock, so only 1 xtal needed), 2K of EPROM for code/data, 128 bytes of RAM for stack and buffering, and lots of I/O pins to hook to up to your sync interface. Its an 8-bit CPU thats code compatible with the (Motorola) 6801 CPU. If your sync data is coming in slow enough, you can use an interrupt on the 68701 to shift in the bits, and do in-software assembly of the bytes. MC68701 40 pins 8bit MPU 2KEPROM 128RAM I/O $19.95 (Jameco 1990) The only drawback of the 68701 is that programming one can be a trick. I just built a programmer for my PC, but its not worth it unless you use them often. Its easier to find a company with the right programmer and just borrow some time on it. (They can be erased just like an EPROM, so you don't have to worry about wasting a $20 part!!) > > Thanks For The Help, Hope it helps -deanr@sco.com