Technical discussions about Freescale Microcontrollers: M68HC11. (Freescale Semiconductor is a Subsidiary of Motorola).
|
I am using PCBUG to program my external 8x8K EEPROM, and the PCBUG does a great job programming my external EEPROM. But sometime when I first connected the +5V to my board in the Expanded Mode, my EEPROM got erased. Usually the last two bytes of the Vector table got changed. And those two bytes are the RESET Vector which are FFFE and FFFF. Could somone pleasse help me out with this problem? what could be wrong with my design?? Please give me some input. Thanks so much guys. -Quyen |
|
|
|
----- Original Message ----- From: "quyenqtran" <> To: < > I am using PCBUG to program my external 8x8K EEPROM, and the PCBUG > does a great job programming my external EEPROM. But sometime when I > first connected the +5V to my board in the Expanded Mode, my EEPROM > got erased. Usually the last two bytes of the Vector table got > changed. And those two bytes are the RESET Vector which are FFFE and > FFFF. Could somone please help me out with this problem? what could > be wrong with my design?? Please give me some input. Thanks so much guys. Make sure you use a low-voltage inhibit IC, such as the MC33064. Without it, during power cycling, the HC11 goes crazy executing random code which can mess up the EEPROM in just a tiny fraction of a second. > -Quyen |
|
|
|
hi i am usig jbug11(software free) for program external memory, with this software, you can program eeprom or flash easy this software run on windows 98 -> XP quyenqtran <> wrote: I am using PCBUG to program my external 8x8K EEPROM, and the PCBUG does a great job programming my external EEPROM. But sometime when I first connected the +5V to my board in the Expanded Mode, my EEPROM got erased. Usually the last two bytes of the Vector table got changed. And those two bytes are the RESET Vector which are FFFE and FFFF. Could somone pleasse help me out with this problem? what could be wrong with my design?? Please give me some input. Thanks so much guys. -Quyen Yahoo! Groups Sponsor Get unlimited calls to U.S./Canada --------------------------------- Yahoo! Groups Links To att:Juan G. Torres --------------------------------- [Non-text portions of this message have been removed] |
|
yes, I am using the low-voltage inhibit IC. to be specificed, MC34064 is the IC I am using. Lately the problem is very critical. It almost changed my content of my external EEPROM everytime I powered up the board. Is anyone out there can help me?? Thanks. Quyen > Make sure you use a low-voltage inhibit IC, such as the MC33064. > > Without it, during power cycling, the HC11 goes crazy executing random code > which can mess up the EEPROM in just a tiny fraction of a second. > > > -Quyen > > tonyp@a... |
|
|
|
--- In , "quyenqtran" <quyenqtran@y...> wrote: > > yes, I am using the low-voltage inhibit IC. to be specificed, > MC34064 is the IC I am using. Lately the problem is very critical. > It almost changed my content of my external EEPROM everytime I > powered up the board. Is anyone out there can help me?? Thanks. Perhaps the problem is not the RESET generation, but the logic being used to generate the read and write strobes for the EEPROM device. The circuit I usually use in my HC11 expanded-mode designs consists of three 2-input NAND gates, configured such that -RD and -WR signals are generated from the HC11's E and R/-W signals. I can provide you with a more detailed description of this circuit if you wish. Also, I always try to use 74HCxx series logic for all my address decoding and other general logic functions (unless I'm using a PLD). Given that you state that the locations $FFFE/F are the ones most often corrupted, I am thinking that it is possible that there is something wrong with the logic generating the EEPROM -WR (-WE) signal. It is quite possible that the EEPROM is 'misinterpreting' the initial fetch of the reset vector as a WRITE to these locations, due to poor external logic design. The rest of your EEPROM is not being affected most likely because the fetch of the RESET vector fails and the HC11 winds up in some sort of halt or undefined state before it gets around to (trying to) fetch your code. Of course, this is just a guess on my part. If you can provide more information on how the logic external to the HC11 is designed, I may be able to help you further. -- Mark |
|
|
|
This is how I generate the /WE and /OE signals for my external EEPROM. I am using the Quad 2-input NAND gates; SN74ALS00AN The inputs for the FIRST NAND gate are the E and R/W signals of the HC11; The out put of this FIRST NAND gate is connected to the /OE of the EEPROM.(this generates a READ signal) Both inputs of the SECOND NAND gate is the R/W singal of the HC11.(basically I just converted the signal)I take the output of this SECOND NAND gate, and the E signal from the HC11 and connect them to the inputs of the THIRD NAND gate, the output of this THIRD NAND gate is connected to the /WE of the EEPROM. That is how I have my external logic for the EEPROM. Now the problem is more severe, it not only alternates my last two bytes of the VECTOR table, but now it alternates ALL bytes of my vector table from FFD6 to FFFF. Please help. It only happen when I first turn off the power and turn it back on. Lets say if I wasn in Boot-trap mode and switch back to the Expanded mode without turning OFF the power, then the content of my external EEPROM does not get change. > The circuit I usually use in my HC11 expanded-mode designs consists > of three 2-input NAND gates, configured such that -RD and -WR signals > are generated from the HC11's E and R/-W signals. I can provide you > with a more detailed description of this circuit if you wish. Also, > I always try to use 74HCxx series logic for all my address decoding > and other general logic functions (unless I'm using a PLD). > > Given that you state that the locations $FFFE/F are the ones most > often corrupted, I am thinking that it is possible that there is > something wrong with the logic generating the EEPROM -WR (-WE) > signal. It is quite possible that the EEPROM is 'misinterpreting' > the initial fetch of the reset vector as a WRITE to these locations, > due to poor external logic design. The rest of your EEPROM is not > being affected most likely because the fetch of the RESET vector > fails and the HC11 winds up in some sort of halt or undefined state > before it gets around to (trying to) fetch your code. Of course, > this is just a guess on my part. > > If you can provide more information on how the logic external to the > HC11 is designed, I may be able to help you further. > > -- Mark |
|
|
|
--- In , "quyenqtran" <quyenqtran@y...> wrote: > > This is how I generate the /WE and /OE signals for my external EEPROM. > I am using the Quad 2-input NAND gates; SN74ALS00AN > The inputs for the FIRST NAND gate are the E and R/W signals of the > HC11; The out put of this FIRST NAND gate is connected to the /OE of > the EEPROM.(this generates a READ signal) > Both inputs of the SECOND NAND gate is the R/W singal of the > HC11.(basically I just converted the signal)I take the output of this > SECOND NAND gate, and the E signal from the HC11 and connect them to > the inputs of the THIRD NAND gate, the output of this THIRD NAND gate > is connected to the /WE of the EEPROM. That is how I have my external > logic for the EEPROM. > Now the problem is more severe, it not only alternates my last two > bytes of the VECTOR table, but now it alternates ALL bytes of my > vector table from FFD6 to FFFF. Please help. > It only happen when I first turn off the power and turn it back on. > Lets say if I wasn in Boot-trap mode and switch back to the Expanded > mode without turning OFF the power, then the content of my external > EEPROM does not get change. Could someone please take a look at my problem? I've been spinning the wheel for the past two weeks with this problem. Do you guys think mixing 74ALS devices with 74HCT devices could be a problem?? Thanks guys -Quyen |
|
|
|
Hello Quyen, Sometimes there are slight differences between chips with similar numbering. I can think of one set off the top of my head; the 74HC597 and the 74LS597. Again, very slight difference between these two chips, but in most general cases, either of the two will work. I am sure there are others that may be further off, but I can't think of them, and it's not that important as long as you get my point here. With the simple NAND gate, there are, again, very slight differences between the two chips you mentioned. The most significant difference that I could see from the quick once-over of the data sheets, is the supply voltage. This is even negligable if you are using the same supply voltage for the whole circuit. As for your problem... It seems that you are getting plagued with the chaos effect that happens when power is first applied to the circuit. I would assume that you are not using any bypass capacitors connected between the +V and GND pins of these chips. What I think is happening is that when you turn the power on, then a voltage spike is putting an unknown (chaotic) logic level on the NAND gate pins. by putting a bypass capacitor on said pins, then what happens is that this spike in the supply voltage is immediately done away with --sent to ground-- and usually the circuit will funtion properly after that. I had this problem in some memory modules used in a Eurocard bus that would either never erase, or would erase when I didn't want them to! I installed these capacitors (Who knows why they didn't do this in the original design), and Voila! No more problems. Your problem is a bit different than mine, but it is similar none-the-less. Try this and see what happens. A .1micro farad is kinda the standard. You can use a ceramic or monolithic they may say 104K on them. I hope this helps you. Salute! LF quyenqtran <> wrote: --- In , "quyenqtran" <quyenqtran@y...> wrote: > > This is how I generate the /WE and /OE signals for my external EEPROM. > I am using the Quad 2-input NAND gates; SN74ALS00AN > The inputs for the FIRST NAND gate are the E and R/W signals of the > HC11; The out put of this FIRST NAND gate is connected to the /OE of > the EEPROM.(this generates a READ signal) > Both inputs of the SECOND NAND gate is the R/W singal of the > HC11.(basically I just converted the signal)I take the output of this > SECOND NAND gate, and the E signal from the HC11 and connect them to > the inputs of the THIRD NAND gate, the output of this THIRD NAND gate > is connected to the /WE of the EEPROM. That is how I have my external > logic for the EEPROM. > Now the problem is more severe, it not only alternates my last two > bytes of the VECTOR table, but now it alternates ALL bytes of my > vector table from FFD6 to FFFF. Please help. > It only happen when I first turn off the power and turn it back on. > Lets say if I wasn in Boot-trap mode and switch back to the Expanded > mode without turning OFF the power, then the content of my external > EEPROM does not get change. Could someone please take a look at my problem? I've been spinning the wheel for the past two weeks with this problem. Do you guys think mixing 74ALS devices with 74HCT devices could be a problem?? Thanks guys -Quyen Yahoo! Groups SponsorADVERTISEMENT --------------------------------- Yahoo! Groups Links To --------------------------------- |
|
|
|
> As for your problem... > > It seems that you are getting plagued with the chaos effect that happens when power is first applied to the circuit. I would assume that you are not using any bypass capacitors connected between the +V and GND pins of these chips. What I think is happening is that when you turn the power on, then a voltage spike is putting an unknown (chaotic) logic level on the NAND gate pins. by putting a bypass capacitor on said pins, then what happens is that this spike in the supply voltage is immediately done away with --sent to ground-- and usually the circuit will funtion properly after that. I had this problem in some memory modules used in a Eurocard bus that would either never erase, or would erase when I didn't want them to! I installed these capacitors (Who knows why they didn't do this in the original design), and Voila! No more problems. Your problem is a bit different than mine, but it is similar none-the-less. Try this and see what happens. A .1micro farad is kinda the > standard. You can use a ceramic or monolithic they may say 104K on them. I hope this helps you. > > Salute! > > LF Hello LF, Installing the by-pass caps does help out a lot. However there is still ONE single byte gets erased from time to time. and it is the FFFF which is the Reset vector. This is how my /RESET pin on the HC11 is configured. I simply have a pull-up resistor connected to this /RESET pin, and whenever I want to do a MANUAL reset, i push a push-switch down (normal open) to drive the /RESET pin low. I don't have the micropower Undervoltage Sensing Circuit(MC34164) connected any where. Do you think without having the MC34164, and manually reset the HC11 can erase my external EEPROM? Thanks so much guys. -Quyen |
|
|
|
quyenqtran <> wrote: Quyen, This is a very interesting problem that I have never heard of before. perhaps somebody else can help you with this. Sorry I could not be of further assistance. LF Hello LF, Installing the by-pass caps does help out a lot. However there is still ONE single byte gets erased from time to time. and it is the FFFF which is the Reset vector. This is how my /RESET pin on the HC11 is configured. I simply have a pull-up resistor connected to this /RESET pin, and whenever I want to do a MANUAL reset, i push a push-switch down (normal open) to drive the /RESET pin low. I don't have the micropower Undervoltage Sensing Circuit(MC34164) connected any where. Do you think without having the MC34164, and manually reset the HC11 can erase my external EEPROM? Thanks so much guys. -Quyen Yahoo! Groups SponsorADVERTISEMENT --------------------------------- Yahoo! Groups Links To --------------------------------- |
|
|
|
Hi All, Believe it or not, this is the sort of problem high-volume products face at a minority of customer sites. That is, you need to have many units operating in different power environments before you run into such a problem. As LF first suggested, bypass capacitors (or lack thereof) will definately aggrivate the problem. In our case, the board was a multi-layer, with dedicated Vcc and Ground planes, lots of 100 nF bypass capacitors, etc. Anyway, it is invariably due to the CPU running bogus code, probably in your application when the power *drops*! We had exactly the same problem in a product we were shipping 50,000/month in. About 200-300 per month had the problem of corrupting a serial EEPROM that was attached to several port bits. In the end, the problem was solved by adding a CPU supervisor IC (the kind that monitors Vcc and resets the CPU when it is too low). During debugging, we actually observed our CPU jumping into the EEPROM erase routine on these units. The event that triggered the forgetfullness was power dropping for a short period of time. That is to say, power had to be switched off for the "correct" amount of time. The energy stored in the capacitors was just enough to keep the CPU going just long enough to do the damage. I know this sounds pretty unbelievable, and I would also question it had I not spent a month with an oscilloscope tracking it down. Best regards, Scott --- bart homerson <> wrote: > > quyenqtran <> wrote: > Quyen, > > This is a very interesting problem that I have never > heard of before. perhaps somebody else can help you > with this. Sorry I could not be of further > assistance. > LF > Hello LF, > Installing the by-pass caps does help out a lot. > However there is > still ONE single byte gets erased from time to time. > and it is the > FFFF which is the Reset vector. This is how my > /RESET pin on the HC11 > is configured. I simply have a pull-up resistor > connected to this > /RESET pin, and whenever I want to do a MANUAL > reset, i push a > push-switch down (normal open) to drive the /RESET > pin low. I don't > have the micropower Undervoltage Sensing > Circuit(MC34164) connected > any where. Do you think without having the MC34164, > and manually reset > the HC11 can erase my external EEPROM? Thanks so > much guys. > > -Quyen > Yahoo! Groups SponsorADVERTISEMENT > --------------------------------- > Yahoo! Groups Links > > To > > > --------------------------------- > > removed] __________________________________ |
|
|
|
Hello All, Sounds like great advice! The problem that I was referring to with my Eurocard Bus, was similar, but I was dealing with audio in addition to the program being erased; there was a lot of popping. I had to call the engineer that designed the unit, and he traveled all the way from Italy to tell me that he should have put bypass capacitors in the circuit! I was a Newbee then so that experience really stuck with me; I will never forget that. WOW! 50,000 per month! Dare I ask what product it was? lol. Take care. LF Scott Grodevant <> wrote: Hi All, Believe it or not, this is the sort of problem high-volume products face at a minority of customer sites. That is, you need to have many units operating in different power environments before you run into such a problem. As LF first suggested, bypass capacitors (or lack thereof) will definately aggrivate the problem. In our case, the board was a multi-layer, with dedicated Vcc and Ground planes, lots of 100 nF bypass capacitors, etc. Anyway, it is invariably due to the CPU running bogus code, probably in your application when the power *drops*! We had exactly the same problem in a product we were shipping 50,000/month in. About 200-300 per month had the problem of corrupting a serial EEPROM that was attached to several port bits. In the end, the problem was solved by adding a CPU supervisor IC (the kind that monitors Vcc and resets the CPU when it is too low). During debugging, we actually observed our CPU jumping into the EEPROM erase routine on these units. The event that triggered the forgetfullness was power dropping for a short period of time. That is to say, power had to be switched off for the "correct" amount of time. The energy stored in the capacitors was just enough to keep the CPU going just long enough to do the damage. I know this sounds pretty unbelievable, and I would also question it had I not spent a month with an oscilloscope tracking it down. Best regards, Scott --- bart homerson <> wrote: > > quyenqtran <> wrote: > Quyen, > > This is a very interesting problem that I have never > heard of before. perhaps somebody else can help you > with this. Sorry I could not be of further > assistance. > LF > Hello LF, > Installing the by-pass caps does help out a lot. > However there is > still ONE single byte gets erased from time to time. > and it is the > FFFF which is the Reset vector. This is how my > /RESET pin on the HC11 > is configured. I simply have a pull-up resistor > connected to this > /RESET pin, and whenever I want to do a MANUAL > reset, i push a > push-switch down (normal open) to drive the /RESET > pin low. I don't > have the micropower Undervoltage Sensing > Circuit(MC34164) connected > any where. Do you think without having the MC34164, > and manually reset > the HC11 can erase my external EEPROM? Thanks so > much guys. > > -Quyen > Yahoo! Groups SponsorADVERTISEMENT > --------------------------------- > Yahoo! Groups Links > > To > > > --------------------------------- > > removed] __________________________________ Yahoo! Groups SponsorADVERTISEMENT --------------------------------- Yahoo! Groups Links To --------------------------------- |
|
|
|
Hi All and LF, It was a handheld barcode scan engine (the guts of a moving beam laser scanner). Scott bart homerson <> wrote: Hello All, Sounds like great advice! The problem that I was referring to with my Eurocard Bus, was similar, but I was dealing with audio in addition to the program being erased; there was a lot of popping. I had to call the engineer that designed the unit, and he traveled all the way from Italy to tell me that he should have put bypass capacitors in the circuit! I was a Newbee then so that experience really stuck with me; I will never forget that. WOW! 50,000 per month! Dare I ask what product it was? lol. Take care. LF Scott Grodevant <> wrote: Hi All, Believe it or not, this is the sort of problem high-volume products face at a minority of customer sites. That is, you need to have many units operating in different power environments before you run into such a problem. As LF first suggested, bypass capacitors (or lack thereof) will definately aggrivate the problem. In our case, the board was a multi-layer, with dedicated Vcc and Ground planes, lots of 100 nF bypass capacitors, etc. Anyway, it is invariably due to the CPU running bogus code, probably in your application when the power *drops*! We had exactly the same problem in a product we were shipping 50,000/month in. About 200-300 per month had the problem of corrupting a serial EEPROM that was attached to several port bits. In the end, the problem was solved by adding a CPU supervisor IC (the kind that monitors Vcc and resets the CPU when it is too low). During debugging, we actually observed our CPU jumping into the EEPROM erase routine on these units. The event that triggered the forgetfullness was power dropping for a short period of time. That is to say, power had to be switched off for the "correct" amount of time. The energy stored in the capacitors was just enough to keep the CPU going just long enough to do the damage. I know this sounds pretty unbelievable, and I would also question it had I not spent a month with an oscilloscope tracking it down. Best regards, Scott --- bart homerson <> wrote: > > quyenqtran <> wrote: > Quyen, > > This is a very interesting problem that I have never > heard of before. perhaps somebody else can help you > with this. Sorry I could not be of further > assistance. > LF > Hello LF, > Installing the by-pass caps does help out a lot. > However there is > still ONE single byte gets erased from time to time. > and it is the > FFFF which is the Reset vector. This is how my > /RESET pin on the HC11 > is configured. I simply have a pull-up resistor > connected to this > /RESET pin, and whenever I want to do a MANUAL > reset, i push a > push-switch down (normal open) to drive the /RESET > pin low. I don't > have the micropower Undervoltage Sensing > Circuit(MC34164) connected > any where. Do you think without having the MC34164, > and manually reset > the HC11 can erase my external EEPROM? Thanks so > much guys. > > -Quyen > Yahoo! Groups SponsorADVERTISEMENT > --------------------------------- > Yahoo! Groups Links > > To > > > --------------------------------- > > removed] __________________________________ Yahoo! Groups SponsorADVERTISEMENT --------------------------------- Yahoo! Groups Links To --------------------------------- Yahoo! Groups Sponsor Get unlimited calls to U.S./Canada --------------------------------- Yahoo! Groups Links To --------------------------------- |
|
|
|
It would not have been a Symbol PCM2700, would it? We have a few of these laying
around. I attempted to write a simple eVb program for them but for some reason the thing
would always lock up. For two months the e-mails went back and forth between Symbol
support and I with no solution. I even sent them my program, and they confirmed that it
did work with their unit! I finally gave up on the idea and I was able to convice my
company that these $2000 scanners were not reliable enough to use on an everyday basis. So
they now rest in a closet all on their own! I wish I had money like that to blow! LF Scott Grodevant <> wrote: Hi All and LF, It was a handheld barcode scan engine (the guts of a moving beam laser scanner). Scott bart homerson wrote: Hello All, Sounds like great advice! The problem that I was referring to with my Eurocard Bus, was similar, but I was dealing with audio in addition to the program being erased; there was a lot of popping. I had to call the engineer that designed the unit, and he traveled all the way from Italy to tell me that he should have put bypass capacitors in the circuit! I was a Newbee then so that experience really stuck with me; I will never forget that. WOW! 50,000 per month! Dare I ask what product it was? lol. Take care. LF Scott Grodevant wrote: Hi All, Believe it or not, this is the sort of problem high-volume products face at a minority of customer sites. That is, you need to have many units operating in different power environments before you run into such a problem. As LF first suggested, bypass capacitors (or lack thereof) will definately aggrivate the problem. In our case, the board was a multi-layer, with dedicated Vcc and Ground planes, lots of 100 nF bypass capacitors, etc. Anyway, it is invariably due to the CPU running bogus code, probably in your application when the power *drops*! We had exactly the same problem in a product we were shipping 50,000/month in. About 200-300 per month had the problem of corrupting a serial EEPROM that was attached to several port bits. In the end, the problem was solved by adding a CPU supervisor IC (the kind that monitors Vcc and resets the CPU when it is too low). During debugging, we actually observed our CPU jumping into the EEPROM erase routine on these units. The event that triggered the forgetfullness was power dropping for a short period of time. That is to say, power had to be switched off for the "correct" amount of time. The energy stored in the capacitors was just enough to keep the CPU going just long enough to do the damage. I know this sounds pretty unbelievable, and I would also question it had I not spent a month with an oscilloscope tracking it down. Best regards, Scott --- bart homerson wrote: > > quyenqtran wrote: > Quyen, > > This is a very interesting problem that I have never > heard of before. perhaps somebody else can help you > with this. Sorry I could not be of further > assistance. > LF > Hello LF, > Installing the by-pass caps does help out a lot. > However there is > still ONE single byte gets erased from time to time. > and it is the > FFFF which is the Reset vector. This is how my > /RESET pin on the HC11 > is configured. I simply have a pull-up resistor > connected to this > /RESET pin, and whenever I want to do a MANUAL > reset, i push a > push-switch down (normal open) to drive the /RESET > pin low. I don't > have the micropower Undervoltage Sensing > Circuit(MC34164) connected > any where. Do you think without having the MC34164, > and manually reset > the HC11 can erase my external EEPROM? Thanks so > much guys. > > -Quyen > Yahoo! Groups SponsorADVERTISEMENT > --------------------------------- > Yahoo! Groups Links > > To > > > --------------------------------- > ">http://mail.yahoo.com [Non-text portions of this message have been removed] |