Switching Algebra and CIrcuit Design for the SIght Impaired (Newbie)?

Hi, I'm a legally-blind Finnish uni student majoring in information processing science but have been interested in digital logic and symbolic machine language for some time. Thus I took a uni course called digital techniques which is dealing with digital logic, boolean and switching algebra and related topics. The course just began so I'm not totally sure what will or won't be covered.

So far I like the contents in the course but one really problematic area for me are the diagrams dealing with ports, switches and other components. These are sort of hard to read and even harder to write for various reasons. In the end it all comes down to having no useful textual representation for the charts, so I need to use heavy magnification and the mouse.

Reading the diagrams has a couple of difficult key steps. Firstly, many of the American port symbols resemble each other a lot so reliable shape detection with magnification is slow and tedious, though fortunately we are using the IEC symbols which are much clearer as a magnification user.

The text labels need to be read, too, which may take several seconds per element. Speech is of no help because most of the exercises have the imagery in bitmapped form. Lastly, the usable magnification range for me is easily at least 4x which gives only 1/16 of the whole screen. In practise this means that I can only examine a single element at a time and have to traverse the arrows, cables and other connective elements slowly one at a time. Thus it is easy to imagine this all takes lots of time and isn't really essential, understanding what's going on, getting the big picture and being able to ponder the logic is what counts, I think.

As far as writing diagrams goes, I'm currently using Microsoft Visio, which is a very general diagramming tool. It is able to do the job but very clumsily. I need to work with high magnification and do precise mouse dragging, clicking and such, to which I haven't really gotten used to, though I'm physically capable of using the mouse of course. WHen it comes to general computing, I like the GUI but am using the keybord as much as possible. I prefer fast speech to magnification or braille but screen readers aren't smart enough to understand the semantics or even the syntax in diagrams.

As an example of an awkward way of handling things in Visio, I should mention the wiring. In some other unrelated music tools, in stead of having to drop a wire object and drag both ends to where I want them, you connect modules by dragging from the output to the input. The wire is inserted automatically and snaps to the closest destination terminal clearly showing where it is going to go if I release the mouse button. Even better for me would be a keyboard interface. So I could type some uniquely identifying bits of texts or numbers to specify the source and destination from the keyboard, with no mouse dragging involved.

So, how do you do your diagrams and is there any alternative, preferrably accessible, Windows software or notation you could recommend to make the job easier? We'll be dealing with Switching and Boolean algebra and their various diagrams a lot as well as basic digital logic circuits.

On other courses I've been using various methods. For UML the Rational Rose Tool is actually pretty usable and doesn't involve an awful lot of mousing around. FOr ER and EER diagrams in databases, i invented my own notation that's 100 percent textual. As far as graphs and trees go, I found working with matrices loads easier than looking at a magnified, visual representation of the same thing on-screen.

But back to digital logic and switching algebra, do you know of any textual notation for representing these diagrams efficiently? Intuitively, I would think such a thing must exist. After all all size and spatial information in these diagrams seems redundant, only the ordering and relations of the elements really matters. I wonder what kind of notation people used to use when discussing electronics in newsgroups before graphical display devices and HTMl mail were around?

Finally, before I forget I should ask if the set of Boolean algebra symbols have been standardized in ASCII? Here's what I'm currently using: A' : unary not A a + b: a or b a . b or simply a b: a and b a ^ b: exclusive or (borrowed from the bitwise operator in C) (a b)': not and. The not spanning the whole expression is indicated with parentheses and I'm using the single quote sign as a postfix n-ary operator.

Hope you don't mind the computer science lingo, I have some programming background but am a total noob as far as digital logic goes.

PS: I'm not usually into cross-posting but this time the main message goes to alt.comp.blind-users and I'm also posting this to sci.electronics.misc hoping for a wider audience.

--
With kind regards Veli-Pekka Tätilä (vtatila@mail.student.oulu.fi)
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila/
Reply to
Veli-Pekka Tätilä
Loading thread data ...

Some circuit simulation software like LT-Spice (free and quite good) or Electronics Workbench (commrcial and imo inferior) may be easier for drawingg circuit diagrams, if, being legally blind, you can get your head aroound a chessboard full of pieces you may even be able to read and understand raw spice netlists, (a text-based language maunlky used by software to describe electric circuits)

simple digtal circuits can be expressed in boolean algebra but when multiple feedback paths are involved the notation fails.

state transistion diagrams or tables can explain more complex systems

They used (and still do use) text characcters that aproximate the circuit sumbols.

--->|-- is a diode --||-- a capacior and --[100]-- a 100 ohm resistor etc..

The allignment of the lins of text that form these circuits is critical but fortunately thr oroginal usenet hardware (text terminals and line printers used a fixed pitch font so allignment would be preserved on dissimilar hardware. I expect these circuit diagrams are totally unintelligible when rendered by audio reader software.

when communicating on the telephone the only method is the netlist label the nodes in the circuit and then describe how the nodes are connected by the components,

A' looks like A-prime to me I think ~A could be a better symbol for not a. (it also looks a bit like A-bar which would be the proper symbol)

I'd go with "&" or "." for "and", "|" or "+" for "or", and "~" as a prefix for not ^ is as good as anything for xor. C (C++. java, etc) programmers would probably prefer ! && || and ^. Bye. Jasen

Reply to
Jasen Betts

I just gave WinSpice a try but cannot make much out of it frankly speaking. I have no need for simulation though it may be necessary in some other courses. In fact, I think having no simulation might be the best option in an exam, .

I think it depends A lot on how complex the software is and how motivated I am. I'm able to use early versions of Reaktor for synthesizer design at a musician-friendly level, even though the interface is a bit on the complex side. Custom controls, bitmapped text, poor contrast and no keyboard interface could make any app relatively hard to use, though,

That could work. I generally prefer textual formats, though they are often linear and achieving clear hierarchies would require some software that let one concentrate on the structure at different levels. A Windows tree control as in CHM help files comes to mind as the first example. You can close the branches you don't need. A similar effect is hard to achieve in most text editors.

Another requirement on the course I'm doing seme to be Karnaugh maps. Again VIsio cannot do them and I would prefer some more specialized piece of software. I'm currently using ASCII tables but it is a bit clumsy.

That's a good point. FOr doing graphs perhaps Graphwiz could be used to a certain extent:

formatting link

It does allow you to concentrate on the essentials and leave laying out the elements visually to the computer.

Tables could be represented in ASCII and maybe I'll find some notation for state transitions, too.

Ah guessed that. The same tac is used in the port symbols where the stuff inside the rects could be written in ASCII. Such as: & for an and port and >=1 for or, for instance.

Yes, they are, for the most part. The notation is usable on a braille display or if using full-screen magnification but pretty slow still. For speech the main problem is that it doesn't understand the syntax used. The screen reader would need to be linked to some intelligent parser or lexer for a sensible audio representation.

As a case study, here's how one of your earlier lines is like using Dolphin Supernova.

First, full punctuation.

Is renderred in speech as:

greater than dash dash dash greater than vertical line dash dash is a diode dash dash vertical line vertical line dash dash a capacitor and dash dash left bracket one hundred right bracket dash dash a one hundred ohm

Sorry if the layout is a bit off, I was lazy enough to use a find and replace operation here.

I haven't structured the prompt in any way because it is read out linearly from left to right without any major pauses in it. Some readers offer a marginal improvement by counting repetitiv symbols but it still doesn't make things much clearer. I also lowercased the text to highlight the fact that case changes are not usually spoken though they can constitute a word delimiter in pronounciation.

As an equally unclear but less straining option, the same thing again this time with no punctuation:

is a diode a capacitor and one hundred 'ay' one hundred ohm

Naturally, I'm mostly using no punctuation in something like e-mail.

If you'd like to know more, I could point you to a thread in another group dealing with programming with speech:

formatting link

For more sight info, I've got a page about that, too:

formatting link

So this comes down to serializing and reconstructing a graphical representation to text, I think .

Yeah, some languages even use ~= for unequality. Not to be confusd with the operator =~.

My original goal was to stay true to the Boolean algebra notation. Some e-texts also use the dot, plus and the single quoet char respectively. Yet none of these are speech friendly (quote, ampersand, period).

If operators made of word characters are allowed then:

a and (not(b) or c)

would be pretty straight forward. Another way is writing the operators as though they were functions:

and(a, or(not(b), c))

Or for a Lisp-like flavor:

(and a (or (not b) c))

Heck, post-fix is also a possibility :

b not c or a and

I'm only kidding with this last one.

That's even worse, ampersand ampersand etc... Boolean is pretty bitwise by nature, isn't it.

--
With kind regards Veli-Pekka Tätilä (vtatila@mail.student.oulu.fi)
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila/
Reply to
Veli-Pekka Tätilä

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.