Сеть на основе нейрочипа
Рефераты >> Коммуникации и связь >> Сеть на основе нейрочипа

Выводы

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

Заключение.

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

Преимущества:

· не большая стоимость компонентов для реализации отдельного прикладного узла,

  • очень простая конфигурация узла нижнего уровня,
  • большая номенклатура устройств и приборов, выпускаемых промышленно в странах ЕЭС и США и имеющих встроенные узлы LONWORKS для работы в составе сетей ECHELON (большая распространенность стандарта в мире),
  • большое количество готовых процедур по адаптации типовой периферии в стандартной библиотеке NEURON,
  • простота разработки прикладного программного обеспечения узлов.

Недостатки:

· чрезвычайно большая стоимость, хотя и весьма эффективных и удобных, отладочных средств,

  • отсутствие узлов WDT, узла автоматического сброса при включении питания (требует использования внешнего супервизора) и возможности работы в “спящем режиме” у микроконтроллеров NEURON,
  • крайне слабая поддержка данного стандарта дилерскими фирмами в России.

Программа полностью соответствует техническому заданию и выполняет поставленное задание.

Из-за большой стоимости пакета разработки, компиляции и компановки программ написанных на NEURON C проверить работоспособность программы является невозможным, поэтому приходится довольствоваться лишь примерным теоретическим результатам и результатам имитационного и математического моделирования.

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

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

Список литературы.

1. Дитрих-Лой-Швайнцер. «LON -технология».ПГТУ .395с. 1999

2. Журнал «Радио и связь» №4 1999г.

3. Войкова А.П. «Нейронные сети и нейрочипы», Москва, 280с., 2000г.

8. Приложения.

8.1. Текст программы.

8.1.1 Подготовка нейрон чипов

************************************************************************

* Эта программа на Neuron C устанавливает Neuron Chip в slave A

* mode.

************************************************************************

IO_0 parallel slave s_bus;

#define DATA_SIZE 255 //максимально разрешенное поле данных

struct parallel_io_interface

{

unsigned int length; //length of data field

unsigned int data[DATA_SIZE];

}piofc

when (io_in_ready(s_bus))1 //готовность приема информации

{

piofc.length = DATA_SIZE; //максимальное число в байтах

to read

io_in(s_bus,&piofc); //получить 10 байт

incoming data

}

when (io_out_ready(s_bus)) //готовность передать 10 байт

{

piofc.length = 10; //кол-во байт

io_out(s_bus,&piofc); //передать 10 байт из буфера

}

when ( .) //условие по которому будет отправлено сообщение о заполнении буфера

{

io_out_request(s_bus); } request

8.1.2. Программа обработки

************************************************************************

* Эта программа на Neuron C задает Neuron Chip в slave A

* подсчет импульсов поступающих с нейрочипа.

************************************************************************

#pragma enable_io_pullups

////////////////////Параматры для подсчета (определяются пользователем)////////////

#define lower_limit 0 //нижний предел подсчета

#define upper_limit 100 //верхний предел подсчета

#define shaft_direction 1 //направление счета (т.е.,

0=лево,1=право)

/////////////////// Программа //////////////////////

IO_5 input pulsecount analog_input;

IO_5 input quadrature shaft_encoder; //импульсы поступают на 5 вход нейрочипа

signed long count;

signed long increment;

when (io_update_occurs(shaft_encoder){

if (shaft_direction) count += input_value;

else count -= input_value; //вывод полученных данных

/////////////////// Проверка //////////////////////

if (count<lower_limit) count=lower_limit;

if (count>upper_limit) count=upper_limit; //Проверка переполнения overflow

}

when (reset) // Сброс

{

count = 0;

}

************************************************************************

* Эта программа на Neuron C задает Neuron Chip в master A

* принимает информацию со всех нейрочипов типа slave A и в случае превышения порогового уровня в 50 импульсов, что * соответствует ветру 50м/с передает информацию в центральную ЭВМ с указанием номера того датчика с которого поступила * данная информация и времени ее поступления

************************************************************************

#pragma scheduler_reset // процедура сброса

#pragma enable_io_pull-ups // процедура подчета импульсов (описана выше)

#pragma num_addr_table_entries 1

#pragma one_domain

#pragma app_buf_out_priority_count 0

#pragma net_buf_out_priority_count 0

#define timerl 100 // таймер производит опрос по входам на наличие информации каждые 100мкС

#define max_char_from_PC 30 //максимально разрешенное кол-во символов принимаемых нейрочипом

#define porog 50 //установочный порог

{

unsigned int speed; //данные о скорости

unsigned int number; // данные о номере датчика

};

#define max_packet_size 60 // максимально разрешенный пакет отсылаемый в ЭВМ

{

unsigned int speed; //данные о скорости

unsigned int minutes; //время принятия сообщения

unsigned int hours;

unsigned int number // номер датчика

};

/******************************** Дополнительные файлы ************************************/

#include <control.h>

/********************************* Определение I/O ****************************************/


Страница: