|
|
  |
Улучшение крутизны фронта КМОП микросхем |
|
|
|
Sep 16 2007, 22:13
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 3-10-06
Из: Vladivostok
Пользователь №: 20 911

|
Всем доброго времени суток. Помогите мне пожалуйста советом. Имею МК PIC18F452, которая генерирует сигнал длительностью 600нс, длительность фронта около 30нс, длительность спада 30нс. При увеличении питания микросхемы с 5В. до 6,5В. незначительно улучшается (в этом не уверен т.к. у меня на осциллографе предел 200нс). Возможно ли как-то улучшить крутизну фронтов?! Существуют ли какие-то схемотехнические решения?!
|
|
|
|
|
Sep 17 2007, 06:54
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(KV99 @ Sep 17 2007, 05:13)  (в этом не уверен т.к. у меня на осциллографе предел 200нс). Возможно ли как-то улучшить крутизну фронтов?! Дак может всё в порядке, просто осциллограф не может Вам этого показать? Цитата(KV99 @ Sep 17 2007, 05:13)  Существуют ли какие-то схемотехнические решения?! Можно поставить после контроллера буферы серии 1554. Например, АП6 или АП5. Фронты - единицы нан.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Sep 17 2007, 08:34
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 3-10-06
Из: Vladivostok
Пользователь №: 20 911

|
Цитата(Krys @ Sep 17 2007, 17:54)  Дак может всё в порядке, просто осциллограф не может Вам этого показать? Можно поставить после контроллера буферы серии 1554. Например, АП6 или АП5. Фронты - единицы нан. Хм... я сомневаюсь, что так можно будет сделать. Да, быстродействующая микросхема-буфер улучшит крутизну фронта, но ввиду технологического разброса параметров входных каскадов буфера на разных выходах возникнут разные задержки, что приведет к сдвигу фронтов одних сигналов относительно других, что не допустимо. Конечно, этот процесс, возможно будет незначительным... хотя из 20нс сделать 9нс (74ALS241)... +/-5 нс сдвига можно получить... Или я не прав?! Практически, я знаю, что такой эффект есть, но как его теоретически подсчитать - мне не известно. Цитата(zzzzzzzz @ Sep 17 2007, 18:09)  Однозначно, Вы смотрите своим осциллоскопом не сигнал, а движение айсбергов... Также, у таких приборов, как правило, страшная входная емкость. Типа 50 пФ. 30нс - это лучшее, что он просто может показать. Да вы наверняка правы, в документации написано 25пФ по входу. Но что теперь делать?! Хотелось бы наверняка быть уверенным!
|
|
|
|
|
Sep 17 2007, 13:28
|

Профессионал
    
Группа: Свой
Сообщений: 1 724
Регистрация: 1-05-05
Из: Нью Крыжопыль
Пользователь №: 4 641

|
Цитата(KV99 @ Sep 17 2007, 12:34)  Хм... я сомневаюсь, что так можно будет сделать. Да, быстродействующая микросхема-буфер улучшит крутизну фронта, но ввиду технологического разброса параметров входных каскадов буфера на разных выходах возникнут разные задержки, что приведет к сдвигу фронтов одних сигналов относительно других, что не допустимо. Конечно, этот процесс, возможно будет незначительным... хотя из 20нс сделать 9нс (74ALS241)... +/-5 нс сдвига можно получить... Или я не прав?! Практически, я знаю, что такой эффект есть, но как его теоретически подсчитать - мне не известно.
Да вы наверняка правы, в документации написано 25пФ по входу. Но что теперь делать?! Хотелось бы наверняка быть уверенным! Не понятно - а что Вы хотите сделать-то? Расфазировка сигналов на выходе Вашего PICa реальная - единицы наносекунд (если Вы портом дергаете). Это плохо?
|
|
|
|
|
Sep 18 2007, 00:22
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 3-10-06
Из: Vladivostok
Пользователь №: 20 911

|
Цитата(zzzzzzzz @ Sep 18 2007, 00:28)  Не понятно - а что Вы хотите сделать-то? Расфазировка сигналов на выходе Вашего PICa реальная - единицы наносекунд (если Вы портом дергаете). Это плохо? Порт микроконтроллера выдает следующие сигналы управление: 1. STROB - сигнал включающий микросхему счетчик1 1533 серия. (600нс.длит) 2. STROB^ - сигнал включающий микросхему счетчик2 1533 серия. (600нс.длит) 3. WORK - сигнал говорит, что устройство в работе. (просто положит. уровень) 4. ADR_TAKT - сигнал переключения счетчика (к1554) адреса микросхем памяти. (возникает через 200нс после начала STROB и STROB^) 5. CS - сигнал записи в микросхему памяти данных счетчика. (через 400нс.после начала STROB) Так вот, прошлое подобное устройство я делал на рассыпухе и сигнал STROB генерировался на кварц+1554АГ1 потом шел счетчик 1554 (делитель длительности) и Триггер 1554серия (срабатывал по положительному и отрицательному фронту сигнала, соответственно, на прямом выходе был STROB, на инверсном STROB^). Устройство жутко глючило, как оказалось, потому, что сигнал STROB^ запаздывал на N нс относительно STROB => В результате, сигнал STROB давал на соседнюю линию (STROB^) короткий импульс (я его даже на осциле не видел, определял при помощи цифрового щупа на 1533АГ1) который включал второй счетчик, что приводило к ложным отсчетам. Проблемму я тогда решил, исключив инверсный выход триггера. Просто завел прямой выход на отдельный инвертор на 1533серии (я тогда по доке посмотрел - горраздо быстрее получалось, почти синхронно) и все проблеммы исчезли. Вот я теперь сижу и думаю, не получится ли у меня такая же фигня на микроконтроллере. Конечно, возможно это была неудачная трассировка. Очень не хотелось бы опять попасть под такую проблемму т.к. быстрого осциллографа у меня нет. Вообщем заранее, перед тем как проводить закупки, пытаюсь предугадать что получится.
|
|
|
|
|
Sep 18 2007, 04:19
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(KV99 @ Sep 17 2007, 15:34)  Хм... я сомневаюсь, что так можно будет сделать. Да, быстродействующая микросхема-буфер улучшит крутизну фронта, но ввиду технологического разброса параметров входных каскадов буфера на разных выходах возникнут разные задержки, что приведет к сдвигу фронтов одних сигналов относительно других, что не допустимо. Уверен, что этот разброс незначителен. В документации к стати пишут разброс времени задержки. Так что этим эффектом можно пренебречь. Мы например даже делали из 1й микросхемы АП6 мощный буфер - все входы соединяли, и все выходы. Получали импульс несколько нан на ёмкость затвора мощного полевика. И ничего, работало.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Sep 19 2007, 08:17
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 3-10-06
Из: Vladivostok
Пользователь №: 20 911

|
Цитата(Omen_13 @ Sep 19 2007, 07:20)  Krys +1 . DS читать внимательнее Уменьшить входную емкость осцилографа можно с помощью штатного делителя (например 1:10). Только не уверен что фронт правильно будет показан Перечитал. 10нс средняя длительность фронта. Спасибо. А вот про задержки ничего найти не удалось
|
|
|
|
|
Sep 19 2007, 09:40
|

Профессионал
    
Группа: Свой
Сообщений: 1 724
Регистрация: 1-05-05
Из: Нью Крыжопыль
Пользователь №: 4 641

|
Цитата(KV99 @ Sep 18 2007, 04:22)  Порт микроконтроллера выдает следующие сигналы управление: 1. STROB - сигнал включающий микросхему счетчик1 1533 серия. (600нс.длит) 2. STROB^ - сигнал включающий микросхему счетчик2 1533 серия. (600нс.длит) 3. WORK - сигнал говорит, что устройство в работе. (просто положит. уровень) 4. ADR_TAKT - сигнал переключения счетчика (к1554) адреса микросхем памяти. (возникает через 200нс после начала STROB и STROB^) 5. CS - сигнал записи в микросхему памяти данных счетчика. (через 400нс.после начала STROB)
Так вот, прошлое подобное устройство я делал на рассыпухе и сигнал STROB генерировался на кварц+1554АГ1 потом шел счетчик 1554 (делитель длительности) и Триггер 1554серия (срабатывал по положительному и отрицательному фронту сигнала, соответственно, на прямом выходе был STROB, на инверсном STROB^). Устройство жутко глючило, как оказалось, потому, что сигнал STROB^ запаздывал на N нс относительно STROB => В результате, сигнал STROB давал на соседнюю линию (STROB^) короткий импульс (я его даже на осциле не видел, определял при помощи цифрового щупа на 1533АГ1) который включал второй счетчик, что приводило к ложным отсчетам. Проблемму я тогда решил, исключив инверсный выход триггера. Просто завел прямой выход на отдельный инвертор на 1533серии (я тогда по доке посмотрел - горраздо быстрее получалось, почти синхронно) и все проблеммы исчезли. Вот я теперь сижу и думаю, не получится ли у меня такая же фигня на микроконтроллере. Конечно, возможно это была неудачная трассировка. Очень не хотелось бы опять попасть под такую проблемму т.к. быстрого осциллографа у меня нет. Вообщем заранее, перед тем как проводить закупки, пытаюсь предугадать что получится. Я так понял, что Вам нужно два противофазных синхронных сигнала STROB и NSTROB. Обычно серийные ИС не нуждаются в таких чудесах, и, скорее всего, Вы не корректно используете ее. Но, если это действительно так, то лучше напишите требования к этим сигналам. Или приведите схему. Уверен, народ Вам подскажет пути решения. Что за ИС? Уж не LVDS ли входы Вы так пытаетесь приручить?
|
|
|
|
|
Sep 20 2007, 03:16
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 3-10-06
Из: Vladivostok
Пользователь №: 20 911

|
Цитата(zzzzzzzz @ Sep 19 2007, 20:40)  Я так понял, что Вам нужно два противофазных синхронных сигнала STROB и NSTROB. Обычно серийные ИС не нуждаются в таких чудесах, и, скорее всего, Вы не корректно используете ее. Но, если это действительно так, то лучше напишите требования к этим сигналам. Или приведите схему. Уверен, народ Вам подскажет пути решения. Что за ИС? Уж не LVDS ли входы Вы так пытаетесь приручить? Я боюсь вы меня немного не допоняли. Сигнал STROB идет на одну микросхему 74ALS191, а NSTROB идет на другую микросхему 74ALS191. Т.е. микросхемы работают попеременно, пока одна считает, другая записывает свои данные в память. Почитал недавно умную книжку и пришел к выводу, что явление перекрестной помехи в моем прошлом устройстве возникло как раз из-за того, что я использовал МС генерирующие фронты со слишком большой куртизной. Учитывая, что контроллер дает длительность фронта 10нс, этой проблеммы возникнуть не должно- если верить формулам из книги. Думаю пора приступать к макетированию устройства. Всем спасибо!!!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|