Знакомство с Intel Galileo, подключение, софт, схема, пробный проект
(управление светодиодом)


Цели лабораторной работы:

1.     Познакомиться с платформой Intel Galileo

2.     Познакомиться со структурой и основными командами программного кода (скетча) для Intel Galileo на примере программы "Мигающий светодиод"

Проект 1. «Железнодорожный светофор»

Задача

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

Оборудование:

Проект 2. «Автомобильный светофор (3 секции)»

Задача

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

Оборудование:

 



Описание
Для начала работы с устройством необходимо просто подать на него питание от AC-DC адаптера на 5В, после чего подключить к компьютеру через micro-USB кабель. 

Galileo совместим с платами расширения для Arduino UNO, а также с 3.3В и 5В-шилдами, которые спроектированы с учетом распиновки, принятой в Arduino Uno Revision 3, включая следующее:

Подробнее о возможностях архитектуры Intel

Использование процессора Intel, а также аппаратные возможности системы на кристалле Clanton SoC позволяют создавать полнофункциональные решения, как сообществу производителей, так и студентам. Эта система также будет полезна профессиональным разработчикам, которые заинтересованы в простой и экономически выгодной платформе, в отличие от более сложных решений на базе процессоров Intel® Atom и Intel® Core.

Питание

Galileo может быть запитан через AC/DC адаптер со штекером 2,1мм (центральный контакт - положительный), который вставляется в соответствующее гнездо питания на плате. Рекомендуется применять адаптер с выходным напряжением 5В и выходным током до 3А.

Электрические характеристики

Напряжение питания (рекомендуемое)

Напряжение питания (предельное)

Цифровые входы/выходы

14 (из них 6 могут использоваться в качестве ШИМ-выходов)

Аналоговые входы

6

Суммарный выходной ток всех выводов 

80 мА

Максимальный выходной ток вывода 3.3V    

800 мА

Максимальный выходной ток вывода 5V 

800 мА

Связь

В Galileo есть несколько средств, позволяющих ему взаимодействовать с компьютером, еще одним Ардуино или другими микроконтроллерами. В частности, приемопередатчик UART TTL (с уровнями напряжения 5В / 3,3В) позволяет осуществлять последовательную связь посредством цифровых выводов 0 (RX) и 1 (TX). Помимо этого, второй UART обеспечивает связь по интерфейсу RS-232 через "мини-джек" диаметром 3,5мм. USB-порты устройства позволяют обмениваться данными через USB по последовательному (CDC) интерфейсу, что позволяет Galileo взаимодействовать с различными приложениями на вашем компьютере (такими, как Serial Monitor или др.). Кроме того, будучи подключенным к компьютеру, Galileo может работать в качестве USB-мыши или клавиатуры. Более подробную информацию об этом см. в справке по библиотекам Mouse и Keyborad. Второй USB-порт (USB Host) может работать в качестве хоста и поддерживает подключение внешних периферийных устройств, таких как мыши, клавиатуры или смартфоны. Более подробную информацию об этом см. в справке по библиотеке USBHost.

Galileo - это первая модель Ардуино с разъемом типа mini-PCI Express (mPCIe), наличие которого позволяет подключать к плате полноразмерные или полуразмерные (через переходник) модули mPCIe, а также предоставляет пользователю дополнительный порт USB Host. К устройству можно подключать любые стандартные mPCIe-модули, например, модули, применяющиеся для работы с WiFi, Bluetooth или сотовой связью. Разъем mPCIe в Galileo изначально спроектирован так, чтобы быть совместимым с библиотекой WiFi 

Для работы с проводными сетями Ethernet в Galileo также предусмотрен разъем RJ45. Следует помнить, что при подключении к сети необходимо указать IP-адрес и MAC-адрес устройства. Поддержку сетевого интерфейса обеспечивает встроенный аппаратный Ethernet-контроллер. В отличие от существующих шилдов Ардуино, для работы этого контроллера не требуется использования SPI-интерфейса.

Для работы со встроенным microSD-кардридером предназначена специальная библиотека SD . Взаимодействие между Galileo и SD-картой памяти обеспечивается интегрированным SD-контроллером, который в отличие от других моделей Ардуино также не требует использования интерфейса SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной TWI/I2C; для получения более подробной информации см. документацию. Для работы с интерфейсом SPI используйте библиотеку SPI .

Программирование

Загрузить свою программу в Galileo можно прямо из среды разработки (IDE) Ардуино. Для этого необходимо подключить устройство к компьютеру через USB-порт, обозначенный на плате как "USB Client" (расположен ближе к разъему Ethernet). Перед тем, как загружать свой скетч в устройство, в Arduino IDE необходимо выбрать целевую плату - "Intel Galileo". Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Galileo спроектирован таким образом, чтобы его сброс осуществлялся программно прямо с подключенного компьютера.

После включения или перезагрузки платы возможны два различных сценария:

Загружать свои скетчи через среду разработки Ардуино можно и во время выполнения программы, при этом нажатие кнопки сброса на плате не требуется. В этом случае устройство прекращает выполнение текущего скетча; IDE дожидается окончания процесса прошивки, после чего дает устройству команду на выполнение новой загруженной программы. 

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

Особенности работы выводов в режиме OUTPUT

Когда выводы, сконфигурированные функцией pinMode(), работают в качестве выходов, то они находятся в так называемом низкоимпедансном состоянии. В Galileo работу пина в качестве выхода обеспечивает специальная микросхема-расширитель портов с интерфейсом I2C от Cypress (datasheet). В Galileo настроить в качестве выходов (OUTPUT) можно не только цифровые пины с 0 по 13, но и аналоговые входы с A0 по A5.

Если выводы упомянутого расширителя настроены на выход (OUTPUT), то максимальный выходной ток каждого из них (положительный ток) ограничен 10 мА, а максимальный входной ток, поступающий от внешних устройств (отрицательный ток), не должен превышать 25 мА. Следует иметь ввиду, что помимо лимитов на максимальный ток каждого пина, существуют еще суммарные лимиты токов для всех выводов, работающих в режиме OUTPUT. Так, суммарный выходной ток всех пинов не должен превышать 80 мА, а суммарный входной ток - 200 мА. Аппаратные ограничения различных пинов сведены в следующую таблицу:

 

Выходной ток (мА)  

 Входной ток (мА)

Ограничения каждого вывода

10

25

Цифровые выводы 3,5,9,10,12,13 - суммарный ток

40

100

Цифровые выводы 0,1,2,4,6,7,8,11 и аналоговые входы A0-A5 - суммарный ток     

40

100

Цифровые выводы 0-13 и аналоговые входы A0-A5 - суммарный ток

80

200

Настройка джамперов Galileo

На плате Galileo предусмотрены три джампера, предназначенные для тонкой настройки устройства. Для того, чтобы Galileo был совместим как 3,3В-, так и с 5В-платами расширения, его внешнее рабочее напряжение может изменяться джампером IOREF. Когда джампер установлен в положение 5V, Galileo будет совместим с 5В-шилдами, и на выводе IOREF будет присутствовать напряжение 5В. Когда джампер установлен в положение 3,3V, Galileo будет совместим с 3,3В-шилдами, и на выводе IOREF будет напряжение 3,3В. От положения джампера IOREF также зависит диапазон допустимых входных напряжений, которые можно подавать на аналоговые входы устройства (входное напряжение не должно превышать выбранное рабочее напряжение). Однако, минимальная величина, различаемая функцией AnalogRead() , не зависит от положения джампера IOREF и всегда остается равной 5В / 1024 значения (по умолчанию 10 бит) или 0,0049В (4,9 мВ).

Внимание: Положение джампера IOREF должно быть таким, чтобы рабочее напряжение Galileo и рабочее напряжение подключенной платы расширения были одинаковыми. Несоблюдение этого условия может привести к повреждению либо устройства, либо платы расширения.

Джампер I2C-адреса (J2). Позволяет предотвратить конфликты адресов, которые могут возникнуть при совпадении I2C-адреса встроенного расширителя портов или микросхемы EEPROM с I2C-адресом любого из внешних устройств, подключенных к Galileo. Этот джампер используется для варьирования I2C-адреса встроенных микросхем. Если он находится в положении 1 (обозначено на плате белым треугольником), то 7-битный адрес расширителя портов будет равен 0100001, а 7-битный адрес микросхемы EEPROM - 1010001. При изменении положения джампера J2, адрес расширителя портов изменится на 0100000, а адрес EEPROM - на 1010000. 

Джампер VIN. В Galileo вывод VIN может использоваться для питания плат расширения либо других внешних устройств от встроенного стабилизатора напряжения на 5В, соединенного с гнездом питания. Если через вывод VIN на плату расширения требуется подавать напряжение больше, чем 5В, то джампер VIN на плате Galileo необходимо разомкнуть, чтобы отключить встроенный источник питания 5В от разъема VIN на плате.

Внимание: если на вывод VIN подано напряжение больше, чем 5В, а джампер VIN не разомкнут, то такая ситуация является аварийной и может привести к повреждению или ненадежной работе устройства.

Автоматический (программный) сброс

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Galileo спроектирован таким образом, чтобы его сброс осуществлялся программно прямо с подключенного компьютера. Для прекращения выполнения программы и перевода Galileo в режим загрузчика используются управляющие сигналы USB CDC-ACM. Эта особенность используется программным обеспечением Ардуино, что позволяет вам загружать свои программы в Galileo непосредственно из среды разработки Arduino простым нажатием одной кнопки.

Лабораторная работа № 1  <   Навигация   >  Лабораторная работа № 3