??? 01/29/07 22:55 Modified: 01/29/07 22:55 Read: times |
#131684 - Jan, that may be, but I don\'t think so ... Responding to: ???'s previous message |
Jan Waclawek said:
Richard Erlacher said:
[...] one-clockers with internal wait-state-generation (cycle stretching) logic that is programmable for a range of stretch durations I thought Erik is talkin about external RAM + 8255. There, fixed waitstates are not good. Some micros can map several various waitstates at different address ranges, but that's still not as flexible as a WAIT input. I seem to recall that SOME '51 derivative does have this feature, but IIRC not the DS'4x0 nor the 100MHz SiLabs. You're absolutely right, Jan. Not all MCU's have this feature, but the one that Erik uses and writes about certainly does. His XRAM is an 8KB internal one, which is unaffected by the cycle stretching, unless there's something he hasn't mentioned. There's nothing to prevent him from attaching an external RAM, and, of course, unless he were to change the cycle-stretch-related SFR, he'd end up taking just as long for his SRAM as for his external 82C55, were he to use one (highly unlikely). That would not have to be a concern, though, because the cycle-stretch is controlled internally to the MCU, meaning that a simple change of the SFR will change the cycle length. The requisite external decoding logic will prevent "stepping on" the slower device with a faster cycle. Now, I don't have this problem because, though I use an external SRAM, and other external hardware that requires synchronization, I accomplish that with an actual clock switch, where the oscillator input is driven from switch logic that carefully synchronizes the driver clock with an externally timed process. No serial port activity is permitted to occur while the faster clock is in use, and no interrupts occur then either. At the end of the day, we can start an another discussion, whether it is appropriate to use a microcontroller instead of a microprocessor - and, whether there still are any microprocessors made at all... There are numerous ARM7, ARM9, and later, that are different in that they contain no program memory and no data memory, though they do have, in some cases quite significant, cache resources available. Richard Erlacher said:
I don't know why you'd even consider "bit-banging" a parallel interfaced device. Bit banging is a parallel-to-serial/serial-to-parallel technique. Perhaps you meant something else? Sure. Manually wiggle the control pins (/RD /WR /CS, whichever appropriate). How would you call this process? That's what I suspected. I suppose one would call that "bit-fiddling, but not bit-banging, because the latter term has, over the years, accumulated baggage in the form of its association with serial communication for which purpose no dedicated hardware was involved. That is a semantic approximation, as I have no real convention on which to base this verbage. That, in fact, is why I carefully make the distinction between memory-mapped I/O and port-mapped I/O, of which the latter is the thing to which I believe to which you are referring. Jan Waclawek |