Shop OBEX P1 Docs P2 Docs Learn Events
Need help designing chip!! — Parallax Forums

Need help designing chip!!

ArchiverArchiver Posts: 46,084
edited 2001-08-09 23:12 in General Discussion
As you may have read earlier, I am designing a serial interface chip
for the BASIC Stamp and any other microcontroller or accessory that
uses RS232 communication. I need some help with this. I'm doing
fine with the actual programming, but I'd like to know what kind of
features people want! Here are the following features that I have
planned.

-Programmable Asynchronous Ports
Each device has it's own port, with it's own speed setting. A
device running at 2400 could communicate with a device running at
9600, 28.8, 56k, etc. In the same manner, a faster device could
communicate with a slower one. Inversion could also be programmed,
although I doubt it's necessary since most devices use the inverted
serial comms, and would waste a lot of MCU cycles.

-HyperTurbo Interconnect Bus
Utilizing the chip's onboard buffered hardware UART, speeds as
high as 691200 can be reached. That's right, almost 700kpbs!! 2 of
my chips could be connected together using this bus, greatly
decreasing latency between devices across the network. Future chips
with more hardware UART's could be used to make a massive high-speed
serial network with hundreds, or even thousands of devices!
(providing you have a power supply to connect them all :-P )

-EEPROM Save State
With a single command, all baud settings would be saved to
EEPROM. Another EEPROM setting would allow all of the settings to
load automatically on start-up.

Those are some of the main features of my chip. It will have 6
general purpose serial ports and one HyperTurbo bus. Aside from any
major features that you may want to add or remove, I have a few
other questions. I want to adapt my device to what people want, and
not have them adapt to it. So here are a few questions:

1.How should commands (other than pin-select) be entered?
a.First enter a generic command for the pin, then data.
b.First enter a generic command, then the pin number, then data
c.Enter a single command that will set a fixed, valid, and tested
value to the pin]
These commands would be used to set the BAUD rate of each pin.

2.What is the maximum serial speed that most people use? The
HyperTurbo will always use the same ridiculously high speed as it is
designed for minimum latency. I can implement many different
speeds, although configuration would go much faster with a limited
number, and it would also leave more RAM/program space for buffering
and other features.

3.How many speeds should there be, and what should they be?


One last idea I had was to make a limited number of speeds, but have
them programmable in EEPROM. If anyone has ideas, please post
them! I'd be glad to consider any feature requests!!!

PYROManeyakk
Sign In or Register to comment.