Что такое интерфейс и для чего он служит? Понятие о программном обеспечении (Software). Понятие об интерфейсе. Типы интерфейсов. Lua нам в помощь

Что такое интерфейс и для чего он служит? Понятие о программном обеспечении (Software). Понятие об интерфейсе. Типы интерфейсов. Lua нам в помощь

21.03.2019

Последовательный интерфейс RS-232

Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи компьютера с терминалом. В настоящее время используется в самых различных применениях.

Интерфейс RS-232-C соединяет два устройства. Линия передачи первого устройства соединяется с линией приема второго и наоборот (полный дуплекс) Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных RS-232 линий для обеспечения функций определения статуса и управления.

Порядок обмена по интерфейсу RS-232C

Наименование

Направление

Описание

(25-контактный

(9-контактный

Carrie Detect (Определение

Receive Data (Принимаемые

Transmit Data (Передаваемые

Data Terminal Ready

(Готовность терминала)

System Ground (Корпус

Data Set Ready (Готовность

Request to Send (Запрос на

отправку)

Clear to Send (Готовность

Ring Indicator (Индикатор)

Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C по сравнению с Centronics являются возможность передачи на значительно большие расстояния и гораздо более простой соединительный кабель. В то же время работать с ним несколько сложнее. Данные в RS-232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону (дуплексный режим).

Компьютер имеет 25-контактный (DB25P) или 9-контактный (DB9P) разъем для подключения RS-232C. Назначение контактов разъема приведено в таблице.

Назначение сигналов следующее.

FG - защитное заземление (экран).

TxD - данные, передаваемые компьютером в последовательном коде (логика отрицательная).

RxD - данные, принимаемые компьютером в последовательном коде (логика отрицательная).

RTS - сигнал запроса передачи. Активен во все время передачи.

CTS - сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.

DSR - готовность данных. Используется для задания режима модема.SG - сигнальное заземление, нулевой провод.

DCD - обнаружение несущей данных (детектирование принимаемого сигнала).DTR - готовность выходных данных.

RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.

Наиболее часто используются трехили четырехпроводная связь (для двунапрвленной передачи). Схема соединения для четырехпроводной линии связи показана на рисунке 1.

Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.

Формат передаваемых данных показан на рисунке 2. Собственно данные (5, 6, 7 или 8 бит) соопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определннные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение - не более 10%). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.

Рис.1. Схема 4-проводной линии связи для RS-232C

Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рис.1.). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю - высокий уровень).

Для подключения произвольного УС к компьютеру через RS-232C обычно используют трехили четырехпроводную линию связи (см. рис. 1.), но можно задействовать и другие сигналы интерфейса.

Рис.2. Формат данных RS-232C

Обмен по RS-232C осуществляется с помощью обращений по специально выделенным для этого портам COM1 (адреса 3F8h...3FFh, прерывание IRQ4), COM2 (адреса

2F8h...2FFh, прерывание IRQ3), COM3 (адреса 3F8h...3EFh, прерывание IRQ10), COM4 (адреса 2E8h...2EFh, прерывание IRQ11). Форматы обращений по этим адресам можно найти в многочисленных описаниях микросхем контроллеров последовательного обмена

UART (Universal Asynchronous Receiver/Transmitter), например, i8250, КР580ВВ51.

Слово интерфейс может иметь множество определений, однако основное определение действует в сфере компьютерной техники. Интерфейс здесь означает средство, которое помогает пользователю взаимодействовать с играми, программами или операционным системами. Это средство делает программы узнаваемыми и облегчает работу с ними. Для примера можно взять интерфейс программы Paint. Если человек умеет с ней работать, то ему под силу будет и работа с иными программами, имеющими подобный интерфейс.

Можно объяснить термин другими словами, как совокупность разных средств, с помощью которых человек управляет вычислительной техникой. Основные задачи интерфейса – это ввод и вывод информации. Помимо этого, он помогает управлять программным обеспечением, обмениваться данными и проводить командные операции. Данные операции проводятся с помощью внешних носителей информации.

Как интерфейс можно характеризовать заднюю панель компьютера. Это обусловлено возможностью подключать к нему разные устройства с помощью входов. Панели управления, которые находятся на стиральных машинах или в автомобилях, также являются интерфейсом.

Само слово «интерфейс» позаимствовано в английском языке. Его буквальный перевод означает взаимодействие между лицами, в таком же значении оно и используется. В современных технологиях, интерфейс – это уникальные системные связи, которые обеспечивают передачу информации между двумя объектами или более. Хотя данное понятие чаще всего используется в компьютерных технологиях, присутствует оно и в других областях науки и техники. К примеру, в инженерной психологии интерфейсом называют коммуникации машин с людьми.

Необходимость интерфейсов

Представим, что сложное оборудование составлено из связей, блоков и других различных узлов. Также оборудование связано и с самим пользователем. Последняя связь должна быть выражена в логической форме. Это система, которая предоставляет информацию, а также характеризует сигналы. Компьютерные интерфейсы логически можно представить себе как системы, созданные на основании математики. То есть, математически, это системы понятий Булевой алгебры. Физически же его можно представить как совокупность чипов, электронных деталей, проводков и других частей, которые между собой обмениваются импульсами тока.

С помощью интерфейса компьютер вообще может работать. Именно он обеспечивает связь процессора и оперативной памяти, устройствами печати, а также с видеокартой. Помимо этого с помощью интерфейса можно работать в Интернете, связываться с иными устройствами и с иными пользователями.

Проще сказать, без данного средства работа вычислительной техники не может быть выполнена. В компьютерных технологиях сегодня применяются разные типы интерфейсов, которые нужны, чтобы работать программисту, необходимы они и для обычных пользователей ПК.

Интерфейс программы

Интерфейсом программы именуют разные части, с использованием которых может производиться управление этой программой. В программе интерфейс выглядит как окошки, кнопочки, которые используются для того, чтобы программа могла совершить действия, которых вы от неё ждете.

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

Графический интерфейс

Графический интерфейс – это пользовательский интерфейс, в котором используются изображения вместо цифр. Изображения в нем заменяют также и буквы, это кнопки или иконки. Яркий пример интерфейса графического типа – это рабочий стол Виндоуз. Работа в этом интерфейсе заключается в том, чтобы обеспечивать работу программы с помощью кликов.

По сравнению с тем, что происходит ввод и вывод через командную строку, графический интерфейс простой и понятный. Не так часто для того, чтобы пользоваться графическим интерфейсом, необходимы специальные знания компьютера. Графический интерфейс часто интуитивно понятен, еще его называют дружелюбным.

Графический интерфейс имеет и свои недостатки, главный из которых – это большой объем памяти, который необходим для того, чтобы в графическом виде представлять себе программу. Но современные программы этот недостаток преодолели, поскольку память современных компьютеров увеличивается с каждым новым выпуском. Но вместе с этим усложняется и сам интерфейс, теперь он занимает больше памяти, но становиться удобнее и эффективнее.

Что касается игр, то в них также существует графический интерфейс, чтобы пользователь мог взаимодействовать с компьютером во время игры. Он обеспечивает также и общение пользователей друг с другом. Почти во всех играх интерфейс сложный, и он позволяет управлять игрой с помощью кнопок и мышкой.

Действия игровых персонажей обеспечиваются действиями пользователя, и способы реализации их стандартны для всех практически игр. Часто пользователю предоставляется возможность поменять настройки интерфейса для того, чтобы ему удобнее было играть. Сейчас появились и новые возможности управления, так, при создании сенсорных экранов, управлять игрой можно с помощью прикосновения пальцев руки.

Виды интерфейса

Помимо того, что интерфейс существует игровой, программный и графический, бывает также интерфейс следующих видов:

  • внешний;
  • внутренний.

Внутренний интерфейс представляет собой методы и свойства, к ним доступ осуществляется посредством иных средств данного объекта. Еще их именуют приватными.

Внешним интерфейсом именуют методы и свойства, которые снаружи доступны пользователям. Такие методы называют публичными. Данные виды можно рассмотреть наглядно, взяв за пример кофеварку. Внутри кофеварки спрятан кипятильник, элемент, который нагревает, тепловой предохранитель и так далее. Все это можно назвать внутренним интерфейсом. Детали, которые его составляют, обеспечивают работоспособность прибора. Для этого они взаимодействуют друг с другом. К примеру, для работы кофеварки её нагревательный элемент подключен к кипятильнику.

Ко внутреннему интерфейсу кофеварки подобраться тяжело, он закрыт от пользователя пластмассовым корпусом. Детали прибора скрыты, и пользователю доступен только внешний интерфейс. Когда приобретена кофеварка, то пользователю доступен только внешний интерфейс. Знать о внутреннем интерфейсе совсем не обязательно, для пользования прибором необходим только внешний его интерфейс.

Такие же примеры касаются и остальных бытовых приборов, к примеру, стиральная машинка, телевизор и прочее. Существует внутренний интерфейс и у компьютера, он не доступен пользователю, однако при поломке прибора, приходится взаимодействовать именно с ним.

Таким образом, интерфейс характеризуют как средства, с помощью которых удается взаимодействовать с вычислительными машинами, управлять бытовыми приборами и так далее. Он бывает внешним и внутренним. Пользователю доступен только внешний интерфейс приборов и машин.

Взаимодействие человека с вычислительной машиной - важнейшее звено процессов при решении прикладных задач различного характера. Итак, что такое интерфейс?

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

Также таким термином часто называют программные и технические средства, образующие связь устройств с узлами ВС. Распространение интерфейса приходится на все физические и логические средства, с помощью которых вычислительная система взаимодействует с внешней средой, к примеру, с операционной системой, пользователем и т.д.

Рассмотрев, что такое интерфейс, следует выделить его виды с присущими им особенностями. Так, интерфейсы различаются по структуре связей, способу подключения и методу передачи данных, принципам управления и синхронизации.

Виды интерфейсов

Внутримашинный интерфейс представляет собой систему связи и средств соединения блоков и узлов ЭВМ друг с другом. На деле он объединяет в себе электрические линии связи (провода), схему сопряжения с составляющими компьютера, а также протоколы (алгоритмы) передачи сигналов. Машинный интерфейс, в свою очередь, подразделяется на односвязный и многосвязный. В первом случае, связь всех блоков ПК друг с другом осуществляется с помощью локальных проводов, а во втором - с помощью общей или

Внешний интерфейс - это система связи компьютера с или с остальными ЭВМ. Они также подразделяются на несколько типов: интерфейс периферийных устройств и сетевой интерфейс. Первый подключается при помощи шин ввода-вывода, а второй - в рамках одноранговой сети или сети типа клиент-сервер.

Интерфейс «человек-машина». По-другому его называют пользовательским. Что такое интерфейс «человек-компьютер»? Это способ, с помощью которого выполняется какая-либо задача, то есть действия, которые вы совершаете, и то, что получается в результате. Такой интерфейс ориентирован, прежде всего, на человека, то есть он отвечает его потребностям и учитывает слабости.

Поскольку пользовательский интерфейс более всего интересен человеку, то его также классифицируют на несколько подвидов: командный, SILK и WIMP.

При командном интерфейсе взаимодействие человека с ПК осуществляется путем подачи определенных команд, которые она выполняет, для того чтобы дать пользователю необходимый результат. Его основой может быть пакетная технология или технология командной строки.

Последовательный интерфейс обеспечивает передачу информации (последовательности битов) по одной линии.

Что такое интерфейс SILK? Это вид который больше всего близок к обычному человеческому общению, то есть к обычному разговору. Так, компьютер анализирует речь человека и находит в ней нужные ключевые фразы, на основе которых выполняет определенные команды, выдавая человеку результат также в понятной для него форме. Такой вид интерфейса сопряжен со значительными финансовыми затратами, поэтому используется на данном этапе только в военных целях.

Характерной чертой интерфейса WIMP является то, что ведение диалога пользователя с компьютером осуществляется при помощи окон, курсора, графических образов и прочих элементов. К нему относят стандартный интерфейс ОС семейства Windows.

  • DIY или Сделай сам
  • О пользе управления шторой через rs-485

    Некоторое время назад оказался у меня электрокарниз для раздвижных штор AKKO AM72E. Не то чтобы мне лень двигать руками шторы, но прогресс идет вперед и я пытаюсь семенить следом. Электромотор может управляться и по сухим контактам и с радиопульта. Но кому нужна эта банальность, если мотор поддерживает интерфейс RS485, что позволяет не только отдавать команды, но и считывать состояние шторы. Да и в общем конечная цель управлять карнизом со своего телефона, а почему бы и нет.

    Самым простым было бы найти переходник USB-RS485 и начать тестирование. Но такого переходника поблизости не оказалось. Если заказывать, пришлось бы какое-то время ждать. Быстрее сделать. У меня есть несколько переходников USB-UART на всех популярных микросхемах, но пользуюсь я в основном парой переходников на CP2103. Выглядят они примерно так:

    Примерно, потому что установлены разъёмы и выведены дополнительные сигналы. Всего-то нужно сделать переходник UART-RS485. В магазине были куплены несколько MAX485. Возможно, было бы проще, использовать что-то вроде MAX13487 c автоматическим переключением передачи и приёма. Но в местном магазине я таких не нашёл (возможно просто плохо искал). Честно говоря, мне и за MAX485 ехать в магазин было лень. Поначалу было желание сделать приём на ОУ, а передатчик на транзисторах - это же так просто протестировать работает электрокарниз AM72E по этому протоколу, или нет.

    Назад в «Современную электронику»

    Дело за схемой. За основу я взял схему из журнала «Современная электроника» №1 за 2007г. Выглядело всё радужно. В статье говорится, что «Выводы GPIO микроконтроллера CP2103 по-умолчанию запрограммированы как управляющие выходы и соответствуют их использованию в схеме адаптера USB-RS485». Оказалось, что это не мой случай. Переходники у меня давно. Редкая вещь, попавшая мне в руки, не подвергается «улучшению». Прошивки в переходниках небыли исключением и даже если в девичестве могли понукать RS485, то теперь эти навыки были напрочь отшиблены.

    Вечер переставал быть томным. Нужно было что-то, что переключит MAX485 с передачи на приём. Кстати, на передачу переходник отлично работал. В общем-то, и этого могло оказаться достаточно т. к. читать с AM72E особенно нечего.

    Вариантов было много. MAX485 на плате установлен на панельку, и без труда может быть заменён на микросхему, с автопереключением приём-передача. Но это вообще не вариант т. к. надо ехать в магазин. Ещё у меня есть переходники на FT232, а эти микросхемы могут переключать MAX485. Слишком просто. И у меня уже зрел план, как мне поразвлечься с AM72E и для FT232 места в нём не было. Нужно дополнить схему так, чтобы при появлении стартового бита на TX UART"а, MAX485 переключилась с приёма на передачу и находилась в этом состоянии на время передачи всего байта, а затем снова переключилась на приём. Обратившись к накопленному до меня опыту через google, я выяснил, что решается эта проблема при помощи таймера NE555. Действительно, чего мудрить. Но ничего из таймеров семейства NE555 у меня не было. Дальше вы знаете: магазин - лень.

    Одновибратор для лентяя… не нужен

    Сделать одновибратор можно миллионом способов. Я даже хотел по-быстрому переделать плату и поставить STM8S003 для этих целей. На первый взгляд это может выглядеть как из пушки по воробьям, но если вы сравните схемы на NE555 и STM8S003, то схема на МК окажется даже проще т. к. из внешних элементов нужен только один конденсатор. Программа - буквально несколько строчек на ассемблере. С ценой тоже всё неплохо - стоит дешевле, чем MAX485 в нашем магазине. С аппаратным таймером (на NE555) есть одна проблема. Он отлично будет работать на одной скорости. Как только вам будет нужно изменить скорость обмена, вам придётся перестраивать таймер. Мне частенько попадаются устройства, которые при старте выдают в UART отладочную информацию на одной скорости, а после загрузки переходят в режим обмена на другой. Да и мало ли почему вам может потребоваться изменить скорость! Каждый раз лезть при этом в схему не захочется. Вот тут-то таймер на STM8 может помочь - программу можно написать так, чтобы нужные тайминги выставлялись по-сигналу и не требовали вмешательства. Это не очень сложно. Я вообще не понимаю, почему мне нужно что-то знать о скорости обмена по UART. Ещё много лет назад мне попадались устройства UART, которые автоматически определяли скорость, на которой подключилось другое устройство и на лету на неё настраивались.

    Я знаю, что вам хотелось бы увидеть схему без STM8S003. Ладно, пойду вам на встречу. И без этого я сумею из простого теста сделать что-то интересное. В схеме вообще не будет одновибратора:

    Что и как здесь работает, объяснять не буду - всё стандартно и очевидно. Скажу только, что перемычки возле резисторов R5 и R7 я не ставил, т. е. схему можно сделать проще, убрав все перемычки и эти два резистора. Максимум, что вам может понадобится, это R5. Встречаются устройства, которые при ответе, просто отпускают линию при передаче последних битов, если это единицы. Тогда, без R5, последний байт может искажаться. В нашем случае это не принципиально т.к. последним передаётся старший байт контрольной суммы ответа. Схема будет работать и без R1, но нам он понадобится позже.

    У меня это выглядит так:

    Не расстраивайтесь, если не видите всех элементов, которые есть на схеме. Я вначале сделал плату по схеме из статьи, а затем экспериментировал со схемой переключения приём-передача. Транзистор (DTC143 в SOT23, сразу с базовым резистором) и SMD резисторы напаяны прямо на дорожки с обратной стороны платы.

    Если вы поставите MAX13487, то от схемы вообще ничего не останется. Ещё лучше - возьмите стандартный переходник USB-RS485. Но тогда вы будете привязаны проводами к шторам. Глупое зрелище. Стал бы я заморачиваться с переходником UART-RS485, если бы у меня не было коварного плана?

    Lua нам в помощь

    С железом на этом закончим. Надо писать программу. Программа только для теста. Ничего сложного. Нужно команды для AM72E отправить в последовательный порт. Ну, ещё можно почитать, что он там нам отвечает. Для опытов возьмём компьютер с Windows. Надо выбрать язык, на котором будем писать. Первое, что мне пришло на ум - powershell. Не, не буду я вас мучить powershell. Тогда python. Всем хорош питон - код на нём переносим на любую операционку, понятен, можно сразу прикрутить графический интерфейс, а для Windows ещё и упаковать как экзешник так, что мало кто поймёт, что программа на питоне. И всё равно не python. Примеров работы с последовательным портом на питоне и без этого много - желающие могут найти самостоятельно. Программу напишем на Lua. Да уж, странный выбор. Вообще-то выбора у меня большого и не было. Либо C, либо Lua. Почему - об этом позже. Можно и на C. Но нет, не в этот раз. Просто потому, что на C я пишу код так, что через пару месяцев сам не могу его понять, не приняв веществ расширяющих сознание. Шучу. Так я пишу на любом языке.

    Lua нужно установить. Берём отсюда: https://code.google.com/p/luaforwindows/downloads/list . Устанавливается практически в один клик. В комплекте достаточное количество модулей. Есть всё необходимое. В том числе и для графического интерфейса - iup. Если решите, что он вам понадобится - используйте на здоровье. Но мы обойдёмся командной строкой. Нам только для тестирования. И нам понадобится модуль, для работы с последовательным портом. Если бы мы решили проводить тестирование под Linux или Mac OS, то с последовательным портом можно было бы работать без дополнительного модуля - просто как с файлом. Для доступа к UART под Windows нам нужен модуль luars232. В сборке он уже есть. Дополнительно ничего искать и устанавливать не надо.

    Файл с программой - curtain.lua - всего несколько десятков строчек. При желании можно ещё сократить. Как пользоваться, объяснять не буду. Покажу картинку:

    Сделаю только одно пояснение. Это и так очевидно, но если строка начинается с символа «>», то эта строка введена с клавиатуры. Если этого символа в начале строки нет, то строка получена от программы.

    Я и не рассчитывал, что всем всё будет понятно. Командная строка, как и провода, нам не понадобятся. Сейчас важно только то, что RS485 на AM72E прекрасно работает. Нет, у меня был момент, когда всё собрав и проверив, я начал отправлять команды в AM72E, а он никак не реагировал. Мысль о том, что RS485 всё-таки не работает, промелькнула у меня в голове. Но потом я посмотрел под стол, туда, где у меня сетевой удлинитель, и увидел, что AM72E надо бы ещё подключить к сети. После этого, при отправке команды «Close», я услышал весёлое жужжание двигателя - всё работает.

    Чуток передохну и перейду к реализации своего «коварного плана» - научу свой электрокарниз принимать команды через WiFi. О чем отчитаюсь в следующей статье.

    В течение передачи по интерфейсу SPI данные одновременно передаются и принимаются по двум линиям синхронно с синхроимпульсами сдвига. Полярность и фаза последовательных синхроимпульсов сдвига - это основной компонент, определяющий формат передачи данных по интерфейсу SPI. Полярность последовательных синхроимпульсов соответствует свободному логическому состоянию линии синхронизации и поэтому также определяет, какой фронт синхроимпульса является активным ребром. Для того, чтобы свободное логическое состояние линии синхронизации было определено как низкое логическое состояние (активным фронтом синхроимпульса является нарастающий фронт), бит выбора полярности синхроимпульсов (CKPOL; SPICF.0) должен быть сброшен в 0, а установка этого бита в единицу (CKPOL = 1) определит свободное состояние синхроимпульса как высокое логическое состояние, т.е. активным фронтом синхроимпульса будет являться спадающий фронт. Фаза последовательных синхроимпульсов определяет, какой фронт используется для выборки данных последовательным регистром сдвига. Бит выбора фазы синхроимпульсов (CKPHA; SPICF.1) определяет по активному или неактивному фронту будет осуществляться захват данных. Когда CKPHA установлен в 1, то данные выбираются по неактивному фронту синхроимпульса (возвращение синхроимпульса в свободное состояние). Когда CKPHA сброшен в 0, то данные выбираются по активному фронту синхроимпульсов (переход синхроимпульса в активное состояние). Совместно биты CKPOL и CKPHA позволяют определить четыре возможных формата передачи данных по SPI интерфейсу. Эти форматы приведены на рисунке 43.

    Каждый раз, когда активный фронт используется для выбора данных (CKPHA = 0), цикл передачи должен быть начат с установки сигнала SSEL. Поэтому между передачами сигнал SSEL должен переводиться в неактивное состояние. Наоборот, когда для выборки используется неактивный фронт (CKPHA = 1), сигнал SSEL может остаться низким между пакетами данных, при этом начало передачи определяется первым активным фронтом синхроимпульса.

    Рисунок 43. Форматы передачи данных по SPI интерфейсу (определяется битами CKPOL и CKPHA)

    Длительность SPI посылки

    Чтобы гибко подстраиваться под различную длительность посылки данных, в регистре настройки модуля SPI имеется бит выбора длительности посылки (CHR). Бит CHR позволяет выбирать длительность посылки 8 или 16 бит. При загрузке 8- битных данных в буферный регистр SPIB, байт, предназначенный для передачи, должен быть помещен в младший байт передаваемого слова. При приеме 8- битных данных слово также находится в младшем байте регистра SPIB. В режиме обмена 8- битными данными старший байт буферного регистра SPIB не определен.

    Скорости обмена данными по SPI интерфейсу

    При работе в режиме ведомого, синхроимпульсы формирует внешнее ведущее устройство SPI интерфейса. Для правильной работы в режиме ведомого, частота синхроимпульсов не должна превышать частоту системных синхроимпульсов, деленную на 8.

    При работе в режиме ведущего, микроконтроллер сам формирует синхроимпульсы SPI интерфейса. Скорость обмена данными определяется коэффициентом деления системных синхроимпульсов, который задается значением регистра коэффициента деления для SPI интерфейса (SPICK). Модуль SPI поддерживает 256 различных коэффициентов деления. Частота синхроимпульсов SPICK определяется следующей формулой:

    где коэффициент деления частоты системных синхроимпульсов = (SPICK.7:0) + 1

    Так как скорость обмена данными по SPI интерфейсу зависит от частоты системных синхроимпульсов, то изменение частоты этих синхроимпульсов, например при активизации одного из режимов управления питанием, изменит скорость обмена данными по SPI интерфейсу. Попытка же активизировать режим управления питанием при передачи данных по SPI интерфейсу (STBY = 1) игнорируются.

    Обратите внимание, однако, что в режиме управления питанием (PMME = 1) запись в регистр SPIB в режиме ведущего и установка активного сигнала на выводе SSEL в режиме ведомого квалифицируются как активизация режима переключения источника (SWB = 1). В режиме останова синхронизация модуля SPI приостанавливается.



    © 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows