Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CSR101x vs NRF51
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
denyslb
По воле судьбы вручили мне kit с CSR1010 и сказали "делай". Конечно это больше звучит как нытье, но отчасти, чтоб это убожество никто не взял, и заодно в конце вопрос:

Что получаем на данный момент:
По производителю:
1)Купил Mesh kit, а сам код mesh не дали. Ибо "экспортный контроль, там крипто". Исходники некоторых приложений - тоже. Ну да ладно, XXTEA спасет отца русской демократии.

По софту:
1)Унылый 8051, причем вендор признает наличие 8051 внутри - неохотно. Писать надо в сях, асм - типа нельзя, ибо в примерах и API нет, хотя иногда какие-то куски асмовского кода от работников, на форуме, - проскакивают. В основном для недокументированных функций или быстрого ногодрыжества. Периодически обнаруживается то еще один UART, то еще что-то.
2)Не всё API работает, например на вопрос про просыпание от watchdog tick обозначенное в API, ответили "в примерах приложений нет? значит не используйте".
3)Доступ к радио очень "высокоуровневый", т.е. ничего практически не покрутишь. Поменять мак устройства можно только через пень-колоду, официального способа нет, если прошил - то всё, привет, живи с этим.
4)Мак адрес из софта никак не записать, нужно блин формировать под каждый девайс виндовой утилиткой отдельный образ eeprom. Народ пытался расколупать формат eeprom - но безуспешно. Т.е. его вообще вручную не поколупать почти. В нем же сидят tx power, uart bitrate и прочие параметры, которые вообще-то желательно иметь возможность менять, по необходимости. Запись своих данных в eeprom - по их API, причем пишет опять же в проприетарном формате. Ах да, для пользовательских данных щедро отсыплют целых 16 байт, независимо от того, сколько свободно на eeprom. Конечно можно внаглую писать на i2c eeprom напрямую, угадав свободные куски, но "проприетарный" алгоритм может воспользоваться этим куском памяти, и будет сбой.

По железу:
1)Куча обвязки: Нужно два кристалла, и еще и внешнюю i2c eeprom, при этом мутные фразы про 64K ROM с аналогом softdevice(который оказывается все равно грузится в память), и 64K ram, из которых недоступна треть. Я так понимаю, что если будут какие-то фиксы, это еще будет в новых SDK отьедать ram и место на eeprom.
2)При наличии 32Khz кварца - RTC нет! Лишь его жалкое подобие, system tick, который работает от "быстрого" кристалла, который большую часть времени "спит".

Производство (или около того):
1)Программатор проприетарный, работает по закрытому протоколу SPI (своя система команд), стоит конских денег. Китайцы правда подсобили, и склонировали, с 5 раз меньшей ценой, но все равно - шить только виндовой проприетарной утилитой. Учитывая нюансы процесса (калибровка) - получается, нельзя даже "предпрошивать" eeprom.
2)Каждую железку надо калибровать, определять калибровочное значение на специальном девайсе, и перегенерить новый образ прошивки с калибровочным значением crystal trim.
3)Для прошивки надо SPI (4 контакта), естественно питание (еще 2), ну и пин для включения режима программирования. 6 контактов? Блин...
4)Самое веселое - OTA. Только их бутлодер, закрытый, через приложение (исходники которого не дают, ибо export control), и чтобы сохранить мак адрес и юзерские данные - нужно почесать левой ногой правое ухо.

Вобщем у меня неслабое ощущение, что чип несколько неприемлим для какого-либо производства.
Правильно ли я понимаю, что для NRF51 надо лишь SWDIO, SWCLK, VCC and GND для прошивки и тестов в производстве?
Я в данной сфере новичок, может вышесказанное норма, и я наступлю на те же грабли с NRF51?
BaN
Цитата(denyslb @ Mar 26 2015, 07:33) *
3)Доступ к радио очень "высокоуровневый", т.е. ничего практически не покрутишь.

Смотря что вы подразумеваете под покрутить. У NRF51 тоже особо не покрутишь, правда есть возможность сделать параллельную работу с радио нескольких протоколов, например, одновременная работа BLE и своего проприетарного протокола, либо сделать на одном устройстве Peripheral + Broadcaster приложения, где Peripheral с возможностью подключения к этому устройству и Broadcaster, который может одновременно слать advertising-пакеты, но без возможности подключения, когда какой-то Central уже подключился к Peripheral приложению.
Цитата(denyslb @ Mar 26 2015, 07:33) *
Правильно ли я понимаю, что для NRF51 надо лишь SWDIO, SWCLK, VCC and GND для прошивки и тестов в производстве?

Да.
Цитата(denyslb @ Mar 26 2015, 07:33) *
Я в данной сфере новичок, может вышесказанное норма, и я наступлю на те же грабли с NRF51?

Не норма, с NRF51 дела обстоят лучше.
Но там будет так же:
Цитата(denyslb @ Mar 26 2015, 07:33) *
1)Куча обвязки: Нужно два кристалла

Высокочастотный кварц обязателен для работы радио, низкочастотный для RTC.
Цитата(denyslb @ Mar 26 2015, 07:33) *
при этом мутные фразы про 64K ROM с аналогом softdevice(который оказывается все равно грузится в память), и 64K ram, из которых недоступна треть. Я так понимаю, что если будут какие-то фиксы, это еще будет в новых SDK отьедать ram и место на eeprom.

Здесь тоже софтдевайс отъедает 92кБ ROM и 8кБ RAM.

По остальным пунктам у NRF51 проблем нет.
В целом, NRF51 более прост в освоении, т.к. по нему есть больше информации, примеров и очень хорошая поддержка на devzone.nordicsemi.com.
denyslb
BaN - большое спасибо за информацию.
Получил DK сегодня, начал читать доки - небо и земля конечно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.