Старт с Silab'ом

Фирма Silicon Laboratories считается (или сегодня уже «считалась») мировым лидером в создании высокопроизводительных, аналого-насыщенных интегральных микросхем смешанных сигналов. Сказать так это или нет, можно путем сравнения — сравнить сегодня есть с чем.
8-битные МК смешаного сигнала фирмы Silicon Laboratories занимают одно из ведущих мест на рынке электронных компонентов в силу двух основных причин:
быстродейтвующее (тактовая частота до 100 МГц) процессорное ядро CIP-51, полностью прогроамно совместимое с микроконтроллерами Intel 8051, система команд которого является по сути международным стандартом, под нее разработано множество средств проектирования программ и готовых программ;
широкий набор прецизионных аналоговых перефирийных узлов.

Полный перечень всех производимых в настоящее время фирмой Silabs MK и их парметры можно посмотреть на сайте MCU Parametric seach.Все микроконтроллеры образуют ряд семейств, имеющих особые свойства. Внутри каждого семейства имеется ряд модификаций, отличающихся количественными параметрами(в первую очередь количеством выводов корпуса). Обозначение каждого МК содержит строку символов «C8051F», после которых следует трехзначный десятичный номер модификации МК.

Впервые узнав о существующей фирме Silabs (да, изначально эти МК выпускались конторой «CYGNAL»)и ознакомившись с имеющимися тогда в продажи МК, сильно захотелось пощупать этот «микромир».Сразу возник вопрос вопрос: с какого же контроллера начать изучать данное семейство? Выбор был не велик — как по доступности так и по моим скромным финансам. И по определенным стечением обстоятельств достался мне некий C8051F320.
Что я хочу сказать, знатная вещица в своем классе. Для справки приведу краткое описание сего изделия:

Думаю на выше приведенном рисунке вполне полно дана характеристика. Если что подробнее — все вопросы к Оригинальной документации. Да, кстати, довольно много переведенной документации (оригинально) на великий и могучий русский язык. В чем несомненно есть +, и чем грех не воспользоваться. За время пользования переведенной документацией на свой МК не было замечено ошибок. Не исключено что просто не сталкивался.

Одной из особенностей настройки данных МК можно отметить назначение приоритета каждой функции ввода/вывода. Она осуществляется с помощью «Приоритетного декодера матрицы». Если какой-либо цифровой ресурс выбран, то этому ресурсу назначается не назначенный вывод порта с наименьшим приоритетом. К примеру, выводы интерфейса I2C — SDA и SCL — могут быть назначены любым из возможных и незадействованных выводам. В C8051F320 это выводы P0.(0,3,4,6) для SDA и P0.(1,4,5,7)для SCL.

Для, так бы сказать «пощупать» — развел небольшую плату с этим МК:

минимум — все линии ввода/вывода, возможность подключения внешнего кварца (хотя и внутреннего с головой хватало), переключение питания(внешнее или от USB) и отдельно разъм интерфейса С2 (4 вывода).

Для написания ПО использовал среду разработки Silabs IDE. Silabs IDE использует Keil'олвский компилятор для х51, что то типа «коробки разные, начинка одинаковая». Практически для каждого семейства МК в Silabs IDE имеются примеры по работе с различной периферией каждого микроконтроллера
начиная от линий ввода/выводы и заканчиваю интерфейсами USB/CAN.
Средства для программирования.Что особенно понравилось -так это процесс «кройки и шитья». Прошивается этот МК последовательно. Разные семейства имеет два типа интерфейса Programming/Debug — JTAG и C2.Существуют два программатора: EC2 и EC3. Один на СОМ порт, второй на USB. Используя их можно прошить МК и произвести отладку программы как по интерфейсу JTAG так и по C2 (в зависимости от используемого МК). FlashBlaster2 — самый простой программатор, подключаемый через LPT, для всех микроконтроллеров C8051Fxxx. Собирается на основе двух микросхем 74HC125.

Поэтому быстро за разводку платы! Получилась двусторонняя плата под данный программатор — удалось его вместить в корпус LPT разъема

В процессе монтажа, своими кривыми руками сорвал дорожку на плате. Пришлось строить городки.



Софт для заливки программы через FlashBlaster можно взять на сайте Dilogic'a.FlashLoad Lite

P.S. PCB-файлы макетки и программатора не прикреплял. Если кому нужно будет-добавлю.
  • 0
  • 24 мая 2011, 14:17
  • Zov
  • 2
Файлы в топике: C8051F32x-rus.pdf, flashblaster2.zip

Комментарии (29)

RSS свернуть / развернуть
Милая штучка. Алсо, какой-то из их процев работает в Oscill'е и успевает сэиплить АЦП на вполне приличной скорости без ПЛИС, синхронизироваться и скармливать данные компу.
А чем их IDE от микровижна отличается? Какие фишки? Поддерживает, надо полагать, только силабовские МК?
Гм, этот МК для своей начинки стоит довольно гуманно. АВРки за такую цену вроде похуже. Еще и USB на борту.
А есть к ним дешевые в изготовлении (или покупке) USB программаторы?
0
  • avatar
  • Vga
  • 24 мая 2011, 17:28
1)IDE.В двух словах: позволяет кодить на Asm и С и отлаживать прогу в самом кристалле. «Программного» отладчика нет.
2)Поддерживает все свои МК. MCS-51 других производителей не подставлял.Нужно попробовать AT89x. «х51» он и в Африке «х51».
3)Самый дешевый программатор FlashBlaster2.Куда проще))). А так я приобрел EC3(USB) (ц.42 енота).
Если нужно то могу выложить PCB LPT программатора.
0
На этом сайте EC3 выложены все материалы для самостоятельной сборки программатора. Предупреждаю сразу: я не пробывал собирать. В сети гуляет прошивка для USB программатора, но ее «исправность» не знаю. На том же сайте есть схема и для COM программатора.
0
Схему программатора и его прошивку дал сам СИЛАБ. На форуме писалось по этой теме: electronix.ru/forum/index.php?showtopic=60900
0
LPT — зверь раритетный. У меня правда есть, но пока туда воткнешься — изматеришься и обязательно какое-нить железо отвалится. Клава например. Или вообще питание. Бывали и просто БСоДы.
0
В двух словах: позволяет кодить на Asm и С и отлаживать прогу в самом кристалле.
Это все равно, что описать Notepad++ «позволяет открывать и редактировать *.txt». Больше интересуют интеллектуальные возможности IDE — такие, как, например, подсказки и автодополнение. Ну и скриншотик можно добавить.
0
Чего нет того нет))Интерфейс пользователя у данной среды слабоват(пользовался в.4.1).Скриншотики завтра добавлю.
0
Чем оно тогда лучше кейла? Может, хотя бы, халявное?
0
Кто сказал что она лучше Keil'a?)))Да, она бесплатная. Дело в том что я еще не пробывал шить и отлаживать прогу в кристале через Keil, используя оригинальный программатор (EC3) от Silab'a.
0
Ну должна же быть какая-то причина ее юзать. Халява — вполне достойная :)
0
Халява, но не совсем. Если использовать «родной бесплатный компилятор», то есть ограничение по размеру кода. Ограничение можно обойти, установив кейл с таблеткой, а в силабс'е указать, что надо пользоваться внешним компилятором. Но, попробовав кейл, к силабу возвращаться не хочется. Единственная неудобность — кейл генерирует небольшой стартап код, который у меня так и не получилось отлючить полностью. В обычной жизни ни разу не мешает… но один раз нехорошо попал так. Два дня просидел, пока понял, почему микроконтроллер программу выполнять не хочет!
P.S. У кейла есть прикольная фича по части подсветки кода. Если поставить курсор на скобку (фигурную, ")" или "["), то среда покажет её пару! Если надо разобраться в чужом коде, в котором накручено неимоверное кол-во вложенных циклов, очень помогает. Да, в кейле очень толковая система симуляции для силабов. Можно для некоторых моделей писать процеруры (как точно это назвать не скажу), которые будут эмулировать поведение внешних раздражителей. Например, добавить панель, на ней расположить кнопки, и по нажатию на кождую из них среда будет генерить на «внешнем выводе» МК сигнал заданной формы, а программа в МК его уже обрабатывать. Вообщем нереально удобная среда! Рекомендую разу забить на Силиб и разобраться с кейлом.
0
Часом не знаешь как EC3 подключить к Keil?
0
Ставишь кейл с таблеткой (я 4.02 пользуюсь), потом сливаешь с www.silabs.com/support/pages/support.aspx?ProductFamily=USB+MCUs драйвер SiC8051F_uVision.exe (у меня 3.40). Ставишь его, при создании нового проекта должны появится камни от силикона, выбираешь нужный. Потом в опциях проекта на вкладках Debug и Utilities выбираешь драйвер от силаба. Вроде все.)

На драйвер может есть и прямая ссылка, но… вообщем на странице с сапортом в списке он есть. Загружается сразу экзешник.
+1
Все заработало. Keil при подключении EC3 проадейтил его прошивку и «вуаля»! Спасибо.
0
Хм, ну если по сравнению с этим кейл нереально удобен, то про силабсовскую IDE, видимо, лучше тактично умолчать. Подсветка скобок — это практически единственная фича редактора в нем. Толковой навигации по коду, крайне полезной для раскура чужих сорцов, я там не нашел, равно как и подсказок.
Можно для некоторых моделей писать процеруры (как точно это назвать не скажу), которые будут эмулировать поведение внешних раздражителей.
А вот про это расскажи подробней, лучше статьей.
0
Подсветка скобок — это практически единственная фича редактора в нем. Толковой навигации по коду, крайне полезной для раскура чужих сорцов, я там не нашел, равно как и подсказок.
Это про Sylabs IDE, я прав? У кейла это все есть. Работал только с Sylabs IDE, AVRStudio… ну и IDE от майкрочипа видел… ничего удобнее кейла не встречал!

По поводу симуляции: симулятор работы ядра и периферии удобен, имхо, при изучении ядра, когда платы нет в наличии. Например, студентам. Сам осваивал asm x51 на симуляторе (правда о кейле тогда и не слышал), т.к. в универе с макеткой не особо хотелось возится. Да и научится кодить алгоритмы — железо не особо необходимо.
Куда то я… По поводу симуляции внешнего сигнала: тема для меня не ахти как известная, т.к. есть возможность непосредственной работы с железом. Да и сам кейл почему-то по этому поводу не ахти какой разговорчивый. Даже в хелпе ни слова (v 4.02)!!! Узнал про эту возможность отсюда. Коллега проверил на 4-ке — работает. Вот только дополнительную инфу так и не нашли, а вскоре и искать перестали, т.к. макетка всегда под рукой.
Статья… можно написать про установку, ввинчивание дров на силабы и их симуляцию «в картинка». Сам задумался над этим. А вот про «отладочные функции» — если накопаю что-нить интересное, обязательно напишу.
0
Нет, это про кейл микровижн. Силабс и мплаб не юзал, но авр студио 4 по функционалу недалеко от блокнота ушла. Кейл, впрочем, тоже.
Правда, я сравниваю с большими IDE от таких фирм, как Borland (во всех его переименованиях) и Microsoft. По сравнению с ними, большинство остальных IDE выглядят наколенными поделками.
Впрочем, атмел уползла на MSVS, микрочип — на эклипс, так что надежда на вменяемые IDE таки есть.

Симуляция иногда полезна. Например, отлаживать в железе на AT89C2051 в SO20… Несколько неудобно. Да и у многих широко распространенных МК нету OCD (либо он стоит сильно отдельных денег, как AVR debugWire), а без него отлаживать несколько не то. По крайней мере ловить глюки программной части эмуль сильно помогает.
0
По поводу симуляции в Keil, есть переведенный документ «Глава 5. Отладка программ». В ней подробнейшим образом описывается отладка программным способом. Заготовил функцию, сделал ей Кнопку (или вызвал из командной строки) — и отлаживаешься. Можно смоделировать уровень напряжения(загрузкой значения в регистры АЦП) и т.д.
0
«Глава 5» чего? Английский меня не напрягает, но вот документов с кейлом идет дохрена, причем довольно невнятных.
0
Только для вас и только сегодня)
On Embedding

Статья не помешала-бы, с рабочим примером. Я сейчас юзаю эти отладочные функции, для общего ознакомления, но еще не до конца оформил проект в Keil.
P.S.Да я так смотрю что х51 контроллеры не особо уже вызывают интерес… Все ARM'ы да ARM'ы..:(
0
У меня PCI LPT карточка с 3.3в уровнями поэтому начинал с 5 проводков, потом довёл схему почти до той, которая в статье а результат всё один — подключаться — подключается, но через 3-5 секунд отключается. Можно успеть нажать erase — репортует, что успешно. Большего не получилось.
Набор периферии впечатляет. Хотелось бы с ними поподробнее познакомится.
Нет у кого-нибудь схем программаторов под usb/com только не на тех же силабсах?(на pic, avr, обычном 8051 или каком-нибудь ftdi bitbang)
0
Среди всех попадавшихся мне схем программаторов для Silaba, все они были построены на базе тех-же силабовских МК. Тот-же Silab программатор ЕС3(USB) — на базе C8051F321.
А схема с пятью проводками вполне (без буферных микурх) может и не работать.
При первой свой пробе- FalshBlaster2 -обнаружить микроконтроллер не удалось. Причиной оказался конденсатор С1 — ошибся и впаял кондюк не той емкости.
0
Да что с конденсатором, что без него — определяется, но отваливается.
Было бы у кого поблизости прошить хоть один контроллер, был бы рад программатору и на нём(при такой то цене).
Как выяснилось в опыте с плисками, я довольно часто косячу по пустякам. Буду думать, программатор такой же соберу.
Если не трудно, выложите пожалуйста печатку программатора.
Если всё равно ничего не получится, напишу ещё раз.
Если у кого были точно такие же проблемы, очень интересно было бы узнать как они решились.
0
Хорошо.Сегодня-завтра выложу.
0
Добавил pcb. Будут вопросы-отвечу.
От себя: использовал PCI LPT, подключал к нему программатор Wiggler. Зашить напрочь не удалось. Подключаю к встроенному LPT — все работает!)
0
Чисто совет — налейте спирта на платку и прочистите зубной щеткой.
0
В свете последних веяний тоже пришлось заняться силабсами (C8051F7xx, C8051F9xx).
Благополучно склонировал EC3 :) (фотографии в форуме). Если будет интерес, выложу здесь весь проект (не обессудьте за Альтиум ;) )…
Прошивка, стянутая с форума на silabs.ru — рабочая.
Плату модифицировал под более удобопаяемый C8051F320.
0
  • avatar
  • Katz
  • 25 сентября 2011, 11:29
И более доставаемый, кстати. Пиши-пиши!
0
  • avatar
  • Vga
  • 25 сентября 2011, 12:07
Привет выложи печатку для микросхемы C8051f320 плз!!!
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.