Управление силовыми приборами через USB ПК

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Модель МК чисто схемная, то есть никакой симуляции.
Я протеус в основной использую для рисования схем и разводки плат, все недостающие элементы делаю сам...
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

эту бы схему хорошо проверить на симуляторе а то малоли с прошивкой чета
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

Давайте к самому сложному Программирование микрухи. для начала что можно почитать а то тут в нете одна вода ниче полезного
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Ну первым делом надо скачать USBXpress и заодно Keil uVision for C51 8.12, устанавливаем все это дело, создаем проект в Keil, присоединяем к проекту USBX_F320_1.LIB предварительно скопировав этот файл в папку с проектом. Затем пишем:

Код: Выделить всё

//----------
// Includes
//----------

#include "c8051f320.h"       
#include "USB_API.h"


xdata BYTE In_Packet[3]; //массив для принимаемых данных с компа


/*** [BEGIN] USB Descriptor Information [BEGIN] ***/
code const UINT USB_VID = 0x10C4;
code const UINT USB_PID = 0xEA61;
code const BYTE USB_MfrStr[] = {0x1A,0x03,'S',0,'i',0,'l',0,'i',0,'c',0,'o',0,'n',0,' ',0,'L',0,'a',0,'b',0,'s',0};                      // Manufacturer String
code const BYTE USB_ProductStr[] = {0x10,0x03,'U',0,'S',0,'B',0,' ',0,'A',0,'P',0,'I',0}; //  Product Desc. String
code const BYTE USB_SerialStr[] = {0x0A,0x03,'4',0,'3',0,'2',0,'1',0};
code const BYTE USB_MaxPower = 150;           // Max current = 300 mA (15 * 2)
code const BYTE USB_PwAttributes = 0x80;      // Bus-powered, remote wakeup not supported
code const UINT USB_bcdDevice = 0x0100;       // Device release number 1.00
/*** [ END ] USB Descriptor Information [ END ] ***/


void Port_Init(void)
{
   /* Initialize Crossbar and GPIO */
   /* Все порты настроены на выход */
    P0MDOUT   = 0xFF;
    P1MDOUT   = 0xFF;
    P2MDOUT   = 0xFF;
    P3MDOUT   = 0x01;
    XBR1      = 0x40;     
}


void Initialize(void)
{
   Port_Init();                           // Initialize crossbar and GPIO   
}


//----------
// Main Routine
//----------
void main(void)
{
   PCA0MD &= ~0x40;                       // Disable Watchdog timer

   USB_Clock_Start();                     // Init USB clock *before* calling USB_Init
   USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,USB_PwAttributes,USB_bcdDevice);
   Initialize();
   USB_Int_Enable();
         
   while (1);  //вечный цикл в ожидании прерывания USB 
}


//----------
// Interrupt Service Routines
//----------
void USB_API_TEST_ISR(void) interrupt 16       // ISR for USB_API
{
  bit temp_Chanel;
  BYTE INTVAL = Get_Interrupt_Source();

  if (INTVAL & TX_COMPLETE)
  {
      USB_TX_READY = 1;
  }

  if (INTVAL & RX_COMPLETE)
  {
       Block_Read(In_Packet, 3);
       P0 = In_Packet[0];
       P1 = In_Packet[1];
       P2 = In_Packet[2];   
  }
   
  if (INTVAL & DEVICE_OPEN)
  {
    USB_START = 1;
  }
}



Компилируем и прошиваем, затем устанавливаем дрова входящие в комплект USBXpress, подключаем устройство и устанавливаем новое устройство если винда потребует. На этом все, пора писать прогу для компа...
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

:o неужели все 24 вывода уже задействованы?
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Э... А что тут удивительного?
Все три порта назначены как пуш-пул выход, а в прерывании при получении трех байт от компа, соответсвенно выводим эти три байта на порты, что тут страшного? Ведь именно это и требовалось, переслали инфу с компа - реле вкл./выкл.
Если не надо задействовать все порты, то можно например ничего к ним не подсоединять :), или переназначить на I2C/SPI/UART, или на вход.
Короче нахрена оно мне надо? Не хотите читать, разбераться и т. д. Ваше дело. Я и так выложил Вам готовую программу.....
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

ну чтож вы так обомне так плохо думаете. просто было удивительно что мне подагнали программу. я сам тут пытался чета накрапать ниче не получалось. Выж когдато тоже начинали где все подробно описанно про программирование мк?
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Да, наверно погорячился, не принимайте на свой счет :beer:
Я тоже когда то начинал... с чтения даташитов(тем более есть на русском),апнотов, форумов и т.д.
По программированию данных МК написано в апнотах(с примерами кода) например - http://www.electrosnab.ru/silabs/sil_appl.htm.
Программу я выложил полную, компилируйте, прошивайте, потом видно будет....
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

У МЕНЯ ПРОГРАММАТОР НАЗЫВАЕТСЯ AUTOPROG НО В ЕГО ПРОГРАММЕ КОТОРОЙ ПРИШИВАЮТ МК НЕТУ SILABS
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

И чем я могу помочь :roll: ? Ссылку на простой программатор я Вам давал.
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

хотябы на то что можно взять программу которую дали и она сможет работать с моим программаторам а хотя of попробую что нить сделать
Easyrider
Родился
Сообщения: 4
Зарегистрирован: Пт дек 18, 2009 06:50:06

Сообщение Easyrider »

От себя дополню вашу тему. Использую камни фирмы микрочип, 18 ой серии с поддержкой USB. Скачиваем компилятор фирмы MikroE под любой удобный вам язык. Там есть замечательная тулза - HID генератор скрипта для работы с USB. А встроенные библиотеки позволяют одной командой принимать байт из USB и отсылать его. На компе запускаю VB6, там у меня уже готовый модуль для работы с USB, который легко перестраивается под любые нужды. Драйвера на ваше устройство не требуются т.к. определяется оно как HID.
Нужно будет подробнее, выложу в картинках.
Использую камень PIC18F2450. Стоит он не дорого и возможности его позволяют очень много.
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

давайте любые предложения подходят мне на будущее
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

C8051F321-GMR MLP28 что означают буквы GMR а то в магазине такого нет
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

На GMR можете не обращать внимания, это насколько я помню тип припоя.... Если есть возможность возьмите лучше 320 его удобней паять.

Easyrider писал(а):встроенные библиотеки позволяют одной командой принимать байт из USB и отсылать его


Аналогично....

Easyrider писал(а):Там есть замечательная тулза - HID генератор скрипта для работы с USB.


У Silabs тоже полно примеров для HID, но я с ним не работал, не было надобности...

На самом деле выбор камня не принципиален... Главное желание самому что то делать :).
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
BROM
Родился
Сообщения: 3
Зарегистрирован: Вт мар 16, 2010 18:13:03

Re: Управление силовыми приборами через USB ПК

Сообщение BROM »

Все дядьки.... Вы меня добили окончательно... Долго долго в сети ищу как сделать на ЮСБ вот это http://www.pcports.ru/articles/6.php, при чем нужна статья в томже стиле. А затем нужна статья в таком стиле http://www.pcports.ru/articles/8.php Но сколько не искал нигде не нашел. Неужели никто не написал статейку для полного чайника вроде меня? Может где валяется кто знает? Такой каши в голове у меня небыло с тех давних пор когда я в институте изучал волновую теорию. Да я конечно видел вот это http://www.pcports.ru/articles/usb3.php, но платить 1500р за то что при наличии LPT дается бесплатно религия не позволяет. Может я не туда смотрю, может в поиске не те слова использую? Может производители офисной USB ракетницы и т.п. магией моторы крутят? Короче задача: Переключать 8 светодиодов из собственной программы на MVС++ через USB. При чем не сломав при этом мозг. Так вот, вы не вкурсе решил ее ктонибудь? Буду премного благодарен тем кто не отошлет меня в поиск, ибо расценю это как отсыл на 3 буквы. Сижу в гугле 2 недели. Вся проблема в том что я не занимался подобными воросами и => даже правильно написать строку поиска это уже задача. Всем спасибо за прочтение моего крика души)).
Аватара пользователя
NiTr0
Друг Кота
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua
Контактная информация:

Re: Управление силовыми приборами через USB ПК

Сообщение NiTr0 »

Берете исходники USBtinyISP, и пытаетесь переписывать под свои реалии...
BROM
Родился
Сообщения: 3
Зарегистрирован: Вт мар 16, 2010 18:13:03

Re: Управление силовыми приборами через USB ПК

Сообщение BROM »

Берете исходники USBtinyISP, и пытаетесь переписывать под свои реалии...
......................
Я боюсь что вы не правильно меня поняли....... Где я их беру? Что это? Я набрал в гугле.... И.. Я переворотил весь форум, для того чтобы мне чтото здесь понять, надо читать еще 2 месяца..
Я как раз прошу дать мне ссылку на какойнибудь ресурс типа pcports.ru где языком понятным для ламера было бы все описано. Я уверен что я не одинок в своих желаниях, иначе небыло бы столько вопросов на форуме, каждая десятая тема содержит слова USB и LPT. Вот вам тема для сайта"сопряжения ПК с внешними устройствами по USB" посетители гарантированны. Я лично по 10 раз перейду по каждой рекламной ссылке на этом сайте)). Из перелопаченного материала я понял что мне надо двигаться в сторону FT232 + какойнибудь МК,который в дальнейшем я буду использовать для всего. Почемуто мне кажется, что я хочу начать с Меги 16. Или я вообще ничего не понял? Короче посоветуйте еще и первый МК для изучения). Да кстати у меня нет готовых устройств ни для ЛПТ ни для СОМ, поэтому мне абсолютно всеравно как поджигать диоды по ЮСБ. Мне надо превратить ПК в некое подобие МК, так сказать припаять к юсб ножки от МК)) и спомощью программы на ПК ими дрыгать)).
Аватара пользователя
Сэр Мурр
Модератор
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Re: Управление силовыми приборами через USB ПК

Сообщение Сэр Мурр »

Упс! Есть так называемый набор PicKit2 http://www.pickit2.ru/doku.php/о.проекте он как раз способствует началу работы. Цена на момент проведения акции была вполне гуманная- 600 руб. Даже сейчас это стартовый набор можно приобрести, если поискать. Достоинство набора- всё включено, работает на любом компе, даже на нетбуке; стартовый МК сам по себе уже современный; есть возможность использования самых разных средств программирования- в том числе и графических- в виде блок-схем; более того- даже программировать МК с собственной операционной системой (МК в представленном поддерживает эту возможность); не нужно делать программатор.
Аватара пользователя
NiTr0
Друг Кота
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua
Контактная информация:

Re: Управление силовыми приборами через USB ПК

Сообщение NiTr0 »

BROM писал(а):Где я их беру? Что это?


Программатор на USB, с открытым исходным кодом как самой прошивки, так и драйвера для компа. ИМХО куда проще с него начать, чем с нуля писать...
Ну или на аппноуты посмотреть, софт юсб вроде как и там есть...
Ответить

Вернуться в «Интеграция с ПК»