Konst_777
Свой-
Постов
540 -
Зарегистрирован
Весь контент Konst_777
-
В Stellaris® Serial-to-Ethernet Reference Design Kit (Stellaris® Serial-to-Ethernet Module) используется связка программ com0com и com2tcp.
-
Serial to Ethernet
Konst_777 ответил Regbist тема в Все остальные микроконтроллеры
Stellaris® Serial-to-Ethernet Reference Design Kit, MDL-S2E - Stellaris® Serial-to-Ethernet Module, Адаптер Serial To Ethernet. Самому ничего разрабатывать не нужно. -
А не пробовали на сайте TI в строке поиска набрать "PowerVR SGX"? AM35x-OMAP35x Graphics SDK Getting Started Guide - это не то, что Вы ищете?
-
"Со схематиком" можно, с помощью MegaWizard Plug-In Manager добавить SignalTap II Logic Analyzer прямо в схему: в контексном меню выбираете "Insert Symbol"; в диалоговом окне "Symbol" нажимаете кнопку "MegaWizard Plug-In Manager..."; на "MegaWizard Plug-In Manager [page 1]" нажимаете "Next>" на "MegaWizard Plug-In Manager [page 2a]" раскрываете ветку "JTAG-accessible extensions" и в ней выбираете "SignalTap II Logic Analyzer"; конфигурируете SignalTap II Logic Analyzer и помещаете его символ в схему; подключаете нужные сигналы к SignalTap II Logic Analyzer; компилируете проект; для создания *.stp в Quartus в меню "File" выбираете подменю "Create/Update", а в этом подменю "Create SignalTap II File from Design Instance(s)"; подключаете *.stp к проекту ("Assignments" -> "Settings" -> "SignalTap II Logic Analyzer" -> "Enable SignalTap II Logic Analyzer") Достоинство такого подхода - можно вытащить любой сигнал с любого уровня вложенности схемы.
-
OMAP L138
Konst_777 ответил torik тема в Сигнальные процессоры и их программирование - DSP
Возможно, Вам будут полезны примеры из StarterWare. -
Надежность потока TCP и USB bulk
Konst_777 ответил Avensis тема в Программирование
Если бы работали с потоком, то оставили бы SLIP. -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Добавьте в Unit2.cpp переменную, например: static LONG blockLength = BUFFER_LENGTH; и замените BUFFER_LENGTH на blockLength во всех вызовах BeginDataXfer() и SetXferSize(). Константу TIMEOUT преобразуйте в переменную timeout, то есть объявление: static const ULONG TIMEOUT = 20000; замените на: static ULONG timeout = 20000; На форму добавьте два компонента класса TCSpinEdit (вкладка Samples панели компонентов CBuilder) для задания значений blockLength и timeout . -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Да правильно. Ну да, вообщем то, методом проб. Да, корректно. "Close( ) is called automatically by the ~CCyUSBDevice( ) destructor. It is also called automatically by the Open ( ) method, if a handle to the driver is already open." -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
В void __fastcall TWriteThread::Execute() перед строками: UCHAR *inContext_1 = USBDevice->BulkInEndPt->BeginDataXfer(inBuf_1, BUFFER_LENGTH, &inOvLap_1); UCHAR *inContext_2 = USBDevice->BulkInEndPt->BeginDataXfer(inBuf_2, BUFFER_LENGTH, &inOvLap_2); добавьте строку: USBDevice->BulkInEndPt->SetXferSize(BUFFER_LENGTH); Иначе, по умолчанию XferSize=4096 байт и принимаемые данные поочередно пишутся в inBuf_1 и inBuf_2 по 4 килобайта. -
Надежность потока TCP и USB bulk
Konst_777 ответил Avensis тема в Программирование
В нашем случае длина пакета, в который была завернута команда, не превышала 64 байт. То есть, одного Bulk (Int) пакета USB в режиме Full Speed USB. А при обмене через USB, контроллер все равно принимает данные пакетами. Это при обмене по TCP/IP уже имеем дело с потоком. То есть, Вы хотите использовать TCP/IP over USB и таким образом использовать одно и то же ПО при обмене и через USB и через Ethernet? Просто я привел пример, показывающий, что Вам все равно придется делать это. -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Вчера увлекся переделкой Вашего проекта. В результате программа вообще перестала работать :rolleyes: В проекте, который выкладываю, сделаны минимальные изменения. Давайте вначале проверим, есть ли потери данных при приеме. А уже потом будем добиваться восстановления работоспособности при сбоях обмена через USB. Binreader.7z -
Надежность потока TCP и USB bulk
Konst_777 ответил Avensis тема в Программирование
У нас был следующий случай при выдаче команд от ПК модулю через USB. На ПК был установлен неверный драйвер для chipset-а материнской платы. В результате в модуль поступали совершенно произвольные данные. Модуль не подвисал только потому, что все команды были завернуты в пакеты (на уровне приложения) со следующей структурой: Тип пакета, Длина пакета, Команда и параметры, Контрольная сумма. То есть, не совпадала контрольная сумма и модуль отбрасывал все пакеты. Предположим, что Ваш модуль - это универсальный управляемый источник питания, формирующий на выходе питающие напряжения от 1.8 В до 48 В... :crying: -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
То есть, все таки CY7С68013A+EP1C6T144 на одном модуле. Тогда зачем Вам зоопарк из двух модулей? Используйте этот модуль. EP1C6 можно загрузить по JTAG через FX2LP (CY7С68013A). Выложите исходники программы (проект). Я внесу изменения. -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
А это тоже два отдельных модуля? Можете выложить принципиальные схемы модулей и ссылку на продавца? Полагаю, что Вы знаете, как избежать воздействия шумов цифровых устройств на приемник спутникового модема. Поэтому не задаю вопрос, как же Вы это сделаете :) -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
В таком случае можно попытаться использовать USB. А можете выложить принципиальную схему модуля "CY7C68013A + FPGA Altera Max 2 EPM240T100C5" и ссылку на него на eBay? 73! -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Посмотрите в "CyAPI.pdf" описание и примеры к функциям "12.4 BeginDataXfer()", "12.21 WaitForXfer()", "12.12 FinishDataXfer()". То что Вы делаете, Вы собираетесь использовать "для дома, для семьи" в одном экземпляре или планируете изготавливать для продажи? Если для продажи, то присоединяюсь к совету уважаемого iosifk - Вам нужно использовать Ethernet и TCP/IP. Также, Ваш модуль должен иметь ОЗУ достаточного объема (буферизировать хотя бы 3-4 секунды потока данных). Посмотрите на сайте otladka.com.ua модули SK-STM32F417 и SK-STM32F217. -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Так и должно быть, поскольку Вы используете блокирующее чтение данных через USB. При этом, увеличение размера буфера драйвера свыше числа байт, которое считывается функцией XferData() бесполезно. Можно попытаться назначить потоку отдельный процессор (ядро процессора). Но, правильный подход - использовать не блокирующее чтение (overlapped). Давайте вспомним, что обмен через USB всегда инициируется хост-контроллером ПЭВМ. То есть, устройство USB не сможет передать данные ПЭВМ, пока хост-контроллер не запросит эти данные. Рассмотрим, что происходит при выполнении следующего кода в отдельном потоке, назовем его readUSB_thread: while (iStart) { LONG bytes_readed = len; if(USBDevice->BulkInEndPt->XferData(InBuf,bytes_readed)) FileWrite(FileHandle, InBuf, bytes_readed); } XferData() выдает запрос драйверу CyUsb.sys на чтение len байт. Пока драйвер считывает блок данных через USB разрывов чтения быть не может (не должно :rolleyes:). Но даже во время чтения блока данных поток readUSB_thread может быть приостановлен (вытеснен другим потоком) на время не менее 10 мс (поправьте меня если я не прав). Если выполнение потока readUSB_thread будет возобновлено до завершения чтения блока данных драйвером, то этот поток вообще не почувствует, что его выполнение прерывалось. После чтения блока данных выполняется запись этих данных на диск. Если время записи данных на диск не превысит времени заполнения FIFO контроллера FX2LP, то потери данных не будет. Но, важно другое. После завершения чтения блока данных через USB может произойти переключение потоков. Остановка потока readUSB_thread даже на 10 мс приведет к переполнению буфера FIFO FX2LP. Вспомним, что для bulk пересылок объем буфера FIFO не превышает 2 Кбайт, то есть для Вашего потока данных FIFO будет переполнено через 1.6 мс. Можно попытаться назначить отдельный процессор для выполнения потока readUSB_thread. Но, Windows может запустить дополнительные потоки и в том процессоре. При использовании не блокирующего чтения можно до выполнения цикла выдать драйверу два запроса на чтение данных. А в самом цикле, после получения очередного блока данных выдавать драйверу следующий запрос. В этом случае уже можно и нужно правильно подобрать размер буфера драйвера (я бы задал 32 Мбайта) и размер блока данных для каждого считывания (по 16 Мбайт). При таких условиях переключение потоков уже не должно приводить к потере данных. -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Раздел "12.22 XferData( )" файла "CyAPI.pdf" (страница 67): То есть, еще нужно анализировать какое количество байт возвращает XferData(): while (iStart) { LONG bytes_readed = len; if(USBDevice->BulkInEndPt->XferData(InBuf,bytes_readed)) FileWrite(FileHandle, InBuf, bytes_readed); Application->ProcessMessages(); } -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Вам нужно получить определенный объем данных (какой?) и затем обработать данные (записать в файл) или нужно непрерывно получать и обрабатывать данные, как это делает Ваша программа? Целесообразнее проверять существует ли указатель на BulkInEndPt в начале функции Button1Click(). Записывать данные в файл нужно только тогда, когда чтение данных через USB было завершено успешно. Вообще же, лучше выполнять цикл while (iStart) в отдельном потоке. -
USB числодробилка
Konst_777 ответил stacko тема в В помощь начинающему
А может быть сразу предложить Gigabit Ethernet? Может для ТС не принципиально USB или Ethernet? Опять же есть адаптеры USB<->Ethernet - "в любом магазине как грязи". -
Ввод данных в компьютер.
Konst_777 ответил SNR тема в Форумы по интерфейсам
Так ведь, после установки SuiteUSB 3.4.7 в папке "\CyAPI\examples" есть примеры для CyAPI.lib. -
Определение USB устройства
Konst_777 ответил Kruftin тема в RS232/LPT/USB/PCMCIA/FireWire
В Диспетчере устройств в ветке "Контроллеры USB" отключите "Стандартный расширенный PCI - USB хост-контроллер". После этого все USB порты компьютера будут поддерживать только протокол обмена USB 1.1, соответственно только скорости обмена Full Speed (12 Мбит/сек) и Low Speed (1.5 Мбит/сек). -
Определение USB устройства
Konst_777 ответил Kruftin тема в RS232/LPT/USB/PCMCIA/FireWire
Использовать внешний USB хаб, поддерживающий только USB 1.1 -
TMS320C6678
Konst_777 ответил Politeh тема в Работаем с трассировкой
Похоже, что на сайте advantech.com есть полная документация на TMDXEVM6678L/LE :) -
TMS320C6678
Konst_777 ответил Politeh тема в Работаем с трассировкой
Возможно, будет полезной DM816x/C6A816x/AM389x EVM Documentation на сайте http://support.spectrumdigital.com/. Наверное, DDR3 везде DDR3 B)