|
Не работает как надо ALTERA |
|
|
|
Aug 8 2008, 03:13
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 8-08-08
Пользователь №: 39 486

|
Привет Всем! Собираю проект (тестер для проверки оборудования, всего 20 тестов) Сердце PIC контроллер, чтобы не вешать кучи логики решил использовать ALTERA MAX 7128. До этого опыта работы с ПЛИСами не имел. С контроллера поступают на альтеру импульсы для перебора тестов, а матрица в свою очередь, в зависимости от теста, меняет логику работы вход-выход, подключает счётчики и т.д. В симуляторе тесты нормально отрабатывают запустил в железе нормально не пашет. Тоесть нажал на кнопку, контроллер переходит на след. тест на дисплей выводит соотв. инфу и даёт на альтеру импульс чтобы и она проключилась на след.тест (на входе в альтере нарисовал счетчик реверсивный "тест+"тест -"), а плисина не хочет перебирать тесты. Хотя иногда может нормально сработать. Вот это ИНОГДА мне непонятно. Подскажите куда копать, два дня уже сижу туплю. Шил фирменным JTAGом питание 5в.
|
|
|
|
|
Aug 8 2008, 03:37
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(PICNICK @ Aug 7 2008, 22:13)  С контроллера поступают на альтеру импульсы для перебора тестов, а матрица в свою очередь, в зависимости от теста, меняет логику работы вход-выход, подключает счётчики и т.д. В симуляторе тесты нормально отрабатывают запустил в железе нормально не пашет. Тоесть нажал на кнопку, контроллер переходит на след. тест на дисплей выводит соотв. инфу и даёт на альтеру импульс чтобы и она проключилась на след.тест (на входе в альтере нарисовал счетчик реверсивный "тест+"тест -"), а плисина не хочет перебирать тесты. Хотя иногда может нормально сработать. Вот это ИНОГДА мне непонятно. а что непонятного ? ваши тесты учитывают наводки, пички и прочее на импульсах управления цплдешкой ? ваши тесты сделаны в графике ? если да то не факт что вы набросали вейвформы корректно, рекомендую проверить. Если опыта нет, то скорее всего делали на ~100МГц альтере как на 1МГц к155 ? вот она и чувствует всякую дрянь, особено если вы подавали сигнал управления на тактовые входы тригеров. лучше всего код в студию, на 128 плиток он должен быть мизерный.
--------------------
|
|
|
|
|
Aug 8 2008, 04:15
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 8-08-08
Пользователь №: 39 486

|
ПЛИСину я не тактирую, когда нужно (в зависимости от теста) подаю с контроллера (ШИМ) 200кГц на счётчики ПЛИС. Половину файла рисовал графическим методом, половину писАл на AHDL. Куда зацепить болтающийся в воздухе глобальный ОЕ? Куда код сбросить? Спасибо.
|
|
|
|
|
Aug 8 2008, 05:07
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(PICNICK @ Aug 8 2008, 08:15)  Куда зацепить болтающийся в воздухе глобальный ОЕ? oe1 и oe2 надо подключить к gnd
|
|
|
|
|
Aug 8 2008, 12:10
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 8-08-08
Пользователь №: 39 486

|
Цитата(des00 @ Aug 8 2008, 15:02)  код прямо сюда кидайте, посмотрим что у вас и как. ИМХО где то асинхра лезет, тем более что клок на счетчики постоянно не подается. Выкладываю код, ИМХО проблема в реверсивном счётчике (UP/Doun). сильно не пинайте, первый проект на ПЛИС.
Прикрепленные файлы
RERJ2.rar ( 800.14 килобайт )
Кол-во скачиваний: 60
|
|
|
|
|
Aug 11 2008, 03:39
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(PICNICK @ Aug 8 2008, 07:10)  Выкладываю код, ИМХО проблема в реверсивном счётчике (UP/Doun). сильно не пинайте, первый проект на ПЛИС.  На мой ламерский взгляд все нормально, кроме двух мест. любая иголка на входе Uptest, Up, Down может привести к лишнему переключению счетчиков. Наиболее надежный, с точки зрения помех, это переделать этот узел на синхронный вариант. У вас вроде как есть клок (пусть даже и отключаемый). Либо почистить эти сигналы: поставить по небольшой RC цепи на них. Кстати посмотрите на задачу с другой стороны. По коду видно что счетчики у вас только выбирают вид теста и если сигналы Uptest, Up, Down идут с проца то ничего не мешает реализовать SPI интерфейс. ИМХО будет проще выбирать номер теста, а логики будет ненамного больше. Удачи!!! Цитата(toweroff @ Aug 8 2008, 12:51)  Кстати, PICNICK, попробуйте отключить опцию Slow Slew Rate на используемых пинах, поможет снизить звон на линиях, все равно PIC на таких скоростях не работает Скажите пожалуйста, как отключение уменьшения крутизны наростания выходных сигналов (за счет тока) может снизить звон в линиях? Спасибо.
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Aug 11 2008, 04:49
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(des00 @ Aug 8 2008, 10:02)  ИМХО где то асинхра лезет, тем более что клок на счетчики постоянно не подается. Попробуйте сделать хендшейк: Из процессора сигнал "запрос" в ПЛИС. В ПЛИСЕ по синхротактам проверяйте, что запрос стоит как минимум 2-3 такта... Из ПЛИС - "Ответ". По появлению "Ответа" - снимайте "Запрос". По снятию "Запрос" - фиксируйте данные, которые передаются в счетчики... Таким образом от фронтов перейдете к уровням. И это поможет профильтровать помеху... А ресурсов для этого много не требуется... Удачи.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Aug 12 2008, 02:39
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 8-08-08
Пользователь №: 39 486

|
ВСЕМ Большое СПАСИБО за помощь. Разобрался с проблемой. С помощью мегафункции создал тактируемый реверсивный счётчик. Использовал clock & updoun, проблема решилась в железе пашет, всё ОК. 2 des00, по SPI это вообще хорошая мысль, только в следующем проекте попробую.
|
|
|
|
|
Aug 12 2008, 17:55
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(des00 @ Aug 11 2008, 07:39)  Скажите пожалуйста, как отключение уменьшения крутизны наростания выходных сигналов (за счет тока) может снизить звон в линиях? Емкость линии остается тойже, а скорость нарастания ухудшается. Отсюда и звон меньше. В выходном буфере 2 n транзистора и 2 p. При "медленном" буфере, скажем, n транзисторы переключаются не одновременно, а с задержкой. Это приводит к увеличению времени переключения, уменьшению пиковых токов, уменьшению скорости нарастания напряжения, уменьшению помехи.
|
|
|
|
|
Aug 12 2008, 20:24
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(dvladim @ Aug 12 2008, 21:55)  Емкость линии остается тойже, а скорость нарастания ухудшается. Отсюда и звон меньше.
В выходном буфере 2 n транзистора и 2 p. При "медленном" буфере, скажем, n транзисторы переключаются не одновременно, а с задержкой. Это приводит к увеличению времени переключения, уменьшению пиковых токов, уменьшению скорости нарастания напряжения, уменьшению помехи. Спасибо, что ответили, я несколько дней тут не появлялся
|
|
|
|
|
Aug 13 2008, 02:36
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(dvladim @ Aug 12 2008, 12:55)  Емкость линии остается тойже, а скорость нарастания ухудшается. Отсюда и звон меньше. Спасибо, но позвольте. Вы рекомендуете ОТКЛЮЧИТЬ уменьшение скорости нарастания. Т.е. вы предложили автору УВЕЛИЧИТЬ Цитата попробуйте отключить опцию Slow Slew Rate скорость нарастания, мотивируя тем, что это уменьшит звон. Я всегда считал что должно быть наоборот, нужно ВКЛЮЧИТЬ опцию Slow Slew Rate, что бы уменьшить звон %)) ЗЫ. и хелп ква говорит о том же Цитата pins that use the Slow Slew Rate option help reduce switching noise.
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|