Отладочная плата для МК Silicon Labs C8051F380

  • Цена: $15.28 (брал за 17.40)

Недавно с тоски решил вспомнить навыки программирования контроллеров. Все мои старые платы предназначены только для того, для чего были предназначены, так что решил заказать отладочную плату. Так как дух старой школы живет только в контроллерах 8051 (и ничем другим я не успел позаниматься), то его и заказал. Выбор был невелик, так что выбрал что подешевле (а выбрал 8051F380 потому что надо было два порта I2C).

Почта
09.04 заплачено
17.04 отправлено
04.05 получил

What i expected
Того что придется напаивать вилки PLD на контакты входов/выходов;
Того что придется паять или покупать драйвер RS232;
Какой-нибудь документации;
Небольшого чуда, что в комплекте будет программатор (если долго смотреть на фотографию и описание, то можно себя обмануть что будет).

What i got
Не надо напаивать вилки;
Драйвер RS232 есть на плате;
Документы на саморезной болванке все на китайском и столетней давности;
USB serial communication оказалось тем, что и должно быть: уникальным кабелем USB / microUSB;

По плате
— Размер 45х60;
— Стоит стабилизатор 1117 (т.е. до 15В). Питание через разъем «толстой Nokia», через USB (перемычка между VBAT и входом стабилизатора наглухо залита диким количеством припоя), от контактов +5/GND через стабилизатор, напрямую от контактов +3.3/GND и порт программатора. Светодиод на стабилизированном напряжении;
— Стоит драйвер RS232 (3232CBNZ) на два порта, оба выведены на раъем;
— Есть два светодиода и две кнопки на входах/выходах;
— Внешнего кварца нет;
— Запитаться через мой Silabs USB Debug Adapter не получается, потому что контакт +3.3В в вилке на плате находится в другом месте (ошиблись что ли?) — но это можно подпаять;
— Флюс плохо смыт, фуфуфу;
— Маска радикально черная вместо голубой как на фото — дорожки видно плохо (хотя чего их смотреть);
— Пайка контроллера тоже так себе.
Выглядит всё это вот так:


Идущий в комплекте диск весь на китайском. Но он весь забит скаченными с сайтов Silabs и Cygnal бесплатными утилитами, китайскими документами на фирменные отладочные платы и какими-то самодельными инструкциями к IDE. В корне лежат три схемы отладочных плат от этой китайской компании. Схемы на английском, но моя оказалась несколько устаревшей.

Плата подключилась быстро (пришлось додуматься что питание с программатора не приходит), диоды заморгали, консоль через Гипертерминал заработала.

В общем за такие деньги можно брать — альтернативой были платы от WaveShare, но я их не оценил, хотя и внешне они выглядят лучше.
Планирую купить +3 Добавить в избранное +14 +21
+
avatar
  • sshiva
  • 05 мая 2015, 04:37
0
А на С писать можно? Т.е. есть ли вменяемые компиляторы?
Я из чистого любопытства спрашиваю, контроллер вроде достойный, но в моих реалиях MSP430 и STM32 гораздо дешевле, легче достать, проще с отладкой, функциональней.
+
avatar
+3
Я в свое время много писал именно для 8051, потому выскажу свое мнение по поводу С в связке с ним.
Писать — можно, у того же IAR в те времена был неплохой компилятор.
Но с учетом архитектуры — не хватит никакой памяти.
Я писал довольно сложные программы на ассемблере, и мне хватало 2к памяти программ (в то время не было флешь, не было 8051 с бешеным количеством памяти — 2к и УФ стирание), товарищи из соседнего отдела писали на С программы, пожалуй, попроще моих.
Вот они во внутреннюю память не укладывались, и когда я им нарастил внешнюю до максимума — 64к эмулятор ПЗУ пришлось спаять — им и ее не хватило.
И память данных, что основное в данном случае — на С улетает махом, при вызове каждой подпрограммы регистры (все) пихались в стек…
Про быстродействие я вообще молчу.

Вообще тогда я считал, что писать для контроллеров такого типа (и не только такого) надо на ассемблере, при этом зная структуру контроллера.
Муторно, но если ресурсов ограниченно…
Правда, давно этим не занимаюсь, может, что и изменилось — но вряд ли это коснулось достаточно древней штуки, как 8051…

А MSP430 тоже тогда собирался заняться, но все времени не хватало, текучка заела, до сих пор жалею — очень интересный чип, особенно сточки зрения энергопотребления…
+
avatar
  • Angrim
  • 05 мая 2015, 08:23
0
Я, можно сказать, из нового поколения разработчиков. Работаем с плисами от 200к вентилей и более, из контроллеров в основном stm32, редко stm8. Проблем с памятью нет, есть проблемы временем на проект. На ассемблере под тот же 8051 тоже немного писал… интересно, но лично у меня-меньше сил и времени занимает писать на си, что в данный момент важнее. В соседнем отделе обратная ситуация. Там люди часто пишут на ассемблере, но в большинстве случаев под русский аналог 486 процессора

К чему я… то ли я-как раз тот парень из вашего соседнего отдела, только в наше время, то ли сейчас проблема с производительностью и объёмом ПЗУ сильно сократилась.

Кстати, если не секрет, чем Вы в данный момент занимаетесь? И почему решили сменить род деятельности?
+
avatar
  • zair
  • 05 мая 2015, 09:43
+2
Мир одноразовых вещей коснулся и программистов. Конечно, пока будешь отлаживать ассемблерный код — конкурент наляпает десяток прототипов даже не на C а на Visual Builder-ах каких нибудь. Цена программиста со знанием архитектуры и опытом выше чем цена более мощного кристалла. А то что устройство будет потреблять больше энергии при работе, притормаживать и вызывать негативные эмоции у пользователя — так это не важно. Через месяц наляпают новых, и ваше устройство устареет не успев выйти на рынок.
Интересно, чем эта гонка закончится?
+
avatar
0
Ну чем-то закончиться (возможно отмиранием устаревших систем типа тех же 8051). Оно понятно что знать архитектуру и писать на ассембере это определенная эстетика, стиль и духовно-материальная культура. Но на C программировать получается сподручней. А если производительность и цена чипа позволяет — зачем гнаться за оптимизацией? Особенно что если ты выходишь за пределы масштаба «Набор „Юный Техник“, когда систему можно инициализировать при помощи всяких конфигураторов, то приходится изучать архитектуру. В каких-то редких приложениях можно и детально изучить контроллер, и даже прочитать про какие-нибудь открытые коллекторы и прочие p-n-переходы, и написать на ассемблере. Чай контроллер это не в Ростехнадзоре служить, особого премудростей нет.
+
avatar
0
Читать вашу переписку — одно удовольствие.
+
avatar
0
Ехал я как то из командировки, и соседом оказался знакомый, инженер с завода одного.
А ехал он после командировки к немцам.
И рассказал: надоим сделать стерилизационный шкаф.
Железо не берем, не про него разговор — берут они готовое ядро на чем то, ценой в зеленую штуку, и пишут простейшую программу на С.
За пару часов.
И стоит потом этот шкаф не по детски, но и потребность в них — хорошо, если 10000 в од, большене надо, даже меньше, скорее.
Они взялись для немцев сделать этот шкаф, а я для этого завода набросал структуру на 8051 и программу.
Структуру — прям в электричке, программу — кода они сделали макет, за пару дней.
Программист, который за пару дней это напишет, у немцев за эту пару дней получил бы столько, сколько я за пару месяцев.
Это были 90-е годы…

В данном случае все зависело от тиража: если бы продажи исчислялись не тысячами, а миллионами — они бы нашли специалиста и заплатили бы ему, а так — зачем?
+
avatar
  • Dim32
  • 06 мая 2015, 09:07
0
Я довольно долго работал с STM8(32), а потом открыл для себя ардуину. И о… ел, от того, как все легко, просто и быстро. Любой мало мальский грамотный школьник сделает за 30 мин то, что я раньше делал за пару дней. Так что гонка в мире одноразовых вещей уже закончилась, имхо…
+
avatar
+1
Работаем с плисами от 200к вентилей и более
В 90-х использовали ПЛИС Altera, довольно разной емкости — от задач зависело.
из контроллеров в основном stm32, редко stm8
Тогда их просто не было, тогда едва-едва PIC'и стали доступны, MSP430 — теоретически были, с УФ стиранием — под сотку баксов, флешь отдельно только появилась, как сейчас помню: число циклов записи — 1000.
Скорость записи падала на лазах с каждой записью.
Встроенная флешь программ появилась лет через пять…
меньше сил и времени занимает писать на си, что в данный момент важнее
Трудозатраты — весьма важный фактор, но при малых ресурсах часто получается наоборот.
А ресурсы у 8051 действительно очень скромные, тем ребятам, про которых я писал выше, я потом немного помогал: они писали на С, отлаживали кусок, давали мне, я ео переписывал на ассемблер.
Боюсь, что писатьсразу на ассемблере было бы быстрее.
В то же время для одного заказа использовали младший SHARC от Analog Devices — тут при написании на С не хватило быстродействия, была цепочка фильтров 6 порядка на частоты в десятки килогерц — не успевал SHARC.
А на его хитром ассемблере — успел, и резерв остался.
На старшем брате 8051 — 8096 — написал БПФ на 2048 точек, ну вот приспичило заказчику — да, вместо пяти минут на С ушло два дня, если бы в аппликейшен не смотрел — за деньбы справился.

не секрет,
секрет. Точнее, не хочу материться.
почему
— еще раз о вредепьянства.
Несколько лет я работал фактически заметно датый, но результат давал неплохой.
Но любое терпение не бесконечно…
+
avatar
0
Культовый Z80 наверное все знают. Так вот Zilog делала Z86 еще. В отделе где я работал на них почему то все делали, а не на 8051. Про PIC не знаю были ли они уже в то время, тоже 90е были.
+
avatar
0
Вообще тогда я считал, что писать для контроллеров такого типа (и не только такого) надо на ассемблере, при этом зная структуру контроллера.
Наф-наф-наф :) При современной стоимости контроллеров и их масштабируемости вверх (не хватило ресурсов — на то же место с тем же пинаутом можно поставить процессор мощнее за небольшие деньги) стоимость разработки существенно превышает стоимость самих контроллеров. Правило нарушается только при партиях от тысяч штук, но там уже свои законы :) В своё время я пересел с MCS-51 (да-да, еще с внешней ПЗУхой с УФ стиранием) и ассемблеров на avr с си с таким вздохом облегчения… :)
+
avatar
0
При современной стоимости контроллеров и их масштабируемости
прошу пардону — но разговор то про 8051…
Он весьма сильно устарел, но возьмите кристалл, в котором 2к памяти программ и 2к памяти данных — и что там можно написать на С?

Помнится, программа распознавания морзянки — делали для училища связи — понимала совсем неграмотного телеграфиста, у которого все точки разные и плавают солидно, а занимала 240 байт…
Сегодня я так уже не напишу…
+
avatar
0
возьмите кристалл, в котором 2к памяти
Так и вопрос в том, что сейчас просто нет смысла брать такой кристалл — экономия на цене кристалла будет многократно перекрыта расходами времени и сил (а это по сути тоже деньги).
+
avatar
+1
Хорошо.
Кристалл, на котором не хватает ресурсов для написания на С стоит 1 бакс.
Кристалл, на котором хватает ресурсов для написания на С стоит 2 бакса.
Зарплата программисту за время, за которое он напишет программу на С — 1 бакс.
Зарплата программисту за время, за которое он напишет программу на ассемблере — 10 баксов.
Вопрос: каким тиражом надо выпустить устройство, что бы привлечение квалифицированного программиста стало экономически оправданным?

Вот так примерно все и считается…
+
avatar
  • zair
  • 05 мая 2015, 15:22
0
Это если писать довольно простой функционал. Он может быть нагроможденным но по сути простым. Так сейчас и пишут в 90% случаев. А если прикинуть, что например система распознавания образов (к примеру) на 360х360 точек на асме вполне работает на микроконтроллерах stm, и даже топовых атмегах, то для тех же задач на С надо будет задействовать совсем другой ресурс. И разница тут не в 1 бакс и даже не в 10.
Чем масштабнее задача по требованиям вычислительной мощности тем разница в цене заметнее.
К «счастью» фотонные двигатели строить теперь некому да и не зачем…
+
avatar
0
Вообще то я просто привел цифры.
Напиши не 10 баксов — а 10 тысяч баксов и пересчитай.
С ситемой распознавания образов дела не имел, поэтому говорить не буду.
А вот с быстрым преобразованием Фурье, с цифровой фильтрацией до шестого порядка — имел.
И писал все на ассемблере.

Я специально взял утрировано простой пример, но сама мысль — все зависит от затрат на единицу тиража.
При общих затратах в лимон баксах и выпуске единичного экземпляра этот экземпляр и будет стоить лимон баксов, если выпустить миллион экземпляров — затраты на экземпляр — бакс.
Примерно так и считается все это.

И любую программу можно написать на любом языке программирования, просто некоторые на некоторых писать действительно не стоит.
Невозможно в одном посте раскрыть все области применения языков, их применяемость для той или иной задачи.
Я же не предлагаю винду на ассемблере писать, хотя CP/M-80, к примеру, именно на нем и была написана изначально.
+
avatar
  • zair
  • 05 мая 2015, 21:38
0
Винда на ассемблере…
Мир бы перевернулся а производители железа разорились…
+
avatar
0
В свое время на разных силабсах и еще раньше до того как фирму сигнал купили силабс, писал много на С.
Работал с Кейлом, вообще как по мне вещь отличная…
Кейл по моему можно бесплатно скачать, у силабса удобные утилиты для конфигурации… и все фитчеры в апликейшен ноутс уже реализованы…
Есть много плюсов у их микроконтроллеров…
+
avatar
+1
То чувство, когда чувствуешь себя ущербным, ведь не понимаешь о чем вообще идет речь.
+
avatar
0
Зря вы так, сегодня в инете ресурсов полно… да и упростили все дико… советую гляньте на ардуинку.
+
avatar
+4
Когда принял решение повспоминать посмотрел на Ардуино и озверел вообще. Я во флеш чтобы писать по SPI штуки три процедуры делал. А у них просто что-то вроде SPI_send_byte (SPI, Addr). SPI_SEND_BYTE, КАРЛ! Разложение и опошление.
В общем немедленно купил за три доллара какой-то ультракитайский UNO и модулей к нему. Буду разлагаться.
+
avatar
  • vismyk
  • 05 мая 2015, 12:06
0
SPI_SEND_BYTE, КАРЛ!
:-D К слову, когда мне в прошлом году понадобилось почитать одну 24C04 и записать прочитанное в другую подобную, наступил не на один десяток граблей, несмотря на SPI_SEND_BYTE. ;) Правда, я в МК не импотентен, дилетант как есть, с теми же китайскими pro-mini по 100 рублей (в том году) за штучку. Но Ардуино тем и нравится, что можно не знать про AVR-асм и фьюзы, а с минимальными затратами сил и времени лепить готовые макеты. Задумка именно в этом, а поделки, выбраные в продуктив, можно и повылизывать…
+
avatar
0
51 контроллер. Да. Вещь в свое время бесподобная. Вот только а моем предприятии выпускался 48. А 51 было не достать. Вот на этой каракатице с ее дивным быстродействием и приходилось работать. С внешней памятью в 2К. Но при желании эта фигня позволяла использовать 4К с переключением страниц. Редкостная мерзость. С? Да ну нафиг! Только любимый ассемблер. При том стеке, дай бог памяти в 3 call. И при этом удалось получить 2 уровня прерываний на одноуровневом проце. Но это были игры нищих. Вообще это было время игр и творчества. Попытки хоть что-то сделать на том, что использовать нельзя по определению. А линейная программа вместо использования цикла? Потому как для организации цикла тупо не хватало быстродействия? когда позже использовал TINY13 — это была сказка. Удачи!
+
avatar
  • warder
  • 05 мая 2015, 10:47
0
за а 17.40$ лучше взять было бы stm32f4 просторы для разработки намного больше были бы. Хотя перед на другие платформы всегда связан с трудностями(
+
avatar
  • banec
  • 05 мая 2015, 13:59
0
основная проблема это документация — я как не профильный программист — просто решил «ковырять» МК ради хобби, отец как-то к паяльнику приучил, он у меня связист. То что есть на С это Атмега, STM и MSP. Даже про ПИК мало (всё на ассемблере). А вообще МК это интересно.
+
avatar
0
Вот чего-чего, а документации сейчас навалом — что на контроллеры, что на цифровую схемотехнику. С сейчас ко всем старым 8-разрядным МК применимо — просто 8-разрядные МК они же не для реал-тайм вещания и обработки радиолокационных сигналов в самолете ценой сто миллионов долларей. А для всего остального, типа бытовой техники, не шибко хитроумного КИП и лабораторных приборов — вполне хватит. Порог вхождения достаточно низкий, а Ардуино (который прежде всего фреймворк или как это называется) недавно появился.
+
avatar
  • Dim32
  • 06 мая 2015, 09:19
0
Я думаю очень скоро появится FPGAдуино какое нибудь, на небольшом спартане, например, с ардуиноподобным IDE, с сообществом, кучей бесплатных корок, и ценой 2-3$. Для школьников старших классов.
И это хорошо, ящитаю…
+
avatar
  • Faster
  • 05 мая 2015, 15:12
0
Не знал на какой пост ответить так что плюну в конец,

Зачем нужно писать на ассемблере если можно просто заменить на более мощный, приведу пример, скажем так обратилась ко мне некая структура, российская военная (не зя разглашать тюрьма) и сказали что нужен:
Универсальный шифратор и дешифратор интерфейса RS-485? суть такова что все что передается должно шифроваться а с другой стороный расшифровываться, что может быть проще?
я молчу про ключики В 512 БИТ, и прочие прелести, а еще система смены ключей, доступ к настройкам через 2 протокола, один из которых ModBus другой их какой то стандарт… ну и много еще таких хотелок, надо сказать что ТЗ на 48 листов, без картинок, и это исключая форм фактора платы под определенный корпус…

Ну ладно я прочитал, от этого сумма (не могу озвучить, но скажем так не плохой средний авто) не стала менее превликательней, даи то что все делается на конкурсе, то есть кто выйграл тот все и забрал, есть шанс отработать в холостую…

Короче самый срам был в конце это список допустимых MCU (контроллеров) он был просто жалок… но в серии были мои любимые меги 8 и 16 версия…

Ну что же неделя бессонных ночей и прошивка с демо версией была готова, захексина и выслана…

и вуаля через месяц приходит мне извещение о заключении подписки, и контракта…

Как я выйграл? просто помимо всего что было напихано в ТЗ, я добавил стандартную консоль, да да обсалютно стандартную консоль которую можно вызвать просто подержав 20 сикунд кнопку сброса устройства (по тз така должна быть, она много функциональная) с нормальным интерпритатором, и даже командами типа? и help Правда не так подробно как это принято нео все же…

ив се это сунул в Atmega8 и еще даже чуть чуть осталось…

Попробуйте это на Си написать? я даже хе хочу знать сколько встанет протокол ModBus а еще второй а консоль?

и да при скорости 128к у меги работающей на 12 мгц еще и уйма времени в остатке…

Си хорошо но иногда просто некуда!

P.s. я четко понимаю что писать на асемблере под винду или SUSE это бред… но для меги, тем более что у неё асемблер проще и лучше некуда… само то
+
avatar
  • Faster
  • 05 мая 2015, 15:21
+2
З.Ы. Как бывший Spectrum'ист мой базовой язык программирования ASM а все остальное от без исходности.

Помню я еще процедуру вывода точки на экран за 64 такта, врианты сверх быстрого умножение с помощью команд ADD или ROL (RL), вывод спрайтов через функции стека POP и PUSH, битву за каждый такт и байт… да сейчас это так глупо…
+
avatar
+1
Вот помрут последние, кто писал когда то на асме, и кирдык программированию.
Не будет малых задач — даже под таблицу умножения потребуется пара гигов памяти…
Все, критичное по времени выполнения, по объему — всегда и только на асме, остальное — смотря на ресурсы.
А на мелких контроллерах ресурсов нет — так что и все остальное на асме :)
+
avatar
0
Мой отец по работе платы разводил, еще никаких компьютеров не было. Многослойки на прозрачной пленке в клеточку, каждый слой своего цвета карандашом. Потом уже появился PCAD, автотрассировка и т.д.
Никто сейчас не будет карандашом на бумаге разводить, хотя и можно. Так же и с ассемблером.
+
avatar
  • vismyk
  • 06 мая 2015, 09:33
0
я четко понимаю что писать на асемблере под винду или SUSE это бред
Бред это «хлеб» по-английски, а писать на асме под винду вполне себе реально. ;) Когда открыл для себя masm32, офигел от того, насколько под Винду писа́ть проще, чем под ДОС. Да там исходники мельче Си-шных получаются, не говоря уж о бинарниках. ;)
+
avatar
  • Soorin
  • 05 мая 2015, 20:08
0
«Скаченный» — видимо, от слова «скачЕть». Кто не «скачеть» — тот… скачать.
P.S. Русский язык же, какой там ASM…
+
avatar
0
Хорошо что я не такой умный как Вы, а то бы пришлось к голове подпорочки приделать чтоб не падала.