EmbLogic's Blog

Nibble Mode Communication using IEEE Standard 1284-1994(Standard Signalling Method)

Implementation of Nibble Mode communication using Parallel Port Device Driver.

1. Host signals ability to take data by making the Busy pin low.

2. Now peripheral or writer responds by placing First nibble. Writer Writes on Data line, on the other side Reader reads from Status line.

3. Before reading from Reader side Peripheral or writer signals valid nibble by Sending signal on one of the status line.

4. The Reader indicate to writer that it has received the lower nibble. And is is not ready to accept another nibble. This is done by sending signal on status line to indicate the writer.

5. Now repeate all these steps for second nibble…

RCS file: header.h,v
Working file: header.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
implemented linux/ioport.h and asm/io.h
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: declaration.h,v
Working file: declaration.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: initilization.c,v
Working file: initilization.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
Implemented check_region(), request_region() and release_region()
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: cleanup.c,v
Working file: cleanup.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
Implemented release_region
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: dev_open.c,v
Working file: dev_open.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: dev_release.c,v
Working file: dev_release.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: dev_write.c,v
Working file: dev_write.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
Written LSB nibble and MSB nibble. Taken character from application and calaulated LSB and MSB
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: dev_read.c,v
Working file: dev_read.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
Read the Nibbles and arranged to calculate the original character
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

RCS file: file_op.h,v
Working file: file_op.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;    selected revisions: 1
description:
Performed different file operations
—————————-
revision 1.1    locked by: root;
date: 2014/11/03 08:52:22;  author: root;  state: Exp;
Initial revision

Write synopsis:

ch2 = ch1 & 0x0f;

ch3 = ch1 & 0xf0;
ch3 = ch3 >> 4;

Read synopsis:

ch1 = ch1 << 1;
ch1 = ch1 >> 4;
ch1 = ch1 & 0x0f;

ch2 = ch2 << 1;
ch2 = ch2 & 0xf0;

Enjoy Implementing……

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>