Ответить на тему  [ Сообщений: 376 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18, 19  След.
Робот-шпион. Сборка робота. Электронные платы 
Автор Сообщение
Аватара пользователя

Зарегистрирован: 18 июл 2010, 18:17
Сообщения: 1545
Откуда: Ростовская обл. г. Волгодонск
Сообщение Робот-шпион. Сборка робота. Электронные платы
Обсуждение электронных плат.


22 мар 2012, 07:07
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
Тут посмотрел адреса то регистров команд тоже можно дефайнами прописать!
вот что написал
Код:
//PA4-NSS
//PA5-SCK
//PA6-MISO
//PA7-MOSI
//RX_sw-PC4
//TX_sw-PC5

функции инициализации SPI и настройки портов не буду приводить, думаю там все нормально
Код:
void strob_md(unsigned int coman)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_4); //Подаем сигнал CS слейву
SPI_I2S_SendData(SPI1, coman); //Передаем байт через SPI1
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);   //Передатчик занят?
// значит ничего не делаем
}
void write_md(unsigned int adress,unsigned int data)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_4); //Подаем сигнал CS слейву
SPI_I2S_SendData(SPI1, adress); //Передаем байт через SPI1
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);   //Передатчик занят?
// значит ничего не делаем
SPI_I2S_SendData(SPI1, data); //Передаем байт через SPI1
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);   //Передатчик занят?
// значит ничего не делаем
}
int read_md(unsigned int adress)
{
uint8_t data = 0;
GPIO_ResetBits(GPIOA,GPIO_Pin_4); //Подаем сигнал CS слейву
SPI_I2S_SendData(SPI1, adress); //Передаем байт через SPI1
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);   //Передатчик занят?
// значит ничего не делаем
GPIO_SetBits(GPIOA,GPIO_Pin_4); //Снимаем сигнал CS
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == SET);  //Если данные пришли
data = (uint8_t) SPI_I2S_ReceiveData(SPI1);
return data;//возвращаем принятое значение от модуля
}

ЕСТЬ КТО ЖИВОЙ???
Уважаемый alexgti мне все равно не понятно что в какой последовательности отправлять


04 фев 2014, 20:08
Профиль
Аватара пользователя

Зарегистрирован: 02 авг 2011, 04:23
Сообщения: 2871
Откуда: СПб, Озерки.
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
Коллеги, молодцы, что подняли эту тему. Даже мне, далекому от низкого уровня, интересно. Камеру к компу подключил, видимо в прошлый раз что-то напутал, подключал "на колене"


04 фев 2014, 20:12
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
еще
Код:
//RX ---> PC4
//TX ---> PC5
void power_rx(void)
{
GPIO_SetBits(GPIOC,GPIO_Pin_5);
GPIO_ResetBits(GPIOC,GPIO_Pin_4);
}
void power_tx(void)
{
GPIO_SetBits(GPIOC,GPIO_Pin_4);
GPIO_ResetBits(GPIOC,GPIO_Pin_5);
}
void power_sleep(void)
{
GPIO_SetBits(GPIOC,GPIO_Pin_4);
GPIO_SetBits(GPIOC,GPIO_Pin_5);
}
void power_inhibited(void)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_5);
GPIO_ResetBits(GPIOC,GPIO_Pin_4);
}

За камеру после запуска модуля возьмемся) думаю с ней должно что нибуть с контролером получиться, в МК аппаратный OTG USB


04 фев 2014, 20:17
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
А сам модуль должен на какие нибудь команды при инициализации ответить что нибудь?
кстати по вывод GIO2 не использовал, там надо определиться на что его запрограммировать


04 фев 2014, 20:20
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
фото одного модуля


Фото:
Робот-шпион. Сборка робота. Электронные платы
Робот-шпион. Сборка робота. Электронные платы MD7130.jpg [ 35.68 Кб | Просмотров: 2469 ]
04 фев 2014, 20:28
Профиль

Зарегистрирован: 20 авг 2013, 18:27
Сообщения: 172
Откуда: Москва
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
Ребята, вы молодцы! Только не исчезайте. А игломостовские инженеры пускай сидят тут и учатся!


05 фев 2014, 06:05
Профиль

Зарегистрирован: 25 мар 2013, 06:12
Сообщения: 110
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
rfalex писал(а):
А сам модуль должен на какие нибудь команды при инициализации ответить что нибудь?
кстати по вывод GIO2 не использовал, там надо определиться на что его запрограммировать

Ну судя по даташиту контроллер должен с него получать данные.
MCU A7130 - типовая схема подключения:
P0_0------->SCS
P0_1------->SCK
P0_2<----->SDIO
P0_4<------GIO1
P0_5<------GIO2
P0_3<------CK0

В даташите на подобные чипы есть общие принципы работы с ними, давай их придерживаться, пока ясности полной не будет.
И вот еще, надо определиться, в каком режиме будем работать с чипом.
Есть как минимум 3 режима - Direct, FIFO, FIFO extension mode.
Если я все правильно понял, то максимальная скорость достигается в последнем режиме.
Вот, что говорит мануал (перевод с китайского):
1) Initialize RF Chip
2) TX FIFO first Xie PN9 code 64 bytes. (что такое Xie, понятия не имею.....PN9 это видимо преамбула)
3) Enter into TX state, send packet.
4) wait for the CKO PIN Because of time, then yeah TX FIFO Xie PN9 information of the code reverse, a total of 64 bytes.
5) Waiting for the GIO1 after pin into 0, TX RF chip Club Med anti enter Knots beam State, recovery from a Standby State. 6) extending Chi 50ms, return to Step 2 動

Вот таблицы с ID, PN9 и PageTab:
const Uint8 code ID_Tab[8]={0x34,0x75,0xC5,0x2A,0xC7,0x33,0x45,0xEA}; //ID code
const Uint8 code PageTab[8]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};//page select
const Uint8 code PN9_Tab[]=
59 { 0xFF,0x83,0xDF,0x17,0x32,0x09,0x4E,0xD1,
0xE7,0xCD,0x8A,0x91,0xC6,0xD5,0xC4,0xC4,
0x40,0x21,0x18,0x4E,0x55,0x86,0xF4,0xDC,
0x8A,0x15,0xA7,0xEC,0x92,0xDF,0x93,0x53,
0x30,0x18,0xCA,0x34,0xBF,0xA2,0xC7,0x59,
0x67,0x8F,0xBA,0x0D,0x6D,0xD8,0x2D,0x7D,
0x54,0x0A,0x57,0x97,0x70,0x39,0xD2,0x7A,
0xEA,0x24,0x33,0x85,0xED,0x9A,0x1D,0xE0
}; // This table are 64bytes PN9 pseudo random code.
ID в роботе прописывается точно такой, как я выше написал.


Последний раз редактировалось alexgti 05 фев 2014, 09:58, всего редактировалось 1 раз.



05 фев 2014, 08:45
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
использую 4 проводную spi gio1-data out.
как использовать ck0 если он на земле сидит через перемычку в самом модуле?
gio2 будет использоваться для информации о конце передачи или наличия входного сигнала.
Сегодня посмотрю что ответит на чтение состояния модуля по адресу 0х00 или 0х01
согласно документации должен ответить.
Я не такой профессионал чтобы разобраться с тремя массивами что куда отправить.
если не сложно по подробнее
Функции надеюсь я правильно написал.
Просто для меня это не совсем все понято,если у вас нет времени на разжовывание да и не охото, я сам не разберусь,просто брошу или буду искать готовый код когда появится.


Последний раз редактировалось rfalex 05 фев 2014, 10:13, всего редактировалось 1 раз.



05 фев 2014, 09:57
Профиль

Зарегистрирован: 25 мар 2013, 06:12
Сообщения: 110
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
Я тоже далеко не профессионал )
И сейчас к сожалению со временем не очень хорошо, чтобы подключить к своим платам эти модули и попробовать.
Давай, как в мануале.
Вот еще пара функций:

void A7130_WriteReg(Uint8 addr, Uint8 dataByte)
{
Uint8 i;

SCS = 0;

addr |= 0x00; //bit cmd=0,r/w=0
for(i = 0; i < 8; i++)
{
if(addr & 0x80)
SDIO = 1;
else
SDIO = 0;

SCK = 1;
_nop_();
SCK = 0;
addr = addr << 1;
}
_nop_();

//send data byte
for(i = 0; i < 8; i++)
{
if(dataByte & 0x80)
SDIO = 1;
else
SDIO = 0;
SCK = 1;
_nop_();
SCK = 0;
dataByte = dataByte<< 1;
}
SCS = 1;
}


void initRF(void)
{
//init io pin
SCS = 1;
SCK = 0;
SDIO = 1;
CKO = 1;
GIO1 = 1;
GIO2 = 1;
A7130_Reset(); //reset A7130 RF chip
A7130_WriteID(); //write ID code
A7130_Config(); //config A7130 chip
A7130_Cal(); //calibration IF,VCO,VCOC
}


void A7130_WriteID(void)
{
Uint8 i;
Uint8 d1,d2,d3,d4,d5,d6,d7,d8;
Uint8 addr;
addr = IDCODE_REG; //send address 0x06, bit cmd=0, r/w=0
SCS = 0;
ByteSend(addr);
for (i=0; i < 8; i++)
ByteSend(ID_Tab[i]);
SCS = 1;

addr = IDCODE_REG | 0x40; //send address 0x06, bit cmd=0, r/w=1
SCS=0;
ByteSend(addr);
d1=ByteRead();
d2=ByteRead();
d3=ByteRead();
d4=ByteRead();
d5=ByteRead();
d6=ByteRead();
d7=ByteRead();
d8=ByteRead();
SCS=1;
}

Ну и используемые тут ByteRead и ByteSend
void ByteSend(Uint8 src)
{
Uint8 i;

for(i = 0; i < 8; i++)
{
if(src & 0x80)
SDIO = 1;
else
SDIO = 0;

_nop_();
SCK = 1;
_nop_();
SCK = 0;
src = src << 1;
}
}

Uint8 ByteRead(void)
{
Uint8 i,tmp;

SDIO = 1; //sdio pull high
for(i = 0; i < 8; i++)
{
if(SDIO)
tmp = (tmp << 1) | 0x01;
else
tmp = tmp << 1;

SCK = 1;
_nop_();
SCK = 0;
}
return tmp;
}


05 фев 2014, 10:10
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
тоесть в вашем коде используется дерганье ногами МК в ручную а не spi. сегодня вечером все эти функции добавлю себе в проект и перепишу под spi


05 фев 2014, 10:16
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
а подробности по функциям config и call ?
зачем в функции A7130_WriteID() переменные d1 по d8? они же даже не используются


05 фев 2014, 11:04
Профиль

Зарегистрирован: 18 мар 2013, 10:56
Сообщения: 59
Откуда: Потусторонний мир
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
alexgti писал(а):
Ну не переживайте так, начинайте, поможем....по крайней мере я помогу, чем смогу. Мне эта тема тоже интересна, только вот времени пока не хватает заниматься.
по поводу RX и TX
вот таблица
RX ON TX ON TR/X OFF Inhibition
TX SW 1 0 1 0
RX SW 0 1 1 0

т.е. тут все однозначно, эти пины управляют усилителем, который на плате. Переключаем ими на прием или передачу.
в роботе они подключены к портам PC7 и PC6


А можно вопрос - а откуда это известно - в модуле-ж микросхема-капля. Или модуль стандартный ?

alexgti писал(а):
В роботе инициализируется все примерно так:
разрешаем порты А и С
Разрешаем SSI (SPI)
Устанавливаем обмен на 10 Мбит в режиме мастера
Разрешаем SSI
Выставляем в 0 RX и TX по порту C
Читаем состояние RX и TX ( не понял пока, зачем)


А это как установлено - что читаем ?

alexgti писал(а):
Дальше выставляем биты порта A для доступа к регистрам (CHIP SELECT to 0 will access spi registers)
Отправляем по SPI 0 для выбора регистра 0
задержка 5000 мс
Отправляем по SPI 0 для сброса модуля
Выставляем биты порта A (CHIP SELECT to 1 will deselect spi registers)

Все, модуль сброшен
Следующим этапом инициализируем модуль.
робот инитится следующей последовательностью регистров:

RF_INIT[] = {0, 0x62, 0, 0x3F, 0, 0, 0, 0, 0, 0, 0, 0x19, 1, 0x9F, 0, 0xE, 0x96, 0,
4, 0x3C, 0x78, 0xAF, 0x40, 0x10, 0x60, 0x72, 0x6F, 0xC2, 0x3F, 0xE7, 0,
0xF1, 0x17, 6, 0x2A, 0x60, 0xFF, 0x80, 0xD0, 0, 0x70, 0, 0, 0xDC, 0xF0,
0x37, 0x47, 0xF7, 0xF0, 0x37, 0x55, 0x15, 0x15, 0, 0, 0x77, 0, 0, 0, 0, 0, 0, 0, 0};


А сии данные откуда - перехват или вам доступен исходник прошивки плат приемо-передатчика ?


05 фев 2014, 11:28
Профиль

Зарегистрирован: 25 мар 2013, 06:12
Сообщения: 110
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
rfalex писал(а):
тоесть в вашем коде используется дерганье ногами МК в ручную а не spi. сегодня вечером все эти функции добавлю себе в проект и перепишу под spi

Это не у меня, это оригинальный даташит на другой модуль от этого производителя. Они все похожи немного и работа с ними примерно одинакова.
Да, надо переделать под SPI. Я начал, но не закончил. Переписал немного под стелларис, но на железе не проверял еще.


05 фев 2014, 12:21
Профиль

Зарегистрирован: 18 мар 2013, 10:56
Сообщения: 59
Откуда: Потусторонний мир
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
А как производителя вычислили ? Китайских делателей подобных трансиверов немало, а может там nRF клон или кого-то еще из приличных ?


05 фев 2014, 12:24
Профиль

Зарегистрирован: 14 янв 2014, 18:59
Сообщения: 31
Откуда: Пенза
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
то что капля это а7130 выявленно логическим путем по названию модуля.и производитель от туда же. есть в продаже подобные там как раз микросхема совподает с названием модуля да и производитель тот же
alexgti тогда давайте недостающие функции и скгодня вечером проверю что получится.
Пара вопросов:
1.действительно откуда известно какими айди регенится сам робот?
2.я не разбираюсь но спрошу,в какомто номере приходила плата и диск для обновления ПО, от туда реально дернуть прошивку?
3.что вообще делает эта запись 8 ID? и что после записи должен ответить модуль 8раз?
4.по поводу ID в даташите написанны рекомендации по айди 5хh or Axh
5.и выше я уже спрашивал про вывод ck который на земле висит на самом модуле через перемычку
6.примеры с какого модуля берете?


05 фев 2014, 12:33
Профиль

Зарегистрирован: 25 мар 2013, 06:12
Сообщения: 110
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
CommunismGhost писал(а):
А можно вопрос - а откуда это известно - в модуле-ж микросхема-капля. Или модуль стандартный ?

А это как установлено - что читаем ?

А сии данные откуда - перехват или вам доступен исходник прошивки плат приемо-передатчика ?

Модуль стандартный. Вместо капли в оригинальном установлен чип в QFN. В остальном все сходится. Маркировка на модуле присутствует...далее...логика.
Установлено эмперическим путем )))
Модуль стандартный, на него есть даташит. Также есть мануал по работе с подобными модулями этого производителя.
Естественно, никаких исходников у меня нет, иначе я бы давно перекроил прошивку так, как надо.
Пытаюсь переписывать с нуля.


05 фев 2014, 12:37
Профиль

Зарегистрирован: 25 мар 2013, 06:12
Сообщения: 110
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
CommunismGhost писал(а):
А как производителя вычислили ? Китайских делателей подобных трансиверов немало, а может там nRF клон или кого-то еще из приличных ?

Погуглите, это несложно.
Перерыл в свое время кучу вариантов и с nRF и с другими....был уверен, что там стоит сс2500 от TI, но когда вскрыл модуль, все стало понятно.


05 фев 2014, 12:38
Профиль

Зарегистрирован: 25 мар 2013, 06:12
Сообщения: 110
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
rfalex писал(а):
то что капля это а7130 выявленно логическим путем по названию модуля.и производитель от туда же. есть в продаже подобные там как раз микросхема совподает с названием модуля да и производитель тот же
alexgti тогда давайте недостающие функции и скгодня вечером проверю что получится.
Пара вопросов:
1.действительно откуда известно какими айди регенится сам робот?
2.я не разбираюсь но спрошу,в какомто номере приходила плата и диск для обновления ПО, от туда реально дернуть прошивку?
3.что вообще делает эта запись 8 ID? и что после записи должен ответить модуль 8раз?
4.по поводу ID в даташите написанны рекомендации по айди 5хh or Axh
5.и выше я уже спрашивал про вывод ck который на земле висит на самом модуле через перемычку
6.примеры с какого модуля берете?

1. Методом ковыряния.
2. Не помню точно, но бинарные прошивки доступны для скачивания, поищите.
3. Пока не знаю, так глубоко еще не копал.
4. Не знаю, находил именно этот ID и в роботе тоже он используется.
5. Тоже не в курсе.
6. A7125 и A7131.....A71252Мбит., на A7130 скачать не удалось.

Личку посмотри


05 фев 2014, 12:58
Профиль

Зарегистрирован: 20 авг 2013, 18:27
Сообщения: 172
Откуда: Москва
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
Вы бы видео в ютуб выложили для не столь одареных, хочеться понять ваши действия зрительно.


06 фев 2014, 10:01
Профиль

Зарегистрирован: 25 мар 2013, 06:12
Сообщения: 110
Сообщение Re: Робот-шпион. Сборка робота. Электронные платы
verial1966 писал(а):
Вы бы видео в ютуб выложили для не столь одареных, хочеться понять ваши действия зрительно.

А действий пока нет особо никаких. rfalex переписывает под свои кортексы программу управления RF модулем, а я ему стараюсь в этом помогать.
Вот как результат будет, тогда можно и отчитаться о проделанной работе. Ну и в этом ключе будет попроще разобраться, как взаимодействуют UC6 и UC7


06 фев 2014, 10:04
Профиль
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 376 ] 
На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18, 19  След.


   Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Нет новых сообщений Звезда, Т-90А 1/72, "сборка без клея".

[ На страницу: 1, 2 ]

в форуме Бронетехника 1/72

bw777

30

35962

08 ноя 2015, 00:45

bw777 Перейти к последнему сообщению

Нет новых сообщений Корабль Адмирала Нельсона "Виктори" - Сборка секции корабля (сечение по мидель-шпангоуту) МАСШТАБ 1/72

[ На страницу: 1 ... 6, 7, 8 ]

в форуме Корабль адмирала Нельсона «Виктори»

Berkut

148

103427

23 сен 2019, 05:23

adept Перейти к последнему сообщению

Нет новых сообщений "Летучий голландец" - Сборка, полезные советы.

[ На страницу: 1, 2, 3 ]

в форуме Общие темы и Прочие серии-сборки кораблей

Rolf

53

57231

20 дек 2018, 09:23

Kaktak Перейти к последнему сообщению

Нет новых сообщений "Постепенный мастер". Японская сборка по инструкции.

[ На страницу: 1 ... 12, 13, 14 ]

в форуме Собери Жемчужину - Процесс сборки, Фотоотчеты пользователей

PapaNiki

270

193107

14 янв 2020, 07:14

falcon762 Перейти к последнему сообщению

Нет новых сообщений Сборка корабля "Черная Королева" от garryniy

в форуме Корабли не из партвоков

Aeroplanus

13

20129

26 авг 2014, 17:16

sergandr Перейти к последнему сообщению


Кто сейчас на конференции

Зарегистрированные пользователи: Dombrovskiy, Google [Bot], Google Image [Bot], Majestic-12 [Bot], Varak, Yandex [Bot]

модель корабля виктори, Танк Т-34 подписка, Коллекция Российские цари, дамы эпохи журнал
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять Фото

Найти:
Журнальные серии ДеАгостини и другие коллекционные издания Партворки.

2010-2022 Форум о журнальных коллекциях Deagosini, Ашет коллекция, Eaglemoss и других издательств.

При использовании материалов сайта активная ссылка на сайт обязательна!

Рейтинг@Mail.ru