Linux SoftwareSystemOperating Systems KernelsuLan Driver 0.7

uLan Driver 0.7


uLan provides 9-bit message oriented communication protocol, which is transferred over RS-485 link. Characters are transferred sam
Developer:   Pavel Pisa
      more software by author →
Price:  0.00
License:   GPL (GNU General Public License)
File size:   0K
Language:   
OS:   
Rating:   0 /5 (0 votes)
Your vote:  
enlarge screenshot


uLan provides 9-bit message oriented communication protocol, which is transferred over RS-485 link.

Characters are transferred same way as for RS-232 asynchronous transfer except parity bit, which is used to distinguish between data characters and protocol control information. A physical layer consists of one twisted pair of leads and RS-485 transceivers.

Use of 9-bit character simplifies transfer of binary data and for intelligent controllers can lower the CPU load, because of the CPU need not to care about data characters send to other node. Producers of most microcontrollers for embedded applications know that and have implemented 9-bit extension in UARTs of most of today's MCUs. There is the list below to mention some of them:

  • all Intel 8051 and 8096 based MCUs with UART
  • members of Motorola 683xx family ( 68332, 68376, ... )
  • Hitachi H8 microcontrollers

    The driver is implemented as relatively independent layers and subsystems. Messages are prepared and received in the driver dedicated memory. This memory is divided into blocks with uniform size with atomic allocation routines.

    When message is being stored into blocks, head of message with couple of data bytes is stored in the first allocated memory block. If all data cannot be stored in the first block, next blocks are allocated and linked together.

    The message heads are linked in bidirectional linked lists of messages prepared for sending, processed messages and messages prepared for client notification. These lists or queues are main mechanism for transferring of messages between subsystems.

    Link protocol is programmed as finite state automata with state stack, which state routines are executed by interrupt handler. State routine can return positive integer information, negative error notification or zero, which leads to wait for next interrupt. Information or error is used as input parameter when state routine is called.

    When the state routine wants initiate transfer to another state routine it changes pointer to the actual state routine. If previous state routine returns nonzero value new routine is called immediately, in other case next interrupt invokes new state routine.

    There is stack of callers of actual state routines which enables to constructs automata subsystems, which can be used in more places in main automata loop. Main purpose of this automata is to send or process messages coming in list of messages prepared for sending and if specified, move these messages onto list of messages prepared for client notification.

    Received messages are put onto this list too. Subsystem is supervised by timeout handler, which can revitalize communication in case of die of other node. The interrupt and timeout handlers are fully SMP reentrant.

    The automata subsystem uses pointers to chip driver routines for hardware port manipulation. This is only part dependent on used chip, today 82510, 16450 and OX16C950PCI. These routines can send and receive 9 bit character, connect to RS-485 line by the arbitration sequence, wait for specified time for character and initialize and close port.

    File operation subsystem makes interface between OS kernel VFS and client message queues. It enables to prepare single or multi-frame messages and stores notifications of received or processed messages in clients' private state structures. This part is heavily operating system dependent.
    tags state routine  messages prepared  prepared for  client notification  for client  state routines  messages and  actual state  next interrupt  wait for  which can  for sending  other node  

    Download uLan Driver 0.7


     http://prdownloads.sourceforge.net/ulan/ul_drv-0.7.tar.gz?use_mirror=umn
     http://prdownloads.sourceforge.net/ulan/ul_drv-0.7.tar.gz?use_mirror=switch
     http://prdownloads.sourceforge.net/ulan/ul_drv-0.7.tar.gz?use_mirror=optusnet


    Authors software

    uLan Driver 0.7 (by Pavel Pisa)
    uLan provides 9-bit message oriented communication protocol, which is transferred over RS-485 link.

    Characters are transferred sam


    Similar software

    uLan Driver 0.7 (by Pavel Pisa)
    uLan provides 9-bit message oriented communication protocol, which is transferred over RS-485 link.

    Characters are transferred sam

    PyCAGE 1.1.4 (by Erik Max Francis)
    PyCAGE fairly generic and complete cellular automata simulation engine.

    It's written in Python and it supports both 1D and 2D auto

    Net::Chat::Jabber 0.1 (by Steve A Fink)
    Net::Chat::Jabber is a Jabber protocol adapter for Net::Chat::Daemon.

    API

    new()

    class - the name of the class we're creati

    Visual Automata Simulator 1.2 (by Jean Bovet)

    ftplib 3.1 (by Thomas Pfau)
    ftplib is a set of routines that implement the FTP protocol

    RT-Thread 0.2.1 (by Midnight Xiong)
    RT-Thread is a real-time operating system

    NRL OLSR 7.7 (by Justin Dean)
    NRL has implemented a link-state routing protocol oriented for mobile ad hoc networks (MANETs)

    Qolyester 20060220 (by Ignacy Gawedzki)
    QOLSR is a QoS extension introduced to the OLSR protocol

    libyahoo2 0.7.5 (by Philip S. Tellis)
    libyahoo2 is a C library interface to the new Yahoo! Messenger protocol

    Dhcpclient snap_20061009 (by Stefan Rompf)


    Other software in this category

    KernelDriver 5.22 (by omerz)
    KernelDriver™ for Linux automates and simplifies the development of kernel mode Linux device drivers for PCI / CardBus / ISA / ISAPnP

    uLan Driver 0.7 (by Pavel Pisa)
    uLan provides 9-bit message oriented communication protocol, which is transferred over RS-485 link.

    Characters are transferred sam

    Linux Kernel 2.6.19.1 (by Kernel.Org Organization, Inc.)
    Linux Kernel is the essential part of Linux, responsible for resource allocation, low-level hardware interfaces, security, simple com

    Migshm 2.4.26-2 (by The Migshm team)
    Migshm is a DSM patch for openMosix

    Realtime Application Interface 3.4 (by RTAI Team)

  •     search


    Featured Software

    jEdit 4.3 pre8
    jEdit is an Open Source text editor written in Java

    Opera 9.02
    Surf the Internet in a safer, faster, and easier way with Opera browser

    GNU Aspell 0.60.4
    GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell


    Subscribe in Rojo
    Google Reader
    Add to My Yahoo!

    Add to My AOL
    Subscribe with Bloglines
    Subscribe in NewsGator Online
    Add 'nixbit linux software' to Newsburst from CNET News.com
    del.icio.us nixbit linux software


    Top tags