FRAM71B installation
|
01-31-2021, 12:28 PM
Post: #9
|
|||
|
|||
RE: FRAM71B installation
as i've got a few e-mails recently that reported installing the FRAM71B would send the HP-71B into coma, here's a bit of insight to the how and why. your FRAM71B consists of two parts:
1. a 265k x 16 bit FRAM memory IC, and 2. an FPGA with all the logic gates required to properly interface the FRAM memory to the internal bus of the HP-71B normally, you would assume an FPGA to operate from a directly attached clock source, but in the case of FRAM71B there is no such source. instead, FRAM71B completely relies on your HP-71B's STR signal as the sole clock source for all internal operations. when the STR clock stops, your FRAM71B stops. if you are wondering when this is happening, consider the blinking cursor of your HP-71B: whenever the cursor changes state (from invisible to visible and vice versa), there is a short burst of clock cycles during which the HP-71B does its display update job and FRAM71(B) is actually "awake". during times when the cursor is either visible or not, the clock pulses are gone and your FRAM71(B) has stopped all internal activities. this is the way how FRAM71B achieves its low power consumption, but that comes at a price: when you switch [ON] your HP-71B, there are only so many clock cycles available to FRAM71B to organize its internals for proper operation before your HP-71B requests acces to its configuration registers. in fact, there are not enough clock cycles available for FRAM71B to re-load the configuration data from FRAM's 0x2C000 area into its internal config registers. instead, FRAM71B's config registers are simply overlayed on the same address space 0x2C000, so that a POKE"2C000","aaaa..." not only goes into FRAM memory but also into FRAM71B config registers. that means that as long as the power supply is good, FRAM71B's config contents will match the contents of the FRAM at 0x2C000 and there's no need to ever read the FRAM for configuration purposes. however, once power is lost even for a short moment, FRAM71B's config registers will contain data that may no longer match the FRAM data at 0x2C000. that's the reason why there might be a situation where your HP-71B freezes at [ON] although all data in FRAM are still valid. in order to overcome this, you can set CN2-2 to switch FRAM71B into "stealth mode". in this mode, FRAM71B can be configured via POKE"2C000","aaaa...", but its configuration will not go into effect until you remove CN2-2 and power cycle your HP-71B. here is a sequence how to do a configuration refresh after a power loss, if a simple POKE "2C000", PEEK$("2C000",32) doesn't work: Code: 1. switch the HP-71B [OFF] |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)