Перейти к содержанию
    

Исходные данные:

- частота ядра 42... МГц

- выходы ЦАПов подсажены на землю через 100кОм

- программа в камне работает (проверено по инкрименту порта)

 

Код инициализации цапов (пишу в Keil):

DAC->Channel[0].Control = 0x13;

DAC->Channel[1].Control = 0x12;

далее загоняю в цикле инкримент значений.

 

Результат:

- в симуляторе идет пилообразное напряжение

- в реальности ( и что самое главное!) никакой пилы нет!!! Вообще ничего!!! Абсолютный ноль вольт!!!

Закороток по схеме нет и разрывов контактов тоже!

 

Подскажите кто-нибудь где грабли!!!

Может у кого-то будут идеи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите кто-нибудь где грабли!!!

Может у кого-то будут идеи!

 

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

У меня ЦАП работает (на aduc7026).

1 раз инициализирую:

 

DACxCON = 0x13;

 

затем заношу необходимые значения в DACxDAT

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот рабочая программа! Ну практически рабочая!

Еще заметил момент: при понижении частоты ядра (работаю от внутреннего кварца), прошивка проэкта по COM-порту иногда происходит со сбоями и программа не работает :blink: !

Может ему чего-то не хватает?

Просто это первый АРМ в моей практике. Очень хочется, что-бы он был не последний!

 

Вдогонку: DACREF никуда не подключен. Это может влиять на работу ЦАП? По логике описания - нет.

 

Вдогонку: DACREF никуда не подключен. Это может влиять на работу ЦАП? По логике описания - нет.

ADuC7024_ADC_DAC.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

керамические конденсаторы номиналом 1uF параллельно питанию должны стоять рядом с ногами процессора, тогда сбоев не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот рабочая программа! Ну практически рабочая!

 

честно говоря, не совсем понял момент инициализации ЦАПа, где объявлены (и связаны с соответствующими регистрами ЦАПа) структуры. Если можно, объясните, может недоглядел.

 

и порпобуйте всё-таки напрямую:

 

DACxCON = 0x13; (или как там Вам надо, кстати, не понял 0x53 - про 6-й бит DACxCON в даташите на 7026 написано reserved. Может в 7024 по-другому, но проверьте)

и DAC0DAT = 0x********

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

DACBYP (6 бит DACхCON ) - Бит отключения буфера.

И в эмуляторе все установки флагов соответствуют устанавливаемым.

Структура расписана в хедере (файл в прицепе). Хедер кейловский.

ЗЫ: Но в эмуляторе же все работает.

 

Вероятно все же железо! Раскажите какие ноги куда подключать для правильной работы ЦАПа.

DAC.ZIP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

DACBYP (6 бит DACхCON ) - Бит отключения буфера.

И в эмуляторе все установки флагов соответствуют устанавливаемым.

Структура расписана в хедере (файл в прицепе). Хедер кейловский.

ЗЫ: Но в эмуляторе же все работает.

 

Вероятно все же железо! Раскажите какие ноги куда подключать для правильной работы ЦАПа.

 

у меня DACref тоже никуда не подключён. нормально всё работает (светодиоды повешены на выходы ЦАП с одной стороны и на питание через резисторы - с другой. мигают :) )

 

подключайте питание как нарисовано в даташите на странице 85 - typical system configuration.

только, как говорил etoja, параллельно питанию (и аналоговому, и цифровому) поставьте кондёры. у меня кондёры 0.15 uF.

обратите внимание на подключение ног Vref и LVdd.

собственно, всё.

 

ЗЫ: про DACBYP в даташите ничего нет... 6-й бит - reserved

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо!

Особенно Snusmumrik!

Сделал запись в регистры напрямую и все заработало.

В Хедере DAC.h от Keil есть ньюанс, который я не учел:

 

#ifndef __dac_base /* Define the DAC Base location */

#define __dac_base 0xFFFF0600

#endif

#define DAC ((volatile struct s_DAC *) (__dac_base))

 

Вероятно где-то __dac_base был определен ранее, поэтому адрес структуры был другой. Но в эмуляторе же работало!! Парадокс!!!

 

Незнаю по поводу 6 бита, но у меня в описании он присутствует:

переведенное описание ADuC702xR.pdf (где-то в инете можно найти) таблица 19, стр. 33.

Правда в этом описании есть неточности, которые приходится сверять с оригиналом.

В оригинальном описании данный флаг отсутствует.

Но, опять же момент, в эмуляторе Keil он присутствует и изменяется.

Описание:

" Бит отключения буфера

Устанавливается пользователем, чтобы отключить буфер

Сбрасывается пользователем чтобы включить буфер.

По умолчанию выход ЦАП буферирован.

"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

переведенная версия даташита ревизии "Preliminary B" о которой говорит IEC, здесь http://www.analog.spb.ru/pub_ucv.htm

В "родном" варианте этого даташита тоже описан бит6.

А вот в последнем варианте даташита он уже "резервед".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Други помогите, надоело уже в асемблере писать, дайте Keil с библиотечками (плавающую запятую) и таблетками. лейте на pervinkin злая собака mail.ru Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше скачай из местных закромов компилятор Imagecraft : всего 10 мегабайт.

Вот тебе заголовочный файл для обработчика прерываний на ADUC.

crtarm.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

переведенная версия даташита ревизии "Preliminary B" о которой говорит IEC, здесь http://www.analog.spb.ru/pub_ucv.htm

В "родном" варианте этого даташита тоже описан бит6.

А вот в последнем варианте даташита он уже "резервед".

 

Но что интересно: на схеме "Figure 51. DAC Structure" буферизирование изображено, и даже присутствует шинтирующий ключ "OUTPUT BUFFER BYPASSED FROM MCU". Каким тогда флагом он управляется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IEC

я только предполагаю использовать ARM от AD в следующем проекте. Поэтому не знаю.

 

из местных закромов компилятор Imagecraft

что-то я не нашел, можно ссылочку в ПМ. Для коллекции надо лекарстро на него на 7 версию.

 

дайте Keil с библиотечками (плавающую запятую) и таблетками

клизма - http://caxapa.ru/64525.html?hilite=keilizma32

а на сам продукт, что я заливал на рапиду, ссылки передохли.

Скачайте еволюшн-версию на сайте производителя, и попробуйте к ней клизьму, должно помочь.

Во всяком случае, не очень давно, релиз от евалюшн не отличался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше скачай из местных закромов компилятор Imagecraft : всего 10 мегабайт

Дык, я не свой, не имею доступа к фтп, а так бы давно уже закачал бы.

Спасибо, за ссылку, ща попробую, инет тока дохлый качать будет целый день...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

качаешь с официального сайта

f*p://ftp.imagecraft.com/pub/pub/iccv7arm_demo.exe

 

и лепишь к нему апгрейд

_______r_ARM_7.x.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...