Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Silabs C8051F120
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
Страницы: 1, 2, 3, 4, 5
Ivan575
Приветсвую форумчане!
Подскажите пожалуйста как для данного контроллера написать программу, по которой контроллер работал бы как счетчик реального времени (часы минуты секунды) и в некоторые (случайные) промежутки времени принимал данные по UART. При этом важно чтобы не сбивались часы пока идет прием данных по UART.
Заранее благодарю!
Lagman
Для точности хода используйте внешний кварцевый резонатор, если использовать прерывания то большую часть времени процессор будет в простое. Часы тикают по прерыванию от таймера, данные передаются и принимаются по прерыванию от аппаратного UARTa.
Ivan575
Честно говоря не очень понял, как при этом не будут сбиваться секунды. Ведь пока мы работаем с UART, мы не можем обрабатывать сигналы от таймера.
Палыч
Цитата(Ivan575 @ Sep 5 2013, 08:50) *
Честно говоря не очень понял, как при этом не будут сбиваться секунды.

При работе с UART по прерываниям: при вхождении в процедуру обработки прерывания от UART прерывания от таймера будут задержаны до выхода из процедуры прерывания UART. Хороший тон программирования - процедуры обработки прерывания делать по возможности более короткими насколько это возможно. Например, забрал с регистра данных UART пришедший байт, взвел флаг (который анализируется в main loop) и вышел из прерывания. Таким образом, изменение счетчика секунд (коли прерывание от таймера совпало во времени с работой процедуры прерывания от UART) будет задержано на очень небольшое время (вероятно, на единицы микросекунд).
Для Вашей задачи микросекунды - это много?
Ivan575
Спс за ответ. a14.gif Попробую по прерываниям. В проекте требуется точнойсть до милисекунд, а обмен данными по UART большой. Просто, думал что может как-то без прерывааний обойтись rolleyes.gif
barabek
Цитата(Ivan575 @ Sep 6 2013, 01:18) *
Спс за ответ. a14.gif Попробую по прерываниям. В проекте требуется точнойсть до милисекунд, а обмен данными по UART большой. Просто, думал что может как-то без прерывааний обойтись rolleyes.gif

Выберите режим таймера с автоматической перезагрузкой. В этом случае, даже если вы не сразу обработаете текущее прерывание таймера следующее наступит все равно через выбранный интервал, а не смещенное по времени на период обработки прерывания. Главное, чтобы к наступлению следующего прерывания текущее было уже обработано, иначе потеряете тик. Для этого выставляете разумное время между перезагрузками таймера, т.е. максимально допустимое. И, второе, все обработки прерываний, как писал Палыч, делаете максимально короткими. Про длинный UART не понял. Вы же не собираетесь в нем сидеть пока не примете всю посылку? Нужно только обрабатывать в прерывании побайтно. А уже по завершении приема всей посылки в какой-то буфер там же в прерывании выставить флаг окончания приема. А обработку этого флага и, соостветственно, принятой посылки вести в основном цикле программы.
Палыч
Цитата(barabek @ Sep 6 2013, 02:37) *
Выберите режим таймера с автоматической перезагрузкой. В этом случае, даже если вы не сразу обработаете текущее прерывание таймера следующее наступит все равно через выбранный интервал, а не смещенное по времени на период обработки прерывания.

Немного поправлю...
Таймер, конечно же, нужно настраивать на работу с автоматической перезагрузкой. В этом случае требования на прерывание (флаги прерывания) будет выставлятся таймером через один и тот же интервал времени (с учетом погрешности частоты задающего генератора). Однако, запуск процедуры обработки прерывания от таймера может быть несколько задержан относительно времени выставления требования прерывания (флага прерывания) от таймера. Эта задержка запуска возникнет, если в момент выставления требования прерывания в МК запрещены прерывания, например, если в данный момент работает процедура обработки прерывания от UART (все прерывания в МК51 запрещаются при входе в процедуру обработки прерывания до выхода их процедуры). Поэтому, изменение значений переменных времени (часы, секунды, миллисекунды) будет несколько cдвинуто во времени относительно тика таймера (максимально - на время работы процедуры обработки прерывания от UART). Если этот сдвиг - критичен, то процедуру обработки прерывания от UART необходимо максимально "укоротить"...
shamrock
если известна периодичность сообщений по UART, можно подобрать периодичность прерываний от времязадающего таймера на пару порядков выше... в каждом прерывании от таймера проверять флаг от UART - не пришло ли сообщение...
от прерываний UART отказаться...
Radik2
Доброго времени суток!
Прошу прощения, что вклинился в ваш топик.
Много лет осваиваю 8-ми битные МК AVR от Atmel. Случайно наткнулся на МК С8051 от Silabs, которые имеют частоту до 100МГц. Например C8051F120. Цены не кусаются. Терпимо.
У меня такой вопрос. Насколько будет оправдана перебежка в сторону МК С8051 от Silabs? Вроде как, "хоронить" это ядро не собираются: на рынке не один десяток лет.
Cortex от STM показались мне тяжелыми в освоении, как для "старого" новичка, вечного ученика.
Serhiy_UA
Цитата(Radik2 @ Feb 13 2015, 22:07) *
...которые имеют частоту до 100МГц. Например C8051F120...

Их преимущество - частота, еще периферия несколько улучшена. Также есть возможность динамического изменения внутренней тактовой частоты, это для снижения электропотребления.
Когда-то сделал много проектов на этих МК, остался доволен. В частности, был конвертор Ethernet-ИКМ30, это для телефонии, там нужна была скорость, какую меги тогда еще не обеспечивали. Да, еще софт для Silabs нормальный…
И еще эксперимент был, разогнал тактовую частоту до 140МГц и МК работал...


Radik2
Serhiy_UA
Вы можете советовать С8051F для начинающих? Вы писали код на ассемблере или Си?
Serhiy_UA
Цитата(Radik2 @ Feb 14 2015, 10:43) *
Вы можете советовать С8051F для начинающих? Вы писали код на ассемблере или Си?
Советую и для начинающих тоже. Всегда надо с чего-то начинать... Но Вы, похоже, в МК не новичек sm.gif
В чем преимущество:
Доступно много качественной информации по МК от Silabs, и без errata. На русском языке тоже много. А примеров просто море...
Программатор можно сделать самому или купить.
Среда программирования - это uVision 3 и выше, что от Keil (для нас бесплатно). Можно писать на С или asm, или в обоих сразу. Опять же примеров этому много. Я чаще писал на С, но для критических мест делал вставки на asm. Там у 51-архитектуры есть полезные команды косвенных переходов ( JMP @A+DPTR), а также банки РОН, что ускоряет обработку прерываний. Так вот, работать с ними лучше через asm.
Есть и недостатки, свойственные 51-архитектуре, но в целом это хороший 8-разрядный микроконтроллер, особенно по энергопотреблению. Также широкий выбор корпусов, от обыкновенных до мини 4*4мм с выводами вниз.
Дерзайте...
Harbinger
Цитата(Serhiy_UA @ Feb 14 2015, 10:34) *
Советую и для начинающих тоже. Всегда надо с чего-то начинать...
Среда программирования - это uVision 3 и выше, что от Keil (для нас бесплатно).

Собственно, компилятор/ассемблер/линкер от Keil для контроллеров Silabs вообще бесплатные, по-честному и без ограничений. Для получения лицензии понадобится только регистрация. А вот отладка - только в Silabs IDE, или же как обычно... wink.gif

Цитата(Serhiy_UA @ Feb 14 2015, 10:34) *
Доступно много качественной информации по МК от Silabs, и без errata.

errata всё же встречается, и местами есть ляпы в документации. Но тут всё можно весьма оперативно выяснить на форуме, отвечают сами разработчики чипов.
Касательно старых серий - C8051F0xx/1xx/2xx... без крайней надобности я бы не стал их применять. Относительно высокое энергопотребление и ценники нерадостные. Серии поновее - 7xx...9xx, 38x куда интереснее.

Цитата(Serhiy_UA @ Feb 14 2015, 10:34) *
Также широкий выбор корпусов, от обыкновенных до мини 4*4мм с выводами вниз.

Есть и меньше. QFN/DFN 3*3 мм и даже 2*2 мм (QFN-10).
Radik2
Касательно старых серий - C8051F0xx/1xx/2xx... без крайней надобности я бы не стал их применять.

А я как раз на аукционе Ebay выиграл C8051F120 за $1,8. В Silabs IDE в списке поддерживаемых МК его не оказалось.
Нажмите для просмотра прикрепленного файла

Серии поновее - 7xx...9xx, 38x куда интереснее.
Среди новых серий я альтернативу C8051F120 не нашел: такой же корпус 100 выводов, частота 100 МГц и т.д.

Доступно много качественной информации по МК от Silabs, и без errata. На русском языке тоже много. А примеров просто море...
Видимо я плохо искал: не увидел такого объема ресурсов как для МК AVR от Atmel.
Harbinger
У F120 цены сейчас где-то такие. Грубо говоря, $15 за штуку при тысячных тиражах.
Т.е. неконкурентоспособные. Да, в отличие от того же атмела, они будут выпускаться "до последнего клиента" - цена только будет негуманная с тенденцией к росту со временем.
Но им есть масса альтернатив, очень существенно дешевле, даже у тех же Silabs, но на ядре Cortex-M3 (SIM3xx), или Cortex-M0 (приобретённые силабсом Gecko от Energymicro, вкупе с самой конторой). А вот 25...50-мегагерцовые C8051 вполне могут AVR заменить, с изрядным запасом по всем параметрам.
C8051F85x, похоже, что сделаны для того, чтобы вынести мелкие AVR и им подобные с рынка - хотя там такой цели не ставилось. sm.gif
Касательно ресурсов, у силабса их в разы меньше, чем у атмела, но вполне достаточно, если мало-мальски знаешь английский. sm.gif Вот только Simplicity Studio, которая там выпрыгивает наверх в "Software downloads", ставить не советую. Оно там вроде много всего в одном, но в реале вещь страшно тормозная и многоглючная. Может, для EFM32 там всё и нормально, но для C8051 явно недопилили.
Radik2
Harbinger
Silabs на ядре Cortex-M3 (SIM3xx) будет проще в освоении и применении, например, тех же STM32F2xx ?
Я нашел такие цены на C8051F126 C8051F216
alexunder
Radik2,

возьмите 50МГц чипы от силабс, если 100МГц труднодоставабелен. 51 от Силабс помимо частоты выполняет большинство команд за два такта вместо 12-ти у обычного 51. А чтоб сравнить с атмелом, наверное MIPSы стоит посмотреть.
Radik2
Не могу определиться с выбором программатора. Подскажите, пожалуйста.
первый
второй
третий

Так и не понял, почему "третий" заметно дороже. Из-за габаритов?

Может лучше этот: четвертый

Недостаток выводов I/O придется компенсировать стандартной логикой.
Harbinger
Все три - клоны, второй самый интересный - корпус тоже скопировали.
Оригинал выглядит так:

и по цене заметно выше.
В работе они скорее всего не отличаются. Разве что китайцы сэкономили на регулировке напряжения питания таргета, зафиксировали на 3,3 В (в 99% случаев устраивает). В том клоне, что делал для себя и здесь выкладывал, именно так.

Цитата(Radik2 @ Feb 14 2015, 22:19) *
Silabs на ядре Cortex-M3 (SIM3xx) будет проще в освоении и применении, например, тех же STM32F2xx ?

Первое впечатление - да. Стройнее как-то всё устроено, типа как у NXP. Но вряд ли они эту линейку будут развивать, после поглощения Energymicro. Основной упор сделали на Gecko.
Radik2
Цитата
В том клоне, что делал для себя и здесь выкладывал, именно так.

Не поделитесь своей версией программатора для C8051F?

Возможно, у кого то имеется опыт эксплуатации китайских клонов программатора для C8051F? Не хотелось бы обнаружить недостатки после покупки.
Serhiy_UA
Цитата(Radik2 @ Feb 15 2015, 16:52) *
Не поделитесь своей версией программатора для C8051F?
Для C8051F120 хватит и FlashBlaster2. Он как-то обсуждался в http://electronix.ru/forum/index.php?showtopic=19163&hl=
Недостаток FlashBlaster2 - нужен LPT-порт.
Я в свое время использовал C8051F127 вместе с FlashBlaster2. Схема устройства с C8051F127 в приложении. Работал на 100МГц.
Harbinger
Цитата(Radik2 @ Feb 15 2015, 15:52) *
Не поделитесь своей версией программатора для C8051F?
Уже давно поделился. sm.gif Там схема, PCB (Альтиум) и прошивка (hex).
Собственно, FlashBlaster 2 использовал один раз - для прошивки C8051F320 в этом девайсе.
Radik2
Цитата(Serhiy_UA @ Feb 16 2015, 11:00) *
Я в свое время использовал C8051F127 вместе с FlashBlaster2. Схема устройства с C8051F127 в приложении. Работал на 100МГц.

C8051F127 разогнали до 100МГц? Периферия не давала сбой?
LPT порт найти будет трудно. Есть одноплатный компьютер PCM-9375 с ОЗУ 256МБ и HDD 40GB. Ставил на него WinXP. Крутится потихоньку. У него есть 4xUSB, 4xCOM, 1xLPT порты. Если переборю лень, то соберу ПК на нём ))

Цитата(Harbinger @ Feb 16 2015, 14:16) *
Уже давно поделился. sm.gif Там схема, PCB (Альтиум) и прошивка (hex).


Пришлось устанавливать Альтиум, чтобы посмотреть ))
Двустороннюю плату такой плотности я, наверное, не осилю пока. Придется либо перерисовывать на одностороннюю, либо покупать готовый ((
Radik2
Возможно, таким же начинающим как я, будут полезна следующая литература.
Это перевод даташитов на русский язык на сайте electrosnab.ru

Перевод datasheet Silabs семейства C8051F32x
Перевод datasheet Silabs семейства C8051F35x
CherepVM
Здраствуйте.

Radik2....
я сделал клон сильно упростив оригинальную схему программатора EC3.
Пользуюсь уже 2года, успешно работает как по JTAG та и по C2 интерф.программирования.
Radik2
Цитата(CherepVM @ Mar 16 2015, 22:44) *
Здраствуйте.

Radik2....
я сделал клон сильно упростив оригинальную схему программатора EC3.
Пользуюсь уже 2года, успешно работает как по JTAG та и по C2 интерф.программирования.


Огромная благодарность за программатор!
Если вас не затруднит, могу ли я задать вам пару вопросов.
С каким МК вы работали/работаете (AVR, STM8/32, XMEGA ...)? С какими моделями МК C8051F вы работали? Какие особенности данных МК с подвигли вас применять их в своих проектах?
CherepVM
Так как моя работа, ремонт+обсл.касс.аппаратов, а их схемотехника базировалась на МК 51-й серии, то это и определило курс в освоении этих типов МК. По работе, часто перепрошиваю МК F022, F023, F126..., только перепрошивка "слетевшей" проги(иногда такое бывает). А для себя использую F347(на нем стартовал и осваивал переферию), F320, F330..., они дешевле, корпус удобнее паять и удобный интерфейс программировани/отладка - С2(всего два провода). Проги пишу исключительно на ассемблере. Пробовал осваивать СИ(даже на SiLabs зарегистрировался и получил 2-х годовую безплатную лицензию на Keil uVision4) ...., много надо изучать..., нехватает времени.
Цитата
Какие особенности данных МК с подвигли вас применять их в своих проектах?

1 - и основное..., совместимость с хорошо изученной сист.команд 51-серии.
2 - Не надо было переучиваться, а только изучать работу новой переферии, то есть... затрата времени только на новые особенности/"вкусности";
3 - годами обкатана среда программирования;
Как-бы и всё.... laughing.gif
Radik2
Цитата(CherepVM @ Mar 17 2015, 00:25) *
Так как моя работа, ремонт+обсл.касс.аппаратов, а их схемотехника базировалась на МК 51-й серии, то это и определило курс в освоении этих типов МК. По работе, часто перепрошиваю МК F022, F023, F126..., только перепрошивка "слетевшей" проги(иногда такое бывает). А для себя использую F347(на нем стартовал и осваивал переферию), F320, F330..., они дешевле, корпус удобнее паять и удобный интерфейс программировани/отладка - С2(всего два провода). Проги пишу исключительно на ассемблере.


Владимир,
т.е., с теми же AVR, PIC вы не работали? Просто я метаюсь от одной линейки МК к другой. Думаю, что ресурсов AVR мне хватит ненадолго. По производительности С8051 должны быть лучше чем даже XMEGA. Я тоже "плохо перевариваю" Си, но на ассемблере ведь придется писать все самому: готовыми библиотеками не воспользуешься.
Хотел закупить впрок C8051F120, но здесь мне не советовали применять "старые" модели. Вам известны какие-либо проблемы с ними?
CherepVM
Цитата
т.е., с теми же AVR, PIC вы не работали?
Да, не работал...., попытки были, но было жалко времени на переобучение, это раз..., и два - что интересовало из реализаций на AVR, PIC, спокойно реализовывал на "своих" родных МК.
Цитата
Я тоже "плохо перевариваю" Си, но на ассемблере ведь придется писать все самому: готовыми библиотеками не воспользуешься.
Да, тут вы правы, но это обстоятельство и подстегает к "вечному" совершенствованию biggrin.gif . Хотя..., если изначально использовать среду(ассемблер+линковщик+библиотекарь) Кеил для написания своих прог, то можна использовать готовые библиотеки написанные на СИ(Кеил). Правда надо отлично знать манеру/стиль кода созданных на СИ библиотек. В былые времена, под Z80 активно использовал СИ+асм-коды...., очень клёво получалось! Ну и последний пример - использование библиотеки USB под F320, которая написана для СИ...., пришлось дизнуть прогу с этой библиотекой, а потом, получив исходник библиотеки, переиначить под стиль написания в асме. К стате..., в моем случае трудность стыковки библиотек в том, что использую "древний" компилятор асм - 2500 A.D. Macro Assembler Version 4.02(X8051.EXE 1999г)...., опять же лень переходить на Кеил..., это ж уж много исходников проэктов надо будет перепахивать под новый синтаксис wacko.gif ! Потому и передумал переходить.
Цитата
Хотел закупить впрок C8051F120, но здесь мне не советовали применять "старые" модели. Вам известны какие-либо проблемы с ними?
С F120-тым не работал, потому ничего сказать не могу. Единственно..., в кассах для АЗС используется F126...., аппараты работают круглосуточно 7 дней в неделю, не выключаясь....., тху-тху-тху, через плечо...., нареканий нет.
Radik2
Цитата(CherepVM @ Mar 17 2015, 01:21) *
Да, не работал...., попытки были, но было жалко времени на переобучение, это раз..., и два - что интересовало из реализаций на AVR, PIC, спокойно реализовывал на "своих" родных МК.


Ресурсов F320 хватает (ОЗУ менее 2 кБ, частота 25 МГц)? Не было желания применить F380?
Я смотрю на F120 потому, что в нем "полный фарш" начинки. Но цена высоковата. Пока что нашел следующего продавца, цена не сильно кусается: http://www.aliexpress.com/item/Free-shippi...2216718948.html
CherepVM
Что-то за барахлил инет...., потому пропал.
Цитата
Ресурсов F320 хватает (ОЗУ менее 2 кБ, частота 25 МГц)? Не было желания применить F380?
Для большенства задач, F320-го хватает, даже F330 клевый.
F380 прикупил еще 1,5 года назад, но пока руки не дошли его поюзать.
Radik2
Цитата(CherepVM @ Mar 17 2015, 10:42) *
Для большенства задач, F320-го хватает, даже F330 клевый.
F380 прикупил еще 1,5 года назад, но пока руки не дошли его поюзать.

Можете вкратце описать самый сложный свой проект. Сколько FLASH памяти и ОЗУ потребовалось.
Хочу составить список МК для покупки. Оптом получается дешевле ))
Сам планирую подключать блютуз, различные датчики, графические монохромные или цветные дисплеи ...
Для совсем простых задач, наверное, буду применять МК типа Tiny13.
CherepVM
Когда реализовывался самый сложный проэкт(система управления АЗС, 2002..2004гг), про МК от SiLabs я ещё не знал и делалось на МК от Атмел at89S8253. Об этих(SiLabs) МК узнал в 2010г и на тот момент уже заказов небыло. Теперь все мои творения - чисто хобби..., для поддержания тонуса программирования, а вдруг когда-то пригодится.
Сделно формирователь угла опережения(FUOZ) для авто + зажигание(искрилка DKZ). Это все можна посмотреть здесь: репозитарий.
Щас задумал создать систему контроля температуры в комнатах + датчик атмосферного давления. Вот тут какраз будет: один МК(собиратель) типа F022...F023 с внешней ОЗУ и через радиомодули будет собирать инфу от комнат, там будут использоваться "мушки" F330.
Radik2
Цитата(CherepVM @ Mar 17 2015, 23:20) *
Щас задумал создать систему контроля температуры в комнатах + датчик атмосферного давления. Вот тут какраз будет: один МК(собиратель) типа F022...F023 с внешней ОЗУ и через радиомодули будет собирать инфу от комнат, там будут использоваться "мушки" F330.

C8051F02x сейчас стоят дорого: от $4 и выше. Видимо у вас привязка к железу - ассемблер ))
CherepVM
Да, дорого, но у меня они нашару...., от касс.аппартов отслужившие свой срок эксплуатации. Там F022 используются в модуле фискальной памяти..., готовое решение: ОЗУ 512Кб; часики; резервный акум, Флеш память(не помню объем). wink.gif
Radik2
Цитата(CherepVM @ Mar 17 2015, 23:39) *
Да, дорого, но у меня они нашару...., от касс.аппартов отслужившие свой срок эксплуатации. Там F022 используются в модуле фискальной памяти..., готовое решение: ОЗУ 512Кб; часики; резервный акум, Флеш память(не помню объем). wink.gif

Получается к F022 поддерживает внешнее ОЗУ 512 кБ ? Модель м/с ОЗУ не помните случайно?
CherepVM
Пространство 64Кб адресуется командами на прямую. Просто все ОЗУ делится на банки по 64Кб, переключение уже "ручками".
Предварительный прикид....
Radik2
Цитата(CherepVM @ Mar 17 2015, 23:57) *

Дисплей похож на wg12864.
Внешнее ОЗУ подключается через интерфейс EMIF? Максимум сколько ОЗУ можем подключить?
CherepVM
Цитата
Внешнее ОЗУ подключается через интерфейс EMIF?
Да.
Цитата
Максимум сколько ОЗУ можем подключить?
Не знаю..., возможно пока будет хватать свободных портов для адресации страниц и выборки кристалов ИМС ОЗУ... wink.gif .
Radik2
Цитата(CherepVM @ Mar 18 2015, 00:26) *
Да.
Не знаю..., возможно пока будет хватать свободных портов для адресации страниц и выборки кристалов ИМС ОЗУ... wink.gif .

По каким критериям искать внешнее ОЗУ? Тот который на плате установлен дороговат и вроде дефицитный.
У меня есть плата с as7c31026c-12tin, подойдет?
CherepVM
Так как до работы с ОЗУ руки ешо не дошли(пока ковыряюсь с радиомодулями), то точно не знаю.
Из документации получается, что любая ОЗУ подойдет, МК имеет гибкую систему настройки времянок доступа к ОЗУ, формирования сигналов RD/WR/CS. То есть, должны работать и медленные, и быстрые ОЗУ.

Цитата
У меня есть плата с as7c31026c-12tin, подойдет?
На вскидку(беглый взгляд на ее pdf), как-бы подойдет. Но будет использоваться на половину, эта ОЗУ имеет 16разрядную шину данных, а у нас 8. Либо дополнительным восьми разрядным портом считывать старшие 8 бит шины(отдельной командой МК), либо ставить мультиплексор и переключать/объеденять на аппаратную шину МК.
Radik2
Цитата(CherepVM @ Mar 18 2015, 00:55) *
На вскидку(беглый взгляд на ее pdf), как-бы подойдет. Но будет использоваться на половину, эта ОЗУ имеет 16разрядную шину данных, а у нас 8. Либо дополнительным восьми разрядным портом считывать старшие 8 бит шины(отдельной командой МК), либо ставить мультиплексор и переключать/объеденять на аппаратную шину МК.

Для меня пока что тяжело переварить работу с ОЗУ. Если прямое обращение к ячейке памяти - одно, а постоянное переключение линий, применение мультиплексоров ... трудно представить реализацию.
CherepVM
Посмотрел еще раз pdf-ку на это ОЗУ и есть там интересная особенность..., если я верно понял(англицкий не знаю), то можна объеденить сигналы IO.0...IO.7 с IO.8...IO.15 в одну 8-ми разрядную шину и сигналами LB и UB коммутировать считывание/записть в младшую(IO.0...IO.7) или в старшу(IO.8...IO.15) шину данных ОЗУ. Грубо говоря, при одном и том же адресе(A0...A15) имеем доступ к двум разным байтам ОЗУ. При комбинации LB="0" и UB="1" - доступ к младшему байту; при LB="1" и UB="0" - доступ к старшему байту.
Как то так. rolleyes.gif

Вот логика работы....
Radik2
Цитата(CherepVM @ Mar 18 2015, 01:27) *
Посмотрел еще раз pdf-ку на это ОЗУ и есть там интересная особенность..., если я верно понял(англицкий не знаю), то можна объеденить сигналы IO.0...IO.7 с IO.8...IO.15 в одну 8-ми разрядную шину и сигналами LB и UB коммутировать считывание/записть в младшую(IO.0...IO.7) или в старшу(IO.8...IO.15) шину данных ОЗУ. Грубо говоря, при одном и том же адресе(A0...A15) имеем доступ к двум разным байтам ОЗУ. При комбинации LB="0" и UB="1" - доступ к младшему байту; при LB="1" и UB="0" - доступ к старшему байту.
Как то так. rolleyes.gif


Отлично! Спасибо! Имеем 128 кБ ОЗУ )) Пока можно забыть про STM32 ))
Осталось её выпаять из платы не повредив.
CherepVM
Да, имеем 128Кб.
Если платы не жалко и нет термофена, читал, что можна на горелке разогревать плату с низу до тех пор пока ИМС "поплывут"..., тогда смахиваем микрухи с платы.
Удачи!
Radik2
Цитата(CherepVM @ Mar 18 2015, 02:01) *
Да, имеем 128Кб.
Если платы не жалко и нет термофена, читал, что можна на горелке разогревать плату с низу до тех пор пока ИМС "поплывут"..., тогда смахиваем микрухи с платы.
Удачи!

Фен есть. Проблема в том, что в подобном оборудовании м/с приклеиваются к плате (вибрация). Без повреждений демонтировать не удавалось. Плата которая на рисунке - ручной/переносной УЗ расходомер. Точнее, электронный блок от него. Тут не должно быть клея. Надеюсь, что м/с исправны: аппарат списан как неисправный.

Цитата(CherepVM @ Mar 18 2015, 00:26) *
Не знаю..., возможно пока будет хватать свободных портов для адресации страниц и выборки кристалов ИМС ОЗУ... wink.gif .

Получается, что порты используемые для работы с внешним ОЗУ будут не доступны для альтернативных применений. Т.е., к ним ничего другого не подключишь?
CherepVM
Если хорошенько поразмыслить над будущей архитектурой девайса и алгоритма обработки устройств, то можно совмещать.
Если альтернативные устройства, использующие порты дополнительной выборки ОЗУ, в программе не "пересекаются", то можна использовать.
Radik2
Цитата(Harbinger @ Feb 15 2015, 01:06) *
У F120 цены сейчас где-то такие. Грубо говоря, $15 за штуку при тысячных тиражах.
Т.е. неконкурентоспособные. Да, в отличие от того же атмела, они будут выпускаться "до последнего клиента" - цена только будет негуманная с тенденцией к росту со временем.
Но им есть масса альтернатив, очень существенно дешевле, даже у тех же Silabs, но на ядре Cortex-M3 (SIM3xx), или Cortex-M0 (приобретённые силабсом Gecko от Energymicro, вкупе с самой конторой). А вот 25...50-мегагерцовые C8051 вполне могут AVR заменить, с изрядным запасом по всем параметрам.

Я совсем запутался. Решил осваивать C8051F, но смотрю на цены EFM32 - на одном уровне с 8-ми битниками.
Всё таки, прошу объяснить на пальцах, какие проблемы могут быть при работе с C8051F1xx?
Я уже почти решился купить впрок вот здесь: C8051F120
По 160р/шт.
Планирую работать с графическими дисплеями, а у большинства МК C8051F ОЗУ =< 4кБ. И выводов не так много, как хотелось бы.
Хватит ли мне для моих задач ресурсов C8051F380 ...
vladec
Если смотрите на цены, и Вам все равно 8 бит или 32, то поглядите на STM8 от ST
alexunder
Цитата(Radik2 @ Mar 30 2015, 06:53) *
Я совсем запутался. Решил осваивать C8051F, но смотрю на цены EFM32 - на одном уровне с 8-ми битниками.

общая ситуация с многими МК: в нынешнее время цена идет не за кол-во разрядов, а за кристалл.

Цитата(Radik2 @ Mar 30 2015, 06:53) *
Всё таки, прошу объяснить на пальцах, какие проблемы могут быть при работе с C8051F1xx?

Вы неверно ставите вопрос. Начните свои рассуждения с постановки задачи, с того, какую проблему требуется решить, какое устройство сделать. Отсюда определитесь с типом дисплея и с его интерфейсом (параллельный, последовательный), кол-вом и типом ОЗУ, а так же с другими периферийными компонентами. Тогда и будет ясно какие МК подойдут.
Есть масса дисплеев, которые работают с последовательным интерфейсом, т.е. самое то для МК с малым кол-вом выводов (в Silabs готовый SPI порт). Если же нужно работать с параллельным интерфейсом, то и с наличием одного свободного 8-разрядного порта можно очень многим управлять и общаться используя шинные приёмо-передатчики 74245 (отеч. АП6) и регистры-защелки типа 74373. Для примера, взгляните на схемы кассовых аппартов - там один 8051 "рулил" всем именно таким образом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.