View Full Version : a few general questions about the ICs in the store.

03-22-2012, 02:59 PM
ok i have a few just sorda random questions about things that dont really require there own thread.

first off what is a line driver used for? more specifically a tri state octal buffer like the one parallax sells


i see these sort of chips everywhere.. ive been tearing apart old 486 and p1 mobos and there all over the place. i see them in alot of projects too. i read the data sheet but that didnt really give me an idea of there genral use either. from what i can tell somehow maybe there used to save data pins and create bus systems... im probably not right at all thats just what i think ive observed.
i would be greatfull if someone could give me a few simple examples of what this chip is for.

next is about eeprom use and compatibility, as long as the eeprom is i2c does it matter what the size is 512(8x64) for example? also the atmel chips look nice but they have something called crypto memmory as a standard feature anyone know if that will cause problems w the prop? basically what are the rules for eeprom used for booting? could u acually use any i2c type rom? last thing ive read that eeprom has up to a 5ns read, i know the atmels can do up to 5mhz, i also know these speeds are hard to hit with a propeller, is eeprom faster than sd for simple read write?

lastly the 20 dollar fpu parallax sells what capability does that add, can the prop not do floating points on its own?

03-22-2012, 03:32 PM
A line/bus driver is just that.
What comes in, comes out the other end.
A xHCT version runs on 5v but still accept a 2.5v input as a high state, so you can line-drive a 3.3v signal to be 5v.
Most PC boards probably don't use it for this but instead as a bus isolator, when it's not the ICs turn to be on the bus you
can simple de-enable it and the outputs are tri-stated (like they are not there).

Mike Green
03-22-2012, 03:44 PM
EEPROM use: Size does matter, mostly. EEPROMs for marketing reasons are numbered based on the number of bits in the device. An xxx256 has 256K bits arranged into bytes, so it really has 32K bytes of memory. Other parts of the number vary depending on the power supply voltages supported and the type of interface used (I2C, SPI, parallel). Different manufacturers use slightly different systems adding to the confusion. Small I2C EEPROMs (2K or less) usually use a different addressing scheme using only one address byte.

For booting, the Propeller needs an I2C EEPROM that's 32K bytes or larger in size. You can use a Ramtron FRAM if you want. I've used 128K EEPROMs that behave like 2 separate 64K devices.

EEPROMs take about 5ms to do a write operation and you can write a whole page of bytes in one such cycle. The page size varies from manufacturer to manufacturer and from device to device, but it's usually 64 bytes or larger. I2C EEPROMs use a serial interface that runs at up to 1MHz and typically needs about 38 clocks to access the first byte, then about 9 clocks for each subsequent byte. There are SPI EEPROMs that run much faster and SD cards also use the SPI protocol. There's a lot more overhead with SD cards to get started with a file if you want to keep the SD card PC-compatible. Once you start reading, it's much much faster than an I2C EEPROM. Writing speeds are kind of variable. They depend on how much you're writing and vary a lot from manufacturer to manufacturer and device to device because the card's internal controller has its own buffers and has to manage the internal flash memory.

FPU: Read the documentation on this and you'll see what it's capable of. It's mostly carried for use with the Stamps which can't do floating point otherwise. They can be used with the Propeller, but the Propeller can indeed do floating point in software at very respectable speed. The FPU might be used where there's an existing application heavily using the FPU that you want to simply convert over to the Propeller.

Beau Schwabe
03-22-2012, 05:22 PM
Traditionally a tri state octal buffer is used for multiplexing/demultiplexing data on a bus. The three states HIGH, LOW, and HiZ (<-floating) refer to the output of the octal driver. By having a third state it eliminates problems associated with combining outputs that are in disagreement.