Зарядка Мобильника Портит Контроллер

4-07-2015, 18:03 Cмотрели: 502
Был мобильник М1 (Samsung древний) и зарядка З1, нормального заряда не наблюдалось - выключения мобильника, включения и рестарты режима зарядки. Предполагалось что вышел из строя контроллер. Бывает, поплакали и всё. Проходит высокое (5В) напряжение на почти заряженный аккумулятор, защита его отрубает, отключается телефон. Появляется мобильник М2 с зарядкой З2 с таким-же коннектором. Работа была нормальной, пока не подключил З1 к М2. Результат - симптомы, описанные выше. Возврат к нормальной зарядке З2 ситуацию к нормальному режиму не вернул. Напряжение на глючной З1 5 вольт без нагрузки, осциллограф показывает ровную линию. По одной из схем зарядки на выходе стоит линейный стабилизатор на 5В, судя по всему он работает нормально. Вывод - с З1 приходит нечто, какой-то импульс, сжигающий контроллер. Что сжигает контроллер?
Раздел: Зарядные устройства и аккумуляторы


 Transworld Tw7000 Hf Помогите Разобраться!

4-07-2015, 18:03 Cмотрели: 525
В  Общем достался мне не дорого Transworld TW7000 HF



Подключил его оказалось он не стартует, экран дисплея светиться но информации на нем нет.

Я его вскрыл и стал разбираться что не так с этим американским чудом?



Нашел на плате процессора сгоревшую микросхему 74HCT243 Купил на ебае, поменял... Но он дальше не запускается.

После поиска в инете нашел описание и фото подобного девайса.  http://www.prc68.com/I/TW7000F.html

Сравнив платы процессора пришел к заключению что на моей плате нет одной микросхемы SCN68681C1A44 Стоит ли ее покупать?

Сейчас не знаю стоит ли дальше пробывать его восстановить, так как по сравнению с тем апаратом что давал ссылку выше у меня нет пару плат а именно плат - J13 ALE, J9 (Option 1) Voice Enhancement (DSP Noise Blanker). Не знаю обязательны ли эти две платы? Плата J9 (Option 1) Voice Enhancement (DSP Noise Blanker) - Для работы с кодировкой голоса. А вот плата J13 ALE - не знаю для чего нужна. Все остальное на месте и по состоянию вроде бы исправно.


Светодиод на плате процессора мигает Один длинный один короткий.



Еще очень интересный момент это что апарат DEMO ( по бирке) фото прилагаю,  В комплекте с Transworld TW7000 HF шол модуль ПК управления. (фото прилагаю)



Может кто сталкивался с подобными девайсами или в курсе данной темы и сможет мне подсказать в каком направлении двигаться.



Всем кто откликнутся спасибо заранее.



фото прилагаю

Прикрепленные миниатюры



 Ацп На Stm32F103Vbt6, Работают 1 И 2 Каналы Adc1, Остальные

4-07-2015, 18:03 Cмотрели: 549
Доброе время суток.

Имеется микроконтроллер STM32F103VBT6, на нём заведен ADC1 и используются 6 входных каналов на ножках PA0..PA5. Если в конфигурации установить оцифровку сигнала с пина PA0, то оцифровка проходит успешно, то же самое с пином PA1.

Ситуация меняется, если пытаюсь оцифровать PA2..PA5. Считываются нули. Ниже привожу код. Просьба подсказать в чём может быть дело и как это исправить.

Канал меняю в строчке ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_1Cycles5);. К примеру, ADC_Channel_2.


#include "stm32f10x_rcc.h"
#include "stm32f10x_adc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_usart.h"
#include "misc.h"
#include "delay.h"

void SetupUSART(void);
void send_to_uart(uint8_t data);

void ADC1_2_IRQHandler(void);
void Get_Temp(void);

uint8_t ind1_B;
uint8_t ind2_B;
uint8_t ind3_B;
uint8_t ind4_B;
uint8_t ind5_B;
uint8_t ind1_C;
uint8_t ind2_C;
uint8_t ind3_C;
uint8_t ind4_C;
uint8_t ind5_C;
uint8_t ind1_D;
uint8_t ind2_D;
uint8_t ind3_D;
uint8_t ind4_D;
uint8_t ind5_D;

uint8_t ind_B;

static volatile uint16_t temp=0;


int main(void)
{


SysTick_Config(8000);

RCC_APB2PeriphClockCmd(RCC_APB2ENR_AFIOEN, ENABLE); // ??

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
//GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);
//GPIO_PinRemapConfig(GPIO_Remap_USART2, DISABLE);
//RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;// ??
//AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // ?? disable JTAG
GPIO_InitTypeDef GPIO_InitStructure;

// PORTA
// input
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = /*GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 |*/
GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 |
GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
// alternative
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);


// PORTB
// input
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_3 | GPIO_Pin_5 | GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB, &GPIO_InitStructure);
// output
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);

// PORTC
// input
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOC, &GPIO_InitStructure);
// output
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);

// PORTD
// input
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD, &GPIO_InitStructure);
// alternative
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15); // PWM output pins
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);

// PORTE
// input
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOE, &GPIO_InitStructure);
// output
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_5 | GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOE, &GPIO_InitStructure);

SetupUSART();

// TIM4
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); // Clock to PORTD for TIM4
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE); // Clock to TIM4
GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE);

TIM4->CCER |= (TIM_CCER_CC1E|TIM_CCER_CC2E|TIM_CCER_CC3E|TIM_CCER_CC4E); // Enable all PWM outputs

TIM4->CCMR1|= (TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2); //Forward PWM for ch1 TIM4
TIM4->CCMR1|= (TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2); //Forward PWM for ch2 TIM4
TIM4->CCMR2|= (TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2); //Forward PWM for ch3 TIM4
TIM4->CCMR2|= (TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2); //Forward PWM for ch4 TIM4

TIM4->CR1 |= TIM_CR1_CEN;
TIM4->CCR1 = 65536/5; // Duty cycle PWM1 (Avr voltage = 1.65 V)
TIM4->CCR2 = 65536/4; // Duty cycle PWM2
TIM4->CCR3 = 65536/3; // Duty cycle PWM3
TIM4->CCR4 = 65536/2; // Duty cycle PWM4

// ADC
RCC_ADCCLKConfig(RCC_PCLK2_Div8);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = ADC1_2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

ADC_DeInit(ADC1);

ADC_InitTypeDef ADC_InitStructure;
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);

ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE);
NVIC_Init(&NVIC_InitStructure);
ADC_Cmd(ADC1, ENABLE);
//ADC_TempSensorVrefintCmd(ENABLE);
ADC_ResetCalibration(ADC1);
while (ADC_GetResetCalibrationStatus(ADC1)) { };
ADC_StartCalibration(ADC1);
while (ADC_GetCalibrationStatus(ADC1)) { };

GPIO_SetBits(GPIOE,GPIO_Pin_1);

while(1)
{

GPIO_SetBits(GPIOC,GPIO_Pin_6);
//uint8_t pa2 = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2);
//send_to_uart(pa2);

//GPIO_SetBits(GPIOB,GPIO_Pin_4); // always 1
/*/chB
GPIO_SetBits(GPIOB,GPIO_Pin_6);
GPIO_SetBits(GPIOB,GPIO_Pin_4);
GPIO_SetBits(GPIOB,GPIO_Pin_7);
GPIO_SetBits(GPIOB,GPIO_Pin_9);
GPIO_SetBits(GPIOE,GPIO_Pin_0);
*/

Delay_ms(500);

GPIO_ResetBits(GPIOC,GPIO_Pin_6);
//GPIO_ResetBits(GPIOB,GPIO_Pin_4); // always 1

/*/chB
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_4);
GPIO_ResetBits(GPIOB,GPIO_Pin_7);
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
GPIO_ResetBits(GPIOE,GPIO_Pin_0);
*/

Delay_ms(500);

ind1_B = GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_6); // ok
ind2_B = GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_7); // ok
ind3_B = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3); // ok //(?) always 0
ind4_B = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5); // ok
ind5_B = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8); // ok
ind1_C = GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2); // ok
ind2_C = GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3); // ok
ind3_C = GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4); // ok
ind4_C = GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_6); // ok
ind5_C = GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_1); // ok
ind1_D = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6); // ok
ind2_D = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7); // ok
ind3_D = GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4); // ok
ind4_D = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0); // ok
ind5_D = GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_7); // ok

//send_to_uart(ind1_B);
//send_to_uart(ind2_B);
//send_to_uart(ind3_B);
//send_to_uart(ind4_B);
//send_to_uart(ind5_B);
ind_B = 5-(ind1_B+ind2_B+ind3_B+ind4_B+ind5_B);
switch (ind_B)
{
case 0:
GPIO_ResetBits(GPIOB,GPIO_Pin_6); // sel1_B
GPIO_ResetBits(GPIOB,GPIO_Pin_4); // sel2_B
GPIO_ResetBits(GPIOB,GPIO_Pin_7); // sel3_B
GPIO_ResetBits(GPIOB,GPIO_Pin_9); // sel4_B
GPIO_ResetBits(GPIOE,GPIO_Pin_0); // sel5_B
break;
case 1:
GPIO_SetBits(GPIOB,GPIO_Pin_6); // sel1_B
GPIO_ResetBits(GPIOB,GPIO_Pin_4); // sel2_B
GPIO_ResetBits(GPIOB,GPIO_Pin_7); // sel3_B
GPIO_ResetBits(GPIOB,GPIO_Pin_9); // sel4_B
GPIO_ResetBits(GPIOE,GPIO_Pin_0); // sel5_B
break;
case 2:
GPIO_ResetBits(GPIOB,GPIO_Pin_6); // sel1_B
GPIO_SetBits(GPIOB,GPIO_Pin_4); // sel2_B
GPIO_ResetBits(GPIOB,GPIO_Pin_7); // sel3_B
GPIO_ResetBits(GPIOB,GPIO_Pin_9); // sel4_B
GPIO_ResetBits(GPIOE,GPIO_Pin_0); // sel5_B
break;
case 3:
GPIO_ResetBits(GPIOB,GPIO_Pin_6); // sel1_B
GPIO_ResetBits(GPIOB,GPIO_Pin_4); // sel2_B
GPIO_SetBits(GPIOB,GPIO_Pin_7); // sel3_B
GPIO_ResetBits(GPIOB,GPIO_Pin_9); // sel4_B
GPIO_ResetBits(GPIOE,GPIO_Pin_0); // sel5_B
break;
case 4:
GPIO_ResetBits(GPIOB,GPIO_Pin_6); // sel1_B
GPIO_ResetBits(GPIOB,GPIO_Pin_4); // sel2_B
GPIO_ResetBits(GPIOB,GPIO_Pin_7); // sel3_B
GPIO_SetBits(GPIOB,GPIO_Pin_9); // sel4_B
GPIO_ResetBits(GPIOE,GPIO_Pin_0); // sel5_B
break;
case 5:
GPIO_ResetBits(GPIOB,GPIO_Pin_6); // sel1_B
GPIO_ResetBits(GPIOB,GPIO_Pin_4); // sel2_B
GPIO_ResetBits(GPIOB,GPIO_Pin_7); // sel3_B
GPIO_ResetBits(GPIOB,GPIO_Pin_9); // sel4_B
GPIO_SetBits(GPIOE,GPIO_Pin_0); // sel5_B
break;
}
Get_Temp();
unsigned char a = temp>>4;
send_to_uart(a);
send_to_uart(0xFF);
}
}

void ADC1_2_IRQHandler(void) {
if (ADC_GetITStatus(ADC1, ADC_IT_EOC)) {
ADC_ClearITPendingBit(ADC1, ADC_IT_EOC);
temp = ADC_GetConversionValue(ADC1);
}
}

void Get_Temp(void)
{
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_1Cycles5);
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
}



void send_to_uart(uint8_t data)
{
while(!(USART1->SR & USART_SR_TC));
USART1->DR=data;
}

void SetupUSART()

{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2,ENABLE);
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;

/* Configure USART1 Tx (PA.09) as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* Configure USART1 Rx (PA.10) as input floating */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);


USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_DeInit(USART1);

USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);
}

Раздел: STM32


 Согласующий Предварительный Усилитель

4-07-2015, 18:03 Cмотрели: 505
Добрый день!



Дома для прослушивания музыки использую усилитель БРИГ-001, решил подключить к нему свой смартфон.

Спаял провод переходник, начал эксперементировать со входами подключал, слушал , остался недоволен получаемой на выходе громкостью. Почитал тех данные устройств и выяснил, что есть несоответствие.



Входное сопротивление входов УМЗЧ БРИГ-001:  лин.:350 кОм (±50 кОм) Э.Д.С 180мВ кор-щих: 47 кОм (±4,7 кОм) Э.Д.С 1,8мВ

Выходные параметры звукового чипа wolfson wm5110 на смартфоне 33mW при 32оМ и 100mW при 16оМ



Подскажите где почитать или возможно где есть готовое решение, интернет рыл н оне нашел конкретного решения, может быть есть какая то стерео микросхема не сильно шумная и с недиковинным питанием с помощью которой я смогу скорректировать?



http://ldsound.ru/brig-u-001-stereo-hi-fi/

http://www.digchip.com/datasheets/parts/datasheet/526/WM5110-pdf.php



Заранее большое спасибо!
Раздел: Предусилители, темброблоки, фильтры.


 Wifi Репитер Своими Руками!

4-07-2015, 18:03 Cмотрели: 592
Добрий день!Требуется сделать устройство к которому будет приходить провод ethernet(wan),будет один порт для вихода чтоб настроить мини роутер и будет виход для антенни.Можете хто то помочь сделать схему.Тоесть задача в том чтоб сделать роутер в котором не будет 4 порта для компа а всего 1 тоесть 1 порт ethernet(wan)  1 порт для компа и виход для антенни.Можете помочь розроботать принципиальною схему
Раздел: Дайте схему!


 Опасения Насчет Пробоя По Плате Посоветуйте Плиз.

4-07-2015, 18:03 Cмотрели: 444
Вопрос к людям с практическим опытом.

Схема  - стандартный полный мост. с ОС.Питание от сети  220в  Расстояния между силовыми дорожками у транзисторов ~ 1,1 мм. Стоит ли заказывать сквозные пропилы  на плате ? Я с одной стороны понимаю что не помешают , с другой там не очень красиво выходит , плату ослаблять не хочется (хочу все на нее навесить вместе с трансом)и прочее.. Или может просто зазоры увеличить?Тогда примерно насколько?/

Спасибо.
Раздел: Импульсные блоки питания, инверторы


 Складчина Торы Для Оплеухи

4-07-2015, 18:03 Cмотрели: 434
Добрый день всем!

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

Ничего описывать не буду - представлю несколько спецификаций. все параметры уже давно обсосаны в этих темах - там фотки замеры и отзывы

http://forum.cxem.ne...pic=152042&st=0

http://forum.cxem.ne...pic=149500&st=0

Тему буду дополнять инфой по ходу как время на работе выкраиваю

250 ОМ.JPG
- цена 2500 Вариант №1





250 ОМ 2 вторички.JPG
- цена 2500 Вариант №2





400 ОМ.JPG
- цена 3400 Вариант №3

Вариант №3



Размеры 250вт (примерно ) 120х70

400Вт (примерно ) 140х90



Участники:



mitrandirkno3 - 1шт (вариант №1)
Раздел: Усилитель мощности "Оплеуха Микрухам" Mark 2


 Усилитель С Ос По Току.

4-07-2015, 18:03 Cмотрели: 466
Слыхал есть усилители с ОС не по напряжению а по току, но чот про них мало чо написано.

Прошу знающих людей объяснить:

1) что ОС по току дает? Чем лучше/хуже?

2) Как организуется ОС по току в мостовой схеме? (с общим минусовым проводом представляю)

3) Ну и ссылку бы где поподробнее это дело разбирается
Раздел: Песочница (Q&A)


 Связь Atmega32 И Tda7310

4-07-2015, 18:03 Cмотрели: 649
Здравствуйте уважаемые форумчане!



Решил связать аудио процессор TDA7310 (управление громкостью, басом, тембром и т.д.) с atMega32 (выступает в роли мозгов). Согласно даташиту TDA7310 управляется либо по шине I2C (была выбрана она), либо по шине S-bus.



Проблема заключается в том, что не производится управление и как мне кажется тут два варианта:

1.Ошибки схеме

2.Ошибки в алгоритме



1.Начну со схемы:

Подключение производилось согласно даташиту с небольшими изменениями:

схема.jpg


SDA и SCL подключаются к соответствующим выводам atMega32(далее МК) + через подтягивающие резисторы номиналом 4.7кОм на шину питания МК. Возникли сомнения по поводу разного напряжения питания, TDA7310 - 9В, МК - 5В. Но логические уровни "подходят":



Логический "0" (max) - TDA7310 (1В)    atMega32 (0,7В)

Логическая "1" (от) - TDA7310 (3В)    atMega32 (4,2В)



2.Алгоритм:

Формат сообщений изображен на рисунке ниже.

формат.jpg


В соответствии с форматом, использую вот такую функцию:

   void I2C_SendPocket (unsigned char value,unsigned char adres_rw)

  {

I2C_StartCondition(); // генерируем условие СТАРТ

I2C_SendByte(adres_rw); //оправляем адрес устройства+бит запись

I2C_SendByte(value);//отправляем байт данных

I2C_StopCondition();//генерируем условие СТОП

   }

Адрес TDA7310: 10001000

Данные (value): увеличивающаяся на 1 переменная, т.е. 00000001...00011111



Прикрепляю документацию на TDA7310 и проект в AVRStudio (в нем еще ЖКИ и энкодер)



Я новичок и еще не особо разбираюсь во всех премудростях, может кто-то что-то порекомендует, укажет на ошибки. Заранее благодарен )

Прикрепленные файлы:




Раздел: AVR


 Датчик Движения И Выключатель На Батарейках

4-07-2015, 18:03 Cмотрели: 561
Здравствуйте! Прошу помощи, сам я не могу осилить совсем никак. есть датчик движения 220В, есть крона и пальчиковая батарейка. нужно: запитать датчик движения от кроны, датчик движения при срабатывании должен замыкать цепь прибора, питание которого идет от пальчиковой батареи 1.5В. У меня есть позорные дикие провалы в знаниях электроники, но спаять и сделать смогу) Очень прошу помощи!
Раздел: Дайте схему!

1 2 3 4 5 6
Предыдущая    Следующая



Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Календарь новостей
«    Июль 2015    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031