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

 
 
> LPC177x UART, использовать FIFO для передачи
megajohn
сообщение Sep 24 2013, 14:00
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



первоначально передача была сделана по одному байту.

но после написания драйвера для отправки по SSP с использованием FIFO решил так же переписать уартовский, но не тут то было.

нет привычных битов TFE Transmit FIFO Empty, TNF Transmit FIFO Not Full

хотя в доке написано
16 byte Receive and Transmit FIFOs

у меня сложилось мнение что из указанных 16 остается 14 байт на RX и лишь два байта на TX. Так ?


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Sep 24 2013, 16:30
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а разве не появляется флаг буфер передатчика занят когда все 16 байт заняты?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 24 2013, 17:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Sep 24 2013, 22:30) *
а разве не появляется флаг буфер передатчика занят когда все 16 байт заняты?

Нет. Там эмуляция стандартного, не самого удачного 16550. Флаг "буфер пуст" снимается при записи хотя-бы одного байта в TX-fifo.
Так что при обнаружении этого флага, писать надо сразу <= 16 байт.
С RX не так печально.
Go to the top of the page
 
+Quote Post
megajohn
сообщение Jan 30 2015, 12:08
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(jcxz @ Sep 24 2013, 20:19) *
Нет. Там эмуляция стандартного, не самого удачного 16550.


хотел высказаться об еще одном неудачном месте в LPC: MultimediaCardIntarface

есть три регистра MCI-CLOCK MCI-DATACTRL MCI-COMMAND
После записи в которые надо
Note: After a data write, data cannot be written to this register for three MCLK clock periods plus two PCLK clock periods.
конечно не сложно это сделать, но не нравятся три фактора
1. на этапе иннициализации частота MCLK 200кГц а потом уже и 10МГц может быть, так что эту времянку нужно в рантайме менять
2. PCLK тоже они проекта к проекту может быть разный
3. ладно, записал, подождал указанное время, потом снова записал. Но от предыдущей записи до новой выполнялись же такты, и можно было бы и по меньше ждать времянку. Но не таймер же заводить для этого.

Как мне видится аппаратное решение: три бита занятости, clock_busy, datactrl_busy, command_busy
перед записью ждешь просто готовность соответствующего бита, и вот она программная независимость от аппаратных заморочек. Ляпота

может донести эту мысль инженерам NXP на их форуме ? Но с английским туго.

P.S. а как вы красиво решали ожидание на LPC ?
P.P.S на других платформах есть такая заморочка с MCI ?


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- megajohn   LPC177x UART, использовать FIFO для передачи   Sep 24 2013, 14:00
- - GetSmart   Два независимых буфера для RX и TX. К примеру, в L...   Sep 24 2013, 14:40
- - Terminator   Мне удалось нормально запустить uart TX на lpc1768...   Sep 26 2013, 11:15
|- - jcxz   А что там странного? Вполне соответствуют описанию...   Sep 26 2013, 16:43
- - Terminator   беда в том что прерывание TX_EMPTY может возникнут...   Sep 27 2013, 04:34
- - Golikov A.   что значит вызывается обработчик при разрешении? О...   Sep 27 2013, 09:53
|- - ig_z   QUOTE (Golikov A. @ Sep 27 2013, 12:53) ч...   Sep 27 2013, 11:35
- - Golikov A.   чего то я не понимаю видать.... у меня это было т...   Sep 27 2013, 11:51
|- - ig_z   QUOTE (Golikov A. @ Sep 27 2013, 14:51) в...   Sep 27 2013, 12:04
- - Golikov A.   вы проверяете разрешено ли прерывание, и разрешает...   Sep 27 2013, 12:48
|- - jcxz   Да, конечно, 16550 уже давно морально устарел и мо...   Sep 27 2013, 16:40
|- - ig_z   QUOTE (jcxz @ Sep 27 2013, 19:40) Это уж ...   Sep 27 2013, 20:35
- - Terminator   это всё конечно красиво, но попробуйте сделать выв...   Sep 28 2013, 04:52
|- - Golikov A.   Цитата(Terminator @ Sep 28 2013, 08:52) э...   Sep 28 2013, 05:05
|- - jcxz   Возможно товарищи по каким-то причинам (религиозны...   Sep 28 2013, 11:34
|- - Terminator   Цитата(jcxz @ Sep 28 2013, 18:34) Возможн...   Sep 30 2013, 02:59
|- - megajohn   Цитата(jcxz @ Sep 28 2013, 15:34) Возможн...   Sep 30 2013, 07:01
- - Golikov A.   Аминь   Sep 28 2013, 19:11
- - Terminator   Отправка выглядела примерно так: уарт не занят, ра...   Sep 30 2013, 10:34
|- - jcxz   Цитата(Terminator @ Sep 30 2013, 16:34) О...   Oct 1 2013, 03:09
- - GetSmart   По поводу докладывания FIFO 16-тью элементами. Цит...   Sep 30 2013, 20:39
|- - Grape   Цитата(GetSmart @ Oct 1 2013, 00:39) По п...   Oct 1 2013, 10:02
|- - GetSmart   Цитата(Grape @ Oct 1 2013, 16:02) UM10360...   Jan 4 2014, 05:29
- - yanvasiij   Люди, идиотский вопрос. Столкнулся тоже с этим нью...   Jan 30 2015, 09:10
- - Golikov A.   отсутствием FIFO, например.... тем что нельзя пихн...   Jan 30 2015, 09:46
|- - yanvasiij   Цитата(Golikov A. @ Jan 30 2015, 14:46) о...   Jan 30 2015, 10:08
|- - Kabdim   Цитата(yanvasiij @ Jan 30 2015, 13:08) Да...   Jan 30 2015, 10:22
- - Golikov A.   Велика, если есть критические секции в которых у в...   Jan 30 2015, 10:21
- - yanvasiij   Golikov A., Kabdim Спасибо за разъяснения! Буд...   Jan 30 2015, 10:31
|- - jcxz   Цитата(yanvasiij @ Jan 30 2015, 16:31) Я ...   Jan 30 2015, 10:52
- - Golikov A.   Цитата, который бы дал понять FIFO TX уже заполнен...   Jan 30 2015, 12:36


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

 


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


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