logo image - link to home page

Products | Support | Resources | PurchaseContact  | Basket  | Checkout

  Home
  What's New
  Products
  Distributors
  Purchasing Info
  Developer Resources
  Support
  Upgrades
  Site Index
  Contact Us
  Pb-Free Info (RoHS)
 

 

keyword search:
 


 

Products:
  Books:
    The LAB-X1 Tutorial and Resource Book
    PICBASIC PROJECTS - 30 Projects Using PICBASIC and PICBASIC PRO
    Programming PIC Microcontrollers With PICBASIC
    Running Small Motors with PIC™ Microcontrollers
    Making PIC™ based Laboratory Instruments and Controllers
    Serial Port Complete Second Edition
    USB Complete Third Edition
    USB Mass Storage
    Build Your Own Humanoid Robots
    PIC Robotics
    Insectronics : Build Your Own Walking Robot
    Amphibionics : Build Your Own Biologically Inspired Reptilian Robot
    Designing Embedded Systems with PIC Microcontrollers: Principles and Applications
    Easy Microcontrol'n - A Beginner's Guide to Using PIC16/17 Microcontrollers
    Easy Step'n - An Introduction to Stepper Motors for the Experimenter
    PIC Microcontroller Project Book
    Microcontrol'n Apps - PIC Microcontroller Applications Guide
    Time'n and Count'n using PIC® Microcontrollers
    Programming and Customizing PICmicro Microcontrollers
    Serial Communications
     

Serial Port Complete Second Edition - $39.95

Purchase at mcumart.com

by Jan Axelson

This book explores wide and varied territory, including hardware and software; ports in PCs and in embedded systems; and RS-232, RS-485, and wireless interfaces. You don’t need to read the book straight through. If you’re interested in a particular topic, you can skip right to it.

The first chapters focus on hardware and interfacing. Chapters 1 and 2 are an introduction to asynchronous serial communications. Chapter 3 discusses serial ports in PCs, and chapters 4–8 are a guide to interfacing using RS-232, RS-485, and wireless technologies.

The next chapters are a guide to programming. Chapters 9 and 10 show how to program serial ports on PCs using Visual Basic .NET and Visual C# .NET. Chapter 11 shows how to program serial ports for embedded systems with examples for microEngineering Labs' PICBASIC PRO compiler and Microchip Technology's MPLAB C18 C compiler.

Chapters 12 and 13 focus on hardware and programming for RS-485 serial networks.

Chapters 14–16 explain how to implement USB virtual COM ports using special-purpose and generic USB controllers.

380 pages.


Table of Contents

Introduction

Acknowledgments

1 Options and Choices

When to use a Serial Port

Advantages
Limits

System Components

The Computers
The Physical Link
Programming

Applications

Example Systems
Managing Communications
Special-purpose Modules

2 Formats and Protocols

Sending Serial Data

Asynchronous and Synchronous Communications
Word Formats
Bit Rate and Baud Rate
System Support for Low-level Protocols

Sending Bits

The Format
The Need for Accurate Timing
Autodetecting the Bit Rate
Autodetecting a COM Port

Data Formats

Binary Data
Text Data
ASCII Hex
Application-specific Protocols

Preventing Missed Data

Flow Control
Buffers
Event-driven Programming and Polling
Acknowledgments
Error Checking

3 COM Ports on PCs

Port Architecture

Device Manager
Port Resources
Serial Servers

Accessing Ports

Drivers
Identifying Ports
GUIDs for COM Ports
COM Port Numbering
INF Files
Options for Application Programming

4 Inside RS-232

The Hardware Interface

Signals
Voltages
Timing Limits

Converting Voltages

Interface Chips
Short-range Circuits

Port-powered Circuits

Using Outputs as a Power Source
Regulating the Voltage

Alternate Interfaces

Direct Connection
Other Unbalanced Interfaces

5 Designing RS-232 Links

Connectors and Adapters

Connector Options
Adapters
Using Microcontroller Development Boards

Cables

Length Limits
Surge Protection

Isolated Lines

Ways to Achieve Isolation
About Grounds
Power Supply Grounds
Optoisolating

Debugging Tools

Using a Breakout Box
Monitoring with a Voltmeter
Oscilloscopes and Logic Analyzers

6 Inside RS-485

About RS-485

Balanced and Unbalanced Lines
Voltage Requirements
Current and Power
Speed
Internal Protection Circuits

Interfacing Options

Chips
Adding a Port on a PC
Converting 3.3/5V Logic
Converting RS-232

Controlling the Driver Enable

Re-enabling the Driver
Software-assisted Control
Hardware Control

7 Designing RS-485 Links and Networks

Long and Short Lines

When Is a Line Long?
Calculating Line Length
Choosing a Driver Chip

Line Terminations

Characteristic Impedance
Adding a Termination
Effects of Terminations
Reflections
Series Terminations
Terminations for Short Lines
AC Terminations
Network Topologies

Biasing the Line

Open-circuit Protection
Short-circuit Protection

Cable Types

How a Wire Picks Up Noise
Twisted-pair Cable
Selecting Cable

Grounds and Differential Lines

Ensuring a Common Ground
Isolated Lines

Using Multiple Buses

Adding a Repeater
Implementing a Star Topology

8 Going Wireless

Media and Modulation

Using a Carrier Frequency
Spread Spectrum Technology
Ensuring Reliable Transfers

Infrared

Transmitters and Receivers
IrDA

Radio Frequency

Complying with Regulations
Choosing an RF Band
Implementing a Link
Using Other RF Standards

9 Using .NET’s SerialPort Class

Gaining Access to a Port

Finding Ports
Opening a Port
Timeouts
Receive Threshold
Closing a Port

Transferring Data

Transferring Bytes
Transferring Text

Using Stream Objects

BinaryReader and BinaryWriter
StreamReader and StreamWriter

Saving a Port and Parameters

The Application Settings Architecture
Combo Box Example

10 Managing Ports and Transfers in .NET

Receiving Data

Setting Timeouts
Detecting Received Data
Collecting Received Data
Ensuring Efficient Transfers

Sending Data

Avoiding Timeouts
Sending without Blocking the Application
Preventing Buffer Overflows
Ensuring Efficient Transfers

Flow Control

Selecting a Method
Monitoring and Controlling the Signals

Handling Errors

Exceptions
The ErrorReceived Event
Verifying Received Data

Structuring an Application

Defining a ComPorts Class
Setting Parameters with Combo Boxes
Defining Application-specific Events

11 Ports for Embedded Systems

A Microcontroller Serial Port

About the PIC18F4520
The Enhanced UART

Registers

Configuring and Accessing the Port
Setting the Bit Rate
Interrupts
Basic Operations

Accessing a Port

Configuring the Port
Sending Data
Receiving Data
Using Interrupts
Using Flow Control

Adding Ports

Multiple On-chip UARTs
Firmware UARTs
External UARTs

12 Network Programming

Managing Traffic

Steps in Exchanging a Message
Protocols
Using Existing Protocols
Debugging Tips

Addressing

Assigning Addresses
Detecting Addresses
Reserving Address Values
Defining a Message Format
9-bit Format

13 An RS-485 Network

Connecting the Nodes

Transceivers
Terminating and Biasing
Cabling

Example Protocol

Addresses
Message Format

Commands

Reading a Byte
Writing a Byte

Polling the Nodes

Configuring the Driver-enable Line
Sending Commands

Responding to Polls

Auxiliary Routines
Decoding Received Data

14 Inside USB

Hosts and Devices

Assigning a Driver on the Host
Requirements
Host Responsibilities
Device Responsibilities
Speed
Endpoints

USB Transfers

Transfer Types
Transactions
The Data Toggle

15 Using Special-function USB Controllers

Inside the Chips

Serial Interface (FT232R)
Parallel Interface (FT245R)
Prototyping Modules

Using the Controllers

Drivers
Adding Vendor-specific Data
Implementing a Virtual COM Port
Converting from RS-232 to USB

16 Using Generic USB Controllers

The Communication Devices Class

Documentation
Overview
Device Controllers
Host Drivers

Using the Abstract Control Model

POTS Models
Virtual COM Ports
Requests
Notifications
Maximizing Performance

Descriptors and INF Files

Device Descriptor
Configuration Descriptor
Communication Class Interface Descriptors
Data Class Interface Descriptors
String Descriptors
The INF File
Composite Devices

Index

 

 


Copyright 2008
microEngineering Labs, Inc.
Box 60039
Colorado Springs CO 80960
(719) 520-5323
(719) 520-1867 fax
email: support@melabs.com

Last Updated: 08/04/2008

Home | What's New | Products | Support
Resources
| Purchase | Index Contact

PIC, PICmicro, dsPIC, and  MPLAB are registered trademarks of Microchip Technology Inc. in the USA and other countries.  PICBASIC, PICBASIC PRO, PICPROTO, and EPIC are trademarks of Microchip Technology Inc. in the USA and other countries.   BASIC Stamp is a trademark of Parallax, Inc.

Microchip third-party partner  Microchip Consultant Program Member