Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 21.02.2017, 14:56   #1
SergeiS
Junior Member
 
Регистрация: 19.02.2017
Возраст: 40
Сообщений: 9
Вес репутации: 100/0
SergeiS will become famous soon enoughSergeiS will become famous soon enough
По умолчанию PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Здравствуйте. По роду деятельности необходимо научиться работать с гироскопом и акселерометром для определения положения в пространстве. В качестве гироскопа выступает плата CY-521 на базе микросхемы MPU6050. Данный модуль предназначен для подключения по интерфейсу I2C. Из того что нашел в интернете про подключение данного модуля подавляющее большинство это связки CY-521 + платы Arduino. У меня под рукой есть плата MIKROE-647, StartUSB for PIC, отладочная плата на базе PIC18F2550. В принципе я нашел несколько сообщений о сопряжении CY-521 с контроллером PIC18F4550. Но дело в том что сама микросхема MPU6050 питается от напряжения 3.3 В. На плате CY521 есть преобразователь из 5 в 3.3 В. А контроллер PIC18F2550 на плате MIKROE-647 подключен через USB к компьютеру и питается от 5 В. Вопрос - можно ли напрямую подключать по I2C плату с контроллером и плату с гироскопом? Не возникнет ли несоответствие напряжений на линиях данных и синхронизации в связи с разным питанием этих двух устройств ? Есть еще несколько вопросов, но сначала хотелось бы решить этот.
SergeiS вне форума   Ответить с цитированием
Старый 21.02.2017, 18:24   #2
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,212
Вес репутации: 4222/98
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

мильен раз на форуме было про сопряжение I2C с разными уровнями. Но лучше перейти к одному питанию. И все чаще это 3.3В.
ampersant на форуме   Ответить с цитированием
Старый 21.02.2017, 18:38   #3
SergeiS
Junior Member
 
Регистрация: 19.02.2017
Возраст: 40
Сообщений: 9
Вес репутации: 100/0
SergeiS will become famous soon enoughSergeiS will become famous soon enough
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

ampersant согласен с Вами) Но тут вот какое дело, плату CY-521 никак не представляется возможным приводить к 5 вольтам) Там сама микросхема MPU6050 питается от 3.3 через стабилизатор на плате. Отладочную плату для PIC18F2550 тоже приводить к 3.3 вольта это не слишком просто) Тем более при питании от USB. Лучше подскажите - я правильно понимаю что при питании от USB сигналы на линиях данных и синхронизации интерфейса I2C будут иметь максимальную амплитуду 5 В? Или все же происходит преобразование к 3.3 В? Я почему спрашиваю - потому что в сообщениях относительно сопряжения PIC18F4550 и CY-521 ничего не было сказано про преобразователи напряжений. А насколько мне известно для PIC18F4550 используется то же самое питание что и для PIC18F2550. Или я неправ?
SergeiS вне форума   Ответить с цитированием
Старый 21.02.2017, 22:38   #4
SergeiS
Junior Member
 
Регистрация: 19.02.2017
Возраст: 40
Сообщений: 9
Вес репутации: 100/0
SergeiS will become famous soon enoughSergeiS will become famous soon enough
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Вопрос похоже исчерпан. Разобрался вроде бы. В режиме i2c линии SDA и SCL работают в режиме с открытым коллектором а плата CY-521 уже содержит подтягивающие резисторы к 3.3 В. Так что можно просто подключать плату к плате контроллера и вся стыковка должна быть успешной.
SergeiS вне форума   Ответить с цитированием
Старый 23.02.2017, 14:47   #5
tsb58
Senior Member
 
Аватар для tsb58
 
Регистрация: 04.11.2008
Адрес: Харьков
Сообщений: 332
Вес репутации: 813/42
tsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to behold
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Цитата:
Сообщение от SergeiS Посмотреть сообщение
В режиме i2c линии SDA и SCL работают в режиме с открытым коллектором а плата CY-521 уже содержит подтягивающие резисторы к 3.3 В. Так что можно просто подключать плату к плате контроллера и вся стыковка должна быть успешной.
Уровни 3,3 В будут восприняты как "логическая 1" запитанным от 5 В ПИКом, только для входов с TTL входными буферами. Но, если использовать в ПИКе аппаратный I2C, то при этом его ножки SCL и SDA будут иметь входные буферы с триггером Шмитта. А для таких входов уровень "логической 1" должен быть не менее 0,8 от Vdd, что при 5 вольтовой запитке означает не менее 4 В.
Миниатюры
2550_I2C-pins.png   2550_input-High-Level.png  
tsb58 вне форума   Ответить с цитированием
Старый 23.02.2017, 21:38   #6
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Фрязино, М.О.
Возраст: 57
Сообщений: 1,773
Вес репутации: 2135/74
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Строкой ниже утверждается, что при включенном I2C ноги этого модуля имеют порог 0,7Епит, то есть 3,5 вольта.
Марк вне форума   Ответить с цитированием
Старый 23.02.2017, 21:49   #7
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,532
Вес репутации: 4855/151
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Цитата:
Сообщение от Марк Посмотреть сообщение
Строкой ниже утверждается, что при включенном I2C ноги этого модуля имеют порог 0,7Епит, то есть 3,5 вольта.
все равно дофига. Я бы по-всякому начал с софтового иис, с такими-то вопросами...
но там (плата) MIKROE, скорее всего и компилятор оттуда же. Насколько помню, там был полный набор софтовых прибамбасов, т.е. он может и не узнать никогда, какие грабли обошел...
Greg вне форума   Ответить с цитированием
Старый 23.02.2017, 23:13   #8
tsb58
Senior Member
 
Аватар для tsb58
 
Регистрация: 04.11.2008
Адрес: Харьков
Сообщений: 332
Вес репутации: 813/42
tsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to behold
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Цитата:
Сообщение от Марк Посмотреть сообщение
Строкой ниже утверждается, что при включенном I2C ноги этого модуля имеют порог 0,7Епит, то есть 3,5 вольта.
О.К. Признаю, немного не досмотрел это уточнение. Но, всё равно, 3,3 В меньше, чем минимально требуемый уровень "1" в 3,5 В.
tsb58 вне форума   Ответить с цитированием
Старый 24.02.2017, 09:27   #9
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

может быть offtop однако хотел бы еще раз высказать свой гнев и непонимание по поводу реализации i2c на pic микроконтроллерах.
что мешало сделать хоть какую-нибудь буферизацию? хоть возможность добавить auto ack. тайна.

в итоге если на том же stm32 к i2c можно без труда прикрутить dma, то в пикушке даже 32битной (кроме разного рода преимущественно выполняющих функции мультиков MEC) это все невозможно.
besogon вне форума   Ответить с цитированием
Старый 24.02.2017, 10:33   #10
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Фрязино, М.О.
Возраст: 57
Сообщений: 1,773
Вес репутации: 2135/74
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Ничего подобного. Только что, третьего дня в PIC24FJ128GA702 подключил I2C через DMA к ЖК-дисплею TIC48.
Сделал кольцевой вывод с рестартом шины и переустановкой нулевого адреса дисплея в каждом круге. Правда требуется ДВА обработчика. От DMA в котором разрешается прерывание по MI2C, чтобы завершить вывод последнего байта. И в последнем обработчике рестартуем шину и тут же запускаем DMA. Окончание рестарта приводит к запросу первой транзакции DMA.
Марк вне форума   Ответить с цитированием
Старый 24.02.2017, 10:52   #11
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Марк
первый DMA чтобы передать данные, второй DMA чтобы выставлять следующее состояние шины?
да, я думал об этом, в итоге не помню, с какими ограничениями столкнулся. у Вас при работе с дисплеем есть чтение/модификация/запись?

если только писать, то да - в начале старт, потом по каждому ack/nack передавать очередной байт. проблем мало. а если чтение?
besogon вне форума   Ответить с цитированием
Старый 24.02.2017, 10:58   #12
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Фрязино, М.О.
Возраст: 57
Сообщений: 1,773
Вес репутации: 2135/74
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Я использую только передачу. И только один канал DMA.
А когда обмен нерегулярный, то нет никакого смысла использовать DMA. Выигрыша не будет.
Марк вне форума   Ответить с цитированием
Старый 24.02.2017, 11:08   #13
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Марк
допустим есть i2c устройство с медленным интерфейсом и пикушка.
что хочется - минимизировать затраты на драйвер шины.
по сути допустим тот же дисплей.

вот приложение хочет отрисовать что-то, оно делает запросы к графической библитеке, у которой backend сводится к сообщения по медленной шине. даже если цвет будет 2 3 3, то отрисовка объектов будет занимать время. если еще на каждый байт сохранять/восстанавливать контекст, то отрисовка каждого кадра будет занимать дополнительную энергию.

просто вот в pic32. сохранение контекста unsafe (без сохранения s). для примера.
Код:
.macro gpr_save
	.set noat
	sw at_reg, at_reg_offset(sp)
	.set at
	sw v0, v0_offset(sp)
	sw v1, v1_offset(sp)
	sw a0, a0_offset(sp)
	sw a1, a1_offset(sp)
	sw a2, a2_offset(sp)
	sw a3, a3_offset(sp)
	sw t0, t0_offset(sp)
	sw t1, t1_offset(sp)
	sw t2, t2_offset(sp)
	sw t3, t3_offset(sp)
	sw t4, t4_offset(sp)
	sw t5, t5_offset(sp)
	sw t6, t6_offset(sp)
	sw t7, t7_offset(sp)
	sw t8, t8_offset(sp)
	sw t9, t9_offset(sp)
	sw gp, gp_offset(sp)
	sw fp, fp_offset(sp)
	sw ra, ra_offset(sp)
	mfhi v0
	sw v0, hi_offset(sp)
	mflo v0
	sw v0, lo_offset(sp)		
.endm	

.macro gpr_load
	.set noat
	lw at_reg, at_reg_offset(sp)
	.set at
	lw v0, hi_offset(sp)
	mthi v0
	lw v0, lo_offset(sp)
	mtlo v0	
	lw v0, v0_offset(sp)
	lw v1, v1_offset(sp)
	lw a0, a0_offset(sp)
	lw a1, a1_offset(sp)
	lw a2, a2_offset(sp)
	lw a3, a3_offset(sp)
	lw t0, t0_offset(sp)
	lw t1, t1_offset(sp)
	lw t2, t2_offset(sp)
	lw t3, t3_offset(sp)
	lw t4, t4_offset(sp)
	lw t5, t5_offset(sp)
	lw t6, t6_offset(sp)
	lw t7, t7_offset(sp)
	lw t8, t8_offset(sp)
	lw t9, t9_offset(sp)
	lw gp, gp_offset(sp)
	lw fp, fp_offset(sp)
	lw ra, ra_offset(sp)
.endm	

.macro	interrupt_context_save
	/*if nested exception count is zero, switch
	* to exception stack
	* load to k0 k_gp for relative addressing 
	*/
	lui k0, %hi(k_gp)
	lw k0, %lo(k_gp)(k0)
	lw k1, %gp_rel(nested_exception_count)(k0)
	bne k1, zero, 0f 
	addiu k1, k1, 1
	sw sp, %gp_rel(saved_stack)(k0)	
	lw sp, %gp_rel(exception_stack)(k0)
0:
	sw k1, %gp_rel(nested_exception_count)(k0)

	/*ei*/
	addiu   sp, sp, -pic32mx_interrupt_context_size		
	mfc0 k0, _CP0_EPC
	sw k0, epc_offset(sp)
	mfc0 k0, _CP0_STATUS
	sw k0, status_offset(sp)
	ins k0, zero, _CP0_STATUS_EXL_POSITION, 9
	mfc0 k1, _CP0_CAUSE
	ext k1, k1, _CP0_CAUSE_RIPL_POSITION, 6	
	ins k0, k1, _CP0_STATUS_IPL_POSITION, 6 
	mtc0 k0, _CP0_STATUS
	
	/*save gpr*/
	gpr_save

	/*load k_gp*/
	lui gp, %hi(k_gp)
	lw gp, %lo(k_gp)(gp)
.endm

/***
* restore context switch stack back if need
*/
.macro	interrupt_context_load
	/*gpr load*/
	gpr_load
	
	di
	ehb
	lw k0, epc_offset(sp)
	mtc0 k0, _CP0_EPC
	lw k0, status_offset(sp)
	mtc0 k0, _CP0_STATUS
	/*restore stack*/
	lui k0, %hi(k_gp)
	lw k0, %lo(k_gp)(k0)
	lw k1, %gp_rel(nested_exception_count)(k0)
	addiu k1, k1, -1
	bne k1, zero, 1f
	sw k1, %gp_rel(nested_exception_count)(k0) 
	lw sp, %gp_rel(saved_stack)(k0)
	eret	
1:	
	addiu sp, sp, pic32mx_interrupt_context_size
	eret
.endm
это блин на 1 байт передачи. а Вы говорите то нет никакого смысла использовать DMA.
besogon вне форума   Ответить с цитированием
Старый 24.02.2017, 11:11   #14
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

в pic24 схожая суть.
в pic14/16 тоже очень похоже. даже пожалуй колоритней. в силу архитектурных изысков.
besogon вне форума   Ответить с цитированием
Старый 24.02.2017, 11:14   #15
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Фрязино, М.О.
Возраст: 57
Сообщений: 1,773
Вес репутации: 2135/74
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Я не использую дисплеи без буфера в ОЗУ. То есть драйвер тупо выводит буфер в дисплей круг за кругом с необходимым для этого темпом, либо без зазоров между байтами (реквесты ДМА прямо от флага модуля И2Ц).
А все вычисления и загрузки делаются в ОЗУ МК.
Марк вне форума   Ответить с цитированием
Старый 24.02.2017, 11:18   #16
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Марк
да я не только про дисплеи. есть много устройств с i2c. дисплей это так, к слову пришлось.

о том, как на ровном месте можно отбить охоту к использованию i2c устройств.
besogon вне форума   Ответить с цитированием
Старый 24.02.2017, 11:21   #17
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Фрязино, М.О.
Возраст: 57
Сообщений: 1,773
Вес репутации: 2135/74
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Я не очень понимаю о чем Вы.
ДМА имеет выигрыш против использования прерываний лишь если количество транзакций в каждом запуске достаточно велико. А если там бесконечная сборная солянка, то по любому придется то и дело входить в обработчик. И зачем в этом случае ДМА?
Марк вне форума   Ответить с цитированием
Старый 24.02.2017, 11:25   #18
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Марк
А если там бесконечная сборная солянка - увы, не доводилось с такими устройствами иметь дел. обычно всегда выполняется какой-то довольно простой протокол, в котором сперва нужно отправить команду, чтобы потом отправить или принять данные.
ну или вроде того.
besogon вне форума   Ответить с цитированием
Старый 24.02.2017, 11:31   #19
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Фрязино, М.О.
Возраст: 57
Сообщений: 1,773
Вес репутации: 2135/74
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Не, если "простой" протокол состоит из команд с последующим произвольным направлением данных, то это и есть "сборная солянка".
Вывод на дисплей как раз состоит из ОДНОГО направления передачи.
Если направлений два, то нужно их группировать, перезапуская ДМА в каждом из направлений. Причем командные байты приклеивать к передаче, выделяя чистый прием в отдельный пакет транзакций, тем более, что флаги и реквесты ДМА у направлений РАЗНЫЕ..
Марк вне форума   Ответить с цитированием
Старый 24.02.2017, 11:37   #20
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Марк
что флаги и реквесты ДМА у направлений РАЗНЫЕ - да это все ясно. я прекрасно все это знаю. просто высказал недовольство отсутствием буферизации и в целом не самой прямой реализацией i2c.
уже для нескольких байт имеет смысл использовать DMA, в общем-то.
только каналов DMA в устройствах, как правило совсем совсем не много, а нужно еще что-то делать, кроме как шину разгружать.
besogon вне форума   Ответить с цитированием
Старый 24.02.2017, 12:11   #21
SergeiS
Junior Member
 
Регистрация: 19.02.2017
Возраст: 40
Сообщений: 9
Вес репутации: 100/0
SergeiS will become famous soon enoughSergeiS will become famous soon enough
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Здравствуйте!
Приятно что начатая мной тема перешла в итоге в такую расширенную дискуссию Но то что я прочитал про i2c меня несколько встревожило. Я правильно понимаю что в режиме i2с нет открытого коллектора. И что просто подключение с подтяжкой к 3.3 В может не сработать? И PIC просто не будет распознавать приходящие от платы сигналы как логическая единица ? Я пока еще не начал соединять поэтому и спрашиваю.
SergeiS вне форума   Ответить с цитированием
Старый 24.02.2017, 12:19   #22
SergeiS
Junior Member
 
Регистрация: 19.02.2017
Возраст: 40
Сообщений: 9
Вес репутации: 100/0
SergeiS will become famous soon enoughSergeiS will become famous soon enough
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Да, там был вопрос насчет компилятора для платы MICROE. Компилятор стандартный с сайта микрочип. Там только прошиватель от MICROE. ДАнный процессор с бутлоадером идет.
SergeiS вне форума   Ответить с цитированием
Старый 24.02.2017, 12:32   #23
SergeiS
Junior Member
 
Регистрация: 19.02.2017
Возраст: 40
Сообщений: 9
Вес репутации: 100/0
SergeiS will become famous soon enoughSergeiS will become famous soon enough
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

И еще нюанс, точнее вопрос - чем поможет в данной ситуации программная реализация I2C?
SergeiS вне форума   Ответить с цитированием
Старый 24.02.2017, 13:03   #24
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Фрязино, М.О.
Возраст: 57
Сообщений: 1,773
Вес репутации: 2135/74
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Цитата:
Сообщение от SergeiS Посмотреть сообщение
Здравствуйте!
Приятно что начатая мной тема перешла в итоге в такую расширенную дискуссию Но то что я прочитал про i2c меня несколько встревожило. Я правильно понимаю что в режиме i2с нет открытого коллектора. И что просто подключение с подтяжкой к 3.3 В может не сработать? И PIC просто не будет распознавать приходящие от платы сигналы как логическая единица ? Я пока еще не начал соединять поэтому и спрашиваю.
Вы поняли НЕправильно. Триггер Шмитта - это ВХОДНОЙ вентиль, а открытый сток - ВЫХОДНОЙ буфер. Поэтому проблема не в открытом стоке (с ним все нормально), а во ВХОДНОМ ПОРОГЕ уровня "1" в питающемся от 5 вольт МК. То есть если запитать МК от хотя бы 4 вольт, входной порог единицы будет равен 2,8 вольта и МК будет принимать корректно. Передавать корректно МК будет В ЛЮБОМ случае.
Марк вне форума   Ответить с цитированием
Старый 24.02.2017, 14:10   #25
tsb58
Senior Member
 
Аватар для tsb58
 
Регистрация: 04.11.2008
Адрес: Харьков
Сообщений: 332
Вес репутации: 813/42
tsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to behold
По умолчанию Re: PIC18F2550 и CY-521 на базе MPU6050, связь через I2C

Цитата:
Сообщение от SergeiS Посмотреть сообщение
И еще нюанс, точнее вопрос - чем поможет в данной ситуации программная реализация I2C?
При программной реализации можно задействовать для I2C любые свободные ножки портов. При этом, скорее всего, у этих ножек входной буфер будет иметь TTL-уровни переключения (проверить по даташиту), что позволит работать с уровнями 3,3 В.
tsb58 вне форума   Ответить с цитированием
Ответ


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

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем/как отлаживать код написаный на Си в WinAVR Yokel Микроконтроллеры других производителей 49 30.09.2014 09:48
Присоветуйте тип и способ управления MOSFETом "верхнего" плеча dr_Sash Источники питания и силовая электроника 37 08.09.2012 18:50
Виртуальный COM-порт через USB с PIC18F2550 на ASM zentner Продукция MICROCHIP 2 25.11.2008 13:31
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39


Часовой пояс GMT +3, время: 09:32.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot