Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Да хотелось бы, услышать мнение спецов. Дело вот в чем..
Отправлено
PeterD 03 октября 2007 г. 22:23
В ответ на:
Ответ: отправлено
SAZH 03 октября 2007 г. 21:58
там логика простая как только ноль, считаю до половины (чтоб получить смещение к серидине следующего бита) потом полностью таким образом получаю середину бита где семплую данные. Тактируется все это 100МГц, для скорости 2Мбита, счетчик считает до 50, старт соответствено до 25. Так вот путем добавление тестовых сигналов Я выяснил что при появлении старта, счетчик начинает считать (всегда т.е. тестовый выводе появляется 1) но иногда (периодичности Я не заметил) даное условие не срабатывает (не происходит смена состояния кейса) по пречине того, что в счетчике оказывается число больше чем 25 (выеснил путем монипуляций с условием сравнение тоесть в место == поставил,>= при таком условии не дожилаясь 25 тиков тудже происходило смена состояния кейса то есть срабатывало условие >=), так вот вылечел это сегодня меньшением разрядности то есть написал (CounterRX[4:0]==5'd25) все встало на свои места (т.е. сбои прекратились) но меня это не удовлетворяет т.к. хотелось бы понять их причину. При этом ещо раз отмечу что при компиляции не каких критических сообщений Я не получаю.
Составить ответ | Вернуться на конференцию
Ответы
- Ответ: — SAZH (03.10.2007 22:35:42 91.122.153.254, 348 байт)