154
« -: Май 13, 2010, 10:21:05 pm »
Не знам какво космическо приложение спряташ, но както и да е.
100ns са на границата на това, което можеш да постигнеш с PIC18Fxxxx.
За решаването на тази задача се прави следното:
1. Пуска се един таймер да брой на 10 MHz ( то толкова си може ) с автоматично презапускане.
2. При препълване на таймера получаваш прекъсване. Броейки прекъсванията, знаеш колко време от по 65536 * 100ns е минало от началото на броенето на системата ти до началото на броенето на 16-битовоя таймер.
3. Импулсите, които искаш да следиш, се подават на входа за Capture на таймера. При фронт на тествания сигнал се получава прекъсване ( друго ), а в един регистър се записва стойността на брояча в момента на пристигане на фронта.
64-битов таймер не ти трябва. При 10 Mhz на входа до 21 дек 2012 няма да можеш и 48-битов да си запълниш ( 16 хардуерни + 32 софтуерни бита ).
Има и няколко "византийски момента", но ще ти ги оставя ти да се справиш с тях.
Не ми е ясно каква "софтуерна грешка" ще натрупаш?