Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
04/05/07 00:03
Read: times


 
#136640 - How'd you do it?
Responding to: ???'s previous message
Mike Stegmaier said:
My circuit is configured so that I can use a parallel port to directly access any 16-bit address that the microprocessor can address. 1 control pin enables the high-address latch (A8 to A15) and 1 control pin enables the low-address latch that is shared with the microcontroller (A0 to A7). ALE is overridden, and the processor is stuck in reset (intentionally) when programming takes place.

1 control pin determines whether programming takes place, or not. I call it "master reset". If this pin is not active, then no programming takes place, and the parallel port is effectively "disconnected".

This seems reasonable. Apparently you're making some progress.

Although I have no status ports in use, the way I verify that everything works is that I send the code in programming mode, and then watch the CPU go to work.

How do you observe that the CPU goes to work doing what you intend?

What I noticed is that in order to successfully program a byte into the eeprom, I had to write a byte to it (bit set low) for 100 or so microseconds, and then I set the bit high, but it must remain high for at least 1/2 a second.

Once again, timing can control alot.

Which "bit" is that?

BTW, I suspect you're forming a bad habit here ... "alot" is normally two words ... a lot ... and I'm just pointing it out so you're aware.

How did you arrive at the conclusion that you have to wait a half second? That seems quite long. Have you consulted the EEPROM datasheet for precise timing constraints?

my design does not involve tying PSEN and RD together with an AND gate, because I think the system won't work due to excessive track lengths.

I also use single-sided boards, and the more parts I add, the longer the wire lengths (most likely).

I seriously doubt that the length of a trace on your board is going to disrupt timing for your system if you're operating the MCU within its allowable timing constraints. Typical delays for track length are on the order of a nanosecond or two per foot.

RE



List of 11 messages in thread
TopicAuthorDate
My board works!            01/01/70 00:00      
   You may eventually find ...            01/01/70 00:00      
      answer            01/01/70 00:00      
         How'd you do it?            01/01/70 00:00      
            i knew it            01/01/70 00:00      
               Are you sure you aren\'t looking in the wrong place            01/01/70 00:00      
                  .            01/01/70 00:00      
                     Be sure to adhere to standard syntax            01/01/70 00:00      
                        free assembler            01/01/70 00:00      
                     10 lines of code to transfer a string            01/01/70 00:00      
   Congrats!            01/01/70 00:00      

Back to Subject List