|
Смотрим:
.macro pulse_SCK;pulse SCK
sbi portb,SCK
ldi temp2,(XTAL/1500+1)
m0: dec temp2
brne m0
cbi portb,SCK
ldi temp2,(XTAL/3000+1)
m1: dec temp2
brne m1
.endm
SCK устанавливается в "high" на 2 мкс, потом в "low" на 1 мкс.
Дальше (идем по короткой ветке):
wrs1: clr_MOSI; MOSI = 0 Установка 0 на выходе данных
wrs2: lsl rd_s_data 1 такт
sbic_MISO; read MISO 1 такт
ori rd_s_data,1 1 такт
pulse_SCK 2 такта, фронт SCK
Итого, имеем 5 тактов от данных на MOSI до фронта SCK.
В даташите 2313 сказано, t_ovsh >= 2t_clcl.
Следовательно, 5 тактов программатора должно быть больше 2 тактов
системы, то есть, минимальная частота системы должна составлять
2/5 частоты программатора. А если система медленная? И при чем тут
генерация SCK с привязкой к реальным микросекундам?
Где я недосмотрел?
E-mail: info@telesys.ru