СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2013

ИНЖЕНЕРНЫЕ РЕШЕНИЯ 52 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2013 1. Инициализировать МК для работы с тактовым генератором, использую- щим внешний кварцевый резонатор 20,97152 МГц; 2. Инициализировать интерфейс SPI МК, работающего в режиме, анало- гичном SPI в ИС синтезатора; 3. Настроить матрицу соединений МК в соответствии со схемой, приведён- ной на рисунке 1 (СоЭл № 8, 2013, С. 60). При использовании програм- мы Config2, это не вызывает затруд- нений; 4. Вывести в синтезатор частоты кодо- вую последовательность. Это – един- ственный шаг, требующий написа- ние подпрограммы вывода двухбайт- ного кода по интерфейсу SPI, однако, в связи с тем, что этот интерфейс аппаратно интегрирован в МК, такая подпрограмма не является сложной. Итак, запускаем программу Config2 и выбираем МК C8051F330. Вначале выбираем «Peripherals», в появившем- ся меню – «Oscillators» (генераторы), далее – «External Oscillator» (внешний генератор), в появившемся окне выби- раем «Cristal Oscillator» (кварцевый резонатор), «Use External Oscillator as SYSCLK» (использовать внешний генератор как системный); нажимаем радиокнопку «10 MHz < f <= 30 MHz» и в поле «External Oscillator Frequency» вводим нашу частоту «20971520». После этого нажимаем кнопку OK и получа- ем готовый текст программы инициа- лизации генератора: void Oscillator_Init() { int I = 0; OSCXCN = 0x67; for (I = 0; I < 30000; i++); // Wait 1ms for initialization while ((OSCXCN & 0x80) == 0); CLKSEL = 0x01; OSCICN = 0x00; } Снова заходим в меню «Peripherals» и, чтобы отключить Watchdog Timer (WDT), который по умолчанию включён, выбираем «PCA» (програм- мируемый массив счётчиков, в кото- ром расположен WDT), далее – «Module2/WDT» и снимаем галочку в окне «Enable Watchdog Timer». Пос- ле этого нажимаем OK и получаем готовый текст программы отклю- чения WDT: void PCA_Init() { PCA0MD &= ~0x40; PCA0MD = 0x00; } Ещё раз заходим в меню «Peripherals» и, чтобы инициализировать интерфейс SPI, выбираем «SPI». В этом окне выби- раем «Operate inmaster mode» (работать в ведущем режиме), «Data centered on First Edge of SCK» (данные центрировать по первому фронту импульса SCK), «SCK Line High in Idle State» (линия SCK нахо- дится в высоком состоянии при отсут- ствии обмена), «4 Wire Single Master Mode» (4-проводный режим единствен- ного ведущего); ставим галочку в поле «Set NSS signal to 1», т.е. устанавливаем сигнал NSS (CS DDS) в «1», далее нажима- ем кнопку «Change SCK» и вводим в поле частоты обмена «Target SCK Frequence» 1048576 (1/20 от 20971520 Гц). После этого нажимаем кнопку OK и получа- ем готовый текст подпрограммы ини- циализации SPI: void SPI_Init() { SPI0CFG = 0x50; SPI0CN = 0x0D; SPI0CKR = 0x09; } Далее опять входим в меню «Peripherals» и, чтобы инициализиро- вать матрицу соединений, выбираем «Port I/O» (порты ввода/вывода). На экран выводится пустая матрица сое- динений, которую необходимо запол- нить. Двигаемся по левой части экранной формы сверху вниз и ставим галочки в полях «SPI0», «SYSCLK» и «T0», выби- рая, тем самым, эти устройства и опре- деляя для них выводыМК. Далее двига- емся по нижней части матрицы слева направо и ставим галочки в полях P01, P00 (распределяя эти выводы на вхо- ды прерываний INT0 и INT1, т.е. пропу- ская их), P02, P03 (также указывая, что эти выводы должны быть пропущены и освобождены для входов X1 и X2, к которым подключён кварцевый резо- натор). Кроме того, устанавливаем эти два порта, как аналоговые (для подклю- чения резонатора), т.е. в полях «Analog/ Digital» ставим «A». Последнюю галоч- ку ставим у порта P11, пропуская этот вывод, чтобы его впоследствии можно было заземлить и, тем самым, подать «землю» на вывод 2 DD3. Далее в полях «Push-Pull/Open Drain» портов P04(SCK), P06(MOSI), P07(NSS) и P10(SYSCLK) устанавливаем «P» (двух- тактный выход). И последнее, что необ- ходимо сделать, – установить галочку в поле «Enable Crossbar», т.е. активиро- вать матрицу соединений. После всех манипуляций матрица соединений примет вид, показанный на рисунке 20. Рис. 20. Снимок экрана компьютера при работе программы Config2 (Silabs) для настройки матрицы соединений МК C8051F330 © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy