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

 
 
15 страниц V  « < 7 8 9 10 11 > »   
Reply to this topicStart new topic
Radik2
сообщение May 20 2015, 04:30
Сообщение #121


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Сейчас изучаю примеры из папки Examples для C8051F120. Есть пример для компаратора. Но в этом примере происходит проверка флагов состояния.
Я же планировал вывести сигнал с выхода компаратора на ножку МК. В документации на C8051F120 указано, что можно это сделать. Но, то ли я чего-то пропустил, то ли в документации что-то не так, точнее в переводе даташита. Вообщем не получаю на выводе Р0.0 низкий уровень сигнала (выход открытый сток) при различных комбинациях на входе компаратора 0.
В документации на C8051F320 было указано что-то о необходимости настройки вывода Р0.0 (на который подключается выход компаратоа) таким образом, чтобы матрица его игнорировала: что то с регистром SKIP...
Если мало информации, могу выложить код, скриншоты с настройками.
Подскажите, пожалуйста, как настроить МК, чтобы вывести сигнал с компаратора "наружу".
Go to the top of the page
 
+Quote Post
редактор
сообщение May 20 2015, 08:12
Сообщение #122


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Цитата
Вообщем не получаю на выводе Р0.0 низкий уровень сигнала (выход открытый сток)

Если снаружи притяжки в + нет то ничего не увидите. Либо резистор снаружи, либо притянуть внутри.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 20 2015, 08:22
Сообщение #123


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(редактор @ May 20 2015, 13:12) *
Если снаружи притяжки в + нет то ничего не увидите. Либо резистор снаружи, либо притянуть внутри.


Там есть внутренняя подтяжка к плюсу питания: на выходе 3,3В. На выход подключил светодиод. Анод светодиода через резистор подключен к плюсу питания.
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 20 2015, 10:30
Сообщение #124


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 20 2015, 06:30) *
в переводе даташита

Мой совет - читайте оригинал на английском. Если проблемы с языком, выписывайте новые слова в тетрадочку, а напротив пишите перевод на русский (для перевода можно исп. он-лайн Lingvo), так лучше запоминается.

Цитата(Radik2 @ May 20 2015, 06:30) *
В документации на C8051F320 было указано что-то о необходимости настройки вывода Р0.0 (на который подключается выход компаратоа) таким образом, чтобы матрица его игнорировала: что то с регистром SKIP...

Crossbar декодер должен быть настроен правильно. Есть супер-удобное средство для настройки кросс-бара в пару кликов в родной студии от Силабс. Для Вашего МК это 8-bit Microcontroller Studio, конфигуратор можно скачать и отдельным компонентом. Там выберите настройки компараторов, портов и crossbar decoder и в результате получите значения, которые нужно записать в соотв. регистры при конфигурировании кроссбара, воткнете эти строчки в свой код.

Если к выводу с открытым стоком подключен СД, то надо убедиться, что вывод потянет втекающий ток через СД (зависит от Вашего СД и токоограничительного резистора), смотрите токовые свойства портов в datasheet.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 20 2015, 10:45
Сообщение #125


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 20 2015, 15:30) *
Crossbar декодер должен быть настроен правильно. Есть супер-удобное средство для настройки кросс-бара в пару кликов в родной студии от Силабс. Для Вашего МК это 8-bit Microcontroller Studio, конфигуратор можно скачать и отдельным компонентом. Там выберите настройки компараторов, портов и crossbar decoder и в результате получите значения, которые нужно записать в соотв. регистры при конфигурировании кроссбара, воткнете эти строчки в свой код.

Если к выводу с открытым стоком подключен СД, то надо убедиться, что вывод потянет втекающий ток через СД (зависит от Вашего СД и токоограничительного резистора), смотрите токовые свойства портов в datasheet.


я использовал для настройки кроссбара ПО Configuration Wizard 2. Для понимания происходящего сравнивал результаты с даташитом.

Цитата(alexunder @ May 20 2015, 15:30) *
Если к выводу с открытым стоком подключен СД, то надо убедиться, что вывод потянет втекающий ток через СД (зависит от Вашего СД и токоограничительного резистора), смотрите токовые свойства портов в datasheet.


Ток нагрузки в районе 1 миллиампера. Проверю еще раз. Попробую мультиметром измерить, без подключения светодиода.
Я думаю, что дело не в нагрузке на выходе.
Проверю с компаратором 1. Главное, чтобы МК был исправен.
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 21 2015, 07:06
Сообщение #126


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 20 2015, 12:45) *
я использовал для настройки кроссбара ПО Configuration Wizard 2. Для понимания происходящего сравнивал результаты с даташитом.

тогда надо убедиться что сам компаратор настроен правильно (порог срабатывания, знак).


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 21 2015, 14:35
Сообщение #127


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 21 2015, 12:06) *
тогда надо убедиться что сам компаратор настроен правильно (порог срабатывания, знак).


Вот скриншоты настроек


Эскизы прикрепленных изображений
 РЈРјРµРЅСЊС€РµРЅРѕ РґРѕ 83%
Прикрепленное изображение
1000 x 576 (36.59 килобайт)
 РЈРјРµРЅСЊС€РµРЅРѕ РґРѕ 86%
Прикрепленное изображение
1200 x 651 (30.15 килобайт)
 
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 22 2015, 04:03
Сообщение #128


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 21 2015, 16:35) *
Вот скриншоты настроек

Лучше выставить один тип гистерезиса.
Давайте файл кода сюда, посмотрим.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 22 2015, 14:50
Сообщение #129


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 22 2015, 09:03) *
Лучше выставить один тип гистерезиса.
Давайте файл кода сюда, посмотрим.

Посмотрите, пожалуйста.

Сообщение отредактировал Radik2 - May 22 2015, 14:51
Прикрепленные файлы
Прикрепленный файл  Comp.zip ( 681 байт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 22 2015, 21:51
Сообщение #130


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 22 2015, 16:50) *
Посмотрите, пожалуйста.

Это все? А где же main() и обработчик прерывания от компаратора?


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 25 2015, 02:22
Сообщение #131


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 23 2015, 02:51) *
Это все? А где же main() и обработчик прерывания от компаратора?

Сейчас речь идет не о программной обработке прерываний компаратора, а о применении встроенного в МК компаратора как отдельного узла/устройства.
Начинаю с самых простых вещей в изучении данной линейки МК.
Вот что написано в переводе даташита на C8051F120:

"При помощи регистров управления матрицей на выводы портов могут быть выведены сигналы от встроенных таймеров/счетчиков, от последовательных интерфейсов, аппаратные прерывания, входной сигнал запуска АЦП, выходы компараторов и другие цифровые сигналы. Это позволяет пользователю выбрать точную комбинацию связей между портами ввода/вывода общего назначения и цифровыми ресурсами, необходимую для каждого конкретного приложения."

То же самое в оригинальном даташите:
"The on-chip counter/timers, serial buses, HW interrupts, ADC Start of Conversion inputs, comparator outputs, and other digital signals in the controller can be configured to appear on the Port I/O pins specified in the Crossbar Control registers. This allows the user to select the exact mix of general purpose Port I/O and digital resources needed for the particular application."

Для работы компаратора даже тактирования не нужно.

Вот еще перевод из даташита:
"Входы каждого компаратора доступны как отдельные внешние выводы. Выходы компараторов можно соединить с внешними выводами с помощью матрицы. Выход каждого компаратора, соединенный с выводом корпуса, может быть настроен как выход с открытым стоком или как цифровой двухтактный выход."
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 25 2015, 11:15
Сообщение #132


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 25 2015, 04:22) *
Сейчас речь идет не о программной обработке прерываний компаратора, а о применении встроенного в МК компаратора как отдельного узла/устройства.
Начинаю с самых простых вещей в изучении данной линейки МК.

Зачем тогда включать прерывание от компаратора (видно из Вашей картинки), если нет обработчика прерывания?
В таком случае по срабатыванию прерывания от компаратора будет переход в точку, где ожидается обработчик (точные адреса в ДЩ), и исполнение продолжится с этого места. У вас там не пойми что будет исполняться.

Цитата(Radik2 @ May 25 2015, 04:22) *
Для работы компаратора даже тактирования не нужно.

это что-то новенькое. Сконфигурировать компаратор, кроссбар и пр, а потом отключить Fclk? Для чего?

Цитата(Radik2 @ May 25 2015, 04:22) *
Вот что написано в переводе даташита на C8051F120:

Это все ясно, но к проблеме отношения не имеет никакого. В вашем коде нет main(), а значит, инициализация компаратора и прерываний из Comp.c не вызываются. Поэтому ничего и не работает.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 25 2015, 11:32
Сообщение #133


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 25 2015, 16:15) *
Это все ясно, но к проблеме отношения не имеет никакого. В вашем коде нет main(), а значит, инициализация компаратора и прерываний из Comp.c не вызываются. Поэтому ничего и не работает.


А каким образом все настроить, чтобы вывести сигнал с выхода компаратора на вывод МК без участия ядра МК?
Добавить main и в ней прописать инициализацию?

Сообщение отредактировал Radik2 - May 25 2015, 11:34
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 25 2015, 12:13
Сообщение #134


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 25 2015, 13:32) *
А каким образом все настроить, чтобы вывести сигнал с выхода компаратора на вывод МК без участия ядра МК?
Добавить main и в ней прописать инициализацию?

да как у Вас (только прерывание не надо ставить), только сделать функцию main(), можно в отдельном файле.
Посмотрите файл "F12x_UART0_Interrupt.c" в предыдущем проекте по UART, чтобы понять как пишутся программы на Си.
Вот на базе этого файла я сделал главный (прицеплен), добавьте его в проект с comp.c
Прикрепленные файлы
Прикрепленный файл  F12x_UART0_Interrupt.zip ( 490 байт ) Кол-во скачиваний: 14
 


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 27 2015, 02:36
Сообщение #135


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 25 2015, 17:13) *
да как у Вас (только прерывание не надо ставить), только сделать функцию main(), можно в отдельном файле.
Посмотрите файл "F12x_UART0_Interrupt.c" в предыдущем проекте по UART, чтобы понять как пишутся программы на Си.
Вот на базе этого файла я сделал главный (прицеплен), добавьте его в проект с comp.c

Спасибо. Пока что результат тот же: на выводе Р0.0 3,3В, не происходит изменения выходного сигнала с "1" на "0". Прогнал код в отладчике. Дошел до while (1). Как я понял, судя по значению бита CP0EN, компаратор не активировался.
"Компаратор 0 включается установкой в 1 бита CP0EN и отключается сбросом в 0 этого бита."

"Если компаратор отключен, то на его выходе (если он соединен с портом ввода/ вывода через матрицу) по умолчанию устанавливается напряжение низкого уровня, запрещается вызов прерываний от этого компаратора, а его ток потребления становится менее 0,1мкА."
Если компаратор отключен, тогда почему на выходе Р0.0 3,3В. Возможно, что выход компаратора не соединен через матрицу с выводом МК. Я в ступоре.
Go to the top of the page
 
+Quote Post

15 страниц V  « < 7 8 9 10 11 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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