Форум РадиоКот https://radiokot.ru/forum/ |
|
Адский девайс. Серия вопросов по ПЛИС. https://radiokot.ru/forum/viewtopic.php?f=60&t=134854 |
Страница 1 из 1 |
Автор: | Gromph [ Чт авг 25, 2016 11:34:54 ] |
Заголовок сообщения: | Адский девайс. Серия вопросов по ПЛИС. |
Здравствуйте уважаемые! Делаю в рамках самообразования проект на плате DE1-SoC от terasic периодически появляются вопросы, с которыми не могу справится самостоятельно. Очень надеюсь что здесь подкинут свежих идей! В частности назрело 2 вопроса. 1) Как просто и правильно поделить 24 бита на 3 куска по 8? Я сейчас делаю это так, но может это не совсем удобно, и есть более прозрачные и удобные способы? Спойлерmodule bytemode (enter_data,drop_data,clk,uartOK);input uartOK; // сюда уарт сообщает о том что он все отправил input clk; // тактирование input [23:0] enter_data; // входящая 24битная шина output [7:0] drop_data; // нужный результат 8бит reg [0:23] testmode=24'hFDB044; // тестовая переменная reg [7:0] temp1 [0:3]; // массив пакетов reg [7:0] automat=1; // счетчик always @ (posedge clk) if (automat!=3) begin if (uartOK) begin // если счетчик и уарт готовы automat=automat+1; // мотаем счетчик if (automat==1) // можно было сделать и через case, но вот так пока. 1 этап разделки туши. begin if (enter_data!=0) // если ненулевые данные temp1[0]=enter_data[7:0]; // отгрызаем кусок end else if (automat==2) // 2 этап begin if (enter_data!=0) temp1[1]=enter_data[15:8]; // еще кусок end else if (automat==3) // 3 и последний этап begin if (enter_data!=0) temp1[2]=enter_data[23:16]; // последний кусок automat=0; end end end assign drop_data=temp1[automat]; // каждый этап формирует выходной сигнал в виде нашего 8битного куска endmodule 2. У меня счетчик прибавляет к значению по единичке (своеобразный генератор пилы) и выплёвывает это в FIFO (в quartus'е LPM_FIFO в стандартной библиотеке), потом это идет в означенный выше разделитель, и дальше в UART. Но UART вместо нужных символов показывает погоду. Где почитать про то как подобные вещи синхронизируются между собой? Заранее спасибо! |
Автор: | MisterDi [ Чт авг 25, 2016 22:44:50 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Для начала не хватает сигнала начальной установки счечика, без него Вы первую передачу начинаете с произвольного места во входных данных. Для выбора байтов ИМХО лучше использовать case т.к. он скомпилируется в многоканальный мультиплесор. кроме того я бы посмотрел в какой момент лучше инкрементировать счетчик. Изучение ПЛИС - задача интересная, но требует большого объема базовых знаний до получения первого результата. Смотрите в сторону изучения МodelSim с ним многое можно увидеть "по шагам" |
Автор: | Gromph [ Сб сен 03, 2016 11:05:52 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Большое спасибо за ответ! Появился еще такой вопрос Бьюсь, бьюсь, а так и не получилось увязать между собой разделитель 24 битной шины на 3 по 8 и УАРТ Получается что фифо выдает очередную порцию данных после того как уарт сообщает об отправке данных, этот же сигнал окончания отправки сообщает разделителю что можно делить. Но почему-то на выходе получается что сообщения разделены "00", т.е например мы передаем FFDE88 и DDE6E3 а приходит "FFDE8800DDE6E3" и так нулями между собой все разделяется. Поидее наверное нужно чтобы разделитель сообщал о наличии данных УАРТУ, и тот срабатывал после этого. Но получается что УАРТ ждет сигнала от разделителя, а разделитель ждёт сигнала от УАРТА. Как избавится от этого ожидания друг друга, чтобы они могли сообщать о состоянии друг друга и при этом работать по сигналу друг от друга? Заранее спасибо за помощь |
Автор: | Meteor [ Сб сен 03, 2016 21:05:51 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Gromph писал(а): Получается что фифо выдает очередную порцию данных после того как уарт сообщает об отправке данных, этот же сигнал окончания отправки сообщает разделителю что можно делить. Но почему-то на выходе получается что сообщения разделены "00", т.е например мы передаем FFDE88 и DDE6E3 а приходит "FFDE8800DDE6E3" и так нулями между собой все разделяется. По всей видимости у Вас объявляется двухбитная переменная (счетчик, или еще что-то), которая имеет четыре возможных состояния: 00, 01, 10 и 11. В процессе работы, счетчик проходит все комбинации, а дешифратор рассчитан всего на три состояния (наверное 00, 01 и 10) вот и получается дополнительная вставка лишних нулей. Gromph писал(а): Поидее наверное нужно чтобы разделитель сообщал о наличии данных УАРТУ, и тот срабатывал после этого. Но получается что УАРТ ждет сигнала от разделителя, а разделитель ждёт сигнала от УАРТА. Как избавится от этого ожидания друг друга, чтобы они могли сообщать о состоянии друг друга и при этом работать по сигналу друг от друга? Сделайте конечный автомат (КА), на вход которого будете заводить сигналы и уарта и разделителя - пусть он разруливает очередность работы. Но есть подозрение, что исключив четвертое состояние у счетчика, Вы избавитесь от дополнительных нулей без привлечения КА. |
Автор: | Gromph [ Пн сен 05, 2016 07:12:14 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Спасибо Meteor! Вы оказались правы не в бровь а в глаз просто. У делителя был лишний такт. Как только от него избавился пакеты полетели без пауз. За ловлей этих нулей совсем забыл что у меня уарт по 4 раза отправляет одно и то же, т.е. 001 001 001 001 002 002 002 002 003 003 003 003 и т.д. Теперь ловлю этот баг Как выловлю, нарастающим итогом буду прикручивать синус CORDIC'ом. |
Автор: | Gromph [ Ср сен 07, 2016 10:07:30 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Вопрос с повторной отправкой одного и того же пакета решился более ранним запросом на чтение из фифо. Правда теперь теряется 1 пакет. Допустим идет 0001 0002 0003 0005 0006 0007 009 и т.д. Поиски продолжаются. |
Автор: | Meteor [ Вс сен 11, 2016 20:41:24 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Что за ФИФО: одноклоковое или двуклоковое? С фифо в свое время намучился, есть особенности их использования. Дело в том, что счетчики числа записанных байт (rdusedw и wrusedw) имеют задержку примерно от трех тактов (для двухтактового ФИФО определяется меньшей частотой). Для надежного применения в проектах стараюсь разделять интервалы записи в фифо и чтения для корректного счета. Не знаю насколько Вам это пригодится, но вполне возможно данная информация не станет лишней. |
Автор: | Gromph [ Вт сен 13, 2016 07:10:01 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Одноклоковое. По поводу фифо - спасибо за информацию! Пригодится! |
Автор: | Gromph [ Ср сен 14, 2016 13:38:08 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Что-то не клеится у меня с фифо. А где можно посмотреть какие-нибудь простые примеры работы? Товарищ гугл ценной информацией поделится отказался( |
Автор: | Meteor [ Чт сен 15, 2016 06:01:09 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Gromph писал(а): Что-то не клеится у меня с фифо. Смотрите в сторону ModelSim, он прекрасно отображает работу кода на уровне функционального моделирования. |
Автор: | Gromph [ Пт сен 30, 2016 10:09:02 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
И снова я. Устройство какое-то время работает нормально, а потом...ну назовём это "полунормально". Спойлер00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 02 00 00 03 00 00 04 00 00 05 00 00 06 00 00 07 00 00 08 00 00 09 00 00 0A 00 00 0B 00 00 0C 00 00 0D 00 00 0E 00 00 0F 00 00 10 00 00 11 00 00 12 00 00 13 00 00 14 00 00 15 00 00 16 00 00 17 00 00 18 00 00 19 00 00 1A 00 00 1B 00 00 1C 00 00 1D 00 00 1E 00 00 1F 00 00 20 00 00 21 00 00 22 00 00 23 00 00 24 00 00 25 00 00 26 00 00 27 00 00 28 00 00 29 00 00 2A 00 00 2B 00 00 2C 00 00 2D 00 00 2E 00 00 2F 00 00 30 00 00 31 00 00 32 00 00 33 00 00 34 00 00 35 00 00 36 00 00 37 00 00 38 00 00 39 00 00 3A 00 00 3B 00 00 3C 00 00 3D 00 00 3E 00 00 3F 00 00 40 00 00 41 00 00 42 00 00 43 00 00 44 00 00 45 00 00 46 00 00 47 00 00 48 00 00 49 00 00 4A 00 00 4B 00 00 4C 00 00 4D 00 00 4E 00 00 4F 00 00 50 00 00 51 00 00 52 00 00 53 00 00 54 00 00 55 00 00 56 00 00 57 00 00 58 00 00 59 00 00 5A 00 00 5B 00 00 5C 00 00 5D 00 00 5E 00 00 5F 00 00 60 00 00 61 00 00 62 00 00 63 00 00 64 00 00 65 00 00 66 00 00 67 00 00 68 00 00 69 00 00 6A 00 00 6B 00 00 6C 00 00 6D 00 00 6E 00 00 6F 00 00 70 00 00 71 00 00 72 00 00 73 00 00 74 00 00 75 00 00 76 00 00 77 00 00 78 00 00 79 00 00 7A 00 00 7B 00 00 7C 00 00 7D 00 00 7E 00 00 7F 00 00 80 00 00 81 00 00 82 00 00 83 00 00 84 00 00 85 00 00 86 00 00 87 00 00 88 00 00 89 00 00 8A 00 00 8B 00 00 8C 00 00 8D 00 00 8E 00 00 8F 00 00 90 00 00 91 00 00 92 00 00 93 00 00 94 00 00 95 00 00 96 00 00 97 00 00 98 00 00 99 00 00 9A 00 00 9B 00 00 9C 00 00 9D 00 00 9E 00 00 9F 00 00 A0 00 00 A1 00 00 A2 00 00 A3 00 00 A4 00 00 A5 00 00 A6 00 00 A7 00 00 A8 00 00 A9 00 00 AA 00 00 AB 00 00 AC 00 00 AD 00 00 AE 00 00 AF 00 00 B0 00 00 B1 00 00 B2 00 00 B3 00 00 B4 00 00 B5 00 00 B6 00 00 B7 00 00 B8 00 00 B9 00 00 BA 00 00 BB 00 00 BC 00 00 BD 00 00 BE 00 00 BF 00 00 C0 00 00 C1 00 00 C2 00 00 C3 00 00 C4 00 00 C5 00 00 C6 00 00 C7 00 00 C8 00 00 C9 00 00 CA 00 00 CB 00 00 CC 00 00 CD 00 00 CE 00 00 CF 00 00 D0 00 00 D1 00 00 D2 00 00 D3 00 00 D4 00 00 D5 00 00 D6 00 00 D7 00 00 D8 00 00 D9 00 00 DA 00 00 DB 00 00 DC 00 00 DD 00 00 DE 00 00 DF 00 00 E0 00 00 E1 00 00 E2 00 00 E3 00 00 E4 00 00 E5 00 00 E6 00 00 E7 00 00 E8 00 00 E9 00 00 EA 00 00 EB 00 00 EC 00 00 ED 00 00 EE 00 00 EF 00 00 F0 00 00 F1 00 00 F2 00 00 F3 00 00 F4 00 00 F5 00 00 F6 00 00 F7 00 00 F8 00 00 F9 00 00 FA 00 00 FB 00 00 FC 00 00 FD 00 00 FE 00 00 FF 01 00 00 01 00 01 01 00 02 01 00 03 01 00 04 01 00 05 01 00 06 01 00 07 01 00 08 01 00 09 01 00 0A 01 00 0B 01 00 0C 01 00 0D 01 00 0E 01 00 0F 01 00 10 01 00 11 01 00 12 01 00 13 01 00 14 01 00 15 01 00 16 01 00 17 01 00 18 01 00 19 01 00 1A 01 00 1B 01 00 1C 01 00 1D 01 00 1E 01 00 1F 01 00 20 01 00 21 01 00 22 01 00 23 01 00 24 01 00 25 01 00 26 01 00 27 01 00 28 01 00 29 01 00 2A 01 00 2B 01 00 2C 01 00 2D 01 00 2E 01 00 2F 01 00 30 01 00 31 01 00 32 01 00 33 01 00 34 01 00 35 01 00 36 01 00 37 01 00 38 01 00 39 01 00 3A 01 00 3B 01 00 3C 01 00 3D 01 00 3E 01 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 До момента 3E 01 00 все работает нормально, т.е. он по единичке добавляет в 24 бита переменную, и получается нечто формата 01 00 00, 02 00 00, 03 00 00 и т.д. А потом раз - и начинается вот то что идет до конца. Количество "правильных" посылок, зависит от кол-ва строк в FIFO, чем больше ставлю, тем дольше правильно работает. Видимо косяк как-то связан с переполнением FIFO. А как вообще такой момент эффективно контролировать? Бывали ли у кого нибудь такие проблемы? Или сталкивались может с какими-то типичными решениями в таких ситуациях? Заранее спасибо за помощь! |
Автор: | Meteor [ Пт сен 30, 2016 19:33:13 ] |
Заголовок сообщения: | Re: Адский девайс. Серия вопросов. |
Meteor писал(а): А потом раз - и начинается вот то что идет до конца. Количество "правильных" посылок, зависит от кол-ва строк в FIFO, чем больше ставлю, тем дольше правильно работает. Видимо косяк как-то связан с переполнением FIFO. А как вообще такой момент эффективно контролировать? Бывали ли у кого нибудь такие проблемы? Или сталкивались может с какими-то типичными решениями в таких ситуациях? Да были, куда без них то?! Ситуация когда после определенного количества вычиток, данные зависают в одном состоянии связана с тем, что фифо опустело, а не переполнилось. Для корректной работы, нужно смотреть на состояние сигнала rdempty (или подобный) как только этот сигнал принимает значение 1, это означает что в фифо остался последний байт (если ширина 8 бит) и нужно прекращать чтение. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |