Анимация наведения

Проектирование системы передачи рентгеновских данных для лучевой промышленности (часть 2)

Похожие видео

Свяжитесь с нами

WhatsApp / Телефон

2 Разработка программного обеспеченияРис. 2 Соединение между EZUSBFX2andFPGA Рисунок 2 EZUSBF Программное обеспечение системы передачи данных между X2 и ПЛИС включает в себя программу управления ПЛИС, программу прошивки, драйвер и прикладную программу для ПК. 2.1 Программирование ПЛИС Принципиальная блок-схема подсистемы ПЛИС показана на рисунке 1. Подсистема FPGA в основном выполняет прием последовательных данных и отправку данных в модуль EZ-USBFX2. Подсистема ПЛИС принимает и кэширует многоканальные последовательные данные, отправленные детектором, затем ждет, пока данные не будут кэшированы до определенной степени, после чего передает их на микросхему EZ-USBFX2, а затем микросхема USB автоматически передает данные на главный компьютер через USB.

ПЛИС содержит два внутренних канала: канал данных и канал команд. Через канал данных проходят проекционные данные (данные, получаемые каждым каналом при каждом освещении детектора). Как показано на рис. 1, проекционные данные каждого канала сначала сохраняются в соответствующем кэш FIFO и ожидают, пока данные в FIFO После того как данные достигнут определенного количества (здесь оно установлено равным 512), FPGA передаст определенное количество данных (здесь 512) из каждого FIFO в буфер конечной точки EZ-USB FX2.

Командный канал используется в основном для передачи команд конфигурации. Когда главный компьютер выдает команду конфигурации, USB передает ее в ПЛИС через SlaveFIFO. Затем ПЛИС сохраняет полученные данные команды в конфигурационной оперативной памяти. Наконец, внутренний модуль конфигурации ПЛИС передает запрос об изменении значения в ОЗУ конфигурации, чтобы определить, следует ли отправлять команду на детектор.

Программа ПЛИС содержит в общей сложности 7 модулей, как показано на рисунке 3. Среди них FIFO синхронизации и конфигурационное ОЗУ используют IP ALTERA; модуль последовательного приема и модуль последовательной отправки в основном выполняют отправку и прием последовательных данных; модуль CPU конфигурации контролирует состояние конфигурационного ОЗУ. Если значение конфигурационного ОЗУ изменяется, модуль CPU конфигурации отслеживает состояние конфигурационного ОЗУ. Модуль последовательной передачи отправляет измененное значение в детектор; в ОЗУ конфигурации сохраняется FIFO синхронизации команд конфигурации и шина проекционных данных. Модуль арбитража управляет шиной данных FIFO и шиной конфигурационного ОЗУ, что обеспечивает своевременность конфигурации команд и целостность передачи данных; SlaveFIFO Интерфейсный модуль реализует связь между FPGA и EZ-USBFX2.

2.2 Программа прошивки 2.2.1 Роль микропрограммы Под микропрограммой понимается исполняемый код, запущенный в расширенной 8051EEPROM в EZ-USBFX2 (CY7C68013A). Микропрограмма может быть разработана на языке ассемблера или C51, затем скомпилирована в шестнадцатеричный файл (файл .HEX) и записана в область кода в FX2, тем самым осуществляя программирование устройства и выполняя определенные функции. Программа микропрограммы в основном выполняет следующую работу: ① Инициализация, включая установку начальных значений некоторых регистров специальных функций для достижения требуемых атрибутов или функций устройства;

② Помощь аппаратным средствам в завершении процесса переподчинения устройства, включая имитацию отключения и повторного подключения устройства, анализ и оценку полученного пакета настроек, с тем чтобы дать соответствующий ответ на запрос устройства хоста и завершить задачу конфигурирования устройства хостом; ③ Обработка прерываний; ④ Прием и отправка данных; ⑤ Управление периферийными схемами. 2.2.2 Связь между USB-устройством и ПК USB-устройство взаимодействует с прикладной программой на стороне ПК под управлением микроконтроллера для реализации отправки и приема данных USB. Основной процесс заключается в следующем: когда периферийное устройство USB подключено к хосту, хост сначала перечисляет устройство, затем загружает программу прошивки в его оперативную память на кристалле через конечную точку EP0 по умолчанию, затем повторно перечисляет устройство и конфигурирует устройство с помощью прошивки, загруженной в его внутреннюю оперативную память, то есть в режиме, разработанном пользователем, в соответствии с заданными пользователем VID и PID программы прошивки для поиска функционального драйвера устройства, тем самым завершая процесс конфигурации устройства. В процессе передачи данных отправляемые данные записываются в буфер (FIFOBuffer) в виде пакета (Pack et). Когда буфер заполнен или данные отправлены, USB устанавливает флаг заполнения регистра. Если хост готов принять данные, он отправляет пакет read token на конечную точку функционального устройства. Конечная точка отвечает на запрос, определяя тип конечной точки и готовность к передаче данных. После завершения передачи данных весь процесс обмена данными завершается с помощью пакета квитирования. 2.2.3 Разработка микропрограммного обеспечения для режима Slave FIFO В FX2 предусмотрено два режима интерфейса: slave FIFO и общий программируемый интерфейс. Система передачи данных использует режим ведомого FIFO, и ее микропрограмма включает в себя 7 файлов: dscr. a51, lsecyJmpTb. a51, lsecy. h, lsecysdly. h, lsecyregs. h, main. c и function. c. Микропрограмма хранится на компьютере. Когда устройство подключено к хосту, прошивка загружается из хоста в оперативную память чипа EZ-USBFX2 через мягкую конфигурацию для исполнения.

Свяжитесь с нами