|
AVR+SEEPROM+1WIRE+Wegand, Подмогните алгоритмом |
|
|
|
Nov 12 2006, 22:50
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 15-01-06
Пользователь №: 13 190

|
Поделитесь пожалуйста рабочими примерами работы с iButton по интерфейсу 1WIRE, с проксимити картами по интерфейсу Wegand и работой с памятью по интерфейсу I2c типа 24LCxxx или AT24Cxxx.
В памяти будут хранится коды ключей, вообщето наврятли количество ключей будет больше 200, но память будет на 512к, нужно использовать ее по полной т.е. можно записать до 10000 ключей. Простой поиск ключа в таком обьеме, учитывая что номера будут не подряд к примеру от 1 до 5000, а в разнобой, может занять секунд 15, если кто нибудь делал такое подскажите как лучше реализовать поиск ключа в памяти. Мне кажется что после формирования списка ключей лучше всего сделать сортировку, к примеру пузырьковым методом, а поиск осуществлять методом последовательного приближения.
|
|
|
|
|
 |
Ответов
(1 - 9)
|
Nov 13 2006, 07:37
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(impuls-v @ Nov 13 2006, 01:50)  Поделитесь пожалуйста рабочими примерами работы с iButton по интерфейсу 1WIRE, с проксимити картами по интерфейсу Wegand и работой с памятью по интерфейсу I2c типа 24LCxxx или AT24Cxxx.
В памяти будут хранится коды ключей, вообщето наврятли количество ключей будет больше 200, но память будет на 512к, нужно использовать ее по полной т.е. можно записать до 10000 ключей. Простой поиск ключа в таком обьеме, учитывая что номера будут не подряд к примеру от 1 до 5000, а в разнобой, может занять секунд 15, если кто нибудь делал такое подскажите как лучше реализовать поиск ключа в памяти. Мне кажется что после формирования списка ключей лучше всего сделать сортировку, к примеру пузырьковым методом, а поиск осуществлять методом последовательного приближения. Приветствую Вас уважаемый impuls-v. Сразу извиняюсь за off top. Вы будете смеяться, но я делаю проект, который полностью подходит под Ваше описание. Самое интересное, что проект не на основной работе, а так сказать левый. Интересно мой удаленный работодатель ищет альтернативы или кто то хочет сделать, что то похожие? Кодом поделиться не могу. Хотя на более общие вопросы могу попробовать ответить.
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Nov 14 2006, 12:02
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Здравствуйте impuls-v. Нехочу навязывать своё мнениё, но всеже хочу высказать свой взгляд по этому вопросу. Вы говорите «скажем, так ни одна система мне ненравится». Ваш ответ чисто субъективной, в производстве нельзя создать систему удолитворяющего каждого потребителя, поэтому разработчику всегда приходиться идти на компромисс, что он хочет сделать и что он сможет сделать из ходя из бюджета. Конкретно на Вашем примере можно сказать следующие, что память серии 24CXX хороша исключительно для устройств начального уровня с максимальном хранением кодов до 2000 штук, при более высоком количестве хранимой информации, что бы не испортить другие характеристики устройства нужно использовать другую элементную базу. До 15000 можно использовать память работающею по SPI. Свыше 20000 нужно использовать память с параллельным доступом. 2 vesago извините, но не очень вериться, что время поиска у Вас всего объема 15 мкс.
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Nov 14 2006, 12:44
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(vesago @ Nov 14 2006, 15:28)  Я слукавил - 19  Сложно сказать - забивал базу всяким мусором, потом через JTAG в отладчике проверял скорость. Более 2-х итераций поиска не встречал. Все зависит, сколько повторяющихся хэшей будет - это зависит от ключей, от алгоритма хэширования. Реально может конечно увеличится, но не принципиально. Честно скажу - у меня заправляет всем LPC2214 60mhz. К нему прикручена праллельно флешка по 32 битной шине и рама тоже параллельно. Чтением занимается периферийная мега, которая толкает код cpu на 115200. Но в любом случае сам метод очень быстрый и не зависит от числа записей. Я его не придумывал - это классика. Вопрос конечно не корректный, но всеже, сколько вся эта «музыка» в конечном варианте стоит. Хотя я и понимаю, что 30000 уже не маленькая СКД
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|