??? 05/29/06 15:47 Modified: 05/29/06 15:48 Read: times |
#117229 - well, maybe not ... Responding to: ???'s previous message |
If you add the rise and fall times, depending on how you define the pulse width, it may not be all of 5 MHz, but it WILL be more than 4 MHz.
You may not get there with a serial port in Mode 0, though that would probably do the job under some circumstances. It would depend entirely on the way in which your chosen 805x variant handles the serial port timing. The DS89C4x0 types can operate it at clock/12 and clock/4, and they can take the external clock/oscillator and multiply it by either 2 or 4, so that yields clock/6 and clock/3, so that yields other options, but the topmost system clock rate is 33 MHz. You'll have to figure out whether that will do the trick for you. IF you use a typical parallel to serial register, external to the MCU, of course, and both clock it and feed it at the right rate, you can generate a signal that's shaped in any arbitrary way, with the granularity of the clock you've chosen, and assuming you can fetch the next datum and load the register at the right time. The logic can be implemented trivially in programmable logic, but if you use, say, a 74HC165 you still need to add a handful of logic to load the PISO register at the right time and in the right phase with the output signal. In order to suppress foreshortening of the output, you'll need an extra 'D' register. A double-buffered part, e.g. 74595/97, whichever is the PISO form, will work better, but still needs external load-control logic. If you can manage it with the Mode0 serial port, it will work pretty easily. I'd warn you, though, that you won't have much flexibility as to the rate, and the interrupt flag has to be cleared explicitly, so you have plenty to do in firmware. RE |