hi all... i am working on a project where i have to use SMD 44 pin TQFP SST89E516RD2 microcontroller. i am using TTL converter to program this controller using RX and TX pins. but i am not able to program the controller. i am using flash magic to program. when i press start button from the software it says RESET TO ENTER ISP MODE. but when i reset the controller, nothing happens. i have checked all the connection and also the connectivity. connected RX pin to controller TX pin and TX to controller RX pin. also only TX led glows in TTL converter. i tried changing around 4 boards but non of them are working. but the same if i try programming the DIP package, it programmes without any error.
i have checked that the controller is not responding because, when i press start button from flashmagic software the TX pin of TTL converter glow but after pressing the reset button from the contoller the RX led of TTL converter does not glows which means that the controller is not responding after controller reset button is pressed. i have checked, reset is also working perfect, the reset pin goes high when the reset button is pressed.
Discuss your issue with the applications engineer at the distributor.
I'm suggesting probing pins on the DIP to understand the signal behaviour, and what constitutes a live/functional part so you can compare/contrast that in your implementation.
So you've tested it on four boards, all fail, so failure deemed consistent.
If the clock doesn't tick that's usually pretty fatal for synchronous parts, assuming these don't have an on-chip RC oscillator. Clocking at the wrong speed will skew bud rate expectations.
Double check that the specific parts you have in-hand use the ROM loader you expect to be present. Find a forum where people use the part in question, see if the distributor knows of other customers or consultants familiar with the part.
I have gone through the datasheet, where it stats that external ossilator is put to off and internal ossicalator is put to use while programming. A Part of the datasheet has been attached.
In-Application Programming Mode The device offers either 72 KByte of in-application programmable flash memory. During in-application programming, the CPU of the microcontroller enters IAP mode. The two blocks of flash memory allow the CPU to execute user code from one block, while the other is being erased or reprogrammed concurrently. The CPU may also fetch code from an external memory while all internal flash is being reprogrammed. The mailbox registers (SFST, SFCM, SFAL, SFAH, SFDT and SFCF) located in the special function register (SFR), control and monitor the device’s erase and program process. Table 14 outline the commands and their associated mailbox register settings.
In-Application Programming Mode Clock Source During IAP mode, both the CPU core and the flash controller unit are driven off the external clock. However, an internal oscillator will provide timing references for Program and Erase operations. The internal oscillator is only turned on when required, and is turned off as soon as the flash operation is completed.
Memory Bank Selection for In-Application Programming Mode With the addressing range limited to 16 bit, only 64 KByte of program address space is “visible” at any one time. As shown in Table 13, the bank selection (the configuration of EA# and SFCF[1:0]), allows Block 1 memory to be overlaid on the lowest 8 KByte of Block 0 memory, making Block 1 reachable. The same concept is employed to allow both Block 0 and Block 1 flash to be accessible to IAP operations. Code from a block that is not visible may not be used as a source to program another address. However, a block that is not “visible” may be programmed by code from the other block through mailbox registers. The device allows IAP code in one block of memory to program the other block of memory, but may not program any location in the same block. If an IAP operation originates physically from Block 0, the target of this operation is implicitly defined to be in Block 1. If the IAP operation originates physically from Block 1, then the target address is implicitly defined to be in Block 0. If the IAP operation originates from external program space, then, the target will depend on the address and the state of bank selection.
IAP Enable Bit The IAP enable bit, SFCF[6], enables in-application programming mode. Until this bit is set, all flash programming IAP commands will be ignored.
how can i compare the signal behaviour between both of the contoller (DIP and SMD). because SMD controller does not send any signal back to the TTL converter. what i have noticed that using DIP controller. when i press start button from flash magic software, the TTL converter send 'U' to the controller and controller acknoledge its back and then i have to press the reset switch from the controller to enter the ISP mode. but in SMD controller when i press start from the software, the TL converter sends 'U' to the controller, but controller does not responds to it and stays ideal and does nothing.
as also tested.. when i remove the crystal and capacitors from DIP package, i behaves as same as the SMD controller is behaving. but also do SMD controller works on different crystal value..?? as i was using 11.059 MHz for both the package.
Pull pin 17 P4.0 HIGH
nothing works even after pulling pin 17 high
infact i tried pulling all the pins of P4 high... but no positive results.
I am using PL2303 USB to TTL converter. Is it something where i need to change the TTL converter. but anyhow i am able to program the DIP package and not SMD.
What is the part number of the DIP device that programs correctly? Flash Magic is for NXP devices so I would be surprised if it programmed an SST device. SST is now owed by Microchip.
The partno is SST89E516RD2. Yes but it can be programmed using flash magic. In the controller option in software i select 89V516rd. I have already programmed the DIP controller using flash magic, and also it works well.
Did you ever contact FlashMagic support?
Reminder of the address: http://www.flashmagictool.com/
Thabk you Sir, But flash magic has bothing to do with SST controllers. I tried to program using flash magic just because it sometimes supports the DIP controller but bot SMD.