Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.08.2008, 13:36
|
|
Частый гость
Регистрация: 06.06.2008
Сообщений: 43
Сказал спасибо: 90
Сказали Спасибо 126 раз(а) в 23 сообщении(ях)
|
Следует хорошо продумать алгоритм поставленной задачи.
Была у меня подобная задача, где кажется не обойтись без вещественных чисел. Но обошелся, хорошо подумав и почитав соответствующую литературу. Алгоритм свелся к операциям с двумерными матрицами с целочисленными значениями. Не хочу вдаваться в подробности - это тема целой книги про численные методы и их применение в embedded системах.
Но до того как пришел к такому решению, нашел еще один способ - есть микросхема с последовательным доступом, представляющая собой цифровой сопроцессор. Задаешь числа, операции и быстро получаешь ответ. Помнится скорости там очень приличные. Так, что я для интереса прикинул - ATMega + цифровой сопроцессор и можно решать задачи цифровой обработки сигнала.
Переход с AVR на PIC именно в вашем случае - не слишком хорошая идея. У PIC-ов есть свои достоинства, но все-же AVR-ы более шустрые.
К сожалению названия микросхемы не помню. Но помню, что заказать ее можно и вроде она есть на складах московских фирм поставщиков.
|
|
|
|
01.08.2008, 13:42
|
|
Временная регистрация
Регистрация: 25.12.2007
Сообщений: 55
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
насчет PIC18F2455 сразу: подскажите проверенный программатор для него, можно ли самостоятельно сделать программатор
|
После того как приобрел два заводских, сделал простой самодельный(LPT, несколько диодов, конденсатор и резистор). И он мне больше нравится. Рекомендую: http://www.foxdelta.com/products/pro...htm#par%20stnd Я делал адаптер: http://zeliksan.rork.ru/
|
|
|
|
01.08.2008, 15:04
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Сообщение от vouk
|
Сообщение от pinco
|
Сообщение от MisterDi
|
Если очень нужен DIP корпус можно взять PIC18F2455, PIC18F4555. 48МГц тактовая, 12мипс, SPI, I2C, UART на борту. Все что нужно для работы.
|
... вычисление того что тебе надо на асме в разы быстрее чем то же на С ,если С слишком медленно там все ворочает , хоть и программки на С кажутся короче ,да жрут только ресурсы и медленно выполняются , поэтому и потери времени там у вас были - а напишете все на асме - так летать будет , уверяю !
|
Если Вы напишете на АСМе программу для работы с плавающей точкой и двойной точностью, и она будет лучше той, что в библиотеке компилятора Си, то может, чуть-чуть и полетит
Все категорические утверждения неверны, в том числе и это
|
Да не чуть -чуть , а прилично - ведь C тратит лишние такты на перезагрузку регистров при вызове последовательности функций , чего не происходит когда их в асме назначаешь сам и стараешься не перезагружать , а ресурсы - ну кто нибудь конкретно смотрел как много расходуется лишних ресурсов при работе вызываемых функций в С хоть они и написаны сами на асме , по сравнению когда на асме сам все назначаешь !?
Вот тото же , ну а если все даже на асме КРИВО написать то и совсем ничего летать точно не будет !!!
|
|
|
|
01.08.2008, 15:48
|
|
Прописка
Регистрация: 05.02.2008
Сообщений: 251
Сказал спасибо: 34
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
|
Да ясное дело что С тратит лишнее время на вызов функции пусть она даже на асепмблере, но дело в том что тут таких функций будет вызываться относительно немного, и о выигрыше скорости на асемблере стоит вести речь если только происходит вызов тысяч подпрограмм в короткий момент времени. Да на асемблере будет быстрее, но в этой задаче выигрыш будет не более 5 - 25% процессорного веремни, так как основную часть времени микроконтроллер будет тратить на выполнением самой сложной функции.
Вобщем немного заофтопили, нада сначала определиться с алгоритмом вычисления данных, может на С и не будет многих сложных функция для работы с числами.
|
|
|
|
01.08.2008, 16:11
|
|
Прохожий
Регистрация: 19.03.2007
Сообщений: 9
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от LVII
|
...Переход с AVR на PIC именно в вашем случае - не слишком хорошая идея. У PIC-ов есть свои достоинства, но все-же AVR-ы более шустрые...
|
Позволю не согласиться так как было сказано "Ну если дело во времени, то оно некритично... " мы имеем возможность реализовать задачу на ПИКе (PIC18F2550/4550). Плюсом в данном случае есть наличие встроенных USART-а и USB, т.е. сразу решена проблема подключения к ПК и нет дополнительной обвязки. Хотя это сугубо мое мнение
P.S. Для ПИКоманов
В качестве программатора для ПИКов я бы предложил pickit2 (программатор/отладчик) которым и сам пользуюсь и который можно легко собрать ибо схема и прошивка доступна.
|
|
|
|
01.08.2008, 18:42
|
|
Временная регистрация
Регистрация: 09.11.2007
Сообщений: 56
Сказал спасибо: 12
Сказали Спасибо 10 раз(а) в 6 сообщении(ях)
|
Сообщение от Superki
|
Цитата:
|
з.ы. А все же, что за девайс, если не секрет?
|
это система управления сваркой)))
данные меняются нечасто... можно сказать даже вообще не меняются))) только при переналадке... то есть при изменении режимов работы... по крайней мере ресурса даже в 1000 перезаписей сполне достаточно...
|
Как я понимаю, у Вас есть некая аппроксимирующая функция 3-4 степени а Вы ее раскладываете в линейные участки и зашиваете во флеш а потом пользуетесь в работе. А исходные данные для перенастройки Вы откуда берете?
Если сам процессор их собирает - это одно дело, но тогда Вам 1000 перезаписей, кажется, маловато будет.
Если это несколько режимов настройки прошитых изначально - то, может, есть смысл сделать несколько массивов заранее а потом из них выбирать нужный (поставьте доп. флешку чтобы объем побольше был).
А если это перепрошивка с изменением исходных параметров, а то и формы функции, то, может, есть смысл это делать в условиях сервисного обслуживания поставщика и тогда можно хоть и экселом в компе считать аппроксимацию и потом зашивать программатором.
Я к чему веду - может, и не стоит заморачиваться со сложными вычислениями в действительных числах, особенно если есть вероятность, что придется переделывать.
|
|
|
|
01.08.2008, 19:14
|
|
Временная регистрация
Регистрация: 09.11.2007
Сообщений: 56
Сказал спасибо: 12
Сказали Спасибо 10 раз(а) в 6 сообщении(ях)
|
Кстати, мне, как инженеру по сварке, просто интересно - что Вы там регулируете. Чистое любопытство.
|
|
|
|
01.08.2008, 23:39
|
|
Прописка
Регистрация: 08.02.2008
Сообщений: 150
Сказал спасибо: 22
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
|
Итак, andruha-d, мы регулируем сварочный ток в контактной точечной машине... то есть мы задаем нужный ток и система управления его стабилизирует сама...
вообще планируется сделать так, наладчик вводит ток, например, 8 кА, и система управления его поддерживает.. а для этого нужно пересчитать таблицу обратной связи... которая считается по апроксимирующим зависимостям (ну хотя можно ее вычислить с помощью дифференциального уравнения, но это вообще нереально на контроллере))) то есть эта таблица не будет часто меняться...
andruha-d, а Вы сейчас тоже сваркой занимаетесь? или больше электроникой?
|
|
|
|
02.08.2008, 11:27
|
|
Частый гость
Регистрация: 01.05.2008
Сообщений: 41
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Superki, если у вас контроллер с USB, значит, будете подключать к писюку или КПК. Пересчитывать таблицы вам надо только при переналадке.
Так на кой фиг считать в микроконтроллере???
Вычисляйте таблицу в РС, грузите в микроконтроллер.
USB интерфейс - обычный копеечный USB-COM конвертер, FTDI или какой другой, другие решения для этой задачи выглядят ненужным мазохизмом.
Программируете под AVR ATMega - так продолжайте, только прейдите на С. Берёте последнюю AVR Studio, добавляете WinAVR (это полноценный GCC копилятор).
По качеству и удобству этот комплект значительно уступает IAR EWB, но зато - официально халявско-бесплатное.
Размер стандартных Сшных библиотек - ничего страшного, всё нормально влазит в любую ATMega с JTAG интерфейсом. Если не влазит - значит, забыли включить оптимизацию кода
|
|
|
|
02.08.2008, 11:36
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:23.
|
|