Внимание! Нижеизложенная статья является авторским переводом с немецкого языка и не может использоваться частично либо полностью без разрешения автора-переводчика. Противоправное копирование статьи будет рассмотрено как сознательное нарушение авторских прав!
Данный набор плат разрабатывался как пособие для желающих попробовать себя в разработке программ и устройств на основе микроконтроллера PIC18F4520 фирмы Microchip. Стоит упомянуть, что основной идеей стало создание простого набора плат, собранного из доступного в продаже набора микросхем, легкого в повторении и дальнейшем усовершенствовании. Мне, как студенту, эта плата помогла в изучении особенностей программирования микроконтроллеров семейства PIC18 и, надеюсь, послужит мне помощником в дипломном проекте.
Проект содержит 5 основных модулей:
- Материнская плата- центральная плата с микроконтроллером, узлом прерываний и разъемами.
- Плата SPI-интерфейса- плата для изучения особенности передачи данных по интерфейсу SPI.
- Плата I²C-интерфейса- плата для изучения особенности передачи данных по интерфейсу I²C.
- Плата связи с ПК- плата для использования возможностей USART Модуля MCU и связи с компьютером.
- LCD-Модуль- стандартный модуль знакосинтезирующего ЖКИ на основе HD44780 или подобном.
Все модули собраны на 2-хстороннем стеклотекстолите с использованием панелек под микросхемы DIP корпуса. Все узлы объединяются при помощи кабельных соединений через штырьковые разъемы. Программирование микроконтроллера можно вести как напрямую, через подготовленный для этого разъем, так и через панель программатора. Сборка требует некоторого опыта в пайке компонентов SMD.
Материнская плата
Материнская плата содержит 33 порта ввода-вывода . Порт В(выводы 33-40) могут быть программно подключены через подтягивающие сопротивления на + питания, таким образом формируется их высокое состояние в случае подключения в качестве входов. Выводы 6-7 подключены к внешнему кварцу 20МГц. Значение конденсаторов С5-С6 зависит от конкретного кварца, рекомендуемое значение лежит в районе 15-25пФ. На практике я установил конденсаторы с разным значением емкости для гарантирования старта осциллятора(Первое время упорно не хотел запускаться). Однозначно рекомендуется ознакомиться с документацией на ваш конкретный кварц. В крайнем случае можно запуститься с внутренней тактовой цепочки микроконтроллера. На порт Е пин 2, для вывода звука, есть возможность подключить «пищалку». Отдельно реализована возможность использования 3 внешних прерываний int1-int3. На плате установлено 16 стандартных светодиодов диаметром 5 мм. для индикации состояний портов и создания простейших световых эффектов. Для изучения основ управления по ИК установлен ИК-приемник TSOP 17-36, хотя подойдут и другие. Отдельно стоит сказать про обвязку R1, D1-D2, C4 , R5, R8, R10. Данное решение необходимо для внутрисхемного программирования через разъем ICSP. Питание осуществляется от стабилизированного источника питания 12В. На практике я взял компьютерный блок питания АТ.
Плата SPI- интерфейса
Микроконтроллер содержит модуль синхронного последовательного интерфейса MCCP и может работать в 2-х программно предустановленных режимах SPI-/I²C для обмена данными с периферией в полудуплексном режиме.
Проект содержит возможность подключения платы интерфейса SPI. В этом режиме необходимо программно настроить соответствующим образом контакты RC3-RC5 микроконтроллера, настроить модуль для работы в режиме SPI и соединить центральную плату с платой модуля SPI через разъем SPI-Input. Кроме того, необходим ещё один вывод микроконтроллера, настроенный на выход для формирования сигнала CS(Chip Select), необходимого микросхемам периферии. Модуль SPI содержит две микросхемы расширения по 16 бит каждая, работающих как на выход, так и на вход. Обе микросхемы включены фактично параллельно, поэтому, выбор микросхемы , для которой предназначены данные, производится адресно(А0-А2). Особенности адресации данных микросхем детально описаны в даташите. Микросхема IC2 может быть напрямую подключена к преобразователю бинарного кода в децимальный с дальнейшим выводом на 4-хзначный дисплей, сформированный из 2-х двузначных светодиодных индикаторов с общим катодом.
Микросхема IC1 может быть использована для управления двумя драйверами 12 вольтовых шаговых двигателей в шаговом и полушаговом режимах, реализованных программно. Кроме того, микросхема может быть использована для считывания данных с различных клавиатур, переключателей и т.д.
Плата I²C-интерфейса
В случае необходимости можно настроить модуль MCCP в режиме I²C и подключить соответствующий модуль через разъем I²C-Input к соответствующим разъемам на центральной плате. Для этого необходимы контакты RC3, RC4 программно настроенные для передачи такта и приема-передачи данных от периферийных микросхем. Модульная плата I²C содержит 2 8-битных драйвера-преобразователя последовательного интерфейса в параллельный, один из которых подключен к 8 светодиодам размера 5мм через токоограничительные сопротивления. Возможно подключение к микросхемам памяти ЕЕПРОМ, часам реального времени, сенсору температуры и АЦП. Выбор соответствующего модуля производится адресно. Особенности адресации каждой из микросхем детально описаны в даташитах. Частично, адресация реализована аппаратно через подключение выводов микросхем (А0-А3). Аппаратная реализация адресов описана на рис.4.
Плата связи с ПК
Данный модуль может быть использован для обмена данными через модуль USART микроконтроллера. Для этого необходимо настроить микроконтроллер и соответствующие выводы RC6-RC7 соединить с разъемом JP16. Питание микросхем производится от центральной платы а не порта USB компьютера. Светодиоды 19-20 сигнализируют о передаче , приеме данных. Микросхема FT232RL крепится поверхностным монтажом на плату. Драйвера для Win7x64 установились без проблем. Для ХР проблем быть тоже не должно. Переключатели 17-18 позволяют выбрать между микросхемами COM и USB порта.
Отдельно реализована клавиатура размером 4х4 кнопки для реализации всевозможных циферблатов.(По сути, оставалось место на плате- почему не использовать?!:))
LCD-Модуль
Для реализации возможности вывода на экран символов был использован индикатор PVC200403P фирмы PICVUE. Это индикатор совместимый со стандартом HD44780 с подсветкой желтого цвета размером 20 знаков- 4 строки, хотя, можно использовать и другой. Данный дисплей содержит 8 битную шину данных для приема-передачи, 3 битную шину управления для формирования сигналов enable, register-select, read/write. Дополнительно необходимо выделить питание платы и питание подсветки. Подсветка и сам дисплей питаются от источника 5В. Подсветку нельзя подключать напрямую к портам микроконтроллера. Ток потребления подсветки превышает допустимый ток нагрузки микроконтроллера. На практике я реализовал подключение через 4 битный режим передачи данных и сэкономил на входе read/write, при этом потеряв возможность опроса «флага занятости» дисплея.
Программирование по ICSP
ICSP Модуль микроконтроллера позволяет программировать микросхему внутрисхемно, без мучений с панельками и пайкой. Для этого на плате был выведен соответствующий разъем. На практике прошивку микроконтроллера я проводил через программатор GQ-4X со специально изготовленным переходником(Рис.7).
Печатная плата
В целях экономии все пять плат выполнены на заготовке размером А4 из двустороннего стеклотекстолита. Дорожки разведены в Eagle с настройками и правилами для моей фрезеровочной машины(Фрезеровало сутки!!!). Микросхемы установлены в панельки для быстрой замены(надеюсь вам не понадобится), кроме микросхем поверхностного монтажа. Микросхема стабилизатора 7805 припаяна «за хвост» через термопроводящую прокладку к плате(Пока этого хватало для охлаждения).
Плата после фрезеровки
Post scriptum
Практическое изучение основ устройства и программирования микроконтроллеров практически невозможно без использования отладочных плат, которые не всегда по карману студентам, школьникам или просто любителям электроники. Я надеюсь, эта средство разработки, изготовленное своими руками поможет вам овладеть основами программирования Pic’ов или послужит основой для проектирования собственной платы.
Контакты
Ваши пожелания и/или предложения отправляйте по адресу maiierok@t-online.de. Также могу помочь исходниками к некоторым примерам(смотри видео-примеры) использования вышеизложенной платы.
Видео-примеры применения
- Видео-симуляции «Часы реального времени» Simulation im Proteus
- Видео2 «Опыт #1 Светодиоды и пищалка» LED&Buzzer TEST#1
- Видео3 «Вывод текста на ЖКИ» Mainboard + HD44780
- Видео4 «Подключение к PC через USB» Mainboard+ Comm-Board+ HD44780
Ссылки на тех-документацию
- PIC18 Datasheet Datei:Pic18f2420-2520-4420-4520.pdf
- A200_ua7805 Datei:A200 ua7805.pdf
- PCF8583 Datei:Clock and Calendar.pdf
- PCF8574 Datei:PCF8574.pdf
- I²C_ Temperature Sensor Datei:Thermo I²C.pdf
- Mcp23s17 SPI Expander Datei:Mcp23s17.pdf
- HD44780 Display Datasheet
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
Материнская платаU1
МК PIC 8-битPIC18F45201
IC1
Линейный регуляторLM78051
7805TVIR1
ИК-сенсорTSOP1736TB11
D1, D2
Выпрямительный диод1N41482
LED1-LED16
Светодиод16
ЗелёныеC1
Электролитический конденсатор?1
C2, C8
Электролитический конденсатор470 мкФ2
C3, C7
Конденсатор0.1 мкФ2
C4
Электролитический конденсатор10 мкФ1
C5, C6
Конденсатор15-25 пФ2
C9
Электролитический конденсатор?1
C10
Конденсатор?1
R1, R5, R8, R10
Резистор10 кОм4
R2-R4, R6, R7, R9, R11-R19, R21
Резистор330 Ом16
R20, R22, R23
Резистор270 Ом3
R69-R71
Резистор4.7 кОм3
Q1
Кварц20 МГц1
SG1
ПьезоизлучательF/CM12P1
S1
Переключатель2 контактные группы1
Выключатель питанияS2, INT1-INT3
Кнопказамыкающая4
JP1, JP3
РазъёмPLS-32
JP2, JP19
РазъёмPLS-22
JP4
РазъёмPLS-61
JP5-JP8
РазъёмPLS-84
JP9, JP11, JP12
РазъёмPLS-13
Плата SPI-интерфейсаIC2, IC3
МикросхемаMCP23S172
IC4-IC7
Микросхема74LS48N4
IC8, IC9
Драйвер электродвигателейL2932
L293DR24-R51
Резистор300 Ом28
R74
Резистор?1
LED17DIG1, LED17DIG2, LED18DIG1, LED18DIG2
7-сегментный LED-индикаторDC56-11GWA4
Общий катодJP13-JP15
РазъёмPLD-163
KEYBOARD_INPUT, SPI_INPUT
РазъёмPLS-82
MOTOR-1, MOTOR2
РазъёмPLS-61
Плата I²C-интерфейсаIC12, IC13
ИС I2C интерфейсаPCF85742
SERIAL TO PARALLELIC14
Часы реального времени (RTC)PCF8583P1
clock & calendarEEPROMIC$1
МикросхемаPCF8582C-2P/031
I2C EEPROMTemperature Sensor
Датчик температурыLM75A1
LM75AD — TEMPERATURE SENSORADU_DAUG$1
МикросхемаPCF8591P1
ANALOD TO DIGITALLED21-28
Светодиод8
R72, R73
Резистор4.7 кОм2
R57-R64
Резистор330 Ом8
R65-R68
Переменный резистор?4
Q2
Кварц32768 Гц1
INT4, INT5, INT?, PTC, OS, OSC, AOUT
РазъёмPLS-17
KEYBOARD
РазъёмPLS-81
I2C-INPUT
РазъёмPLS-41
Плата связи с ПКIC10
МикросхемаFT232RL1
USB UARTIC11G$1
ИС RS-232 интерфейсаMAX2321
LED19, LED20
Светодиод2
C11
Конденсатор?1
C12-C15
Конденсатор100 нФ4
R52, R53
Резистор27 Ом2
R54
Резистор?1
R55, R56
Резистор330 Ом2
X1
РазъёмMINI-USB-32005-3011
Mini-USB на платуX2
РазъёмDRB-9F1
RS-232 на платуJP16
РазъёмPLS-41
UART-интерфейсJP17, JP18
РазъёмPLS-32
TASTATUR1
РазъёмPLS-81
К клавиатуреМодуль клавиатуры
Клавиатураматрица 4×41
РазъёмPLS-81
LCD-Модуль
LCD-дисплейPVC200403P1
HD44780, 20×4Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- Entwicklungsboard.rar (1624 Кб)