Могу ли я использовать разные каналы таймера, когда другие каналы (того же таймера) имеют альтернативную функцию i2c?

Мое встроенное устройство имеет i2c на следующих контактах

GPIO_2 => GPT0_CH2 => configured as i2c SDA
GPIO_3 => GPT0_CH3 => configured as i2c SCL

и я настроил другие каналы как

GPIO_0 => GPT0_CH0 => configured as PWM Led
GPIO_1 => GPT0_CH1 => configured as PWM Fan

Может ли работать следующая конфигурация?

ШИМ работает на частоте 2 кГц с рабочим циклом от 0% до 100%.

Повлияет ли это на поведение i2c?

Я ожидаю, что они используют один и тот же GPT, поэтому изменение частоты приводит к катастрофе?


person Luigi    schedule 03.10.2017    source источник
comment
Каналы обычно не связаны между собой, но это зависит от настроек периферии. Например, некоторые настройки ШИМ могут использовать несколько таймеров. Мой главный вопрос к вам: почему вы используете периферийное устройство таймера для I2C?   -  person Ed King    schedule 03.10.2017
comment
Что такое встроенное устройство? На этот вопрос нельзя ответить, не зная точно, какой MCU используется. А если ваш вопрос касается вопросов EMC, вам следует опубликовать его на electronics.stackexchange.com.   -  person Lundin    schedule 03.10.2017
comment
@EdKing Я не использую GPT для создания i2c, я просто предположил, что, поскольку все контакты i2c (обычно) находятся на периферийном устройстве GPT, они будут использовать сам GPT. Можете ли вы подтвердить, что если я использую CH2 для какой-либо цели, то CH3/4/5 обычно не связаны?   -  person Luigi    schedule 03.10.2017
comment
Нет, не могу подтвердить, но обычно каналы не связаны между собой. Выводы I2C обычно не находятся на (совместно) периферийном устройстве таймера, это полностью зависит от отображения ввода-вывода MCU. Похоже, вы запутались в работе I2C.   -  person Ed King    schedule 03.10.2017
comment
Поскольку вы настроили его таким образом, вы, конечно, можете ответить на вопрос, работает ли он самостоятельно!? Ответ в любом случае наверняка лежит в руководстве по эксплуатации рассматриваемой детали (что остается для нас загадкой!)   -  person Clifford    schedule 04.10.2017


Ответы (1)


ШИМ и модуль I2C подключены к выходу GPIO через мультиплексор. Настроив соответствующие регистры в микроконтроллере, вы можете решить, какой вывод будет передаваться на GPIO. На этой блок-схеме показан очень упрощенный обзор отношений между периферийными модулями, мультиплексором и выходом:

введите здесь описание изображения

При установке SEL на 0или 1 либо IN0, либо IN1 будут передаваться на контакт GPIO.

Итак, ответ: нет, ваша настройка частоты ШИМ не окажет никакого влияния на поведение I2C.

person arminb    schedule 03.10.2017
comment
Это кажется законным, я приму ваш ответ, как только смогу попробовать - person Luigi; 03.10.2017
comment
Ваша диаграмма не соответствует тому, что описывает вопрос, описание в вопросе совершенно неясно, и вы даже не знаете, что такое часть MCU, поэтому желание помочь достойно восхищения, но вряд ли это будет ответом, поскольку вопрос без ответа. - person Clifford; 04.10.2017
comment
Я ответил на вопрос, как я это понял. - person arminb; 04.10.2017