FX2LP контроллер USB: отладочная плата, среда разработки #0

mi2

Рядом с микроконтроллерами общего назначения существуют и узкоспециализированные — например периферийный контроллер EZ-USB, о котором и пройдет речь.
Он представляет собой микропроцессорную систему, подобную тем же AVR и PIC, но с своей уникальной архитектурой.

Взгляд изнутри

Обратите внимание на следующее изображение внутренней архитектуры контроллера.
FX2LP_Block_Diagram_new
Большим отличием является 8051 ядро системы, а также возможность передачи данных USB минуя центральный процессор через FS/HS Engine. То есть, сам процессор играет второстепенную, управляющую, но не обрабатывающую, роль.

  • Ядро: модифицированное 8051.
  • Рабочая частота: 12-48 MHz.
  • Общая память: 16 Кб (для всего).
  • Возможность загрузки программы через USB, EEPROM, внешнюю шину.

Это не так много, однако, не забывайте, что это узкоспециализированный контроллер. Далее, интерфейсы:

  • Интерфейс USB 2.0 (480МБит/сек)
  • Интерфейс I2C.
  • Пользовательские I/O порты.
  • Встроенное FIFO на 4Кб.
  • Программируемый параллельный интерфейс — GPIF.

Как видите, никаких проблем в осуществлении передачи данных возникнуть не может.

Отладочная плата

Я предлагаю использовать плату разработчика с контроллером CY7C68013A-56.

По приемлемой цене, зачастую с программным обеспечением она именуется как «Logic analyzer module» . Имеется внешняя EEPROM объемом 16Кб, а также все необходимые для работы компоненты. Диаграмма выводов микросхемы следует ниже:

Ashampoo_Snap_2015.08.05_11h13m18s_001_

Это несомненно хорошо, что разработчики не уменьшили ширину шин даже в самом маленьком корпусе микросхемы, но — как видите — нужно выбрать одно из трех.

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

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

Среда разработки и конфигурация

Необходимый пакет включает в себя студию Keil uVision и загрузчик/отладчик CyControl Center. К большому огорчению, эта связка держится на .bat файлах и прямых путях, по собственно этой причине крайне нежелательно изменять директории установки.

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

1
2
3
4
5
6
7
OEA |= 0x1; //Конфигурируем I/O
while(true) {
	PA0 = 0;
	EZUSB_Delay(1000);
	PA0 = 1;
	EZUSB_Delay(1000); 
} //Ничего не напоминает?

После компиляции в папке проекта появится образ программы .icc, который можно загрузить напрямую в ОЗУ контроллера для исполнения.

В таком случае, как и с FPGA, код программы исчезнет из памяти после отключения питания, поэтому его необходимо загрузить в постоянную память. Обратите внимание на эту выделенную мной деталь:

Обведенный переходник препятствует загрузке программы из внешней EEPROM. Для того, чтобы поместить образ в микросхему, следуйте алгоритму ниже:

  1. Установите переходник-перемычку.
  2. Подайте питание — загрузочная программа начнет работу.
  3. Снимите переходник.
  4. Загрузите программу в 64KB EEPROM (см. рисунок справа).

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

Файлы и документы

 

Вы можите оставить комментарий, или поставить трэкбек со своего сайта.

Есть 1 комментарий. к “FX2LP контроллер USB: отладочная плата, среда разработки #0”

  1. программно конечно же, аппаратно контроллер просто шлет состояние своего порта В по USB. А уже программа расшифровывает эти данные. Поэтому у разных программ разный функционал.

    Thumb up 0 Thumb down 0

Написать комментарий

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Bug Report
Локализовано: шаблоны Wordpress