Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 23.06.2013, 19:55  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Таблица адресов для внеш. памяти

В очередной раз затуп... Просветите, пожалуйста.
Опишу задачу. К AVR подключена внешняя память FRAM по SPI 2x4МГц, микроконтроллер собирает данные с датчиков, датчики разделены по зонам и номерам.
Т.е. получается таблица, где столбцы это зоны, строки - номера датчиков. Мы принимаем несколько байтов с данными и вписываем их в fram по определенному адресу, закрепленному именно за этим датчиком, например зона 2, датчик 6. Мне напрашивается таблица с адресам, чтобы просто задав номер ячейки таблицы записать данные. Но, что-то таблица в уме прикидывается немаленькая(мин 15x15)

Забить на данную реализацию и сделать так?
Несколько первых байт в фрам отводим под счетчик, с начального адреса(после адреса счетчика) начинаем писать, просто задав в заголовке зону и номер, а далее данные. Сохранять в счетчик адрес следующей записи и т.д. Потом скопом считывать разбирая(сортируя) по заголовку в таблицу!?

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

Как считаете, расчитывать и вбивать адреса в программу?
Реклама:
Saadov вне форума  
Непрочитано 23.06.2013, 20:19  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Выделить каждому датчику свое пространство по 2-4-8 и т.д. байт и записывать по таблице. Второй вариант только увеличит нагрузку на и так слабенький контроллер, да и запутаться/ошибиться проще
niXto вне форума  
Сказали "Спасибо" niXto
Saadov (23.06.2013)
Непрочитано 23.06.2013, 20:37  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Буду сейчас высчитывать адреса, спасибо.
Saadov вне форума  
Непрочитано 23.06.2013, 20:39  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,923
Сказал спасибо: 2,985
Сказали Спасибо 3,163 раз(а) в 2,147 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Я - за "фиксированные размеры разделов для зон и датчиков + математика со степенями 2".
Сообщение от Saadov Посмотреть сообщение
Вся соль в том, что данные могут модифицироваться,т.е. лучше обратиться напрямую по адресу, чем перебирать и искать по индексу.
Во ФРАМ чтение разрушаюшее и тоже расходует ресурс.
ForcePoint на форуме  
Непрочитано 23.06.2013, 20:45  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Сообщение от ForcePoint Посмотреть сообщение
Я - за "фиксированные размеры разделов для зон и датчиков + математика со степенями 2".
Разделы и так будут фиксированные, я же знаю сколько байт я приму.
Сообщение от ForcePoint Посмотреть сообщение
Во ФРАМ чтение разрушаюшее и тоже расходует ресурс.
Мне 10 в 12 степени хватит(1 триллион износостойкость).
Saadov вне форума  
Непрочитано 23.06.2013, 20:55  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Сообщение от ForcePoint Посмотреть сообщение
Во ФРАМ чтение разрушаюшее и тоже расходует ресурс.
На наш век хватит.
_Артём_ вне форума  
Непрочитано 24.06.2013, 03:58  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Лень было вбивать адреса вручную, да и вдруг изменить надо будет.
Состряпал простенькую программку, без всяких украшательств, можно сказать - под себя. Но вдруг кому нужна будет. По идее будет работать у всех с NET Framework 4.0,4.5

Просто вбивается начальный адрес, потом выбирается количество байт(пространство на которое будет ссылаться адрес), задаем размерность массива, выводим, получается массив адресов, который автоматом копируется в буфер обмена для вставки в программу для микроконтроллера.
Вложения:
Тип файла: rar Address Array.rar (5.1 Кб, 46 просмотров)

Последний раз редактировалось Saadov; 25.06.2013 в 00:12.
Saadov вне форума  
Непрочитано 24.06.2013, 06:20  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,924
Сказал спасибо: 2,543
Сказали Спасибо 11,821 раз(а) в 5,927 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Какая сложность вычислить адрес mas[x][y][z]? Зачем таблицы?
А mas может располагаться где угодно...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 24.06.2013, 09:38  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Сообщение от Saadov Посмотреть сообщение
задаем размерность массива, выводим, получается массив адресов, который автоматом копируется в буфер обмена для вставки в программу для микроконтроллера
А почему нельзя пойти традиционным способом? Например, так:
Код:
#define N_Sensrs     15

uint8   uiZone,     // номер зоны
        uiSens;     // номер датчика

        address = base_addr + ( (uiZone-1)*N_Sensrs + uiSens )*sizeof( тип_элемента_данных_с_дачика );
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Сказали "Спасибо" tempora
Saadov (25.06.2013)
Непрочитано 24.06.2013, 22:32  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Таблица адресов для внеш. памяти

Сообщение от akegor Посмотреть сообщение
Какая сложность вычислить адрес mas[x][y][z]? Зачем таблицы?
Приведите кусок кода, пожалуйста.
Сообщение от tempora Посмотреть сообщение
А почему нельзя пойти традиционным способом? Например, так:
N_Sensrs 15 - это кол-во байт в памяти отведенных на 1 датчик?
Saadov вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Апгрейд и комплектующие для ноутбуков mikesmith Барахолка электронных компонентов 28 17.05.2023 23:25
2012г - конец или начало? ve_de Отвлекитесь, эмбеддеры! 89 31.10.2008 16:05
Краткий обзор методов помехоустойчивого программирования для Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 0 09.04.2008 01:17
из DVD в DVD-player реально? Altalimir Микроконтроллеры, АЦП, память и т.д 14 17.09.2007 21:21
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49


Часовой пояс GMT +4, время: 13:32.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot