PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Беcпроводные коммуникации > Radio

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2015, 11:53   #91
Astravod
Новый Пользователь
 
Регистрация: 07.04.2014
Возраст: 38
Город: Бузулук
Регион: 56
Машина: Opel Astra J
Сообщений: 11
Astravod is on a distinguished road
По умолчанию

Доброго времени суток! А кто нибудь пробовал подключать к Radxa fm модуль на si4731 через I2C?
Astravod вне форума   Ответить с цитированием
Старый 30.05.2015, 12:02   #92
Astravod
Новый Пользователь
 
Регистрация: 07.04.2014
Возраст: 38
Город: Бузулук
Регион: 56
Машина: Opel Astra J
Сообщений: 11
Astravod is on a distinguished road
По умолчанию

Почему нельзя сразу не подключить к I2C к плате, не используя ардуино?
Astravod вне форума   Ответить с цитированием
Старый 05.10.2015, 13:46   #93
nikopol70
Старший Пользователь
 
Регистрация: 01.08.2014
Возраст: 46
Регион: Украина
Сообщений: 274
nikopol70 is on a distinguished road
По умолчанию

Мп1905 в наших краях купить не удалось
Купил теа5767.
Подключил по мануалу к про микро (леонардо), залил тестовый скетч (взят с сайта ардуины в разделе данного модуля, настроен на одну частоту)... тишина... ни щелков ни треска ни шипения.

Сижу и туплю, или что то не дописано в мануале или теа5767 не рабочая.

На форуме ардуино посоветовали залить скетч i2c сканера и посмотреть видется модуль подключеный к ардуине. Залил, потестил, да видется, адрес устройства показывает.

Что и как делать дальше не понимаю, где искать косяк...
nikopol70 вне форума   Ответить с цитированием
Старый 13.10.2017, 17:02   #94
dreamwait
Новый Пользователь
 
Регистрация: 27.06.2017
Город: Тула
Регион: 71
Машина: Toyota Harrier
Сообщений: 1
dreamwait is on a distinguished road
По умолчанию

Есть сейчас аналоговое радио SONY (TYX-??). Все вроде отлично работает - но нет РДС... По сравнению с ней si4703 будет сильно отличаться? Приемники массовые - сравнивал кто? Интересует вариант не в городе, а при удалении - при слабом сигнале.
dreamwait вне форума   Ответить с цитированием
Старый 31.10.2017, 02:26   #95
Kisel39
Старший Пользователь
 
Регистрация: 28.02.2013
Возраст: 45
Город: Железнодорожный
Регион: 50, 90, 150
Машина: Polo Sedan
Сообщений: 174
Kisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to behold
По умолчанию

Цитата:
Сообщение от s.m. Посмотреть сообщение
есть успехи? особенно интересует работа rds
А какие проблемы с RDS ? До боли все примитивно, чип у меня si4709, я не использую библиотек так как они урезаные и немного не правильные, проще мануал глянуть по чипу и RDS, все встанет на свои места.
https://www.silabs.com/documents/pub...otes/AN243.pdf
Читаю 8 значное поле группа 0A и 64 значное поле группа 2A.
Вот старое видео https://yadi.sk/i/OdWArynw3PFJvE, сейчас все глаже.
Kisel39 вне форума   Ответить с цитированием
Старый 12.11.2017, 18:45   #96
Kisel39
Старший Пользователь
 
Регистрация: 28.02.2013
Возраст: 45
Город: Железнодорожный
Регион: 50, 90, 150
Машина: Polo Sedan
Сообщений: 174
Kisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to behold
По умолчанию

Ну что после прочтения менуала разбрались с RDS ?
Если нет, могу скинуть функцию по чтению RDS. Только придется немного доработать под себя. Я регисты читаю по 8 бит, а не перевожу их в 16 как в библиотеке.
На ардуино и на stm все читает на ура.
Кстати можно еще время читать и статус привязки станции.
Прокатит на всех чипах пхожих
Kisel39 вне форума   Ответить с цитированием
Старый 12.11.2017, 19:11   #97
Kisel39
Старший Пользователь
 
Регистрация: 28.02.2013
Возраст: 45
Город: Железнодорожный
Регион: 50, 90, 150
Машина: Polo Sedan
Сообщений: 174
Kisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to behold
По умолчанию

так как чтение регистров из чипа начинается с 0x0A и далее инкримент, читаю по 8 бит без сдвига для создания 16 битных регистров, читать все смысла нет, нужны только с 0x0A по 0x0F, то есть 6 по 16 бит или 12 по 8 бит.
бит RDSR не использую, так как читаю по прерыванию.


uint8_t Si4709_read[12];
#define RDSR Si4709_read[0x00] & 0x80 // 0x0A
#define RDS_0A Si4709_read[0x06] >> 3 == 0 // 0x0D
#define RDS_2A Si4709_read[0x06] >> 3 == 4 // 0x0D
#define RDS_0A_ID Si4709_read[0x07] & 0x03 // 0x0D
#define RDS_2A_ID Si4709_read[0x07] & 0x0F // 0x0D
#define RDS_C_h Si4709_read[0x08] // 0x0E
#define RDS_C_l Si4709_read[0x09] // 0x0E
#define RDS_D_h Si4709_read[0x0A] // 0x0F
#define RDS_D_l Si4709_read[0x0B] // 0x0F

uint8_t Si4709_write[8] = {0x40, 0x01, 0x00, 0x00, 0x98, 0x04, 0x00, 0x1D}; // начальная конфигурация
uint8_t rdsBuffer[9];
uint8_t rdsBuffer2[65];
uint8_t completed, flag, flag2, razmer;
uint16_t completed2;

void RDS(void) {
rdsBuffer[0] = 0x01;
rdsBuffer2[0] = 0x02;
READ_4709();

if (RDS_0A) {
if (rdsBuffer[(RDS_0A_ID) * 2 + 1] != RDS_D_h ||
rdsBuffer[(RDS_0A_ID) * 2 + 2] != RDS_D_l) {
rdsBuffer[(RDS_0A_ID) * 2 + 1] = RDS_D_h;
rdsBuffer[(RDS_0A_ID) * 2 + 2] = RDS_D_l;
completed = 0;
flag = 1;
}
completed |= 1 << (RDS_0A_ID);
if (completed == 0x0F && flag) {
CDC_Transmit_FS(rdsBuffer, 9);
flag = 0;
}
}
if (RDS_2A) {
if (rdsBuffer2[(RDS_2A_ID) * 4 + 1] != RDS_C_h ||
rdsBuffer2[(RDS_2A_ID) * 4 + 2] != RDS_C_l ||
rdsBuffer2[(RDS_2A_ID) * 4 + 3] != RDS_D_h ||
rdsBuffer2[(RDS_2A_ID) * 4 + 4] != RDS_D_l) {
rdsBuffer2[(RDS_2A_ID) * 4 + 1] = RDS_C_h;
rdsBuffer2[(RDS_2A_ID) * 4 + 2] = RDS_C_l;
rdsBuffer2[(RDS_2A_ID) * 4 + 3] = RDS_D_h;
rdsBuffer2[(RDS_2A_ID) * 4 + 4] = RDS_D_l;
completed2 = 0;
flag2 = 1;
}
completed2 |= 1 << (RDS_2A_ID);
if (completed2 == 0xFFFF && flag2) {
for (int i = 64; i > 0; i--) { // сокращаем размер пакета, убирая прбелы с конца
if (rdsBuffer2[i] != 0x20) {
razmer = i + 1;
break;
}
}
CDC_Transmit_FS(rdsBuffer2, razmer);
flag2 = 0;
}
}

HAL_Delay(40);
}


Все написаное только для чтения RDS.
Kisel39 вне форума   Ответить с цитированием
Старый 12.11.2017, 19:24   #98
Kisel39
Старший Пользователь
 
Регистрация: 28.02.2013
Возраст: 45
Город: Железнодорожный
Регион: 50, 90, 150
Машина: Polo Sedan
Сообщений: 174
Kisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to beholdKisel39 is a splendid one to behold
По умолчанию


как то так
Kisel39 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 16:57.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot