Nidanilov
Свой-
Постов
101 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Nidanilov
-
Звание
Частый гость
Контакты
-
Сайт
Array
-
ICQ
Array
-
Варианты установщиков SMT
Nidanilov ответил dvf тема в Пайка и монтаж
Я готов купить вашего китайца, как раз занимаюсь этим вопросом. -
Главный цикл состоит только из этого: while(1) { HL1_TOGGLE; if(lcount!=count) { count=lcount; // lcount modified in interrupt _print("pkt_count=",count," entry_num=",icount); } } Вопрос в том как повысить приоритет DMA и почему по дефолту он такой низкий? C помощью регистров связанных с ЕМАС DMA это сделать невозможно. Изменить приоритет ядра также нет возможности. Но между МАС модулем и ядром имеется System Crossbar который обеспечивает "Programmable bus arbitration model for bandwidth and latency management". Тут в наличии всего два регистра SCB_ARBRn и SCB_ARBWn, что с ними делать и что туда записывать разобраться я так и не смог.
-
ADSP-BF607 проблема с EMAC
Nidanilov опубликовал тема в Сигнальные процессоры и их программирование - DSP
Всем привет, срочно нужна помощь. Проблема такая.. в процессе приема пакетов в далеко не перегруженной сети постоянно переполняется внутреннее FIFO (128 байт) в модуле EMAC, с последующим выпадением бита OVF в REG_EMACx_DMA_STAT. Сначала были подозрения что происходит пропуск прерывания(-ий) по статусу, но этот вариант отпал т.к. поллинг бита готовности данных в главном цикле (REG_EMAC0_DMA_STAT) дает такой же результат. Перепробовал все возможные настройки регистров - результат 0. Флаг переполнения появляется довольно хаотично, но в среднем на каждом 4 пакете. DMA исправно заполняет цепочку буферов из 10 дескрипторов, переходит на первый и т.д. пока не возникает переполнение и следующий пакет оказывается нулевой длины. В самом проекте других прерываний кроме статуса EMAC нет, проект полностью во внутренней памяти, оси нет, загрузка другими задачами отсутствует,принятые принятые данные просто отбрасываются. Настройки обычные: проект в Core 0 (Core 1 не запущен), RMII, Chain на 10 дескрипторов, 100Мбит, full duplex. Мозги кипят уже 3-ю неделю, может это болезнь нового процессора или может есть у кого пример работающего драйвера? В самом CCES имеется код драйвера gemac, в нем подключен cdefbf609.h проект компилируется, но не работает так как адреса в структуре ADI_EMAC_REGISTERS не подходят для BF-60x. Другой пример lwip полностью запрятан в dlb библиотеки и что там происходит внутри неизвестно... :( -
Сайт неправильно считает коэффициенты и зависает часто, проверено электроникой :) . С матлабом лучше не сравнивать.
-
Отвечаю сам себе :) –NoFinalTag стоял не в том месте.
-
Мой девайс на BF518 загружается с SPI флеш и проблемы ниразу не было. Могу только предположить что у вас используется внешняя память SDRAM которая бывает подглючивает при неправильной разводке.
-
Всем привет! В CCES сделал шаблон проекта с Core0 и Core1 для BF607, в коде простое моргание светодиодов - для каждого ядра свой светодиод, Код для Core0: int main(int argc, char *argv[]) { ADI_GPIO_RESULT result; uint32_t gpioMaxCallbacks; int i; adi_initComponents(); Инициализация GPIO; adi_core_1_enable(); while (1) { моргаем светодиодом } } Код для Core1: int main(int argc, char *argv[]) { ADI_GPIO_RESULT result; uint32_t gpioMaxCallbacks; int i; adi_initComponents(); Инициализация GPIO; while (1) { моргаем светодиодом } } Внешняя память не используется, компилирую проект, получю два dxe файла. Далее объединяю их в один с помощью bat файла: "C:\Analog Devices\CrossCore Embedded Studio 1.1.0\elfloader.exe" -proc ADSP-BF607 -si-revision 0.2 –NoFinalTag="D:\Code\SV\Boot607\SV03_Core0.dxe" "D:\Code\SV\Boot607\SV03_Core1.dxe" -b SPI -f binary -width 8 -bcode 3 -o "svboot.ldr" Получаю соответственно ldr файл который заливаю в загрузочную SPI-флеш. В итоге ядро0 запускается исправно, ядро1-нет. Подскажите, в чем может быть проблема?
-
SD card on SPI
Nidanilov ответил Zlo тема в Форумы по интерфейсам
Так и должно быть (у меня размер сектора 512 байт). Причем я не заметил чтобы SPI mode работал медленнее SD mode в режиме записи. -
Ну вы даете... :) Судя по схеме на VDD идет питание +2.5В с ИОН, а на REF идет +5В. Во первых надо делать наоборот иначе зачем ИОН нужен тогда? А во вторых хоть и пишут в даташите что так можно, но я бы не стал проверять т.к. потенциал на ноге VDD относительно других ног должен быть самым высоким иначе открываются паразитные диоды со всеми последствиями.
-
Я так не пробовал, но с учетом рисунка 18 скорее всего будет ноль нв выходе SDO независимо от того есть подтяжка или нет.
-
Ну ладно, читаем это место еще раз: "When the conversion is complete, SDO goes from high impedance to low" здесь смысл в том, что в исходном состоянии SDO находится в Z в соответствии с режимом "CS MODE 3-WIRE WITH BUSY INDICATOR". После прихода CNV начинается конверсия и как только она закончится импеданс вывода меняется из Z в Low на выходе появляются какие то данные. Как только будет выдвинут последний 16-й бит SDO сразу переходит в Z.
-
Ну так он и стоит прямо в салоне если бы вы спросили почему не в панели приборов я бы еще понял. Чтобы качественно мерить температуру нужна принудительная циркуляция воздуха, а где датчик будет фактически находиться (внутри салона) не очень важно.
-
Не внимательно читаете даташит Это означает что вывод SDO пререходит в Z состояние. А на SDI у вас точно +3,3В ? Возможен простой непропай. Я использую AD7687, тот жепринцип и микросхема очень надежна.
-
Сколько будет стоить привезти например 10 кг из китая самым дешевым способом, по времени не более 2-х недель.
-
Смысл простой, моторчик с крыльчаткой являются воздушным насосом который закачивает воздух из салона под обшивку потолка. Прямо над крыльчаткой в потоке находится терморезистор. Терморез-р подключен к климатической системе. Раньше к стати применялся другой моторчик щеточный, тоже на 1,2 В.