Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-MLPC24X8, SK-MLPC1788, SK-LPC4088
LPC1788 SPI
sekil
Добавлено 23.09.2012 11:54
0
Сообщение: 1
sekil
0

Пункты: 2027
Регистрация: 30.08.2012
Добрый день.

Помогите пожалуйста - не могу понять почему не читает инфу с еепрома, подключенного к SSP0. Всю инициализацию беру из CMSIS. Далее пишу:

SSP_SendData(LPC_SSP0,0x90);
SSP_SendData(LPC_SSP0,0x00);
SSP_SendData(LPC_SSP0,0x00);
SSP_SendData(LPC_SSP0,0x00);

for (i=0;i<30000;i++);

_DBH16_(SSP_ReceiveData(_USING_SSP));
_DBH16_(SSP_ReceiveData(_USING_SSP));

Но всегда выводит 0x00ff 0x00ff

Померил тестером ногу clk - есть колебания с частотой почти мегагерц.

Может у ког оесть пример работы с еепромами через SSP
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.09.2012 13:58 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
хм.. аскетично..
1. ссылку на схему платы
2. название "еепром"-а
3. к каким контактам какого разъема платы подключен
это по физике..

раз у вас чудо-тестер показывает "почти мегагерц", так посмотрите жизнедеятельность на остальных ногах "еепром-а", в особенности CS
далее проверьте с каким фронтом работает "еепром" и что выдает SSP контроллера

Цитата
for (i=0;i<30000;i++);

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sekil
Добавлено 23.09.2012 16:53 Редактировалось 24.09.2012 02:46 Сообщение: 3
sekil
0

Пункты: 2027
Регистрация: 30.08.2012
Схема платы отладочной? Так это SK-MLPC1788 в этом магазине.
Еепромы разные и Mxic 2mb и Winbound 256Kb серия w25p20

Разъем X4 по даташиту на эту отладочную плату контакты 40, 39 и 38 это и есть контакты SSP0 - P0.15,16,17,18

CS у еепрома я напрямую закоротил на землю.

Вот с каким фронтом работает SSP я даж и не знаю. Те, которые у меня есть вроде должны работать с разными фронтами.

Я с этими еепромами работал с другим процом 8051, правда софтварным SPI.

По поводу цикла - это уже так, просто уже все что можно перебробывал.. результат один..

На ноге MOSI у проца 1788 по моему 120 килогерц выдает...
Спуститься к концу Подняться к началу
Персональная информация
sekil
Добавлено 24.09.2012 02:48 Сообщение: 4
sekil
0

Пункты: 2027
Регистрация: 30.08.2012
Посмотрел что твориться на ногах при помощи USB AX (логический анализатор) и выяснил, что передача происходит прекрасно - 8 тактов на ноге CLK и цифра 0x05 на ноге MOSI а вот приема как такого нету - нога CLK просто напросто молчит и не выдает импульсы, следовательно и еепром ничего не будет выдавать..
Не понятно что за фигня((

На диаграмме AX видно, что после передачи все ноги молчат - CLK не инициирует прием...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.09.2012 10:16 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
по диаграмме чтения w25p20, для считывания id должно пройти 32 импульса на clk
и лучше начинать с чтения готовности - байт туда и байт оттуда..
проверяйте правильность инита узла SPI в АРМе и рулеж CS хоть он и не используется в вашем случае..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sekil
Добавлено 24.09.2012 16:01 Редактировалось 24.09.2012 16:35 Сообщение: 6
sekil
0

Пункты: 2027
Регистрация: 30.08.2012
Ничего не получается...
Инициализацию я взял из примера CMSIS. Передавать то передает, но затем глохнет. И чтение LPC_SSP0->DR не производит никаких действий над ногами SSP0
Я не включал никаких прерываний.. может проблема в этом...
Перед передачей проверяю статус самого порта SSP0 вроде все нормально...
Я уже не ID читаю а просто регистр состояния еепрома командой 0x05

title
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.09.2012 16:23 Сообщение: 7
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
хм.. но ведь и при передаче должен CS дергаться.. смотрите настройки - может чего упустили в конфигурации SPI порта..

Цитата
Я уже не ID читаю а просто регистр состояния еепрома командой 0x05

угу, я это вижу..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sekil
Добавлено 24.09.2012 16:38 Сообщение: 8
sekil
0

Пункты: 2027
Регистрация: 30.08.2012
Такс, с передачей разобрался.. Чтобы устройство слейв что то выдало, нужно не просто читать регистр LPC_SSP0 а нужно передать пустышку 0xFF для создания клоков и низкого уровня на CS а затем уже читать... Идиотизм блин..

Но все равно молчит мой епромчик(((
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.09.2012 17:15 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Такс, с передачей разобрался.. Чтобы устройство слейв что то выдало, нужно не просто читать регистр LPC_SSP0 а нужно передать пустышку 0xFF для создания клоков и низкого уровня на CS а затем уже читать... Идиотизм блин..

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

Цитата
Но все равно молчит мой епромчик(((

я не зря спросил - как подключен "еепром".. может у вас "холд" висит "не там".. ну не телепат я :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sekil
Добавлено 24.09.2012 23:12 Сообщение: 10
sekil
0

Пункты: 2027
Регистрация: 30.08.2012
ну в итоге все заработало и прочитал весь еепром :)
Логику SPI я знаю, но с АРМ в первый раз встретился :)
Понадеялся, что контроллер в этом проце умный и при запросе данных с регистра, клок он сам включает....
Заработало все после того, как саморучно сделал управление пином CS, до этого ну никак не хотел работать...
Спасибо за советы :)
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MLPC24X8, SK-MLPC1788, SK-LPC4088