Временная диаграмма
Таблица параметров в даташите говорит, что время предустановки данных — 250 нс, но не говорит, от какого фронта его отсчитывать. Ответ всегда на временной диаграмме: на ней сигналы нарисованы один под другим, а стрелки между фронтами показывают, какой интервал как назван и как измерен.
Обновлено Редакция GAW
Временная диаграмма (timing diagram) — изображение нескольких сигналов на общей оси времени: каждый на своей строке, один под другим. Она показывает не только последовательность событий, но и интервалы между фронтами разных сигналов — именно эти интервалы перечислены в таблице временных параметров даташита.
Что на ней обозначают
- Уровни. Нижняя линия — логический ноль, верхняя — единица, средняя — третье состояние.
- Крест. Сходящиеся линии — место, где значение может смениться; сама шина при этом может нести и 0, и 1.
- Штриховка или серая заливка — значение не определено или не важно.
- Стрелки между фронтами — интервал с названием из таблицы: tsu, th, tpd, tw.
- Точки измерения — уровень, от которого отсчитывают интервал: половина питания, 1,5 В или проценты от питания.
TI в записке SZZA036 называет раздел даташита, где это собрано, Parameter Measurement Information: схема нагрузки, формы сигналов с точками измерения и примечания. Без этого раздела числа из таблицы нельзя правильно сравнить с осциллограммой.
Пример: I2C
Спецификация NXP UM10204 задаёт правило словами и рисунками: данные на SDA должны быть стабильны, пока SCL в высоком уровне, и меняться только при низком SCL (рис. 4); исключения — условия START и STOP (рис. 5). Числа даёт рис. 38 с таблицей 11: например, данные должны установиться не меньше чем за 250 нс до подъёма SCL в Standard-mode и за 100 нс в Fast-mode. Интервалы отсчитывают от уровней 0,3 и 0,7 напряжения питания. Как это выглядит на шине, разобрано в статье об I2C.
Пример: SPI
В справочнике STM32 одна диаграмма показывает все четыре режима SPI: уровень SCK в покое задаёт бит CPOL, а по какому фронту читаются данные — бит CPHA (RM0090, рис. 248). По такой же диаграмме в даташите ведомого определяют его режим; подробнее — в статье об SPI, а построить диаграмму для своих байтов можно в калькуляторе кадра SPI. Для UART аналогичную картинку строит калькулятор кадра UART, а нарисовать собственную диаграмму из текстового описания и сохранить её в SVG или PNG можно в редакторе временных диаграмм.
Как проверять
Для каждого интервала на диаграмме ищут строку в таблице и сравнивают с тем, что обеспечивает другая сторона: время предустановки и удержания приёмника — с моментом смены данных у передатчика, минимальную длительность импульса — с тем, что выдаёт контроллер, с учётом задержки распространения линии и буферов.
Частые вопросы
От какого уровня отсчитывают интервалы на временной диаграмме?
От точек измерения, которые указаны на диаграмме или рядом с ней. В I2C это 0,3 и 0,7 напряжения питания (UM10204, рис. 38), в даташитах логики TI — обычно половина питания или 1,5 В для входов ТТЛ; эти точки собраны в разделе Parameter Measurement Information. Если измерять от других уровней, получатся другие числа.
Что означают перекрещенные линии и штриховка на диаграмме?
Две линии, сходящиеся крестом, показывают момент, когда сигнал может смениться, а значение на шине при этом может быть любым — 0 или 1. Заштрихованная область или линия посередине означает, что значение не определено или не важно. Сплошная пара линий без пересечения — значение действительно и стабильно.
Как по диаграмме понять режим SPI ведомого?
Посмотреть, в каком уровне SCK находится в покое (это CPOL) и по какому по счёту фронту ведомый читает бит MOSI (это CPHA): по первому — CPHA = 0, по второму — CPHA = 1. RM0090 на рис. 248 рисует все четыре сочетания. Затем выставить те же биты в своём контроллере.
Источники
- NXP. UM10204 I2C-bus specification and user manual, Rev. 7.0, 1 October 2021 — разд. 3.1.3 и рис. 4: данные на SDA стабильны, пока SCL в высоком уровне, и меняются только при низком SCL; разд. 3.1.4 и рис. 5: START и STOP; разд. 6.1, табл. 11 и рис. 38: временные параметры шины, tSU;DAT — не меньше 250 нс (Standard-mode), 100 нс (Fast-mode), 50 нс (Fast-mode Plus); tHD;DAT отсчитывается от спада SCL; уровни VIL = 0,3 VDD и VIH = 0,7 VDD — точки отсчёта на диаграмме
- STMicroelectronics. RM0090 Reference manual STM32F405/415, STM32F407/417, STM32F427/437, STM32F429/439, Rev 21 — разд. 28.3.1, «Clock phase and clock polarity», рис. 248 «Data clock timing diagram»: четыре сочетания CPOL и CPHA; CPOL задаёт уровень SCK в покое, при CPHA = 0 данные захватываются по первому фронту SCK, при CPHA = 1 — по второму
- Texas Instruments. Understanding and Interpreting Standard-Logic Data Sheets, SZZA036C (December 2002, revised June 2016) — разд. 4.12: раздел Parameter Measurement Information — графическое описание условий измерения: схема нагрузки, формы сигналов с точками измерения и примечания; рис. 48 — формы сигналов для времени предустановки и удержания, задержек распространения и времён включения и выключения
Нашли ошибку?
Смотрите также
- Редактор временных диаграммТекст в нотации WaveDrom → SVG и PNG, примеры I2C, SPI, UART
- Время предустановки и удержанияИнтервалы до и после фронта такта, когда данные на входе триггера не должны меняться
- Задержка распространенияВремя от входа до выхода элемента: tPLH, tPHL, зависимость от питания
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек
- SPISCLK, MOSI, MISO, CS, режимы 0–3, daisy chain, частота, SPI в AVR
- Кадр SPIДиаграмма режимов 0–3, время передачи, предельная частота
- Кадр UART по битамБиты кадра, чётность, время символа, разбор и расхождение скоростей