Отговори на тема  [ 8 мнения ] 
Проблем с четене на CS8900 през EMI 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение Проблем с четене на CS8900 през EMI
Постановката е следната - STR710 (48MHz), EMI конфигурирано на 8 бит и 15 wait states,
CS8900 - /CS свързано към маса, за chip select се ползва AEN сигнала (както е според разните примери и документации).

СS8900 е свързано с 8 битова шина към процесора.

При четене на регистрите на 8900 се получават почти произволно две-три стойности, една от които е вярната.
Открих че това може би се дължи на следното - при отрицателния фронт на сигнала /RD на някои от сигналите D0-D7 се появяват положителни импулси около 50-100ns, които изглеждат съвсем като истински сигнал, само дето е към 8 пъти по-кратък от продължителността на сигнала /RD. По-интересното е че понякога се появява и нормален сигнал на същото място.

По-късно ще се опитам да нарисувам картинка и да я пусна тука, че така не става много ясно какъв е проблема...


Пон Фев 26, 2007 7:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Винаги много трудно съм успявал да подкарам CS8900 с хардуерен EMI. Играй си с броя на wait states. Не е задължително с най-многото wait states да работи - понякога тръгва и с 0 wait states. Много зависи и от опроводяването. Понякога се е налагало да вкарвам изкуствени закъснения, между двете 8 битови команди. Бе направо си е мъка тоя чип с хардуерна шина - ако можеш да я преконфигурираш на софтуерна - прави го така, докато си настроеш софта. Пък после бори хардуерната. Да не се получи хем софтуера да има бъг, хем хардуера да не работи като хората - неможеш се оправи със седмици после. Кой TCP/IP стек ползваш ти?


Пон Фев 26, 2007 8:29 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение 
EMI-то си е само EMI (не може да се ползва като порт), така че нямам особен избор...

Стека мисля е от примерите на ST, но не съм сигурен много (друг колега се бори със софта).


Edit

Действително е от там..


Вто Фев 27, 2007 4:04 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение 
Ето какво се получава - Dx трябва да е широко колкото RD, обаче....


Прикачени файлове:
diag.gif
diag.gif [ 56.73 KiB | Прегледано 1376 пъти ]
Вто Фев 27, 2007 4:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Според мен най-добрия стек за CS8900 е на TI от примерите на MSP430. Също така - съобразили ли сте "big endian <-> little endian". Я пусни и част от схемата - връзките между MCU-то и CS-a.


Вто Фев 27, 2007 4:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение 
Ами ние изобщо не стигаме до стек-а.
Проблема е още в комуникацията с контролера - не се четат правилно регистрите.
Интересното е че с борда на Олимекс, в 16бит режим и ползвайки /CS вместо АЕN (то си е забодено за маса, въпреки че в разните апликейшъни се казва че в IO режим /CS не играе...) нещата вървят! Дори пуснахме пинг... Побъркана история...
Проблемите с четенето идат в 8бит режима...
Четем например адреси 0х0000 и 0х0001 (PacketPage) и се чете 630Е (или 0Е63, се тая). На адреси 0х0002 и 0х0003 се чете пак същото :? (вместо 000А или нещо такова)...

Мамка му, що трябваше да се захващам с тоя чип, CP2200 май щеше да е по-добре... :evil:


А пък що се отнася до горната графика - може и да е вярна, щото кратките импулси са около 100ns (според даташита валидни данни има чак след 135ns)

Ето схемата (има промени около АEN и /CS)


Прикачени файлове:
ln2.gif
ln2.gif [ 123.4 KiB | Прегледано 1387 пъти ]
Сря Фев 28, 2007 5:01 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Хм - изглежда да са наред нещата. Ние също сме ползвали AEN вместо CS. Поиграйте си със wait states. Вие същия процесор ли ползвате като Олимекс или друг?


Чет Мар 01, 2007 12:23 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Апр 03, 2006 9:00 am
Мнения: 39
Мнение 
V documentaciata na na CS8900 pishe che CHIPSEL se ignorira pri IO i DMA data transfer. Izpolzvai AEN vmesto CHIPSEL. CHIPSEL kum GND. Ne sam zapoznat s STR710, no ako ima vunshen vhod za WAIT_STATES, te suvetvam da izpolzvash izhoda na CS8900 IOCHRDY (IO chanel ready) kum tozi vhod. Taka shte si reshish problema pone s cheteneto.


Прикачени файлове:
Коментар на файл: taka raboti s eZ80 v 8 bit IO mode
cs8900.jpg
cs8900.jpg [ 168.22 KiB | Прегледано 1404 пъти ]
Чет Мар 01, 2007 1:31 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни