Главная страница
qrcode

ВКР Магистра. Программный сложно-функциональный блок


НазваниеПрограммный сложно-функциональный блок
Дата08.10.2019
Размер2.06 Mb.
Формат файлаpdf
Имя файлаВКР Магистра.PDF
оригинальный pdf просмотр
ТипПрограмма
#65602
страница5 из 8
Каталог
1   2   3   4   5   6   7   8

4.3.2. Превышение порогового значения датчика
На рисунке 4.9 представлен сигнал, который генерирует СФБУТ в случае превышения порогового значения датчика при подключении его через компаратор.
65
Рисунок 4.9

Сообщение о событие при подключении СФБУТ к датчикам через компаратор.
Поле ―Данные‖ и поле ―Тип команды‖ в заголовке пакета ответа от
СФБУТсообщения о событии заполнено в соответствии с таблицей 2 (пункт.
2.1.4). Таким образом, в поле ―Тип команды‖ выводится значение из регистра type_response равное 0x02, а в поле ―Данные‖ значение из регистров data_1, data_2, data_3 равное 0x00.
4.4. Запись в память, формирование адреса и данных для внешней
памяти
Содержание полей заголовка смоделированного сигнала от BMC, представлено в таблице 7.
Таблица 7

Содержание полей заголовка смоделированного сигнала от BMC на запрос информации с датчиков
Поле ―Данные‖ состоят из адреса, с которого производится запись во внешнюю память, в данном случае это 0xEFBFDB и 24 байт данных для перепрограммирования, их значения представлены в таблице 8.
I²C адрес устройства
№ запроса
I²C адрес системного контроллера
Тип запроса, команда
Объем пакета данных
0x51 0xA9 0x04 0x09 0x0D
66
Таблица 8

Данные для перепрограммирования внешней памяти
На рисунке 4.10 представлена временная диаграмма записи информации во внутреннюю память ПЛИС.
Рисунок 4.10

Запись во внутреннюю память.
После того как СФБУТ считал в поле ―Тип команды‖ команду на перепрограммирование внешней памяти, считывая поле ―Данные‖ входящего сообщения и записывает информацию содержащуюся в этом поле во внутреннюю память по адресу, который формирует счетчик addr_out. При этом первые три байта, в которых находится начальный адрес перепрограммирования внешней памяти, СФБУТ записывает в отдельный регистр: addrcount.
Запись во внутреннюю память проходит в соответствии с рисунком
2.17 (подпункт 2.2.3.1). В качестве адреса внутренней памяти используется счетчик addr_out. Таким образом, входные данные для записи на внешнюю память записываются во внутреннюю память, начиная с адреса 0xFF.
Данные
[7:0]
+1
+2
+3
+4
+5
+6
+7
+8 0
0xF7 0xFF
0xFF
0xFF
0xFD
0xFF
0xFF
0xFD
8 0xBF
0xBF
0xBF
0xBF
0xBF
0xBF
0xBF
0xBF
16 0xBF
0xBF
0xBF
0xBF
0xBF
0xBF
0xBF
0xBF
67
4.4.1. Взаимодействие с памятью 166РЕ014
На рисунке 4.11 представлена временная диаграмма записи и чтения из памяти 1666РЕ014.
Рисунок 4.11

Запись и чтение на 166РЕ014.
В данном случае был выбран размер сегмента записываемых данных равный M=8. Это означает, что СФБУТ приступит к чтению только после записи 8 байт. После записи во внутреннюю память, при условии, что контрольная сумма входящего сообщения совпала с рассчитанной контрольной суммой, СФБУТ приступает к записи во внешнюю память.
Запись происходит при активном флаге flagn[1] (второй бит сигнала flagn) т.е. когда значение в регистре flagn=2. Чтение же происходит при значении регистра flagn=4. Так как поле ―Тип запроса/команда‖ в таблице 7 имеет значение 0x09, то согласно таблице 1 (пункт 2.1.4), данные будут выводиться для модуля памяти подключенной ко второму выводу IOout2.
Также для проверки правильности записанных данных считывание данных будет производиться с входа Pin2. Адрес записи выводится на шину
ADDR. После записи всех необходимых данных СФБУТ формирует сообщение ответа в поле ―Данные‖, в которое выводятся значения из регистров
68 data_1, data_2, data_3. Формирование значений в этих регистрах соответствуют значениям, представленным в таблице 2 (пункт
2.1.4).
Таким образом, в первый байт поля данных выводится значение равное
0x18, которое равно количеству записанных байт.
На рисунке 4.12 представлена запись во внешнюю память боле подробно.
Рисунок 4.12

Запись и чтение (считываемые данные совпадают с записанными).
Данные на IOout2 выводятся из внутренней памяти с адреса addr_out при флаге flagn[1] (второй байт значения flagn), при флаге flagn[2] (третий байт значения flagn) происходит чтение из внешней памяти, а также чтение из внутренней, для сравнения записываемых и записанных значений.
Считанные данные из внешней памяти поступают на шину Pin2, также формируются сигналы разрешения записи/ чтения (nCE1_2, nCE2_2, nOE_2, nWE_2) согласно рисункам 2.22, 2.23 (пункт 2.2.3). После записи и проверки всех данных, при условии, что все записанные данные совпали с записываемыми, СФБУТ выводит на шину sda_out сигнал ответа в первом байте поля
―Данные‖ которого содержится общее число записанных данных
(data_1=8’h18=24). Во второй и третий байт поля ―Данные‖ выводится значение 0x00.
Cравнение данных происходит только по значению ка cnt_mem1 = 8’h00. (Рисунок 4.13). Так как информационный сигнал, поступающий с памяти на СФБУТ, может иметь существенную задержку.
69
Рисунок 4.13

Значению счетчика cnt_mem1.
На рисунке 4.14 показана временная диаграмма случая несовпадения записанных данных с записываемыми.
Рисунок 4.14

Временная диаграмма случая несовпадения записанных данных с записываемыми.
Поле ―Данные‖ сообщения ошибки памяти заполнено в соответствии с таблицей 2 (пункт 2.1.4). То есть первым байтом в поле ―Данные‖ выводится номер модуля памяти при записи, на которую, произошла ошибка (в данном случае это 0x02), второй байт заполняется значением 0x00, третий байт содержит количество правильно записанных данных (в данном случае 0xE5). В поле заголовка ―Тип команды‖ выводится значение 0x08.
4.4.2. Взаимодействие с памятью 166РР2У
Так как память 166РР2У относится к памяти типа FLASH, перед записью и чтением необходимо произвести стирание необходимого объема данных. Запись и чтение производится в постраничном режиме с размером страницы 8 байт. Размер сегмента в этом случае был выбран равный M= 3. То есть СФБУТ перейдет к чтению только после записи 3 страниц.
На рисунке 4.15 представлена временная диаграмма при стирании одного сегмента у памяти 1666РР2У.
70
Рисунок 4.15

Режим стирания одного сегмента у памяти 1666РР2У.
Стирание происходит по флагу flag [0] (первый бит сигнала flag).
При стирании последовательно выводятся M адресов, в данном случае три, начиная с начального адреса, который был передан в первых трех байтах поля ―Данные‖ входящего сообщения. На линию SO первыми тремя байтами выводят служебные команды, после чего три адреса из регистра ADDR_rr2u1 каждый адрес по три байта, при этом формируются команды стирания на линиях разрешения nCS2 и nWP2.
4.4.2.2. Запись информации на 166РР2У
На рисунке 4.16 представлена временная диаграмма при записи одного сегмента памяти 1666РР2У.
Рисунок 4.16

Запись на 166РР2У.
Запись происходит при значении регистра flagn= 3’h2. При записи на линию SO выводят сначала три байта команды записи, после чего по счетчику cnt_memnm, по его значениям в промежутке [11:9], выводится адрес из регистра ADDR_rr2u2, а по значениям в промежутке [8:1] выводятся данные из внутренней памяти rd_address_aint. В качестве адреса внутренней памяти используется счетчик addr_out. В промежутке [11:9] регистр addr_out приостанавливает свой счет.
71
4.4.2.3. Чтение информации с 166РР2У
На рисунке 4.17 представлены временные диаграммы при успешной записи и проверке.
Рисунок 4.17

Временная диаграмма при успешной записи данных.
Чтение происходит при значении регистра flagn= 3’h4.На линию SO выводится 1 байт – команда чтения, далее выводится адрес, с которого будет осуществляться чтение. После этого СФБУТ считывает данные, которые поступают на последовательный вход INSI. Одновременно с этим СФБУТ считывает данные из внутренней памяти, которые до этого были записаны на внешнюю память и сравнивает их.
При этом сравнение происходит только по значению счетчика cnt_mem1 = 8’h00 (Рисунок 4.18). Так как информационный сигнал, поступающий с памяти на СФБУТ, может иметь существенную задержку.
Рисунок 4.18

Значение счетчика cnt_mem1.
На рисунке 4.19 представлена временная диаграмма сообщения ответа при успешной записи в память 166РР2У.
72
Рисунок 4.19

Сообщение ответа при успешной записи в память 166РР2У.
После того как вся информация была записана, СФБУТ выводит на линию sda_out сообщение ответа на адрес BMC от которого была получена информация. В своем сообщение в первом байте поля ―Данные‖, СФБУТ выводит количество данных, которое было записано (в данном случае это 0x18), оставляя два других байта поля ―Данные‖ пустыми.
На рисунке 4.20 показан случай несовпадения прочитанных данных с записываемыми.
73
Рисунок 4.20

Несовпадение данных при чтении.
В поле ―Данные‖ первым байтом СФБУТ передает номер модуля памяти, у которой произошла ошибка (выводит из регистра data_1, в данном случае номер модуля памяти: 0x2), третьим байтом значение счетчика cnt_M
(выводит из регистра data_2, в данном случае значение счетчика cnt_M равно
8’d245). При чтении каждого байта данных счетчик cnt_M уменьшает свое значение со значения 255.Таким образом, третьим байтом СФБУТ передает значение 8’d255 - количество правильно записанных данных. Второй байт остается незаполненным, согласно таблице 2 (пункт 2.1.4).
74
5. СОСТАВЛЕНИЕ БИЗНЕС-ПЛАНА ПО
КОММЕРЦИАЛИЗАЦИИ РЕЗУЛЬТАТОВ НИР МАГИСТРАНТА
5.1. Концепция технико-экономического обоснования
Магистерская диссертация посвящена разработке программного сложно-функционального блока управления и телеметрии для распределенной вычислительной системы на языке Verilog. Распределенная вычислительная система строится на отечественной элементной базе, которая выбирается с учетом стойкости к влиянию специальных факторов.
Главной задачей сложно-функционального блока управления и телеметрии является обеспечение работоспособности каждого модуля распределенной вычислительной системы на всех этапах жизненного цикла. Данная задача включает в себя как функции контроля работоспособности, так и функции контроля целостности и обновления программного обеспечения каждого функционального модуля распределенной вычислительной системы.
Целью составления бизнес-плана по коммерциализации результатов
НИР магистранта является расчет себестоимости разрабатываемого проекта, направленный на доказательство эффективности принимаемых инженерных решений, оценку экономической привлекательности разрабатываемого проекта или коммерциализации результатов научной деятельности.
5.2. Расчѐт себестоимости разработки проекта
Одной из основной составляющей статей калькуляции себестоимости проекта является оплата труда. Для оценки оплаты труда необходимо оценить трудоѐмкость работ.
75
Таблица 9

Трудоѐмкость работ по разработке системы
Наименование работ
Трудоѐмкость, чел./дни
Руководитель
Дипломант
Разработка технического задания
1 2
Разработка методов решения задачи
1 5
Изучение литературы
-
14
Разработка протокола взаимодействия интерфейса блока управления и телеметрии с системным контроллером
-
9
Синтез блока управления и телеметрии на языке Verilog
-
13
Тестирование и отладка
-
20
Составление технической документации
2 7
Сдача проекта
1 8
Итого
5 78
Расчѐт себестоимости осуществляется по следующим статьям:
-
Материалы с учѐтом транспортно-заготовительных расходов;
-
Издержки на амортизацию ПК и оргтехники;
-
Основанная и дополнительная заработная плата;
-
Отчисления на социальные нужды;
-
Накладные расходы.
В основе расчѐта заработной платы исполнителей проекта является определение трудоѐмкости работ (таблица 9), связанных с разработкой дипломного проекта.
Основная и дополнительная заработная плата исполнителей разработки рассчитывается на основании следующих данных:
-
Трудоѐмкость выполнения работ (таблица 9) Т
рук
= 5 чел/дней,
Т
дип
= 78 чел/дней.
-
Дневная ставка научного руководителя Д
рук
= 1000 руб.
-
Дневная ставка инженера Д
дип
= 500 руб.
-
Процент дополнительной заработной платы – 12%.
-
Процент отчислений на социальные нужды – 30,2%.
76

Процент накладных расходов – 33%.
Основная заработная плата исполнителей (С
зо
) рассчитывается по формуле (8):
С
зо
= Т
рук
* Д
рук
+ Т
дип
* Д
дип
(8)
С
зо
= 5 * 1000 + 78 * 500 = 5000 + 39000 = 44000 руб.
Дополнительная заработная плата (С
зд
) составляет 12% от основной заработной платы и рассчитывается по формуле (9):
С
зд
= С
зо
* 0,12
(9)
С
зд
= 44000 * 0,12 = 5280 руб.
Отчисления на социальные нужды (С
сн
) составляют 30,2% от основной и дополнительной заработной платы (10):
С
сн
= (С
зо
+
С
зд
) * 0,302
(10)
С
сн
= (44000 + 5280) * 0,302 = 14882,56 руб.
Расчѐт количества и стоимости материалов с учѐтом транспортнозаготовительных расходов занесены в таблицу 10.
Таблица 10

Материалы
Материалы
Кол-во
Цена, руб.
Сумма, руб.
Бумага для оргтехники, пачка
1 220 220
Картридж для принтера HP Laserjet
3052 1
2 200 2200
Электронный носитель Transcend
1 850 850
Канцелярские товары
560
ИТОГО:
3830
Транспортные расходы (15%)
574,5
ВСЕГО:
4404,5
Издержки на амортизацию ПК и оргтехники определяется по государственным нормам линейным методом. За год эксплуатации сумма амортизации составит (формула 11):
А
г
= К
об
* Н
ам
/100
(11) где К
об
– балансовая стоимость оборудования,
77
Н
ам
– норма амортизации. Равна 20%.
За рабочий день сумма амортизации составит (формула 12):
А
д
= А
г
/ N,
(12) где N – количество рабочих дней в 2016 году, равное 247 дням.
Балансовая стоимость ПК на базе Intel Core i5 – 29 480 руб., принтера
HP Laserjet 3052- 21185 руб.
Амортизация за год – А
г
= 10133 руб.
Амортизация за день – А
д
= 41,02 руб.
Амортизация оборудования (С
ам
) за время проектирования дипломного проекта:
С
ам
= 41,02
* 80 = 3281,6 руб.
К статье «Накладные расходы» относятся расходы на управление и хозяйственное обслуживание. Накладные расходы (С
нр
) рассчитываются по формуле 13:
С
нр
= α
нк
* (С
зо
+ С
зд
)
(13)
С
нр
= 0,33 * (44000 + 5280) = 0,33 * 52640 = 16262,4 руб.
Из полученных данных по статьям расхода составляется калькуляция себестоимости разработки проекта. Себестоимость проекта представлена в таблице 11.
Таблица
11

Калькуляция себестоимости проекта
Статья затрат
Сумма, руб.
Основная заработная плата
44000
Дополнительная заработная плата
5280
Отчисление на социальные нужды
14882,56
Накладные расходы
16262,4
Материалы
4404,5
Издержки на амортизацию ПК и оргтехники
10133
ИТОГО:
94962,46
78
5.3. Вывод по технико-экономическому обоснованию
В разделе составление бизнес-плана по коммерциализации результатов
НИР магистранта была проанализирована экономическая составляющая магистерской диссертации, а именно рассчитана себестоимость разработанного проекта.
Анализируя основные статьи затрат, становится очевидным что максимальные затраты на разработку проекта приходятся на заработную плату.
Себестоимость продукта составляет
94962,46 руб. эта сумма может послужить базой для дальнейшего ценообразования при коммерческом использовании продукта.
79
ЗАКЛЮЧЕНИЕ
В результате дипломного проектирования был разработан программный сложно-функциональный блок управления и телеметрии, для модулей
РВС. В ходе дипломного проектирования была разработана функциональная схема интерфейса и протокол взаимодействия между программным сложнофункциональным блоком управления и телеметрии и системным контроллером, на основе последовательного интерфейса I²C.
Архитектура программы прошивки ПЛИС создавалась при помощи языка описания аппаратуры Verilog, была произведена отладка и верификация каждого функционального блока в режиме совместной симуляции в программах Matlab (Simulink) и Modelsim. Для проверки работоспособности протокола взаимодействия, были смоделированы ситуации, которые могут возникнуть при взаимодействии СФБУТ и системного контроллера. Были проверены два режима подключения датчиков, а также взаимодействие
СФБУТ с различными типами памяти.
Разработанный программный сложно-функциональный блок управления и телеметрии обеспечивает полную совместимость с интерфейсом взаимодействия I²C и занимает 34% от общего объема логических элементов в
ПЛИС 5576ХС6Т отечественного производства, которая является аналогом
ПЛИС фирмы Altera FLEX10. Также была проанализирована экономическая составляющая данной работы. Была вычислена себестоимость продукта, которая впоследствии может послужить базой для дальнейшего ценообразования при коммерческом использовании продукта.
80
СПИСОК ЛИТЕРАТУРЫ
1. Eli Greenbaum. OPEN SOURCE SEMICONDUCTOR CORE LICENSING
//Harvard Journal of Law & Technology 2011 Volume 25, p 144-151.
2. Спецификация к интерфейсу IPMI. // URL: http://www.intel.com /content
/dam/www/public/us/en/documents/product-briefs/second-gen-interface-specv1.5-rev1.1-2.pdf
(2.02.2016)
3. IPMI, BMC — технологии удаленного управления сервером // URL: http://www. etegro.ru/articles/ipmi-bmc
(13.01.2016)
4. Спецификация к шине IPMB. // URL: http://www.intel.com /content/www
/us/en/ servers/ipmi/ipmp-spec-v1-0.html
(21.01.2016)
5. Семенов Б.Ю. Шина I2C в радиотехнических конструкциях. М.: СОЛОН-Р, 2002. 189 c.
6. The I2C-BUS specification. Version 2.1, Philips Semiconductors, 2000. 46 p.
7. Ross N. Williams A PAINLESS GUIDE TO CRC ERROR DETECTION
ALGORITHMS, 1993. // URL
8. Philip Koopman, Cyclic Redundancy Code (CRC) Polynomial Selection For
Embedded Networks// The International Conference on Dependable Systems and
Networks, DSN-2004. P. 3-5. // URL: https://users. ece.cmu.edu /

koopman
/roses/dsn04 / koopman04_crc_poly_embedded.pdf
(28.02.2016)
9. John Dunlop, D.Geoffrey Smith, Telecommunications Engineering, 3
rd
Edition 1994. CRC Press. 593 p.
10. Evgeny Stavinov. 100 Power Tips for FPGA Designers. CreateSpace, 2011 474 p.

связь с админом