80C51 VM SCADA

First posted
Wednesday October 6, 2010 06:33
Updated
Friday December 10, 2010 06:59

SCADA start.

http://www.mct.com.tw/
http://www.mct-us.com/

Usage of 8250 UART in a PC.
Jan Axelson serial port info.

Video of Embedded Contoller Forth for the 8051 Family running using a Belkin USB/Serial cable on a Widnows 2000 computer.


Tuesday November 30, 2010 06:59

La Crosse wireless indoor/outdoor temperature station purchased Monday November 29, 2010 for $19.99 at Sportsman's Warehouse afternoon is working well with CR2032 battery at 22.6oF.

We are going wireless with our VM 8051 Forth project.

 
Tuesday November 30, 2010.



1998 CR2032 battery replaced in Windows 2000 machine on Monday November 2010.

Fuji FinePix A600 batteries must be warm. Otherwise camera does not funtion.

Below sensor facing east use CR2032 battery.



La Crosse undoubtedly tested sensor function under extreme temperature conditions. But it is still amazing to see it work at 22.6oF.

JRA and WHP tested a PC/Data Systems in a lumber planing mill in Grangeville, ID.

The temperature inside the mill was -5o F. This is below the temperature which the hardware is specified to work. But it worked!

Bill wrote the windows vxd driver and API interface. wdm drivers came later with Windows 2000.


Tuesday November 30, 2010 06:13

Second 8051 family machine working with a Belkin US/Serial cable with Hyperterminal on a Windows 2000 computer.

A Dallas 89C439 40 pin dip 8051 family microcontroller is used.

The 89C430 executes each [most] instruction in one clock per instruction as opposed to 12 in the machine seen below.

The hardware used is obsolete.

Hardware must replaced with surface mount board designed and implemented with ExpressPCB.

The 8051 Forth software is not obsolete. It was ahead of its time by about 25 years.

C/assembler system implementations are finally being exposed as unreliable and outdated technology.

Android/Dalvik approach appears to be promising from reliability and ease of implementation standpoints. But it was Forth that forged the way in VM microcontroller software technology.

VM software is on an order of magnitude more reliable than Real Machine [RM] C/assembler sofware technology. The unreliable and obsolete technology used in Windows and most microcotroller systems.

Our data acquisition hardware/software output is input into Windows for the reason customers want to view the output using Excel and use other Microsoft tools for processing it.

Jpgs seen below of 8051 family forth machines were transmitted wireless using a Netgear 54 Mbps Wireless PCI adapter from a Windows 2k Celeron machine to an XP Phenom quad core AMD 9950 computer.

Dr Ted Lewis's verbal advice to 'go wireless' has been accepted.
 





Monday November 29, 2010 12:55

A 8051 machine is running using the Belkin USB/Serial cable on a Windows 2000 computer using Hyperterminal!

The Windows 2k system is running on a Celeron. It is acting a bit flakey.

At least we can ensure that the problem on XP is not with the 8051 hardware.


 
 




Saturday November 27, 2010 19:42

Friday November 26, 2010 nothing worked. 

We thought the USB/PCI card was not working.

Wizard kept asking for csdpci.sys.

csdpci.sys is our pci bus sniffer wdm driver under development in 2002!

We deleteted all references to in Hardware Manager.

And now Belkin USB/Serial is working.

 
Belkin USB/Serial software installed on Windows 2k driver-writing machine.

Plugged in F5U409. Looking good.



Belkin assigned COM5.

Hyperterminal configured to COM5. Hyperterminal working with transmit connected to receive with white wire.



2k driver works on xp. Good.

Last wdm/vxd drivers and windows APIs written in 2002.

We may be back. Albert Gore willing, of course. :-)

Friday November 26, 2010 06:46





Jerry and I plan to talk on the phone next week.

Discussion of the the Windows 7 XP virtual PC will hopefully be on the agenda.

Windows 7 64 bit operating system may be Microsoft's last?

Dalvik and Android will also hopefully be topics of conversation.
MAKUHARI, Japan — CEATEC, Japan’s premier consumer electronics show held here this week, illustrated three principal trends within the Japanese electronics industry.

1. When in doubt, go with Google's Android. Most Japanese CE vendors, now in a true survival mode against Apple, are hanging their hat on Android for new platforms, whether they are smart phones or media tablets.

Dalvik (software)

Below appears miss a practical point.

JIT code generally offers far better performance than interpreters. In addition, it can in some cases offer better performance than static compilation, as many optimizations are only feasible at run-time:

In practice 90% of the work is done in 10% of the code. So there is no point in JIT compiling code
which is not making any difference in overall program execution speed.

Solution to an execution speed problem is find out where the program is taking time, then recode the high level with assembler. And if speed is still a problem implement the code in hardware.

Here's an an automated approach to the above.

One possible optimization, used by Sun's HotSpot Java Virtual Machine, is to combine interpretation and JIT compilation. The application code is initially interpreted, but the JVM monitors which sequences of bytecode are frequently executed and translates them to machine code for direct execution on the hardware.

FORTH51 compiles and assembler ON A 51 hardware platform. No cross compiling required.

But if one wants to cross compile, FORTH86 hosts the Nautilus 2 metacompiler which includes the syntax-checking 8051 assembler in cross assembler format which bill wrote. And Jerry Boutelle converted to a cross assembler in about 1984.

Forth, Charles Moore.

Charles Moore is one of the greatest software developers. The 'Forth' language he invented is still in use today, particularly by NASA, and has never been bettered for instrumentation and process control. He still argues persuasively that the only way we can develop effective software quickly is to embrace simplicity. Like Niklaus Wirth, he remains a radical whose views have become increasingly relevant to current software development

Especially for the 8051 family and SCADA apps.


Wednesday November 24, 2010 11:02

Joseph Flores, Konrad Roeder, and William H Payne travelled to meet Ray Duncan in California to get a copy of PC/Forth, Nautilus I metacompiler and 8085 target days after KAL 0007 was shot down on September 1, 1983.

We used a Televideo 910 terminal equivalent at the time to as the keyboard and display for our 8085 forth system which Konrad wire wrapped.

Later we used Microsoft Hyperterminal.

Hyperterminal is working with the Belkin USB/SERIAL adapter as of Saturday November 20, 2010.

The green led blinks as well as the red transmit and receive data leds.

The green led is likely, if not certain, driven by chip select [-cs, the minus signifies active low].

Belkin designed a logic probe-type device into its USB/SERIAL product. This makes debugging lots easier than, say, with the Ativa with no lights.

NSA orange book [there are two] on crypto hardware implementation guidelines advises that in event of failure the device shall give 1 visual and 2 auditory indications of failure.

The center led is the transmit. Careful observation reveals it turns on slighly before the lerft receive led.? Maybe not?

T44 pin tops were cut off, inserted in pins 2 and 3, and white wired added to connect transmit to receive for a hardware loopback test.




Forth51 not communicating with Hperterminal. Why?

Our responsibility is to find our why not and fix.

Saturday November 20, 2010 20:28

Hyperterminal is working with the Belkin USB/serial adapter with a hardware null modem under xp.

Similar procedure used about 27 years ago to bring-up Forth terminal/disk emulator.

Thursday November 12, 2010 07:36

Perhaps one of the more, if not most, low-power applications is contained in our third



which apparently is implemented with a general purpose Motorola 6805 microcontroller.

Nautilus 1, not 2, metacompilable Forth runs on variation, 6802 or 3, microcontroller.

FORTH51 would easily fit into a package the size of the above Ironman watch.


http://www.prosefights.org/scriptpollute/scada/russ.htm#51book



 

Russell Anderson sent





We speculate that Anderson sent the above package with the intent we would get FORTH51 working on it.

We weren't getting paid so to do that so we didn't.

We finally reciprocated. Or retaliated?



Contents of



is an operations manual for

http://home.comcast.net/~bpayne37/51book1/51book1.htm

LOTS of time can be spent learning what we did at Sandia labs!

Below arrived from Amazon in Coffeyville, KS on Wednesday November 11, 2010.



We're going to try to get communications between FORTH86 and FORTH51 working using a USB/serial cable.

Tuesday November 2, 2010 19:13

New technology!


Accuracy tests of multimeters measuring precision [1%] 2 K ohm resistor.



3772                       1987 ohms
#7    $1.99              1992
#10 [free]               1997
#6    $1.99              1987
Yellow                    1997
35017 [autoranging] 2006
Soar                       1992

Energizer Advanced Lithium voltage measurements. t 11/2/10

#10    1.82 volts
#7      1.80
yellow 1.82
#6      1.81
272     1.79
5017   1.809
Soar    1.55

Electronic components change value over time.
The Soar is old.

FORTH86 uses the Laxen editor.

WordStar key commands were implemented.





The above help screen were written by bill!

Commands needs to be changed to Word keys.


Tuesday November 2, 2010 08:01

DOS and FORTH86 were compatible.

Windows though 98 was somewhat compatible with FORTH86.

Windows XP is giving us COM port compatible problems.

COM1 appears to be implemented differently than COM2 which appears to be virtualized.



According to Google's latest data, which was collected from the Android Market during the two weeks leading to November 1, 77 percent of Android smartphones are running either Android 2.1 (Eclair) or Android 2.2 (Froyo).

Our beat is reliable software technology.
Now, if Areva wanted to harm Siemens reputation or make it less attractive to Rosatom, what better way than to demonstrate the unreliability of its control system software?


Monday November 1, 2010 15:41 

8051 serial terminal communications worked under Windows 98. But on under XP.

dos under windows serial problems

int 14 ms dos serial communications


INT 14 - BIOS Asynchronous Communications Services

For more information, see the following topics:

INT 14,0 Initialize serial port parameters
INT 14,1 Send character in AL
INT 14,2 Receive character in AL
INT 14,3 Get Serial port status
INT 14,4 Extended initialize (PS/2)
INT 14,5 Extended communication port control (PS/2)

- all functions have:
AH = function number
AL = character to send or receive
DX = zero based RS232 card number
- all registers are preserved except AX
- these functions use hardware flow control
- used by DOS MODE to redirect LPTx output to a serial device - see individual functions for more data

MORE

When running an MSDOS serial communication application under Windows, the serial port (UART) is emulated. In other words, every byte written or read to/from the UART with the generic OUT/IN instructions generates a page fault and generates hundreds of CPU instructions. Given that reading and writing bytes to the UART may require several additional reads and writes to other control registers on the UART, this generally means that serial communication becomes erratic, non-deterministic, slow, and outright unreliable as thousand of CPU instructions must be executed for simple data access.  

Saturday October 30, 2010 06:52 

DOS is still present in Windows 7 which is good for Embedded Contoller Forth for the 8051 Family.

Windows still makes extensive use of DOS. ipconfig, for example.

Getting away from DOS probably take too much work. MS would have to go through the long debugging process again.

We can't set the number of bits in 2FB which we could do before.

3 2FB PC! takes a long time to execute telling us that it has been intercepted.



When first accessing COM1, 3Fx, DOS gives a message that it is not there and gives option to terminate DOS window or ignore. We selected 'ignore'.

I believe that Microsoft as we know it may not be around in another decade--maybe not even in five years. There's hardly a single tech industry trend line pointing in Redmond's favor right now, and some of those curves are about to get a lot steeper, real fast.

Microsoft C/assembler technology may not have been a good idea in the long run.

VM strategy works more reliably and is not as 'messy.'


Friday October 29, 2010 10:51

http://www.prosefights.org/scriptpollute/scada/russ.htm#cable

 
Aptiva USB/serial test cable.



Scanner has a bad line sensor. 

USB\VID_1A86&PID_7523\5&CB86D54&0&2

Here's device manager on serial ports on the AMD Phenom 9950 running XP.



Here's COM1.




Here's COM5.



8051 forth development system software set to COM1.

Awesome power of Forth is used to interactively set 8250 mode control register DTR and RTS to ones then print the contents.

Next both are disabled and appear to be working.



Usage of 8250 UART in a PC.

Now let's try to figure out how the Ativa USB/serial adapter works.



Harbor Freight meter #8 was free. #9 cost $1.99. They are super high tech direct chip attach and very accurate.

#8 is measuring DTR volatage, #8 RTS.

Ativa USB/serial adapter may be source of problem. So.



Uninstalled Ativa driver. Cable has to be plugged in to uninstall.





Suspicions confirmed! Look at DTR and RTS volatage levels.



Friday October 29, 2010 we set the Belkin to COM2.

We can't get DTR or RTS bits set to 0. But we can see the DVMs drop to 0 v, then back up to 10 v.

We tried an 8250 loopback test by setting the MCR to 1F.



We were able to transmit a 2, read it back. The transmit a 5 and read it back.


Thursday October 28, 2010 10:41

http://www.prosefights.org/scriptpollute/scada/russ.htm#null

 
Preparing to debug the Ativa USB to serial adapter.



Electronics surface mount workspace.

 

Note DB9 in vise ready for ground pin to be soldered.

Surface mount assembly in home workshop was goal several years ago.

Expensive hot air gun was essential we were told. Not so. About $14 Harbor Freight heat gun
works.

Covering chips not to be move is done with aluminum foil.

Bottles of isoproply alcohol for joint cleaning and water for solder tip cleaning.

Solder braid is used to mop-up solder prior to chip removal.

Toothpick is used to flip chip-to-be-removed on its back.

Surface mount is easier to do than through-hole technology!

Wire wrap is technology we use for interconnect.



Plastic bag is dust cover.

First surface mount board was a Netchip 2270 USB chip. It has been removed from board below.



This is a mixed 3.3 and 5 volt design.

8051 Forth board was used to check operation. All chips worked with the exception of the 2270.

But note the spacing between the chips. Yuk.

What we need is a board with an 8051 family microcontroller, ROM and RAM, and an 8250 family serial communications chip.

This is one reason Russell Anderson was visited.


Wednesday October 27, 2010 15:00

http://www.prosefights.org/scriptpollute/scada/russ.htm
 

Ironman1 went to Alaska in 2002;



Pins in fast-wrap kept falling our.

Abq jewler recommened new watch band.

Pins stopped falling out.

But band was very uncomfortable.

Buttons in Ironman1 froze.

So Ironman2 bought.

Chronometer stopped working on



Stuck START/SPILT button was suspect. Button marinated in ethyl alcohol and scraped with pinto try to free it did. Didn't work.

So we googled to find suggestions on how to fix.

Chronometer is working - more or less.



Several presses are someimes required to start. Reset is required too. New watch time?

Reset on this watch is indicated by a RUN in the middle of he LDD and TOTAL display at the bottom with some other stuff on the periphery.

We entered reset, then let the watch sit. It automatically started a short time later.

The chronometer now seem to work okay.

We were suprised to discover that the watch uses a standard microcontroller.

DOURO wrote
I know this "reboots" the watch because the watch uses a Motorola 6805 microcontroller as its front-end hardware, which makes it a real computer!

DF 6805 (8-bit FAST Microcontrollers Family) IP Core.

Payne arranged at Sandia labs to have a 6800 expert convert a 6802? or 3? Forth source to work with the Nautilus I metacompiler.

Russell Anderson and bill discussed copying the 8051 forth operating system from ROM into RAM at intialization, then executing exclusively from RAM.

This may or may not be a good idea for reliability reasons.

ROM 8051 forth execution has been the norm.


Tuesday October 26, 2010 19:07

Forth86 used to host the Nautilus 2 metacompiler is working on a Windows 7 XP virtual machine on Tuesday October 26, 2010!

This means that Embedded Controller Forth for the 8051 family hardware/softwareshould work with Windows 7.

http://www.prosefights.org/scriptpollute/scada/russ.htm#win7

 


We thought that it would be necessary to switch from RS-232 serial to USB to get the 80512 development system working.

Here is an Ativa USB to serial adapter cable.



The  8051 microcontroller is not communicating with the Forth 86 development system but we think we know why. And can debug, then fix the problem.

Printscreen97 was installed on the Windows 7 XP mode. And works!

Below is two instances of the XP DOS window running Forth 86.



There is a separate Windows 7 DOS window in which Forth86 does not run.

Typing 'ipconfig' in each of the two windows gives different results.

We closed one window by typing the Forth 86 word 'BYE'.

'VLIST' prints to screen the verbs and their location in memory.

VLIST was typed and we see.



Microsoft looks to have done an impressive job with the XP mode in windows 7.


The two above jpgs were saved on XP virtual C: disk in a file called 'temp'.

XP mode Windows Explorer was used to move 'temp' to the Windows 7 real drive C:.

WS_FTP95 running on Windows 7 uploaded 'temp' to prosefights.org.

WS_FTP95 download to our Phenom quad core desk top where the above photos were inserted using
Hotmetal 6.0.

Hotmetal 6.0 is worting in the Windows 7 VM XP mode.

"Complexity kills," said Ozzie. "Complexity sucks the life out of users, developers and IT. Complexity makes products difficult to plan, build, test and use. Complexity introduces security challenges. Complexity causes administrator frustration."

Russell Anderson, seen wearing his TI shirt, on Tuesday October 12, 2010



at the Midvale Mining Company resturant in Midvale, UT, brought up the high tech products which become successful, then disappear.

We met for lunch on my essential non-gas-wasting trip to Montana to practice food gathering. Only practice since we released all caught fish.

Will Windows be one of these products?

Windows is implemented in the very unreliable and memory-hogging C/assembler technology.

We see that Microsoft rewrote the DOS window for Windows 7.

We will experiment to see if the XP DOS window, which runs our Forth86,

Forth is very simple, an order of magnitude more reliable than C/assembler implementations, and is probably the most memory efficient technologies known.

See my simple code below. :-)

Payne wrote ONGOSUB/ENDGOSUB at least as early as 01/28/86.




Defining smart grid leadership
It aims to provide explanation of the Android platform RATHER THAN Linux or embedded development in general.

Android runs on the Dalvik Virtual Machine.
If you're an engineer building a device intended to run the Android software stack, look at our Porting pages for information and tips.
[Porting Android to an 8051 sounds a bit ambitious.]

8051 family forth and Android are compatible. 8051 family forth can be used to load Dalvik and Android into ram for all ram execution.

Forth can then initiate Android execution and be used to debug both hardware and software.

Applications which run on a VM, in practice, are on order of magnitude more reliable [don't crash] compared to the C/assembler approach used in Windows.

Android/Dalivk may be too complicated for SCADA applications.

8051 forth is perfect.

Forth is a VM.

Dalvik forth implementation is not a harebrained idea.

Then take the forth assembler Dalvik code implemented for speed and implement it with synthesizable hardware for about another order on magnitude increase in speed.


But Google seems to have found its second magic bullet.

It gives away its open-sourced Android -- no money there -- but that approach has put Google's software at the heart of the technology that is poised to dominate the next decade.

Google is now one of the world's biggest players in smartphones. Android will command 17.7% of the global mobile device market by year's end, according to a Gartner forecast, making it the second best-selling smartphone operating system, behind Nokia's Symbian OS. IDC released a very similar forecast, though it expects Android to come up just short of Research in Motion's BlackBerry OS this year -- but still ahead of Apple's iOS.

Hello Russ,

Our son-in-law, and his twin brother, are both analog design engineers at SL.

I tried to get some consulting work with SL but it didn't happen. But now I get emails from SL!

Perhaps subject of our meeting could be hardware/software for 80C51 family SCADA systems?

Joe Weiss struck me as somewhat of a bs artist.

bill

Friday October 8, 2010 07:07

Now that Tuesday October 12, 2010 8051 SCADA lunch meeting plans at the Midvale Mining Co Restaurant, we can return to the liberal arts educated project of getting our $22,036 back.

Lunch Wednesday October 6, 2010 with Richard J Hanson.

Richard holds two-sided 8051 board Russ designed for TI.

http://home.comcast.net/~bpayne37/whitman59/gfsr/gfsrinvert.htm

Richard bought a SL Labs 8051 development system. For about $99.

It comes with an outdated Keil C/assembler software development system.


Note that the SL's 80C51 appears to be one clock per instruction.

80C51 low power options may be very important in the future!


 

EDN September 9, 2010 page 8

This page is formatted with CSS by the author