Чому моя хвиля починається перед спусковим гачком?


10

Я вчусь аналізувати тактові дані та шини SPI за допомогою осцилографа цифрового накопичувача початкового рівня. Я використовую BK Precision 2542B для вимірювання виходу тактових та ліній MOSI від Netduino, який використовує мікроконтролер ARM.

Зображення осцилографа

У цьому зображенні у мене годинник на каналі 1 (жовтий), а MOSI на каналі 2 (синій). Спусковий гачок налаштований на використання каналу 1, використовуючи тригер, що піднімається, 1,44В. Амплітуда хвилі квадратної хвилі становить приблизно 3,3 В.

Індикатор спуску знаходиться в центрі дисплея по горизонталі, але я маю імпульс зліва. Я очікував, що перший імпульс годинника запуститься в місці спуску. Я знаю, що цифровий осцилоскоп для зберігання даних дозволяє переглядати події до і після запуску, але я збентежений, чому перший імпульс не там, де я думав, що це буде.

Моє розуміння викликання помилкове чи я просто використовую дивну сферу дії?

Редагувати: Потяг імпульсу шириною 300 мкс, повторюється з інтервалом у 2 мс, і у мене значення затримки спуску - 500 мкс. Регулювання відключення не змінило факту, що одному імпульсу передує тригер.

Редагувати 2:

Після більшого аналізу сигналу, включаючи використання аналогового осцилографа, я думаю, що я визначив, що іноді тривалість імпульсу становить приблизно 350 мкс замість 300 мкс. Це може бути збій у кадрах, що генерують код.

Я виявив, що час затримки 352 мкс дасть очікуваний результат, але раз у раз додатковий імпульс передує тригеру.

Значення утримування

Я записав кілька кадрів, щоб показати пульс як відсутній, так і присутній:

Провідний пульс відсутній Провідний пульс присутній

Якщо я встановити горизонтальну часову базу досить довго, щоб побачити тривалість імпульсів, між ними завжди виявляється не менше 1,7 мс:

Імпульси даних із швидкістю 1 мс на поділ

Тому, хоча я думаю, що провідний імпульс є результатом "збої" від джерела, я все ще не впевнений, як тригер відключення> 360μs все ще видає несподіваний провідний імпульс.


2
Перевірте меню спускових механізмів - можливо, ви будете спрацьовувати, коли імпульс буде низьким протягом => певний час, і це буде відповідати екрану, який ви показали. Спробуйте замість цього запустити край.
Енді ака

У мене також є сфера "початкового рівня", Owon SDS7102, і він теж іноді пропустить перший тригер. Поведінка, схоже, залежить від часової бази / швидкості вибірки / параметрів пам'яті та частоти сигналу. Можливо, на вас теж можуть вплинути налаштування часової бази / вибірки?
AndrejaKo

1
Я бачив, що діапазони 18 000 доларів США не змогли розвернутися та повторно запуститись менше 5 мс. Досить сумно, справді. З інтервалом 2s, принаймні, це не повинно бути вашою проблемою.
darron

1
@darron Як це буває, дві секунди були помилковими - імпульси проходять з інтервалом у 2 мс. Я думаю, що сфера перезброює спусковий механізм досить швидко, але інші фактори діють, як я вже згадував в оновленнях до питання.
JYelton

Відповіді:


3

Напевно, у вас увімкнена якась фільтрація або затримка тригера. В іншому випадку звичайний спусковий кран на підйомі повинен був уловити перший імпульс, не дочекавшись другого. Подивіться уважно через меню спуску і вимкніть все, що називається "фільтр", "затримка", "затримка" тощо.


Я редагував питання. Потік даних повторюється кожні 2 мс, а не 2 секунди. Я переконався, що фільтрація не ввімкнена, і що тригер затримки трохи довший, ніж потяг імпульсів. Моя аналогова (BK 2190B) область дії спрацьовує чудово на першому тактовому імпульсі. Однак цифровий завжди його не вистачає. Я не впевнений, що ще робити, окрім повернення цифрової області, це здається не дуже здатним.
JYelton

3

Цей самий сигнал спрацьовує чудово за допомогою Tektronix TDS3014, при цьому значення затримки тригера коливається від 350 мкс до 1,5 мс і більше.

Tek TDS3014 Результат

Я думаю, що відповідь полягає в перехресному перевірці сигналів з більш ніж однією областю, коли щось не виглядає правильно.

Мені ніколи не вдалося змусити BK 2542B правильно показати годинник, не пропустивши ні першого імпульсу, ні показавши випадкові «виблиски» чи «сміття», що зробило імпульси годинника незлічувальними.


0

Чувак, шина SPI синхронізується на падінні годинникової лінії, а не на підйомі, тому все виглядає неправильно!

З повагою, Макс


Б'юсь об заклад, що сфера не переймається тим, як синхронізовано SPI, все, що вона бачить, це сигнал A і сигнал B.
Дмитро Григор'єв

0

Ну, технічно ваш обсяг не зробив нічого поганого: ви хотіли синхронізуватися на зростаючому краю годинника, і всі ваші знімки екрана є. Ніхто не сказав вам, що це буде перший пульс . Якщо діапазон починає записуватись досить рано, тригер повинен вразити перший пульс, якщо ні - жорстка удача, ви отримуєте зображення №2.

Я не можу зрозуміти, чому ви хочете, щоб ваш тригер був на CLK, а не на SS-сигналі. Падіння на SS гарантує, що ви знаходитесь на початку транзакції, а підвищення рівня CLK - це не так.

EDIT: враховуючи, що ви, здається, завжди пропускаєте рівно один імпульс, все-таки це схоже на помилку в області дії. Все-таки подивіться, чи допомагає активація на SS.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.