русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задержка от обновления MOSI до нарастающего фронта SCK


Дата добавления: 2013-12-23; просмотров: 787; Нарушение авторских прав


Преобразование к 8-разрядному формату

При необходимости использования 8-разрядного формата передаваемых слов требуется изменить всего 2 строки программы. Оба изменения касаются процедуры rw_spi. Первое – начальное значение счетчика бит необходимо изменить с 16 на 8, второе – строку “rol spi_hi” необходимо отделить в комментарий. Следует отметить, что в этом случае регистр spi_hi не нужен и в дальнейшем этой программой не используется и может быть задействован для других нужд.

Для повышения читабельности в код программы включены макросы. Принято, что линии порта В используются в качестве интерфейса SPI. Если используется другой порт, то в макросе в наименовании служебных регистров необходимо указать используемый порт. Используемые линии для 4 сигналов SPI-порта перечислены в разделе “PORT DEFINITIONS” как значения EQU и могут быть легко изменены.

Макрокоманда функции задержки требует дополнительного разъяснения. Для исключения необходимости применения дополнительных регистров данная процедура определяет второе назначение регистра TEMP, хранящего значение 5-разрядного счетчика, - измерение длительности SCK с высоким и низким уровнями. Последние данные хранятся в старших разрядах. За счет простого увеличения старших трех разрядов и определения переполнения можно задавать временные интервалы, не влияя на младшие 5 разрядов. Обратите внимание, что фактически выполняется операция вычитания вместо сложения. Конечный результат тот же, за исключением того, что флаг переноса C сброшен (чаще всего он установлен), когда значение старших трех бит изменяется из 7 в 0.

Рис. 16. Временная диаграмма установки и удержания данных

 

Период задержки от обновления MOSI до нарастающего фронта SCK – критичный параметр, т.к. фактически это время установления данных (tSETUP) для подключенного периферийного устройства. В данной процедуре длительность времени установки – 2 цикла при изменении MOSI к низкому уровню и 3 цикла при изменении к высокому уровню. При тактовой частоте 10 МГц это время составляет 200-300 нс. Если требуются более длительные временные интервалы необходимо добавить NOPы непосредственно перед макрокомандой sck_hi.



Коэффициент заполнения импульса SCK

Выход SCK большинство времени цикла генерации сообщения находится в низком состоянии за счет пауз на установление уровней, при которых этот выход имеет низкий уровень. Для связи с периферийным устройством, способного работать на более высокой скорости, длительность верхнего уровня (tHILO) может быть уменьшена в соответствии с требованиями по минимальной длительности высокого уровня SCK.

При установке единичного значения на выполнение процедуры затрачивается приблизительно 22.5 цикла на каждый бит данных, а на генерацию высокого уровня SCK – ровно 4 цикла. При тактовой частоте микроконтроллера 10 МГц этим значениям соответствуют длительность высокого уровня SCK 400 нс и общая скорость связи до 444 кбайт/сек.

Длительность нахождения в низком состоянии определяется требованием периферийного устройства к параметру “Длительность подготовки данных на MISO после падающего фронта SCK“ (задержка на вывод данных подчиненным устройством) (tVALID). Если значение этой задержки установить равное 1, то в процедуре перед защелкиванием данных на MISO будет выполнено три такта задержки. По аналогии тактовой частоте 10 МГц соответствует период 300 нс, который может быть изменен для увеличения длительности задержки.



<== предыдущая лекция | следующая лекция ==>
Программный интерфейс SPI | Последовательные шины на базе I2C


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.