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

power102

Участник
  • Постов

    9
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. > Посоветуйте библиотеку для C#, которая позволит без танцев с бубном управлять HID-устройством (получая-принимая массивы RX/TX), чтобы интегрировать это в утилиту управления устройством. https://github.com/mikeobrien/HidLibrary.git
  2. PIC18F4550 и HID-терминал

    Добрый день! Пишу прошивку с поддержкой USB HID для контроллера PIC18F4550 (компилятор PICC) по аналогии с примером ex_usb_hid.c ( https://github.com/electgpl/Driver_Example_CCS/blob/master/Examples/ex_usb_hid.c ). Отправка и приём работают идеально на тестах при использовании Android-приложения USB HID Terminal. На Winows хорошо работает только приём, с передачей как-то не очень. Например, пользовался USB_Communication ( https://www.codeproject.com/Articles/1244702/How-to-Communicate-with-its-USB-Devices-using-HID ), не очень понятно что указывать в полях Usage Page, Usage и Report_ID. При указании значений со скриншота устройство ведёт себя не ожидаемым образом (при управлении кнопками на самом устройстве, происходит отправка статуса изменения через HID и, возможно, приходит некорректный ответ) + основная отправка так и не работает. Первый вопрос: Можно ли заставить данную утилиту корректно работать на передачу, если в Android всё отлично отрабатывает. Второй вопрос: Посоветуйте библиотеку для C#, которая позволит без танцев с бубном управлять HID-устройством (получая-принимая массивы RX/TX), чтобы интегрировать это в утилиту управления устройством.
  3. Проблема была в правильности подключении DDR2_BA0, DDR2_BA1: должно быть DDR2_BA0 -> BA0, DDR2_BA1 -> BA1
  4. Похоже дело всё-таки не в промывке плат. Попробовал 4 экземпляра на всех одинаковые проблемы. SAM-BA выдаёт: External RAM initialization failed. External RAM access is required to run applets. Continue? Загружаюсь на плате с SD-карты, использую скомпилированный bootstrap (компилятор Keil) из комплекта SK-9G45-OEM bootstrap.rar ... процессор перезагружается после попытки обращения к DDRAM, правда непонятно почему выполняется Init DDRAM -- AT91bootstrap Project 3.0 -- -- SK-9G45-OEM -- Compiled: Jan 30 2014 16:41:13 -- -I- Setting: MCK = 133MHz -I- I cache is already enabled. -I- Init DDRAM -I- BOARD_DDRAM_BUSWIDTH = 16 -I- MEDSdcard init -I- Copy "appli.bin" from SdCard to 0x70000000 {... перезагрузка ...} -- AT91bootstrap Project 3.0 -- -- SK-9G45-OEM -- Compiled: Jan 30 2014 16:41:13 -- -I- Setting: MCK = 133MHz -I- I cache is already enabled. -I- Init DDRAM -I- BOARD_DDRAM_BUSWIDTH= 16 -I- MEDSdcard init -I- Copy "appli.bin" from SdCard to 0x70000000 {... перезагрузка ...} Подозреваю, что-то неверно в подключении памяти к процессору?? Кто хорошо разбирается подскажите, пожалуйста... DDR2_D(0..15) -> DQ(0..15) DDR2_A(0..12) -> A(0..12) DDR2_A13 -> BA0 (сейчас сделано: GND -> BA0) DDR2_BA0 -> BA1 DDR2_BA1 -> BA2 DDR2_DQM0 -> LDM DDR2_DQM1 -> UDM DDR2_DQS0 -> LDQS DDR2_DQS1 -> UDQS DDR2_RAS -> RAS# DDR2_CAS -> CAS# DDR2_WE -> WE# DDR2_CLK -> CK DDR2_NCLK -> CK# DDR2_CKE -> CKE DDR2_CS -> CS# GND -> VSS, VSSQ, VSSDL, ODT +1.8V -> VDD, VDDQ, VDDL +0.9V -> VREF
  5. Не очень помогло! Не заработало :( Появилось желание помыть платы в УЗ-ванне. Микросхемы BGA поялись на фирме, где делались платы. Остальные компоненты, монтировались местными силами. Попробовал включить вторую плату, так на ней даже процессор не всегда заводится (не всегда начинает работать кварц), правильнее сказать обычно он не запускается. Можно попробовать написать тестовую программу для проверки памяти силами микросхемы CPU, пока правда непонятно как.
  6. По топологии и пульсациям вопросы снимаются. Ошибка, похоже, в схемотехнике. В схеме module_9g45.pdf сигнал DDR_A13 (выв.J15/D1:4) подключен на вход BA0 (выв.L2/D3). В этом случае нарушается диаграмма выбора адреса - стр.92, Figure 45: Multibank Activate Restriction. На время выбора адреса номер банка изменяться не может. Я могу не использовать DDR_A13, например, посадить линию BA0 на землю и оставить DDR_BA0 -> BA1, DDR_BA1 -> BA2. Или это не поможет?? P.S. Возможно написал какую-то глупость.
  7. 1. Компоненты C5,C12,R8,R9 должны стоять на минимальном расстоянии от выв.J2/D3. Реальное их расположение по имеющейся топологии разобрать не смог. Компоненты C5,C12,R8,R9 стоят на расстоянии ~7,5 мм от памяти и на расстоянии ~16 мм от процессора. Ширина дорожки ~0,12 мм. Возможно маловато. 2. Необходимо измерить уровень пульсаций эл.питания DDR. Топология DC-DC с точки зрения минимизации пульсаций не оптимальная. Проводники L3-C21, L3-C33 тонкие. Качество подключение земляных обкладок C21,C33 определить сложно. Но достаточно 2-х via на сплошной полигон. Подключение земляных обкладок C21,C33 к землянному полигону через одно via. Пульсации на C21 (+1 V) - 2,9 мВ Пульсации на C33 (+1.8 V) - 2,5 мВ Пульсации на R9 (DDR_VREF, +0.9 V) - 0,6 мВ 3. Контроллер памяти и DDR должны иметь общее эл.питание. Обозначения цепей на скрине и *.pdf трудно читаемы. Цепи питания памяти и контроллера памяти общие. Если несложно, могли бы Вы проверить на схеме в pdf-ке правильность подключения линий DDR_DQM0, DDR_DQM1, DDR_DQS0, DDR_DQS1, DDR2_BA0, DDR_BA1. Не очень в них уверен...
  8. > Опору DDR_VREF кто формирует? Схема питания: А разводка отличается принципиально чем-то? Разводка сделана заново, собственна, как и схема нарисованна собственными силами. Оригинальная плата SK-9G45-OEM, но на неё нет ни схемы, ни топологии. Схема рисовалась на основе AT91SAM9G45-EK Evaluation Kit. Вот, собственно, оригинальная схема: SAM9G45_Board_Schematic.pdf
  9. Добрый день! Оцените топологию печатной платы... При подключении к плате через SAM-BA выводится сообщение: External RAM initialization failed. External RAM access is required to run applets. Continue? Изменение параметров в tcl-файле не помогает. Оригинальная плата, на основе которой делалась рассматриваемая, работает нормально с tcl-файлом по-умолчанию. Компоненты на обеих платах полностью идентичные. module_9g45.pdf
×
×
  • Создать...