Форум по микроконтроллерам: Камбридж на 628 пике - Форум по микроконтроллерам

Перейти к содержимому

  • 2 Страниц +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Камбридж на 628 пике

#1 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 04 Май 2020 - 11:10

Добрый день. Появилась необходимость собрать камбридж на 16f628 пике. Нашел схему и прошивку для 18f1320 (асма к сожалению нет). Сам никогда не имел дело с 18 пиками, поэтому может кто-нибудь посоветует как переложить алго на 16пик.
Исходники во вложении:

Прикрепленные файлы


0

#2 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 05 Май 2020 - 20:35

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

#3 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 07 Май 2020 - 06:32

Представляю... Сам пишу на пиках...

Основная тяжесть это реализация алгоритма AES128. Памяти, конечно, намного меньше, чем у 18 пика, но можно пристегнуть внешнюю еепром 24с64...


0

#4 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 07 Май 2020 - 09:58

Уважаю. AES128 написать на асме. Но алгоритм из прошивки Вы не вытащите в ближайшую пятилетку. За месяц, не напрягаясь, напишите сами. Взять за основу, хотя бы текст из википедии.
Но очень тяжело будет отладить. 628 не поддерживает отладку. Если есть время и желание, то тогда конечно. Мне кажется вряд ли Вам кто-то поможет с Вашим заданием. Не актуально.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#5 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 07 Май 2020 - 12:42

Просмотр сообщенияMAZ (07 Май 2020 - 09:58) писал:

Уважаю. AES128 написать на асме. Но алгоритм из прошивки Вы не вытащите в ближайшую пятилетку. За месяц, не напрягаясь, напишите сами. Взять за основу, хотя бы текст из википедии.
Но очень тяжело будет отладить. 628 не поддерживает отладку. Если есть время и желание, то тогда конечно. Мне кажется вряд ли Вам кто-то поможет с Вашим заданием. Не актуально.


Отлично отлаживаю в MPLABe- загоняю данные в таблицу - из нее в оперативу и вперед....


Регистры можно посмотреть в окне "Watch"
0

#6 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 07 Май 2020 - 20:17

Да это понятно.

Цитата

Отлично отлаживаю в MPLABe- загоняю данные в таблицу - из нее в оперативу и вперед....

Куда вперед? Что такое оператива?
В лабе в живую не проверишь. Ну чтобы понятно, например, как работает 1_WIRE. Запрос видно, а ответ?))
Лаб это калькулятор. Для проверки многих задач подходит. Но, когда нужен ответ от реального устройства, всё.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#7 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 08 Май 2020 - 07:23

Оператива - оперативная память контроллера - в 628 пике ее 224 байта.


Самое трудное - отладка протоколов обмена с внешним утсройствами.

А вычислительные программы выполняются что на симуляторе, что на на самом пике - один в один.

Если предположить, что мы гарантированно принимаем пакет из 200 байт (например) то мы можем расположить этот пакет в оперативной памяти и работать с ним.

Ну а то, что мы (вернее наш пик) должен принять - мы можем заранее задампить (прочитать снифером ком-порта например).

На данный момент я прописал протокол обмена с ком-портом на скорости 115200 кб/сек, прописал процедуру инициализации модема и открытия TCP сокета, в том числе и реконнект при разрыве связи. Преобразование дайтаграмм в инкапсуляцию ppp и наоборот (сжатие-разжатие), рассчет CRC16 для дайтаграммы IP-UDP.

В последнем случае как раз помогла эмуляция в MPLABе.

Теперь нужно думать о реализации СRC32, md5 и AES128. Если первые два можно пропустить (рассчитать заранее). То AES128 нужно реализовывать в полном объеме. И вот тут я столкнулся с серьезными трудностями: во первых не знаю как подойти к этому алгоритму (видимо трудности с его пониманием), а во вторых интуитивно чувствую, что сам по себе 628 пик не сможет вместить в себя такой объем данных. Но для этой цели можно использовать внешнюю память.

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

Модератору просьба - удалить дубль этой темы, который ошибочной был создан.

" Не понятно. Что такое камбридж? Где алгоритм? И зачем это надо, если есть готовое. Надо всего лишь взять нужный пик. У меня большие сомнения, что 628 потянет, даже по частоте."

Камбридж - это аппаратный клиент кардшаринга. Он обеспечивает работу с сервером по протоколу CS357. (Camd357). Это означает, что все доступные к просмотру пакеты работают через один порт (в отличие от распространенного протокола NewCAMD, который ВСЕГДА использует отдельный порт для каждого пакета (CAID)).

Изначально камбриджы работали в связке с сотовыми телефонами сименс. Однако ввиду наличия у меня GSM-модема Siemens MC35i я решил переложить данное устройство на модем.

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

Описание работы протокола CS357 (Camd357) можно найти здесь:
https://github.com/i...module-camd35.c

https://github.com/t...d35Gateway.java

Сообщение отредактировал dima83: 08 Май 2020 - 07:24

0

#8 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 08 Май 2020 - 18:01

Да я сильно отстал. У 628 оперативная память появилась.))
Ну ладно. По Вашему получается танцы с бубнами заменяют простой отладчик. И зачем их покупают.))
Вторую тему уберу.
Я сейчас притуляю ESP8266 к своему электрическому котлу на даче. Вай фай есть. Не представляю, как это можно сделать без отладчика.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#9 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 11 Май 2020 - 07:06

Так она и была: RAM Data Memory

Программная память: Flash Program Memory

Память данных: EEPROM Data Memory

Как вы считаете, навскидку, сколько времени займет обработка 160 байт алгоритмом AES128 на 8ми битном пике?


0

#10 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 11 Май 2020 - 23:14

RAM Data Memor Где тут слово, оперативная? Это всего лишь память данных в которой некоторые регистры могут использоваться как статическая оперативная память.
EEPROM Data Memory энергонезависимая память данных.
Вообще оперативная память подразумевает определенный функционал.
Я бы еще назвал W, регистр оперативной памяти.

Цитата

Как вы считаете, навскидку, сколько времени займет обработка 160 байт алгоритмом AES128 на 8ми битном пике?

Вопрос странный. Я не знаю частоту тактового генератора. 128 битный ключ, 1 мкс такт, думаю, что долго, в районе десятков секунд ))
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#11 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 12 Май 2020 - 06:43

Давайте будет отталкиваться от аналогии контроллера с компьютером, и в том и в другом есть оперативная память. Кроме того, RAM - самая "быстрая" память контроллера. Т.е. обращение к ней занимает наименьшее количество времени, по сравнению, скажем c EEPROM или c внешней I2C EEPROM. Поэтому давайте не будем закидывать друг-друга определениями из мануалов и даташитов.

Пик работает на частоте 20 МГц.

В оригинальном камбридже от Гегеля обработка идет намного быстрее, как следует из логов обрабатываются 8 128 битных блоков. При этом нужно учесть, что суммарное время "обработка-передача-прием-обработка" не должно превышать 1-2 секунд!

Сообщение отредактировал dima83: 12 Май 2020 - 06:44

0

#12 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 12 Май 2020 - 08:36

Извините. Но мне это тема не интересна. Своих дел хватает. В общих чертах у меня представление есть. И пока достаточно. Так как практического применения для себя не вижу. Знать все, моей оперативной памяти не хватит.))
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#13 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 12 Май 2020 - 10:07

Тогда давайте подождем... Может тут найдутся те, кому это будет интересно.

Добавлю лишь, что памяти в контроллере скорее всего не хватит для обработки такого сложного алгоритма и придется цеплять к нему внешнюю EEPROM.

Есть есть специалисты по криптоалгоритмам, то к ним просьба - помогите пожалуйста найти имплементацию AES128 под 8ми битный пик-контроллер. По возможности легкую и быструю на языке MPASM.

Сообщение отредактировал dima83: 12 Май 2020 - 10:08

0

#14 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 12 Май 2020 - 14:31

То что Вы ищете, это не реально. Основная команда здесь, люди в возрасте, давно ушли на стм.
Есть мысли завязывать с этим порталом. Ленятся писать статьи и что-то обсуждать. Ну например 628 пик.))
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#15 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 12 Май 2020 - 14:35

да я заметил - тут у вас не многолюдно...
0

#16 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • Группа: Администраторы
  • Сообщений: 1 496
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 12 Май 2020 - 17:27

Да запустили в свое время. Вирусов, ботов нахватались. Антивирусники ругались. Теперь почистили. Но народ уже разошелся. Да и нам самим уже не интересно. Мне 56, внуки, дачи.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#17 Пользователь офлайн   nick14 

  • Группа: Администраторы
  • Сообщений: 1 479
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 15 Май 2020 - 23:21

Мне кажется вы достаточно хорошо понимаете в программировании мк и лучше перейти на 18 серии, в которой и оперативки больше и скорость до 64 МГц. Разница в программировании особой нет, мне кажется на 18 проще реализовать вашу задачу. А вообще все что связано с интернетом лучше использовать готовые модули, к примеру если проводной интернет (подключение витой парой) я бы посоветовал модуль Ethernet-контроллер W5100 в отличии от ENC28j60 не надо обрабатывать IP пакет , CRC и др., в нем одновременно можно реализовать до 4 сокетов, указываешь только протокол udp, tcp и номер порта и получаешь/передаешь только данные. Если на WI-FI можно ESP8266, в нем то же готовый TCP/IP стек, более того если вы пишите на Си можно все реализовать без МК. В любом случае в 1-2 сек на 16 МК такую задачу не потянуть, при подключении внешней памяти скорость обработки снизится.

Что касается AES128 посмотрите, может поможет...
0

#18 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 16 Май 2020 - 10:56

Я тоже думаю, что 8ми битный пик не потянет такую задачу.

А если взять, к примеру, GSM-модем TELEOFIS RX108-L2. В нем есть аппаратная поддержка TCP|IP-сокета. Кроме того в нем встроен интерпретатор языка питон. Объем програмной памяти для него 2 Мб, объем ОЗУ - 1,2 Мб. Для него так же написан скрипт GprsTerminal.

Вот скажите возможно реализовать нужную мне задачу на таком модеме?

Какова будет его скорость работы?





конечно есть минус - у этого модема порт RS-485, т.е. нужно делать переходник RS-232 - RS-485. Но плюс в том, что все в одном корпусе - никаких дополнительных коробочек - шнуров-проводов....

Что же касается 18пиков - пробовал дезасмить исходник от Гегеля - не получилось - MPASM не принимает его и выдает кучу ошибок...

Прикрепленные файлы


Сообщение отредактировал dima83: 16 Май 2020 - 10:54

0

#19 Пользователь офлайн   nick14 

  • Группа: Администраторы
  • Сообщений: 1 479
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 16 Май 2020 - 23:19

Скорость модема наверно будет достаточна. Я 5 лет назад начал использовать ESP8266, одно из первых устройств для работы с интернетом по WI-FI . По сути это то же модем, со стандартной прошивкой управляется по UART так же АТ командами, тогда я еще не умел программировать непосредственно сам модуль и для управления задействовал 12 пик. Конечно там не нужно было делать расчеты, но связь с сервером в облаке и передача данных работает стабильно. До сих пор с десяток таких устройств задействовано для сбора температуры и управления. Пробовал и разные GSM модемы, последние M590E брал что бы удешевить стоимость конструкции, но все они работают медленные и не так стабильно. Что касается TELEOFIS RX108-L2 с ним не работал, но думаю разницы особой нет, наверно к модуля GSM прикручен МК с примочками. С языком питон не приходилось сталкиваться, просто слышал, но никогда не использовал.
Я бы посоветовал попробовать ESP8266 можно купить вот такой, не нужен переходник, а сразу по USB к компу подключаешь и прошиваешь, очень удобно. Его вообще можно засунуть в приемник без всяким проводов и он точно справится с вашей задачей. Почитайте форум, может кто то уже реализовал на нем камбридж, если нет то как я и говорил можно попробовать АТ командами и задействовать ПИК. Но в этом случае на ПИК не будет такой нагрузки и задач.

0

#20 Пользователь офлайн   dima83 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 12
  • Регистрация: 04 Май 20

Отправлено 19 Май 2020 - 06:19

Спасибо за ссылку, но, к сожалению, стационарный и-нет у нас очень дорогой, а бесплатных точек доступа - нет.

Бала мысль перейти на 3G -модем, но ничего подобного с интерфейсом 232 я не нашел, а управлять по usb-нереально!

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

Сообщение отредактировал dima83: 19 Май 2020 - 06:23

0

Поделиться темой:


  • 2 Страниц +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей