IEEE1394
IEEE1394, also called “FireWire”
“1394 right now is specified to run up to 400Mbits per second and 800Mbits in the future. It will be plug and cable backwards compatible. ”
Often used to transfer movies from digital camcorders machine_vision.html#digital_cameras … machine_vision.html#IEEE-1394_digital_camera
- [What is the endianness of CAN ? ]
- Jan Axelson http://lvr.com/ has lots of information about RS-232 and RS-485 #rs485
- http://sourceforge.net/projects/libserial/ “A collection of C++ classes which allow the serial port on POSIX systems to be accessed like an iostream object. …”
- Programming Notes For Central Data Serial Ports http://www.cd.com/prog.html has lots of useful data on programming PC serial ports (in Unix and WindowsNT). [FIXME: ac968201 says this is offline]
- Unix Serial Port Resources http://www.stokely.com/unix.serial.port.resources/serial.card.code.html ???
- PC Interfaces and Controlling Devices http://www.epanorama.net/links/pc/interface.html has information about the PC serial port, PC parallel port, IrDA infrared link, USB, IEEE 1394, keyboard, mouse, joystick. [FIXME: copy link to other interfaces I talk about ?]
http://thairobot.com/interface.htm seems to have information about all the same interfaces …
http://www.beyondlogic.org/ seems to have information about all the same interfaces …
- Computer Interface: Serial and Parallel Port Communications http://engineering.cua.edu/biomedical/faculty/hidler/courses/be497/2001/projects/emg/EMGlinks.html#comp
- Michael Sweet http://www.easysw.com/~mike/ wrote the “Serial Programming Guide for POSIX Operating Systems” http://easysw.com/~mike/serial/
- “Use of a PC Printer Port for Control and Data Acquisition” by Peter H. Anderson http://et.nmsu.edu/~etti/fall96/computer/printer/printer.html
Programming The Parallel Port In QBasic http://www.aaroncake.net/electronics/qblpt.htm Programming The Parallel Port In Visual Basic http://www.aaroncake.net/electronics/vblpt.htm
[FIXME: this is about the parallel port, not the serial port ... do I have parallel port information elsewhere ?]
“CAN we talk? : Distributed systems require protocols for communication between devices. CAN and SPI are two of the most common.” article by Niall Murphy 2003-05-14 http://www.embedded.com/story/OEG20030509S0042
… a text-based protocol. This is how most of the Internet works; HTTP and SMTP are both built on text protocols. This approach allows the protocol to remain architecture agnostic. Text is less efficient than a protocol where each byte is given a meaning, but the upside is a protocol thats easy for a human to read and debug.
…
The biggest difference between CAN and SPI is that the CAN protocol defines packets. In SPI (and serial interfaces in general), only the transmission of a byte is fully defined. Given a mechanism for byte transfer, software can provide a packet layer, but no standard size or type exists for a serial packet. Since packet transfer is standardized for CAN, its usually implemented in hardware. Implementing packets, including checksums and backoff-and-retry mechanisms, in hardware hides a whole family of low-level design issues from the software engineer.
…
There are a number of higher layer protocols that have been layered on top of the basic CAN specifications . These include SAE J1939, DeviceNet, and CANOpen. …
points to the Linux CAN-bus driver project http://home.wanadoo.nl/arnaud/
Open DeviceNet Vendor Association, Inc. http://www.odva.org/ (DeviceNet is a more detailed specification for CAN)
information from “Hard real-time connectivity: Its in the CAN” article by Bruce Boyes in _Computer Design_ 1998-01, p. 88
“CAN is a robust network designed for hard real-time distributed control systems in harsh environments. Its an open standard (and the subject of ISO 11898)…” … “CAN is a peer-to-peer network … packets with a maximum payload of 8 bytes … … adept at passing around simple commands or small amounts of data quickly… … not well-suited to moving around large files …” “can go up to 1 Mbit/s, CAN systems most commonly operate at 250 Kbit/s or 125 Kbit/s, because lower baud rates are more resistant to brief bursts of noise.” ” fiber-optic cable also is common. …” “The ISO 11898 document specifies a 120 Ohm nominal impedance using terminated twisted-pair media. … line length versus baud rate … … 40 m, 1 000 Kbits/s … 1 000 m, 50 Kbits/s …”
“low cost and relative simplicity” “Kevin Parkinson … typically uses optically isolated chip-to-bus electronics using RS485 type drivers.”
“Emphasis on content” “When data is transmitted by a CAN node, no other nodes are /addressed/; rather, the /content/ of the message (pressure, voltage, temperature, etc.) is designated by the identifier, which is unique throughout the network. The identifier also prioritizes the message. With care, this prioritizing guarantees the most important messages are transmitted with the least delay. … Arbitration is nondestructive. In the case of an overloaded network, the highest-priority messages still get through. … Latency … is also very low. … CAN hardware also provides message acknowledgment and automatic re-transmission in the event of an error.”
“CAN data bits are either “dominant” or “recessive”. … A frame always begins with a dominant-level SOF (start-of-frame) bit. A dominant bit always “wins” over a recessive bit being transmitted at the same time. … If 2 nodes start transmitting concurrently, each node performs bit-wise arbitration to resolve the conflict. … A transmitter stops sending if it sends a recessive bit, but monitors a dominant bit. That guarantees a lower-priority CAN device immediately stops transmitting, while the higher-priority device continues unimpeded. The lower-priority device waits for the next bus idle time and tries again. … 2 nodes [should] never send the same [arbitration field] followed by different data …”
“… ACK … indicates sucessful message … reception by at least one receiver … the hardware ACK is an important component of CANs real-time capability.”
“For example, a vehicle wheel-speed sensor should transmit its data properly and let other nodes, if any, handle the data as they wish.”
“The RTR bit permits any node to request data from another node.”
“receiving nodes which detect a problem … transmit… in the end of frame space. The sender monitors the error flag, which triggers an automatic retransmission by the sending node.”
“Honeywells Smart Distributed System (SDS) … DeviceNet (initiated by Allen-Bradley) … … DeviceNet and SDS also include specifications for rugged cable and connectors.”
“The CAN in Automation (CiA) group (Erlangen, Germany) promotes the CAL”
“CAN specification 2.0B describes the extended message frame with a 29-bit ID.”
Siemens (SAE81C91), Motorola (MC68376), Intel (i82527), Philips (SJA1000), National Semiconductor (COP87L84BC). offer CAN controllers and/or microprocessors with CAN 2.0B capability.
CAN extended message format (bit field width is not to scale)
| Arbitration field | Control Field | Data field | CRC field | Response field
Arbitration field:
| SOF | 11 bit identifier | SSR | IDE | 18 bit identifier | RTR |
Control field:
| R1 | R0 | DLC |
Data field:
| Data: 0 to 8 bytes |
CRC field:
| 15 bit CRC |
Response field:
| ACK field | EOF 7 bits | INT 3 bits | bus idle (or another node starts transmitting)
SOF: Start of Frame, a single dominant bit
SRR: Substitute Remote Request
IDE: identifier extension bit is recessive for extended format
ID Fields: a total of 29 ID bits for extended frmat
RTR: remote transmit request, dominant for data frames, recessive for remote frames.
R1, R0 are reserved, dominant bits.
DLC: a 4 bit data length code indicates the number of bytes in the data field.
DATA: 0 to 8 bytes. A remote frame contains zero bytes.
CRC: a 15 bit CRC and a recessive CRC delimiter bit. (Covers what ? just the data ?
The entire packet before the CRC ? )
ACK: acknoledgement is a single dominant bit followed by a recessive delimiter bit
EOF: End of Frame: seven recessive bits end a frame
INT: intermission is 3 bits between remote and data frames
For an extended frame, this is a total of 64 to 128 bits (depending on data size). With 8 bytes of data, overhead (non-data bits) is therefore 1/2.
Newsgroups: comp.os.ms-windows.programmer.misc
Subject: Re: Question about serial ports
Date: 12 Sep 1995 11:32:18 GMT
Organization: Siemens AG Austria
Lines: 26
In <3253010398.350698279@ett.se>, <H.Olsen at ett.se> (Hakan Olsen) writes:
>Hello,
>
>I am writing a program that does some commmunication via modem. My problem is
>that I have not found any functions to initialize or communicate with the
>serial ports on a PC. Are there any libraries containing useful functions for
>serial communication? I would prefere if the libraries were for standard C
>as I am not very familiar with C++.
>
>I am using Borland C/C++ 4.0
>
>Any help would be much appreciated!
Look up the OpenComm(), CloseComm(), WriteComm(), ReadComm() etc.
in your SDK helpfile. For a more elaborate communication (X, Y, Z-Modem)
you should get (buy) a communication library supporting some of the
common protocols.
Helge
=)
———————————————————-
(c) All Thoughts are Mine — Genuine Genius
———————————————————-
helge at siemens.co.at —– VIENNA — AUSTRIA
———————————————————-
Subject: Re: ADB Physical Specs
From: st93urnu at post.drexel.edu (Aaron D. Marasco)
Date: Fri, 23 Feb 1996 17:24:21 -0500
In article <31233605.5C70@gtri.gatech.edu>, Bryan Dunn
<bryan.dunn at gtri.gatech.edu> wrote:
>Hello all!
>
>Im designing some hardware that will use the ADB interface. Can anyone
>suggest a good reference (on the net or in print) that describes ADB in
>detail?
>
>Thanks in advance!
>
>Bryan
“Guide to the Macintosh Family Hardware: Second Edition”
Tells everything about the Macs up to the IIfx, including ADB, and a
standard is a standard, so it shouldnt have changed (however, this *IS*
Apple were talking about!)
Anyway, it is a book I have for a school class, so I have all the info:
$26.95 US, $34.95 CAN
Addison-Wesley
ISBN 0-201-52405-8
I havent checked any of the online bookstores, you might get it cheaper!
Also, its a paperback, to letcha know.
_Inside AppleTalk, Second Edition_
notes from _Inside AppleTalk, Second Edition_ by Sidhu, Andrews, Oppenheimer[1]. and from AMDs _Analog and Communications Products 1983 Data Book_[2]. and Apple _Macintosh Family Hardware Reference_ (1988) [3]. LocalTalk uses Synchronous Data Link Control (SDLC) frame format and a frequency modulation technique called FM-0. Each bit cell (nominally 4.34 usec -> nominal 230.4 Kbit/sec). differential, balanced voltage signaling over a maximum distance of 300 meters. … transformer provides ground isolation as well as protection from static discharge. “In the preferred hardware implementation of LocalTalk, a Zilog 8530 Serial Communications Controller (SCC) is used.” [1] The classic Macs and the Mac SE [3] both use the 8530 SCC, a 26LS30 differential transmitter, a 26LS32 differential receiver, and a fistfull of RFI filters. The Mac II replaces the 26LS32 with a 75175 differential receiver. (I have no info on other macs) (the Maxim MAX216 Low-Power AppleTalk Interface Transceiver looks interesting). The SCC is clocked at 3.672 MHz hooked to /RTxCa, /RTxCb, and PCLK. on classic, Mac SE, and Mac II. (Mac SE and Mac II has software switching of /RTxCa to the GPiA pin).[3] “dont access the SCC chip more often than once every 2.2 us. … on the Mac SE [and the Mac II] it is not neccessary to do so because [other circuits ensure the proper delay]“[3] “the transmitter and receiver hardware for LocalTalk is built into every Macintosh and AppleIIGS computer, …. and many peripheral devices …” “If you are designing your own AppleTalk hardware from scratch, it is easiest to use a 3.6864 MHz oscillator and a Z8530. This has been tested and works just fine.” [HW 545 - Serial I/O Port Q&As - Technical Notes - Developer Support ] “LocalTalk hardware can detect a flag byte, the distinctive bit sequence 01111110 ($7E).” [1], but i cant find any reference to this capability in [2]. Well, the hardware guys have done it again. Theyre making this gizmo that theyre hooking to the Mac serial port. They say it communicates “like a synchronous modem”. They want it to go at least 500Kbits/sec. “see that Z85C30 on the Mac motherboard there ? the databooks say it can go at 10MHz … cancha just poke the right values into it? dissassemble the Mac ROMs and figure out how Apple did it ? … But of course we want the thing to work plugged into the serial port of *any* Macintosh, including the 1996 models.” I know it can be done; the hardware guys had LapLink for Mac running on 2 Macs (homebuilt cable between them) “See that Oscope ? theyre pumping 750KHz into the HSKi input … LapLink just transferred a megabyte file at rougly 70KB/s.”
65 views















Laptop hard drives 2.5″ SATA 150MBps, SATA 300MBps














