My datasheet ( Unitrode ) doesnt give this limitation either.i just checked the L293D data sheet and it doesnt talk about the limit of 5KHz
16KHz gives a period of 62.5uS. Fig1 in the application info shows rise/fall times and these are less than 0.5us, so the chip shld cope with 16KHz easily
Re getting hot, at low duty cycle ( ie just getting started or creeping ), the motor is not very efficient and can draw a lot higher than normal current. For this, the datasheet is indispensable, as these chips do get hot and they do need thermal heatsinking.
I have done a lot of testing with "small" motors and PWM and found the best low speed performance was at very low period ( I go down to 28Hz for one motor ). I have never tested with larger motors so cant help there.
If you still want to use a 20MHz osc and HPWM but get a much lower output freq, you can run the signal through a deecade counter typ chip, and just pinch the relevant output that suits yr needs.
Or i just found this, never tried it but ut looks interesting
http://www.pbpgroup.com/modules/wfse...hp?articleid=6
Andrew
Bookmarks