Устройство загрузки программ и данных конфигурации плис

 

Устройство загрузки предназначено для загрузки программного обеспечения в микропроцессор (микроконтроллер) и данных конфигурации в ПЛИС FPGA в схемах, использующих совместную работу микропроцессоров (микроконтроллеров) и ПЛИС FPGA (ПЛИС - программируемая интегральная микросхема; FPGA - перепрограммируемые пользователем базовые матричные кристаллы).

Технический результат - повышение помехоустойчивости и расширение функциональных возможностей устройства, его упрощение, а также сокращение времени загрузки.

В состав устройства входят микропроцессор (1), ПЛИС CPLD (2) (CPLD - перепрограммируемая микросхема с традиционной архитектурой), ПЛИС FPGA (4), микросхема FLASH-памяти (3) (FLASH-память - перепрограммируемое постоянное запоминающее устройство) с параллельным доступом.

Устройство предусматривает возможность хранения в одной микросхеме FLASH-памяти (3) программы микропроцессора (1), данных конфигурации ПЛИС FPGA (4) и пользовательских данных и их перепрограммирование в составе устройства под управлением микропроцессора (1).

Для загрузки микропроцессора (1) и ПЛИС FPGA (4) предлагаемое устройство использует только последовательные шины между ПЛИС CPLD (2) и микропроцессором (1) и между ПЛИС CPLD (2) и ПЛИС FPGA (4) соответственно, а также параллельные шины данных и адреса между ПЛИС CPLD (2) и FLASH-памятью (3), при этом параллельные шины данных и адреса микропроцессора (1) и ПЛИС FPGA (4) не содержат никаких дополнительных устройств, работают на максимальной скорости обмена данными и обеспечивают высокую помехоустойчивость устройства.

Полезная модель относится к радиотехнике, вычислительной технике, автоматике и может быть использована в качестве устройства загрузки различных микропроцессорных схем, контроллеров и цифровых устройств, с применением микропроцессоров (микроконтроллеров) и ПЛИС FPGA (ПЛИС - программируемая интегральная микросхема; FPGA - перепрограммируемые пользователем базовые матричные кристаллы).

Известны рекомендуемые производителями устройства загрузки данных конфигурации ПЛИС [1, 2].

Недостатком этих устройств является невозможность использования памяти для хранения пользовательских данных и необходимость использования специализированных микросхем загрузочной FLASH-памяти (FLASH-память - перепрограммируемое постоянное запоминающее устройство).

Известно устройство последовательной загрузки, позволяющее использовать FLASH-память для пользовательских данных после загрузки данных конфигурации ПЛИС FPGA [2]. Устройство включает вспомогательную ПЛИС CPLD (CPLD - перепрограммируемая микросхема с традиционной архитектурой) для организации доступа к FLASH-памяти. После включения питания ПЛИС CPLD осуществляет загрузку ПЛИС FPGA данными конфигурации, расположенными во FLASH-памяти. По окончании загрузки ПЛИС CPLD переходит в режим, обеспечивающий использование пространства FLASH-памяти как пользовательских данных для ПЛИС FPGA. Таким образом, ПЛИС CPLD служит буфером между FLASH-памятью и ПЛИС FPGA.

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

Для загрузки программ микропроцессоров используются, как правило, стандартные устройства загрузки из FLASH-памяти с параллельными схемами

подключения [3]. При необходимости использования нескольких внешних устройств используется стандартная схема параллельного подключения [3].

Недостаток этой схемы заключается в том, что при обращении к разным внешним устройствам используются одни и те же шина данных и шина адреса, таким образом, создаются дополнительные помехи. Кроме того, FLASH-память включается в рабочую шину микропроцессора, в результате увеличивается емкость нагрузки (как монтажная, так и нагрузочная, за счет включения дополнительных входов FLASH-памяти) и увеличивается длина печатных проводников шины данных и адреса, что увеличивает паразитную монтажную индуктивность и емкость. Все это приводит к снижению потенциальной скорости и достоверности обмена на шине.

Наиболее близким к предлагаемому является устройство, представленное на сайте [4], принятое за прототип.

Схема устройства-прототипа приведена на фиг.1, где обозначено:

1 - микропроцессор;

2 - ПЛИС CPLD;

3 - FLASH-память;

4 - ПЛИС FPGA.

Устройство-прототип содержит микропроцессор 1, к параллельным шинам данных и адреса которого подключены микросхема FLASH-памяти 3 и ПЛИС CPLD 2, которая соединяется с загрузочными контактами (PROGRAM, CCLK, DIN, INIT, DONE) ПЛИС FPGA.

Работа устройства-прототипа осуществляется следующим образом.

Вначале из FLASH-памяти 3 загружается микропроцессор 1, затем под его управлением осуществляется загрузка ПЛИС FPGA 4. Устройство-прототип использует 16-разрядную FLASH-память 3 для хранения данных конфигурации ПЛИС FPGA 4. Поскольку каждый адрес памяти хранит 16-битное данное, при загрузке ПЛИС FPGA 4 микропроцессор 1 читает каждый адрес, считывает 16-битное данное и преобразует его в последовательные коды. Этот процесс продолжается до окончания конфигурационных данных. В

течение процесса загрузки ПЛИС FPGA 4 микропроцессор 1 осуществляет формирование последовательных данных и тактов и передачу их через параллельную шину в ПЛИС CPLD 2. ПЛИС CPLD 2 используется для декодирования последовательных данных вместе с загрузочными тактами (CCLK), а также для контроля состояния загрузочных контактов ПЛИС FPGA 4, таких как PROGRAM, INIT, DONE. Таким образом, ПЛИС CPLD 2 используется как интерфейс синхронизации между микропроцессором 1 и ПЛИС FPGA 4.

Однако на шинах данных и адреса микропроцессора 1 подключены FLASH-память 3 и ПЛИС CPLD 2, это снижает производительность шин и увеличивает уровень помех, создаваемый работающими шинами.

Недостатки устройства-прототипа следующие:

- в процессе загрузки ПЛИС FPGA через ПЛИС CPLD необходимо участие микропроцессора;

- загрузка ПЛИС FPGA через ПЛИС CPLD возможна лишь после загрузки самого микропроцессора, т.е. загрузка микропроцессора и ПЛИС FPGA выполняется последовательно, что увеличивает время загрузки и соответственно время готовности схемы к работе.

Для устранения указанных недостатков в устройство загрузки программ и данных конфигурации программируемой логической интегральной микросхемы (ПЛИС), содержащее микропроцессор, FLASH-память, а также ПЛИС CPLD и ПЛИС FPGA, соединенные загрузочными цепями для загрузки данных конфигурации ПЛИС FPGA, шины данных и адреса и управляющие цепи, согласно полезной модели, введены раздельные шины данных и адреса и управляющие цепи, соединяющие соответственно FLASH-память и ПЛИС CPLD, микропроцессор и ПЛИС FPGA, а также последовательная шина между FLASH-памятью и микропроцессором для загрузки программ в микропроцессор.

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

и ПЛИС FPGA, соединенных параллельной высокоскоростной шиной обмена данными. Наибольший шумовой вклад вносят параллельные шины адреса и шины данных между микропроцессором и ПЛИС FPGA. Для снижения этих шумов шины должны быть максимально короткими, иметь минимум дополнительных устройств, подключенных через эти шины, минимум паразитной емкости и индуктивности.

На фиг.2 представлена схема предлагаемого устройства, где обозначено:

1 - микропроцессор;

2 - ПЛИС CPLD;

3 - FLASH-память;

4 - ПЛИС FPGA;

(А (18:0)) - шина адреса;

(D (15:0)) - шина данных;

CS, WR, RD, CS1, WR1, RD1 - цепи управляющих сигналов параллельных шин обмена;

INIT, PROGRAM, DONE, DIN, CCLK - цепи (контакты) загрузочных сигналов ПЛИС FPGA.

Предлагаемое устройство содержит микропроцессор (микроконтроллер) 1, ПЛИС CPLD 2, FLASH память 3 и ПЛИС FPGA 4. FLASH-память 4 соединена параллельными шинами данных (D (15:0)), адреса (А (18:0)) и цепями управляющих сигналов (CS, WR, RD) с ПЛИС CPLD 2. Параллельные шины данных (D1(15:0)) и адреса (А1(6:0)) микропроцессора 1 с соответствующими управляющими цепями (CS1, WR1, RD1) соединены только с ПЛИС FPGA 4. Для загрузки ПЛИС FPGA 4 и микропроцессора 1 используются последовательные шины, которые соединены с ПЛИС CPLD 2. FLASH-память 3 содержит загрузочный модуль рабочей программы микропроцессора 1 и данные конфигурации для загрузки ПЛИС FPGA 4, а также пользовательские данные.

Предлагаемое устройство работает следующим образом.

При включении питания ПЛИС CPLD 2 осуществляет загрузку ПЛИС FPGA 4 и микропроцессора 1. Для этого ПЛИС CPLD 2, используя шину адреса (А (18:0)) и шину данных (D (15:0)) FLASH-памяти 3, а также управляющие сигналы FLASH-памяти 3 (CS и RD), считывает два 16-разрядных слова данных из FLASH-памяти 3. Из данных первого слова (и последующих нечетных слов) ПЛИС CPLD 2 формирует кодограмму последовательных данных и тактов на контакты DIN и CCLK ПЛИС FPGA 4, а из данных второго (и последующих четных слов) формируются последовательный поток и такты для последовательной шины микропроцессора 1, согласно протоколам загрузки в подчиненном последовательном режиме. Итерации продолжаются до тех пор, пока не будут считаны и загружены все данные конфигурации ПЛИС FPGA 4 и микропроцессора 1. При этом ПЛИС CPLD 2 контролирует управляющий контакт DONE, который сигнализирует об окончании загрузки ПЛИС FPGA 4.

По окончании загрузки микропроцессор 1 осуществляет чтение пользовательских данных с FLASH-памяти 3 через последовательную шину. Для этого микропроцессор 1 по последовательной шине передает в ПЛИС CPLD 2 19-разрядный адрес для чтения данных, ПЛИС CPLD 2 выставляет адрес на параллельную шину адреса FLASH-памяти 3 (А (18:0)), формирует кодограмму управляющих сигналов для чтения (CS, RD) и считывает 16-разрядное данное с параллельной шины данных FLASH-памяти 3 (D (15:0)). После этого ПЛИС CPLD 2 передает это данное по последовательной шине в микропроцессор 1. Итерации продолжаются до тех пор, пока не будет считано необходимое количество данных с FLASH-памяти 3. После этого процесс загрузки завершается, ПЛИС CPLD 2 отключает все шины между FLASH-памятью 3 и ПЛИС CPLD 2, между микропроцессором 1 и ПЛИС CPLD 2, между ПЛИС FPGA 4 и ПЛИС CPLD 2, и далее работают только шины между микропроцессором 1 и ПЛИС FPGA 4.

Кроме функций загрузки ПЛИС FPGA 4 и микропроцессора 1, ПЛИС CPLD 2 обеспечивает функции программирования FLASH-памяти 3 под управлением микропроцессора 1. Для этого микропроцессор 1 передает в ПЛИС CPLD 2 адрес и данные для программирования через последовательную шину, а также признак режима (0 - запись данных, 1 - чтение данных). ПЛИС CPLD 2 выставляет адрес на параллельную шину адреса FLASH-памяти 3 (А (18:0)), затем в зависимости от режима формирует кодограмму управляющих сигналов (CS и WR для записи данных, CS и RD для чтения). Далее, в зависимости от режима, ПЛИС CPLD 2 либо выставляет 16-разрядное данное на параллельную шину данных FLASH-памяти 3 (D (15:0)) для режима записи данных, либо считывает 16-разрядное данное с параллельной шины данных FLASH-памяти 3 (D(15:0)) и передает его по последовательной шине в микропроцессор 1 (в режиме чтения данных). Эти функции обеспечивают выполнение команд стирания FLASH-памяти 3, программирования FLASH-памяти 3 и проверку записанной информации.

Таким образом, в режиме загрузки ПЛИС CPLD 2 выполняет функции микропроцессора 1, а в режиме программирования FLASH-памяти 3 работает под внешним управлением микропроцессора 1.

Основным достоинством предлагаемого устройства является увеличение помехоустойчивости устройства за счет того, что параллельные шины данных и адреса микропроцессора 1 используются только для связи с ПЛИС FPGA 4, а параллельная шина данных и шина адреса FLASH-памяти 3 соединяется только с ПЛИС CPLD 2 и используются только в процессе загрузки микропроцессора 1 и ПЛИС FPGA 4.

По сравнению с прототипом предлагаемое устройство имеет следующие преимущества:

- возможна перезапись пользовательских данных в составе устройства;

- происходит параллельная загрузка ПЛИС FPGA и микропроцессора, что сокращает время загрузки и время готовности всего устройства к работе;

- шина микропроцессор - ПЛИС FPGA может быть короче, чем у прототипа, что повышает помехоустойчивость устройства.

Источники информации:

[1] www.Xilins.com/bvdocs/appnotes/xapp694.pdf

[2] www.Xilins.com/bvdocs/appnotes/xapp800.pdf

[3] www.Atmel.com/dyn/resources/prod_documents/1354.pdf

[4] www.Xilins.com/bvdocs/appnotes/xapp502.pdf

Устройство загрузки программ и данных конфигурации программируемой логической интегральной микросхемы (ПЛИС), содержащее микропроцессор, FLASH-память, а также ПЛИС CPLD и ПЛИС FPGA, соединенные загрузочными цепями для загрузки данных конфигурации ПЛИС FPGA, шины данных и адреса и управляющие цепи, отличающееся тем, что введены раздельные шины данных и адреса и управляющие цепи, соединяющие соответственно FLASH-память и ПЛИС CPLD, микропроцессор и ПЛИС FPGA, а также последовательная шина между ПЛИС CPLD и микропроцессором для загрузки программ в микропроцессор.



 

Похожие патенты:

Реактор плазменной газификации отходов относится к технике термической переработки отходов различного происхождения, а также к энергетике и энергопроизводящим технологическим системам, а именно, - к технологическим установкам плазмотермической газификации и пиролиза твердых бытовых и других органосодержащих (например, сельскохозяйственных) отходов и утилизации их энергетического потенциала как возобновляемых источников энергии.

Полезная модель относится к производству и проектированию сложных электротехнических изделий на основе печатных плат, в частности, на основе маршрута проектирования печатных плат Expedition PCB, вокруг которого формируется единая среда проектирования от моделирования до верификации с учетом результатов трассировки и особенностей производства.
Наверх