Sunday, November 30, 2014

Offhand sketch for object model of unspecific quality

Ed. Note: The web-based "WYSIWYG" editor for Google's Blogger service does not handle "angle brackets" very well. One must enter the character entities "&<" and "&>" manually. So, here is edition 3 of this article. now partially un-mangled via the "WYSIWYG" editor. The "WYSIWYG" blog entry editor had nearly destroyed this item, when its first edition was published.

Object: #<document "μA741x General-Purpose Operational Amplifiers">
Type: "pdf"
Format: #<media "pdf">
Source: #<uri>
    #<annotation metadata:annotation "Op-Amp" @ spchamp 15:30 MST>
    #<annotation media:application "Data sheet" @ spchamp 15:30 MST>
    #<annotation inv:part "UA741CP" @ spchamp 15:35 MST>

Object: #<inv:part "UA741CP">
    #<annotation inv:mfgr "Texas Instruments" @ spchamp 15:42 MST>

Use cases (article):

  • Whiteboard
  • Notes
Use cases (data model)

  • Document Management
    • Parts inventory management
    • CIIDR Project
    • Student's own notes
  • Project Management (Content Development)
    • Dissertation Development
      • Bibliography 
    • White-board
      • e.g. To sometime answer a question, perhaps: "Why is 'op-amp' just denoted as an annotation, there?"
  • GUI
    • Desktop Applications
    • Mobile/Thin Client Applications
    • "Workshop" Applications
Why this is just in an outline format:

  • This article is presently a sidebar beside some fairly tedious "Lab work".
    • in which exactly one UA741CP is applied, together with a total of four ratings of resistor, one linear potentiometer, a DC power supply, and the inevitable LED
  • Why "So unspecific"
    • Because it's an unspecific design, presently
    • But really not to be presented for easy rip-off by touring entertainers.
  • Unpublished "Previous work"
    • Annotation object model for Common Lisp (design sketch)
      • One may as well develop some kind of a SLIME-contrib extension for it, one supposes 
        • to "hide the angle brackets," for instance, 
        • instead, to display the annotations for, each, their "Preferred label"
          • with annotation-of-annotation, namely for purpose of recording:
            • author of annotation
            • time when annotation was created
            • time when annotation was last edited (linked with object/annotation edit history)
            • author of last edit (linked with object/annotation edit history)
            • a database of sufficient extensibility to be able to record such things, in a generic regards, and with a free-open source platform in the same -- noting that Java's community process is probably an important part how Java has survived the acquisition by Oracle, the acquisition of Sun Microsystems.
      • integrating with SKOS
      • in Common Lisp
      • for "Such as this" and not only "Such as this"
        • also because literature
        • and language
        • and does one mention, language?

Saturday, November 29, 2014

Centripetal Force, Spherical Flattening, and the Electrodynamic Sun

This was my response to a discussion forum item, this evening. Regrettably, my response -- presently -- lacks any calculus equations. I'm re-publishing my response, here -- personally -- for later reference as in regards to the physics of electrodynamics. Perhaps it may seem novel to anyone else, as well.

At the north and south geographic poles of the earth -- effectively, the two points on the surface of the earth, located at the earth's rotational axis -- there, the angular momentum due to the earth's rotation would be zero. Gravity would nonetheless provide a force of gravity, at the earth's geographic poles -- there, nothing counteracted by angular momentum as due to the earth's rotation.

Thus, in regards to the geological material of the earth, the earth is not a perfect sphere. Near and at the geographic equator of the earth, the earth's continuous geological mass has a greater angular momentum than the mass at the poles of the earth, but not much less of a force of gravity, there. So, in an offhand calculation of forces created by angular momentum, at the equator -- considering force due to angular momentum, such that, in a circular pendulum, would be counteracted by the centripetal force contributed to the arm of the pendulum -- but insofar as when the only effective "arm of the pendulum" is imposed by the net mass of the earth, then the force due to that angular momentum is of more of a magnitude at the equator -- thus, to a greater difference unto force of gravity, at the equator. Therefore -- albeit, without any lengthy calculation for exact magnitude of difference, at any latitude of the earth's surface -- as due to the earth's rotation, the geological material of the earth undergoes more of a radial expansion, near and at the equatorial latitude.

Certainly, there would be a similar effect encountered by any object with a non-point mass, in rotation along any single axis of rotation. The earth, perhaps -- as in a view towards the geological material of the earth, of the earth beneath the atmosphere of the earth and the earth's entire hydrosphere -- as in regards to the essentially geological qualities of the earth, the earth might be viewed as a large, rock-surfaced mass with a liquid mantle and possibly a solid core -- as towards a certain average viscosity of the earth's mantle, contrasted to the average viscosity of the material of any gaseous planet, or of any planet having experienced a certainly very-long-term geological cooling.

The spherical flattening of a rotating planetary body perhaps may be more evident in observation of the shape of the planet, Saturn -- perhaps less so, of a by-in-large geologically inert planet, such as Mars.

Considering the material of the nearest solar neighbor, the sun, I'm not certain if the "Sphere flattening effect" could be described so easily about the sun's mass. Certainly, there would be more forces than centripetal force and gravity, affecting the sun's own mass  -- including forces resulting of solar convection, and the net electrodynamic force of the magnetic field of the sun, such as would affect the plasma mass of the sun. Perhaps the sun might also be shaped like a flattened sphere, nonetheless.

Student Discovers a Light for a Fading History, Adds Dimmer Circuit

This evening, through careful study, I have learned how to emulate my grandfather's light-sensitive shop-light -- pretty neat, one might say.

Personally, I would use a solid-state relay (SSR) in the mains-facing part of the circuit -- perhaps, in a circuit similar to that illus. p. 3 of the data sheet for the Sunrom LDR 5 mm, in which the current across a photoresistor provides -- in inverse proportion to the intensity of the light source -- a current to the base of an NPN transistor. In the circuit as described in the data sheet: When during the daylight hours, the sun's light would be of a greater intensity, then the photo-resistance would be lower, in the circuit, and the transistor would have a base current. With an NPN transistor in the circuit, the circuit to the base of the transistor effectively activates a relay, namely when the photoresistance of the photoresistor reaches below a certain value, in an inverse proportion to the intensity of the light source. There's to a theory of operation of the item.

As far as an implementation of the manufacturer's original circuit design: If the variable resistor was to be implemented with a dial, then a variable resistor might be selected with an "Inverse slope" for the gradient of the variable resistor -- for the dial's setting, then, to appear to be in direct proportion to the light sensitivity of the circuit, in the original construction?

Substituting a PNP transistor into the circuit -- with a small translation of the schematic, for the current pathway, in the PNP construction -- the current to the base of the transistor would have a functionally opposite effect, contrasted to the design as in the schematic.  With base current to the PNP transistor, the relay would be deactivated. With photoresistance at a maximum, then -- as when sunlight, as at light source, would be at a minimum -- then the base current would be at a minimum, and the relay would be activated, in the alternate PNP circuit.

If the variable-resistor was implemented as a dial, comparatively in the PNP construction, then perhaps it should rather be placed on the collector, along with a similar, static-value resistor there -- that circuit branch, then replaced by a ground wire, in the schematic -- and likewise implemented with an "inverse gradient."

Insofar as type of relay, an SSR would certainly allow the relay portion of the switching circuit to last for a while -- as contrasted to a circuit with, instead, a mechanical relay. If there would be an SSR element of sufficiently compact design, then perhaps it could be implemented all within a base for a light bulb -- or alternately, in a grounded enclosure, with a two-wire cable leading to the base of the light bulb, perhaps to something cleanly done for a residential application ... if only that could all be done in an AC circuit, without any further translation of the manufacturer's original design.

In an AC implementation: The relay would provide an interface to control the AC portion of the circuit. Secondly, there would need to be a DC current source for the switching component of the circuit -- perhaps, something that could be made with a simple, full-wave bridge rectifier -- between the relay's switching component and the rest of the circuit -- with capacitors sufficient to smooth the rectifier's output waveform to a nearly linear current. If that would be all patented-up, already, one could put an Arduino into it, wire it for IoT, and call it "Public Domain," or optionally under some kind of a formal license. "DIY engineering," the poor engineer's alternative to patent litigation. 

I'm sure it's all been done more efficiently, already, but there's a thought to how it could be done, nonetheless. Schematics might ever appear, here, if there's ever a place one would put such a thing.

What one might also say: If I had a shop or a house to emulate it unto, that would be even more nice? If my parents even had a house of their own ... then that would be different than how this year has been, in my family's life. But now, I can emulate a light-sensitive light switch for a disappearing history, for however long the light switch would last. How novel. The things I might make if I was an electrical engineer could outlast my family's own rustic pre-consumer heritage, until it's all been consumed by the consumerist "Modern". What good would that be?

That someone later could put it into a museum and say it was not how it was? That I myself could try to paint any too bold picture of our simple, rustic origins, to entertain any too-bold "old west" romanticism going by? Or that it could just dwindle after the shop light burns out -- that's how I imagine it'll go.

I had seen one of something like the Sunrom LDR 5 mm, once upon a time. I will not ever again see the house I was raised in, and neither the house in which was my grandfather's family. This is the life I know.

Notes - Cadence OrCAD

Ed. Note: The following page comprises a series of short notes about using Cadence OrCAD Capture, an electronic design automation (EDA) tool

Placing Generic Components  and Sources
  • PSpice Component
  • 'DISCRETE' Component Library - Generic Library Items
    • Sources (Generic)
      • BATTERY
    • Cutoffs (Generic)
      • FUSE
      • Switches: SW ____
      • Relays: (TBD) 
        • Mechanical Relays (TBD)
        • Solid State Relays (TBD)
    • Transformers (Generic)
      • TRNSFRMR ______
    • Semiconductors (Generic)
      • DIODE
      • Transistors (Generic) (NPN, PNP)
        • MOSFET N
        • MOSFET P
        • JFET N
        • JFET P
        • BJT: Listed by part number ?
    • ...


See also: Introductory book

Sideabar: Scripting OrCAD Capture with TCL/Tk

OrCAD Capture is bundled with an interpreter for the TCL scripting language.

The TCL interpreter bundled with OrCAD Capture can be accessed from within the OrCAD Capture main window, via the "right-click" context menu on the OrCAD Capture menu bar.

  • TCL Version (OrCAD Capture 16.6)
    • puts $tcl_version
    • => 8.4
  • Object Models
    • OrCAD Database Object Model (Dbo*)
      • Reference: Tcl/Tk Extensions in OrCAD Capture [documentation] s. 3
      • Subsets:
        • Design Database Object Model
        • Library Database Object Model
      • See also: Class Hierarchy, s. in Tcl/Tk Extensions in OrCAD Capture [documentation]
  • Commands
    • Menu Commands
    • Page Editor Commands
    • Project Manager Commands
    • Database TCL Commands (see also: Object Models)
  • Journaling
    • SetOptionBool Journaling TRUE
    • SetOptionBool DisplayCommands TRUE
    • The command journaling feature in OrCAD Capture allows for a certain approach to script debugging or alternately, API exploration, by displaying TCL API commands as applicable for duplication of existing GUI actions (e.g. place wire, place component, ...) 

Developing Interfaces to TCL from Other Programming Language Platforms
  • FFI in TCL 
    • (TBD)
  • SWIG 
  • Common Lisp (ANSI CLtL)
    • Overview
      • Interface tools for CLtL are mostly GUI-focused
      • Some (?) allow embedding of TCL scripts
      • TCL is not CORBA IDL
    • Selected Projects
  • Reflection in TCL
    • (TBD)
Extending OrCAD TCL

  • Load-time initialization file for the OrCAD TCL interpreter
    •  path [cygwin$(cygpath -u $CDSROOT)/tools/capture/tclscripts/capinit.tcl
  • Load-time initialization directory for the OrCAD TCL interpreter
    • path [cygwin$(cygpath -u $CDSROOT)/tools/capture/tclscripts/capAutoLoad/
Project Concept: Integrating OrCAD With CORBA Service Networks

  • Resource: Tclblend [tclers wiki] 
    • Java + TCL
  • Resource: JacORB
    • CORBA ORB in Java
    • Support for Kerberos, SSL
  • Development Procedure (Outline)
    • Develop IDL interface
    • Document IDL inteface
    • Develop Java implementation of IDL interface (JacORB)
    • Develop "other" implementation of IDL interface (e.g. CLORB)
    • Functional Unit Testing
    • Beta Application
    • Application in Usage Case
    • Release
    • Maintenance
  • Application Procedure (outline)
    1. Initialize OrCAD
    2. Initialize ORB, via JacORB, via Tclblend
    3. Connect to ORB, via "other" CORBA implementation
    4. Conduct procedures of IDL interface, via ORB-to-ORB connection
    5. Disconnect ORB from within "other language" CORBA implementation
  • Concepts (outline)
    • Why CORBA?
      • OrCAD as service provider
        • Schematic capture service (GUI)
        • Schematic modeling service (API)
        • Schematic simulation service (GUI) (API?)
      • Independent process control for service provider appliations
      • CORBA provides a language-agnostic interface definition language, CORBA IDL
    • Integration with operating system virtualization services
      • CORBA and SDN
    • Integration with on-site parts databases
      • Bill of Materials
      • Parts Inventories
      • Purchase Orders
    • Integration with on-site parts library servers
      • Schematic models
        • Schematic Models Demonstrating Recommended Practice
        • Schematic Models of In-House Products
        • Schematic Models of Third-Party Products
    • Usage Cases:
    • Some duplication of functionality available within other OrCAD platform components


Additional Resources

Thursday, November 27, 2014

Solar/Mains SSR-Switched Electrical System Design, Version 1 - Off-Topic Electrical System Design Idea Nr 4234

The following represents a second draft of my own written response to a discussion forum item, this evening. The initial question was, essentially, to illustrate an application of a comparator element, within an electrical circuit -- as in a context near to a discussion of op-amps, though of course a comparator is not essentially an op-amp.

Sure, the initial question sort of  asks for a response that would require a respondent to pull a design out of thin air. Having tried to find any sort of an interesting, practical application of this particular kind of electronic systems component to respond about, then, I had thought - at first - that a comparator could be used for a switched power supply. That's really a stretch, I know -- moreover, an instance of confusing a comparator with a switch -- but at least it fits the requirement of providing a practical example of a comparator, insofar as at least illustrating a hypothetical application of that one of many different types of electrical circuit element.

Proceeding as to refine the design I proposed in my response, I've been able to sketch up at least a high-level block diagram for ... some electrical things and stuff -- nothing competitive, but insofar as it would involve a circuit onto AC mains, nothing I'll share unless it was a thoroughly tested design.

The following is now my note's page for such a thing, which here I'll share for later reference.

A comparator may be applied as a voltage switch, perhaps in designing a circuit for a switched power supply of two possible voltage sources, wherein at least one voltage source may provide a varying voltage over duration of time. A single comparator would provide an output for a single voltage source providing an input of a higher voltage.  (Ed. Note: This is where I began confuse a comparator with a switch)

If a power supply would need to switch between more than two voltage sources, and only comparators would be available, then perhaps multiple comparators could be cascaded, with or without additional solid-state circuit elements in the cascade design.

Candidly, this may present an essentially crude design description. With some further refinement in the design, perhaps a comparator element could be of use for a battery switching circuit, such as in a solar electrical system -- namely as to provide a continuous output voltage and output current, across the output cycle of the solar cells and the charge cycle of any number of batteries. 

Alternately, a digital switching circuit could be applied, together with a programmed AVR microcontroller -- as in the Instructables items, below --implementing a PWM controlled charging model between the solar cells and the batteries, along with additional control and display functionality, in the solar/battery/load electrical system.

(Ed Note: The following paragraph represents, essentially, an instance of confusing a comparator with a switch)
Alternately, perhaps a comaprator circuit may be applied in a switching model for a combined grid/off-grid electrical system -- as for switching onto AC residential mains, outside the system's inverter, in case of battery under-voltage or other solar system failure, to the reference point of the inverter's output. In such an application -- in a simple view, albeit -- perhaps an AC coupled comparator would be applied, if having an input frequency range compatible with AC mains current. Perhaps a relay-driven switch with a solid state relay might be more readily applicable, for switching the input at a point beyond the inverter, in such a system.

Works Consulted:

[1] Op-Amp Comparator Circuit
[2] Op-Amp Schmitt Trigger Circuit 
[3] Instructables.  Arduino Solar Charge Controller (Version-1)
[4] Instructables. DIY Off-Grid Solar System 
[5] Texas Instruments.  AC Coupled Comparator Reference Design  (60 Hz not within input frequency range, component probably not designed for application on AC residential mains)
[6] Phidgets. Solid-State Relay Primer

DPDT solid state relay: Charter Electronics 38.21 

Residential/Household Electrical - Concepts and Standards
Comparators - Additional Reources:

Thursday, November 20, 2014

An Introduction to the fork of McCLIM (Overview - Initial Outline)

Ed. Note: This article represents a preliminary outline for an overview about the fork of McCLIM, focusing primarily on the YouTrack InCloud instance presently applied for management of the same fork project.

Pending subsequent revisions of this article,  this initial revision of the article may serve to provide, at least: Some web references onto task lists as created for and of the same project; an overview about YouTrack, in basic outline format; an overview towards the structure of a meta-IDE project developed under the domain.

Items denoted wit {Bracketed Text} will be subject to revision, in subsequent versions of this article.


{i.e. topical introduction}

{GUI Domain in Common Lisp Application Development}

{McCLIM development}

{ (MCi)} {work journal}

{ fork of McCLIM}

{Sidebars: Traditional CLtL HCI APIs including: McCLIM; Garnet; Cells GTK; Graphic Forms}

{Sidebar: McCLIM' gtkairo backend; FirefoxOS}

{Projects Management Domain in Common Lisp Application Development}

{Concepts for which there are some exacting, conventional "web service bundles"}
  • Repository management (Github; GitLab; ...)
  • Continuous Integration (TeamCity; Travis CI; Jenkins; ...)
  • Issue Tracking (Gnus; RT; Bugzilla; YouTrack; ...)
{Concepts for which there are assorted tools - applied at project managers' own discretion}
  • Documentation development {authoring, editing, publishing, maintenance}
  • Release management {develop=>test=>release=>maintain}
  • Distribution management {binary distributions - archives/packages/installers by platform and version; source distribution available via repository management service}
  • Web presence management {social networking; documentation; resource distribution}
    • {For web hosting, alternatives include}
      • Static-Content Web Site
      • Hybrid Static/Dynamic Content Site
        • PHP
        • Python
        • JSP
        • ...
      • Web Site Published via Java Archive (formats; JAR, WAR, EAR, ... varying by container)
        • Variation of hybrid static/dynamic content site 
        • {JSR-... - Java servlets}
      • Web Portal
        • {In Java} A variation of Web Site Published via Java Archive
          • {JSR-..., formal portal request/response cycle}
          • Alternatives
            • JetSpeed {static portal}
            • ...
            • Liferay
        • {In Other: In programming languages other than Java, portal implementations include Drupal (Python), ...}

 Ed. note: In a sense, "Issue tracking" presents a "Meta-concern," applicable at all phases of a project's formal duration.

{YouTrack} {Stand-alone} {InCloud}

{YouTrack InCloud} {Documentation} {Qiuck Start} {Presently, InCloud is backed by YouTrack 5 [xref]}

{YouTrack License Model}. {10 user limit for 'Free' editions, in stand-alone or InCloud installation}

{MCi instance at YouTrack InCloud (Guest login enabled)}

{An Outline Onto Concepts Implemented in YouTrack}

{Project information structure at YouTrack}
  • Projects
  • Items
    • Swimlanes
    • Issues
    • Tasks
{Conceptual View}
  • Colloquially, Agile Project Management Concepts
    • Scrum
      • Sprints
      • ...
    • ...
  • Project Life Cycle
    • ...
  • ...

{YouTrack Web Interface}

Items of note in MCi McCLIM YouTrack InCloud service:

Article Metadata

Revision History

  • 1.0 (20 Nov 2014) - Basic Outline
  • 1.1 (20 Nov 2014) - Web and Metadata
    • Add details onto web presence management , focusing on web hosting models
    • Add Article Metadata Section
    • Add initial tags to article: MetaCommunity, McCLIM, CLIM, ANSI CL, CLtL2, YouTrack

Monday, November 17, 2014

Common Lisp Code Snippet: Handling for Condition Created with Redefinition of Constant in SBCL

Compliant with Common Lisp the Language, 2nd Edition (CLtL2) (ANSI CL) [CLHS], SBCL emits an error -- namely, of type sb-ext:defconstant-uneql -- whenever a constant variable is redefined, to a value not eql to the variable's previous value. Though it is certainly a standards-compliant behavior, and may be towards a useful result in any indeterminate number of instances, however the behavior can cause something of a distraction when a Common Lisp software system is being compiled and subsequently loaded into the running Lisp image.

When ASDF is being applied for the compilation and loading of a Common Lisp software system,  the following method definition will effectively prevent the redefinition errors from being rendered as errors.  The warning notice, as emitted, will contain the original redefinition error, as an object within the simple-condition-format-arguments of the warning object. The message printed from the warning notice will likewise print the text of message from the original redefinition error.

(defmethod asdf:operate :around ((operation asdf:load-op)
                                 (component asdf:component)
                                 &key &allow-other-keys)
  (declare (ignore operation component))
        #'(lambda (c)
            (let ((previous 
                   (sb-ext:defconstant-uneql-old-value c))
                   (sb-ext:defconstant-uneql-new-value c)))
              ((equalp previous new)
               (warn "Redefining constant: ~A" c)
               (invoke-restart 'continue))
              (t (error c)))))))
This source code snippet is provided with the following footnotes:

  • This method is defined  as an :around method, to avoid collision with primary methods defined onto asdf:operation
  • The method is specialized onto the classes, asdf:load-op and   asdf:component. The class, asdf:load-op is applied as a specializer, instead of of asdf:operation, in assuming that most of the uninteresting defconstant redefinitions would occur during load-time -- typically, immediately after the same component would have been compiled
  • If the previous and new values for the constant are equalp, then the error is emitted within a warning object, as to accurately indicate the condition provided to the handler function. If the values are not equalp, then the condition is emitted as an error
  • This source code can be added to one's ~/.sbclrc file, for convenience. 
This source code is provided as an extension onto ANSI Common Lisp, in the public domain.

Works Consulted:
[1] Stack Overflow: SBCL: CONTINUE restart absent during COMPILE? (really was:absent in HANDLER-CASE)
[4] SBCL User Manual: Defining Constants

Notes Towards Review and Installation of the Issue Tracking System, YouTrack

Review - YouTrack  - Outline



  • Free licensing available, with limits: 
    • Ten users total. 
    • For projects hosted in YouTrack InCloud, no "Private" projects under free licensing model 
  • License cost scales by increments, per number of users
  • Subscription-based fee model 
    • Monthly and yearly rates
    • Fee for yearly license reduced after first year
  • Further details


Outline for a New Installation in an AWS EB2 Instance

  1. Create EB2 instance (Ubuntu)
  2. Configure AWS service features for EB2 instance
    • Users, roles (AWS IAM)
    • Notifications
    • If relevant, create database via RDS, for each of YouTrack and TeamCity 
  3. Activate EB2 instance (AWS dashboard)
  4. Install essential features and services to EB2 instance
    1. Daemontools
    2. TinyDNS, in caching mode
    3. HTTP Server
      • Apache HTTPD or Nginx
      • For large network installation, configure HTTP server for failover and scalability
    4. SSL Certificates for HTTP server
  5. Install OpenLDAP
    1. Configure host for authentication with OpenLDAP
  6. Install Tomcat 7
    1. Configure for HTTP front end
    2. For large network installation, configure Tomcat servlet engine for failover and scalability
    3. Optional: Install application server
      • Unified authentication APIs
      • Unified data service APIs
      • Unified logging service
      • Centralized management for multi-domain installations
      • Etc...
    4. Install LDAP directory search front-end for authenticated service users, as relevant
  7. Install YouTrack
    1. Reconfigure JAR for installation to stand-alone Tomcat 7
    2. Configure YouTrack for authentication with OpenLDAP
    3. If relevant, reconfigure YouTrack for JDBC access to RDS, alternate to the bundled BerkeleyDB data store
  8. Create user support section for web site, using YouTrack
  9. Install TeamCity
    • Installation procedures similar to YouTrack
    • Provide documentation for developer access to continuous integration services provided by TeamCity
  10. Build stunningly simple web site as "Front end" for developer services provided by YouTrack and TeamCity
  11. Own discretion: Develop, release, do marketing, develop, release, do  networking, develop, release, "have fun", develop, release, retire, develop, release ...

Sunday, November 16, 2014

Towards a Definition of a Digital Clock Signal Generator in an Application of Solid State Circuit Elements

Being a student of an online college -- lately, taking some small liberty toward extending one's studies beyond the institutional environment of the same, albeit at the expense of my GPA presently going into the bucket, in so much of a momentary opportunity cost analysis -- I've been studying not so much of what the course presents, with regards to each week's topics. Last week, we discussed at least two types of transistor, namely BJTs and FETs, focusing on JFETs n the latter regards.

This week, we've discussed at least two applications of an op-amp, namely in the inverting and non-inverting applications of an op-amp -- differentiating those, essentially, as to which input terminal of an op-amp would receive the current from the feedback loop routed to the output terminal of the op-amp.

In a previous article here at my DSP42 web log, I'd provided a short outline with regards to many different applications of op-amps. It  is a short outline, albeit, none particularly detailed with regards to applications.

For a short time, this week, personally I was concerned as with regards to whether an op-amp may illustrate any nondeterministic behaviors, between inputs, outputs, and feedback in the op-amp circuit. In an analysis a design of the original 741 op amp -- as documented at Wikipedia, referencing the previous article -- certainly, such an op-amp is composed all of solid-state electronic circuit elements -- albeit, in a large network of transistors, but perhaps mostly all of common emitter amplifiers. So, perhaps it may be possible to define a deterministic model of any behaviors of an op-amp, with any number of discrete, known inputs -- albeit, with a certain depth of repetitive calculations. In that regard, I kindly suggest applying Common Lisp.

Today -- after a short study of Maker Media's Encyclopedia of Electronic Components, Vol 2 (LEDs, LCDs, Audio, Thyristors, Digital Logic, and Amplification) -- in completing the day's discussion response at the college I'm presently enrolled in, as proceeding essentially from a task for denoting a non-inverting application of an op-amp, I'd begun an outline for a design of a hypothetical digital clock circuit -- nothing new to the whole world, certainly, though it is "New to me"

Sure, it's nothing detailed -- accompanied with not a single formula for a mathematical design of such a thing, assuming such a circuit design would be possible -- but if one must design a non-crystal oscillator, perhaps here's a start to the same, as extending literally of the Encyclopedia of Electronic Components, Vol 2. My comment follows:

An op-amp in a sort of a non-inverting circuit  -- as namely, with the feedback resistor and R1 routed to the non-inverting terminal of the op-amp  -- such a circuit can be applied with a capacitor effectively between the inverting and non-inverting input terminals of the op amp, and an additional feedback resistance together with the VDC to the inverting input terminal, in designing a simple relaxation oscillator. 
Such an oscillator would produce a repetitive signal of a known amplitude, from a DC voltage source, as an effect of the periodic voltage differential at the capacitor creating a periodic voltage differential to the input terminals of the op-amp, throughout the capacitor's charge cycle.

In designing such an oscillator, the resistance of the feedback resistor and R1 may be selected such as to control the effective impedance at the op-amp. Perhaps that may have an effect towards determining the exact amplitude of the output signal, in addition to the effect of the power supply provided to the op-amp's power supply terminals.

The rating of the capacitor would be selected as towards determining the frequency of the output signal in the oscillator design.

In such a circuit, the "feedback loop" at the op-amp is presented to the non-inverting input terminal. Perhaps, the design could be refactored such that the input terminals of the op-amp would be effectively "swapped" -- towards applying the op-amp as an inverting op-amp, then -- as to an effect of a similar circuit, in which the output signal would have a different timing, with relation to the activation of the source voltage, in the circuit.

Perhaps, this might seem to lend a discussion towards an application of an op-amp within a digital system. The output of the relaxation oscillator, perhaps, could be electronically finessed such as to produce an effective square wave of a constant pulse width, from the output of the initial relaxation oscillator -- as towards a design for a digital clock circuit. In such a design, certainly the amplitude of the clock circuit should be designed such that final square wave output of the clock circuit would operate at both peak and, under load, at minimum voltages appropriate to the transistor technology -- whether TTL, CMOS, or otherwise -- as would be applied in the later elements of the circuit.

Certainly, any number of semicondustor manufactures would provide digital clock signal generators, prefabricated for application to exact specifications in digital systems. if one might wish to design a computer "from scratch," though, or any single digital circuit element for application, certainly it would call for an application of electrical science -- certainly, with some sort of a digital clock signal, in application.

Works Consulted

[1] Platt, Charles Encyclopedia of Electronic Components, Vol 2. Maker Media. 2014. Kindle edition. Kindle Location 1612 / fig 7-13
[2] Relaxation OscillatorHyperphysics
[3] CADR. MIT AI Lab. Circa late 1970's / early 1980s. Schematic.

Saturday, November 15, 2014

Op-Amps in Analog Electrical Systems - Web-Based Items of Reference, with Correlated Notes

The following represents a week's survey of online resources, with regards to applications of operational amplifiers within analog electrical systems. Some additional resources are made reference to, in this article, with regards to digital electrical systems.

Ed. Note: Though the author has gone to some lengths to provide a structured reference outline, in this article, however the presentation of the article is certainly leaving something lacking, with regards to synthesis and content development. The author wishes to lend favor towards modular applications of digital electronics, in this era of contemporary microprocessor design.

With regards to physical behaviors of analog components including op-amps, in a short survey of existing knowledge, some resources may seem to suggest that an analog signal system component such as an op-amp would be inclined to demonstrate any number of nondeterministic behaviors, within an electrical system. Considering that an op-amp itself may be constructed of transistor elements, perhaps it may be possible to develop a digital analogue of any single such analog circuit, effectively as to minimize any margin of error, as in regards to circuit responsiveness in a frequency domain.

The author would not wish to trouble the reader's attention with any naive hypothesis in regards to reductive analysis of electrical circuits -- such as toward calculation of equivalent resistances, equivalent inductance, and in the domain of digital logic, DeMorgan's Theorems. Presently, this article returns to address applications in the nondeterministic analog domain, focusing on applications of operational amplifiers within analog circuits.

Op-Amp Characteristics

Op-Amp Variants

Differentiation of Op-Amp Variants

  • Voltage Feedback (VFB)
  • Current Feedback (CFB)

Applications by Variant

CFB and VFB Applications Contrasted

  • Virtual Ground Circuits, article at Tangentsoft
    • Article provides numerous examples of methods for developing a dual-voltage power supply of +/- N volts DC, from a single source voltage, including CFB and VFB applications

CFB Applications

Applications for Op-Amps - Analog Electronics

  • Sidebar: Differentiation of inverting amplifier and non-inverting amplifier applications
    • Amplifier utilizing, respectively, negative feedback or feedback from the output terminal of the op-amp, with a resistor of a calculated rating, in series to one of the input terminals of the op-amp
    • Theory of operation entails an application of qualities of electrical impedance
    • Differentiation derives from which input terminal that the resistor on the output terminal would be routed to
      • If the resistor on the output terminal is routed to the inverting input, conventional rhetoric denotes the application as an inverting amplifier
      • If the resistor on the output terminal is routed to the non-inverting input, conventional rhetoric denotes the application as an non-inverting amplifier
  • Context: Mathematical functions in amplification of analog input signals
    • Resource: Wikibooks. Op-Amp Configurations
      • Pattern: Differential amplifier
      • Pattern: Summing Amplifier
      • Pattern: Inverting Integrator
      • Pattern: Inverting Differentiator
      • Pattern: Logarithmic Output
      • Pattern: Exponential Output
      • See also: Applications of analog electrical systems in audio signal synthesis
    • Resource: Ardizzoni, John. Efficiently Design An Op-Amp Summer Circuit
  • Application: Simulated Inductor
    • Resource: Elliot Sound Products. Audio Design with Op-Amps
      • Selected Characteristics 
        • Feedback via inverting input
        • Capacitor on non-inverting input
      • Advantage: May serve to mitigate concerns with regards to EMF effects in a circuit's operational environment, as with regards to the magnetic flux  created by a conventional inductor
      • Advantage: May serve to mitigate concerns with regards to voltage spikes, as produced by conventional inductors around some events in circuit operation
  • TBD: Relevance for applications of op-amp components within digital electrical systems
    • TBD: Designs of analog-digital converter (ADC) interfaces
    • TBD: Relevance in applications of digital signal processing (DSP)
      • Application: Software analysis of radio signals
  • TBD: Functional applications of filter components in analog and digital electronics

Friday, November 14, 2014

A Short Overrview Towards EDA Tool Selections: Schematic Capture and FPGA Development

As the author being an aspiring student of mathematics and electrical engineering -- presently, studying formally in a series of sort of introductory courses affiliated with the latter discipline, electrical engineering -- the author has had something of an opportunity to develop a sense of familiarity, mostly informally, with regards to a small number of software tools such that might be denoted as Electronic Design Automation (EDA) platforms.

In the college that the author is formally a student to, the Multisim platform -- as developed by National Instruments -- is the schematic capture program that the courses apply, specifically for any laboratory assignments including a circuit schematic and not implemented in regards to introductory FPGA programming. For FPGA programming, namely as in the introductory digital logic course, the FPGA platform in use is Altera's Quartus II Web Edition.

The author not being a veteran electrical engineer, this short comment will not be accompanied with any manner of salesmanship about those specific EDA platforms. Multisim certainly presents a fairly straightforward GUI, with a simple interface for circuit simulation. Multisim implements VHDL and Verilog. Quartus II, then, is certainly one of the the available platforms for programming Altera FPGAs. Altera's Cyclone III FPGA is applied in one eSOC board, such that is used, albeit exclusively, in the single introductory digital logic course at the college. Perhaps the eSOC board might present a challenge for circuit analysis, at some time, as it's not accompanied with any sort of schematic or other design files, in its current edition.

Certainly -- regarding those specific EDA tools -- though those would be applied of any single college or university, but certainly, those may not represent the only EDA tools in the known universe.

Onto Schematic Capture and Circuit Analysis

As alternate to Multisim, there's Cadence's OrCAD Capture. OrCAD supports the Verilog and VHDL formats, OrCAD, moreover, provides support for projects applying the EDIF format, such as is latterly subsumed of ISO 10303 and the STEP model. There being a few editions of the complete OrCAD EDA platform, OrCAD Lite is the free edition -- certainly, in some features, extending free/open source software, such as the GNU Compiler Collection (GCC). Insofar as OrCAD licensing, there is -- in fact -- an educational licensing model available from Cadence, for licensing of the OrCAD platform.

For those of us whom might be approaching OrCAD as student or hobbyist, perhaps also for those whom might be approaching OrCAD as, each, an aspiring electrical engineer, Cadence publishes a wealth of documentation about the OrCAD platform, broadly:

Personally, the author became aware simply of the existence of the OrCAD platform, courtesy of Edward Brumgnach's book, i.e [Brumgnach2014] Cadence OrCAD Capture Version 16, a Primer: Circuit Analysis, Electronics, and Digital, Kindle edition. The introduction presented in [Brumgnach2014] is certainly nothing intimidating, providing an overview of the OrCAD Capture graphical user interface and a number of the fundamental features of OrCAD Capture -- such as for circuit component placement, circuit simulation, and quantitative circuit analysis using OrCAD -- all addressed in a context of DC analog circuitry. The introduction, as such, is conveyed as in parallel to a short survey of fundamental principles of the electrical sciences, focusing mainly on Ohm's Law, as likewise in regards to DC analog circuitry. A study of the significance of electrical impedance -- as with regards to a current of a varying polarity, as within a circuit of a resistive element and one or more of each of a dielectric capacitive element and an inductive element -- such a study might be left as an exercise for the reader.

Notably, perhaps, the schematics components of the design files for the BeagleBone Black platform are published in DSN format, a format supported by by OrCAD Capture.

Onto the Papilio FPGA Platform

In addition to OrCAD, specifically as with regards to FPGA projects, this web-log cordially recommends Xilinx FPGAs. In regards to evaluation boards for FPGA programming, if not also in regards to environments for study and for prototyping, Xilinx Spartan FPGAs, namely, are applied in the Papilio platform -- respectively, a Spartan 3E FPGA in Papilio One, and a Spartan 6 FPGA in Papilio Duo. For programming the Papilio platform, the ZAP IDE is available, as extending of some functionality provided specifically in Xilinx ISE Web Pack.  ISE WebPack is likewise available with a free license, as a feature of the Xilinx ISE Design Suite.

Linux may be a recommended operating system platform for applying ISE Web Pack's tools. This web-log recommends the Kubuntu Linux distribution. Linux can be installed simultaneous to a Microsoft Windows operating system, either with a dual-boot configuration, or in a virtualization platform installed to the Microsoft Windows OS -- at which, this web log recommends Virtualbox for a single-user desktop environment, and Xen  as for enterprise-scale virtualization scenarios in so much of software defined networking (SDN).

Xilinx publishes a wealth of documentation, likewise -- such as about Xilinx' Spartan FPGA products and the ISE Design Suite tools as licensed under the ISE WebPack platform and as available under other licenses for Xilinx ISE Design Suite -- for example, Tutorials about Xilinux ISE Design Suite, and User Guides as with regards to the same design platform. For applications of the ISE Web Pack tools on Linux platforms, some additional documentation is available of the Arch Linux Wiki. Certainly, in installing even so much as the Xilinux ISE WebPack edition of the ISE Design Suite platform, a broad range of features are then made available, within the containing operating system.

An introduction to digital logic, as well as the VHDL hardware definition language and FPGA programming, is available in PDF and in ASCIIDOC formats [web][github]. For general prototyping with the Papilio platform, this web log recommends the ZPUino soft processor for the Papilio FPGA platform. The Papilio board -- such as Papilio One or Papilio Duo -- when programmed with the ZPUino soft processor -- may be programmed in applications of a syntax similar to the Arduino sketch file format [Arduino] though namely in using the ZAP IDE.

Towards programming a Papilio FPGA board with the ZPUino soft processor  and then developing an initial sketch file in the ZAP IDE,  Gadget Factory publishes a convenient getting started tutorial, addressing both matters. The tutorial introduces the overall working process for programming Papilio with a soft processor -- there, using the Xilinux ISE tool and the Papilio schematic library, as published by Gadget Factory, to the matter of uploading a bit file to the FPGA board, effectively thereby installing ZPUino to the Papilio board -- followed, then, with an introduction towards programming the ZPUino soft processor with a sketch file in Zap IDE,

Towards MBSE modeling for FPGA Environments

Certainly, FPGA programming represents a broad subdomain of electrical engineering. Towards a matter of model-based systems engineering (MBSE) perhaps towards developing a sort of macro-level, object-focused analysis towards an FPGA system, this article directs the reader's attention towards the ENOSYS Tool set for FPGA systems synthesis. as published courtesy of Softeam. The ENOSYS tool set develops something of a unique view about FPGA systems programming, effectively extending the Object Management Group (OMG) specifications for the Unified Modeling Language (UML) extended then into an EDA domain. The ENOSYS toolchain effectively presents an interface onto bare metal hardware, at Falcon ML,

Towards a singular overview about the Unified Modeling Language (UML), as well as the Systems Modeling Language (SysML) and the MetaObject Facility (MOF) -- of which, in extending of the MOF meta-metamodel, as defined by the OMG, the specifications of UML and SysML are implemented, literally, as metamodels -- the  reader's attention is directed to a book published by Morgan Kaufmann in affiliation with the Object Management Group, a book by Tim Weilkeins, Systems Engineering with SysML/UML: Modeling, Analysis, Design

Disambiguation: This article does not address the ENOSYS error code, as defined in contemporary C toolchains, "Function not implemented".

Segue to "Fin," Towards Theory and Praxis

In the foundry text, Philosophiæ Naturalis Principia Mathematica, Isaac Newton develops a concept of a juxtaposition of geometric and mechanical views with regards to mechanical systems. Such a juxtaposition may be understood as being reified, effectively, in electrical engineering -- analogously, as with regards to models for circuits, and of physical circuits, in situ. Certainly, the history of circuit modeling extends at least so far back as to the original development of Ohm's Law, previous to so many developments in analog and digital electrical systems, and -- then furthermore -- to the origins of the contemporary Euclidean geometry.

Towards developing a sense of knowledge with regards to practical applications of mathematics and the electrical sciences, certainly resources abound, as in collections of formal, public libraries and online. Towards online resources, as with regards to theories developed in and of the electrical sciences, this article cordially recommends: Hyperphysics -- a resource published online, by the Department of Physics and Astronomy at Georgia State University.

With regards to studies of practical applications for the electrical sciences, this article recommends the online resources published by each of:

Tuesday, November 11, 2014

Finding Analogies Within Electrical Circuit Designs: Op-Amps and Resistor/Transistor Networks

Personally, I don't have any kind of a study space like of a doctoral candidate or my grandfather, so I'll just continue to leave my little notes here, hoping I may not never be able to touch back to any of these superficially trivial items.

Here's an observation I've made today, such that might be illustrative of a concept of finding analogies within electrical circuit designs -- towards the old (?) concept or renovating the original CADR Lisp Machine schematic, for application in contemporary microcircuit designs, and there to implement CADR's very small handfull of microinstructions.

In another regards, this may serve to illustrate how a transistorized circuit element can be implemented with fewer components than an analogous, "Black box" circuit element.

Candidly, as a student of the course that I'd published this observation to, I am a little bothered if we're still tooling around with designs from a however earlier epoch in technological development. If there's anything common in that core, I think it's a little out-dated, but it's where I'll now derive my fundamental knowledge of electronics from, in any formal regards. I do somehow look forward to the long un-learning/re-learning phase that I know must follow on this time, if I would pursue any sort of a career in electronics -- not so much looking forward to the indefinite time between, from now until if I'll ever have completed a degree in simple mathematics. I hope that such a study may be of help towards the un-learning/re-learning phase, as denoted -- but then again, I'm none too eager to develop any new consumer gadgets for the market, and uncertain whether or not all the world is gone to consumerism.

Theoretically, an inverting op-amp can be implemented within a digital logic circuit, for providing an effective one-bit logical inverter, via an op-amp.

In a broad sense, a transistor with collector resistor -- with output from the collector terminal -- such a component may be viewed as it being analogous to an op-amp. In an analysis of the current flow within such a component, the collector resistor would provide an equivalent resistance for (1) the inverting input resistance to the op-amp and (2) the input/output bridge resistance between the effective inverting input and output terminals of the inverting op-amp. Effectively, the collector resistor in such a component would serve in both roles, simultaneously.

Works Consulted:

Monday, November 10, 2014

Developing with Android: Platform Selection - A Non-Exhaustive List of Resources

A Short Survey of Resources for Application Development with the Android Platform
  • Software Development Platforms
    • Eclipse IDE
    • Android Development Kit (ADK)
      • Alternatives: 
        • Bundle of SDK Tools and Eclipse IDE
        • Stand-Alone SDK Tools Distribution
    • Intel XDK
      • Provides an IDE supporting development of web-based mobile applications
        • HTML5
        • Cascading Stylesheets
        • jQuery for mobile
        • AJAX, REST, etc
      • Supports distribution to multiple user platforms, including Android and iOS mobile devices, Amazon Kindle and Barnes and Noble Nook eReaders, and desktop platforms including Chrome, Firefox, and FaceBook
      • Provides an effective testing platform for on-device application testing, via Intel®  App Preview
    • Android NDK
      • Supporting application development in C, C++ programming languages, on Linux, OS X, and Microsoft Windows development platforms
      • Example application: Building Qt/Android on Windows
  • Documentation (including)
    • Installation and Configuration
    • Distribution
      • Android. Supporting Different Platform Versions
        • The "top three" Android platform editions as listed at the Dashboards page, presently, are:
          1. "Jelly Bean" (i.e. 4.1.x) est. proportion 51%
          2. "KitKat" (i.e. 4.4) est. proportion 30.2%
          3. "Gingerbread" (i.e. 2.3.3-2.3.7),  est. proportion 9.8%
          4. Not listed: Android platform version 5.0 
      • Android. Supporting Multiple Screens 
        • With reference to: Screen geometry
        • Provides an explanation to terms applied in the Dashboards page as with regards to generalized screen pixel densities (DPI) and generalized screen geometries
        • The "Top three" leading screen geometries, going by the table at the Dashboards page, would be all three at range of resolution [470x320640x480 ) with screen pixel densities in range, from first to third most popular:
          • [240, 320dpi 
          • [320, 480) dpi 
          • [480, 640) dpi
      • Android. Dashboards
        • Page provides a sort of statistical overview about number of Android devices as calculated per each Android edition.
        • Android. Developer Console
          • Topics include:
            • Configuration details for store listing page
            • Procedures for entering an application into an opt-in Alpha testing or Beta testing program, coordinated with Google Groups
            • Some details with regards to pricing and in-app sales for Android applications 
            • Some notes with regards to capabilities targeting, as with regards to specific hardware/software features provided with any functional qualities, in an APK bundled application
  • Hardware (optional)
  • Usage Notes

Saturday, November 1, 2014

Research Note: KDE on Mobile

One evening, when endeavoring to develop an idea of what I might be able to expect if I was to transition from an iPhone to an Android Phone, I had read that the default email application on the Anrdoid OS is lacking some features [Purty2011]. More recently, on reading about the Season of KDE 2014 Student Programs, I found myself inquiring of whether there may be any projects for implementing the KDE PIM suite -- as would be, instead of on a Linux desktop -- on a mobile phone platform, in so many human-computer interface revisions and architecture revisions as might be developed of such a port for the KDE PIM applications.

On researching my own question, I found a few projects. One of those projects, Plasma Activehas implemented Kontact on a mobile platform [PlasmaActive]. Another of those projects, Mer Project, represents an architecture for Qt applications on a mobile platform. [MerProject]

One might observe, candidly, that at this time, neither project project has published a list of vendors implementing their respective platforms. Perhaps, one might think it could seem hopeful, in a sense, regardless.

Insofar as whether the Mer Project may be anyhow forked, perhaps, to be extended and/or revised for implementation onto a baseline Anrdoid operating system -- considering Anrdoid's broad support base, both in vendor implementations and in software development projects, in the consumer market, -- globally so, as that even Rostec's YotaPhone runs Anrdoid [Martin2014] -- perhaps it may be fortuitous, to focus on the Anrdoid platform as it being an existing, by in large open platform for mobile devices. Android, after all, is based on the Linux kernel. [Lynch2013] certainly insofar as would be extended by Google, in development of the baseline Android platform -- but insofar as to fork the Mer Project? If one has only read about the Mer project, this weekend, and one has not a really well-developed object model, in place, for application of C and C++ toolchains, one might wonder if perhaps it may be worth a short note, however, as with regards to KDE on Mobile.

Thus, here's a research note, in such technical regards.

[Purty2011] Purdy, Kevin. K-9 Mail is What Anrdoid's IMAP Email App Should Be. Lifehacker. 2011
[KDECommunity2014] KDE Community. Season of KDE deadlines extended!. Twitter stream object.
[PlasmaActive] Plasma Active. Plasma Active. web site.
[MerProject] Mer Project. Mer Project. web site.
[Martin2014] Martin, Chris. YotaPhone 2 hands-on review: Dual-screen Android smartphone gets better. Tech Advisor. 2014
[Lynch2013] Lynch, Jim. Is Android really a Linux distribution? IT World. 2014