реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> PSoC, Пробемы при работе с I2C
fakel
сообщение Jul 18 2008, 12:33
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 16-04-06
Пользователь №: 16 164



Здравсвуйте!!!
Недавно начал осваивать зверька PSoC от Cypress
в общем все устраивает и особых трудностей не испытывал.
Но возникла необходимость связать кристалл по I2C с другими устройствами.
В сети имеется master (стороний микроконтроллер у которого с I2С все давно отлажено и работает)
и slave (в данной случае это PSoC)
в качестве отладочной платы использую PSoCEval1
возникла такая проблема: не могу записать дальше 1-го (т.е. 0-го) байта в буфер для записи на PSoC
т.е. пишу в 1-ый, пишется.... а дальше нет sad.gif
кто-нибудь встречался с подобными проблемами?
заранее благодарен за помощь.
Go to the top of the page
 
+Quote Post
yes
сообщение Jul 18 2008, 16:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



в PSOC есть несколько вариантов реализации I2C SLAVE (USER MODULES)
использовал EzI2C - работает.

возможно в программе запрет прерываний или какая-то еще проблема, если используете эмулятор и остановили прием после первого байта, то есс-но возникнут проблемы с приемом следующих
Go to the top of the page
 
+Quote Post
fakel
сообщение Jul 19 2008, 07:29
Сообщение #3





Группа: Новичок
Сообщений: 11
Регистрация: 16-04-06
Пользователь №: 16 164



Спасибо! Буду разбераться дальше...
Go to the top of the page
 
+Quote Post
fakel
сообщение Jul 23 2008, 12:38
Сообщение #4





Группа: Новичок
Сообщений: 11
Регистрация: 16-04-06
Пользователь №: 16 164



Появились новые проблемы в работе с PSoC sad.gif
В данном случае с чтением. Конфигурация таже, что и в экспериментах с записью.
(Кстате запись проходит успешно!)
При чтении, мастеру приходит сплошной мусор, а регистр данных I2C PSoC тоже содержит не то, что хотелось бы...
К PSoC подключен LCD, на котором просматриваю буфер чтения/записи, регистры и номер по I2C
Вроде бы все делаю правильно, т.е. вначале устанавливаю указатель на ячейку в slave master'ом.
<slave_adr(w)><offset>
далее пытаюсь читать...
<slave_adr®><data[offset+0]><data[offset+1]>...<data[offset+n]>
соответственно длинна буфера = n
а результат нулевой
Чего-то никак не могу понять, где ошибка
заранее благодарен за советы!
smile.gif
Go to the top of the page
 
+Quote Post
fakel
сообщение Jul 24 2008, 10:52
Сообщение #5





Группа: Новичок
Сообщений: 11
Регистрация: 16-04-06
Пользователь №: 16 164



Добрый день!
Ура! I2C заработала! (просто была ошибка в мастере, поменял его и все встало на свои места))))
В проекте использую 14-ти разрядный АЦП, при этом предварительно сигнал проходит через усилитель с коэффициентом усиления 1.
Возник вопрос: можно ли как-то повысить точность преобразования АЦП. Просто абсолютная прогрешность в 0,2-0,3 В, для такой разрядности, мне кажется слишком большая.

С наилучшими пожеланиями, Марат.
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 18 2008, 08:04
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(fakel @ Jul 24 2008, 14:52) *
Возник вопрос: можно ли как-то повысить точность преобразования АЦП. Просто абсолютная прогрешность в 0,2-0,3 В, для такой разрядности, мне кажется слишком большая.


ОУ у PSOC достаточно плохие, поэтому особенно крутых характеристик получить не получится

если нужно усилить слабый сигнал, то можно порекомендовать "инструментальный усилитель UM"

но при усилении слабого сигнала, скорее всего, возникнет проблема со смещением 0 (биас, собственно земля и т.п.)
для решения этого можно применить обратную связь через внешний фильтр - есть апп. нота.

ну и вообще апп. ноты по использованию аналоговых блоков у них очень полезны.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 18:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01399 секунд с 7
ELECTRONIX ©2004-2016