Случайно узнал про этот топик, коллега ссылку дал. Думаю, следует прояснить ситуацию.
ПРЕАМБУЛА.
Изначально подразумевалось, что проект небольшой и займет пару недель рабочего времени, плюс один-два месяца в режиме сопровождения. Был запланрован довольно серьезный проект на конец лета, текущие работы были, в основном, завершены, т.е. активных работ по ним не проводилось, только сопровождение, короче время было. Плюс я немного "в теме" трансиверов вообще и СС1101 в частности. Увидел прелдожение, списался с заказчиком, даже договорились о скидке на услуги, для первого проекта. Не хочу, что бы выглядело, как альтруизм, но надо обозначить, о каких суммах и соображениях идет речь, дабы не драматизировать.
ХРОНОЛОГИЯ:
(мелочи постараюсь опустить, хотя, AFAIK, дьявол в мелочах)
2012/06/06
Оплачено 50% стоимости. Обязательства исполнителя: выбор компонентов, изготовление железа. Упор на максимально низкую себестоимость. Обязательное условие - вписаться в
технологические нормы PS-Electro. Плата устройства довольно компактная, а комплектующие должны быть распространенными. От СС430 заказчик отказывается, по соображениям себестоимости ... в итоге останавливаемся на СС1101 и что-нибудь в SO8, оно же мелкая Tiny.
Небольшой штрих. В процессе обсуждения появлятся новая "хотелка" - модули 433МГц и 868МГц монтировать друг над другом, "бутербродом". Так делать не рекомендую, но заказчик выбирает этот вариант. Несколько лишних дорожек работу сильно не усложнят, так что соглашаюсь.
2012/06/12
Герберы, схема, сборочный чертеж и BOM предоставлены заказчику.
2012/06/13
Заказчик проверяет плату, вносятся мелкие корректировки. Составлен окончательный вариант BOM.
2012/06/15
Платы отправлены в производство.
2012/06/22
Заказчик получил платы.
2012/07/14
Заказчик собрал комплектующие и отдал платы в монтаж.
2012/07/22
Мне передан экземпляр устройства.
2012/07/26
Уточняем функционал firmware.
Предлагаю изолировать firmware от настроек радиотракта и вынести настройки в ЕЕПРОМ. Помимо очевидной "правильности" такого решения, есть еще соображение. Дело в том, что это один из "мутных" пунктов нашей договоренности, поскольку содержит минимум информации. Основной посыл - чувствительность должна быть не хуже, чем у референсного модуля RTX-MID-CC1101. Оценки производятся на глазок. Антенна - кусок МГТФ. В целом, для данной задачи, подобный метод оценки вполне допустим (речь же не о ракетах земля-воздух), но только при сравнении в одинаковых условиях.
Больше того, предвидя потенциальные недоразумения, а так же, что бы исключить в будущем зависимость заказчика от исполнителя, был написан и опубликован документ, описывающий структуру настроек. Даже если "пройдут годы"(с), а заказчик захочет что-то подправить или изменить, ему ничего не потребуется менять в firmware. Достаточно залить в ЕЕПРОМ новые настройки. В общем, я не отступаюсь и мы принимаем этот вариант.
2012/07/27
Оплачено 50% стоимости.
2012/08/02
Успешно отлаживался на сторонней железке, с другого проекта, но мой экземпляр не хочет запускаться. Оказывается, вместо вместо резонаторов, при монтаже были установлены генераторы. Исправляю.
// Кстати, именно по этой причине, всегда считал и считаю, что первый экземпляр, по-возможности, разработчик должен собирать лично.
2012/08/03
Обнаружил свой косяк. Пинов впритык, из 6 доступных IO, 4 идут на СС1101, наружу всего 2 пина. Пока рассматривали/выбирали разные контроллеры, пока все утрясли, к тому моменту упустил, что debugWire по-умолчанию отключен. Собирался шить через пин Reset, после чего Reset переводится в режим IO. Решение проблемы - внешняя клипса на SOIC.
2012/08/04
Отправил заказчику экземпляр, для проверки.
2012/08/10
Заказчик получил устройство, прошил его, обратил внимание на отсутствие режима энергосбережения.
2012/08/11
Чувствительность модуля никакая. Уточняем параметры передатчиков. Попутно, для удобства заказчика, делаю вспомогательную прошивку, задействующую встроенный в СС1101 генератор псевдослучайной последовательности. Предлагаю с ее помощью оценивать BER.
Попутно мы выясняем, что передатчики используются не кварцованные, а на ПАВ. Значит придется расширить полосу.
2012/08/14
С приемом на 433 разобрались. Разбираемся с передачей - у меня на макете все работает, у заказчика нет. Ищем, в чем различия.
2012/08/15
> Tahoe
> У нас есть два сорта проблем: логика работы модуля и настройки радиотракта.
> За решение первого, отвечает прошивка. За решение второго - настройки ЕЕПРОМ.
> Сейчас сосредоточимся на первом и получим на выходе финальную прошивку.
> Затем, уже не трогая прошивку, разберемся с настройками.
2012/08/17
Выяснили в чем проблема с передачей. На плате заказчика, модулем управляет МЕГА88, софт написан другим программером. При переходе в сон, он переводит пин контроллера во float, расчитывая на то, что в референсном модуле пин подтянут к GND. А вот Tiny этого делать не умеет, только к VCC.
2012/08/17
>> Заказчик
>> О какой задержке идет речь?
> Tahoe
> Первая версия ПО была от 2012/08/02. Сегодня 2012/08/17, а мы ещё не закончили.
> Существует распространенный стереотип, что фрилансеры работают медленно.
> У меня же, как правило, обратная ситуация, заказчик за мной не успевает.

> Но темп обеспечивается не на пустом месте, а за счет оптимизации
> процесса разработки. Как следствие, любые изменения, приводят к снижению темпа.
>
> В нашем случае, две недели было потрачено на проблемы со стендом, а не
> на настройки. Обычно, все делается наоборот. Сначала запускается и
> отлаживается сам модуль, а уже потом, имея на руках готовое изделие,
> решаются вопросы, связанные с его интеграцией в целевое устройство.
>
> Причины,.по которым мы пошли именно таким путем, мне понятны. Но от
> этого легче или быстрее все равно не станет, сам способ остается более
> трудоемким и долгим.
>> Заказчик
>> Мне все же сподручнее проводить наладочные работы на давно эксплуатируемой плате,
>> так как становится видны все ньюаны работы нового модуля.
> Tahoe
> Ок.
2012/08/18
>>> Заказчик
>>>
>>> Да, именно так. Визуально то, что я вижу осциллографом на выходе RRS3
>>> совпадает с тем, что передал.
>> Tahoe
>>
>> Ок. Тогда с передачей на сегодня все?
> Заказчик
>
> Yes.
>> Tahoe
>>
>> А что у нас с приемом?
> Заказчик
>
> Прием тоже вроде бы правилен. Завтра сделаю полную проверку на
> передачу и на прием, возможно также получится сделать тесты на дальность.
2012/08/19
> Заказчик
>
> Сегодня удалось провести полноценное тестирование на 433.92.
> Исходные данные аналогичные прошлым.
> Прием: до 80 метров. Отличный результат.
> Передача: до 50 метров. Отличный результат.
>
> Как поступим с модулем на 868? Все параметры кроме частоты оставить
> от модуля 433? я к тому, не возникнет(теоретически) ли проблем с работой модуля на этой
> частоте. ситуация несколько усложняется тем, что у меня нет
> 868-варианта в железе.
>
>
> PS. Думаю можно начать решать последний вопрос - уход модуля в сон,
> тк к работе радиотракта на 433 замечаний нет.
2012/09/15
>> Заказчик
>>
>> Уж порадуйте новой прошивкой.
> Tahoe
>
> На данный момент, у нас проблема не в прошивке. Проблема в том, что мы
> тестируем разные устройства. Я тестирую непосредственно модуль. Вы
> тестируете устройство в целом. До некоторой степени я сознательно
> участвую в этом процессе, однако не будем забывать, что моя работа,
> все-таки, заключается в разработке модуля трансивера, а не устройства
> на МЕГА88.
> Я предлагаю все-таки вернуться к стенду на макетной плате, такой же,
> как у меня и сначала закончить с модулем. А уже после того, как этот
> этап будет завершен, можно заниматься вопросами интеграции модуля в
> конечное устройство. Очевидно, что этот путь единственно правильный и
> наименее времязатратный.
2012/09/16
> Заказчик
>
> Возможно тут есть некоторая ошибка амперметра, но показания по току в
> режиме сна устанавливаются в районе 0,3мкА. В любом случае, результат
> меня устраивает.
> Пробежался по остальным режимам, прием/передача, вроде все в порядке.
> Да там наверное и после последнего согласования ничего не изменялось?
> Осталась 868,35 Мгц частота.
> PCB получается необходимо поправить, перекинув пины.
> Можно ли заодно чуть отодвинуть С202 и FB100 от Attiny25, чтобы было
> легче подцепляться клипсой для заливки soft.
2012/09/28
Внесены изменения в PCB, выложены герберы.
2012/10/26
> Заказчик
>
> Отзвонились изготовители ПП. Ситуацию обрисовали следующим образом,
> предыдущая плата была выполнена с аналогичными нарушениями
> тех.требований. И их конструктор самостоятельно произвел необходимые
> доработки.
> В последней ревизии платы они уже не смогли произвести
> корректировку, ввиду ограничений по зазорам(насколько я понял).
> Все вышесказанное со слом менеджера электроконнекта.
> Просят выслать им исправленный вариант.
2012/10/27
Внесены коррективы в PCB, выложены Герберы.
2012/11/15
> Заказчик
>
> Новую ревизию ПП забрал с монтажа.
> Вышлите, пожалуйста, софт под 868,35Мгц.
> Tahoe
>
> Пока в запарке, но завтра будет полегче уже. За выходные пришлю.
2012/11/19
> Tahoe
>
> Выложил предварительную версию ЕЕПРОМ 868Мгц:
> SUPPORT/MCU/EEPROM/20121118.RTX_MID_CC1101.EEPROM.868.BIN
>
> Пара комментариев.
> 1. Сгенерил прошивку ЕЕПРОМ с помощью специально написанной программы,
> однако проверить в железе мне не удалось - в моем экземпляре модуля
> отключен пин RESET, а по-быстрому сбросить его через HVSP мне не удалось.
> Скорее всего с проводами напутал, ввиду ограниченности во времени.
> Но в ближайшие дни все равно проверю.
>
> 2. Файл выложил в формате *.bin, но, думаю, это не вызовет затруднений.
> Программа, с помощью которой создаю дамп ЕЕПРОМ на выходе имеет двоичный
> формат ( оно же *.bin ). Можно, конечно, скормить его конвертеру BIN2HEX,
> но поскольку в железе я не проверил, решил исключить любые лишние преобразования.
>
> Если удастся проверить раньше меня, а скорее всего так и будет,
> то жду результат проверки.
2012/11/25
> Заказчик
>
> Ситуация напоминает первые тесты с 434 модулем, когда прием работал
> только на расстоянии нескольких метров. Затем, если не ошибаюсь, были поправлены
> настройки модуляции и после этого все завелось. Возможно здесь аналогичная ситуация?
> Tahoe
>
> Да, я именно в этом направлении и копаю. Но держу в голове и железные варианты,
> вроде "не те балуны запаяны", на 433 вместо 868.
...
в этом месте пока прервусь, ибо уже час потратил
ИТОГО ( предварительно )
Железо сделано. Софт написан. По внешнему интерфейсу, устройство эмулирует работу референсного RF-модуля.
Заказчик периодически пропадает, на месяц-полтора. Глупо считать что исполнитель (в данном случае я), будет просто сидеть и ждать. Как ни странно, но исполнителям, пусть даже на фрилансе, необходимо питаться и покупать бензин.
Логично предположить, что через месяц, а то и неделю, исполнитель уже занимается и другими проектами. А значит, имеет обязательства (в т.ч. по срокам) и перед другими заказчиками, которые ничем не хуже. Другими словами, без планирования времени, хотя бы прикидочно, не обойтись. Это к разговору о "кормлении завтраками" и "тяни-толкай". Есть такой сорт заказчиков, которые считают, что можно объявиться в произвольный момент, потребовать немедленно бросить все текущие проекты и заниматься исключительно его делами, на том лишь основании, что он однажды заплатил.
В параллельном проекте, зимой, был задействован C1101, а железо
удачно подходило для тестового стенда. Договариваюсь с собственником проекта и предлагаю отправить заказчику экземпляр, что бы у нас было два одинаковых тестовых стенда. Тестовый стенд позволит существенно сэкономить время. О том, что для написания софта к тестовому стенду, потребуется затратить время, уже даже не упоминаю. Предложение игнорируется.
Выясняем, что имеются новые пульты. С некоторыми из них чувствительность лучше, чем референсный TRX, с другими хуже. Попутно выясняем, что имеем дело с АМ-сигналом без преамбулы, т.е. пороги компаратора/слайсера устанавливаются прям по полезному сигналу.
Ситуация на данный момент тупиковая. Объем выполненной работы, существенно превышает изначально запланированный.
Что бы не быть голословным, вот
ссылка на проект. Если заказчик сочтет публикацию данной ссылки не корректным, публичный доступ закрою, конечно.