Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Устройство на pic
Форумы.КАБiNET > Технопарк > Электроника, моддинг, твикинг
jofa66
Здраствуйте всем!!!
Есть вполне определенная задача, требующая решения. Нужно создать устройство преобразующее сопротивления одного номинала в сопротивления другого номинала по заданной таблице соответсвия. Сам вот что думаю, поставить контроллер с ацп и цифровой потенциометр, все преобразования в контроллере, а на выходе нужное сопротивление. Смотрел PIC 16C717, вроде подходит, в потенциометр значения по SPI загонять.
Может есть у кого-нить другие мысли по этому поводу, просто девайс оч нужен, а опыту по работе с контроллерами маловато((
Demax
Чтото задумка твоя не очень понятна.Ты как хочешь преобразовать один резистор в другой а? mellow.gif
Gall
Вариантов решения несколько.
1. Простейший. Использовать параллельный АЦП и потенциометр с параллельным входом. Таблицу хранить в параллельной ПЗУ. Выход АЦП - на адрес, вход потенциометра - на данные.

2. Так, как ты сказал. Только контроллер лучше MSP430 или ADuC.

3. Сделать аналоговый.
Demax
Понял )))
Gall а чем тебе PICи не нравятся?
Gall
У PIC АЦП плохой. Да и по остальным параметрам (быстродействие, энергопотребление) они проигрывают другим семействам. Самые лучшие АЦП у ADuC, немого похуже - у MSP430.
Demax
Цитата(Gall @ 2.8.2006, 23:09)
У PIC АЦП плохой. Да и по остальным параметрам (быстродействие, энергопотребление) они проигрывают другим семействам. Самые лучшие АЦП у ADuC, немого похуже - у MSP430.
*


Чтото я сомневаюсь что MSC-51 потребляет мало энергии.MSP430 довольно интересные МК,а как у них с локализацией даташитов дела обстоят?И можно ли их на коленке прошить как ПИКи?
ПИК прошивается схемой из резисторов, даже 18 серия.
Gall
MSP430 и AVR шьются парой проводов от LPT (первый - через JTAG, второй - через SPI). Даташиты на те и другие переведены и продаются в виде книг.

С ADuC хуже. Вроде шить можно тоже по паре проводов, может даже через UART, но я этим вопросом не интересовался. Единственный плюс этих контроллеров - хорошие АЦП и ЦАП на борту (ну Analog Devices же, как же иначе!). А как контроллеры - что тут скажешь, MCS51 он и в Африке MCS51, дряньцо...
Demax
Цитата(Gall @ 3.8.2006, 01:15)
MSP430 и AVR шьются парой проводов от LPT (первый - через JTAG, второй - через SPI). Даташиты на те и другие переведены и продаются в виде книг.

С ADuC хуже. Вроде шить можно тоже по паре проводов, может даже через UART, но я этим вопросом не интересовался. Единственный плюс этих контроллеров - хорошие АЦП и ЦАП на борту (ну Analog Devices же, как же иначе!). А как контроллеры - что тут скажешь, MCS51 он и в Африке MCS51, дряньцо...
*


Вово, да и вообще встроенные ADC мало хорошего в них, самый лучший вариант это внешний АЦП. И быстродействие лучше, и от контроллера мало зависит.ТАк что лучше всего связка внешний АЦП И МК на вкус ембедера.
jofa66
Цитата(Gall @ 2.8.2006, 12:26)
Вариантов решения несколько.
1. Простейший. Использовать параллельный АЦП и потенциометр с параллельным входом. Таблицу хранить в параллельной ПЗУ. Выход АЦП - на адрес, вход потенциометра - на данные.

2. Так, как ты сказал. Только контроллер лучше MSP430 или ADuC.

3. Сделать аналоговый.
*


А если по быстродействию PIC устраивает? Просто охота попробовать пик. И с параллельным входом потенциометров найти не мог, в основном трехпроводные SPI
Gall
Ну я бы тогда AVR ставил. Возни меньше, чем с PIC. Дешевле. И программировать можно на нормальном Си.
Demax
Цитата(Gall @ 3.8.2006, 18:23)
Ну я бы тогда AVR ставил. Возни меньше, чем с PIC. Дешевле. И программировать можно на нормальном Си.
*


Чтото ты путаешь blink.gif Я вот сейчас на Си нормально для пика програмирую . mellow.gif А почему возни больше с ним?
Gall
Цитата(Demax @ 3.8.2006, 20:13)
Чтото ты путаешь  blink.gif  Я вот сейчас на Си нормально для пика програмирую . mellow.gif А почему возни больше с ним?
*


У пика Си не совсем стандартный. А у AVR - совсем.

СО старшими пиками возни столько же. А младшие одни без кварца не работают, другие еще какие... И частоты у них выше при равном быстродйствии.
Demax
Цитата(Gall @ 3.8.2006, 21:27)
У пика Си не совсем стандартный. А у AVR - совсем.

СО старшими пиками возни столько же. А младшие одни без кварца не работают, другие еще какие... И частоты у них выше при равном быстродйствии.
*


Хм, чтото не пойму тебя.в нем отличие стандартного си от HiTeCH PICC ?
Младшие пики уже давно не требуют осцилятора внешнего.внутренний есть. Ну PIC16F84a уже не производят. laugh.gif
Gall
Подцепив LCD, можешь сделать так?

Исходный код
#include "lcd.h"
#include <stdio.h>

main ()
{
   stdout = &lcd_fdev;
   printf ("Hello World!");
}
Demax
Цитата(Gall @ 3.8.2006, 22:17)
Подцепив LCD, можешь сделать так?

Исходный код
#include "lcd.h"
#include <stdio.h>

main ()
{
   stdout = &lcd_fdev;
   printf ("Hello World!");
}

*


А то ))) Могу конечно,
Исходный код
  temperature = ((float)(termo0))/2-0.25+((float)(count_perc - count_remain))/((float)(count_perc));
  sprintf (buf, "t=%4.1f", temperature);  //расчитали и вывели температуру
  lcd_home();
  lcd_puts (buf);

вот кусочек кода программы что я сейчас использую

Добавлено в [mergetime]1154622667[/mergetime]:
Этож зависит от библиотек а не от Си.
MainRooT
Цитата(Demax @ 3.8.2006, 21:31)
Исходный код
  temperature = ((float)(termo0))/2-0.25+((float)(count_perc - count_remain))/((float)(count_perc));
  sprintf (buf, "t=%4.1f", temperature);  //расчитали и вывели температуру
  lcd_home();
  lcd_puts (buf);


*


Что-то больно похоже на последнюю версию прошивки моего последнего девайса. По сути та же последовательность действий при помощи тех же функций blink.gif И даже выводишь ты тоже ТЕМПЕРАТУРУ. и Тоже сначала с помощью sprintf в буфер blink.gif
Demax
Цитата(MainRooT @ 3.8.2006, 22:32)
Что-то больно похоже на последнюю версию прошивки моего последнего девайса. По сути та же последовательность действий при помощи тех же функций  blink.gif И даже выводишь ты тоже ТЕМПЕРАТУРУ. и Тоже сначала с помощью sprintf в буфер  blink.gif
*


хм, термометр делаешь?
Gall
Цитата(Demax @ 3.8.2006, 21:31)
Этож зависит от библиотек а не от Си.
*


Это зависит от стандартной поставки Си. А еще важно, как видны регистры - как переменные или через специальные функции доступа. Между AVR и MSP430 код переносится свободно.
jofa66
Допустим с контроллером я определился, а какой порядок дальнейших действий?
В какой приложении писать программу? получается пишу на си, как там происходит инициализация ацп, портов? Писал на ассемблере для 51 семейства. Может примеры есть у кого? И как шить, тоже интересно, какой прогой, если AVR
Gall
Для AVR все зависит от программатора - AVRdude, PonyProg, uisp, STK500 и т.д. Если нет никакого - делай pony, он универсальный. Но софт лучше бери альтернативный - оригинальная "лошадь" иногда портит фузы контроллера.

На Си пишется все достаточно очевидно. Посмотри документацию на библиотеку avr-libc и примеры оттуда же. Все остальное - по Datasheet.
jofa66
Программатор есть LAB TOOL 48XP, сам его еще не щупал, но доступ к нему есть. Gall, какую прогу можешь посоветовать?
Demax
Цитата(jofa66 @ 4.8.2006, 16:32)
Программатор есть  LAB TOOL 48XP, сам его еще не щупал, но доступ к нему есть. Gall, какую прогу можешь посоветовать?
*


AVR выбрал? blink.gif
MainRooT
Цитата(Demax @ 4.8.2006, 19:12)
AVR выбрал?  blink.gif
*


Ну и правильно, что его. Я тоже за авр. С пиками возился, но плюнул. Дорогие, более медленные, неудобные (ну, галл уже перечислил недостатки).
Demax
Цитата(MainRooT @ 4.8.2006, 20:16)
Ну и правильно, что его. Я тоже за авр. С пиками возился, но плюнул. Дорогие, более медленные, неудобные (ну, галл уже перечислил недостатки).
*


Да как хотите flower.gif.Вы ограниченые люди если способны утверждать что то какашко а это просто прелесть. Мое мнение каждой цели свое решение.
Gall
Применение PIC очень узкое. Системы с тяжелыми условиями работы. Помехи по питанию и прочая лабуда. Моторами управлять, например. Применение MCS-51 - задачи, где используется специфическая периферия контроллеров либо где есть готовые прошивки. AVR и MSP430 подходят почти везде. MSP430 - малое энергопотребление и навороченная периферия, AVR дешев.

А к программатору разве нет проги?
Demax
Цитата(Gall @ 4.8.2006, 21:44)
Применение PIC очень узкое. Системы с тяжелыми условиями работы. Помехи по питанию и прочая лабуда. Моторами управлять, например. Применение MCS-51 - задачи, где используется специфическая периферия контроллеров либо где есть готовые прошивки. AVR и MSP430 подходят почти везде. MSP430 - малое энергопотребление и навороченная периферия, AVR дешев.

А к программатору разве нет проги?
*


Тебе явно прочистил мозги кто то на счет пиков. blink.gif
MainRooT
Цитата(Demax @ 4.8.2006, 21:07)
Тебе явно прочистил мозги кто то на счет пиков. blink.gif
*


Если Gall говорит - это действительно так yes.gif
Gall
Цитата(Demax @ 4.8.2006, 21:07)
Тебе явно прочистил мозги кто то на счет пиков. blink.gif
*


Нет, просто PIC выполняет команду за сколько тактов? А AVR за сколько? А адресация у них какая? Я с точки зрения математика рассуждаю.

Набор команд самый "кошерный" у MSP430 - чистый ортогональный RISC. На втором месте AVR - уже есть некоторые странности, но в основном ортогональность сохраняется. А набор команд PIC уже чем-то напоминает CISC - ортогональность нарушена, явно видны команды "старые" и "новые". И уж совсем никуда не годится MSP430, который есть CISC в чистом виде.

Под MSP430 и под AVR можно писать на чем угодно, не заботясь о ресурсах - под такие ортогональные архитектуры компилятор соптимизирует все сам. Хоть на Фортране пиши, если нравится. А под PIC и MSP430 уже "красиво" не попишешь - все время думашь о том, как это скомпилируется и не лучше ли написать кусок на ассемблере.

Я могу легко написать код на Си, который можно будет скомпилировать И под 430-й, И под AVR, всего лишь переназначив регистры в одном .h-файле. Я могу переиспользовать этот код во всех проектах. Я НЕ могу сделать так же красиво с PIC и MCS-51.
MainRooT
Цитата(Gall @ 4.8.2006, 23:20)
...
Набор команд самый "кошерный" у MSP430 - чистый ортогональный RISC. На втором месте AVR - уже есть некоторые странности, но в основном ортогональность сохраняется. А набор команд PIC уже чем-то напоминает CISC - ортогональность нарушена, явно видны команды "старые" и "новые". И уж совсем никуда не годится MSP430, который есть CISC в чистом виде.
...
*


huh.gif
Где-то опечатка?
Gall
Конечно опечатка. Вместо MSP430 следует читать MCS51.
jofa66
Вобщем собрался с мыслями и софтом, контроллер atmega16, компилятор CodeVisionAVR, шить через LPT, симулятор vmlab. Буду пробовать))
Demax
Цитата(jofa66 @ 7.8.2006, 18:46)
Вобщем собрался с мыслями и софтом, контроллер atmega16, компилятор CodeVisionAVR, шить через LPT, симулятор vmlab. Буду пробовать))
*


Лучше PIC18 комплятор HiTech PICC18 шить не намертво а через внутрисхемное программирование через ком порт.Проблем с отладкой не будет.
MainRooT
Цитата(Demax @ 7.8.2006, 21:02)
Лучше PIC18  комплятор HiTech PICC18 шить не намертво а через внутрисхемное программирование через ком порт.Проблем с отладкой не будет.
*


Названный автором авр также без проблем шьется внутрисхемно
P.S. по прайсу промаги PIC18 - от 200 рублей, ATmega16 - от 70.
И как я понимаю по твоему посту, характеристики сходные...
Русская версия IP.Board © 2001-2019 IPS, Inc.