реклама на сайте
подробности

 
 
15 страниц V  « < 6 7 8 9 10 > »   
Reply to this topicStart new topic
> Silabs C8051F120
Radik2
сообщение May 8 2015, 07:42
Сообщение #106


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 8 2015, 12:17) *

Вообщем, не работает "F12x_UART1_Interrupt.c": компилирую, прошиваю, а на посылки через гипертерминал не отвечает.

При отладке в Keil висит в этом куске кода:

Код

while (1)
   {  // If the complete word has been entered via the hyperterminal followed
      // by carriage return

         if((TX_Ready == 1) && (UART_Buffer_Size != 0) && (Byte == 13))
      {
         TX_Ready = 0;                 // Set the flag to zero

         TI1 = 1;                      // Set transmit flag to 1
      }
   }


Цитата(alexunder @ May 8 2015, 12:17) *
Я сам не могу определиться: Silabs, ST, NXP и пр. NXP по моим меркам приличная конторая, ST очень популярны.

Общался с одним человеком : занимаются производством оборудования для коммерческого учета. Вот что он мне написал:
До этого всё было сделано на силабсе... Но 8 разрядов, долгая прошивка, мало памяти, мало периферии для нынешнего времени. Один авр еще остался, но я уже подготовил ему замену на LPC1114 - тянет на Си по прерываниям, то, тини 2313 еле тянул на посчитанных и тщательно выверенных ассемблерных командах.

Брали арм, сначала схватили арм7, но тут вышел кортекс-м3 и быстро перешли на него (а для мелочей на кортекс -М0) на старом арме успели разработать только одно устройство. Кортекс тоже по фирмам не сразу. Начал разбираться с тексасом (они тогда купили стелларис) оказался с глюками. Стм не решились, т.к. люди писали, что слишком те быстро выпускают множество моделей - тоже побоялись сырости. Остановились на nxp, т.к. периферия у них была отработана на предыдущем ядре (и надежд больше и нам легче, т.к. до этого как раз их арм освоили). Был только один глюк в часах реального времени, но мы используем отдельное устройство. Сейчас может быть он и устранен. Дешевость М3 нам была важна, т.к. приборы не должны быть сильно дорогими, а мощность М3 с запасом достаточна.
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 8 2015, 09:26
Сообщение #107


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Код
while (1)
   {  // If the complete word has been entered via the hyperterminal followed
      // by carriage return

         if((TX_Ready == 1) && (UART_Buffer_Size != 0) && (Byte == 13))
      {
         TX_Ready = 0;                 // Set the flag to zero

         TI1 = 1;                      // Set transmit flag to 1
      }
   }

висит бесконечный while, т.к. не выполнено одно или все условия. Скорее всего, нет приема вообще (буфер пуст, т.е. UART_Buffer_Size == 0) или последний байт посылки не равен 13 (Byte != 13) - это проверка на наличие символа новой строки (когда в гипертерминале воодите строку, заканчиваете ее нажатием Enter). С физическим уровнем (настройки baudrate, system clock, преобразование уровней в стандарт RS232, настройки порта на ПК) все в порядке?

Цитата(Radik2 @ May 8 2015, 09:42) *
Общался с одним человеком

Из этого текста я заключил, вкратце, что была система на силабсе, потом решили накрутить на нее что-то еще, но не хватало скорости и периферийных возможностей, перешли на 32битные МК. Все логично. Возможно, они работали с 16- или 32-битной математикой, которая на ARM зачастую быстрее чем на 8051. Мне кортекс как раз для обработки 32-битных данных нужен, для задач опроса сенсоров (удаленных) использую 51. Опять слово "задача" мелькает wink.gif
Если Вы вновь за советом, то изучайте уж MCS-51, коли обзавелись "железом". Вспомнилось, как на 3-м курсе препод по квантовой механике говорил нам "миллионы людей сдают квантовую механику и не умирают" и еще "после изучения курса квантовой механики и статистической физики, можете смело браться за любую другую науку". Вот и я, с Вашего позволения: после 51 любой МК освоите в два счета.
Про выбор конторы мнение Вашего знакомого отчасти совпадает с моим. На этом форуме часто упоминается "сырость" чипов от ST, аппаратные баги компенсируются компилятором и т.п. С другой стороны, они очень популярны, есть хорошая поддержка, опять же, много толковых плат.

Цитата(Radik2 @ May 8 2015, 09:42) *

Какой литературой по MSC-51 Вы пользуетесь? Я изучал МК вот по этой книге:
"Однокристальные микро ЭВМ", Боборыкин А. В. и др., 1994 г.
Если интересно, вот скан в DJVU, в уфинской городской библиотеке книга эта точно есть (если с экрана читать не любите).
Там есть глава по 8051, разжевано все до последнего MOVa, речь о "голом" 8051 конечно же, без всяких crossbar как у silabs. В примере по UART там, кстати, ошибка есть, но это даже хорошо, помню, намучался с ним тогда (был голый проц 80C31 у меня, никаких JTAG sm.gif).


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 8 2015, 11:02
Сообщение #108


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 8 2015, 14:26) *
висит бесконечный while, т.к. не выполнено одно или все условия. Скорее всего, нет приема вообще (буфер пуст, т.е. UART_Buffer_Size == 0) или последний байт посылки не равен 13 (Byte != 13) - это проверка на наличие символа новой строки (когда в гипертерминале воодите строку, заканчиваете ее нажатием Enter). С физическим уровнем (настройки baudrate, system clock, преобразование уровней в стандарт RS232, настройки порта на ПК) все в порядке?

Преобразователь USB-UART pl2303hx. Выводы Rx-Tx соединял между собой - в терминале получаю повтор отправленного символа, т.е., вроде как работает. МК питается от 3,3В: преобразователь pl2303hx, как я понял, работает с уровнями 3,3В и 2,5В. Надеюсь, я не сжег порты МК. Перенастроить UART1 на другие порты нельзя: привязка жесткая.
Порты настроил как указано в Сишном файле: скорость 115200, 8-N-1.

Цитата(alexunder @ May 8 2015, 14:26) *
Какой литературой по MSC-51 Вы пользуетесь?

Есть скан книги
"Микроконтроллеры смешанного сигнала C8051Fxxx ..." автор Гладштейн М.А.
"x51-совместимые микроконтроллеры фирмы Cygnal" Николайчук О. И.

В бумажном виде есть "Микроконтроллеры фирмы Philips семейства х51" А.В. Фрунзе.

Буду изучать 51-е, но если будут сложности и в ближайшие пол года не сдвинусь с места, то придется вернуться к АВРкам. Возможно, я пытаюсь прыгнуть выше головы.

Сообщение отредактировал Radik2 - May 8 2015, 10:49
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 8 2015, 12:45
Сообщение #109


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 8 2015, 13:02) *
Преобразователь USB-UART pl2303hx. Выводы Rx-Tx соединял между собой - в терминале получаю повтор отправленного символа, т.е., вроде как работает. МК питается от 3,3В: преобразователь pl2303hx, как я понял, работает с уровнями 3,3В и 2,5В. Надеюсь, я не сжег порты МК. Перенастроить UART1 на другие порты нельзя: привязка жесткая.
Порты настроил как указано в Сишном файле: скорость 115200, 8-N-1.

Лучше начать экспериментировать с 9600кбит/с, меньше вероятность ошибок.
Соединение с usb-uart правильно выполнено (rx с tx не перепутаны)? Часто бывает что со стороны преобразователя уровня (не ваш случай, но может с pl2303 ситуация такая же) вывод Rx (Tx) означатет прием (передачу) данных по отношению к преобразователю. Т.е. для правильной работы требовалось Tx МК соединять с Rx преобразователя и Rx МК с Tx преобразователя соответственно. По-моему так было с классической max232.
Иначе попробуйте другой порт под индексом 0, если есть возможность перенаправить сигнал.


Цитата(Radik2 @ May 8 2015, 13:02) *
Буду изучать 51-е, но если будут сложности и в ближайшие пол года не сдвинусь с места, то придется вернуться к АВРкам. Возможно, я пытаюсь прыгнуть выше головы.

Не нужно прыгать выше головы! sm.gif Изучите регистрый и команды 51 на базе оригинального камня хоть по книжке. А потом снова книжку по силабс откройте, может будет легче. Силабсычи слишком наворочены, один кроссбар чего стоит. До встречи с silabs'ами я был уверен что сложнее Cypress FX2 не бывает 51-х МК sm.gif.
Про AVR ничего не могу сказать, никогда с ними не работал. Мне кажется они одинаково сложны в освоении как и MCS-51. К продукции Atmel у меня предвзятое отношение, стараюсь ее избегать (это всего лишь мое мнение).


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 8 2015, 14:07
Сообщение #110


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 8 2015, 17:45) *
Лучше начать экспериментировать с 9600кбит/с, меньше вероятность ошибок.
Соединение с usb-uart правильно выполнено (rx с tx не перепутаны)? Часто бывает что со стороны преобразователя уровня (не ваш случай, но может с pl2303 ситуация такая же) вывод Rx (Tx) означатет прием (передачу) данных по отношению к преобразователю. Т.е. для правильной работы требовалось Tx МК соединять с Rx преобразователя и Rx МК с Tx преобразователя соответственно. По-моему так было с классической max232.
Иначе попробуйте другой порт под индексом 0, если есть возможность перенаправить сигнал.

Пробовал менять местами сигналы Rx Tx. Не помогло. Изменил скорость на 9600 в строке
#define BAUDRATE 9600 // Baud rate of UART in bps

и в настройках порта и в терминале ... ничего


-----------------------
Заработало!
Нужно разобраться в схемотехнике отладочной платы: перекинул общий провод от преобразователя ЮСБ-УАРТ с минусового контакта колодки для подключения питания на контакт GND колодки на которую выведены выводы МК. Мистика какая-то: они соединены вместе.

Цитата(alexunder @ May 8 2015, 17:45) *
Не нужно прыгать выше головы! sm.gif Изучите регистрый и команды 51 на базе оригинального камня хоть по книжке. А потом снова книжку по силабс откройте, может будет легче. Силабсычи слишком наворочены, один кроссбар чего стоит. До встречи с silabs'ами я был уверен что сложнее Cypress FX2 не бывает 51-х МК sm.gif.
Про AVR ничего не могу сказать, никогда с ними не работал. Мне кажется они одинаково сложны в освоении как и MCS-51. К продукции Atmel у меня предвзятое отношение, стараюсь ее избегать (это всего лишь мое мнение).

Т.е., изучаем ассемблер для х51, архитектуру х51, потом периферию 8051 Силабсов?

Сообщение отредактировал Radik2 - May 8 2015, 14:16
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 8 2015, 14:32
Сообщение #111


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 8 2015, 16:07) *
Заработало!

Отлично!

Цитата(Radik2 @ May 8 2015, 16:07) *
Нужно разобраться в схемотехнике отладочной платы: перекинул общий провод от преобразователя ЮСБ-УАРТ с минусового контакта колодки для подключения питания на контакт GND колодки на которую выведены выводы МК. Мистика какая-то: они соединены вместе.

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

Цитата(Radik2 @ May 8 2015, 16:07) *
Т.е., изучаем ассемблер для х51, архитектуру х51, потом периферию 8051 Силабсов?

как Вам угодно. Я прошел этот путь и мне он казался логичным. Там изучать-то немного... Но я начал изучение когда силабсов (cygnal) еще в помине не было, у меня было много 80с31 от ККМ, которые я тогда ремонтировал. Иногда еще 51 от атмела проскакивали, но в целом они были копиями оригинальных 80х51 или 80х52, никаких улучшайзеров не было...


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 8 2015, 14:55
Сообщение #112


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 8 2015, 19:32) *
минусовой контакт? хм, там не должно быть никаких отрицательных потенциалов, коли настоящего RS232 у Вас нет. Впрочем, я никогда не работал с таким преобразователем...

Возможно, китайские перемычки низкого качества. Потому-что, от точки подключения к общему проводу на плате, здесь ничего не должно зависеть.
Go to the top of the page
 
+Quote Post
Harbinger
сообщение May 9 2015, 10:52
Сообщение #113


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Цитата(alexunder @ May 8 2015, 17:32) *
Но я начал изучение когда силабсов (cygnal) еще в помине не было, у меня было много 80с31 от ККМ, которые я тогда ремонтировал. Иногда еще 51 от атмела проскакивали, но в целом они были копиями оригинальных 80х51 или 80х52, никаких улучшайзеров не было...

Я начинал как раз с атмеловских 51, у них вроде у первых FLASH-память программ появилась (C51, C2051, S8252...) После известной истории пришлось переехать на NXP (серия LPC900, довольно интересная, но на данный момент по сути загнулась), силабсы стали следующим этапом. Пожалуй, решающую роль сыграла гуманизация ценовой политики кремниевых лаборантов. sm.gif


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 9 2015, 12:59
Сообщение #114


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Harbinger @ May 9 2015, 12:52) *
Я начинал как раз с атмеловских 51, у них вроде у первых FLASH-память программ появилась (C51, C2051, S8252...)

Вам виднее, но, по-моему да, они были первые с пятивольтовой Flash. В кассах основной проц был 51 без ППЗУ, а к 2002-му году стали появляться блоки фискальной памяти (напрочь залитые компаундом) именно с такими МК (AT89) в качестве шифраторов данных. А C2051, S4051 у меня до сих пор лежат, надо бы приспособить куда-нибудь.

Цитата(Harbinger @ May 9 2015, 12:52) *
После известной истории пришлось переехать на NXP

А что за история такая?


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 9 2015, 15:46
Сообщение #115


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 9 2015, 17:59) *
А что за история такая?

Видимо, имели ввиду проблемный период с поставками и повышением цен на МК АВР.
Go to the top of the page
 
+Quote Post
Harbinger
сообщение May 10 2015, 16:21
Сообщение #116


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Он самый. AVR как-то прошли стороной, но там со всей продукцией Atmel была проблема, в т.ч. и с AT89. Некоторые изделия сняли с производства, некоторые перевели на MSP430.
Сейчас у атмела есть LP-серия, сопоставимая по производительности с силабсом, но поезд ушёл, не вижу смысла возвращаться. Еще пришлось иметь дело с продукцией Megawin, конкретно вот с этим чипом. Тоже плохого сказать не могу, кроме разве что энергопотребления (около 1 мА/МГц).


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 16 2015, 17:59
Сообщение #117


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(Harbinger @ May 10 2015, 21:21) *
Он самый. AVR как-то прошли стороной, но там со всей продукцией Atmel была проблема, в т.ч. и с AT89. Некоторые изделия сняли с производства, некоторые перевели на MSP430.
Сейчас у атмела есть LP-серия, сопоставимая по производительности с силабсом, но поезд ушёл, не вижу смысла возвращаться. Еще пришлось иметь дело с продукцией Megawin, конкретно вот с этим чипом. Тоже плохого сказать не могу, кроме разве что энергопотребления (около 1 мА/МГц).

А сейчас, если не секрет, какие чипы применяете?
Go to the top of the page
 
+Quote Post
Harbinger
сообщение May 17 2015, 12:33
Сообщение #118


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Да всё те же C8051, а для более "жирных" задач - STM32. От MSP430 пришлось отказаться ввиду относительной дороговизны.
В некоторой оснастке трудятся STM8, но их, кроме меня, на предприятии никто не знает. sm.gif Ещё есть на будущее варианты с Nuvoton (в частности, M051) и серией LPC800 от NXP - последние заменяют LPC900 почти что pin-to-pin, при этом ядро Cortex-M0, имеются вшитые в ROM библиотеки для работы с периферией, и стоят меньше доллара...
(Типа пожелание силабсу). Прикрутили бы к EFM32ZG(TG, HG) прецизионный RC-генератор от C8051F55x. Было бы хорошо весьма! sm.gif


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 17 2015, 13:57
Сообщение #119


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(Harbinger @ May 17 2015, 17:33) *
Да всё те же C8051, а для более "жирных" задач - STM32. От MSP430 пришлось отказаться ввиду относительной дороговизны.
В некоторой оснастке трудятся STM8, но их, кроме меня, на предприятии никто не знает. sm.gif Ещё есть на будущее варианты с Nuvoton (в частности, M051) и серией LPC800 от NXP - последние заменяют LPC900 почти что pin-to-pin, при этом ядро Cortex-M0, имеются вшитые в ROM библиотеки для работы с периферией, и стоят меньше доллара...
(Типа пожелание силабсу). Прикрутили бы к EFM32ZG(TG, HG) прецизионный RC-генератор от C8051F55x. Было бы хорошо весьма! sm.gif

Т.е., Вы не стали ставить везде STM32: F0хх для несложных задач, F1xx для задач посложнее и F4xx для серьезных задач.

Не подскажете, где можно приобрести "простому смертному" LPC800 по доллару за штуку.
Go to the top of the page
 
+Quote Post
Harbinger
сообщение May 18 2015, 16:41
Сообщение #120


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Цитата(Radik2 @ May 17 2015, 16:57) *
Т.е., Вы не стали ставить везде STM32: F0хх для несложных задач, F1xx для задач посложнее и F4xx для серьезных задач.

В ходу F1 и F3, по совокупности требований.
Цитата(Radik2 @ May 17 2015, 16:57) *
Не подскажете, где можно приобрести "простому смертному" LPC800 по доллару за штуку.
По доллару - штук 500 сразу, что для простого смертного многовато, а для "артели" средней руки - месячная потребность. Тут можно сразу сказать, что STM32F030 будут дешевле - если, например, не нужно 3 UART в корпусе TSSOP-16. sm.gif Впрочем, это уже оффтоп пошёл.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post

15 страниц V  « < 6 7 8 9 10 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 03:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.0241 секунд с 7
ELECTRONIX ©2004-2016