Отговори на тема  [ 5 мнения ] 
MCP2150 - Microchip се изложиха ама много.... 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение MCP2150 - Microchip се изложиха ама много....
Надявам се да не съм сбъркал раздела. Все пак тоя МСР е просто PIC с ROM...
Та четейки документацията виждаме че тая ИС има UART буфер 64 байта. Това дали може да се пише в него се индицира от сигнал CTS. Каква е точно зависимостта на тоя сигнал от приетите данни не се казва... Това го пише в други два документа - AN927 и AN858.
В AN858 се споменава че има временен прозорец от 11,9ms, който е максималното време за което може да се пише в буфера. За скорост 9600 това са 12 байта (има табличка с другите скорости). CTS е 0 точно за 11,9ms или докато в буфера не се запишат 60 байта (което възникне първо).
Всичко добре си викам - четем CTS и ако е 0 тогава пишем в буфера. Да ама неее.... Част от данните се губят някъде, което означава че хоста предава когато CTS е 1 и всъщност се предават само тези които са успели да се проврат.
Викам си - явно нещо не се чете правилно CTS. Меря с осцилоскопа - 23ms. 8O 8O . Хм...
Четем AN927. Там на същата тема се споменават 22ms :? :? . А сега де...
Накрая проблема се реши така - четем CTS. Като стане 0, предаваме 12 байта и чакаме 1. Като стане 1, чакаме 0 и наново 12 байта...
Хамалогия... Цял ден с глупости се занимавам... :evil: :evil: :evil:


Чет Сеп 21, 2006 5:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
нещо не схващам - от къде идва това ограничение 19..22мс? май не е от протокола, ако помня добре :roll:
вариацията явно идва от версиите на фърмуера.


Чет Сеп 21, 2006 8:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение 
ДедоБоре написа:
нещо не схващам - от къде идва това ограничение 19..22мс? май не е от протокола, ако помня добре :roll:


Амчи явно така са го решили микрочеповете, щото вероятно не могат да приемат по UART и да следят IR комуникацията едновременно. Там пише че IR е с предимство... Знам ли. То както и да е, ама защо не бачка както са го описали...
Както се оказва CTS е 0 за 22ms, а пък реално буфера е достъпен само 12ms... :? . Не съм сигурен че е точно така де, в понеделник ще тестваме пак (утре нали е празник). :)


Чет Сеп 21, 2006 8:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
ти па :twisted:
сефте да са написали нещо и то да не работи както е написано.

аз съм ползвал само декодера/енцодера им.
работи, ама е такава куцня, че...
тия трабва да им раздават тиквени медали за всяка простотия, ма сигурно кял канзас само тикви ще трябва да отглежда


Чет Сеп 21, 2006 8:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение 
Ъпдейт по темата...

Оказа се че вината не е в Майкрочип (в случая..). Направих си опитна постановка с един PIC и се оказа че всичко си бачка както трябва. Явно програмиста ни бърка някъде...


Пон Окт 02, 2006 9:37 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

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


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

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