СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №5/2016
ИНЖЕНЕРНЫЕ РЕШЕНИЯ 48 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 5 2016 С ОПРЯЖЕНИЕ ПОТЕНЦИОМЕТРА С МИКРОКОНТРОЛЛЕРОМ Так как интерфейс управления потен- циометром близок к SPI, решено было подключить микросхему к выводам SSP (синхронного последовательного пор- та) микроконтроллера (см. табл. 4). Контроллер интерфейса SSP был настроен так, как показано в листинге 1. Кадр для отправки формировался из двух частей – адреса канала и загружа- емого значения, например: data[2]=(0xC8 |0x0100); В данном случае 0xC8 является зна- чением для записи в канал, а 0x0100 – адрес второго канала. Для передачи данных достаточно записать кадр в регистр данных при- ёмопередатчика и дождаться сброса флага активности модуля (флаг BSY регистра MSD_SSPx->SR). Пример функ- ции отправки массива из n-элементов показан в листинге 2. В практической разработке авторам статьи понадобилось организовать управление по пяти каналам. Поэтому одной микросхемы было явно недо- статочно. Интерфейс предполагал два варианта подключения нескольких микросхем: параллельно и последова- тельно. Для уменьшения количества задействованных выводов микрокон- троллера было применено последова- тельное подключение двух микросхем 1315ПТ24Т (см. рис. 3). Для обеспечения возможности запи- си в обе микросхемы была немного доработана программа: сигнал CS удер- живается в состоянии логического ноля до тех пор, пока не будут отправлены данные сразу для двух микросхем. При этом управление выводом CS осущест- вляется программой. Новаяфункция отправки данных пока- зана в листинге 3. Массив для отправ- ки формируется следующим образом: в нечётные элементы массива пишутся данные для первоймикросхемыпотен- циометра, а в чётные – для второй. При инициализации для вывода PF12 функция вывода порта SSP не настраи- вается. У ВЕЛИЧЕНИЕ РЕГУЛИРУЕМОГО НАПРЯЖЕНИЯ Как уже упоминалось, напряжение, прикладываемое к плечам потенцио- метров серии 1315ПТ, не должно пре- вышать 5 В, что ограничивает область применения данного потенциоме- тра. Для формирования напряжений 2,5…7,5 В к выходу потенциометра был Листинг 2 void SPI_send (unsigned short* data, unsigned char n) { unsigned char t=0; for (t=0; t<n; t++) { MDR_SSP2->DR=data[t]; while (MDR_SSP2->SR &0x10); } } Листинг 1 void SPI_init (void) { //Настройка портов, к которым подключён потенциометр PF12, PF13, PF15 MDR_RST_CLK->PER_CLOCK |=(1<<29); MDR_PORTF->ANALOG |=0xB000; MDR_PORTF->OE |=0xB000; //Настройка выводов PF12, PF13 и PF15 на режим выводов SPP MDR_PORTF->FUNC |=0xCF000000; MDR_PORTF->PWR |=0xCF000000; //Настройка контроллера интерфейса SSP2 //Разрешение тактирования модуля SSP2 MDR_RST_CLK->PER_CLOCK |=(1<<20); MDR_RST_CLK->SSP_CLOCK |=(1<<25); //Настройка предделителей MDR_RST_CLK->SSP_CLOCK |=0x00F0; MDR_SSP2->CPSR =250; //Настройка режима порта SSP2: интерфейс Motorola SPI, SPH=0, SPO=0, //разрядность слова – 10 бит MDR_SSP2->CR0 =0x0009; //Режим ведущего (Master mode) MDR_SSP2->CR1 =0; //Разрешение работы интерфейса MDR_SSP2->CR1 |=(1<<1); } Кадр содержит адрес, определяю- щий канал, сопротивление которого будет изменено этим кадром, и дан- ных, которые будут записаны в ре- гистр RDAC выбранного канала. Соответствие битов адреса и ка- налов потенциометра показано в таб- лице 3. Таблица 3. Соответствие битов адреса и каналов потенциометра Старший бит адреса (А1) Младший бит адреса (А0) Канал потенциометра Примечания 0 0 1 Присутствует во всех микросхемах серии 1315ПТ 0 1 2 Отсутствует в микросхемах 1315ПТх1Т 1 0 3 Присутствуют только в микросхемах 1315ПТх4Т 1 1 4 Таблица 4. Подключение потенциометра 1315ПТ к выводам микроконтроллера № Вывод потенциометра Вывод микроконтроллера Выполняемая функция 1 SDI SSPx_TXD Передача данных в потенциометр 2 CLK SSPx_CLK Тактовые импульсы 3 CS SSPx_FFS Выбор микросхемы и сигнал записи принятых данных в регистр памяти (переход сигнала из логического ноля в логическую единицу)
RkJQdWJsaXNoZXIy MTQ4NjUy